资源描述
机械工程软件技术基础机械工程软件技术基础第十讲第十讲 软件工程软件工程2太原科技大学太原科技大学陶元芳陶元芳 2010.80 复习与讨论复习与讨论1)软件工程)软件工程软件技术把软件当产品、系统,把软件当产品、系统,用工程化方法开发管理用工程化方法开发管理软件设计方法学软件设计方法学软件编程工艺学软件编程工艺学软件开发管理学软件开发管理学软件复用(重用)软件复用(重用)软件文档软件文档结构化程序设计结构化程序设计面向对象程序设计面向对象程序设计复习与讨论复习与讨论2)匈牙利命名法)匈牙利命名法软件技术微软匈牙利裔程序员发明微软匈牙利裔程序员发明以一个或多个表示数据类型以一个或多个表示数据类型的小写字母开头的小写字母开头含一个或多个首字母大写指含一个或多个首字母大写指出对象用途的单词出对象用途的单词优点:类型清楚,含义明确,优点:类型清楚,含义明确,好记,程序可读好记,程序可读类似命名法:骆驼命名法、类似命名法:骆驼命名法、下划线命名法、帕斯卡命名法下划线命名法、帕斯卡命名法复习与讨论复习与讨论3)缩进格式)缩进格式软件技术 提高程序的可读性,减少提高程序的可读性,减少错误错误 依照程序的结构,逐级缩依照程序的结构,逐级缩进,再逐级还原,需要时也可进,再逐级还原,需要时也可以加入空行以加入空行 一般用一般用Tab键来完成缩进键来完成缩进复习与讨论复习与讨论4)程序注释)程序注释软件技术提高程序的可读性,使程序提高程序的可读性,使程序容易修改容易修改 C语言模式语言模式/*注释内容注释内容*/C+模式模式/注释内容注释内容注意注意注释不要嵌套注释不要嵌套/*/*注释内容注释内容*/注释内容注释内容1 软件文档软件文档1)目的(重要性)目的(重要性)软件文档起设计任务书、设计蓝图、软件文档起设计任务书、设计蓝图、编程和修改记录、开发档案、编程和修改记录、开发档案、验收标准等作用(组织管理、质量保证)验收标准等作用(组织管理、质量保证)软件文档对团队成员之间的分工合作起桥梁和软件文档对团队成员之间的分工合作起桥梁和纽带的作用,并防止纽带的作用,并防止“人走政息人走政息”软件文档是软件的重要组成部分软件文档是软件的重要组成部分 注意:源程序不能代替软件文档注意:源程序不能代替软件文档软件技术软件文档软件文档2)种类)种类 需求说明需求说明 概要设计概要设计 详细设计详细设计 测试报告测试报告 使用说明使用说明(数量和详细程度(数量和详细程度与软件的规模有关)与软件的规模有关)软件技术软件文档软件文档3)需求说明)需求说明 软件需求规格说明书软件需求规格说明书(Software Requirements Specifications)是是用户用户与开发人员双方对软件需求取得共同理与开发人员双方对软件需求取得共同理解基础上达成的解基础上达成的协议协议(唯一有用户参与的文档)(唯一有用户参与的文档)是软件设计的是软件设计的依据依据,也是软件测试的依据,也是软件测试的依据(设计任务书)(可行性报告)(设计任务书)(可行性报告)软件技术软件文档软件文档4)概要设计)概要设计 软件概要设计说明书软件概要设计说明书(Software Design Manual Summary?)相当于机械设计的总体设计相当于机械设计的总体设计 设计软件系统结构、设计主要数据结构设计软件系统结构、设计主要数据结构 含软硬件平台、技术路线、接口标准、含软硬件平台、技术路线、接口标准、框图(流程设计)、模块设计要求框图(流程设计)、模块设计要求软件技术软件文档软件文档5)详细设计)详细设计 相当于机械设计的部件设计相当于机械设计的部件设计 包含有关函数的流程(函数内部的实现)包含有关函数的流程(函数内部的实现)包含数据结构设计(数据字典)包含数据结构设计(数据字典)包含包含软件的界面设计软件的界面设计 包含所有细节的设计(仅次于源程序)包含所有细节的设计(仅次于源程序)(有时可以用伪代码描述)(有时可以用伪代码描述)软件技术软件文档软件文档6)测试报告)测试报告 测试方法:白箱法(阅读程序,逻辑审查)测试方法:白箱法(阅读程序,逻辑审查)黑箱法(运行软件,通过例题测试)黑箱法(运行软件,通过例题测试)软件测试文档:软件测试文档:测试计划,测试报告、测试分析报告测试计划,测试报告、测试分析报告 软件测试注意事项:软件测试注意事项:例题全面,从用户角度,开发者往往发现不例题全面,从用户角度,开发者往往发现不了问题了问题软件技术软件文档软件文档7)使用说明)使用说明 用户手册应包含:功能、性能等用户手册应包含:功能、性能等(面向用户或潜在用户的决策者)(面向用户或潜在用户的决策者)操作手册应包含:具体操作使用方法操作手册应包含:具体操作使用方法(面向操作使用人员)(面向操作使用人员)软件技术2 软件框图软件框图1)作用)作用描述程序逻辑结构,直观和清晰地描述控制流程描述程序逻辑结构,直观和清晰地描述控制流程2)种类)种类文字框图,图形框图(流程图)文字框图,图形框图(流程图)计算表达式计算表达式1判断表达式判断表达式2:是是转转否否退出循环语句退出循环语句执行循环体执行循环体计算表达式计算表达式3的值后转的值后转软件技术表达式表达式1开始开始结束结束表达式表达式2循环体循环体是是否否表达式表达式33 软件开发软件开发1)开发模式)开发模式瀑布模型(自顶向下)瀑布模型(自顶向下)从全局到局部从全局到局部渐增模型(自底向上)渐增模型(自底向上)从局部到全局从局部到全局软件技术软件开发软件开发2)开发过程)开发过程依托软件文档,先粗后细,不要急于编写代依托软件文档,先粗后细,不要急于编写代码,与其反复修改,不如推倒重来,一气呵成码,与其反复修改,不如推倒重来,一气呵成软件技术4 结构化程序设计结构化程序设计1)定义(模块化、积木化)定义(模块化、积木化)使用且只使用顺序、选择、重复三种程序结构使用且只使用顺序、选择、重复三种程序结构软件技术操作操作1操作操作2操作操作3循环初值循环初值开始开始结束结束小于小于终值终值循环体循环体是是否否步长增量步长增量满足条件满足条件语句语句1是是否否语句语句2结构化程序设计结构化程序设计 是一种面向过程的程序设计方法是一种面向过程的程序设计方法 将系统分成若干功能模块将系统分成若干功能模块函数函数软件技术结构化程序设计结构化程序设计2)优点优点 禁止使用禁止使用goto语句,避免执行顺序混乱语句,避免执行顺序混乱 采用层次结构,能够开发出大型软件采用层次结构,能够开发出大型软件软件技术主程序主程序子程序子程序2子程序子程序1子程序子程序3子程序子程序11 子程序子程序12 子程序子程序13 子程序子程序21 子程序子程序22 子程序子程序23 子程序子程序31 子程序子程序32 子程序子程序33结构化程序设计结构化程序设计优点优点 大量使用函数,实现细节隐藏、大量使用函数,实现细节隐藏、避免重复、避免重复、实现软件重用、实现软件重用、简化程序、易维护、结构性强简化程序、易维护、结构性强软件技术结构化程序设计结构化程序设计3)函数)函数 成语(具有约定俗成的含义)成语(具有约定俗成的含义)锦囊妙计(事先的计划)锦囊妙计(事先的计划)子程序,子例程,过程,函数子程序,子例程,过程,函数优点优点:避免重复,易维护,可重用:避免重复,易维护,可重用细节隐藏,简化程序,结构性强细节隐藏,简化程序,结构性强软件技术结构化程序设计结构化程序设计函数函数 函数的划分原则函数的划分原则内聚力最强,对外的联系最弱内聚力最强,对外的联系最弱软件技术5 作业作业1)软件文档)软件文档2)软件框图)软件框图3)软件开发)软件开发4)结构化程序设计)结构化程序设计软件技术
展开阅读全文