软件开发过程最新课件

上传人:人*** 文档编号:569493577 上传时间:2024-07-29 格式:PPT 页数:82 大小:915.50KB
返回 下载 相关 举报
软件开发过程最新课件_第1页
第1页 / 共82页
软件开发过程最新课件_第2页
第2页 / 共82页
软件开发过程最新课件_第3页
第3页 / 共82页
软件开发过程最新课件_第4页
第4页 / 共82页
软件开发过程最新课件_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《软件开发过程最新课件》由会员分享,可在线阅读,更多相关《软件开发过程最新课件(82页珍藏版)》请在金锄头文库上搜索。

1、软件开发过程Version1.0Version1.0Overview课程介绍需求分析分析设计实施部署2024/7/292软件开发过程最新课程介绍课程介绍关于本次课程o课程目标o预备知识o目标听众o日程表o词汇表2024/7/294软件开发过程最新课程目标o了解软件开发活动的流程o了解软件开发活动的规范要求2024/7/295软件开发过程最新目标听众o项目组成员2024/7/296软件开发过程最新预备知识o了解软件工程知识2024/7/297软件开发过程最新日程表o总课时:130分钟o授课大纲:0:20介绍常用的软件开发模式0:20需求分析0:20分析设计0:30实施0:20测试0:20部署共计

2、: 130分钟2024/7/298软件开发过程最新oCMM:能力成熟度模型(Capability Maturity Model) oSQA:软件质量保证(Software Quality Assurance)词汇表2024/7/299软件开发过程最新什么是软件开发过程o用以开发和维护软件及其相关产品(如,项目计划、设计文档、代码、测试用例、用户手册等等)的一组活动、方法、实践和变换2024/7/2910软件开发过程最新2024/7/2911软件开发过程最新常用的软件开发过程瀑布式开发迭代式开发增量式开发演化式开发原型式开发2024/7/2912软件开发过程最新瀑布式开发模型立项立项需求分析需求

3、分析分析设计分析设计编码、测试编码、测试结项结项o生存周期表现为线形的一组开发活动。o开发阶段有明确的输入和输出,一个阶段的输出是下一个阶段的输入。o从一个阶段进入到下一个阶段,需要满足特定的条件。 2024/7/2913软件开发过程最新迭代式开发模型先启阶段先启阶段精化阶段精化阶段构件阶段构件阶段产品化阶段产品化阶段 迭代开发模型将开发过程分成多个为期数周的迭代,而每个迭代包括了迭代计划、需求分析、系统设计、编程、测试及评估,而每个迭代完成时都会产生一个可运行的版本2024/7/2914软件开发过程最新选择生命周期模型o没有适合所有人的 “帽子”o生命周期选择应考虑:需求架构系统演进风险管理

4、费用中途变更用户对系统进展的可视情况管理者对系统进展的可视情况管理与开发经验2024/7/2915软件开发过程最新选择生命周期模型2024/7/2916软件开发过程最新软件开发角色划分o项目经理o设计人员o编码人员o测试人员o配置人员oSQAo.2024/7/2917软件开发过程最新需求分析需求的重要性o开发软件系统最为困难的部分就是准确说明开发什么。最为困难的概念性工作就是编写出详细技术需求,这包括所有面向用户、面向机器和其它软件系统的接口。同时这也是一旦做错,将最终会给系统带来极大损害的部分,并且以后再对它进行修改也极为困难。2024/7/2919软件开发过程最新需求问题 软件开发中的问题

5、1.客户表面上同意需求,但完成的产品并不能满足需求2.需求总是变化,无法稳定3.需求太多,无法在给定的时间完成4.设计人员抱怨测试人员没有拿最新的需求版本来设计测试5.项目经理发觉开发人员独自增加了新的功能,新的功能用了很长的时间进行开发,但客户认为价值不大6.客户总是不想对项目进行验收,他们担心系统无法最终满足需要2024/7/2920软件开发过程最新需求活动的目的定义系统的边界和功能、非功能需求,以便涉众(客户、最终用户)和项目组对所开发的内容达成一致。使项目组能够更好的理解需求,并达成一致。建立软件需求基线供软件工程和管理使用。软件计划、产品和活动同软件需求保持一致。为其它软件工程活动提

