课件第五章面向对象的分析与设计_第1页
课件第五章面向对象的分析与设计_第2页
课件第五章面向对象的分析与设计_第3页
课件第五章面向对象的分析与设计_第4页
课件第五章面向对象的分析与设计_第5页
已阅读5页,还剩131页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章面向对象的分析与设计主讲人:常香云第五章面向对象的分析与设计5.1简介与基本概念5.2面向对象的开发过程5.3面向对象的分析5.4面向对象的设计结构化vs面向对象开发方法结构化方法:面向过程分析问题思路:自顶向下、功能分解并逐步求精。程序设计思路:自底向上的设计思想。首先设计底层模块,确定模块内部算法,设计模块内部程序,并进行单元测试。通常做法是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象法:面向对象分析问题思路:自底向上抽象,把系统看作是完成某项任务的相互作用的对象的集合。程序设计思路:自顶向下的设计思想,先设计父类,再设计子类,并继承父类属性和方法。通常做法是把构成问题事务分解成各个对象。建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。简介与基本概念结构化vs面向对象开发方法例如下五子棋,结构化方法:

分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。面向对象法:将整个五子棋可以分为

1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。简介与基本概念简介与基本概念1967年,挪威奥斯陆大学研制UML建模语言Java编程实例简介与基本概念面向对象开发方法的基本概念(书4.1节)对象:客观世界是由各种各样的对象组成,即万物皆对象。对象是构成系统的一个基本单位,一个对象由一组属性(静态属性)和对这组属性进行操作的一组服务(动态属性)组成。把系统看作是一起工作来完成某项任务的相互作用的对象的集合。对象是事物的一种类型,可以是一个顾客或一个雇员,也可以是一个按钮或菜单。类:具有相同内部状态和运动规律的对象可划分为一个类。对象是类的一个实例。类可以派生出很多子类。类可以看作是生产具有相同属性和行为方式对象的模板。分类依据的重要原则是抽象。简介与基本概念简介与基本概念类和对象简介与基本概念面向对象开发方法的基本概念(书4.1节)消息:对象之间的相互服务是通过消息来连接实现。对象接收消息,根据消息及消息参数调用自己的服务并响应,从而实现系统功能。消息是对象之间相互作用和相互协作的一种机制。等同于现实中常说的“请求”、“命令”。方法:是实现对象所具有的功能操作代码段,用于响应“消息”。方法是实现每条消息具体功能的手段。简介与基本概念简介与基本概念继承:一个新类可以从现存的类中派生,这个过程称为类继承。分为单继承和多继承。继承体现了共享机制。继承的优点:程序代码的复用率高,减少程序开发工作量;程序的维护性好。简介与基本概念继承简介与基本概念封装的优点:保证模块具有较好的独立性;程序的维护性好。简介与基本概念Java有两种方法来实现多态:方法的覆盖方法重载简介与基本概念多态性简介与基本概念面向对象开发方法有显著优点,体现在:代码可重用性好可维护性和可扩充性好稳定性好简介与基本概念小练习1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(

D

)的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。A.

Simula67语言 B.

Smalltalk语言C.

Java语言 D.

统一建模语言(UML)的标准

2.下列不属于面向对象技术的基本特征的是(

B

)。A.

封装性 B.

模块性 C.

多态性 D.

继承性3.

面向对象程序设计将描述事物的数据与(

C)

封装在一起,作为一个相互依存、不可分割的整体来处理。A.

信息 B.

数据隐藏 C.

对数据的操作 D.

数据抽象4.

关于面向对象方法的优点,下列不正确的叙述是(C)。

A.

与人类习惯的思维方法比较一致 B.

可重用性好C.

