- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上海海事大学软件工程课件精品
1.4.7 敏捷过程与极限编程 敏捷软件开发宣言(价值观声明): 个体和交互胜过过程和工具 可以工作的软件胜过面面俱到的文档 客户合作胜过合同谈判 响应变化胜过遵循计划 根据上述价值观声明提出的软件过程统称为敏捷过程。 极限编程(eXtreme Programming, XP): 敏捷过程中最富盛名的一个 广泛适用于需求模糊且经常改变的场合 使得敏捷过程能够较好地适应商业竞争环境下对小型项目提出的有限资源和有限开发时间的约束 XP项目的整体开发过程 XP迭代开发过程 1.4.8 微软过程 微软过程准则 微软软件生命周期 微软过程模型 每一个生命周期发布一个递进的版本,各生命周期持续快速地迭代循环 优点: 综合了Rational统一过程和敏捷过程的优点 缺点:对方法、工具和产品等方面不够全面 1. 问题定义 任务:问题是什么 通过对客户的访问调查,系统分析员扼要地写出关于问题性质、工程目标和工程规模的书面报告。 经过讨论和必要的修改之后这份报告应该得到客户的确认。 结果: 关于系统规模和目标的报告书 2. 可行性研究 任务:有可行的解吗 系统分析员需要进行一次大大压缩和简化了的系统分析和设计过程。 研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。 结果: 系统的高层逻辑模型(数据流图、成本效益分析) 可行性论证报告(立即进行/推迟进行/不能或不值得进行) 3. 需求分析 任务:必须做什么 主要是确定目标系统必须具备哪些功能。 系统分析员必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。 结果: 系统的逻辑模型(数据流图、数据字典、简要的算法描述) 用规格说明书准确地记录对目标系统的需求 4. 总体设计 任务:如何解决已提出的问题 设计出实现目标系统的几种可能的方案(低、中、高成本)。 用适当的表达工具描述每种方案,分析优缺点,推荐一个最佳方案,制定出实现最佳方案的详细计划。设计程序的体系结构。 结果: 可能的解法(系统流程图、成本效益分析) 推荐的系统体系结构(层次图或结构图) 5. 详细设计 任务:怎样具体实现该系统 详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。 结果: 每个模块的算法和数据结构(程序流程图、PAD图、N-S图等)。 6. 编码和单元测试 任务:得到正确的程序模块 选取一种适当的高级程序设计语言(必要时用汇编语言),把详细设计的结果翻译成用选定的语言书写的程序; 并且仔细测试编写出的每一个模块。 结果: 代码和测试报告 7. 综合测试 任务:得到符合要求的软件 通过集成测试、验收测试、现场测试、平行运行等方法对目标系统进一步测试检验。 通过对软件测试结果的分析可以预测软件的可靠性;反之,根据对软件可靠性的要求,也可以决定测试和调试过程什么时候可以结束。 结果: 测试计划、详细测试方案以及实际测试结果 完整一致的软件配置 8. 软件维护 任务:使系统持久地满足用户的需要 改正性维护,诊断和改正在使用过程中发现的软件错误; 适应性维护,修改软件以适应环境的变化; 完善性维护,根据用户的要求改进或扩充软件; 预防性维护,修改软件为将来的维护活动做准备。 每一项维护活动实质上是经历了一次压缩和简化了的软件定义和开发的全过程。 结果: 完整准确的维护记录 各类维护工作量所占比例 维护工作量在软件生命周期所占比例 1.4 软件过程 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。为获得高质量的软件产品,软件过程必须科学、有效。 传统的瀑布模型 实际的瀑布模型 1.4.1 瀑布模型 瀑布模型的特点: 1. 阶段间具有顺序性和依赖性 前一阶段的工作完成之后,才能开始后一阶段的工作; 前一阶段的输出文档就是后一阶段的输入文档。 2. 推迟实现的观点 对于规模较大的软件项目来说,往往编码开始得越早最终完成开发工作所需要的时间反而越长。 3. 质量保证的观点 每个阶段都必须完成规定的文档,是“文档驱动”的模型; 每个阶段结束前都要对所完成的文档进行评审,尽早发现问题,改正错误。 瀑布模型的优点: 可强迫开发人员采用规范的方法; 严格地规定了每个阶段必须提交的文档; 要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 瀑布模型的缺点: 只能通过文档了解产品,不经过实践的需求是不切实际的。 瀑布模型适用于: 需求是预知的; 软件实现方法是成熟的; 项目周期较短。 快速原型模型 1.4.2 快速原型模型 快速原型:是快速建立起来的可以在计算机上运行的程序,它
文档评论(0)