6、供基础(如管理活动、测试活动)。2024/7/2921软件开发过程最新需求分析流程制定需求管理计划提取业务需求需求开发需求批准基线化需求需求变更控制需求状态评审2024/7/2922软件开发过程最新制定需求管理计划o定义角色和职责 o建立跟踪机制 o选择需求属性 o定义需求管理机制 o编写需求管理计划制定需求管理计划编写用于需求管理活动的计划。项目经理2024/7/2923软件开发过程最新提取业务需求o收集用户初始需求(业务需求)o标识需求项提取业务需求到用户方进行需求调查,以获得项目的初始需求。项目组成员2024/7/2924软件开发过程最新需求开发对客户的需要进行分析,并用清晰合理的方式进

7、行描述,使客户方和开发方对开发的内容达成一致。需求开发需求开发项目成员2024/7/2925软件开发过程最新确认需求正式作为项目管理和其它工程活动的基础,并作为客户之间承诺对系统进行验收的基准。需求批准需求批准客户、高级管理者o需求批准是一种正式的管理过程,代表相关各方达成一致的承诺o经过需求评审的需求工件作为批准的内容2024/7/2926软件开发过程最新此活动的目的是在经过客户和项目组的授权下,将批准的正式的软件需求工件放入配置管理系统。基线化需求基线化需求配置经理 o基线化正式的需求工件正式的软件需求工件、需求跟踪工件进入配置库,作为其它相关活动(管理、设计、测试等)的基础。2024/7

8、/2927软件开发过程最新需求变更控制需求变更控制配置经理 o需求一旦建立基线后,需要通过控制流程来改变o需求的变更需要经过双方的批准o变更后的需求需要经过客户、用户和相关组的评审进入配置管理库,作为工作基线2024/7/2928软件开发过程最新需求评审需求状态评审o举行评审会议举行评审会议 举行需求规格说明书评审会议,需求评审人员高级管理者和项目经理通过需求状态评审监控需求管理的状态。项目组通过需求状态评审对需求状况达成一致2024/7/2929软件开发过程最新分析设计分析设计o目的软件分析设计活动是建立系统的构架,将系统的软件需求分配给软件结构,使设计适应具体的实施环境。 2024/7/2

9、931软件开发过程最新分析设计活动流程软件详细设计软件构架设计软件构架设计评审软件详细设计评审基线化构架基线化详细设计软件需求工件软件开发计划软件构架设计工件软件详细设计工件2024/7/2932软件开发过程最新分析设计o角色构架设计师 设计员 配置管理员 构架评审人员 详细设计评审人员 2024/7/2933软件开发过程最新分析设计o进入准则需求已经基线化 软件开发计划已指派了分析设计活动 2024/7/2934软件开发过程最新分析设计o输入软件需求工件软件开发计划2024/7/2935软件开发过程最新分析设计活动介绍o构架设计 建立软件系统的构架,将系统的软件需求分配给软件结构2024/7

10、/2936软件开发过程最新分析设计活动介绍o构架设计评审 检查软件系统构架设计是否合理 ,包括如下几点:发现和修复缺陷 一致性确认 2024/7/2937软件开发过程最新分析设计活动介绍o基线化构架设计 将评审通过的软件构架设计工件置于配置管理 ,作为详细设计的基础 2024/7/2938软件开发过程最新分析设计活动介绍o软件详细设计 根据需求工件、构架设计工件,进一步精确描述软件系统,并使之适于具体的实施环境 2024/7/2939软件开发过程最新分析设计活动介绍o详细设计评审 检查软件系统详细设计是否合理 ,包括如下几点:发现和修复缺陷 一致性确认 2024/7/2940软件开发过程最新分

11、析设计活动介绍o基线化详细设计 将评审通过的软件详细设计工件置于配置管理,作为实施活动的基础 2024/7/2941软件开发过程最新分析设计活动介绍o输出软件构架设计工件: 概要设计说明书、数据库设计说明书 等软件详细设计工件 : 详细设计说明书评审记录 2024/7/2942软件开发过程最新实 施q目的:单元编码、单元测试、缺陷修复以及系统集成等工作 q主要任务:制定集成计划单元编码、测试/评审集成系统基线化目的2024/7/2944软件开发过程最新编码的任务o编码阶段的任务就是将详细设计翻译成计算机最终可运行的软件单元、集成工作版本。 软件构架详细设计工作版本软件开发计划编码2024/7/

12、2945软件开发过程最新编码的任务o编码工作对一个程序员来说是司空见惯的事,然而,如何编写出高质量的程序,还是有很多值得讨论的问题。如何选择程序设计语言?如何评价程序的质量?程序设计的风格等等。2024/7/2946软件开发过程最新词汇表 o代代码评审(Code Review)代码评审是检查源代码与编码标准的符合性以及程序逻辑的正确性的活动,目的是发现缺陷或者是提出改进措施。o系系统集成集成(System Integration)系统集成指的是将单独的软件单元合并成一个整体的软件开发活动。集成活动可以分级、分阶段进行。o工作版本工作版本(Build)工作版本既可以是软件系统的可操作版本,也可以

