- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章 面向对方法学引论(Object - Oriented Methodology)
第八章 面向对象方法学引论(Object - Oriented Methodology) §1传统方法学的缺点 1、瀑布模型的缺点:僵化 瀑布模型要求:生命周期各阶段间遵守严格的顺序。 实际情况是:软件开发往往在反复实践中完成。 瀑布模型要求:预先定义并“冻结”软件需求。 实际情况是:某些系统的需求是一个逐渐明确的过程,且预先定义的需求到软件完成时可能已经过时。 §1传统方法学的缺点 本质上是功能分解,以实现功能的过程为中心, 而用户的需求变化主要是针对功能的。 这就使基于过程的设计不易被理解; 且功能变化往往引起结构变化较大,稳定性不好。 系统有明确的边界定义,且系统结构依赖于系统边界的定义. 这样的系统不易扩充和修改。 数据与操作分开处理,可能造成软构件对具体应用环境的依赖. 可重用性(reusability)较差. §2. 软件工程的新途径 1、快速原型法(Prototyping) 适用于用户驱动的系统(即需求模糊或随时间变化的系统) OOM:以object 为核心,强调对现实概念的模拟而不强调算法。 “面向对象方法学的基本原则,是按照人们习惯的思维方式建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统”。? Class:由特殊到一般的归纳(induction)? Inheritance:由一般到特殊的演绎(deduction) 稳定性好:软件功能需求的变化不牵动全局,只需局部修改; Class 独立性强:只要修改不涉及class的对外接口,则内部修改完全不影响外部调用; 继承性(Inheritance)和多态性(polymorphism)使其很容易被修改和扩充; 容易理解; 3、适于采用上述三种开发模型的软件的特点 3、实例(Instance):某个class描述的具体对象; 4、消息(Message) Message : = object_ID. method_ID (parameter(s)); 5、方法(Method): object能做的操作,亦称为service 、responsibility, 在 class 中须定义相应的代码; 6、属性(Attribute) :object 的固有数据; 特点: ① 若杭州人的 methods中有与中国人的同名,则李士执行该 method 时以杭州人为准,不执行中国人中定义的同名 method。 注意:multiple inheritance 在定义中应避免二义性(ambiguity),即二个父类中定义重名,但各具不同性质。 ④ 修改与扩充可以很容易地通过派生子类来完成。 ⑵ Operator overloading : 同一运算符 (operator)作用于不同类型的操作数 (operand) 上面。 §4. Object Modeling Technique (OMT) 建立三种模型: ① 描述系统数据结构的对象模型(object model). ② 描述系统控制结构的动态模型(dynamic model). ③ 描述系统功能的功能模型(function model). * 2、SA - SD - SP (结构分析、设计、程序)技术的缺点: Prototype Feedback Modification §2. 软件工程的新途径 ⑴ 抛弃原型法(throw - away prototype) ? 1 : 建立原型系统,评价目标系统的某个特性,以便更正确地确定需求. ? 2 : 使用完之后,抛弃掉原型系统,然后再重建目标系统. 本质上是瀑布模型。 ⑵ 演化原型法(evolutionary prototype) ①螺旋模型(the spiral model) : Boehm (1988) ② 渐增模型(the incremental model) : Gilb (1988) The waterfall model is still followed , but for each separate increment . §2. 软件工程的新途径 注:演化原型法与传统方法最大的不同,在于它是一种高度迭代的动态方法,系统的初始版本很早就交付用户试用。 杭 州 北 京 Post-office Message Send by method 对象Object Object = 数据Attribute Attributes: location; employee; ……
文档评论(0)