当前位置:
文档之家› 信息系统分析与设计 第六章 面向对象的系统分析与设计
信息系统分析与设计 第六章 面向对象的系统分析与设计
模型可以使人们从全局上把握系统的全貌及其相关部件之间的 联系,可以防止人们过早地陷入各个模块的细节。因此,面向 对象的分析和设计应该从( 建模 )开始。
面向对象的系统分析
Booch OMT OOSE
面对众多的建模语言,用 户没有能力区别不同语言 之间的差别,因此很难找 到一种比较适合其应用特 点的语言。另外,在众多 的建模语言中,实际上各 有千秋,需要取长补短, 日臻完善。第三,虽然不 同的建模语言大多相同, 但仍存在某些细微的差别。 极大地妨碍了用户之间的 交流。
※用户需求分析--用例图* 用例图:描述系统外部角色(执行者)与系统提供的用例之间 的某种联系。 用例的作用?--面向对象的所有工作是用例驱动的。 用例(Use Case):是指对系统提供的功能的一种描述。
用例按详细程度可以分为:高层用例和扩展用例。
高层用例以简洁的方式来描述一个过程,可快速获得对系统整体过程的 理解。而扩展用例也叫用例场景,对一个过程的描述要比高层用例详细得多, 在格式上具有典型的事件发生过程。
面向对象的系统分析
面向对象中的几个概念*
对象(Object):可以看作其自身所具有的状态特征及可以 对这些状态施加的操作结合在一起所构成的独立实体。 类:(Class):类是具有相同属性和服务的一组对象的集合。 消息(Message):消息是面向对象发出的服务请求。 封装(Encapsulation):把对象的属性和服务结合成一个 独立的系统单位,尽可能隐蔽对象的内部细节。 继承(Inheritance):即“自动地拥有”,特殊类可以自动 地拥有其一般类定义的所有属性与服务。 多态(Polymorphism):描述同一个消息可以根据发送消 息对象的不同,采用多种不同的行为方式。
面向对象的系统分析
想一想: 以上绘制的用例图的作用是什么?是否还存在一定的缺陷。
高层用例图直观地描述了信息系统功能。但不能反映各功 能的详细内容,以及用户在使用这个功能时与信息系统交互的 内容和交互过程。而这些内容又是理解功能的必要材料,所以 需要对每一个用例进行说明。
用例描述是对用例图中的用例做出的说明。在用例说明中, 需要描述用例的编号、名称、角色和用例的功能以及交互过程。
面向对象的系统分析
通过黑盒方法绘制了高层用例后,还需采用白盒法在用例场景中采用文 字书写该用例的实现过程。而对于复杂的用例,由于处理流程复杂,可以 采用活动图来描述用例场景的内容。*
起始 动作状态
转移 决策
活动3.1 活动4.1
面向对象的系统分析
问题背景: 需要强调的是,面向对象不仅是一种程序设计方法,更重要的 是,它是一种对真实世界的抽象思维方式。随着计算机应用的 飞速发展,软件的复杂程度不断提高,源代码的规模越来越大, 项目失败的可能性也相应增加。在长期的研究与实践中,人们 愈来愈深刻地认识到,建立简明准确的( 表示模)型是把握复 杂系统的关键。
面向对象的系统分析
用例中各种关系的说明:* 1、关联关系是指两者之间有信息交流。只能用于角色和用例之
间的“通信”。
2、包含关系也叫使用关系,只能用于两个用例之间。一般是指 一个用例使用了另一个用例的行为或功能,它允许将不同用例 中的共同行为抽取出来放到另一个独立的用例当中。(例)
3、扩展关系是指一个用例与另一个用例相似,但比另外一个所 做的动作多一些,或者将常规的动作放在基本用例中,将非常 规动作放在它的扩展中。扩展关系只能用于两个用例之间。
UML
因此,在客观上,极有必要在精心比较不同建模语言的优缺点及 总结面向对象技术应用实践的基础上,努力统一这些建模语言。
面向对象的系统分析
例:使用Booch方法和OMT方法描述的系统用例图。
存钱 取钱
存钱 取钱
客户 客户
转账 查询余额
转账 查询余额
面向对象的系统分析
面向对象的系统分析与设计
一、UML简介 二、基于UML的面向对象的系统分析 1、定义基本用例--需求分析 2、建立概念模型--概念类分析 3、建立系统行为--顺序图 4、定义系统操作契约 三、基于UML的面向对象的系统设计
面向对象的系统分析
用例图:显示了角色 、用例和 用例之间的关系 的图形。
角色:
是系统之外的人员或外部系统
用例:
是系统需要完成的各项功能
(1)关联关系 各个部分的关系: (2)包含(Include)关系
*掌握其图形 表示及使 用对象
(3)扩展(Extend)关系 (4)泛化关系
<<include>> <<extend>>
大影响的问题; (4)创建一种对人和机器都适用的建模语言。
面向对象的系统分析
关于UML的几个要点:*
1、UML是一种建模语言,而不是一种方法。 2、UML统一了面向对象建模的基本概念、术语及其图形符号。 3、UML能够有力地支持从需求分析开始的软件开发的全过程。 4、UML是标准的语言,而不是标准的开发过程。 5、UML采用的是一种图形表示法,是一种可视化的图形建模
面向对象的系统分析
例:“注册选课”的高层用例
用例 角色 类型 描述
注册选课 学生(发起者)
主要的 学生从所开设的课程列表中选择课程,并生成课程
表
此外,用例按重要程度分为主要用例、次要用例和可选用例三种。 主要用例:代表了那些主要的过程; 次要用例:代表那些不重要的或者是不常见的用例; 可选用例:代表那些可以处理也可以不处理的用例。
面向对象的系统分析
课堂讨论
通过对结构化方法的学习,谈谈你的体会。 结构化方法的基本原理; 结构化方法的工作阶段; 结构化方法工作的重点和难点; 结构化方法的局限和不足。
面向对象的系统分析
面向对象方法的基本原理
面向对象方法是分析问题和解决问题的新方法,其基 本出发点就是尽可能按照人类认识世界的方法和思维方式 来分析和解决问题。客观世界是由许多具体的事物或事件, 抽象的概念和规则等组成的,因此,我们将任何感兴趣或 要加以研究的事、物、概念都称为对象。面向对象的方法 正是以对象作为最基本的元素,这也是分析问题,解决问 题的核心。
面向对象的系统分析
业务需求
需求分类
视图与范围文档
用户需求
用例文档
功能需求
质量属性
其他非功能 需求
约束条件
需求规格说明
面向对象的系统分析
用包图来描述信息系统的业务需求结构。 每一个需求用一个需求包来表示,包与包之间 用组成关系关联起来,包可以逐层分解,构成 分层信息系统需求结构。
面向对象的系统分析
面向对象的系统分析
1、定义基本用例--需求分析
需求包括三个不同的层次:业务需求、用户需求 和功能需求。*
业务需求反映了组织机构或客户对系统高层次的 目标要求,它们在系统的视图与范围文档中予以说明; 用户需求描述了用户使用系统必须要完成的任务,它 使用用例(use case)及其用例场景予以说明;功能需 求定义了开发人员必须实现的软件功能。
面向对象的系统分析
面向对象的系统分析
面向对象的系统分析
面向对象的系统分析
面向对象的系统分析
面向对象的系统分析
面向对象的系统分析
面向对象的系统分析
二、基于UML的面向对象分析
面向对象分析阶段的基本过程:* 1、基于用例模型从外部用户的角度捕获系统的行为,即 系统应该响应的主要事件 2、使用类图定义系统领域主要概念之间的关系,形成系 统的概念模型,它表达了系统对应的事物部分 3、采用顺序图对系统操作行为进行描述,系统行为描述 了系统做什么,而不解释系统怎么做 4、基于概念模型、系统顺序图和系统操作建立系统操作 的契约。
面向对象的系统分析
黑盒方法和白盒方法*
对用例图绘制持有的两种观点: 一种是认为仅需从“外部”视图描述系统即可,另外一种认为 仅仅有外部描述还远远不够,用例中还必须包括一些重要的系 统行为。
仅从外部视图描述用例,采用的是黑盒方法(black box)。 在用例描述中包括对支持达到外部角色的目标所需要的系统行 为,采用的是白盒方法(white box)。
4、泛化关系指抽象与具体的关系。既可以用在角色之间也可以 用在用例之间。
面向对象的系统分析
学生
学生有关用例
注册选课
包含关系
*
-结束5
<<*uses>>-结束6
<<uses>>
查看成绩单
登录
*
-结束7
*
-结束8
将其共同的行为抽取出来
说明:“注册选课”用例使用了“登录”用例,它表示 在执行“注册选课”流程过程中,同时执行了“注册选 课”和“登录”两个用例。
面向对象的系统分析
1、什么是UML? 2、与面向对象方法之间有何关系? 一、统一建模语言UML (Unified modeling language)
定义:UML代表统一建模语言,是使用面向对象概念进行系统 建模的一组表示法,它已成为面向对象领域标准的建模图形。*
面向对象的系统分析
设计者为UML设定的目标: (1)运用面向对象概念来构造系统模型; (2)建立起从概念模型直到可执行体之间明显对应关系; (3)为复杂的系统建立衡量标准,同时应着眼于那些有重
语言。 6、UML包含静态建模机制和动态建模机制两大类。
面向对象的系统分析
RUP(Rational Unified Process )
RUP也称统一软件开发过程,统一软件过程。RUP是一个 面向对象且基于网络的程序开发方法论。根据Rational公司的 说法,好像一个在线的指导者,它可以为所有方面和层次的程 序开发提供指导方针,模版以及事例支持。 RUP把开发中面向 过程的方面(例如定义的阶段,技术和实践)和其他开发的组 件(例如文档,模型,手册以及代码等等)整合在一个统一的 框架内。