面向对象分析与设计

合集下载

面向对象分析与设计试题及其答案

面向对象分析与设计试题及其答案

面向对象分析与设计试题 B 卷一、单项选择题 (在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号 填在题干的括号内。

每小题 2分,共20分)1. 到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是()的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。

A. Simula67 语言 B. Smalltalk 语言C. Java 语言D.统一建模语言(UML )的标准2. 面向对象的运动产生了多种面向对象的语言,其中()是一种混合性面向对象语言,既支持面向过程的程序设计方法,又支持面向对象的程序设计方法, 有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。

A. Smalltalk B. EiffelC. C++D. Java3 •下列不属于面向对象技术的基本特征的是()。

A.封装性B.模块性C.多态性D.继承性4.面向对象程序设计将描述事物的数据与()封装在一起,作为一个相互依存、不可分割 的整体来处理。

A.信息B.数据隐藏C.对数据的操作D.数据抽象5.关于面向对象方法的优点,下列不正确的叙述是()。

A.与人类习惯的思维方法比较一致 B.可重用性好 C.以数据操作为中心D.可维护性好6. ()是从用户使用系统的角度描述系统功能的图形表达方法。

8. ()描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之 间传递消息的时间顺序。

A .对象图B.协作图C.状态图D.序列图9. ()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。

A.组件图B.协作图C.状态图D.配置图10. 使用UML 进行关系数据库的( )时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表( Table )、视图(View )等。

A.业务Use Case 模型设计 B.逻辑数据模型设计 C.物理数据模型设计C.物理实现设计、填空题(每空1分,共20分)A.类图B.对象图7.()是表达系统类及其相互联系的图示 和其他图的基础。

面向对象分析与设计课件第7章 状态图与活动图建模

面向对象分析与设计课件第7章 状态图与活动图建模

7.1 状态图的构成元素
统一建模语言中,状态图主要由状态和迁移两大类模型元素组成。对于图中 的每个状态,还定义了状态图主体对象在该状态下需要完成的各个动作及其触发 原因或机制。对于每个迁移,状态图还定义了迁移的触发事件、迁移条件以及迁 移时所要完成的动作。
状态图还对状态进行了多种分类,同时也为这些分类提供了必要的支持。如 把状态按照时间顺序分为初态、终态和中间态。按照状态的层次结构划分为简单 状态、复合状态和子状态。对于子状态,还可以根据它们是否参与了并发活动而 划分为串行子状态和并发子状态。另外,为简单地表达某种复杂语义,状态图中 还定义了历史子状态等这样的特殊模型元素。为了表示不同状态与其行为之间的 关系,UML还为每个状态和迁移定义了若干种相关的动作。
状态名可以是任何一个满足UML命名规则的字符串,其内容 可以由用户指定。
每个动作中,则包含了触发动作的事件、事件参数、守卫 条件以及伴发的动作序列。
7.1.1 状态
所有这些动作可分成入口动作(on Entry)、出口动作(On Exit)、 事件动作(On Event)和动作(Do)等四种类型。
其中,入口动作(on Entry)和出口动作(On Exit)分别指对象在 进入和离开当前状态时需要完成的动作。
7.1.2 转换与事件
例如,在Java语言中,事件处理机制的主要内容如下: 1)事件:一种用于封装事件属性(事件相关信息)的对象,其内容还应 包括为事件响应者提供的服务。 2)事件源:即产生事件的对象。当事件发生时,它负责创建事件信号并 调用事件激活程序,向事件订阅者们发出事件信号(事件对象)。 3)事件响应者:需要对事件做出相应的对象。一个事件可以有多个事件 响应者。
对于任何对象来说,对象的状态取决于它的各种行为不断积累所 产生的结果。在任何给定的时间点,对象的当前状态就包括它所具有 的所有特性、所处的具体情形、满足的条件以及其属性的当前值。

面向对象分析与设计-模拟题

面向对象分析与设计-模拟题

