第六章面向对象分析_第1页
第六章面向对象分析_第2页
第六章面向对象分析_第3页
第六章面向对象分析_第4页
第六章面向对象分析_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、软软件工程件工程中中国国石油大石油大学胜学胜利利学学院院OOA方法及示例方法及示例六、面向对象分析六、面向对象分析Logo问题讨论式学习问题讨论式学习带着问题去学带着问题去学n第五章介绍的面向对象需求模型和第六章面向对第五章介绍的面向对象需求模型和第六章面向对象分析象分析有什么区别和联系有什么区别和联系?(第四章?第四章?)n简述面向对象分析模型的简述面向对象分析模型的组成结构组成结构?n为什么叫为什么叫分析类分析类?n为什么把分析类为什么把分析类划分类型划分类型?划分为?划分为哪几种类型哪几种类型?分别分别代表什么代表什么?n用用哪几种哪几种UML图可以表示对象之间的交互?图可以表示对象之间

2、的交互?n分析模型中的分析模型中的静态结构模型静态结构模型和和动态行为模型动态行为模型之间之间有什么有什么联系联系?中中国国石油大石油大学胜学胜利利学学院院Logo第第6 6章章 面向对象分析面向对象分析n软件分析概述软件分析概述n面向对象分析建模面向对象分析建模n面向对象分析面向对象分析示例示例中中国国石油大石油大学胜学胜利利学学院院Logo回顾第五章回顾第五章 面向对象需求模型面向对象需求模型用例规约参与者用例图用例模型补充规约术语表全局性功能、非功能需求中中国国石油大石油大学胜学胜利利学学院院Logo6.1 6.1 软件分析概述软件分析概述n软件需求与软件分析之间的区别和联系?软件需求与

3、软件分析之间的区别和联系?n软件需求:用户用户角度角度,注重软件外在表现软件外在表现n软件分析:开发者开发者角度角度,注重软件内部逻辑结构软件内部逻辑结构n第四章第四章UML与第五章第六章的关系?与第五章第六章的关系? 介绍了面向对象需求与分析的介绍了面向对象需求与分析的工具工具中中国国石油大石油大学胜学胜利利学学院院Logo第四章第四章 UMLUML的组成的组成n图图n静态图o用例图、类图、对象图、构件图和部署图 n动态图o状态图、时序图、协作图和活动图 n视图视图n用例视图o从用户的角度看到的系统应有的外部功能 n逻辑视图o描述系统的静态结构和对象间的动态协作关系 n进程视图o展示系统的动

4、态行为及其并发性 n构件视图o展示系统实现的结构和行为特征 n部署视图o显示系统的实现环境和构件被部署到物理结构中的映射 中中国国石油大石油大学胜学胜利利学学院院Logo6.1.1 6.1.1 面向对象软件分析面向对象软件分析nOOA的主要任务的主要任务n理解用户需求o全面地理解和分析用户需求o明确所开发的软件系统的职责o形成文件并规范地加以表述 n进行分析,提取类和对象,并结合分析进行建模 中中国国石油大石油大学胜学胜利利学学院院LogonOOA的模型(组成结构)的模型(组成结构)n需求模型(以用例模型为主体,第五章)n类/对象模型(全部的类和对象)n对象-关系模型(对象之间的静态关系)n对

5、象-行为模型(系统的动态行为)面向对象分析模型面向对象分析模型P139P139属性、操作、协作者对象-行为模型对象-关系模型类/对象模型以用例模型为主体的需求模型中中国国石油大石油大学胜学胜利利学学院院Logo6.1.1 6.1.1 面向对象分析面向对象分析nOOA与与SA相比较的优点?相比较的优点?(1)同时加强了对问题域和软件系统的理解;加强理解(2)改进包括用户在内的与软件分析有关的各类人员之间的交流;改进交流(3)对需求的变化具有较强的适应性;适应变化(4)很好地支持软件复用;支持复用(5)确保从需求模型到设计模型的一致性。 确保一致中中国国石油大石油大学胜学胜利利学学院院Logon分

