软件过程模型研究报告.doc

上传人:twoload295 文档编号:381810 上传时间:2018-10-10 格式:DOC 页数:5 大小:30KB
下载 相关 举报
软件过程模型研究报告.doc_第1页
第1页 / 共5页
软件过程模型研究报告.doc_第2页
第2页 / 共5页
软件过程模型研究报告.doc_第3页
第3页 / 共5页
软件过程模型研究报告.doc_第4页
第4页 / 共5页
软件过程模型研究报告.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、1 西 安 邮 电 大 学 软件工程课程 软件过程模型 研究报告 系部名称 : 计算机学院 专业名称 : 计算机科学与技术 班 级 : 学号 : 姓名 : 授课教师 : 软件工程课程 XXXX 研究报告 1 软件过程模型 研究报告 1. 概述 本节概要介绍 软件开发过程相关 的背景知识,和目前主要的方法 /技术。 软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来 。 2. 报告正文 一 Parnas 方法 方 法 最早的软件开发方法是由 D.Parnas 在 1972 年提出的。由

2、于当时软件在可维护性和可靠性方面存在着严重问题,因此 Parnas 提出的方法是针对这两个问题的。首先, Parnas提出了信息隐蔽原则 :在概要设计时列出将来可能发生变化的因素,并在模块划分时将这些因素放到个别模块的内部。这样,在将来由于这些因素变化而需修改软件时,只需修改这些个别的模块,其它模块不受影响。信息隐蔽技术不仅提高了软件的可维护性,而且也避免了错误的蔓延,改善了软件的可靠性。现在信息隐蔽原则已成为软件工程学中的一条重要原则。 Parnas 提 出的第二条原则是在软件设计时应对可能发生的种种意外故障采取措施。软件是很脆弱的,很可能因为一个微小的错误而引发严重的事故,所以必须加强防范

3、。如在分配使用设备前,应该取设备状态字,检查设备是否正常。此外,模块之间也要加强检查,防止错误蔓延。 Parnas 对软件开发提出了深刻的见解。遗憾的是,他没有给出明确的工作流程。所以这一方法不能独立使用,只能作为其它方法的补充。 二 SASD 方法 1978 年, E.Yourdon 和 L.L.Constantine 提出了结构化方法,即 SASD 方法,也可称为面向功能的软件开发 方法或面向数据流的软件开发方法。 1979 年 TomDeMarco 对此方法作了进一步的完善。 Yourdon 方法是 80 年代使用最广泛的软件开发方法。它首先用结构化分析 (SA)对软件进行需求分析,然后

4、用结构化设计 (SD)方法进行总体设计,最后是结构化编程 (SP)。这一方法不仅开发步骤明确, SA、 SD、 SP 相辅相成,一气呵成,而且给出了两类典型的软件结构 (变换型和事务型 ),便于参照,使软件开发的成功率大大提高,从而深受软件开发人员的青睐。 三 面向数据结构的软件开发方法 2 Jackson 方法 1975 年, M.A.Jackson 提出了一类至今仍广泛使用的软件开发方法。这一方法从目标系统的输入、输出数据结构入手,导出程序框架结构,再补充其它细节,就可得到完整的程序结构图。这一方法对输入、输出数据结构明确的中小型系统特别有效,如商业应用中的文件表格处理。该方法也可与其它方

5、法结合,用于模块的详细设计。 Warnier 方法 1974 年, J.D.Warnier 提出的软件开发方法与 Jackson 方法类似。差别有三点 :一是它们使用的图形工具不同,分别使用 Warnier 图和 Jackson 图 ;另一个差别是使用的伪码不同 ;最主要的差别是在构造程 序框架时, Warnier 方法仅考虑输入数据结构,而 Jackson方法不仅考虑输入数据结构,而且还考虑输出数据结构。 四 极限编程( xp) 极限编程作为一种新型的敏捷开发方法,以产品质量为核心,综合采用了开发中的各种实践手段和方法,可以很好解决传统软件开发所遇到的问题。 XP 的计划过程主要针对软件开发

6、中的两个问题:预测在交付日期前可以完成多少工作;现在和下一步该做些什么。不断的回答这两个问题,就是直接服务于如何实施及调整开发过程 。 优点 1)采用简单计划策略,不需要长期计划和复杂模型,开发周期短; 2) 在全 过程采用迭代增量开发、反馈修正和反复测试的方法,能够适应用户经常变化的需求。 缺点 1)目前主要在小规模项目上应用并取得成功,但是否适用于中等规模或大规模软件产品,需慎重考虑; 2)由于这个模型较新产品交付后维护成本是否降低,不能确定; 3)对编码人员的经验要求高 五 Rup 软件开发 RUP 具有很多长处:提高了团队生产力,在迭代的开发过程、需求管理、基于组件的体系结构、可视化软

7、件建模、验证软件质量及控制软件变更等方面,针对所有关键的开发活动为每个开发成员提供了必要的准则、模板和工具指导,并确保全体成员共享相 同的知识基础。它建立了简洁和清晰的过程结构,为开发过程提供较大的通用性。 但同时它也存在一些不足: RUP 只是一个开发过程,并没有涵盖软件过程的全部 内容,例如它缺少关于软件运行和支持等方面的内容;此外,它没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性。可以说 RUP 是一个非常好的开端,但并不完美,在实际的 应用中可以根据需要对其进行改进并可以用 OPEN 和 OOSP 等其他软件过程的相关内容对 RUP 进行补充和完善。

8、六 敏捷开发 敏捷开发 (agile development)是一 种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 敏捷开发最直观的好处是项目进入实质性开发开发很快,迭代周期也不长,客户可以很快看3 到一个基线架构版的产品,这样能比较好地改善用户满意度。我知道的思艾特团队在这方面做得就是不错的。 不过因为敏捷开发更注重人,所以对人员素质和稳定性的要求又更高。项目组中如果新手太多,那么用敏捷开

9、发反而可能会效率更低。人员流动也会造成十分严重的问题。 七 瀑布模型 核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 瀑布模型的特徵 (1)整个生命周期 ,有清洁定义的阶段 . (2)前一个阶段完成后 ,下一个阶段才往下做 . (3)任何阶段如果发生错误 ,立即 回到前面发生错误得阶段 ,进行修正工 做 . (4)每一阶段完成后 ,皆会有严谨的文件产生 . (5

10、)使用者只有在调查 ,需求分析及测试三个阶段参与 . 瀑布模型有以下优点: 为项目提供了按阶段划分的检查点。当前一阶段完成后,您只需要去关注后续阶段。 可在迭代模型中应用瀑布模型 缺点 : 在项目各个阶段之间极少有反馈。只有在项目生命周期的后期才能看到结果。 通过过多的强制完成日期和里程碑来跟踪各个项目阶段。 八 喷泉模型 1、喷泉模型的优点 喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开 始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。 1 2、喷泉模型的缺点

11、由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。 结论 通过完成这次软件开发过程模型研究报告,进一步了解了软件开发的具体方法和实施步骤,对未来更深层次的学习软件工程这门学科打下了良好的基 础,对一个软件从开始提出一个设想到最后将它实现中间的过程步骤和开发者所使用的方法以及开发者自身对于开发这个软件的想法与理解感受更深。对我的帮助很大,进一步提升了我对于这门学科的喜爱和将它学好的决心 。 4 参考文献 百度词条:软件开发方法 软件工程导论 Csdn 中国软件开发网

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 工作总结

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1