面向对象分析与设计模拟题一、单选题1.下面描述中()不是使用软件模型的目的.A.可以更好地理解问题B.可以更早地发现错误或疏漏的地方C.可以为最后代码的生成提供依据D.在开发过程中使用面向对象方法[答案]:D2.关于参与者的说法中错误的是().A.参与者是与目标系统交互的人或物B.参与者可以是实际的人,也可以是外部设备,外部系统等C.参与者是用例图的重要组成部分,因此它是目标系统的组成部分D.参与者之间可以存在一定的关系[答案]:C3.状态图中不能表示的概念有().A.动作B.类C.转移D.事件[答案]:B4.计算机(Computer)由中央处理器,内存,软盘,硬盘,显示器,键盘,鼠标等组成.那么Computer类和其它类(CPU,RAM,FloppyDrive,HardDisk,Monitor,Keyboard,Mouse)之间的关系是().A.泛化关系(Generalization)B.实现关系(Realization)C.包含关系(Inclusion)D.聚集关系(Aggregation)[答案]:D5.()是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图,协作图和其他图的基础.A.对象图B.组件图C.类图D.配置图[答案]:C6.继承反映了类间的一种层次关系,而()反映了一种整体与部分的关系.A.继承B.组合C.封装D.多态[答案]:B7.不属于UML结构物件的是().A.交互B.类C.用例D.组件[答案]:A8.内聚表示一个模块()的程度.A.可以被更加细化B.能够适时地完成其功能C.仅关注在一件事情上D.联接其他模块和外部世界[答案]:C9.需求规格说明描述().A.基于计算机系统的功能,性能和约束B.每个子系统的实现C.软件体系结构元素D.系统使用说明[答案]:A10.以下对UML的描述中,正确的是().A.UML是一种软件过程方法B.UML是一种面向对象分析和设计方法C.UML是一种面向对象设计原则D.UML是一种标准化建模语言[答案]:D11.在顺序图中,第一个消息往往由()发出.A.边界对象B.参与者C.实体对象D.生命周期对象[答案]:B12.描述系统架构的建模元素不包括().A.类B.包C.子系统D.包间的依赖关系[答案]:A13.对下图的描述中,错误的是().A.image.java实现了ImageObserver接口B.image.java请求了ImageObserver接口ponent.java实现了ImageObserver接口D.image.java只能通过ImageObserver接口访问component.java [答案]:A14.()对系统的业务数据和业务逻辑进行封装.A.控制对象B.边界对象C.实体对象D.生命周期对象[答案]:C15.不属于敏捷过程特征的是().A.迭代性B.自适应C.过程化开发D.轻量级[答案]:C16.下列事物中一般不是目标系统的外部参与者的是().A.人B.外部设备C.外部系统D.数据存储[答案]:D17.根据下面的代码,可以确定类A与类B之间存在()关系. public class A {private B theB;public void aMethod(){ theB.doSomthing(); }}A.关联B.泛化C.实现D.包含[答案]:A18.面向对象的特点主要概括为().A.可分解性,可组合性,可分类性B.继承性,封装性,多态性C.抽象性,继承性,封装性,多态性D.封装性,易维护性,可扩展性,可重用性[答案]:C19.下面那个图符表示UML中的实现关系?().A.B.C.D.[答案]:C20.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构.A.组件图B.协作图C.状态图D.配置图[答案]:D21.关于用例与类的对比中()是错误的.A.都属于模型结构元素B.都存在继承关系C.类描述系统的部分静态视图,用例描述系统动态的行为视图D.类描述的是系统的内部构成,用例也可以描述系统的内部构成[答案]:D22.描述对象之间静态联系的是().A.一般-特殊结构B.整体-部分结构C.实例链接D.消息连接[答案]:C23.()可以帮助人们简单方便地复用已经成功的设计或体系结构.A.商业组件B.逆向工程C.设计模式D.需求规格说明[答案]:C24.一个设计得好的面向对象系统具有()特征.A.低内聚,低耦合B.高内聚,低耦合C.高内聚,高耦合D.低内聚,高耦合[答案]:B25.耦合表示一个模块()的程度.A.可以被更加细化B.能够适时地完成其功能C.仅关注在一件事情上D.联接其他模块和外部世界[答案]: D26.在一个课程注册系统中,定义了类CourseSchedule和类Course,其中类CourseSchedule中定义了方法add(c:Course)和方法remove(c:Course),则这两个类之间的关系是().A.泛化关系B.组合关系C.依赖关系D.包含关系[答案]: C27.面向对象程序设计将描述事物的数据与()封装在一起,作为一个相互依存,不可分割的整体来处理.A.信息B.数据隐藏C.对数据的操作D.数据抽象[答案]:C28.()是从用户使用系统的角度描述系统功能的图形表达方法.A.类图B.对象图C.序列图D.用例图[答案]:D29.采用面向对象技术开发的应用系统的特点是().A.重用性更强B.运行速度更快C.占用存储量小D.维护更复杂[答案]:A30.多态性出现在具有()结构的类之间.A.整体-部分B.一般-特殊C.实例链接D.消息连接[答案]:B。

