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