以数据操作为中心 D.可维护性好第六章面向对象的分析与设计5.1简介与基本概念5.2面向对象的开发过程5.3面向对象的分析5.4面向对象的设计面向对象的开发过程面向对象的开发过程面向对象的开发过程面向对象的开发过程UML语言:UnifiedModelingLanguageUML是一种可视化的图形符号建模语言,利用它可以进行需求分析、概要设计、详细设计、编程实现、项目计划、测试、原型迭代、产品发布、产品维护等。目前在软件工程里主要用于系统分析与系统设计。第六章面向对象的分析与设计5.1简介与基本概念5.2面向对象的开发过程5.3面向对象的分析5.4面向对象的设计面向对象的分析面向对象的系统开发过程:系统分析(1)用户需求描述:通常是以文本的形式,甚至是口头讨论的形式表达的用户需求,说明系统的真正需求是什么,但通常是不完整、不连贯、不清晰的;(2)需求分析:基于需求描述,建立系统需求模型;(3)需求模型:从用户的观点出发,全面、准确地描述系统的功能以及用户使用系统的方式与方法。面向对象的系统开发过程:系统分析(4)结构分析:在需求模型的基础上,抽取其中的类(对象)及其相互关系,构造系统的逻辑结构(静态模型及动态模型),以形成系统的分析模型;(5)分析模型:利用对象及其相互关系,描述系统的逻辑结构,该结构独立于具体的实现环境。需求模型重要建模工具—用例图用例图(UseCaseDiagram),从用户角度描述系统功能,即用来描述什么角色通过某系统能做什么事情的图,用例图关注的是系统的外在表现,系统与人的交互,系统与其它系统的交互。用例图三种构成元素:用户类/参与者(Actor)用例(UseCase)关系面向对象的分析面向对象的分析面向对象的分析面向对象的分析用户类/参与者概念Actor是与系统交互的人或事物参与者代表的是使用者在与系统交互时所扮演的角色UML中,参与者一般用名字写在下面的人形图表示参与者类型:系统用户:最常见的参与者。其他系统:如网上购物用网银支付,需网银系统验证用户合法性。一些进程:如网上购物,一定时间没确认或支付后,系统会将订单处理为无效订单。

面向对象的分析面向对象的分析用户类/参与者识别一般做法是根据系统的需求描述或与用户的交谈,着重思考如下问题:

(1)什么要开发系统?

(2)有哪些直接使用系统的人?

(3)涉及到哪些维护人员?

(4)与本系统交互的其他系统?

(5)还有哪些人和事物对这个系统产生的结果感兴趣

?

注意:用户类/参与者不同于外部实体(教材P120)面向对象的分析试思考,下列描述中哪些是用户类/参与者?

在“图书管理系统”中,“借阅者”和“系统管理员”是不是用户类/参与者?张明是图书管理员,在图书管理系统中,他扮演两个角色,是两个不同参与者,即管理员和借阅者?如果命名为“张明”可否?客户给销售员李想发来传真订货,销售员李想下班前将当日订货单汇总输入系统,谁是系统用户类/参与者?销售员南方中心物资管理系统的用户类/参与者有哪些?再思考/强调:Actor表示人和事物与系统发生交互时所扮演的角色,而不是特定的人或者特定的事物。一个人或事物在与系统发生交互时,可以同时或不同时扮演多个角色。

用例概念用例是外部可见的系统功能单元;确定用例就是确定用户使用系统的某种方式或过程;

一个系统可以包含多个用例,每一个用例由用户触发的一个完整的事件流或有关的事务处理的特定序列组成,它描述了用户与系统的交互过程。UML中,用一个椭圆来表示,名字写在椭圆下方。面向对象的分析用例:概念

用例与参与者是密切相关的,一个参与者可能操作一个或多个用例,用例定义了参与者使用系统的全过程。

将所有的参与者所使用的所有用例完整地描述出来,实际上就全面地描述了系统的功能。

因此,用例是从用户使用的角度描述系统功能的一种方法。用例:识别方法

考查系统中的每一个参与者,阅读系统的需求描述或与用户交谈,确定该用户如何使用或操作系统,完成哪些任务或功能。在识别用例的过程中,思考并试图回答下列问题有利于问题的解决:(1)每个参与者的主要任务是什么?(2)每个参与者如何完成其主要任务?需要与系统交互哪些信息?试思考,南方中心物资管理系统中,有哪些用例?用例:识别方法