13、是具有最终产品部分功能的软件系统组成部分。o程序程序单元元(Unit)程序单元是项目定义的软件最小可测试单元。 2024/7/2947软件开发过程最新软件实施活动流程图 2024/7/2948软件开发过程最新角色 o编码员编码员 编码员负责编码、修复代码缺陷; o集成员集成员 负责制定集成计划、集成程序单元,创建工作版本基线;o测试员测试员 负责执行测试活动; o集成计划评审人员集成计划评审人员 参与集成计划的评审,一般由设计员、测试、配置经理、编码员、构架设计师等组成; o代码评审员代码评审员 评审源代码,一般由编码员(非代码作者)组成 ;2024/7/2949软件开发过程最新进入准则 o详

14、细设计工件已经被基线化o构架工件已经被基线化 2024/7/2950软件开发过程最新输入 o软件构架设计工件 构架设计文档主要描述 备选设计方案、软件子系统划分、子系统间接口和错误处理机制等; o软件详细设计工件 详细设计文档主要描述将构架设计转化为最小实施单元,产生可以编码实现的设计; 2024/7/2951软件开发过程最新活动o制定系统集成计划 o评审集成计划 o单元编码及缺陷修复o代码评审o执行单元测试o集成程序单元o执行集成测试o执行系统测试o创建最终工作版本基线2024/7/2952软件开发过程最新制定系统集成计划 o角色角色 集成员 o活动描述活动描述 确定系统要实施的部分,以及实

15、施它们的先后顺序。 确定集成的工作版本:确定集成的工作版本:根据开发计划的工作内容,将它们划分成不同的工作版本。 确定集成的策略:确定集成的策略:定义系统集成的方式。可以根据系统自身的特点,选择合适的集成策略,以及确定实施测试所需的驱动和桩模块。 2024/7/2953软件开发过程最新评审集成计划 o角色角色 集成计划评审人员 o活动描述活动描述 发现缺陷,跟踪并修复缺陷。 发现和修复缺陷:发现和修复缺陷:根据评审规范,评审集成计划工件。2024/7/2954软件开发过程最新单元编码及缺陷修复 o角色角色 编码员 o活动描述活动描述 生产出同设计一致的源代码。 编写代码:编写代码:按照分配的任

16、务项,编写新单元的代码,保证源代码只是设计的代码实现,并且源代码可以成功编译。 缺陷修复:缺陷修复:按照分配的任务项,修复已有代码中经过测试或代码评审发现的缺陷,并保证源代码可以成功编译。 2024/7/2955软件开发过程最新代码评审 o角色角色 代码评审员 o活动描述活动描述 通过阅读他人的代码,检查代码中的缺陷。 检查编写缺陷检查编写缺陷:依照编码标准检查代码是否符合标准。检查逻辑缺陷检查逻辑缺陷:根据设计工件检查代码是否正确反映且仅反映设计的内容。2024/7/2956软件开发过程最新执行单元测试 o角色角色 测试员 o活动描述活动描述 测试员执行单元测试的目的是验证单元的内部结构以及

17、单元实现的功能。 执行单元测试:执行单元测试:按照测试过程手工执行单元测试或运行测试脚本自动执行单元测试。 记录单元测试结果:记录单元测试结果:将单元测试结果作详细记录,并将测试结果提交给相关组。 回归测试:回归测试:对修改后的单元执行回归测试 2024/7/2957软件开发过程最新集成程序单元 o角色角色 集成员 o活动描述活动描述 提供一个可以测试的集成工作版本。 生成集成工作版本生成集成工作版本:按照集成计划集成并编译已经通过单元测试的程序单元。判断集成结束判断集成结束:根据集成计划判断集成是否结束。 2024/7/2958软件开发过程最新创建最终工作版本基线 o角色角色 集成员 o活动

18、描述活动描述 建立一个完整的基线化的软件工作版本。配置最终工作版本基线:配置最终工作版本基线:创建最终工作版本基线。2024/7/2959软件开发过程最新输出 o软件程序单元 包括了所有编码员完成的程序单元源代码; o工作版本 按照集成计划创建的各个集成工作版本; o集成计划软件工作版本的定义、工作版本的内容、集成的策略以及实施的先后顺序等; o评审记录 记录评审内容、评审结果、评审意见、参与人员等; 2024/7/2960软件开发过程最新退出准则 o最终工作版本被基线化 2024/7/2961软件开发过程最新编码标准o编制易于修改和维护的代码;o编制易于测试的代码;o必须将编程与编文档的工作