6、析模型的特点分析模型的特点n全面覆盖软件的功能需求 n分析模型与软件的实现无关 n分析模型的表述方法与所采用的分析技术有关 nOOA共同特征共同特征 n类和类层次的表示n建立对象-关系模型n建立对象-行为模型 nOOA建模步骤建模步骤 n需求理解n定义类和对象n标识对象的属性和操作n标识类的结构和层次n建立对象-关系模型n建立对象-行为模型n评审OOA模型中中国国石油大石油大学胜学胜利利学学院院6.1.2 6.1.2 面向对象分析模型面向对象分析模型Logo6.2 6.2 面向对象分析建模面向对象分析建模n基于用例的面向对象分析方法基于用例的面向对象分析方法 1、建立类和对象、建立类和对象2、

7、建立对象、建立对象-行为模型行为模型3、建立对象、建立对象-关系模型关系模型n回顾需求阶段产生的回顾需求阶段产生的用例规约用例规约,补充补充必要的详细信息;必要的详细信息;n研究研究用例的事件流用例的事件流,将,将用例的职责用例的职责分配分配给若干给若干分析类分析类;n基于这些职责分配以及分析类之间的协作,即可开始为基于这些职责分配以及分析类之间的协作,即可开始为分分析类间的关系建模析类间的关系建模了了n一旦分析了用例,就需要查看确定的类,确保它们被一旦分析了用例,就需要查看确定的类,确保它们被详尽详尽地描述。地描述。n并确保分析模型各个部分之间的并确保分析模型各个部分之间的一致一致 中中国国

8、石油大石油大学胜学胜利利学学院院Logo步骤一:识别与确定分析类步骤一:识别与确定分析类n为什么叫分析类?为什么叫分析类? 用例分析阶段用例分析阶段定义的类叫定义的类叫分析分析类。类。n分析分析类由何而来?类由何而来? 第五章需求模型的第五章需求模型的用例用例模型而来。模型而来。n为什么给分析类划分类型?为什么给分析类划分类型? 有助于建立一个有助于建立一个稳固稳固的系统,分类后,对于需求的系统,分类后,对于需求变更只影响一部分类。变更只影响一部分类。n划分划分为哪几类?分别代表什么?为哪几类?分别代表什么?边界边界类:系统与外部环境交互的边界类:系统与外部环境交互的边界控制控制类:系统运行中

9、的控制逻辑类:系统运行中的控制逻辑实体实体类:系统要存储的信息类:系统要存储的信息中中国国石油大石油大学胜学胜利利学学院院Logo识别与确定分析类识别与确定分析类n三种分析类三种分析类n边界类 (系统与外界交互的边界)o用户界面o系统接口o硬件接口n控制类(系统运行中的控制逻辑)o封装用例所特有的控制行为n实体类(系统要存储和维护的信息)o系统存储的信息及其相关行为中中国国石油大石油大学胜学胜利利学学院院Logo三种分析类三种分析类中中国国石油大石油大学胜学胜利利学学院院Logo查找分析类查找分析类边界类边界类n怎么划分:为怎么划分:为每对每对参与者参与者/用例确定一个边界类用例确定一个边界类