例如,在X—MIS中,主要的用户类有订单管理员、库管员、运输管理员及客户。其中,订单管理员的主要任务有:(1)接收客户保存货物订单;(2)接收客户提取货物订单;(3)处理客户订单;(4)查询客户订单执行情况;(5)查询客户存货情况(6)客户信息管理库管员的主要任务有:(1)执行货物出入库任务;(2)仓库帐目的管理与维护;(3)仓库及货位信息的管理与维护;(4)盘点货物;(5)库存任务统计用例:识别方法运输管理员的主要任务有:(1)执行货物运输任务;(2)管理与维护车辆信息;(3)管理与维护司机信息;(4)运输任务统计;客户的主要任务有:(1)查询货物存放情况(2)查询订单执行情况用例:识别方法接收客户存货订单查询客户存货情况接收客户取货订单查询客户订单执行情况处理客户订单订单管理员客户信息管理

客户库管员执行库存任务盘点货物货物库存帐目管理仓库及货位信息管理库存任务统计运输管理员执行运输任务车辆信息管理与维护司机信息管理与维护运输任务统计用例:识别方法用例:描述方法图形化用例本身不能提供该用例所具有的全部信息,用例描述用于描述无法反映在用例图上的信息。对于用例描述的内容,一般没有硬性规定的格式。一般应采用文字、图形或图形附加文字说明的形式进行全面、准确地、详细地描述。用例描述的基本原则是结构化程度越高越好,便于进行后续的系统分析与设计。用例描述一般包括:简要描述(说明)、前置(前提)条件、基本事件流、其他事件流、异常事件流、后置(事后)条件等等

用例:描述例子1试思考,提款机系统中的“提款”用例,基本流和备选流有哪些?简要描述/说明:对用例的角色、目的的简要描述;前置条件:执行用例之前系统必须要处于的状态,或者要满足的条件;基本事件流:描述该用例的基本流程,指每个流程都“正常”运作时所发生的事情,没有任何备选流和异常流,而只有最有可能发生的事件流;其他事件流:表示这个行为或流程是可选的或备选的,并不是总要总要执行它们;异常事件流:表示发生了某些非正常的事情所要执行的流程;后置条件:用例一旦执行后系统所处的状态。用例:描述方法对于关键内容事件流,描述一般由两部分组成,一部分是其基本过程,反映用例主要功能,一部分是其可选过程,用来陈述基本过程的可变部分和可能的出错处理。一个用例只能有一个基本过程,但可以有多个可选过程在识别和描述用例时,应尽可能多识别其可选过程,特别是错误处理过程,因为用例的可选过程越多,系统的适当性越强,稳定性越好用例:描述方法用例:描述例子2——接收客户存货订单(1)当订单管理员接收客户存货订单时,系统弹出如图所示的界面;(2)根据客户提供的信息,订单管理员填写有关的信息,包括客户名称、通信地址、存放日期、货物所在地、货物名称、特性、数量等。订单号和管理员可由系统自动填写,但可以修改;(3)在订单管理员填写有关存货订单的信息时,各项内容均可修改,当按下“确认”后,完成订单录入,按下“取消”后,取消订单录入。按下“帮助”后,系统显示当前窗口的帮助信息;用例:描述例子2——接收客户存货订单(4)系统根据录入的订单进行仓储能力检查,如果仓库中没有足够的仓储能力,系统通知订单管理员不能接收客户存货订单;(5)系统根据录入的订单进行运输能力检查,如果在客户指定的时间,没有足够的运输能力将货物从存放地运到某一仓库,系统通知订单管理员不能接收客户存货订单;用例:描述例子2——接收客户存货订单(1)如果客户取消存货请求,则删除客户存货订单;(2)如果客户减少存货数量,则更新客户存货数量,然后确认客户存货订单;(3)如果客户增加存货数量,则生成新的客户存货订单;(4)如果改变存货日期,则重新检查运输能力,然后确认或取消客户存货订单。可选过程:用例:描述例子2——接收客户存货订单用例:描述例子3Use-CaseName–BorrowBooksID-23ImportanceLevel-HighPrimaryActor-BorrowerUse-CaseType-Detail,EssentialStakeholdersandInterestBorrower–WantstocheckoutbookLibrarian–WantstoensureborroweronlygetsbooksdeservedBriefDescriptionTheuse-casedescribeshowbooksarecheckedoutofthelibraryTrigger-Borrowersentersthesystem/approachesthecheckoutdesktocheckoutbookType-ExternalRelationshipsAssociation–Borrower,PersonnelOffice,Registrar’sOfficeIncludeExtendGeneralization用例:描述例子3原则:一个用例应该描述一个从头到尾的完整功能,一个用例至少要跟一个参与者关联。思考:教学系统中,学生必须选择课程,然后注册到课程中,还必须为课程付费,这应该用三个用例还是一个用例来描述?注册人员可以添加课程、取消课程,还可以修改课程,这应该用三个用例还是一个用例来描述?用例:设计用例:用例之间的关系包含关系(include)扩展关系(extend)泛化关系(generalization)见教材P118-119用例之间的关系:包含关系

