信息系统设计与实践-面向对象的系统分析.ppt
《信息系统设计与实践-面向对象的系统分析.ppt》由会员分享,可在线阅读,更多相关《信息系统设计与实践-面向对象的系统分析.ppt(121页珍藏版)》请在三一办公上搜索。
1、信息系统分析、设计与开发方法,面向对象的系统分析,4.1 面向对象的基本过程 4.2 面向对象分析的特点 4.3 需求分析陈述 4.4 面向对象的系统分析活动4.5 建立对象模型4.6 建立动态模型4.7 建立功能模型 4.8 案例,目录,4.1.1 概述,面向对象分析(Object-Oriented Analysis,简称OOA),就是运用面向对象的方法进行系统分析,强调运用面向对象方法,对问题域和系统职责进行分析和理解,找出描述问题域及系统职责所需的对象,定义对象的属性、服务以及它们之间的关系,目标是建立一个符合问题域、符合用户需求的OOA模型。,4.1 面向对象分析的基本过程,4.1 面
2、向对象分析的基本过程,问题域(problem domain)就是被开发系统的应用领域,即软件系统所能处理的现实世界中的业务范围。系统责任(system responsibilities)即所开发的软件系统应该具备的职能.,4.1.1 概述,4.1 面向对象分析的基本过程,OOA的主要任务就是对问题域和系统责任进行分析和理解;找出跟问题域与系统责任有关的类及对象;定义这些对象的属性和操作,以及它们之间所形成的结构,静态联系和动态联系。简言之,确定系统分析中的对象,描述对象的静态特征和动态特征,找出对象间的各种关系以及对象的行为约束,是OOA的主要任务。,4.1.1 概述,4.1 面向对象分析的基
3、本过程,OOA和OOD的职责划分OOA针对现实世界中的问题域和系统职责,用面向对象的方法建立起OOA模型,作为分析的结果。OOA模型不考虑与系统具体实现相关的因素,从而使OOA模型独立于具体的实现环境。OOD则是针对系统的具体实现,运用OO方法进行系统设计。其中包括两方面的工作:1.根据实现条件对OOA模型做某些必要的调整和修改,使其成为OOD模型的一部分;2.针对具体实现条件,建立人机界面、数据存储和控制驱动等模型。这些部分与OOA采用相同的概念与表示法。,4.1.1 概述,4.1 面向对象分析的基本过程,用OO方法开发软件,通常建立3种模型:对象模型(基本):描述系统静态数据结构。动态模型
4、(辅助):描述系统的交互次序和行为过程。功能模型(辅助):描述数据变换结果。三个模型的侧重点对象模型对于任何系统都是最基础、最重要和最核心的,是必需的。动态模型对于设计交互行为和时序过程(如用户界面及过程控制)的系统是重要的。功能模型对于解决运算量很大的问题(如科学和工程计算)是重要的。,4.1.1 概述,关系层,特征层,对象层,基本模型(类图),模型组织包图,辅助模型交互图活动图状态图数据流图,OOA模型,OOA过程建立基本模型描述系统的基本特征,类图建立动态模型(可选)描述系统的动态行为特征,交互图,活动图和状态图建立功能模型(可选)描述数据变换结果,数据流图建立模型组织包图,系统,子系统
5、写详细说明注意:模型的建立不需要按顺序,不分先后。,4.1.2 面向对象的基本过程,4.1 面向对象分析的基本过程,OOA具体过程,4.1.2 面向对象的基本过程,4.1 面向对象分析的基本过程,OOA过程模型,原型开发*结合其它活动反复进行,划分主题,建立包图(辅助模型,可选),建立交互图、状态图、活动图(动态模型,可选),对模型中的成分进行规范的定义和文字说明,可集中进行,也可分散在各个活动中,实施OOA过程的几点建议:1.把对系统需求的捕获和描述放在分析工作的开始。2.建立基本模型的三个活动,可根据需要随时从一个活动切换到另一个;3.建立动态模型可以安排到建立对象模型之后,也可以同时进行
6、;4.建立详细说明的活动应结合在其它活动中分散进行,最后做一次集中的审查和补充;5.原型开发可反复进行,开发早期原型主要用于证实用户需求;6.分析较小的系统时,可以省略分包的活动,在分析大中型系统时,也可按需求先分包,再根据包分工。,4.1.2 面向对象的基本过程,4.1 面向对象分析的基本过程,OOA过程由5项主要活动组成:(1)识别类和对象(2)确定结构(3)确定主题(4)定义属性(5)定义服务根据这些主要活动,OOA模型也由5个层次组成。,4.1.2 面向对象的基本过程,4.1 面向对象分析的基本过程,4.1.2 面向对象的基本过程,4.1 面向对象分析的基本过程,本节要掌握的内容:OO
7、A模型的三个子模型和五个层次,OOA的主要原则(1)抽象原则(2)分类原则(3)聚合原则(4)关联原则(5)消息通信原则(6)粒度控制原则,4.2 面向对象分析的特点,OOA的主要优点(1)(1)OOA是在人类思维组织的基本方法框架下定义并表达 需求,直观性好。(2)便于分析人员集中精力于问题空间的理解和分析,有利于超越系统的复杂性困难。(3)把属性和有关服务方法作为对象整体来看待,比较 自然。(4)使用对象间的最小相关性来分析和说明。这有利于 实行封装性原则,并使OOA适应开发需求的变化,也 有利于制作和提取可复用的部件。,4.2 面向对象分析的特点,OOA的主要优点(2)(5)通过对共性的
8、显式表示而提高表达能力。抽 象层次与后续OOP结合,编程思路清晰,特 别是有利于提高程序效率。(6)分析法与设计法的一致性,密切配合建造一 个问题域模型。(7)对系统族的适用性和可扩展性强,4.2 面向对象分析的特点,1)写什么:需求陈述的内容包括:问题范围,功能需求,性能需求,应用环境及约束条件等。简单地讲,需求陈述应该阐明系统“做什么”,而不管“怎样做”。2)怎么写:文字描述要做到语法正确,内容完整,条理清晰。准确使用名词、动词、形容词和同义词。3)需求陈述作用:需求陈述仅仅是理解用户需求的出发点,千万不可将此陈述当成完整、准确、有效和一成不变的文档。,4.3 需求分析陈述,书写要点,需求
9、陈述举例:,下图所示为自动取款机(ATM)系统,ATM系统,自动取款机(ATM)系统需求陈述:某银行拟开发一个自动取款机系统,它是一个由自动取款机、中央计算机、分行计算机及柜员终端组成的网络系统。ATM和中央计算机由总行投资购买。总行拥有多台ATM,分别设在全市各主要街道上。分行负责提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。该系统的软件开发成本由各个分行分摊。,银行柜员使用柜员终端处理储户提交的储蓄事务。储户可以用现金或支票向自己拥有的某个账户内存款或开新账户。储户也可以从自己的账户中取款。通常,一个储户可能拥有多个账户。柜员负责把储户提交的存款或取款事务输进柜
10、员终端,接收储户交来的现金或支票,或付给储户现金。柜员终端与相应的分行计算机通信,分行计算机具体处理针对某个账户的事务并且维护账户。,拥有银行账户的储户有权申请领取现金兑换卡。使用现金兑换卡可以通过ATM访问自己的账户。目前仅限于用现金兑换卡在ATM上提取现金(即取款),或查询有关自己账户的信息(例如,某个指定账户上的余额)。将来可能还要求使用ATM办理转账、存款等事务。所谓现金兑换卡就是一张特制的磁卡,上面有分行代码和卡号。分行代码惟一标识总行下属的一个分行,卡号确定了这张卡可以访问哪些账户。通常,一张卡可以访问储户的若干个账户,但是不一定能访问这个储户的全部账户。每张现金兑换卡仅属于一个储
11、户所有,但是,同一张卡可能有多个副本,因此,必须考虑同时在若干台ATM上使用同样的现金兑换卡的可能性。也就是说,系统应该能够处理并发的访问。,当用户把现金兑换卡插入ATM之后,ATM就与用户交互,以获取有关这次事务的信息,并与中央计算机交换关于事务的信息。首先,ATM要求用户输入密码,接下来ATM把从这张卡上读到的信息以及用户输入的密码传给中央计算机,请求中央计算机核对这些信息并处理这次事务。中央计算机根据卡上的分行代码确定这次事务与分行的对应关系,并且委托相应的分行计算机验证用户密码。如果用户输入的密码是正确的,ATM就要求用户选择事务类型(取款、查询等)。当用户选择取款时,ATM请求用户输
12、入取款额。最后,ATM从现金出口吐出现金,并且打印出账单交给用户。,基本思想:首先找出与问题域相关的所有候选类与对象,然后从候选类与对象中筛选掉不正确的或不必要的。,4.4.1 获取对象和类,4.4 面向对象的系统分析活动,1、先找出候选的类与对象 寻找类与对象的一般方法:对象是对问题域中相关实体或事物的抽象,既可以是客观实体,也可以是抽象概念。一般划分5类:1)可感知的物理实体:如飞机、汽车、书、房屋等等。2)人或组织:例医生、教师、雇主、计算机系、财务处等。3)应该记忆的事件:如飞行、演出、访问、交通事故等。4)两个或多个对象的相互作用:如购买、纳税、结婚等。5)需要说明的概念:如政策、保
13、险政策、版权法等。按照上述5类抽取和寻找系统的全部必要类和对象。,4.4.1 获取对象和类,4.4 面向对象的系统分析活动,一种寻找对象类的非正式分析方法 名词识别法 这种分析方法以需求陈述为依据,把陈述中的名词作为类与对象的候选者;用形容词或名词作为确定属性的候选者;把动词作为服务(操作)的候选者。,下面以ATM系统为例,说明非正式分析过程。认真阅读ATM需求陈述,从中找出相关名词,可以把它们作为类与对象的初步的候选者:银行,自动取款机(ATM),系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,余
14、额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问。注意:分析员应该根据领域知识或常识进一步把隐含的类与对象提取出来。例如,ATM系统必须包含“通信链路”和“事务日志”实体,应该补充进来。,2.筛选出正确的类与对象候选类与对象可能包括一些不正确的或不必要的类与对象,应该筛选掉,仅保留确那些确实需要记录信息或提供服务的对象。删除不正确或不必要的类与对象的筛选准则:1)冗余:如果两个类表达了同样的信息,则应该保留行业规范名称。ATM例中:储户与用户,现金兑换卡与磁卡及副本分别描述了相同的两类信息,因此,仅保留“储户”和“现金兑换卡”这两个类,应该去掉“用户”、“磁卡”、“副
15、本”等冗余的类。,银行,自动取款机(ATM),系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问,通信链路,事务日志,2)无关:保留与本问题密切相关的类与对象,删除与本问题无关或关系不大的类与对象。ATM系统为例:系统不处理分摊软件开发成本的问题,另外ATM和柜员终端放置的地点与本软件的关系也不大。因此,应该去掉候选类“成本”、“市”、“街道”、“营业厅”和“储蓄所”。,银行,自动取款机(ATM),系统,中央计算机,分行计算机
16、,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问,通信链路,事务日志,3)笼统:删除笼统的、泛指的、模糊的名词对应的候选类与对象,保留有更明确、更具体的名词对应的类与对象。以ATM系统为例:银行实际指总行或分行,访问在这里实际指事务,此外还有一些笼统含糊的名词。在本例中应该去掉“银行”、“网络”、“系统”、“软件”、“信息”、“访问”等候选类。,银行,自动取款机(ATM),系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,
17、营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问,通信链路,事务日志,4)属性:把描述属性的名词应从候选类与对象中去掉。在ATM系统的例子中,“现金”、“支票”、“取款额”、“账单”、“余额”、“分行代码”、“卡号”、“密码”、“类型”等,实际上都应该作为属性对待。,银行,自动取款机(ATM),系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账
18、单,访问,通信链路,事务日志,5)操作:在需求陈述中既可作为名词,又可作为动词的词,应该慎重考虑它们在本问题中的含义,以便正确决定他们作为类还是操作。6)实现:在分析阶段不应该过早地考虑怎样实现目标系统。因此,应该去掉只和实现有关的候选的类与对象。在ATM系统中,“事务日志”是对一系列事务的记录,它的确切表示方式是面向对象设计的议题;“通信链路”在逻辑上是一种联系,在系统实现时它是关联类的物理实现。应该暂时去掉“事务日志”和“通信链路”这两个类,在设计或实现时再考虑它们。,银行,自动取款机(ATM),系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所
19、,柜员,储户,现金,支票,账户,事务,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问,通信链路,事务日志,经过初步筛选,ATM系统保留的类与对象为:ATM、中央计算机、分行计算机、柜员终端、总行、分行、柜员、储户、账户、事务、现金兑换卡。,关联是指两个或多个对象之间的相互依赖、相互作用的关系。分析确定关联,有助于发现尚未被发现的类和对象。一般特殊结构 一般特殊关系又称类属关系,是现实世界中一般对象和特殊对象之间的关系,反映了现实世界中事物之间的分类关系。前者称为父类,后者称为子类,子类继承父类的特性(属性、操作、关联等),同时又拥有自己的特性。,4.4
20、.2 确定关联,4.4 面向对象的系统分析活动,例如图书借阅管理系统中,对象类“人员”是类“管理员”和“借阅者”类的父类,而子类“管理员”又是类“系统维护人员”和类“一般操作人员”的父类。,一般特殊关系,4.4.2 确定关联,4.4 面向对象的系统分析活动,整体部分 对象实例之间的整体部分关系,反映了现实世界中的事物之间的构成关系。整体部分关联又可以从两个方面来反映:聚合关系:表示对象实例之间的整体与部分的关系,作为整体的对象拥有作为部分的对象。在聚合关系中,部分的生命周期独立于整体的生命周期。组合关系:是聚合关系的一种特殊形式。在组合关系中,整体和部分之间有着一致的生命周期。,4.4.2 确
21、定关联,4.4 面向对象的系统分析活动,聚合,组合,4.4 面向对象的系统分析活动,聚合关系,组合关系,4.4.2 确定关联,关联 表示对象实例之间的静态联系,这两个对象实例之间存在某种语义上联系。例如,员工为公司工作,一个公司有许多部门,因此,可以认为员工和公司、公司和部门之间存在某种语义上的联系,如下图所示。,4.4.2 确定关联,4.4 面向对象的系统分析活动,依赖关系 一个模型元素的变化影响另一个模型元素,则两个元素之间存在依赖关系。以X和Y两个元素为例,当修改X的定义时,引起Y的定义的修改,则称Y依赖于X。,4.4.2 确定关联,4.4 面向对象的系统分析活动,确定关联的步骤:1.初
22、步确定关联(候选关联)基本方法:以需求陈述中描述性动词或动词词组为纽带,确定类与对象之间的关联关系。(语法:主语+谓语+宾语)寻找范围:直接提取需求陈述中的动词词组;分析发现陈述中隐含的关联;与用户及领域专家讨论获取关联。,4.4 面向对象的系统分析活动,4.4.2 确定关联,以ATM系统为例,经过分析初步确定出下列关联:1)直接提取动词短语得出的关联ATM、中央计算机、分行计算机及柜员终端组成网络。总行拥有多台ATM。ATM设在主要街道上。分行提供分行计算机和柜员终端。柜员终端设在分行营业厅及储蓄所内。分行分摊软件开发成本。储户拥有账户。分行计算机处理针对账户的事务。分行计算机维护账户。,柜
23、员终端与分行计算机通信。柜员输入针对账户的事务。ATM与中央计算机交换关于事务的信息。中央计算机确定事务与分行的对应关系。ATM读现金兑换卡。ATM与用户交互。ATM吐出现金。ATM打印账单。系统处理并发的访问。,2)需求陈述中隐含的关联总行由各个分行组成。分行保管账户。总行拥有中央计算机。系统维护事务日志。系统提供必要的安全性。储户拥有现金兑换卡。3)根据问题域知识得出的关联现金兑换卡访问账户。分行雇用柜员。,ATM、中央计算机、分行计算机及柜员终端组成网络。总行拥有多台ATM。ATM设在主要街道上。分行提供分行计算机和柜员终端。柜员终端设在分行营业厅及储蓄所内。分行分摊软件开发成本。储户拥
24、有账户。分行计算机处理针对账户的事务。分行计算机维护账户。柜员终端与分行计算机通信。柜员输入针对账户的事务。ATM与中央计算机交换关于事务的信息。中央计算机确定事务与分行的对应关系。,ATM读现金兑换卡。ATM与用户交互。ATM吐出现金。ATM打印账单。系统处理并发的访问。总行由各个分行组成。分行保管账户。总行拥有中央计算机。系统维护事务日志。系统提供必要的安全性。储户拥有现金兑换卡。现金兑换卡访问账户。分行雇用柜员。,候选关联,2.筛选候选关联中包含了一些不正确或不必要的关联,应该删除掉。筛选时主要根据下述标准删除候选的关联:1)已删去的类之间的关联与某个已删候选类相关的关联,也应该删去。以
25、ATM系统为例,由于已经删去了“系统”、“网络”、“市”、“街道”、“成本”、“软件”、“事务日志”、“现金”、“营业厅”、“储蓄所”、“账单”等候选类,因此,与这些类有关的关联也应该删去:,ATM、中央计算机、分行计算机及柜员终端组成网络。ATM设在主要街道上。分行分摊软件开发成本。系统提供必要的安全性。系统维护事务日志。系统处理并发的访问 ATM吐出现金。ATM打印账单。柜员终端设在分行营业厅及储蓄所内。,ATM、中央计算机、分行计算机及柜员终端组成网络。总行拥有多台ATM。ATM设在主要街道上。分行提供分行计算机和柜员终端。柜员终端设在分行营业厅及储蓄所内。分行分摊软件开发成本。储户拥有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息系统 设计 实践 面向 对象 系统分析
链接地址:https://www.31ppt.com/p-5926811.html