10、n作用:将系统和外界作用:将系统和外界隔离隔离开,外界的变化不影响开,外界的变化不影响内部元素。(内部元素。(对系统依赖于环境的那部分进行建对系统依赖于环境的那部分进行建模模)中中国国石油大石油大学胜学胜利利学学院院Logo查找分析类查找分析类控制类控制类n怎样设计:为每个怎样设计:为每个用例用例设置一个控制类(事件流)设置一个控制类(事件流)n作用:作用: 封装用例中的流程控制行为,建立系统的封装用例中的流程控制行为,建立系统的动态行为模型。动态行为模型。n与实体类分开,使实体类可以与实体类分开,使实体类可以复用复用中中国国石油大石油大学胜学胜利利学学院院Logo查找分析类查找分析类实体类实

11、体类n确定相关的各个实体(包括属性与方法),是系确定相关的各个实体(包括属性与方法),是系统存储和管理的统存储和管理的信息信息,通常来源于,通常来源于参与者参与者。 课程目录课程表学生中中国国石油大石油大学胜学胜利利学学院院Logo步骤二:步骤二: 建立对象建立对象- -行为模型行为模型- -时序图时序图(p96)打印机忙保存文件打印机就绪打印文件打印文件打印文件计算机打印服务器打印队列打印机时序图用来描述对象之间的动态交互,着重体现对象间消息传递的时间顺序。P95文档打印系统的时序图中中国国石油大石油大学胜学胜利利学学院院Logo6.2.26.2.2建立对象建立对象行为模型行为模型P145P

12、145 绘制出选课用例绘制出选课用例创建课表事件流创建课表事件流的时序图的时序图n确定对象:参与者确定对象:参与者-边界类边界类对象对象-控制控制类类对象对象-实体实体类对象类对象n流程:流程:(1)新建)新建一个一个课程表课程表学生申请,注册课程表边界类对象接收,调用控制类获取开课学生申请,注册课程表边界类对象接收,调用控制类获取开课信息,调用课程目录系统之间的边界类,找出课程信息。信息,调用课程目录系统之间的边界类,找出课程信息。(2)显示)显示本学期有效的课程清单本学期有效的课程清单边界类对象调用自己的方法向学生显示课表信息。边界类对象调用自己的方法向学生显示课表信息。(3)显示)显示空