在用例描述中,有时会出现多个用例描述中具有相同部分的情形,这样,不仅会增加描述的工作量,更重要的是给后期的分析与设计带来重复性的工作。为此,可以将多个用例中的相同部分抽取出来,形成一个独立的用例,那么,该用例与原来的几个用例之间便构成包含关系。

用例之间的关系:包含关系用例之间的关系:扩展关系

扩展关系是指在一个用例中插入另一个完整的用例,用来扩充原来用例的功能,而又不影响原用例的基本功能和结构。扩展关系用来说明可选的、只在特定条件下运行的行为。利用扩展关系将用例功能扩展后,原来的用例在其事务处理的某一个时刻,调用被插入的用例,当该用例的功能完成后,返回调用点,继续原来的处理流程,类似于结构化方法中的功能调用和逻辑分支。

用例之间的关系:扩展关系用例之间的关系:扩展关系引入扩展关系后,可以使系统具有一个易于修改与扩充的系统结构,增强了系统对需求变化的适应能力。一般情况下,遇到下述情况时,可利用扩展关系组织系统中的用例:(1)描述用例的可选部分;(2)描述用例中某些不经常出现的过程,例如错误处

理过程;(3)扩充用例的功能用例之间的关系:扩展关系利用引用关系组织用例,不仅可以简化用例的结构,更重要的是增加系统中某些部件的重用性,减少系统分析与设计的工作量如果用例A与B存在扩展关系,A相对独立和完整,B只是A的扩充部分。(对)如果用例A与B存在引用关系,B是A的必要组成部分,脱离了B,A便不独立和完整。(对)

用例之间的关系:泛化关系小练习在一个“库存管理系统”中,入库管理和出库管理都需要检查用户帐号是否正确。那么,用例“入库管理”、“出库管理”与“检查用户帐号”之间是()关系。A扩展 B包含 C使用 D类属2.在用例之间,会有三种不同的关系,下列哪个不是他们之间可能的关系()A.包含(include) B.扩展(extend)

C.泛化(generalization) D.关联(connect)小练习小练习面向对象的分析建立系统分析模型面向对象的系统分析:建立系统分析模型

分析模型以系统中的类/对象为基本单元,采用类/对象及其相互关系的方法,描述系统的逻辑结构,该逻辑结构独立于具体的实现环境,以便使系统结构具有相对的稳定性,易于适应需求的变化和功能扩充。建立系统分析模型:主要过程(1)识别与定义类(2)识别与定义类之间的关系(3)系统静态结构分析-类图(4)系统动态行为分析-顺序图、协作图、状态图、活动图接收客户存货订单查询客户存货情况接收客户取货订单查询客户订单执行情况处理客户订单订单管理员客户信息管理

客户库管员执行库存任务盘点货物货物库存帐目管理仓库及货位信息管理库存任务统计运输管理员执行运输任务车辆信息管理与维护司机信息管理与维护运输任务统计建立系统分析模型:主要过程(1)识别与定义类/对象建立系统分析模型:主要过程(1)识别与定义类/对象类的表示:教材P121,UML中使用包含类名、属性和操作且带有分隔线的长方形来表示。publicclassEmployee{ privateStringname; privateintage; privateStringemail;

publicvoidmodifyInfo(){ ...... }}识别类属性:实例分析——customercustomerIDcustomernamecustomeraddr——odirectorodirectorIDodirectornameodirectorstate——whandlerwhandlerIDwhandlernamewhandlerstate——driverdriverIDdrivernamedriverstate——warehousewarehouseIDcustomeraddr——goodsrackgoodsrackIDwarehouseIDgoodsrackvolgoodsrackstate识别类操作:实例分析——customercreate()delete()get()update()list()——odirectorcreate()delete()select()update()——whandlercreate()delete()select()update()——drivercreate()delete()select()update()——warehousecreate()delete()select()update()——goodsrackcreate()delete()select()update()checkstockcapacity()建立系统分析模型:主要过程(1)识别与定义类/对象类的类型:教材P124-125。

