三大块内容:软件危机与软件工程传统软件开发方法面对对象方法一、软件危机与软件工程:软件、软件危机、软件生存期、软件开发模型、软件管理1、 软件: 软件是能够完成预定功能和性能的可执行的计算机程序 +使程序正常运行所需要的数据 +描述软件开发过程及其管理、程序的操作和使用的有关文档
文档:分开发、管理、用户、维护文档,作用是记录及解决不可视性、通信与沟通、管理与维护、用户服务2、 软件危机a)表现:软件成本高、难于控制开发进度、软件工作量估量困难、软件质量低、软件修改维护困难b)原因:需求问题(描述不精确、理解不一致)、管理问题、方法和工具问题、软 件本身的特点3、 软件生存期:a)三个时期: 定义时期(软件计划、需求分析)—>开发时期(软件设计、编码实现、测试)—>使用和维护时期(维护)b)六个阶段:软件计划需求分析设计编码测试使用与维护c)生命周期方法特点:顺序性、依赖性,推迟程序的物理实现、质量保证的观点(利于尽早发现错误,如阶段文档、评审)4、 软件开发模型a)瀑布模型:文档驱动 i
阶段划分、分而治之、控制开发过程的复杂性ii
自顶向下、由抽象到具体,顺序进行 优点:法律规范管理开发过程、文档驱动 缺点:初期系统的需求难以完全确定、文档驱动、周期长b)原型模型:i
针对:软件开发初期需求难以确定ii
基本思想:快速建立原型,完善用户需求iii
优点:用户参加、快速iv
缺点:快速弱功能、对开发环境要求高c)螺旋模型(风险驱动)d)增量模型(模块、功能驱动)e)迭代模型f)喷泉模型5、 软件管理a)区别于其他工业产品生产管理的特点b)主要内容:开发计划与进度管理、文档管理、人员组织管理、成本管理、质量管理二、传统软件工程方法:a)软件计划i
问题定义ii
可行性讨论1
经济可行性2
技术可行性3
法律可行性b)需求分析i
结构化分析 SAii
面对数据流的分