实验报告面向对象分析设计

实验报告面向对象分析设计

实验报告面向对象分析设计1. 引言面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是一种软件开发方法论,它以对象为中心,将软件系统看作是一组互相协作的对象集合。

本实验旨在通过一个具体的案例,通过分析和设计实践,掌握面向对象分析与设计的基本原则和方法。

2. 实验目的通过本实验,我们将学习和掌握以下内容:- 了解面向对象分析与设计的概念和基本原则- 学习使用UML(Unified Modeling Language)进行面向对象分析和设计- 掌握面向对象分析与设计的基本流程和方法- 熟悉常用的面向对象分析与设计工具和技术3. 实验内容及步骤3.1 实验环境本实验使用以下工具和环境:- UML工具:如Visual Paradigm、StarUML等- 编辑器:如Visual Studio Code、Eclipse等- 编程语言:Java、C++等3.2 实验步骤本实验主要分为以下几个步骤:1. 了解案例需求:首先,我们需要明确一个具体的案例,如图书馆管理系统、学生选课系统等。

本实验以图书馆管理系统为例。

2. 创建用例图:使用UML工具,根据需求,创建图书馆管理系统的用例图。

用例图描述系统的功能需求,包括用户角色、用户的需求和系统的功能。

3. 创建类图:基于用例图和需求分析,使用UML工具创建类图。

类图描述系统的静态结构,包括类和类之间的关系。

4. 创建时序图:基于用例图和类图,使用UML工具创建时序图。

时序图描述系统的动态行为,展示对象之间的交互关系和顺序。

5. 完善设计:基于用例图、类图和时序图,进一步完善系统设计。

包括类的属性和方法的设计、系统的架构设计等。

4. 实验结果与分析通过本实验,我们完成了图书馆管理系统的面向对象分析与设计。

通过用例图、类图和时序图的创建,我们清晰地描述了系统的功能需求、静态结构和动态行为。

通过系统设计的完善,我们定义了系统的架构和各个类的属性和方法。

面向对象分析与设计复习题(昆明理工大学)

面向对象分析与设计复习题(昆明理工大学)

面向对象分析与设计习题一、单项选择题1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。

A. Simula67语言B. Smalltalk语言C. Java语言D.统模语言(UML)的标准2.面向对象的运动产生了多种面向对象的语言, 其中(C)是一种混合性面向对象语言,既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普与。

A. SmalltalkB. EiffelC.C++D. Java3.下列不属于面向对象技术的基本特征的是(B)。

A. 封装性B.模块性C. 多态性D. 继承性4. 面向对象程序设计将描述事物的数据与(C) 封装在一起,作为一个相互依存、不可分割的整体来处理。

A. 信息B. 数据隐藏C.对数据的操作D. 数据抽象5. 关于面向对象方法的优点,下列不正确的叙述是(C)。

A. 与人类习惯的思维方法比较一致B. 可重用性好C.以数据操作为中心D.可维护性好6. (D)是从用户使用系统的角度描述系统功能的图形表达方法。

A. 类图B. 对象图C. 序列图D.用例图7. (C) 是表达系统类与其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。

A.对象图B.组件图C.类图D.配置图8.(D)描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。

A.对象图 B. 协作图 C. 状态图 D.序列图9.(D)就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。

A.组件图B. 协作图C. 状态图D.配置图10. 使用UML进行关系数据库的(B)时,需要设计出表达持久数据的实体类与其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。

面向对象系统分析与设计案例题目

面向对象系统分析与设计案例题目

面向对象分析与设计案例美味佳贸易公司是一家专门经销各种调味料的商贸型企业,该企业目前拥有员工近40人,公司经销的品种调味料包括味精、淀粉、五香粉、食用油、酱油、醋等各种调味料;公司目前经营状况良好,拥有固定的客户群(包括一类客户8家,二类客户10家,散客三十余家),分布于珠三角各城市。

