软件项目开发过程ppt.ppt
- 文档编号:293354
- 上传时间:2022-10-08
- 格式:PPT
- 页数:89
- 大小:2.04MB
软件项目开发过程ppt.ppt
《软件项目开发过程ppt.ppt》由会员分享,可在线阅读,更多相关《软件项目开发过程ppt.ppt(89页珍藏版)》请在冰豆网上搜索。
软件项目开发过程,2,软件项目,什么是软件项目完成特定目的、符合用户特定需求的软件所需的组织结构和过程、规范的集合软件项目的实施需要周密的部署,合理的规章制度,符合项目的路线(软件过程),良好的项目管理和人员安排。
3,相关流程,软件管理特点软件生存期过程确定需求开发策划需求分析概要设计详细设计编码与调试测试软件集成、联调内部确认复制、交付、安装试运行、用户验收运行、维护退役,软件管理配置与变更管理环境、工具和技术有关软件的法规和标准周密策划以保证软件质量管理体系八项质量管理原则过程方法基于过程的质量管理体系模式实施质量管理体系的意义实施质量管理体系工作重点企业发展力量分析,4,软件管理特点,软件产品的特点软件产品的质量,完全取决于其设计和开发水平软件需求的模糊性、变化性使软件产品难以成熟任何一个软件产品,或多或少总会存在一些故障(BUG)软件人员广泛存在的不规范的开发习惯使开发过程难以管理软件质量指标难以量化软件测试理论和技术尚未解决软件产品正确性的验证问题软件产品质量特性:
满足需求能力的一系列特性总和功能、可靠性、易用性、效率、维护性、可移植性软件管理必须在市场(用户)需求和软件成熟性之间进行权衡,5,软件生存期过程,确定需求开发策划需求分析概要设计详细设计编码与调试测试,软件集成、联调内部确认复制、交付、安装试运行、用户验收运行、维护退役,6,确定需求,确定外部用户需求上级下达的软件开发课题本单位根据市场需要确定的开发课题用户合同要求的软件开发任务输出可行性分析报告技术、经济、社会可行性,风险对策合同及评审记录产品要求得到规定和满足单位有能力满足规定的要求,7,开发策划,确定开发目标确定项目开发的技术路线(开发的出发基线、对现有产品的复用、委托开发等)确定应遵循的标准、法律和法规选任开发项目经理划分开发阶段确定各阶段的输入和输出文件,确定质量控制点(评审点、验证点和确认点)及其实施的责任人、实施方式等设计项目开发进度确定开发人员并分配职责提出开发所需资源(软件、硬件开发环境及工具软件、设备、资金等)要求并予以落实制定配置管理计划和质量保证计划,8,开发策划(续),输出策划报告开发项目实施计划配置管理计划质量保证计划等,9,需求分析,确保项目的开发符合用户的需求(可测试性)确定设计输入任务委托书/招标书前期对用户的需求调研资料可行性分析报告/投标书合同等编制内部需求规格(说明)书需求变更控制,10,需求的层次-业务需求、用户需求和功能需求,11,需求的开发和管理,12,需求验证,验证是为了确保需求说明准确、完整地表达必要的质量特点客户的参与在需求验证中占有重要的位置,审查需求文档以需求为依据编写测试用例编写用户手册确定合格的标准,13,测试需求,测试需求有很多分类方法,最普通的一种就是按照商业功能分类把需求分解成单元的好处:
测试需求是测试用例的基础,分成单元可以更好地进行设计详细的测试需求是用来衡量测试覆盖率的重要指标测试需求包括各种测试设计和开发以及所需资源最好分解到功能点,14,概要设计,确保产品的总体结构和模块间的关系与用户需求的一致性内容总体方案设计逻辑框图接口及通讯协议选用现有产品软件的选用边界(约束)条件的设计运行环境设计等输出概要设计说明书,15,详细设计,详细设计说明书与概要设计说明书是否相一致内容算法设计数据格式设计实现流程设计人机界面设计测试用例设计操作设计等,输出详细设计说明书软件组装计划测试计划及测试用例安装手册(初稿)使用说明书(初稿)产品标准(初稿),16,编码与调试,内容编写程序代码:
源代码目标代码可执行代码此阶段还包括部分软件模块的局部测试、集成与联调根据待开发软件的规模、控制点及人员安排,可细分为多个小阶段输出软件(源代码、目标代码、可执行代码及相关数据文件)文档(帮助文件等)保证编码风格的一致性,易读性;增强软件源码的可维护性,17,测试,按测试发生的顺序划分模块测试:
是对单个软件模块的测试单元测试:
是对各个软件功能单元的测试组装测试:
是对各软件单元之间的互联测试集成测试:
是对硬件装置、设备和软件的加入性测试系统测试:
项目组所在部门组织的对完成集成的系统的测试(是否满足产品规格要)确认测试:
单位质量控制部门进行的测试(是否满足产品规格要求)验收测试:
在现场安装、调试结束并经试运行后,与顾客一起,就满足合同情况进行的测试(是否满足合同要求),18,测试(续),与顺序无关的测试联合测试:
当软、硬件分头开发完成时,对其组合体进行的测试回归测试:
对因排除不符合项而采取的措施是否产生了其他副作用而进行的确认性测试专项测试:
针对某些具体测试项进行的确认性测试。
例如:
边界条件测试等。
应根据开发规模,尽可能进行独立测试。
为了保证测试的可信性,被测试的软件应以源代码的形式提交,同时说明生成可执行代码的环境和方法。
由测试人员生成可执行代码,进行测试。
19,软件开发的V字模型,不可能在需求开发阶段真正进行任何测试,因为还没有可执行的软件可以在开发组编写代码之前,以需求为基础建立概念性测试用例,并使用它们发现软件需求规格说明中的错误、二义性和遗漏,还可以进行模型分析,20,对V模型的质疑,在部分阶段延迟进行单元测试和集成测试在不同阶段上提前进行测试设计,21,X模型,适应现实单元测试、集成测试不断迭代强调探索性测试,22,统计数字,每千行源代码所包含的bug数,cmm1级为11.95个,cmm2为5.52个,cmm3为2.39个,cmm4为0.92个,而cmm5则只有0.32个,23,软件集成、联调,应按计划对所开发的软件模块进行组装并与硬件一起联调根据需要,规定应填写的调试记录,24,内部确认,在模拟环境下运行,并监视、记录运行情况根据任务书或合同的要求进行比照,检查其是否满足使用要求对运行情况、测试结果及文档的齐套性、正确性和一致性进行评审,达到确认,25,复制、交付、安装,软盘复制、光盘刻录交付时的版本标识和登记安装(派技术人员安装或由用户自行安装)记录软件安装实施计划软件安装环境最低需求软件安装记录,26,试运行、用户验收,以用户验收的方式进行最终确认结论软件设计与需求的一致性程序编码与软件设计的一致性文件描述与程序的一致性文件的成套性、完整性、准确性和标准化程度是否通过验收,27,运行、维护,收集使用中发现的问题和顾客意见针对运行中出现的问题,按设计更改程序进行控制记录用户服务记录表,28,退役,编写软件退役报告,并进行评审,29,配置与变更管理,基线的确立配置项的存取配置管理实施配置项的标识配置项的变更控制配置项的状态记录配置项的检查和评审,控制对构成软件产品的各配置项的标识、管理、更改活动,保证软件配置项的完全性和正确性,防止非预期的使用软件配置项的范围合同、技术文档、质量记录等,30,媒体控制,对软件存放介质(媒体)的要求和规定软件的复制(软件的生产过程)媒体的标识:
规则、执行者媒体的贮存(防潮、防火、防磁、防静电、防病毒)媒体的包装、运输,31,文档资料控制,各开发阶段应形成的文档,对其拟、审、批的规定编制文档资料所依据的标准和规范开发过程中应形成的质量记录文档与软件之间的一致性检查文档资料的归档与发放,32,版本管理,分类开发过程中的版本交付软件产品的版本管理对象软件文档为该产品开发的工具软件操作配置管理人员,配备一台计算机(或服务器)开设开发库、受控库和产品库访问权限对入库和出库软件的控制,33,版本管理(续),开发库存放正在开发(编写)或调试(修改)、自测的软件和文档受控库存放开发各阶段测试通过的软件、文档和工具软件的版本并给以标识。
转入下一阶段时,从此处发放用作下一阶段开始工作的初始版本产品库存放可交付及已交付软件、文档及支持文件的版本各库内所存放的软件和文档,应定期备份,以防止开发成果的意外丢失(文件重写、介质损坏、意外事故、非法访问病毒,黑客,故意破坏等)并保证可追溯性,34,环境、工具和技术,开发所需的硬件环境测试所需的硬件环境(包括模拟用户环境所必要的输入、输出设备)开发平台软件(操作系统、编程语言、编译环境、调试工具等)管理软件诊断软件测试软件辅助性软件(防病毒软件等),35,有关软件的法规和标准,软件产品管理办法计算机信息系统集成资质管理办法(试行)计算机软件保护条例ISOIEC122071995信息技术软件生存周期过程ISOIECTR15504软件过程评估GBT1900032001质量管理和质量保证标准第3部分:
GB信息技术软件生存周期过程GBT190011994在软件开发,供应、安装和维护中的使用指南GBT1250490计算机软件质量保证计划规范GBT1250590计算机软件配置管理计划规范等,36,周密策划以保证,开发人员应具备一定的资格或能力开发环境(软件和硬件平台)是适用的编制足够的控制程序和工作规范(例如开发过程控制程序、变量命名规则、代码书写规范、注释规范等)编制测试用例并在使用前对用例本身进行验证编制各阶段测试计划,明确规定测试方法以及测试结果的记录要求、评价方式和接收准则实施配置管理,控制软件产品(代码和文档)版本和更改过程,37,软件质量管理体系,质量体系文件质量手册文件控制记录控制管理职责质量方针、质量目标职责、权限与沟通管理评审资源管理人力资源基础设施和工作环境,产品实现产品实现的策划与顾客有关的过程设计和开发采购开发和服务提供监视和测量装置的控制测量、分析和改进监视和测量不合格品控制数据分析改进,38,八项质量管理原则,以顾客为关注焦点领导作用全员参与过程方法管理的系统方法持续改进基于事实的决策方法与供方互利的关系,39,过程方法,最高管理者持续的推动,时间,组织业绩,P,D,C,A,持续循环改进,40,基于过程的质量管理体系模式,41,实施质量管理体系的意义,管理法治化职责更分明接口更明确监督机制加强焦点得到控制竞争能力增强,42,实施质量管理体系工作重点,规范管理制度增进内部沟通提高服务质量增强社会信心,43,小结,小结,44,软件开发中的困境,如何指定符合项目的计划项目应该如何去完成如何按期提交项目如何降低项目的风险项目中的人员流动很频繁怎么办如何合理的安排已有人员项目不断变大,文档和程序不断的增多用户的需求在不断的变化项目中的人员在增加,如何管理好项目的质量如何控制,45,软件开发过程的模型,简单式(构建维护)瀑布式敏捷开发统一软件开发过程,46,简单式,修改直到用户满意,系统使用,消亡,思路或者客户需求,47,简单式过程开发特征,系统在没有任何规范和规则的情况下就开发没有明确的设计,设计思路都在开发者的头脑中这种开发方法对于使用周期很短的小项目可用随着时间的推移,系统的维护越来越困难系统在交付使用时,有可能会出现一系列的错误,前期和后期维护成本都很高在大型项目和商用项目中极少使用,48,瀑布式,设计阶段,实现阶段,集成阶段,需求阶段,使用阶段,消亡,每个阶段做完时进行验证,49,瀑布式开发,70年代流行的开发方法自上而下的开发方法每个阶段都有软件质量管理组核实后再进行下一阶段的开发每一阶段都有测试每个阶段都形成了明确的文档文档并不总能和系统相符合细化的文档使得系统的用户和开发人员难于理解和分辨系统的关系阶段之间的对应和检查变得困难、维护代价高变更应对能力差,50,敏捷开发,快速适应系统需求的变化提高软件生产率突出企业自身特点,体现企业核心能力支持动态联盟和虚拟组织面向业务目标持续改进和重组,51,敏捷开发的特征,轻量级的开发过程基于时间JustEnough并行基于组件的软件工程,52,敏捷开发过程,软件的需求是难以预期的,开发方法必需适应变化的需求,在快速的迭代中不断改进小组成员并不完全按照完整的方法进行开发,而根据具体问题和情况,灵活地去除非增值活动仅仅执行一些必须的活动,使用必须的规则,编写必须的文档人的因素被放在第一适合互联网时代的开发要求,53,主要敏捷开发方法,eXtremeProgramming(XP)SCRUMDSDMAdaptive
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 开发 过程 ppt