19、统一起来;o编程中采用统一的标准和约定,降低程序复杂性;o限定每一层的副作用,减少耦合度;o尽可能地重用。2024/7/2962软件开发过程最新编程风格概述o编程风格是在不影响性能的前提下,有效地编排和组织程序,以提高可读性和可维护性。o从软件工程的角度来说,程序的质量主要取决于设计的质量,而编程风格在很大的程度上影响着程序的可读性、可测试性和可维护性;o软件开发的很大部分的成本消耗在编码、测试和维护阶段,因此,努力追求软件的可读性、可测试性和可维护性极其重要。2024/7/2963软件开发过程最新编程风格(一)o节俭化(Economy)提供尽可能简洁的代码。o模块化(Modularity)把

20、代码划分为内聚度高、富有意义的功能块。通常是把常且复杂的程序段或子程序分解为小且定义良好的程序段。o简单化(Simplicity)去掉过分复杂和不必要的矫揉造作。2024/7/2964软件开发过程最新编程风格(二)o结构化(Structure)把程序的各个构件组织成一个有效的系统。o文档化(Documentation)程序能够自说明。o格式化(Layout)尽量使程序布局合理、清晰、明了。2024/7/2965软件开发过程最新测 试测试软件测试是为了发现错误而执行程序的过程软件测试是根据程序开发阶段的规格说明及程序内部结构而精心设计的一批测试用例(输入数据及其预期结果的集合),并利用这些测试用

21、例去运行程序,以发现错误的过程2024/7/2967软件开发过程最新测试流程制订测试计划设计测试执行单元测试执行集成测试执行系统测试评估测试制订测试计划制订测试计划设计测试设计测试执行单元测试执行单元测试执行集成测试执行集成测试执行系统测试执行系统测试评估测试评估测试2024/7/2968软件开发过程最新角色和职责o测试设计员测试设计员制定和维护测试计划。设计测试用例及测试过程。评估测试,生成测试分析报告。 o测试员测试员执行集成测试和系统测试。记录测试结果。 o设计员设计员设计测试需要的驱动程序和稳定桩。o编码员编码员编写测试驱动程序和稳定桩。执行单元测试。2024/7/2969软件开发过程

22、最新测试产生工件阶段产生工件制订测试计划测试计划设计测试测试用例执行单元测试单元测试通知单、单元测试日志执行集成测试集成测试通知单、集成测试日志、执行系统测试系统测试通知单、系统测试日志评估测试测试分析报告2024/7/2970软件开发过程最新软件部署软件部署软件部署o目的确保最终用户可以正常使用软件产品2024/7/2972软件开发过程最新软件部署o参与角色部署经理 文档开发人员 集成员 配置经理 软件质量保证 2024/7/2973软件开发过程最新软件部署o进入准则软件生产部门已对软件进行打包 产品支持部门已经完成对软件的产品化包装工作 产品测试部门已经完成对软件的接受测试 配置管理部门已

23、经建立相应的软件产品基线 2024/7/2974软件开发过程最新软件部署流程计划部署产品发布材料验收测试创建部署单元实地验收测试产品打包提供下载站点发布测试版客户安装可下载产品最终产品通过市售2024/7/2975软件开发过程最新软件部署活动介绍o计划部署确定发布的软件产品确定什么时候、如何向用户发布确定准备开发的用户支持材料2024/7/2976软件开发过程最新软件部署活动介绍o开发产品支持材料用户培训材料最终用户支持材料2024/7/2977软件开发过程最新软件部署活动介绍o开发场所验收测试部署经理审计待验收测试的软件产品和测试平台按照验收测试计划执行测试2024/7/2978软件开发过程最新软件部署活动介绍o创建部署单元工作版本最终用户支持材料和发布说明安装工件o审批部署单元2024/7/2979软件开发过程最新软件部署活动介绍o实地验收测试部署经理审计待验收测试的软件产品和测试平台按照验收测试计划执行测试2024/7/2980软件开发过程最新软件部署活动介绍o产品打包部署单元、安装脚本、用户手册等2024/7/2981软件开发过程最新Q&Ao请提问!THANKYOU2024/7/2982软件开发过程最新

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号