面向对象的需求分析 (2)精选文档.ppt
《面向对象的需求分析 (2)精选文档.ppt》由会员分享,可在线阅读,更多相关《面向对象的需求分析 (2)精选文档.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象的需求分析本讲稿第一页,共六十一页第第7章章面向对象的需求分析面向对象的需求分析面向对象(面向对象(Object Oriented)方法是将现实世界的事)方法是将现实世界的事物以对象的方式映射到计算机世界的方法。用面向对物以对象的方式映射到计算机世界的方法。用面向对象的方法求解现实世界问题的第一步便是面向对象分象的方法求解现实世界问题的第一步便是面向对象分析。面向对象分析包含两个可以重叠的过程:用面向析。面向对象分析包含两个可以重叠的过程:用面向对象的方法对现实世界的问题进行分析;用面向对象对象的方法对现实世界的问题进行分析;用面向对象的工具对分析结果进行描述。的工具对分析结果进行描述
2、。本本章章重重点点介介绍绍面面向向对对象象的的方方法法,并并用用银银行行系系统统作作为为贯贯穿穿本本章章的的例例子子。在在介介绍绍方方法法的的同同时时,还还将将简简单单介介绍绍面面向向对对象象的的CASE工工具具Rational Rose和和Rational统一过程。统一过程。本讲稿第二页,共六十一页7.1 面向对象的概念面向对象的概念从事物的过程侧面来描述事物的方法被称之为面向过程的方从事物的过程侧面来描述事物的方法被称之为面向过程的方法。该方法在认识现实事物的整个过程中是把事物内部的处法。该方法在认识现实事物的整个过程中是把事物内部的处理过程作为核心来描述的。理过程作为核心来描述的。从事物
3、的属性侧面来描述事物的方法就是面向数据的方法,从事物的属性侧面来描述事物的方法就是面向数据的方法,该方法在认识事物的过程中始终把事物的属性作为描述的该方法在认识事物的过程中始终把事物的属性作为描述的核心。核心。从事物的组成部件及每个部件的属性、功能来认识事物。从事物的组成部件及每个部件的属性、功能来认识事物。比如,汽车由发动机,底盘,变速箱等组成,发动机有排比如,汽车由发动机,底盘,变速箱等组成,发动机有排量,有冲程数等属性,同时发动机还具有启动,加大油门量,有冲程数等属性,同时发动机还具有启动,加大油门等操作。这就是将现实世界的事物的属性和及其过程一并等操作。这就是将现实世界的事物的属性和及
4、其过程一并进行描述的方法,这种方法被称为面向对象的方法。进行描述的方法,这种方法被称为面向对象的方法。本讲稿第三页,共六十一页7.1 面向对象的概念面向对象的概念在抽象现实世界的事物时,必须把抽象的范围限定在在抽象现实世界的事物时,必须把抽象的范围限定在我们的问题域内。现实世界的事物都有很多侧面,我我们的问题域内。现实世界的事物都有很多侧面,我们只应关心那些跟我们要解决的问题相关的侧面。们只应关心那些跟我们要解决的问题相关的侧面。比如,在抽象和描述比如,在抽象和描述“学生学生”对象时,针对不同的问题域,对象时,针对不同的问题域,可能得到不同的抽象结果。对于学生管理系统,学生的成绩、可能得到不同
5、的抽象结果。对于学生管理系统,学生的成绩、所选的课程等在问题域范围内,而学生的病史,过敏史则不所选的课程等在问题域范围内,而学生的病史,过敏史则不在问题域内;如果是一个医管系统,病史,过敏史则落在问在问题域内;如果是一个医管系统,病史,过敏史则落在问题域内。题域内。本讲稿第四页,共六十一页7.1.1 对象(对象(Object)对象是现实世界事物或个体的抽象表示,抽象的结果不对象是现实世界事物或个体的抽象表示,抽象的结果不仅包括事物个体的属性,还包括事物的操作。属性值表仅包括事物个体的属性,还包括事物的操作。属性值表示了对象的内部状态。示了对象的内部状态。在分析阶段,对象的操作是对象展现给外部的
6、服务。在分析阶段,对象的操作是对象展现给外部的服务。对象状态的改变是由对对象的操作引起的。对象状态的改变是由对对象的操作引起的。例如,对于民航机场的指挥控制系统,例如,对于民航机场的指挥控制系统,MU9114航班就是航班就是该问题域中的对象,该对象的属性可以包含:航班号、起该问题域中的对象,该对象的属性可以包含:航班号、起飞机场、降落机场、起飞时间、降落时间,位置等;可能飞机场、降落机场、起飞时间、降落时间,位置等;可能的操作包括离港、到港等。当对的操作包括离港、到港等。当对MU9114航班对象进行离航班对象进行离港操作时,对象的状态将从停靠状态改变成飞行状态。港操作时,对象的状态将从停靠状态
7、改变成飞行状态。本讲稿第五页,共六十一页7.1.2 类(类(Class)类是对具有共同特征的对象的进一步抽象。类通常被认类是对具有共同特征的对象的进一步抽象。类通常被认为是对象的模板,通过该模板可以创建特性一致的对象。为是对象的模板,通过该模板可以创建特性一致的对象。使用类创建对象的过程实际上是类的实例化过程。使用类创建对象的过程实际上是类的实例化过程。7.1.3 继承(继承(Inheritance)继承关系模拟了现实世界的一般与特殊的关系。它允继承关系模拟了现实世界的一般与特殊的关系。它允许我们在已有的类的特性基础上构造新类。被继承的许我们在已有的类的特性基础上构造新类。被继承的类我们称之为
8、基类(父类),在基类的基础上新建立类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生类(子类)。派生类的特性比基的类我们称之为派生类(子类)。派生类的特性比基类的特性更细致。类的特性更细致。继承关系可以表述为:派生类是基类。因此可以说:继承关系可以表述为:派生类是基类。因此可以说:动物是生物。生物比动物具有更一般的特性。动物是生物。生物比动物具有更一般的特性。本讲稿第六页,共六十一页7.1.4 聚合(聚合(Aggregation)聚合模拟了现实世界的部分与整体的关系。它允许利用聚合模拟了现实世界的部分与整体的关系。它允许利用现有的类组成新类。比如说汽车,它是由发动机、变速现有的类
9、组成新类。比如说汽车,它是由发动机、变速箱、底盘等组成,那么我们就可以利用发动机、变速箱、箱、底盘等组成,那么我们就可以利用发动机、变速箱、底盘等类聚合成一个新的类:汽车类。底盘等类聚合成一个新的类:汽车类。7.1.5 消息(消息(Message)消息是对象之间交互的唯一途径,一个对象要想使用其他对象消息是对象之间交互的唯一途径,一个对象要想使用其他对象的服务,必须向该对象发送服务请求消息。而接收服务请求的的服务,必须向该对象发送服务请求消息。而接收服务请求的对象必须对请求做出响应。对象必须对请求做出响应。例如:当我们向银行系统的帐号对象发送取款消息时,帐例如:当我们向银行系统的帐号对象发送取
10、款消息时,帐号对象将根据消息中携带的取款金额对客户的帐号进行取号对象将根据消息中携带的取款金额对客户的帐号进行取款操作:验证帐号余额,如果帐号余额足够,并且操作成款操作:验证帐号余额,如果帐号余额足够,并且操作成功,对象将把执行成功的消息返回给服务请求的发送对象,功,对象将把执行成功的消息返回给服务请求的发送对象,否则发送交易失败消息。否则发送交易失败消息。本讲稿第七页,共六十一页面向对象需求分析方法的概念面向对象需求分析方法的概念面面向向对对象象的的需需求求分分析析方方法法通通过过提提供供对对象象、对对象象间间消消息息传传递递等等语语言言机机制制,让让分分析析人人员员在在解解空空间间中中直直
11、接接模模拟拟问问题题空空间间中中的的对对象象,从从而而消消减减运运用用其其他他分分析析方方法法带带来来的的语语义义断断层层,为为需需求求建建模模活活动动提提供供直直观观、自然的语言支持和方法学指导。自然的语言支持和方法学指导。本讲稿第八页,共六十一页7.2 面向对象的分析方法面向对象的分析方法面向对象的分析和设计面向对象的分析和设计(OOA&OOD)方方法出现在法出现在20世纪世纪70年代中期。从年代中期。从1989年年到到1994年,面向对象方法从不到年,面向对象方法从不到10种增种增加到加到50多种。这些不同的面向对象的方多种。这些不同的面向对象的方法具有不同的建模符号体系,建模语言法具有
12、不同的建模符号体系,建模语言本身又各有优劣,用户很难从这些方法本身又各有优劣,用户很难从这些方法中找到一个适合自己的方法。中找到一个适合自己的方法。本讲稿第九页,共六十一页7.2.1 OMT方法方法对对象象建建模模技技术术(Object Modeling Technique,OMT)由由Rumbaugh等等提提出出,其其目目的的是是不不断断对对系系统统设设计计进进行行细细化化,直到最后的模型适合于实现为止。直到最后的模型适合于实现为止。7.2.2 Booch方法方法 Booch方方法法提提出出了了描描述述对对象象系系统统的的两两个个模模型型:用用于于描描述述逻逻辑辑结结构构的的逻逻辑辑模模型型
13、(Logical Model)和和描描述述系系统统物物理理结结构构的的物物理理模模型型(Physical Model),而而对对于于这这两两个个模模型型又又可可以以采采用用描描述述系系统统静静态态侧侧面面的的静静态态模模型型(Static Model)和和描描写写系系统统动动态态特特性性的的动动态态模模型型(Dynamic Model)两种方式来描述。)两种方式来描述。本讲稿第十页,共六十一页7.2.3 OOSE方法方法OOSE(Object Oriented Software Engineering)是用例)是用例(use case)驱动的方法。在该方法中,用例模型是分析)驱动的方法。在该方
14、法中,用例模型是分析阶段的模型。用例模型主要用来描述系统外部角色和软阶段的模型。用例模型主要用来描述系统外部角色和软件系统为这些外部角色提供的服务和功能。比如银行系件系统为这些外部角色提供的服务和功能。比如银行系统中的转帐功能既是客户角色的一个用例。通过确定系统中的转帐功能既是客户角色的一个用例。通过确定系统外部角色与系统内部功能的交互作用,用例模型描述统外部角色与系统内部功能的交互作用,用例模型描述了系统的完整功能。了系统的完整功能。OOSE的分析阶段,要构造两种模型:的分析阶段,要构造两种模型:需求模型从用户的角度描述了系统具有的所有功能。需求模型从用户的角度描述了系统具有的所有功能。用例
15、模型用例模型 需求模型由三部分组成需求模型由三部分组成 问题域对象模型问题域对象模型 接口描述接口描述需求模型需求模型分析模型分析模型本讲稿第十一页,共六十一页7.2.3 OOSE方法方法 分析模型是通过对接口对象、实体对象分析模型是通过对接口对象、实体对象和控制对象的分析和描述而建立的模型。和控制对象的分析和描述而建立的模型。接口对象、实体对象和控制对象可以完接口对象、实体对象和控制对象可以完成用例视图所要求的全部功能。成用例视图所要求的全部功能。OOSE方法的最大的贡献就是引入了方法的最大的贡献就是引入了用例的概念。用例的概念。本讲稿第十二页,共六十一页7.2.4 Coad/Yourdon
16、的的OOA/OOD方法方法Coad/Yourdon面向对象的方法包含面向对象的方法包含5个步骤:个步骤:识别对象识别对象 标识对象的属性标识对象的属性 标识对象的性为标识对象的性为 识别对象所属的类识别对象所属的类 定义主题词定义主题词 这些步骤之间并无严格的边界,比如可以在识这些步骤之间并无严格的边界,比如可以在识别对象的同时标识对象的属性和行为等活动。别对象的同时标识对象的属性和行为等活动。本讲稿第十三页,共六十一页7.2.4 Coad/Yourdon的的OOA/OOD方法方法1.识别对象识别对象OOA最最困困难难的的部部分分就就是是如如何何将将系系统统分分解解成成相相互互作作用用的的对对
17、象象集集合合。识识别别对对象象是是面面向向对对象象分分析析的的第第一一步步也也是是很很关关键键的的一一步步,分分析析阶阶段段的的模模型型基基本本上上决决定定了了系系统统的的可可重用性和可修改性指标。重用性和可修改性指标。分分析析阶阶段段所所得得到到的的对对象象应应该该是是实实际际问问题题域域中中有有意意义义的的个个体体或或概概念念实实体体。对对象象应应该该具具有有记记忆忆其其自自身身状状态态的的能能力力。也也就就是是对对象象具具有有软软件件系系统统所所关关心心的的属属性性。而而且且对对象象不不应应该该是是孤孤立立的的。它它必必须须以以某某种种方方式式与与系系统中的其他对象进行交互。统中的其他对
18、象进行交互。识识别别对对象象包包括括两两个个基基本本步步骤骤:标标识识潜潜在在的的对对象象和和筛选对象。筛选对象。本讲稿第十四页,共六十一页1)标识潜在的对象)标识潜在的对象识别潜在对象主要依据用户的需求描述。识别潜在对象主要依据用户的需求描述。具具体体方方法法找找出出需需求求描描述述中中的的名名词词或或名名词词短短语语并并合合并并同同义义词词。除除去去有有动动作作含含义义的的名名词词,他他们们将将被被描描述述为为对对象的操作而非对象本身。象的操作而非对象本身。可可修修改改性性和和可可重重用用性性是是面面向向对对象象系系统统的的目目标标,因因此此仅仅仅仅通通过过上上述述的的机机械械方方法法不不
19、能能符符合合对对象象系系统统的的目目标标。其其中中正正确确的的分分析析类类之之间间的的继继承承、聚聚合合关关系系以以及类之间的通讯方式是至关重要的。及类之间的通讯方式是至关重要的。本讲稿第十五页,共六十一页1)标识潜在的对象)标识潜在的对象需求描述中的对象可能呈现以下方式:需求描述中的对象可能呈现以下方式:外外部部实实体体。通通过过与与目目标标系系统统交交换换信信息息来来实实现现交交互互。例例如如物物理设备,操作人员或用户,其他相关系统等。理设备,操作人员或用户,其他相关系统等。信息域内的概念实体。如信号、报表等。信息域内的概念实体。如信号、报表等。需需记记忆忆的的系系统统事事件件。如如交交通
20、通监监管管系系统统中中的的一一次次汽汽车车超超速速事事件。件。角角色色。管管理理员员,工工程程师师,销销售售员员等等。不不同同的的角角色色具具有有不不同同的的职能和权限。职能和权限。场场所所、位位置置。如如卫卫星星定定位位系系统统中中被被定定位位对对象象的的位位置置,包包括括经经度、纬度和高程。度、纬度和高程。组织机构。如财务部,项目部等。组织机构。如财务部,项目部等。聚聚集集对对象象。如如物物理理设设备备,它它由由多多个个成成分分对对象象聚聚集集而而成成,有有时概念实体对象和外部实体对象也是聚集对象。时概念实体对象和外部实体对象也是聚集对象。本讲稿第十六页,共六十一页标识潜在的对象举例标识潜
21、在的对象举例标识潜在的对象举例标识潜在的对象举例根据描述识别潜在的对象如表根据描述识别潜在的对象如表7-1 银行系统的需求描述:银行系统的需求描述:一个银行可以有多个帐号。一个银行可以有多个帐号。一个银行可以有多个客户。一个银行可以有多个客户。一个客户可以持有多个帐号。一个客户可以持有多个帐号。一个帐号可以被多个客户持有。一个帐号可以被多个客户持有。可可以以开开户户、注注销销帐帐户户、存存钱钱、取取钱钱、银银行行内内转转帐帐、银行间转帐银行间转帐 表表7-1 银行系统潜在的对象银行系统潜在的对象潜在对象潜在对象理由理由 银行(银行(Bank)帐号(帐号(Account)资金(资金(Funds)
22、客户(客户(Client)交易(交易(Transaction)概念实体概念实体概念实体概念实体概念实体概念实体外部实体外部实体事件对象事件对象本讲稿第十七页,共六十一页2)筛选对象)筛选对象对潜在的对象进行筛选的原则:对潜在的对象进行筛选的原则:对对象象应应具具有有记记忆忆自自身身状状态态的的能能力力。并并且且对对象象的的属属性性应应该是系统所关心的,或者是目标系统所必须的。该是系统所关心的,或者是目标系统所必须的。对对象象应应具具有有有有意意义义的的操操作作,以以某某种种方方式式修修改改其其状状态态。并并且且,对对象象应应利利用用其其操操作作为为目目标标系系统统中中的的其其他他对对象象提提供
23、供外外部服务。部服务。对对象象应应具具有有多多种种意意义义的的属属性性。仅仅有有一一种种属属性性的的对对象象最最好好表表示示为其他对象的属性。为其他对象的属性。对对象象的的属属性性和和操操作作应应该该适适用用于于对对象象的的所所有有实实例例,这这是是对对象象所所必须具备的基本条件。必须具备的基本条件。对对象象应应是是软软件件需需求求模模型型的的必必要要成成分分,与与设设计计和和实实现现方方法法无无关关。需需求求分分析析阶阶段段只只关关心心对对象象的的外外部部表表现现,而而对对象象的的具具体体实实现现则则在在设设计计阶阶段段才才会会考考虑虑。所所以以在在分分析析阶阶段段不不应应包包含含实实现对象
24、功能所用到的对象。现对象功能所用到的对象。本讲稿第十八页,共六十一页表表7-2 银行系统潜在对象的筛选结果银行系统潜在对象的筛选结果l对象的识别和筛选结果没有正确与错误之分,识别和筛对象的识别和筛选结果没有正确与错误之分,识别和筛选对象的结果依赖于分析人员的素质和经验。好的分选对象的结果依赖于分析人员的素质和经验。好的分析员会得出一个易于重用和适应需求变更的分析结果。析员会得出一个易于重用和适应需求变更的分析结果。随着分析活动的逐步展开,需求分析员可以根据需要随着分析活动的逐步展开,需求分析员可以根据需要增加和删除原有的对象。增加和删除原有的对象。潜在对象潜在对象理由理由 银行(银行(Bank
25、)帐号(帐号(Account)资金(资金(Funds)客户(客户(Client)交易(交易(Transaction)符合符合符合符合概念实体概念实体不符合不符合符合符合符合符合本讲稿第十九页,共六十一页图图7-2-1 Account类类l在在Rational Rose中类用图中类用图7-2-1符号表示。其中第一框为类符号表示。其中第一框为类名(帐号);第二框为类的属性,名(帐号);第二框为类的属性,accountNo为帐号号码、为帐号号码、bank为银行、为银行、createDate为建立日期、为建立日期、holder为持有人、为持有人、balance为余额;第三框是类的行为,为余额;第三框是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象的需求分析 2精选文档 面向 对象 需求 分析 精选 文档
限制150内