软件开发过程.ppt
- 文档编号:18877884
- 上传时间:2024-02-07
- 格式:PPT
- 页数:82
- 大小:865.50KB
软件开发过程.ppt
《软件开发过程.ppt》由会员分享,可在线阅读,更多相关《软件开发过程.ppt(82页珍藏版)》请在冰点文库上搜索。
软件开发过程四川华迪信息技术有限公司四川华迪信息技术有限公司Version1.0Version1.0Overview课程介绍需求分析分析设计实施部署2024/2/72Hwadee课程介绍课程介绍关于本次课程o课程目标o预备知识o目标听众o日程表o词汇表2024/2/74Hwadee课程目标o了解软件开发活动的流程o了解软件开发活动的规范要求2024/2/75Hwadee目标听众o项目组成员2024/2/76Hwadee预备知识o了解软件工程知识2024/2/77Hwadee日程表o总课时:
130分钟o授课大纲:
0:
20介绍常用的软件开发模式0:
20需求分析0:
20分析设计0:
30实施0:
20测试0:
20部署共计:
130分钟2024/2/78HwadeeoCMM:
能力成熟度模型(CapabilityMaturityModel)oSQA:
软件质量保证(SoftwareQualityAssurance)词汇表2024/2/79Hwadee什么是软件开发过程o用以开发和维护软件及其相关产品(如,项目计划、设计文档、代码、测试用例、用户手册等等)的一组活动、方法、实践和变换2024/2/710Hwadee2024/2/711Hwadee常用的软件开发过程瀑布式开发迭代式开发增量式开发演化式开发原型式开发2024/2/712Hwadee瀑布式开发模型立项立项需求分析需求分析分析设计分析设计编码、测试编码、测试结项结项o生存周期表现为线形的一组开发活动。
o开发阶段有明确的输入和输出,一个阶段的输出是下一个阶段的输入。
o从一个阶段进入到下一个阶段,需要满足特定的条件。
2024/2/713Hwadee迭代式开发模型先启阶段先启阶段精化阶段精化阶段构件阶段构件阶段产品化阶段产品化阶段迭代开发模型将开发过程分成多个为期数周的迭代,而每个迭代包括了迭代计划、需求分析、系统设计、编程、测试及评估,而每个迭代完成时都会产生一个可运行的版本2024/2/714Hwadee选择生命周期模型o没有适合所有人的“帽子”o生命周期选择应考虑:
需求架构系统演进风险管理费用中途变更用户对系统进展的可视情况管理者对系统进展的可视情况管理与开发经验2024/2/715Hwadee选择生命周期模型2024/2/716Hwadee软件开发角色划分o项目经理o设计人员o编码人员o测试人员o配置人员oSQAo.2024/2/717Hwadee需求分析需求的重要性o开发软件系统最为困难的部分就是准确说明开发什么。
最为困难的概念性工作就是编写出详细技术需求,这包括所有面向用户、面向机器和其它软件系统的接口。
同时这也是一旦做错,将最终会给系统带来极大损害的部分,并且以后再对它进行修改也极为困难。
2024/2/719Hwadee需求问题软件开发中的问题1.客户表面上同意需求,但完成的产品并不能满足需求2.需求总是变化,无法稳定3.需求太多,无法在给定的时间完成4.设计人员抱怨测试人员没有拿最新的需求版本来设计测试5.项目经理发觉开发人员独自增加了新的功能,新的功能用了很长的时间进行开发,但客户认为价值不大6.客户总是不想对项目进行验收,他们担心系统无法最终满足需要2024/2/720Hwadee需求活动的目的定义系统的边界和功能、非功能需求,以便涉众(客户、最终用户)和项目组对所开发的内容达成一致。
使项目组能够更好的理解需求,并达成一致。
建立软件需求基线供软件工程和管理使用。
软件计划、产品和活动同软件需求保持一致。
为其它软件工程活动提供基础(如管理活动、测试活动)。
2024/2/721Hwadee需求分析流程制定需求管理计划提取业务需求需求开发需求批准基线化需求需求变更控制需求状态评审2024/2/722Hwadee制定需求管理计划o定义角色和职责o建立跟踪机制o选择需求属性o定义需求管理机制o编写需求管理计划制定需求管理计划编写用于需求管理活动的计划。
项目经理2024/2/723Hwadee提取业务需求o收集用户初始需求(业务需求)o标识需求项提取业务需求到用户方进行需求调查,以获得项目的初始需求。
项目组成员2024/2/724Hwadee需求开发对客户的需要进行分析,并用清晰合理的方式进行描述,使客户方和开发方对开发的内容达成一致。
需求开发需求开发项目成员2024/2/725Hwadee确认需求正式作为项目管理和其它工程活动的基础,并作为客户之间承诺对系统进行验收的基准。
需求批准需求批准客户、高级管理者o需求批准是一种正式的管理过程,代表相关各方达成一致的承诺o经过需求评审的需求工件作为批准的内容2024/2/726Hwadee此活动的目的是在经过客户和项目组的授权下,将批准的正式的软件需求工件放入配置管理系统。
基线化需求基线化需求配置经理o基线化正式的需求工件正式的软件需求工件、需求跟踪工件进入配置库,作为其它相关活动(管理、设计、测试等)的基础。
2024/2/727Hwadee需求变更控制需求变更控制配置经理o需求一旦建立基线后,需要通过控制流程来改变o需求的变更需要经过双方的批准o变更后的需求需要经过客户、用户和相关组的评审进入配置管理库,作为工作基线2024/2/728Hwadee需求评审需求状态评审o举行评审会议举行评审会议举行需求规格说明书评审会议,需求评审人员高级管理者和项目经理通过需求状态评审监控需求管理的状态。
项目组通过需求状态评审对需求状况达成一致2024/2/729Hwadee分析设计分析设计o目的软件分析设计活动是建立系统的构架,将系统的软件需求分配给软件结构,使设计适应具体的实施环境。
2024/2/731Hwadee分析设计活动流程软件详细设计软件构架设计软件构架设计评审软件详细设计评审基线化构架基线化详细设计软件需求工件软件开发计划软件构架设计工件软件详细设计工件2024/2/732Hwadee分析设计o角色构架设计师设计员配置管理员构架评审人员详细设计评审人员2024/2/733Hwadee分析设计o进入准则需求已经基线化软件开发计划已指派了分析设计活动2024/2/734Hwadee分析设计o输入软件需求工件软件开发计划2024/2/735Hwadee分析设计活动介绍o构架设计建立软件系统的构架,将系统的软件需求分配给软件结构2024/2/736Hwadee分析设计活动介绍o构架设计评审检查软件系统构架设计是否合理,包括如下几点:
发现和修复缺陷一致性确认2024/2/737Hwadee分析设计活动介绍o基线化构架设计将评审通过的软件构架设计工件置于配置管理,作为详细设计的基础2024/2/738Hwadee分析设计活动介绍o软件详细设计根据需求工件、构架设计工件,进一步精确描述软件系统,并使之适于具体的实施环境2024/2/739Hwadee分析设计活动介绍o详细设计评审检查软件系统详细设计是否合理,包括如下几点:
发现和修复缺陷一致性确认2024/2/740Hwadee分析设计活动介绍o基线化详细设计将评审通过的软件详细设计工件置于配置管理,作为实施活动的基础2024/2/741Hwadee分析设计活动介绍o输出软件构架设计工件:
概要设计说明书、数据库设计说明书等软件详细设计工件:
详细设计说明书评审记录2024/2/742Hwadee实施q目的:
单元编码、单元测试、缺陷修复以及系统集成等工作q主要任务:
制定集成计划单元编码、测试/评审集成系统基线化目的2024/2/744Hwadee编码的任务o编码阶段的任务就是将详细设计翻译成计算机最终可运行的软件单元、集成工作版本。
软件构架详细设计工作版本软件开发计划编码2024/2/745Hwadee编码的任务o编码工作对一个程序员来说是司空见惯的事,然而,如何编写出高质量的程序,还是有很多值得讨论的问题。
如何选择程序设计语言?
如何评价程序的质量?
程序设计的风格等等。
2024/2/746Hwadee词汇表o代代码评审(CodeReview)代码评审是检查源代码与编码标准的符合性以及程序逻辑的正确性的活动,目的是发现缺陷或者是提出改进措施。
o系系统集成集成(SystemIntegration)系统集成指的是将单独的软件单元合并成一个整体的软件开发活动。
集成活动可以分级、分阶段进行。
o工作版本工作版本(Build)工作版本既可以是软件系统的可操作版本,也可以是具有最终产品部分功能的软件系统组成部分。
o程序程序单元元(Unit)程序单元是项目定义的软件最小可测试单元。
2024/2/747Hwadee软件实施活动流程图2024/2/748Hwadee角色o编码员编码员编码员负责编码、修复代码缺陷;o集成员集成员负责制定集成计划、集成程序单元,创建工作版本基线;o测试员测试员负责执行测试活动;o集成计划评审人员集成计划评审人员参与集成计划的评审,一般由设计员、测试、配置经理、编码员、构架设计师等组成;o代码评审员代码评审员评审源代码,一般由编码员(非代码作者)组成;2024/2/749Hwadee进入准则o详细设计工件已经被基线化o构架工件已经被基线化2024/2/750Hwadee输入o软件构架设计工件构架设计文档主要描述备选设计方案、软件子系统划分、子系统间接口和错误处理机制等;o软件详细设计工件详细设计文档主要描述将构架设计转化为最小实施单元,产生可以编码实现的设计;2024/2/751Hwadee活动o制定系统集成计划o评审集成计划o单元编码及缺陷修复o代码评审o执行单元测试o集成程序单元o执行集成测试o执行系统测试o创建最终工作版本基线2024/2/752Hwadee制定系统集成计划o角色角色集成员o活动描述活动描述确定系统要实施的部分,以及实施它们的先后顺序。
确定集成的工作版本:
确定集成的工作版本:
根据开发计划的工作内容,将它们划分成不同的工作版本。
确定集成的策略:
确定集成的策略:
定义系统集成的方式。
可以根据系统自身的特点,选择合适的集成策略,以及确定实施测试所需的驱动和桩模块。
2024/2/753Hwadee评审集成计划o角色角色集成计划评审人员o活动描述活动描述发现缺陷,跟踪并修复缺陷。
发现和修复缺陷:
发现和修复缺陷:
根据评审规范,评审集成计划工件。
2024/2/754Hwadee单元编码及缺陷修复o角色角色编码员o活动描述活动描述生产出同设计一致的源代码。
编写代码:
编写代码:
按照分配的任务项,编写新单元的代码,保证源代码只是设计的代码实现,并且源代码可以成功编译。
缺陷修复:
缺陷修复:
按照分配的任务项,修复已有代码中经过测试或代码评审发现的缺陷,并保证源代码可以成功编译。
2024/2/755Hwadee代码评审o角色角色代码评审员o活动描述活动描述通过阅读他人的代码,检查代码中的缺陷。
检查编写缺陷检查编写缺陷:
依照编码标准检查代码是否符合标准。
检查逻辑缺陷检查逻辑缺陷:
根据设计工件检查代码是否正确反映且仅反映设计的内容。
2024/2/756Hwadee执行单元测试o角色角色测试员o活动描述活动描述测试员执行单元测试的目的是验证单元的内部结构以及单元实现的功能。
执行单元测试:
执行单元测试:
按照测试过程手工执行单元测试或运行测试脚本自动执行单元测试。
记录单元测试结果:
记录单元测试结果:
将单元测试结果作详细记录,并将测试结果提交给相关组。
回归测试:
回归测试:
对修改后的单元执行回归测试2024/2/757Hwadee集成程序单元o角色角色集成员o活动描述活动描述提供一个可以测试的集成工作版本。
生成集成工作版本生成集成工作版本:
按照集成计划集成并编译已经通过单元测试的程序单元。
判断集成结束判断集成结束:
根据集成计划判断集成是否结束。
2024/2/758Hwadee创建最终工作版本基线o角色角色集成员o活动描述活动描述建立一个完整的基线化的软件工作版本。
配置最终工作版本基线:
配置最终工作版本基线:
创建最终工作版本基线。
2024/2/759Hwadee输出o软件程序单元包括了所有编码员完成的程序单元源代码;o工作版本按照集成计划创建的各个集成工作版本;o集成计划软件工作版本的定义、工作版本的内容、集成的策略以及实施的先后顺序等;o评审记录记录评审内容、评审结果、评审意见、参与人员等;2024/2/760Hwadee退出准则o最终工作版本被基线化2024/2/761Hwadee编码标准o编制易于修改和维护的代码;o编制易于测试的代码;o必须将编程与编文档的工作统一起来;o编程中采用统一的标准和约定,降低程序复杂性;o限定每一层的副作用,减少耦合度;o尽可能地重用。
2024/2/762Hwadee编程风格概述o编程风格是在不影响性能的前提下,有效地编排和组织程序,以提高可读性和可维护性。
o从软件工程的角度来说,程序的质量主要取决于设计的质量,而编程风格在很大的程度上影响着程序的可读性、可测试性和可维护性;o软件开发的很大部分的成本消耗在编码、测试和维护阶段,因此,努力追求软件的可读性、可测试性和可维护性极其重要。
2024/2/763Hwadee编程风格
(一)o节俭化(Economy)提供尽可能简洁的代码。
o模块化(Modularity)把代码划分为内聚度高、富有意义的功能块。
通常是把常且复杂的程序段或子程序分解为小且定义良好的程序段。
o简单化(Simplicity)去掉过分复杂和不必要的矫揉造作。
2024/2/764Hwadee编程风格
(二)o结构化(Structure)把程序的各个构件组织成一个有效的系统。
o文档化(Documentation)程序能够自说明。
o格式化(Layout)尽量使程序布局合理、清晰、明了。
2024/2/765Hwadee测试测试软件测试是为了发现错误而执行程序的过程软件测试是根据程序开发阶段的规格说明及程序内部结构而精心设计的一批测试用例(输入数据及其预期结果的集合),并利用这些测试用例去运行程序,以发现错误的过程2024/2/767Hwadee测试流程制订测试计划设计测试执行单元测试执行集成测试执行系统测试评估测试制订测试计划制订测试计划设计测试设计测试执行单元测试执行单元测试执行集成测试执行集成测试执行系统测试执行系统测试评估测试评估测试2024/2/768Hwadee角色和职责o测试设计员测试设计员制定和维护测试计划。
设计测试用例及测试过程。
评估测试,生成测试分析报告。
o测试员测试员执行集成测试和系统测试。
记录测试结果。
o设计员设计员设计测试需要的驱动程序和稳定桩。
o编码员编码员编写测试驱动程序和稳定桩。
执行单元测试。
2024/2/769Hwadee测试产生工件阶段产生工件制订测试计划测试计划设计测试测试用例执行单元测试单元测试通知单、单元测试日志执行集成测试集成测试通知单、集成测试日志、执行系统测试系统测试通知单、系统测试日志评估测试测试分析报告2024/2/770Hwadee软件部署软件部署软件部署o目的确保最终用户可以正常使用软件产品2024/2/772Hwadee软件部署o参与角色部署经理文档开发人员集成员配置经理软件质量保证2024/2/773Hwadee软件部署o进入准则软件生产部门已对软件进行打包产品支持部门已经完成对软件的产品化包装工作产品测试部门已经完成对软件的接受测试配置管理部门已经建立相应的软件产品基线2024/2/774Hwadee软件部署流程计划部署产品发布材料验收测试创建部署单元实地验收测试产品打包提供下载站点发布测试版客户安装可下载产品最终产品通过市售2024/2/775Hwadee软件部署活动介绍o计划部署确定发布的软件产品确定什么时候、如何向用户发布确定准备开发的用户支持材料2024/2/776Hwadee软件部署活动介绍o开发产品支持材料用户培训材料最终用户支持材料2024/2/777Hwadee软件部署活动介绍o开发场所验收测试部署经理审计待验收测试的软件产品和测试平台按照验收测试计划执行测试2024/2/778Hwadee软件部署活动介绍o创建部署单元工作版本最终用户支持材料和发布说明安装工件o审批部署单元2024/2/779Hwadee软件部署活动介绍o实地验收测试部署经理审计待验收测试的软件产品和测试平台按照验收测试计划执行测试2024/2/780Hwadee软件部署活动介绍o产品打包部署单元、安装脚本、用户手册等2024/2/781HwadeeQ&Ao请提问!
THANKYOU2024/2/782Hwadee
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 过程
![提示](https://static.bingdoc.com/images/bang_tan.gif)