- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象分析与设计-分析篇
第二部分:分析篇;课件说明
这组课件是本人多年来在北京大学讲授“面向对象的分析与设计”课程时制作的,随着该领域理论与技术的发展而逐年改进。目前的最新版本所适应的教材是邵维忠、杨芙清合写的著作《面向对象的分析与设计》(清华大学出版社2013年1月)。
为了促进学术交流和资源共享,现将这套课件无偿提供给国内讲授同类课程的教师和同行,欢迎他们在教学工作中使用或作为参考。课件共包括“基础篇”、“分析篇”和“设计篇”三部分,是按照54学时研究生课程制作的,各位教师可根据自己的授课对象及教学计划,对原课件进行剪裁或重新组织。
北京大学信息学院 邵维忠
电子信箱:wzshao@pku.edu.cn
2013年7月2日;第5章 建立需求模型——用况图;问题域
(抽象的来源)
;5.2 基本思路
问题的提出:在系统尚未存在时,如何描绘用户需要一个什么样的系统?如何规范地定义用户需求?
考虑问题的思路:把系统看作一个黑箱,看它对外部的客观世界发挥什么作用,描述其外部可见的行为。;系统边界;现实世界中的事物与系统之间的关系——分四种情况;人员——
系统的直接使用者
直接为系统服务的人员
设备——
与系统直接相联的设备
为系统提供信息
在系统控制下运行
不与系统相连的设备 ×
计算机设备 ×
外系统——
上级系统
子系统
其它系统;什么是用况
I. Jacobson:
用况是通过使用系统功能的某些部分而使用系统的一种具体方式。每个用况包括一个由参与者发动的完整的事件过程。它详细说明了参与者和系统之间发生的交互。因此,一个用况是一个由参与者和系统在一次对话中执行的特定的相关事务序列。全部用况的集合则说明了所有可能存在的系统使用方式。
《对象技术词典》:
1.对一个系统或者一个应用的一种单一的使用方式所进行的描述。
2.关于单个参与者在与系统的对话中所执行的处理的行为陈述序列。
UML:
对系统在与它的参与者交互时所能执行的一组动作序列(包括其变体)的描述。;术语“use case”的准确含义——使用情况
是对一项系统功能使用情况的一般描述,它对于每一次使用都普遍适应,既不是应用实例,也不是举例说明。
——因此译为“用况”,而不是“用例”。
几点说明:
(1)一个用况只描述参与者对单独一项系统功能的使用情况;
(2)通常是平铺直叙的文字描述,UML也允许其他描述方式;
(3)陈述参与者和系统在交互过程中双方所做的事;
(4)所描述的交互既可能由参与者发起也可能由系统发起 ;
(5)描述彼此为对方直接地做什么事,不描述怎么做;
(6)描述应力求准确,允许概括,但不要把双方的行为混在一起;
(7)一个用况可以由多种参与者分别参与或共同参与。 ;内容与书写格式 :
名称
行为陈述(分左右栏)
调用语句
控制语句
括号或标号;如何定义用况;参与者;用况之间的关系
——包含、延伸、泛化;用况的两种复杂情况
1、两个(或多个)参与者共享一个用况
不同种类的参与者可能都要使用某一项系统功能,因此它们可能共享同一个用况;2、一个用况的执行,可能需要两个(甚至多个)参与者同时与系统交互。;用况图的开发过程
确定系统边界
发现参与者
定义用况
建立用况之间的关系
确定参与者和用况之间的关系
绘制用况图 ;概念:
对象(object)是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和施加于这组属性的一组操作构成。
类(class)是具有相同属性和操作的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,它由一个类名、一组属性和一组操作构成。
类和对象的关系——集合与成员,对象是类的实例
;
主动对象(active object)——至少有一个操作不需要接收消息就能主动执行的对象
用于描述具有主动行为的事物
主动对象的类叫做主动类(active class)
被动对象(passive object) ——每个操作都必须在消息的驱动下才能执行的对象;类的语义;在类的抽象层次建模;如何运用类和对象的概念;类 名;对象名:类名;6.3 发现对象;正确地运用抽象原则
对什么进行抽象——问题域
当前目标——系统责任;由系统管理或使用其信息,或者在系统中呈现某些行为的各类人员;(2)考虑系统边界:
考察在系统边界以外与系统交互的各类参与者
考虑通过那些对象处理这些参与者的交互;审查与筛选;(2)对象的精简
只有一个属性的对象;(3)与实现条件有关的对象
例如:与
图形用户界面(GUI)
数据管理系统
硬件 及
操作系统 有关的对象
——推迟到OOD考虑;6.4 对象分类;(3)类的命名
类的名字应适合该类(及其特殊类)的全部对象实例
反映个体而不是群体
使用名词 或 带定语的名词
避免市井俚语和无意义的符号
使用问题域通用的词
文档评论(0)