目前企业的采购、仓存、销售环节管理不够完善,多为手工台账或简单的电子表格,企业管理层希望开发一套涵盖上述业务环节的管理信息系统,通过信息技术手段,改进管理绩效。

为尽可能降低成本,企业直接从各个调味料生产企业或大型批发商进货,其供应商达三十余家(目前核心供应商12家,其余为一般供应商);根据需要,采购员可以新增供应商(记录供应商名称、地址、联系人、法人、工商注册号、开户行、银行账户等),并要求供应商提供相应的证件、资质证明复印件等,供采购经理审核;通过审核后方可供货。

对于后续合作中不合格的供应商,采购经理可以予以淘汰。

目前,企业经营的商品近百种,采购员可以根据相关人员的指示,增加或减少相关商品(商品名称、简称、规格、保质期、默认仓库、采购计量单位、仓存计量单位、销售计量单位、生产厂家)。

当某商品缺货时(或者根据企业经营计划需要进货时),采购员向某供应商下达采购订单,采购订单详细记录了采购商品的信息,包括采购商品名称、规格、数量、计量单位、不含税采购单价、含税单价(税率17%)、采购金额;一张采购订单可以包含1-10种商品。

除以上信息外,为了便于管理,采购部希望采购订单记录编号、供应商、采购日期、要求到货日期、采购员。

对于某些商品,根据需要可以设置其最低库存量;当其库存量降低到最低库存量以下时,系统可以提示其库存量不足、并询问用户是否生成采购订单。

为保障企业利益,企业对每种商品实行价格管控,即记录每个供应商所供应的每种商品的最高采购价;普通采购员的采购价不能超过最高限价,且采购员下采购订单后,采购经理审核后方可生效(订单一旦审核,则不允许再修改;审核后若要修改,则需要反审核)。

面向对象的分析与设计课件-基础篇

面向对象的分析与设计课件-基础篇
24.11.2020
对象
对象标识 属性 操作
北京大学信息学院研究生课程 面向对象的分析与设计
对象是系统中用来 描述客观事物的一 个实体,它是构成 系统的一个基本单 位。对象由一组属 性和施加于这些属 性一组操作构成。
属性是用来描述对象静态特 征的一个数据项。 操作是用来描述对象动态特 征的一个动作序列。 对象标识就是对象的名字, 有“外部标识”和“内部标 识”之分。
1.2 从认识论看面向对象方法的形成
北京大学信息学院研究生课程 面向对象的分析与设计
软件开发:对事物的认识和描述 问题——语言的鸿沟
自然语言 编程语言
客观世界 (问题域)
语 言 的 鸿 沟
计算机
对问题域的认识(人)
语言的过渡(人)
编程(人) 程序的理解 和执行(机器)
24.11.2020 77
语言的发展——鸿沟变窄
北京大学信息学院研究生课程 面向对象的分析与设计
问题域
分析与设计 概念及表示 法的不一致
自然语言
需求 分析
分析与设计的鸿沟
编程语言
总体 设计 详细 设计
编程
测试
24.11.2020
计算机
99
软件工程学的作用—— 面向对象的软件工程方法
自然语言 面向对象 编程语言
24.11.2020
北京大学信息学院研究生课程 面向对象的分析与设计
事稍物稍由的适二结合进构人制和类的逻的“辑0” 涵形义象和,思“与维1人”构,类成但的的仍自。 然然语相离言差机更很器接远最近。近,因,但能 仍为有抽够不象直少层接差次地距太执。低行,
,仍然需而考没虑有大丝量毫形 的机象器的细意节义。,离人
类的思维最远。

面向对象分析与设计课件第6章 顺序图与通信图建模

面向对象分析与设计课件第6章 顺序图与通信图建模