(1)实体类(EntityClass):实体类对应系统需求中的每个实体,一般使用数据库表或文件来记录,实体类既包括存储和传递数据类,还包括操作数据的类。实体类来源于需求说明中的名词,如学生、商品等。

(2)控制类(ControlClass):控制类用于体现应用程序的执行逻辑,提供相应的业务操作,将控制类抽象出来可以降低界面和数据库之间的耦合度。控制类一般是由动宾结构的短语(动词+名词)转化来的名词,如增加商品对应有一个商品增加类,注册对应有一个用户注册类等。

(3)边界类(BoundaryClass):边界类用于对外部用户与系统之间的交互对象进行抽象,主要包括界面类,如对话框、窗口、菜单等。

在面向对象分析和设计的初级阶段,通常首先识别出实体类,绘制初始类图。(2)识别与定义类之间的关系建立系统分析模型:主要过程

类与类之间存在各种关系,对于不同类型的关系,UML提供了不同的表示方式。关联关系(Association)是一种结构化关系,是类与类之间最常用的一种关系;用于表示一类对象与另一类对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和学生等等;在UML类图中,用实线连接有关联关系的对象所对应的类;在使用Java、C#和C++等编程语言实现关联关系时,通常将一个类的对象作为另一个类的成员变量。(2)识别与定义类之间的关系建立系统分析模型:主要过程(2)识别与定义类之间的关系建立系统分析模型:主要过程依赖关系(Dependency)是一种使用关系,驾驶员开车,开车方式依赖车型。大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数。UML中用带箭头的虚线表示,由依赖的一方指向被依赖的一方。Driver依赖类Car。(2)识别与定义类之间的关系建立系统分析模型:主要过程泛化关系(Generalization)是继承关系,用于描述父类与子类之间的关系,父类又称作基类或超类,子类又称作派生类。在UML中,泛化关系用带空心三角形的直线来表示。在代码实现时,我们使用面向对象的继承机制来实现泛化关系,如在Java语言中使用extends关键字、在C++/C#中使用冒号“:”来实现。(2)识别与定义类之间的关系建立系统分析模型:主要过程实现关系(Realization)在很多面向对象语言中都引入了接口的概念。接口和类之间存在一种实现关系。类实现了接口,类中的操作实现了接口中所声明的操作。如:定义了一个交通工具接口Vehicle,包含一个抽象操作move(),在类Ship和类Car中都实现了该move()操作,不过具体的实现细节将会不一样。实现关系在编程实现时,不同的面向对象语言也提供了不同的语法,如在Java语言中使用implements关键字在UML中,实现关系用带空心三角形的虚线来表示。小练习建立系统分析模型:主要过程在一个课程注册系统中,定义了类CourseSchedule和类Course,并在类CourseSchedule中定义了方法add(c:Course)和方法remove(c:Course),则类CourseSchedule和类Course之间的关系是:(

)A、泛化关系B、组成关系C、依赖关系D、包含关系小练习建立系统分析模型:主要过程3.小练习建立系统分析模型:主要过程4.根据下面的陈述画出类图

1)学生包括本科生、研究生两种。

2)研究生的一部分利用课余时间担任助教。

3)教师包括讲师和教授两种。

4)一名助教可以为一位讲师或一位教授助课,一位讲师只能有一名助教,一位教授可以有5名助教。

(3)系统静态结构分析包名称建立系统分析模型:主要过程建立系统分析模型:主要过程(4)系统动态行为分析——系统动态行为分析解决的主要问题是分析类/对象如何交互以实现系统的功能(系统功能的实现过程),分析的结果是以顺序图、协作图、状态图、活动图表达的系统动态行为模型。建立系统分析模型:主要过程UML中顺序图顺序图(SequenceDiagram)是强调消息时间顺序的交互图,描述对象间传送消息的时间顺序,描述系统组成部分之间相互协作实现系统功能的过程。(教材P126)

