1. 什么是面向对象方法学?它有哪些优点?
答:
(1)面向对象方法学是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类解决问题的方法与过程,使描述问题的问题空间与实现解法的解空间在结构上尽可能一致的方法学科。面向对象方法学是同时使用对象、类、继承和消息的方法。
(2)面向对象方法学优点:
① 与人类习惯的思维方法一致。
② 面向对象软件稳定性好。
③ 面向对象软件可重用性好。
④ 较易开发大型软件产品。
⑤ 可维护性好。
2. 什么是“对象”?它与传统的数据有何异同?
答:
(1)对象是封装了数据结构及可以施加在这些数据结构上的操作的封装体。
(2)传统数据结构忽略了数据和操作之间的内在联系,其解空间与问题空间并不一致;而对象是由描述内部状态表示静态属性的数据,以及可以对这些数据施加的操作(表示对象的动态行为)封装在一起所构成的统一体。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。
3. 什么是“类”?
答:类是对具有相同数据结构和相同操作的一组相似对象的定义,即类是对具有相同属性和行为的一个或多个对象的描述。
4. 什么是“继承”?
答:继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象的软件技术中,继承是子类自动地共享基类中定义的数据和方法的机制。
5. 什么是模型?开发软件为何要建模?
答:
(1)模型是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。模型由一组图示符号和组织这些符号的规则组成,利用它们来定义和描述问题域中的术语和概念。模型是一种思考工具,利用这种工具可以把知识规范地表示出来。
(2)由于建模忽略了事物的非本质属性,因此模型比原始事物更容易操作。对于那些因过分复杂而不能直接理解的系统,特别需要建立模型, 模型通过把系统的重要部分分解成人的头脑一次能处理的若干个子部 分,从而减少了系统的复杂程度。
6. 什么是对象模型?建立对象模型时主要使用哪些图形符号?这些符号的含义是什么?
答:
(1)对象模型表示静态的、结构化的系统的数据性质。它是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。
(2)通常使用UML提供的类图来建立对象模型。
(3)在UML中“类”的实际含义是一个类以及属于该类的对象。
7. 什么是动态模型?建立动态模型时主要使用哪些图形符号?这些符号的含义是什么?
答:
(1)动态模型表示瞬时的、行为化的系统的控制性质,它规定了对象模型中对象的合法变化序列。
(2)在UML中,使用状态图和事件追踪图来建立动态模型。
(3)其符号的含义为:
① 状态图表示需要考察的对象的动态行为。
② 事件追踪图表示其运行规律和行为规则。
8. 什么是功能模型?建立功能模型时主要使用哪些图形符号?
答:
(1)功能模型表示软件系统的功能性质,它指明了系统应该“做什么”,因此更直接地反映了用户对目标系统的需求。
(2)在UML中主要使用用例图来建立功能模型,一幅用例图包括的模型元素有系统、行为者、用例以及用例之间的关系。
9. 试用面向对象观点分析、研究第2章中给出的订货系统的例子。在这个例子中有哪些类?试建立订货系统的对象模型。
答:订货系统中的类如图所示(类之间的关系省略):
10. 建立订货系统的用例模型。
答:
仓库管理员通过放在仓库中的终端把零件入库或出库事务报告给订货系统,系统接收到事务信息之后应该处理事务;采购员需要使用订货系统提供的产生报表功能,以获取订货报表。用例图如图所示。