三大块内容:软件危机与软件工程传统软件开发方法面向对象方法一、软件危机与软件工程:软件、软件危机、软件生存期、软件开发模型、软件管理1、软件:软件是能够完成预定功能和性能的可执行的计算机程序+使程序正常运行所需要的数据+描述软件开发过程及其管理、程序的操作和使用的有关文档。文档:分开发、管理、用户、维护文档,作用是记录及解决不可视性、通信与交流、管理与维护、用户服务2、软件危机a)表现:软件成本高、难于控制开发进度、软件工作量估计困难、软件质量低、软件修改维护困难b)原因:需求问题(描述不精确、理解不一致)、管理问题、方法和工具问题、软件本身的特点3、软件生存期:a)三个时期:定义时期(软件计划、需求分析)—>开发时期(软件设计、编码实现、测试)—>使用和维护时期(维护)b)六个阶段:软件计划?需求分析?设计?编码?测试?使用与维护c)生命周期方法特点:顺序性、依赖性,推迟程序的物理实现、质量保证的观点(利于尽早发现错误,如阶段文档、评审)4、软件开发模型a)瀑布模型:、分而治之、、由抽象到具体,顺序进行优点:规范管理开发过程、文档驱动缺点:初期系统的需求难以完全确定、文档驱动、周期长b)原型模型:::快速建立原型,:用户参与、:快速弱功能、对开发环境要求高c)螺旋模型(风险驱动)d)增量模型(模块、功能驱动)e)迭代模型f)喷泉模型5、软件管理a)区别于其他工业产品生产管理的特点b)主要内容:开发计划与进度管理、文档管理、人员组织管理、成本管理、质量管理二、传统软件工程方法:a))(表示方法、命名):需求描述?(保持父图和其子图的平衡)(符号)c):、深度、宽度、扇入、(数据流图)a)结构化设计SD-?对应有SD结构化需求分析、SP结构化实现b)DFD?软件结构(层次图)))Jackson方法b):顺序、选择、:数据结构、程序结构c)思想:数据结构与程序处理过程相互转换d)步骤:I/ODS?对应关系?ProgramStructure?细化求精e)优缺点:)高效率---良结构三种基本控制结构、单入单出b).)实现/)例如:OOPL---))黑盒(功能))白盒(结构)—)、面向对象方法(Object-orientedMethod)a)OOM与CM对比:区别—)、五个模型、:软件计划具体任务:项目定义、可行性分析、软件计划其中:可行性分析:1、可行性研究实质:可行性研究试一次大大压缩和简化了的系统分析和设计过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计过程。2、主要内容:a)经济可行性:资金有无落实、成本—效益分析b)技术可行性:开发的风险、资源的有效性、技术方案c)操作可行性:用户组织内的管理制度、人员素质、操作方式等是否可行。d)法律及社会可行性e)开发方案的选择:折衷手段权衡。3、可行性研究的主要步骤:a)复查系统规模b)研究正在使用的旧系统c)导出高层逻辑模型d)重新定义问题e)导出多种解法f)推荐行动方针g)草拟开发计划h)书写文档并提交审查系统流程图(物理建模工具):会读、读懂。数据流图:概述?描绘系统的逻辑模型的工具?DFD:DataFlowDiagram?描绘信息流和数据从输入移动到输出的过程中所经受的变换数据
软件工程复习重点 来自淘豆网www.taodocs.com转载请标明出处.