13、的空的课表课表边界类对象调用自己的方法向边界类对象调用自己的方法向学生提供空白课表。学生提供空白课表。(4)学生选课)学生选课学生学生选选4门主课,边界类对象创建课程表,控制类对象创建课程门主课,边界类对象创建课程表,控制类对象创建课程表,将数据信息加入实体类(学生、课表)。表,将数据信息加入实体类(学生、课表)。中中国国石油大石油大学胜学胜利利学学院院Logo对象对象-行为模型行为模型-协作图(协作图(P96)打印机忙2.2:保存文件打印机就绪2.1:打印文件1:打印文件计算机打印队列打印服务器打印机协作图用于描述相互协作的对象间的交互和链接,体现对象之间的静态链接。P95中中国国石油大石油

14、大学胜学胜利利学学院院Logo6.2.26.2.2建立对象建立对象行为模型行为模型-协作图协作图n绘制出选课用例绘制出选课用例创建课表事件流创建课表事件流的协作图(的协作图(时间和空间时间和空间) 中中国国石油大石油大学胜学胜利利学学院院Logo6.2.2 6.2.2 建立对象建立对象行为模型行为模型 n为分析类分配职责(为类确定操作)为分析类分配职责(为类确定操作)为消息的为消息的接受者接受者一方的类分配一方的类分配操作操作,以消息名称命名。,以消息名称命名。在动态图中,分析类的职责可以从交互提供的消息中得到。P146中中国国石油大石油大学胜学胜利利学学院院Logo6.2.2 6.2.2 建

15、立对象建立对象行为模型行为模型 n绘制状态图绘制状态图n用例行为比较复杂,并且分散到不同的事件序列中,这时就需要为这个类创建一个状态图 o针对一个类的状态变化o研究该类的动态行为 中中国国石油大石油大学胜学胜利利学学院院Logon为为类确定类确定属性属性(在分析阶段,属性是粗略的)(在分析阶段,属性是粗略的)n为为类确定类确定关联?关联? 协作协作图图中对象间的中对象间的链接链接就是就是类图类图中类间的中类间的关联。关联。中中国国石油大石油大学胜学胜利利学学院院步骤三:建立对象步骤三:建立对象关系模型关系模型Logon例:选课例:选课用例的参与类用例的参与类图图n显示了类的实例之间的显示了类的

16、实例之间的数量关系数量关系n学生注册课程学生注册课程1次,对应次,对应1个注册控制类;个注册控制类;n1个注册控制类对应个注册控制类对应1个课表,个课表,1个课表包括个课表包括4门主课门主课中中国国石油大石油大学胜学胜利利学学院院6.2.36.2.3建立对象建立对象关系模型关系模型Logo分析类的分析类的合并:合并:选课选课和和关闭课程关闭课程用例中相同分析类的合用例中相同分析类的合并。并。 中中国国石油大石油大学胜学胜利利学学院院6.2.36.2.3建立对象建立对象关系模型关系模型Logo问题讨论式学习问题讨论式学习带着问题去学带着问题去学n分析模型中的分析模型中的静态结构模型静态结构模型和

17、和动态行为模型动态行为模型之间之间有什么有什么联系联系?动态行为模型是时序图和协作图动态行为模型是时序图和协作图静态结构模型是类的关联图静态结构模型是类的关联图联系?联系?协作图中对象之间的链与类图中类之间关联。协作图中对象之间的链与类图中类之间关联。n最终通过最终通过OOA得到了完整的类的关联图,每个类得到了完整的类的关联图,每个类包括属性和操作,以及类和类之间的关联。包括属性和操作,以及类和类之间的关联。n通过通过OOA得到对象和对象之间的消息交互(时序得到对象和对象之间的消息交互(时序图和协作图),完成某个功能的过程。图和协作图),完成某个功能的过程。中中国国石油大石油大学胜学胜利利学学

18、院院Logo6.3 6.3 需求建模需求建模网上购物系统网上购物系统n当今,网上购物已成为一种时尚。本示例作为当今,网上购物已成为一种时尚。本示例作为WEB 应用的一例,主要为普通购物用户和管理员服务。应用的一例,主要为普通购物用户和管理员服务。n普通购物用户在使用本系统的购物功能前,必须先注册账号。在注册页面中填写个人信息,如使用本系普通购物用户在使用本系统的购物功能前,必须先注册账号。在注册页面中填写个人信息,如使用本系统的账号名和密码统的账号名和密码,联系地址等。在提交表单、完成注册后,系统将保存信息,以方便管理员管理用户信联系地址等。在提交表单、完成注册后,系统将保存信息,以方便管理员

19、管理用户信息、联系用户。息、联系用户。n如果用户已经在系统中注册过,可以在登录页面输入账号名和密码。如果密码正确,用户就可以购物,如果用户已经在系统中注册过,可以在登录页面输入账号名和密码。如果密码正确,用户就可以购物,否则只能做一般的页面浏览。否则只能做一般的页面浏览。n进入系统后,用户也可选择维护自己的信息,比如修改账号名,密码,联系地址等。如果直接进行购物,进入系统后,用户也可选择维护自己的信息,比如修改账号名,密码,联系地址等。如果直接进行购物,系统可让用户首先浏览商品信息,使之对商品的数量、种类有一个大概的了解。如果用户对某件商品感系统可让用户首先浏览商品信息,使之对商品的数量、种类

20、有一个大概的了解。如果用户对某件商品感兴趣,就可以选择特定商品查看其详细信息,接着选择将商品加入购物车,或继续查看其他商品。当购兴趣,就可以选择特定商品查看其详细信息,接着选择将商品加入购物车,或继续查看其他商品。当购物结束时,用户首先要浏览一下已经存在于购物车中的商品项目,包括数量、单价及总价。这时用户可物结束时,用户首先要浏览一下已经存在于购物车中的商品项目,包括数量、单价及总价。这时用户可以更改任何已存在购物车中的商品数量。如果确定要购买购物车内的商品,系统即生成一份订购商品的以更改任何已存在购物车中的商品数量。如果确定要购买购物车内的商品,系统即生成一份订购商品的订单(包括所有商品的名

21、字,单价,小计,总价),然后由用户填写包括用户姓名、家庭地址、信用卡订单(包括所有商品的名字,单价,小计,总价),然后由用户填写包括用户姓名、家庭地址、信用卡号码、电子邮件地址等信息,并提交订单。以后,系统自动将用户信息、信用卡信息和购物总价发送到号码、电子邮件地址等信息,并提交订单。以后,系统自动将用户信息、信用卡信息和购物总价发送到银联系统,由银联系统验证信用卡信息并执行扣款,并将银联系统操作成功与否的信息返回到系统。系银联系统,由银联系统验证信用卡信息并执行扣款,并将银联系统操作成功与否的信息返回到系统。系统根据银联系统的操作结果,向用户发送统根据银联系统的操作结果,向用户发送E-MAI

22、L,提示用户操作成功与否的消息。如果扣款成功,就与,提示用户操作成功与否的消息。如果扣款成功,就与物流系统接口,安排给用户派送购买的商品。物流系统接口,安排给用户派送购买的商品。n管理员进入系统时,首先要输入口令。如果检查通过,就可以对系统中的信息进行维护和管理,包括:管理员进入系统时,首先要输入口令。如果检查通过,就可以对系统中的信息进行维护和管理,包括: 管理用户信息。当有些用户有不正常操作时,如填写订单时使用不存在的信用卡号,可以将此用户账管理用户信息。当有些用户有不正常操作时,如填写订单时使用不存在的信用卡号,可以将此用户账号冻结,也可以启用用户账号。但管理员无权修改客户信息;号冻结,

23、也可以启用用户账号。但管理员无权修改客户信息; 管理系统中的商品信息,例如有新的商管理系统中的商品信息,例如有新的商品时,管理员可向系统中添加此商品。当商品的价格或规格发生浮动时,管理员也可以对它们作修改,品时,管理员可向系统中添加此商品。当商品的价格或规格发生浮动时,管理员也可以对它们作修改,使用户及时了解商品的最新情况。若某件商品没有存货或不再出售时,管理员可删除系统中的此项商品使用户及时了解商品的最新情况。若某件商品没有存货或不再出售时,管理员可删除系统中的此项商品记录。记录。 管理客户定单。及时获得客户的资料(资料中有电子邮件地址),以便与客户联系。管理客户定单。及时获得客户的资料(资

24、料中有电子邮件地址),以便与客户联系。n要求系统对数据库的存取速度要尽量快,并保证系统在配置完成以后一天要求系统对数据库的存取速度要尽量快,并保证系统在配置完成以后一天24小时都可用。还要求系统有小时都可用。还要求系统有较高的安全性,当生成订单时,用户的信用卡号码要在网上传输,所以必须提供额外的安全措施。较高的安全性,当生成订单时,用户的信用卡号码要在网上传输,所以必须提供额外的安全措施。Logo用例模型用例模型P130P130分别对注册、维护个人信息、维护购物车、生成订单和管理订单等用例进行用例分析,建立静态模型和动态模型。P149中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.

25、3 面向对象分析示例面向对象分析示例 - -注册用例注册用例参与类图中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.3 面向对象分析示例面向对象分析示例 - -注册用例注册用例时序图中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.3 面向对象分析示例面向对象分析示例- -注册用例注册用例协作图中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.3 面向对象分析示例面向对象分析示例- -维护个人信息维护个人信息参与类图中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.3 面向对象分析示例面向对象分析示例- -维护个人信息维护个人信息时序图中中国国石油大石

26、油大学胜学胜利利学学院院Logo6.3. 6.3. 面向对象分析示例面向对象分析示例 - -维护个人信息维护个人信息协作图中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.3 面向对象分析示例面向对象分析示例- -维护购物车维护购物车 参与类图中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.3 面向对象分析示例面向对象分析示例- -维护购物车维护购物车 时序图中中国国石油大石油大学胜学胜利利学学院院Logo3. 3. 面向对象分析示例面向对象分析示例 - -维护维护购物车购物车 协作图中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.3 面向对象分析示例面向对象

27、分析示例 - -从购物车中删除商从购物车中删除商品品 时序图中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.3 面向对象分析示例面向对象分析示例 - -修改购物车中的商修改购物车中的商品信息品信息 时序图中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.3 面向对象分析示例面向对象分析示例 - -生成订单生成订单 参与类图中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.3 面向对象分析示例面向对象分析示例 - -生成订单生成订单 时序图中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.3 面向对象分析示例面向对象分析示例 - -生成订单生成订单 协作图中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.3 面向对象分析示例面向对象分析示例 - -管理订单管理订单 参与类图中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.3 面向对象分析示例面向对象分析示例 - -管理订单管理订单 时序图中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.3 面向对象分析示例面向对象分析示例 - -管理订单管理订单 协作图中中国国石油大石油大学胜学胜利利学学院院Logo6.3 6.3 面向对象分析示例面向对象分析示例 - -管理订单管理订单 时序图中中国国石油大石油大学胜学胜

温馨提示

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

评论

0/150

提交评论