您好,欢迎访问三七文档
软件开发生命周期议程软件开发过程软件开发生命周期模型RUP/XP的初步理解软件开发过程业务建模需求分析设计构建测试部署业务建模的目的了解客户组织的结构及运转机制了解客户组织中当前存在的问题并确定改进的可能性业务流程重组确保客户、最终用户和开发人员就目标组织达成共识导出支持目标组织所需的系统需求需求成果组织结构视图概述业务中的关键角色和职责以及他们的分组情况。业务流程视图包括业务的关键业务流程并对其进行概述,这些流程是业务存在的原因。什么是需求需求是指系统必须符合的条件或具备的功能功能性:系统无需考虑物理约束而必须能够执行的动作非功能性可用性可靠性性能实施需求接口需求……需求收集客户访谈问卷调查……成果:描述性的文档系统分析构架分析用例分析确定设计元素确定设计机制描述运行时构架描述分布目标:搞清楚做什么?成果:需求规格说明书及相关分析文档系统设计用例设计子系统设计类设计数据库设计目标:解决的问题是该如何做?成果:设计说明书及相关设计文档构建(实现)用具体的编程语言去实现设计思想,满足客户的需求成果:代码及文档等等测试依据需求规格说明书验证是否满足客户的需求。成果:测试报告部署在生产环境中实施系统,使之正常运转成果:可以正常运转的系统维护维持正常运行纠错改进CONCEPTIONINITIATIONANALYSISDESIGNCONSTRUCTION软件开发生命周期模型瀑布模型原型模型渐进模型快速应用开发(RAD)模型螺旋模型瀑布模型需求汇总确认分析确认结构设计确认系统设计确认实现确认测试确认并接收配置并操作再确认瀑布模型也称为线性顺序模型或典型的生命周期模型在阶段中每个阶段都有开始点和结束点,且从一个阶段到下一个阶段都有明确的递交物这种模型对于需求一开始就定义很明确和以后只有次要变动的情形来说,是理想的模型。多数软件系统是动态的—随着用户的增多他们需要不断地变动。因此,这种模型可证明是低效的。瀑布模型原型模型产品的第一版是试验性的这种试验的主要目的是评估此产品的可行性和验证需求这种产品的‘第一版’称为原型抛弃此产品,在更为扎实的基础上开始真正的开发原型法最适合用户不能精确地表述他或她的需求原型模型原型法和瀑布模型的结构化技术可以结合起来使用在向软件工程师提供了足够的关于用户的确切需求反馈之前,使用原型法。然后第二个版本按照瀑布模型开发过程模型的结合渐进模型渐进模型把原型法和瀑布模型结合起来其开发阶段是由可运行的软件产品的扩展增量组成的模型。分析增量的需求然后分别设计、编码、测试、集成每个增量,并提交给客户然后第二个版本按照瀑布模型开发快速应用开发模型是一个线性过程模型使用基于构件的系统,如面向对象系统在开发中通常同时涉及到不止一个开发组每个组都独立地遵顺RAD过程RAD模型有以下五各阶段:业务建模数据建模快速应用开发模型(RAD)过程建模应用生成测试和调整组3组1组2业务建模数据建模过程建模应用建模测试和调整业务建模数据建模过程建模应用建模测试和调整业务建模数据建模过程建模应用建模测试和调整快速应用开发模型(RAD)对于开发时间很短的应用开发来说,RAD模型时合适的用自动化工具来生成代码也可用第四代工具或在RAD模型中使用面向对象语言,因为构件可被重用RAD模型需要比其他模型更多的人力资源,不论开发者还是客户都需要介入到RAD中快速的跟踪活动快速应用开发模型(RAD)螺线模型螺线模型是加入了风险控制的渐进模型。螺线模型是由分析、设计、实现和测试4个部分组成的迭代模型,每一个周期都是一次迭代过程。每迭代一次,系统就生成一个新版本,软件开发就前进一个层次。螺线模型提供了大型软件设计的宏观过程,在早期就注意到软件重用、软件进化和快速原型这个模型使管理转向强调风险评估和风险消除对于十分复杂和风险很大的项目,此模型可以有效地实现螺线模型现代的软件开发过程理论RUP(统一软件过程)XP(极限编程过程)微软的里程碑方式印度和美国中小型软件企业的CMM中国的软件作坊软件生命周期(开发周期)先启主要目标:建立项目的软件规模和边界条件,包括运作前景、验收标准以及希望产品中包括和不包括的内容识别系统的关键用例对比一些主要场景,展示备选构架评估整个项目的总体成本和进度评估潜在的风险(各种不可预测因素)准备项目的支持环境精化主要目标确保构架、需求和计划足够稳定,充分减少风险,从而能够有预见性地确定完成开发所需的成本和进度处理在构架方面具有重要意义的所有项目风险建立一个已确定基线的构架制作产品质量构件的演进式原型证明已建立基线的构架将在适当时间、以合理的成本支持系统需求建立支持环境(创建开发案例、创建模板和指南、安装工具)构建主要目标完成所有所需功能的分析、开发和测试迭代式、递增式地开发为部署应用程序作好准备产品化主要目标确保最终用户可以使用软件培训用户和维护人员根据产品的完整前景和验收标准,对部署基线进行的评估统一软件过程RUP三大特点:用例驱动以体系结构为核心迭代开发,增量开发迭代式开发RUP开发周期开始阶段:基本需求的说明建立商业用例(环境、预算、可行性)建立用例模型(20%)和项目词汇初步的项目规划和风险评估细节阶段完善用例模型(80%)多次迭代,构造软件架构和可执行原型提供完整的项目规划、风险评估RUP开发周期(续)构造阶段系统实现、开发组件系统测试、系统集成提交软件beta版、用户手册过渡阶段软件beta版的测试替换旧系统运行用户培训和支持服务迭代1迭代2迭代3分析设计编码测试发布1分析设计编码测试发布2分析设计编码测试发布3迭代n分析设计编码测试最终发布……..增量型(RUP)XP的增量过程简单设计迭代计划测试驱动Pair开发持续集成重构1..N个Iteration发布计划1..N个Release小发布发布1..N个TaskRUP?XP?XP用于2-10人的小规模开发队伍RUP用于大规模的开发队伍最佳过程:剪裁RUP与XP,吸取它们的最佳实践,形成适合你们开发团队的过程。
本文标题:软件开发生命周期
链接地址:https://www.777doc.com/doc-3712754 .html