【文档说明】软件工程与UML07系统分析课件.ppt,共(36)页,664.000 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-50505.html
以下为本文档部分文字说明:
单元七系统分析•软件工程与UML第1页,共36页。任务一:建模系统的实体类图任务二:建模系统的分析类图目录CONTENTS第2页,共36页。【知识目标】掌握建立分析模型的方法步骤理解分析模型在软件开发过程中的地位作用了解实体对象与数据模型之间的关系【能力目
标】能准确识别系统的实体类,建模系统的实体类图能运用分层的思想,建模系统的系统分析模型能将实体类模型映射成数据库模型第3页,共36页。引例描述如果说需求分析是从“用户”的角度说明系统即将“做什么”,系统分析则是从“开发者”的角度来描述系统需要“做什么”。面向对象的系统分
析产生分析模型。在本单元中我们将完成两个任务,“任务一”中将分析“电子办公桌”网络系统,并对其进行实体类图建模;“任务二”中将根据“新闻发布系统”的用例模型推导出其分析类模型,包括分析类图及初始顺序图。第4页,共36
页。任务一建模系统的实体类图•01第5页,共36页。•一家公司决定通过一个“电子办公桌electronicdesks”网络,实现文档在它的各个办公室间的传递,每个办公桌提供下列服务:•记事簿blottingpad,能够保存用户当前处理的文档。提供基本的字处理设施•文件柜fil
ingcabinet,模拟现实的文件柜。分成多个抽屉,每个抽屉分为多个文件夹。文档可以存储在抽屉中,或者存储在抽屉的文件夹中。•邮件服务mailservice,允许用户和网络上的其他用户通信。每个办公桌配有三个托盘tray,对应于传统办公室中的IN
(收)、OUT(发)和PENDING(未决)文件盘。网络会自动将新邮件放入IN托盘,并定时从OUT托盘取走文档邮寄给接收者。•文件可以在邮件托盘和记事簿之间OUT,记事簿和文件柜之间移动,但不能直接在
托盘和文件柜之间移动。在任何时间记事簿上只能有一个文档。第6页,共36页。•7.1系统分析的内容及方法•7.1.1系统分析与分析模型•7.1.2建立分析模型的方法•7.1.3如何识别对象•7.1.4建模系统的实体类图•
7.1.5实体类图与数据库的实现第7页,共36页。•需求分析是从“用户”的角度说明系统即将“做什么”•系统分析是从“开发者”的角度来描述系统需要“做什么”•分析模型的典型输入是用例模型和领域类图•系统设计需要解决“怎么做的问题”•系统分析与分析模型
第8页,共36页。•建立分析模型5个基本原则是:•建模信息域;•描述模块功能;•表示模型行为;•分解,以模型显示更多细节;•早期模型表示问题的本质,而后期模型提供实现细节。•建立分析模型的方法第9页,共36页。•1.系统分析过程中的静态模型•进行分析建模的第一步
,是以用例模型为输入,对用例模型进行分析,把系统分解为相互协作的分析类。•建立分析模型的方法第10页,共36页。•这一过程中所做的主要工作是识别对象,提取出类。考虑目前应用程序常用的MVC模式,我们需要识别实体、控制和边界三种对象。•(1)实体对象
:一般是系统中长效且持久的对象。•(2)边界对象:处理系统与环境之间的通信,建立系统与参与者间的交互模型。•(3)控制对象:执行与特定用例有关的行为,建立系统与参与者间的交互模型。•建立分析模型的方法第11页,共36页。•2.系统分析过程中的动态模型•建立起对象模型之后,就需要
考察对象的动态行为。动态模型表示瞬时的、行为化的系统的“控制”性质,它规定了对象模型中的对象的行为特征、状态特征等。•分析阶段可以借助以下四种图进行动态建模:•顺序图:描述对象间的动态交互关系;•协作图:描述相
互协作的对象的交互关系和关联关系;•状态图:描述某一特定对象所有可能的状态及状态间的转移;•活动图:描述用例内部的工作流程。•建立分析模型的方法第12页,共36页。•面向对象分析方法的步骤归纳如下:•(1)识别对象,提取类;•(2)为对象标识属性和操作;•(3)
定义组织类的结构和层次;•(4)构造对象—关系模型;•(5)构造对象—行为模型。•建立分析模型的方法第13页,共36页。•确定问题域内的对象•1.找出候选的对象•2.筛选出正确的对象第14页,共36页。•确定对象间的关联关系•1.初步
确定关联•2.筛选,筛选时主要根据下述标准删除候选的关联:(1)已删去的对象之间的关联。(2)与问题无关的或应在实现阶段考虑的关联。(3)瞬时事件。关联应该描述问题域的静态结构,而不应该是一个瞬时事件。(4)三元关联。三个或三个以上对象之间的关联,大多可以分解为二元关联。(5)派生关联。通过父类
已经表示清楚的关联不用再每个派生类中重新表示。第15页,共36页。•确定对象的属性•1.分析•2.筛选认真考察经初步分析而确定下来的那些属性,从中删掉不正确的或不必要的属性。通常有以下几种常见情况:(1)误把对象当作属性。(2)误把关联类的属性当作一般
对象的属性。(3)误把限定当成属性。(4)误把内部状态当成了属性。(5)过于细化。(6)存在不一致的属性。第16页,共36页。•建立继承关系一般说来,可以使用下述的两种方法建立继承(即泛化)关系:1.自底向上2.自顶向下第17页,共3
6页。•定义服务•1.常规行为•2.从事件导出的操作•3.利用继承减少冗余操作第18页,共36页。•实体对象的来源是以下两个方面的内容:系统有哪些需要分析和处理的数据,谁使用系统(参与者对象)。实体对象一般是系统中长效且持久的对象。第19页,共36页。•网上购物系统”的分
析模型库存查询缺货拒绝接收发货商品删除商品修改商品增加员工修改员工删除员工增加销售查询员工信息维护报表维护商品信息维护管理员普通员工订单处理<<include>><<extend>><<extend>
>网上购物系统的用例模型第20页,共36页。•建立分析类模型的方法通常是从用例实现出发,分析表达类的行为、关系、状态等。用例需要分析、处理、存储的数据实体类收银收银员工号、收银台号、收银时间、应付金额、
实付金额、小票小票、销售信息打折服务折扣率折扣优惠服务优惠率、优惠时段优惠处理支付支付方式支付信息,处理支付计算器记录销售收银员工号、收银台号、销售明细柜台现金支付应付金额、实付金额、找零支付信息购物卡支付
卡号、应付金额、余额支付信息信用卡支付卡号、应付金额支付信息登陆用户名、密码收银员柜台管理柜台号、柜台状态柜台第21页,共36页。超市收银系统实体图第22页,共36页。当对系统的静态模型建模时,通常以下面的3种
方式之一使用实体类图:对系统的静态对象建模。如书店借书系统的Book类、学生管理系统的Student类等。对简单的协作建模。协作是一些共同行为的类、接口和其他元素的群体。如数据库连接类、用户验证类、过滤字
符串类等。对逻辑数据库模式建模。在很多领域中,都需要在关系数据库或面向对象数据库中存储永久信息,系统分析者可以用类图对这些需要永久化的实体建模。从上面的说明不难看出,实体类图是对逻辑数据库模式一种使之
有效的建模方式,它直接可以反映表与表之间的关系,从实体类图可以推导出数据库的表设计。第23页,共36页。•步骤一:确定对象•步骤二:确定对象间的关联关系•步骤三:确定对象的属性•步骤四:建立继承关系•步骤五:定义服
务第24页,共36页。•拓展训练:根据描述画出实体类图第25页,共36页。任务二建模系统的分析类图•02第26页,共36页。•在上个单元的任务环节中,已完成了“新闻发布系统”的问题域及系统边界界定,整理出了有效需求,并进行了需求建模,完成用例模型部分。在本任务环节中将根
据“新闻发布系统”的用例模型推导出其分析类模型及初始顺序图。第27页,共36页。•7.2建立系统的分析模型•7.2.1MVC模式的分层思想•7.2.2如何建模系统的分析模型第28页,共36页。•MVC即Mode
lViewController,把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分为三层:模型层、视图层、控制层。•视图(View)代表用户交互界面,对于Web应用程序来说,可以是HTML界面,也可能是XHTML、XML或Applet。•
模型(Model)是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其他层来说是黑箱操作,模型接收视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。•控制(Contr
oller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成对用户的响应。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做
任何的数据处理。第29页,共36页。库存查询缺货拒绝接收发货商品删除商品修改商品增加员工修改员工删除员工增加销售查询员工信息维护报表维护商品信息维护管理员普通员工订单处理<<include>><<extend>><<extend>>网上购物系
统的用例模型第30页,共36页。对每个用例都需要进行以下几个步骤:(1)识别类。(2)建立类之间的关系。(3)描述类。管理员商品维护界面维护商品关于“商品信息维护”用例的初始类图“商品信息维护”用例修改后的类图第31页,共
36页。•步骤一:使用的模式•步骤二:建立分析模型第32页,共36页。•完善“新闻发布系统”的分析模型第33页,共36页。•面向对象的系统分析是从开发者的角度看问题,描述系统需要“做什么”,而不考虑如何去做。分析建模的常规步骤是:以用例为输入,识别实体对象
,建模实体类图;进行逻辑分析,建立分析类图;将行为分配到逻辑对象,通过动态建模表达系统各功能的业务流程,建模对象间的交互;在静态建模和动态建模反复迭代的过程中得到完善的分析类模型。•这一阶段的主要任务是
:发现构成系统的逻辑对象;描述它们的职责;确定它们之间的交互。第34页,共36页。•建立超市收银系统的分析模型•试根据第6单元“超市收银系统”需求分析的结果进行系统分析,并建立分析模型。第35页,共36页。THANKYOU高等教育出版社第36页,共
36页。