- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《软件工程导论》讲义2015 版:第四章 面向对象方法学
第四章 面向对象方法学
零、 生命周期方法学回顾
1、 生命周期方法学的特点
生命周期方法学是一种传统的软件工程方法学,其主要特点是:
严格的分阶段计划
以时间分解为基础来控制和管理整个软件开发过程的,将软件开发过程划分
为许多首尾相接、相互独立的阶段。
“瀑布式”开发模式
软件开发阶段在时间上严格地实施顺序,不能反复。每个阶段完成后才进行
下一个阶段的工作,并且前一个阶段的成果作为下一个阶段工作开始的依据。
严格的技术审查和管理复审
在软件开发的每一个阶段结束后,进行严格的技术审查和管理复审,排除所
有潜在的错误,保证瀑布模型的实施,并从成本和进度上管理和控制软件开发。
结构化技术
结构化技术内涵为 “自上而下,逐步求精”,生命周期方法学在各个阶段采
用结构化技术,包括结构化分析、结构化设计、结构化程序设计等。
从以上特点可以看出,生命周期方法学是以软件功能为基础来进行软件开发
的,面向的软件实体由一段段可执行的程序代码组成,并以模块作为基本的软件
结构体,可以由程序代码的运行来实现所需的软件功能,满足用户的需求。
也正是由于生命周期方法学的以上特点,使得它在软件工程实践中也暴露出
了许多问题:
对功能需求分析的依赖
生命周期方法学的软件开发成果对于功能需求分析有很强的依赖性,要求需
求分析阶段的结果一定要全面、准确、清晰,不能有任何错误或模糊的东西。而
一旦对需求分析中确定的需求进行了任何改变,都会直接影响到整个软件的设计
和实现,对软件进行的修改要付出很大的代价。
但是在实际操作过程中,一方面用户很难一次性地写出既完善又正确无误的
功能要求,另一方面所确定的功能要求,又有可能随着时间的变化或者用户对系
统理解的逐步深入发生变化。这种软件功能需求的变化在实际软件项目的开发过
程中是不可避免和屡见不鲜的,但它对生命周期方法学来说又是灾难性的,这使
得生命周期方法学在软件开发实践中往往处于被动的地位。
软件重用性差
如果某个软件开发中的成果不能够保存下来,并且在其它软件的开发过程中
得到应用,那么对于软件开发的生产力来说,就是一种极大的浪费。使软件开发
中产生的成果能够被别的软件项目所利用,称为软件的重用性。
在生命周期方法学中,对软件进行模块划分,是致力于提高软件重用性的一
种努力。软件模块具有相对独立的功能,能够完成对信息的某一种处理,因此理
论上可以被别的用到相同功能的软件所使用。但各种不同的软件系统中,完全相
第 1 页
自动化学院 模式识别与智能系统研究所
高琪 gaoqi@
《软件工程导论》讲义2015 版:第四章 面向对象方法学
同的功能是很难见到的,总会因为数据类型、处理细节、允许范围等等原因存在
一定的差异。这样,除了一些非常基础的函数运算以外,大量的功能模块并不直
接被利用到别的软件中去,而必需要进行一定的修改。这些修改的工作既要在理
解原来程序的基础上进行,又要保证对该模块的修改不会影响到与这个模块有耦
合关系的其它模块,所以并不简单。生命周期方法学并没有很好地解决软件重用
性的问题,也就直接影响了软件生产率的提高。
维护的代价高
任何软件在它的生命周期中,都必然会包含长期的、大量的维护工作。对软
件进行维护就是对软件进行修改,但是在生命周期方法学开发软件的过程中,任
何对软件的修改都会返回到软件开发的前面阶段中去,因此都需要很大的分析、
修改、测试的代价。
虽然使用了生命周期方法学后,软件的文档齐备、可理解性增强,能够进行
维护,但是瀑布式开发模式的限制使得每一次维护工作都变成了一次小型的软件
开发工作,并且功能模块之间的耦合关系使得维护工作给原来的软件引入了新的
不确定因素,降低了软件的可靠性,这样的软件结构还是不容易实现维护要求的。
与现实世界的差异
现实世界是一个复杂的系统,它由许多相互独立的元素组成,这些元素之间
互相作用、互相影响,共同构成系统整体。每个元素的内部特性并不受到系统的
完全控制,相互间的通讯和协同
文档评论(0)