为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

UML面向对象设计基础qy

2018-09-09 3页 doc 31KB 9阅读

用户头像

is_503307

暂无简介

举报
UML面向对象设计基础qy 前 言 人们评论本书时向我提出了几个问题,你可能也关心这些问题。下面我回答其中的一些问题。 我是一名程序员。为什么要关心设计? 每个人在编写代码的同时,也在设计(design)代码,不管是好是坏,还是有意或无意。我写本书的目标是鼓励OO专业人士(这类人士越来越多)有意识地在编程之前建立良好的面向对象设计。为此,我介绍符号表示法、面向对象的原则以及术语,使你及你的同事可以对设计的系统进行评估和讨论。 本书将教会我们OO的编程语言吗? 回答是否定的。尽管我偶尔会提到程序,但本书不是关于面向对象编程的。 我正在...
UML面向对象设计基础qy
前 言 人们评论本书时向我提出了几个问,你可能也关心这些问题。下面我回答其中的一些问题。 我是一名程序员。为什么要关心? 每个人在编写代码的同时,也在设计(design)代码,不管是好是坏,还是有意或无意。我写本书的目标是鼓励OO专业人士(这类人士越来越多)有意识地在编程之前建立良好的面向对象设计。为此,我介绍符号表示法、面向对象的原则以及术语,使你及你的同事可以对设计的系统进行评估和讨论。 本书将教会我们OO的编程语言吗? 回答是否定的。尽管我偶尔会提到程序,但本书不是关于面向对象编程的。 我正在学习面向对象语言,本书会有帮助吗? 回答是肯定的。如果你目前还不了解一种面向对象语言,可以从第1章中获得面向对象的知识。了解面向对象的主要概念可以加快你对一种面向对象语言的学习,并且能增强你跨入陌生领域的信心。本书后面有关如何设计的章节也将有助于使你以前的程序运行得更好。 另一方面,如果你是一位有经验的面向对象程序员,可以通过本书的第二和第三部分提高设计水平,这点对于成为全面的、专业的软件设计者或编程者是至关重要的。 为什么不用C++编写本书的程序例子? 本书中的程序采用我自己发明的语言编写,该语言融合了4种流行的语言:C++,Eiffel,Java及Smalltalk。我这样做是因为有两类程序员:一类是熟悉C++的,一类是不熟悉C++的。如果你是C++ 的爱好者,会发现本书的程序可以很轻松地转成C++程序。如果你不熟悉C++,可能会厌烦其神秘的语法。有些例子是用Java写的,这是因为非Java程序员接受Java比非C++程序员接受C++要容易些。我希望无论你的编程语言是什么,本书都能适合你。 为什么本书不是针对窗口、图标及菜单设计的? 原因有两个:其一,我不认为面向对象只适用于图形用户界面的设计;其二,在市场上有许多专门针对面向对象窗口设计的书。我希望本书能包括一些其他面向对象的图书没有涉及到的内容。在第7章提供了窗口导航设计的内容。 本书是有关学的吗? 回答是否定的。我们知道,开发方法学的内容比设计要多得多。例如,方法学还包括需求、库管理等。而且,真正的方法学应该解释各种开发活动是如何有机地结合在一起。内容很多! 因此,我不打算将本书写成和其他许多有关面向对象的书一样内容松散,而集中于一个主题:面向对象设计。 你说了本书许多不涉及的内容,但本书涉及哪些内容呢? 本书主要涉及面向对象软件设计的基本概念、符号表示、术语、准则以及原理。面向对象软件是由对象以及其所属的类构成的软件。一个对象是一个软件构件,其操作(类似函数或过程)与一系列变量(类似数据)有关。类实现了一种类型,它定义属于该类的一组对象。 上述朴素的语句蕴藏着对于软件设计者和编程者非常有用的内涵,由此引出了继承、多态性及二次设计等的设计概念。但由于你问了一个特定的问题,所以我给你一个专门的回答。 本书第一部分(第1和第2章)介绍面向对象。第1章综述了主要概念,并揭开了“多态性”、“一般性”及其他所有OO行话的神秘面纱。第2章将面向对象置于以前的软件开发框架中。如果你已经熟悉面向对象(也许用面向对象语言编过程序),那么可以跳过第一部分。 第二部分(第3至第7章)介绍有关Unified Modeling Language(统一建模语言,UML)的内容,UML已成为描述面向对象设计符号的事实上的标准。此外,第二部分还说明了许多可以在面向对象系统中找到的结构。第3章介绍用UML描述类及其属性和操作。第4章介绍用UML表示关联、聚合、组合对象,以及子类和超类的层次。第5章说明如何用UML表示消息(顺序的和异步的),第6章介绍用UML描绘状态图。第7章总结UML用于系统结构和人机交互界面的窗口的内容。 第三部分(第8至第14章)较深入地介绍面向对象设计的原理。第8章讲述共生性的关键概念及2级封装。第9章探讨各种类所属的域并描述不同的类的内聚程度。第10、11章是第三部分的主要内容,将状态空间和行为的概念应用到既合理又可扩展的类层次结构。 第12章提供了一些轻松的调节剂,从现实世界中检验设计,既有精巧的设计也有可笑的设计(第12章确实列举了设计者有关继承和多态性的可笑设计)。第13章给出一些如何组织给定类操作的方法,并说明提高可重用性和可维护性设计的技术,如混合类和操作环。 第14章触及一个令人头痛的问题:“如何设计一个好的类?”为回答这个问题,第14章描述了从可怕的到美妙的各种类接口。具有典型接口的类易于进行抽象数据类型的实现。如果类的设计遵守前面几章介绍的基本原理,这样的类更具有健壮性、可靠性、可扩展性、可重用性和可维护性。 作为本书结束的第15章分析了软件构件的特点,包括优点和缺点。在商用应用软件的面向对象开发过程中,回顾了在前面几章中介绍的一些面向对象原理。 尽管我在主要的论述中增加了丰富的例子和习题,但必须承认第三部分中有些内容比较难。但不管怎样我不想弱化重要问题。面向对象设计的某些方面内容是比较难的,值得一提以免引起误解。 本书包括了面向对象设计的所有内容吗? 我对此深表怀疑。每天,我都能学到许多有关面向对象的内容,相信你也一样。实际上,一本书可以告诉我们面向对象的一切而不需要我们再学习,是十分荒谬的。本书中的内容一定有不当之处!在我写完几本书之后,随着年龄的增长和阅历的增加会改变我的一些观点。 因此,尽管我在本书中包括了许多重要的设计原理,如果你对面向对象十分重视,应尽可量广泛阅读并挑战你所学的知识。 你提供面向对象设计的课程吗? 是的。我所在的公司Wayland System提供一些面向对象专题的课程。我们的课程经常有变动,有关最新信息请查阅www.waysys.com。 这本书适合我吗? 这是什么问题?你希望我说“不?”如果你已经是或是将要成为采用面向对象技术项目的程序员、设计者、系统师或技术经理,那么本书适合你。如果你是面向对象的初学者,将从本书的第一部分学到许多知识,然后做些面向对象编程的练习,再回到本书的第二和第三部分。 如果你是已经掌握了标准的结构化编程的大学生或职业程序员,希望进一步扩大知识范围,本书也适合你。 无论你属于何种角色,希望你能喜欢本书并从中受益。 祝好运! Meilir Page-Jones 1999年9月 华盛顿Bellevue meilir@waysys.com – 2 – – 3 –
/
本文档为【UML面向对象设计基础qy】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索