软件工程活动.ppt
软件工程活动,软件工程框架及原则,目标,整体认识过程活动知识点工作流程关注点过程输出物,大纲,第1章 软件需求,第4章 软件测试,第3章 软件实现,第2章 软件设计,第5章 软件交付,第6章 软件维护,第7章 总结,第1章 软件需求,1.1 知识点,1.4 输出物,1.3 关注点,1.2 工作流程,1.1 知识点,用户需求:用户为了满足自己对将要开发的目标系统的愿望而提出的要求。是站在用户立场上、使用用户理解的方式和语言描述的需求。产品需求:经过需求分析,将用户需求转换成的便于开发人员理解的产品需求。是系统设计的依据,可以使用开发人员理解的方式和语言描述。,1.2 工作流程,1.3 关注点,需求评审检查单需求跟踪RTM,1.4 输出物,需求开发计划用户需求调研单用户需求说明书产品需求规格说明书需求跟踪矩阵RTM评审报告,第2章 软件设计,2.1 知识点,2.4 关注点,2.5 输出物,2.3 解决方案开发选择,2.2 工作流程,2.1 知识点,产品构件:表示一组软件代码(源码、二进制码或可执行码),也可以是其它产品构件的聚合。是为了满足最终交付产品的功能并交付给用户。设计模型:是分析与设计过程的主要工作产品。它显示收集了哪些产品构件来提供系统的行为。实现模型:是产品构件的集合。,2.2 工作流程,2.3 解决方案开发选择,决策分析流程,2.4 关注点(一),概要设计 技术路线、内部、外部接口设计进行用例分析,构建产品的设计模型;构建产品的实现模型,进行产品的分解,标识产品构件;描述产品和产品构件的特征和约束;进行产品外部接口设计;识别产品构件间的接口,进行接口设计;识别和定义产品构件的集成顺序、遵循的标准;识别产品和产品构件与集成环境、运行环境间的关系、约束条件。,2.4 关注点(二),详细设计 处理流程、算法、数据结构 详细描述产品和产品构件的处理流程、算法、数据结构类(属性、方法、接口)详细定义产品构件的集成顺序、组装方法、配置要求 清晰描述产品和产品构件与集成环境、运行环境间的关系、基本配置要求、约束条件,2.5 输出物,概要设计说明书详细设计说明书数据库设计说明书评审报告,第3章 软件实现,3.1 知识点,3.4 输出物,3.3 关注点,3.2 工作流程,3.1 知识点,产品组装:又称产品集成。是根据定义的集成顺序、规程,分阶段地、渐进地、增量地将产品构件进行组装,形成产品或更大的产品构件。,3.2 工作流程,3.3 关注点,单元测试代码走查产品组装,3.4 输出物,源代码单元测试用例单元测试报告产品组装计划产品资料CQ库评审报告,第4章 软件测试,4.1 知识点,4.4 输出物,4.3 关注点,4.2 工作流程,4.1 知识点,集成测试:也叫做组装测试。将程序模块进行有序的、递增的测试。检验程序单元的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统。系统测试:系统测试是为验证和确认系统是否达到其原始目标,而对集成的硬件和软件系统进行的测试。是在真实或模拟系统运行环境下检查完整的程序系统能否和系统正确配置连接,满足需求。,4.2 工作流程(一),测试计划、设计,4.2 工作流程(二),测试执行,4.3 关注点,测试设计测试方案(集成、系统、性能)测试用例测试用例密度测试用例通过率,4.4 输出物,测试计划(集成、系统)测试方案(集成、系统)测试用例(集成、系统)测试报告(集成、系统),第5章 软件交付,5.1 知识点,5.4 输出物,5.3 关注点,5.2 工作流程,5.1 知识点,确认测试:确认测试是检验与证实软件是否满足软件需求说明书中规定的要求。验收测试:按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审。,5.2 工作流程,5.3 关注点,验收标准所谓验收,就是按照测试用例跑一遍,结果和预期结果一致就应该算通过,而且还容许有一些小错误留在验收后改正。所以,验收前双方要确认验收标准(含测试计划、测试用例)。错误观点认为系统完美了才能验收这种想法是错误的,合同里一定要注明验收以后维护期的费用问题,否则,客户担心一旦验收就得不到支持,有可能不配合验收。,5.4 输出物,用户确认测试报告项目交付确认单(用户签字)系统实施计划用户培训计划(如合同中规定为我方责任)系统试运行报告系统正式运行确认书系统正式运行报告产品验收报告,第6章 软件维护,6.1 知识点,6.4 输出物,6.3 关注点,6.2 工作流程,6.1 知识点,进行维护的原因主要有以下几种:改正程序中的错误和缺陷改进设计以适应新的软、硬件环境增加新的应用范围软件维护主要分为以下几类:改正性维护适应性维护完善性维护预防性维护,6.2 工作流程,6.3 关注点,理解他人编写的程序一般都有一定的困难性。软件配置的文档严重不足甚至没有,或者没有合格的文档。当需要对软件进行维护时,由于软件人员经常流动,维护阶段持续的时间又很长,所以一般不能指望由原来的开发人员来完成或提供软件的解释。绝大多数软件在设计时没有考虑到将来的修改问题。,6.4 输出物,项目任务书项目计划技术支持服务规范已记录的用户问题及解决方案维护变更后的软件产品版本维护情况报告维护总结报告(合同类项目使用),总结(一),并不是所有的项目都适用一种开发流程,项目组要学会不断改进工作流程。项目规模,总结(二),