第6讲 面向对象的需求分析方法.ppt
《第6讲 面向对象的需求分析方法.ppt》由会员分享,可在线阅读,更多相关《第6讲 面向对象的需求分析方法.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 软软 件件 工工 程程教学目的:理解面向对象的概念、掌握基于教学目的:理解面向对象的概念、掌握基于UML语语 言机制的需求分析方法和过程。言机制的需求分析方法和过程。教学重点:基于教学重点:基于UML语言机制的需求分析方法和过语言机制的需求分析方法和过 程、程、CASE工具工具教学难点:教学难点:CASE工具工具教教 具:多媒体教室、电子教案具:多媒体教室、电子教案作作 业:业:第第6章章 面向对象的需求分析面向对象的需求分析 软软 件件 工工 程程6.1面向对象的概念与思想面向对象的概念与思想面向对象(面向对象(Object Oriented)方法是方法是将现实世界将现实世界的事物以对象的
2、方式映射到计算机世界的方法的事物以对象的方式映射到计算机世界的方法。用面向对象的方法求解现实世界问题的第一步便用面向对象的方法求解现实世界问题的第一步便是面向对象分析。面向对象分析包含两个可以重是面向对象分析。面向对象分析包含两个可以重叠的过程:用面向对象的叠的过程:用面向对象的方法方法对现实世界的问题对现实世界的问题进行分析;用面向对象的进行分析;用面向对象的工具工具对分析结果进行描对分析结果进行描述。述。本本章章重重点点介介绍绍面面向向对对象象的的方方法法,并并用用“C程程序序设设计上机考试系统计上机考试系统”为例来介绍为例来介绍UML语言机制。语言机制。软软 件件 工工 程程现实世界现实
3、世界OOAOODOOPSASDSP机器世界机器世界结构化生命周期方法结构化生命周期方法 面面向向对对象象方方法法面向对象方法和面向过程方法的对比面向对象方法和面向过程方法的对比 软软 件件 工工 程程6.1 面向对象的概念与思想面向对象的概念与思想从事物的从事物的过程侧面过程侧面来描述事物的方法被称之为来描述事物的方法被称之为面向过程的方法面向过程的方法。该方法在认识现实事物的整个过程中是把事物内部的处理过程该方法在认识现实事物的整个过程中是把事物内部的处理过程作为核心来描述的。作为核心来描述的。从事物的从事物的组成部件及每个部件的属性、功能组成部件及每个部件的属性、功能来认识事物。比如,来认
4、识事物。比如,汽车由发动机,底盘,变速箱等组成,发动机有排量,有冲程汽车由发动机,底盘,变速箱等组成,发动机有排量,有冲程数等属性,同时发动机还具有启动,加大油门等操作。这就是数等属性,同时发动机还具有启动,加大油门等操作。这就是将现实世界的事物的属性和及其过程一并进行描述的方法,这将现实世界的事物的属性和及其过程一并进行描述的方法,这种方法被称为种方法被称为面向对象的方法面向对象的方法。从事物的从事物的属性侧面属性侧面来描述事物的方法就是来描述事物的方法就是面向数据的方法面向数据的方法,该,该方法在认识事物的过程中始终把事物的属性作为描述的核心。方法在认识事物的过程中始终把事物的属性作为描述
5、的核心。软软 件件 工工 程程6.1 面向对象的概念与思想面向对象的概念与思想在抽象现实世界的事物时,必须把抽象的范围限定在我们的在抽象现实世界的事物时,必须把抽象的范围限定在我们的问题域内问题域内。现实世界的事物都有很多侧面,我们只应关心那。现实世界的事物都有很多侧面,我们只应关心那些跟我们要解决的问题相关的侧面。些跟我们要解决的问题相关的侧面。比如:在抽象和描述比如:在抽象和描述“学生学生”对象时,针对不同的问题域,对象时,针对不同的问题域,可能得到不同的抽象结果。对于学生管理系统,学生的成绩、可能得到不同的抽象结果。对于学生管理系统,学生的成绩、所选的课程等在问题域范围内,而学生的病史,
6、过敏史则不所选的课程等在问题域范围内,而学生的病史,过敏史则不在问题域内;如果是一个医管系统,病史,过敏史则落在问在问题域内;如果是一个医管系统,病史,过敏史则落在问题域内。题域内。下面介绍面向对象的下面介绍面向对象的五大要素五大要素:软软 件件 工工 程程(1)对象(对象(Object)对象对象是现实世界事物或个体的抽象表示,是其属性和相关操是现实世界事物或个体的抽象表示,是其属性和相关操作的封装。抽象的结果不仅包括事物个体的属性,还包括事作的封装。抽象的结果不仅包括事物个体的属性,还包括事物的操作。属性值表示了对象的内部状态。物的操作。属性值表示了对象的内部状态。在分析阶段,在分析阶段,对
7、象的操作对象的操作是对象展现给外部的服务。是对象展现给外部的服务。对象状对象状态态的改变是由对对象的操作引起的。的改变是由对对象的操作引起的。例如,对于民航机场的指挥控制系统,例如,对于民航机场的指挥控制系统,MU9114航班就是航班就是该问题域中的对象,该对象的属性可以包含:航班号、起飞该问题域中的对象,该对象的属性可以包含:航班号、起飞机场、降落机场、起飞时间、降落时间,位置等;可能的操机场、降落机场、起飞时间、降落时间,位置等;可能的操作包括离港、到港等。当对作包括离港、到港等。当对MU9114航班对象进行离港操作航班对象进行离港操作时,对象的状态将从停靠状态改变成飞行状态。时,对象的状
8、态将从停靠状态改变成飞行状态。软软 件件 工工 程程(2)类类(Class)类是对具有共同特征(属性和操作)的对象的进一步抽类是对具有共同特征(属性和操作)的对象的进一步抽象。类通常被认为是对象的模板,通过该模板可以创建特性象。类通常被认为是对象的模板,通过该模板可以创建特性一致的对象。使用类创建对象的过程实际上是类的实例化过一致的对象。使用类创建对象的过程实际上是类的实例化过程。程。类是对象的抽象,对象是类的实例。在客观世界存在的类是对象的抽象,对象是类的实例。在客观世界存在的是类的实例,即对象。是类的实例,即对象。(3)继承()继承(Inheritance)继承关系模拟了现实世界中遗传关系
9、的直接模拟,也即继承关系模拟了现实世界中遗传关系的直接模拟,也即一般与特殊关系的模拟。它允许我们在已有的类的特性基础一般与特殊关系的模拟。它允许我们在已有的类的特性基础上构造新类。被继承的类我们称之为基类(父类),在基类上构造新类。被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生类(子类)。派生类的的基础上新建立的类我们称之为派生类(子类)。派生类的特性比基类的特性更细致。特性比基类的特性更细致。软软 件件 工工 程程(4)聚集(聚集(Aggregation)聚集模拟了现实世界的部分与整体的关系。它允许利用现有的聚集模拟了现实世界的部分与整体的关系。它允许利用现有的类组
10、成新类。比如说汽车,它是由发动机、变速箱、底盘等组类组成新类。比如说汽车,它是由发动机、变速箱、底盘等组成,那么我们就可以利用发动机、变速箱、底盘等类聚集成一成,那么我们就可以利用发动机、变速箱、底盘等类聚集成一个新的类:汽车类。个新的类:汽车类。(5)消息(消息(Message)消息是对象之间交互的唯一途径,一个对象要想使用其他对象消息是对象之间交互的唯一途径,一个对象要想使用其他对象的服务,必须向该对象发送服务请求消息。而接收服务请求的的服务,必须向该对象发送服务请求消息。而接收服务请求的对象必须对请求做出响应。对象必须对请求做出响应。例如:当我们向银行系统的帐号对象发送取款消息时,帐号对
11、例如:当我们向银行系统的帐号对象发送取款消息时,帐号对象将根据消息中携带的取款金额对客户的帐号进行取款操作:象将根据消息中携带的取款金额对客户的帐号进行取款操作:验证帐号余额,如果帐号余额足够,并且操作成功,对象将把验证帐号余额,如果帐号余额足够,并且操作成功,对象将把执行成功的消息返回给服务请求的发送对象,否则发送交易失执行成功的消息返回给服务请求的发送对象,否则发送交易失败消息。败消息。软软 件件 工工 程程6.1 面向对象的概念与思想面向对象的概念与思想 小小结结:面面向向对对象象的的需需求求分分析析方方法法通通过过提提供供对对象象、对对象象间间消消息息传传递递等等语语言言机机制制,让让
12、分分析析人人员员在在解解空空间间中中直直接接模模拟拟问问题题空空间间中中的的对对象象,从从而而消消减减运运用用其其他他分分析析方方法法带带来来的的语语义义断断层层,为为需需求求建建模模活活动动提提供供直直观观、自然的语言支持和方法学指导。自然的语言支持和方法学指导。面向对象对象类继承聚集消息面向对象对象类继承聚集消息。软软 件件 工工 程程6.2 UML 概述概述6.2.1 UML 6.2.1 UML 语言机制语言机制UMLUML通过图形化的表示机制从多个侧面对系统的分析和设计模型通过图形化的表示机制从多个侧面对系统的分析和设计模型进行刻画,共有进行刻画,共有5 5类类1010种视图如下所示:
13、种视图如下所示:静态模型静态模型 动态模型动态模型逻辑模型逻辑模型 类图类图 用例图用例图 对象图对象图 顺序图顺序图 包图包图 协作图协作图 状态图状态图 活动图活动图物理模型物理模型 构件图构件图 配置图配置图 软软 件件 工工 程程6.2.1 UML 语言机制语言机制1 1、用用例例图图(UsecaseUsecase DiagramDiagram):用用于于表表示示系系统统的的功功能能,并并指指出各功能的操作者;出各功能的操作者;2 2、静静态态图图:包包括括类类图图(Class Class DiagramDiagram)、对对象象图图(Object Object DiagramDiag
14、ram)及及包包图图(Package Package DiagramDiagram),表表示示系系统统的的静静态态结结构;构;3 3、行行 为为 图图:包包 括括 状状 态态 图图(State State DiagramDiagram)及及 活活 动动 图图(Activity Activity DiagramDiagram),用用于于描描述述系系统统的的动动态态行行为为和和对对象象之之间的交互关系;间的交互关系;4 4、交交互互图图:包包括括顺顺序序图图(Sequence Sequence DiagramDiagram)和和协协作作图图(Collaboration Collaboration
15、DiagramDiagram),用用于于描描述述系系统统对对象象之之间间的的动动态态合作关系;合作关系;5 5、实实现现图图:包包括括构构件件图图(CompomentCompoment DiagramDiagram)和和配配置置图图(Deployment DiagramDeployment Diagram),),用于描述系统的物理实现。用于描述系统的物理实现。软软 件件 工工 程程6.2.2 基于基于UML 的软件开发过程的软件开发过程1 1、初启:确定项目的、初启:确定项目的主要目标和范围主要目标和范围,并进行初步的,并进行初步的可行性分析可行性分析和经济效益分析和经济效益分析。2 2、细化
16、:细化阶段的开始标志着项目的正式确立。软件项目在此、细化:细化阶段的开始标志着项目的正式确立。软件项目在此阶段需要完成以下工作:阶段需要完成以下工作:(1 1)初步的需求分析。采用)初步的需求分析。采用UMLUML的的用例用例描述目标软件系统所有比描述目标软件系统所有比较重要、比较有风险的用例,利用较重要、比较有风险的用例,利用用例图用例图表示参与者与用例、以表示参与者与用例、以及用例和用例之间的关系。采用及用例和用例之间的关系。采用UMLUML的的类图类图表示目标软件系统所基表示目标软件系统所基于的应用领域中的概念与概念之间的关系。这些相互关联的概念于的应用领域中的概念与概念之间的关系。这些
17、相互关联的概念构成领域模型。构成领域模型。(2 2)初步的高层设计。根据用例、类在业务领域中的关系,或者)初步的高层设计。根据用例、类在业务领域中的关系,或者根据业务领域中某种有意义的分类方法将整个软件系统划分为若根据业务领域中某种有意义的分类方法将整个软件系统划分为若干个包,利用干个包,利用UMLUML的的包图包图刻化这些包及其包间关系。刻化这些包及其包间关系。软软 件件 工工 程程(3 3)部分的详细设计。对于系统中某些重要的或者风险比较高)部分的详细设计。对于系统中某些重要的或者风险比较高的用例,的用例,可以采用可以采用交互图交互图进一步探讨其内部实现过程。同样,进一步探讨其内部实现过程
18、。同样,对于系统中的关键类,也可以详细研究其属性和操作,并在对于系统中的关键类,也可以详细研究其属性和操作,并在UMLUML类图类图中加以表现。中加以表现。(4)(4)部分的原型构造。部分的原型构造。综上所述,在细化阶段可能需要使用的综上所述,在细化阶段可能需要使用的UMLUML语言机制包括:语言机制包括:描述描述用户需求的用例及用例图用户需求的用例及用例图、表示领域概念模型的类图表示领域概念模型的类图、表示业表示业务流程处理的活动图务流程处理的活动图、表示系统高层结构的包图表示系统高层结构的包图和和表示用例内表示用例内部实现过程的交互图部实现过程的交互图等。等。细化阶段的结束条件是,所有主要
19、的用户需求已通过用例和用细化阶段的结束条件是,所有主要的用户需求已通过用例和用例图得以描述;所有重要的风险已被标识,并对风险应对措施例图得以描述;所有重要的风险已被标识,并对风险应对措施了如指掌;能够比较精确地估算实现每一用例的时间。了如指掌;能够比较精确地估算实现每一用例的时间。6.2.2 基于基于UML 的软件开发过程的软件开发过程 软软 件件 工工 程程3 3、构造:在构造阶段,开发人员通过一系列的迭代完成、构造:在构造阶段,开发人员通过一系列的迭代完成对所有用例的软件实现工作,在每次迭代中实现一部分对所有用例的软件实现工作,在每次迭代中实现一部分用例。以迭代方式实现所有用例的好处在于,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6讲 面向对象的需求分析方法 面向 对象 需求 分析 方法
限制150内