组成:对象、对象生命线、消息和激活

89特征顺序图显示跨越多个对象的系统控制流程;强调的是时间和消息的次序;显示了一系列对象和对象之间发送和接受的消息(输入和输出)。学习要求理解顺序图含义和成分;能看懂顺序图;能绘制顺序图。UML中顺序图90

UML中,顺序图、用例图和类图之间的关系如下:UML中顺序图顺序图例1:使用遥控车钥匙锁车时,车主按下“锁车”按钮,汽车会自动上锁,车灯闪动一下,汽车发出一声蜂鸣,车门上锁。分析:(1)涉及三个类CarOwner、CarKey和Car

(2)记录下CarOwner按下的按钮,要求CarKey实现操作。

(3)CarKey发送消息给Car实现操作。如果得到的是lock,Car执行lock()操作,并发送BlinkLights和Beep信号给CarOwner。UML中顺序图UML中顺序图UML中顺序图UML中通信图通信图也叫协作图(CollaborationDiagram)。描述对象间交互关系。如教材P127图4.25通信图组成:参与者对象连接link(实线)消息:连接线上方的带有标记的箭头顺序图例1:使用遥控车钥匙锁车时,车主按下“锁车”按钮,汽车会自动上锁,车灯闪动一下,汽车发出一声蜂鸣,车门上锁。UML中通信图UML中通信图通信图通过表达系统中对象间的协作关系及消息传递过程,描述系统组成部分之间相互协作实现系统功能的过程。—顺序图与通信图是同一抽象层次上的动态交互图,描述系统组成部分之间相互协作实现系统功能的过程;—顺序图与通信图的目的稍有不同,顺序图突出对象交互的时序关系,通信图突出对象及其结构关系;—顺序图可以表现对象的激活和去激活情况,而通信图没有对时间的描述。

UML中通信图UML中活动图——活动图(ActivityDiagram)是一种流程图,它描述活动的序列,即系统从一个活动到另一个活动的控制流。——活动图可用来描述操作(类的方法)的处理过程,也可以描述用例和对象内部的工作过程。——状态图用来描述一个对象(广义)的生命周期。一个对象从产生到结束可以处于一系列不同的状态中,这些状态数目有限时,可以用状态图来描述——状态图是系统动态行为的一种描述方法,是一个流图。——状态图可以用来描述对象的生命周期。——状体图中定义的状态有初始状态(一个)、最终状态(一个或多个)、中间状态等。UML中状态图100UML中状态图:嵌套状态UML中状态图:并发状态102UML中状态图UML中活动图与状态图的区别——活动图描述了系统中各种活动的执行的顺序,刻化一个方法中所要进行的各项活动的执行流程;状态图突出状态转换,不突出流程——活动图中一个活动结束后将立即进入下一个活动,活动之间的迁移是不靠事件触发的;在状态图中状态的变迁可能需要事件的触发面向对象的分析面向对象的系统分析:建立分析模型的过程面向对象的分析实例1—送餐公司客户服务步骤1:确定参与者及用例面向对象的分析实例1—送餐公司客户服务步骤2:用例描述之文字描述面向对象的分析实例1—送餐公司客户服务步骤2:用例描述之图形描述(活动图)面向对象的分析实例1—送餐公司客户服务步骤3:类图分析面向对象的分析实例1—送餐公司客户服务步骤4:输入输出分析—顺序图总结在分析阶段:用例给出了系统要完成的任务;用例说明或活动图给出了某个用例中某个场景内部步骤的详细描述;类图给出了系统的静态结构;系统顺序图描述了某个场景中系统的输入和输出。所有这些模型对系统的处理需求给出了全面综合的描述,为下一步的设计奠定了基础。111在学习面向对象概念和分析时,哪一个概念或环节你印象最深?为什么?

请学号末尾为双号的学生递交作业第六章面向对象的分析与设计5.1简介与基本概念5.2面向对象的开发过程5.3面向对象的分析5.4面向对象的设计OOD的基本思想是基于面向对象方法进行系统设计,是面向对象分析的延续;目标是在分析基础上建立一个符合具体实现条件的OOD模型;相对独立于编程语言但两者不具有明显界限,很难严格划分教材

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论