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