面向对象的分析与设计课件-分析篇.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《面向对象的分析与设计课件-分析篇.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 分析 设计 课件
- 资源描述:
-
1、北京大学信息科学技术学院北京大学信息科学技术学院主讲教师:邵维忠主讲教师:邵维忠2北京大学信息学院研究生课程面向对象的分析与设计2课件说明课件说明 这组课件是本人多年来在北京大学讲授这组课件是本人多年来在北京大学讲授“面向对象的面向对象的分析与设计分析与设计”课程时制作的,随着该领域理论与技术的发课程时制作的,随着该领域理论与技术的发展而逐年改进。目前的最新版本所适应的教材是邵维忠、展而逐年改进。目前的最新版本所适应的教材是邵维忠、杨芙清合写的著作杨芙清合写的著作面向对象的分析与设计面向对象的分析与设计(清华大学(清华大学出版社出版社20132013年年1 1月)。月)。为了促进学术交流和资源
2、共享,现将这套课件无偿提为了促进学术交流和资源共享,现将这套课件无偿提供给国内讲授同类课程的教师和同行,欢迎他们在教学工供给国内讲授同类课程的教师和同行,欢迎他们在教学工作中使用或作为参考。课件共包括作中使用或作为参考。课件共包括“基础篇基础篇”、“分析篇分析篇”和和“设计篇设计篇”三部分,是按照三部分,是按照5454学时研究生课程制作的学时研究生课程制作的,各位教师可根据自己的授课对象及教学计划,对原课件,各位教师可根据自己的授课对象及教学计划,对原课件进行剪裁或重新组织。进行剪裁或重新组织。北京大学信息学院北京大学信息学院 邵维忠邵维忠电子信箱:电子信箱:20132013年年7 7月月2
3、2日日3北京大学信息学院研究生课程面向对象的分析与设计3第第5 5章章建立需求模型建立需求模型用况图用况图5.1 需求分析和系统分析需求分析和系统分析需求分析需求分析的确切含义是对用户需求进行分析,旨在产生一份的确切含义是对用户需求进行分析,旨在产生一份明确、规范的需求定义。明确、规范的需求定义。OOA的主要内容是研究问题域中与需求有关的事物,把它们的主要内容是研究问题域中与需求有关的事物,把它们抽象为系统中的对象,建立类图。确切地讲,这些工作应该抽象为系统中的对象,建立类图。确切地讲,这些工作应该叫做叫做系统分析系统分析,而不是严格意义上的需求分析。,而不是严格意义上的需求分析。早期的早期的
4、OOA缺乏一个良好的基础缺乏一个良好的基础对需求的规范描述。对需求的规范描述。需求说明需求说明需求分析需求分析健壮分析健壮分析需求模型需求模型分析模型分析模型分析过程分析过程Jacobson方法(方法(OOSE)提出用况()提出用况(use case)概念,)概念,解决了对需求的描述问题,其分析过程如下:解决了对需求的描述问题,其分析过程如下:4北京大学信息学院研究生课程面向对象的分析与设计4问题域问题域(抽象的来源)(抽象的来源)OOA模型模型(类图)(类图)抽象抽象OOA是将问题域中的事物抽象为系统中的对象是将问题域中的事物抽象为系统中的对象系统责任系统责任(抽象的目标)(抽象的目标)抽象
5、的目标是系统责任抽象的目标是系统责任需求需求用况的概念解决了对需求的描述问题用况的概念解决了对需求的描述问题需求模型需求模型(用况图)(用况图)5北京大学信息学院研究生课程面向对象的分析与设计55.2 5.2 基本思路基本思路问题的提出:问题的提出:在系统尚未存在时,如何描绘用户需要一个什么样的系统?如何规范地定义用户需求?考虑问题的思路:考虑问题的思路:把系统看作一个黑箱,看它对外部的客观世界发挥什么作用,描述其外部可见的行为外部可见的行为。系统是由一条系统是由一条边界包围起来边界包围起来的未知空间的未知空间只通过有限只通过有限的几个接口的几个接口与外部交互与外部交互系统边界以外系统边界以外
6、是与系统进行是与系统进行交互的参与者交互的参与者把内外交互情况描把内外交互情况描述清楚,就确切地述清楚,就确切地定义了系统的需求定义了系统的需求6北京大学信息学院研究生课程面向对象的分析与设计6系统边界系统边界系统边界:系统边界:一个系统所包含的所有系统成分与系统以外一个系统所包含的所有系统成分与系统以外各种事物的分界线。各种事物的分界线。系统:系统:被开发的计算机软硬件系统,不是指现实系统。被开发的计算机软硬件系统,不是指现实系统。系统成分:系统成分:在在OOA和和OOD中定义并且在编程时加以实中定义并且在编程时加以实现的系统元素现的系统元素对象对象对对象象对象对象对象对象对象对象对象对象对
7、象对象参与者参与者(人员人员)参与者参与者(设备设备)参与者参与者(外系统外系统)参与者:参与者:在系在系统边界以外,统边界以外,与系统进行交与系统进行交互的事物互的事物人员、设备、人员、设备、外系统外系统5.3 系统边界与参与者系统边界与参与者7北京大学信息学院研究生课程面向对象的分析与设计7系统边界:系统边界:一个系统所包含的所有系统成分与系统以外一个系统所包含的所有系统成分与系统以外各种事物的分界线。各种事物的分界线。5.3 系统边界与参与者系统边界与参与者 责任的边界,不是物理的边界 系统的范围有多大与开发者的责任有关8北京大学信息学院研究生课程面向对象的分析与设计8参与者:参与者:在
8、系统边界以外,与系统进行交互的事物在系统边界以外,与系统进行交互的事物人员人员、设备、外系统、设备、外系统5.3 系统边界与参与者系统边界与参与者9北京大学信息学院研究生课程面向对象的分析与设计9现实世界中的事物与系统之间的关系现实世界中的事物与系统之间的关系分四种情况分四种情况(1)被抽象为系统中的对象)被抽象为系统中的对象汽车飞机奖杯钟表起重机职员楼房天平(2)只作为系统外部的参与者与系统交互)只作为系统外部的参与者与系统交互(4)与系统无关)与系统无关操作员(3)既是系统中的对象,本身又作为参与者与系统交互)既是系统中的对象,本身又作为参与者与系统交互10北京大学信息学院研究生课程面向对
9、象的分析与设计10人员人员系统的直接使用者系统的直接使用者直接为系统服务的人员直接为系统服务的人员设备设备与系统直接相联的设备与系统直接相联的设备为系统提供信息为系统提供信息在系统控制下运行在系统控制下运行不与系统相连的设备不与系统相连的设备 计算机设备计算机设备 外系统外系统上级系统上级系统子系统子系统其它系统其它系统如何发现参与者如何发现参与者考虑人员、设备、外系统考虑人员、设备、外系统11北京大学信息学院研究生课程面向对象的分析与设计111 1、对于银行存取款业务来说,下面列出的人员、设备与系、对于银行存取款业务来说,下面列出的人员、设备与系统哪些是系统参与者?哪些是系统内的对象?统哪些
10、是系统参与者?哪些是系统内的对象?储户、柜员、大堂经理、业务经理、密码器、打印机、摄像储户、柜员、大堂经理、业务经理、密码器、打印机、摄像设备、设备、ATMATM机、维修技师、机、维修技师、2 2、为下图界定系统边界,指出系统的参与者。、为下图界定系统边界,指出系统的参与者。练习:练习:12北京大学信息学院研究生课程面向对象的分析与设计12什么是用况什么是用况I.Jacobson:用况是通过使用系统功能的某些部分而使用系统的一种具体方式。每个用况是通过使用系统功能的某些部分而使用系统的一种具体方式。每个用况包括用况包括一一个个由参与者发动的由参与者发动的完整的事件过程。它详细说明了参与者和完整
11、的事件过程。它详细说明了参与者和系统之间发生的交互。因此,一个用况是一个由参与者和系统在一次对系统之间发生的交互。因此,一个用况是一个由参与者和系统在一次对话中执行的特定的相关事务序列。全部用况的集合则说明了所有可能存话中执行的特定的相关事务序列。全部用况的集合则说明了所有可能存在的系统使用方式。在的系统使用方式。对象技术词典对象技术词典:1对一个系统或者一个应用的一种单一的使用方式所进行的描述。对一个系统或者一个应用的一种单一的使用方式所进行的描述。2关于关于单个参与者单个参与者在与系统的对话中所执行的处理的行为陈述序列。在与系统的对话中所执行的处理的行为陈述序列。UML:对对系统系统在与它
12、的参与者交互时所能执行的一组动作序列(包括其变体)在与它的参与者交互时所能执行的一组动作序列(包括其变体)的描述。的描述。?本书的定义:本书的定义:用况是对参与者使用系统的一项功能时所进行的交互过程用况是对参与者使用系统的一项功能时所进行的交互过程的描述,其中包含由双方交替执行的一系列动作。的描述,其中包含由双方交替执行的一系列动作。5.4 用况(用况(use case)13北京大学信息学院研究生课程面向对象的分析与设计13术语术语“use case”use case”的准确含义的准确含义使用情况使用情况是对一项系统功能使用情况的一般描述,它对于每一次使是对一项系统功能使用情况的一般描述,它对
13、于每一次使用都普遍适应,既不是应用实例,也不是举例说明。用都普遍适应,既不是应用实例,也不是举例说明。因此译为因此译为“用况用况”,而不是,而不是“用例用例”。几点说明:几点说明:(1 1)一个用况只描述参与者对一个用况只描述参与者对单独一项单独一项系统功能的使用情况;系统功能的使用情况;(2 2)通常是平铺直叙的)通常是平铺直叙的文字文字描述,描述,UMLUML也允许其他描述方式;也允许其他描述方式;(3 3)陈述参与者和系统在交互过程中)陈述参与者和系统在交互过程中双方双方所做的事;所做的事;(4 4)所描述的交互既可能由所描述的交互既可能由参与者发起参与者发起也可能由也可能由系统发起系统
14、发起;(5 5)描述彼此为对方)描述彼此为对方直接地直接地做什么事,不描述怎么做;做什么事,不描述怎么做;(6 6)描述应力求准确,允许概括,但)描述应力求准确,允许概括,但不要把双方的行为混在一起不要把双方的行为混在一起;(7 7)一个用况可以由一个用况可以由多种参与者多种参与者分别参与或共同参与。分别参与或共同参与。14北京大学信息学院研究生课程面向对象的分析与设计14识别用况的关注点:识别用况的关注点:(1 1)用况是用来探索需求的)用况是用来探索需求的15北京大学信息学院研究生课程面向对象的分析与设计15识别用况的关注点:识别用况的关注点:(2 2)用况是给系统外部的参与者(人而非系统
15、)看的)用况是给系统外部的参与者(人而非系统)看的用人好懂的语言描述、用况要从参与者的角度命名用人好懂的语言描述、用况要从参与者的角度命名16北京大学信息学院研究生课程面向对象的分析与设计16识别用况的关注点:识别用况的关注点:(3 3)用况的含义是使用的情况,是人的使用情况,是对系统)用况的含义是使用的情况,是人的使用情况,是对系统外的人有用的外的人有用的用况描述的功能是外部可见的行为、是对人来说有价值的行用况描述的功能是外部可见的行为、是对人来说有价值的行为、一个用况体现的是一项人可用的功能为、一个用况体现的是一项人可用的功能17北京大学信息学院研究生课程面向对象的分析与设计17立足开发者
16、的视角系统要求用户输入合法的密码系统能够接受用户录入取款金额系统能够从帐户中扣除取款金额系统允许选择“打印或不打印收据”系统能够显示交易结束信息立足用户视角用户插入ATM卡系统要求输入密码用户输入密码系统验证密码正确系统提示用户输入取款金额用户输入取款金额并确认系统验证取款金额合法系统从帐户中扣除取款金额系统询问用户是否打印收据用户要求不打印收据系统显示“交易结束”,退卡(4 4)一个用况描述的功能是参与者与系统共同完成的)一个用况描述的功能是参与者与系统共同完成的识别用况的关注点:识别用况的关注点:描述用况时从参与者和系统两个角度进行、只写外部可见的描述用况时从参与者和系统两个角度进行、只写
17、外部可见的、不写内部的处理细节、不写内部的处理细节18北京大学信息学院研究生课程面向对象的分析与设计18内容与书写格式内容与书写格式:名称名称行为陈述(分左右栏)行为陈述(分左右栏)调用语句调用语句控制语句控制语句括号或标号括号或标号收款收款输入开始本次收款的命令;作好收款准备,应收款总作好收款准备,应收款总 数置为数置为0 0,输出提示信息;,输出提示信息;forfor 顾客选购的每种商品 dodo 输入商品编号;ifif 此种商品多于一件 thenthen 输入商品数量 end ifend if;检索商品名称及单价;检索商品名称及单价;货架商品数减去售出数;货架商品数减去售出数;if 货架
18、商品数低于下限货架商品数低于下限 then call 通知上货通知上货 end if;计算本种商品总价并打印编号、计算本种商品总价并打印编号、名称、数量、单价、总价;名称、数量、单价、总价;总价累加到应收款总数;总价累加到应收款总数;end forend for;打印应收款总数;打印应收款总数;输入顾客付款数;计算应找回款数,计算应找回款数,打印付款数及找回款,打印付款数及找回款,应收款数应收款数计入账册。计入账册。例例19北京大学信息学院研究生课程面向对象的分析与设计19用况描述的三个特点:用况描述的三个特点:(1 1)明显地区分参与者的)明显地区分参与者的行为和系统的行为;行为和系统的行为
19、;(2 2)通过调用语句明确地)通过调用语句明确地表示一个用况对另一个用表示一个用况对另一个用况的引用;况的引用;(3 3)引入控制语句、括号)引入控制语句、括号等结构化成分,更利于表等结构化成分,更利于表达复杂的用况内容。达复杂的用况内容。收款收款输入开始本次收款的命令;作好收款准备,应收款总作好收款准备,应收款总 数置为数置为0 0,输出提示信息;,输出提示信息;forfor 顾客选购的每种商品 dodo 输入商品编号;ifif 此种商品多于一件 thenthen 输入商品数量 end ifend if;检索商品名称及单价;检索商品名称及单价;货架商品数减去售出数;货架商品数减去售出数;i
20、f 货架商品数低于下限货架商品数低于下限 then call 通知上货通知上货 end if;计算本种商品总价并打印编号、计算本种商品总价并打印编号、名称、数量、单价、总价;名称、数量、单价、总价;总价累加到应收款总数;总价累加到应收款总数;end forend for;打印应收款总数;打印应收款总数;输入顾客付款数;计算应找回款数,计算应找回款数,打印付款数及找回款,打印付款数及找回款,应收款数应收款数计入账册。计入账册。例例20北京大学信息学院研究生课程面向对象的分析与设计20如何定义用况如何定义用况针对单个用况的描述策略:针对单个用况的描述策略:把自己当作参与者,与设想中的系统进行交互。
21、考虑:交互的目的是什么?需要向系统输入什么信息?希望由系统进行什么处理并从它得到何种结果?把上述交互过程描述出来。定义系统中所有的用况:定义系统中所有的用况:(1)全面地了解和收集用户所要求的各项系统功能,找出所有的参与者,了解与各项功能相关的业务流程;(2)把用户提出的功能组织成适当的单位,每一项功能完成一项完整而相对独立的工作;(3)穷举每一类参与者所使用的每一项系统功能,定义相应的用况;(4)检查用户对系统的各项功能需求是否都通过相应的用况做了描述。21北京大学信息学院研究生课程面向对象的分析与设计21参与者参与者基用况基用况 includeextendinclude用况用况 基用况基用
22、况 基用况基用况 被包含用况被包含用况 延伸用况延伸用况 用况用况 5.5 5.5 用况图用况图参与者参与者参与者参与者模型元素:模型元素:参与者参与者用况用况延伸延伸包含包含泛化泛化5.5 5.5 用况图用况图22北京大学信息学院研究生课程面向对象的分析与设计22用况之间的关系用况之间的关系包含、延伸、泛化包含、延伸、泛化包含包含23北京大学信息学院研究生课程面向对象的分析与设计23包含关系(include)包含关系将一个用况合并到另一个用况的行为序列中。位于两个用况之间的包含关系意味着显式地在其指定位置将包含进来,使其成为 被包含的用况就像是子程序它表示那些必须要重复描述的行为。在具有包含
23、关系的两个用况中,被包含的那个用况,它只能以实例的形式存在于包含它的用况之中24北京大学信息学院研究生课程面向对象的分析与设计24用况之间的关系用况之间的关系包含、延伸、泛化包含、延伸、泛化延伸延伸25北京大学信息学院研究生课程面向对象的分析与设计25扩展关系给用况添加增量细节。与包含的区别 当一个用况有时,可以用扩展关系对其进行扩展,使得此基用况的不同子流程能在不同的情形下以扩展用况的形式被激活。延伸关系(extend,扩展)26北京大学信息学院研究生课程面向对象的分析与设计26 注意的问题用况关系-包含和延伸27北京大学信息学院研究生课程面向对象的分析与设计27用况之间的关系用况之间的关系
24、包含、延伸、泛化包含、延伸、泛化Perform ATMPerform ATMTransactionTransactionWithdrawWithdrawDepositDepositFundsFunds泛化泛化Transfer Transfer FundsFunds 28北京大学信息学院研究生课程面向对象的分析与设计28用况的两种复杂情况用况的两种复杂情况1 1、两个(或多个)参与者共享一个用况、两个(或多个)参与者共享一个用况不同种类的参与者可能都要使用某一项系统功能,因不同种类的参与者可能都要使用某一项系统功能,因此它们可能共享同一个用况此它们可能共享同一个用况例:例:系统维护系统维护登录登
25、录系统管理员系统管理员普通用户普通用户29北京大学信息学院研究生课程面向对象的分析与设计292、一个用况的执行,可能需要两个(甚至多个)参与者同时一个用况的执行,可能需要两个(甚至多个)参与者同时与系统交互。与系统交互。例:网上购物例:网上购物网上购物客户供货商30北京大学信息学院研究生课程面向对象的分析与设计30用况图的开发过程用况图的开发过程确定系统边界:与外部事物的界限确定系统边界:与外部事物的界限发现参与者:所有与系统直接交互的人、设备、外系统发现参与者:所有与系统直接交互的人、设备、外系统 定义用况:定义用况、描述用况定义用况:定义用况、描述用况 建立用况之间的关系:包含、延伸、泛化
展开阅读全文