Ad d (Ch ro m o so m e )
loop [nt So rtByAcco m m o d a ti o n () Cro ssOve r(Ch ro m o so m e )
m u ta ti o n ()
CanbeEnded(int): Boolean
图6-1 顺序图中常见的对象
6.1.2 生命线(lifeline)
生命线是从对象图标向下出来的延伸的一条直线,也是和对象紧密联系在 一起的一种模型元素,用于表示对象的生存期或生存期内的某个时间片段。
事实上,在顺序图中,对象和生命线是不可分割的同一个元素,生命线是 对象的一个组成部分,代表了对象的整个或部分生命期。顺序图中即不存在 没有生命线的对象,也不存在没有对象的生命线。当然这并不排除生命线分 支的概念。
除了图形符号,UML还使用消息表达式的方式来描述消息。 按照对象间交互的形式,可以把消息分成方法调用、发送信号、创建实例 和销毁对象等多种形式。其中,最常用的形式就是对象间的方法调用。
6.1.4 消息(Message)
描述方法调用或发送信号的消息的语法格式定义如下: [returnvalue=] message_name (arguments) : type_of_return_value return_value:是消息的可选部分,表示存储消息返回值的变量。这个变 量可以是发送者的一个属性、整个交互的全局属性、或者是某个拥有交互的 类的属性。 message_name:表示消息名称,可以是接收者的某个方法名或发送的信号 名等。 arguments:表示消息参数列表,是一个用逗号分隔的若干个参数构成的 列表,其中每个参数都可以是参数名或参数值。 type_of_return_value:返回值类型。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象:
面向对象(Object Oriented)是软件开发方法。面向对象的概念
和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式
界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技
术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,
是计算机编程技术发展到一定阶段后的产物。
面向对象分析与设计:
OOAD是现代软件企业广为采用的一项有效技术。OOAD方法
要求在设计中要映射现实世界中指定问题域中的对象和实体,例如:
顾客、汽车和销售人员等。这就需要设计要尽可能地接近现实世界,
即以最自然的方式表述实体。所以面向对象技术的优点即为能够构建
与现实世界相对应的问题模型,并保持他们的结构、关系和行为为模
式。
大师说:"没有不变的需求,世上的软件都改动过3次以上,唯
一一个只改动过两次的软件的拥有者已经死了,死在去修改需求的路
上。"
目前众多的软件项目有什么样的问题呢?早些时候上ERP的企
业在企业发展的时候发现原有的ERP系统需要改进,可是要改进或
者是更改现有的ERP系统,唯一的方法就是重新开发一个ERP系统。
这对于企业来说是笔不小的支出。此时,落后的信息系统就成为制约
企业发展的重要因素。是什么原因造成了这种情况呢?主要的因素是
传统的系统分析是在假定需求不变的情况下进行的,这样可以把企业
的资源配置到最优的程度。可是在现代瞬息万变的社会,一个企业固
守旧有模式,势必会在竞争中处于劣势(因此现在也出现了"组件化"
的ERP,这是题外话)。既然企业的需求是变化的、不稳定的,那么
以变化的需求为基础建立起来的企业信息系统当然也就不稳定了。这
时候,有个问题就产生了,前面我们已经说过,需求是项目的根本,
既然需求都是不稳定的,那么何以建立起稳定的企业信息系统呢?
要回答这个问题,首先要比较面向过程和面向对象的开发方法的
差别,传统的面向过程的开发方法在前20年大行其道,为中国企业
的信息化建设立下了汗马功劳。之所以称为面向过程,是因为开发的
焦点集中于过程,开发者集中于以函数为核心的过程,例如前些年很
多人试图编写一些通用转账函数来满足银行的需求。面向过程的开发
语言包括:Cobol、Pascal、C及C的变形语言。面向对象的概念是
在近10年才进入中国的,而它的思想至今也没有真正意义上得到普
及。简单的说,面向对象就是面向世界,世界上的任何事物都是对象,
因此面向对象是很自然的思想,是符合我们的思维习惯的。面向对象
的语言包括了Smalltalk、C++、Java,还有Object Pascal,以及
刚刚诞生的C#。
需求是不稳定的,那么需求之中是不是没有稳定的东西呢?有
的,就是对象。世界都是由对象组成的,而对象都是持久的,例如动
物、植物已经有相当长的时间。虽然对象也在变化,动物,植物也在
不断的进化。但对象在一个相当长的时期内都存在,动植物的存在时
间肯定比任何一家企业长久。面向对象的开发方法的精髓就是从企业
的不稳定需求中分析出企业的稳定对象,以企业对象为基础来组织需
求、构架系统。这样得出的系统就会比传统的系统要稳定得多,因为
企业的模式一旦变化,只需要将稳定的企业对象重新组织就行了。这
种开发的方法就被称为OOAD(Object Orient Analysis & Design
面向对象的分析和设计),而分析出的企业对象就被称为Common
Business Objec。

相关文档
最新文档