09、面向对象分析

合集下载

第9章 面向对象的分析设计方法

第9章  面向对象的分析设计方法

第9章 面向对象的分析设计方法
9.1 面向对象的分析与设计方法概 述
面向对象技术是当前的热门话题,也是软件开发方法 的潮流和方向。面向对象方法的形成最初是从面向对象程 序设计语言开始的,随后才逐渐形成了面向对象的分析和 设计。面向对象是近几十年来国内外IT行业最为关注的技 术之一,面向对象技术是一种按照人们对现实世界习惯的 认识论和思维方式来研究和模拟客观世界的方法学。它将 现实世界中的任何事物都视为“对象”,将客观世界看成 是由许多不同种类的对象构成的,每一个对象都有自己的 内部状态和运动规律,不同对象之间的相互联系和相互作 用就构成了完整的客观世界。面向对象方法(Object Oriented,简称OO方法)克服了传统的功能分解方法只能 单纯反映管理功能的结构状态、数据流程模型只侧重反映 事物的信息特征和流程、信息模拟只能被动地迎合实际问 题需要等缺点,构成以系统对象为研究中心,为信息管理 系统的分析与设计提供了一种全新的方法。
第9章 面向对象的分析设计方法
面向对象方法就是以对象为中心、以对象为出发点的方 法。在应用领域中有意义的、与所要解决的问题有关系的任 何人或事物(即我们说的实体)都可以作为对象,它既可以 是具体的物理实体的抽象,也可以是人为的概念,或者是任 何有明确边界和意义的事物或东西。在面向对象方法中,对 象是一组数据(属性)和施加于这些数据上的一组操作代码 (操作)构成的独立类体。换言之,对象是一个有着各种特 殊属性(数据)和行为方式(方法)的逻辑实体。对象是一 个封闭体,它向外界提供一组接口界面,外界通过这些接口 与对象进行交互,这样对象就具有较强的独立性、自治性和 模块性,从而为软件的重用奠定了坚实的基础。
第9章 面向对象的分析设计方法
第9章 面向对象的分析设计方法 章

什么是面向对象「什么是面向对象分析方法」

什么是面向对象「什么是面向对象分析方法」

什么是面向对象「什么是面向对象分析方法」面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。

面向对象其实是现实世界模型的自然延伸现实世界中任何实体都可以看作是对象对象之间通过消息相互作用另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例如果说传统的面向过程式编程语言是以过程。

在我理解,面向对象是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例面向对象的编程是以对象为中心,以消息为驱动,所以程序=对。

面向对象是指一种程序设计范型,同时也是一种程序开发的方法对象指的是类的集合它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性灵活性和扩展性起初,“面向对象”是专指在程序设计中采用封装。

面向对象相比于面向过程,是两种不同的处理问题的角度面向过程更注重事情的每一个步骤和以及顺序,面向对象更注重事件有哪些参与者,以及各自需要什么比如洗衣机洗衣服,面向过程将会把任务解析成一系列步骤,打开洗衣机放。

面向对象Object Oriented,OO是当前计算机界关心的重点,它是90年代软件开发方法的主流面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围如数据库系统交互式界面应用结构应用平台分布式系统网络管理结构CAD。

你好面向对象就是指把一个应用程序看成是由许多“对象object”组成的,然后去对这些对象编程,让它们具有一定的功能类是具有相同或相似性质的对象的抽象就是类因此,对象的抽象是类,类的具体化就是对象,也可以说。

面向对象如果我没记错的话应该是一门Java语言吧,我记得上大学学计算机的时候学过一点,当然不是计算机专业的,学的水过地皮湿,都是点皮毛而已,具体的你可以找一下计算机相关方面的书来看一下。

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在。

面向对象分析方法

面向对象分析方法

面向对象分析方法面向对象分析方法是以系统的用户和目的为出发点的一种分析技术,它主要用于分析系统中的物体(对象)之间的关系,以及这些物体所具有的通用性质,以便将它们组织为一个可使用的整体系统。

在软件开发中,面向对象分析方法用于发现和描述系统中的对象,以及它们之间的关系,并将这些对象组织为可重用的模块,以便用于系统的设计和实现。

面向对象分析方法包括四个主要步骤: 1、识别对象:根据系统的用户和目的,识别系统中的对象,并确定它们之间的关系。

2、分析对象:对系统中的对象进行进一步分析,以便更好地理解它们之间的关系。

3、确定对象的功能:确定系统中的对象应该具有的功能,以及它们之间的关系应该如何实现。

4、设计对象结构:考虑到对象之间的关系,设计系统的对象结构,以便将它们组织为可重用的模块。

面向对象分析方法有助于定义和分析系统中的对象以及它们之间的关系,从而准备进行软件设计和实现。

它能够帮助开发人员更好地理解系统的用户和目的,以及系统的功能和结构,从而有效地实现软件开发过程。

首先,面向对象分析可以帮助开发人员确定和识别系统中的对象,以及它们之间的关系。

通过分析用户和目的,开发人员可以确定用户可能会使用的对象,以及这些对象之间的关系。

在确定系统中的对象之后,开发人员可以分析这些对象,以便更好地理解它们之间的关系。

其次,面向对象分析可以帮助开发人员确定系统中的对象应该具有的功能,以及它们之间的关系应该如何实现。

通过分析用户和目的,开发人员可以确定每个对象应具有的功能,以及它们之间的关系应该如何实现。

最后,面向对象分析可以帮助开发人员设计系统的对象结构,以便将它们组织为可重用的模块。

在设计对象结构时,开发人员需要考虑到对象之间的关系,以及它们应该如何被组织和重用。

总之,面向对象分析方法是一种帮助开发人员确定和分析系统中的对象以及它们之间的关系的技术,从而为软件设计和实现提供依据。

它可以帮助开发人员确定系统中的对象,以及它们应该具有的功能和结构,从而有助于软件开发过程的有效实施。

面向对象 分析方法

面向对象 分析方法

面向对象分析方法面向对象分析方法(Object-Oriented Analysis, OOA)是一种软件开发中的分析方法,它主要是从对象的角度对系统进行分析,以便确定系统的需求,并定义系统中的对象和关系。

首先,面向对象分析方法强调对象的概念。

对象有状态,行为和标识,面向对象的分析方法的主要目的是理解系统对象。

分析中的对象通常是从现实世界中抽象的概念。

它们可以是具有属性以及可以执行的操作的任何事物,从人、动物、物品到商业概念和过程。

其次,面向对象分析方法强调抽象的重要性。

抽象是利用模型对信息进行缩减和简化的过程,以使得更容易理解精华、关键概念、规则和限制等. 面向对象分析方法通常以业务范畴对象的类的描述的概念模型开展。

应用程序的最终设计不同于一个概念模型,但它通常从这个带着剖析方法的模型开始。

接下来,面向对象分析方法规范化的技术是UML,即Unified Modeling Language。

UML是指一个由许多图表构成的项目和一些相关规范。

它是一个图形化的建模语言,可用于实现面向对象的分析、设计和构造。

UML 图表类型包括类图、用例图、对象图、时序图、通信图等, 主要用于完成对象指导的概念和设计。

最后,面向对象分析方法是软件开发过程中各阶段之间的桥梁。

它的主要目的是促进清晰的沟通,促进团队合作,并确保开发人员在开发那些与系统需求相符的代码时有一致的理解。

此外,它帮助开发人员对需求进行分析,确保大家共享对系统的理解。

这使得开发团队更加有效和掌握问题的机会。

综上所述,面向对象分析方法是一种强调对象概念和抽象的分析方法,它的最终目标是为确保开发人员有一致的理解并开发切合需求的代码。

这个方法在软件开发生命周期的各个阶段起到一个支撑作用,并且通过UML 规范化技术来完成。

对于当前的软件开发,需要理解和应用面向对象分析方法来提高开发的工作效率和程序的质量。

面向对象分析方法名词解释

面向对象分析方法名词解释

面向对象分析方法名词解释
面向对象分析(Object-Oriented Analysis, 简称OOA),是一种基于软件工程中面向对象思
想的软件分析方法,旨在搭建软件需求分析基础模型,以识别、分析和实现客户软件需求,制定出对软件研发工作与设计有效的管理模型。

OOA 是拔高软件开发进程中最重要的步骤,它旨在满足客户对于软件的要求,使客户能够在满意的时间,满意的经费以及满意的套大成果得到期望的软件。

OOA 的拥有者一般是由软件项目经理控制的全职专职软件分析师,他们会使用OOA 快速获取软件要求信息,这
些信息是从客户的说明开始的形式,因此将比研发者在识别需求时所需要的时间更少。

OOA 的主要任务就是使软件发展过程更加高效。

Face-to-face(面对面)会谈,讲解,文
档研究以及运用建模工具等方法将客户提出的需求进行阐明,并把客户的大部分需求变成
客观的功能和属性的可操作的模型,因此OOA 的设计方法也称为可重用组件的设计(Reusable Components Design)。

OOA 的模型通常有以下几种:系统架构,逻辑和物理;在实现系统架构中,把客户提出的需求变成给定的抽象模型即为系统拓扑。

在逻辑模型中,将系统拓扑拆分为不同的构件,
以表达客户关心的系统服务和非功能性要求,而在物理模型中,关于客观和完整的描述系统结构,有细粒度的描述和定义每个构件的不同的属性。

面向对象分析也可以用于检验软件开发过程中的系统是否符合预期的情况,也可以用于发现并实施软件系统的改进与更新。

只要对OOA 方法有正确的运用,软件开发项目就容易
得到客户的满意和顺利实施。

面向对象分析

面向对象分析

面向对象分析:是确定需求或者业务的角度,按照面向对象的思想来分析业务。

例如:OOA只是对需求中描述的问题,进行模块化的处理,描述问题的本质,区别每个问题的不同点相同点,确定问题中的对象。

OOA与结构化分析有较大的区别。

OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。

基本步骤:
在用OOA具体地分析一个事物时,大致上遵循如下五个基本步骤:
第一步,确定对象和类。

这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存和处理现实世界中某些事物的信息的能力。

类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。

第二步,确定结构(structure)。

结构是指问题域的复杂性和连接关系。

类成员结构反映了泛化-特化关系,整体-部分结构反映整体和局部之间的关系。

第三步,确定主题(subject)。

主题是指事物的总体概貌和总体分析模型。

第四步,确定属性(attribute)。

属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的存储中指定。

第五步,确定方法(method)。

方法是在收到消息后必须进行的一些处理方法:方法要在图中定义,并在对象的存储中指定。

对于每个对象和结构来说,那些用来增加、修改、删除和选择一个方法本身都是隐含的(虽然它们是要在对象的存储中定义的,但并不在图上给出),而有些则是显示的。

软件工程面向对象的分析与设计

软件的质量和开发效率
-
THANKS!
XX生活即将结束,在此,我要感谢所有教导我的老师和陪 伴我一齐成长的同学,他们在我的大学生涯给予了很大的帮助。本论 文能够顺利完成,要特别感谢我的导师XXX老师,XXX老师对该论文从选题,构
思到最后定稿的各个环节给予细心指引与教导,使我得以最终完成毕业论文设计! 最后,我要向百忙之中抽时间对本文进行审阅,评议和参与本人论文答辩的各位
识别类和继承
通过类和继承,我们可以组织具有相似属性和行为的对象。类 定义了一组对象的通用属性和行为,而继承则允许我们从一个 类派生出另一个类,从而共享和扩展其属性和行为
定义接口
接口定义了类或对象之间的交互方式。它描述了对象需要提供 的方法和需要遵守的协议
面向对象的分析
通过面向对象的分析, 我们可以更准确地理 解和描述软件系统的 需求,为后续的设计 和实现打下坚实的基 础
2
面向对象的 设计
面向对象的设计
面向对象的设计(Object-Oriented Design,OOD)是软件工程过程中的一个关键阶段 ,其目标是基于面向对象的分析结果,设计出满足系统需求的软件结构
识别类和对象:根据面向对象的分析结果,识别出系统中的主要类和对象。这些类和 对象应该能够准确地反映问题域的特征和需求
和操作方式
设计数据库:根据系统的数 据需求,设计出合适的数据 库结构。数据库应该能够有 效地存储和管理系统的数据
设计系统架构:根据系统的 功能需求和性能要求,设计 出合适的系统架构。系统架 构应该能够支持系统的可扩 展性、可维护性和可重用性
面向对象的设计
通过面向对象的设计,我们可 以设计出结构清晰、易于理解 和实现的软件系统,从而提高
面向对象的分析

面向对象分析


时 序 图 : 注 册 课 程
发现和定义对象类:将用例行为分 配到对象类2
协作图包含一组对象和以消息交换为纽带的关联, 用于描述系统的行为是如何由系统的成分合作实 现的。 协作图与时序图是同构的,二者表示的都是同样 的系统交互活动,只是各自的侧重点不同而已。 通过对用例建立交互图,实现了将系统责任分配 到对象类中,即交互图中的每一个消息就是消息 接收对象的一个服务。
发现和定义对象与类
识别对象和类,确定它们的内部特征,即属性和操作。
识别对象的外部联系
同时识别对象与类、类与类之间的各种外部联系,即结构性的静 态联系和行为性的动态联系,包括一般与特殊、整体与部分、实 例连接、消息连接等联系。
建立系统的静态结构模型
分析系统的行为,建立系统的静态结构模型,并将其用图形和文 字说明表示出来。
识别对象的外部联系:发现依赖关系
通过消息模拟和跟踪对象服务的执行过程, 考虑当该对象执行时是否需要请求其它对 象提供服务、是否需要向其他对象提供或 索取某些数据等问题,从而建立依赖关系。
整理和筛选
检查这些属性是否系统使用的特征、是否描述了对象本身的特征、 是否可以通过继承得到、是否可以从其他属性直接导出等。
识别对象的外部联系
对象之间的分类关系,即泛化关系; 对象之间的组成关系,即聚合关系; 对象之间的静态关系,即关联关系; 对象之间的动态关系,即依赖关系。
识别对象的外部联系:发现泛化关系
协作图:注册课程
发现和定义对象类:定义属性
初步发现
按照一般常识,找出对象的某些属性,如人员的姓名、性别、年 龄、地址等; 认真研究问题域,找出对象的某些属性,如商品的条形码、学生 的学号等; 根据系统责任的要求,找出对象的某些属性; 考虑对象需要系统保存和管理的信息,找出对象的相应属性,如 “课程”需要保存和管理的信息; 对象为了在服务中实现其功能,需要增设一些属性; 识别对象需要区别的状态,考虑是否需要增加一个属性来区别这 些状态; 确定属性表示整体与部分结构和实例连接。

面向对象分析

面向对象分析
面向对象分析是计算机科学领域中使用最广泛的一种分析技术,它是一种结构化的分析方法,是系统分析的更新与系统设计的预备工作。

面向对象分析可以帮助我们更好地理解和分析现有系统,并为系统重构提供指导。

面向对象分析是一种以对象为中心,以建模和分析实体、对象和对象之间的关系为主要任务的分析方法。

它的主要目的是将概念抽象为实体,然后利用视图及关系描述它们之间的关系。

面向对象分析包括分析、设计、建模过程,分析过程也称为面向对象分析(OOA)。

面向对象分析强调对对象的分析,对象可以看作对实际世界中的实际事物的抽象。

对象可以由属性和行为组成,属性描述了对象的内部状态,行为描述了它如何处理消息。

在面向对象分析中,这种抽象事物被描绘为类,每个类有一组共享的属性和行为。

面向对象分析和设计的主要工作是抽象建模,确定对象之间的关系,并利用抽象和关系建模系统。

建模可以帮助我们清楚地了解系统结构,以及每个系统元素之间的联系。

一旦建模完成,可以使用模型来设计、分析和实现高级的系统。

面向对象分析是一种结构化的分析方法,用于理解和描述系统的行为,从而有效地构建高质量的系统。

它的关键是建立系统的实体、关系和视图,从而提出系统的结构,并提出系统实现的可行方案。

总体而言,面向对象分析是一种重要而普遍应用的管理技术,它是系统分析和设计过程中的重要组成部分。

对对象的分析有助于进行
更好的系统设计,增强了系统容量,提高了系统灵活性和性能,为组建现代软件系统提供了可行的工具。

面向对象的分析

面向对)
面向对象的思维方式: 面向对象是围绕对象和类来分析、设计软件
系统的。 面向对象分析:
面向对象分析的主要任务是根据用户的需求, 建立一个准确的、完整的、一致的系统模型。 在面向对象的分析过程里,项目组通过分析软 件的功能性需求,得到一个理想化的系统模型, 该模型更多的侧重于描述我们需求解决的问题 是什么---我们称这种模型为分析模型。
面向对象分析的过程包括:
1、从用例中提取实体对象和实体类。 提取实体对象的方法,依据用例描述中出现的名词和
名词短语来提取实体对象,必须对原始的名词和名词短 语进行筛选。
得到实体对象后,对实体对象进行归纳、抽象出实 体类。 2、提取属性 3、提取关系 4、添加边界类 5、添加控制类 6、绘制类图 7、绘制顺序图 8、编制术语表
聚合实际上是关联关系的一种特例,一般不建议在分 析的初始阶段花费很多时间区分聚合和关联,遇到一 个关联时应该按照分析者的理解,比较自然地描述出 来,无论用聚合或关联都可,只要易于理解。
静态分析:识别属性
属性用以描述对象的特性,描述一个行为主体所具有的特征, 比如名字、年龄、重量、颜色、速度等。属性通常对应于问题 描述中具有所有格短语修饰的名词,例如“计算机的内存规模 ”、“汽车的价格”、“飞机的位置”等都可能被作为相应对 象的属性,而与之相对的是一些只有枚举性质的形容词、名词 成数词等通常被作为属性可能的取值,例如“计算机的内存规 模”以及“汽车的价格”的取值为一些整数,而“颜色”的取 值可能是红色、蓝色等。
提取公共成员形成一般—特殊结构
静态分析:分离部分成员
由于对问题空间对象认识的深度所限,有时所定义 类中的一些属性或操作只适用于一部分对象,而对 其他对象没有意义,出现这种情况的直接原因是类 的范围选取过大,适当缩小类的范围,将那些真正 具有相同性质和行为的对象作为一类加以描述。例 如图3中在校人员类原本包含工资和班主任两个属 性,可是在校人员不全具有这两个属性的有效值, 比如对教师而言,不存在班主任;对学生而言,不 存在工资,因此将两个属性封装在一起范围就过大 ,应将它们分离出来形成两个新类——教师”和“ 学生”,将两个类的共同居性和操作放到一般类中 ,形成一般一特殊结构。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10
子系统描述

1. 题库管理子系统
对考题进行管理。题目类型有选择题、填空题、解答题和 程序设计题,功能要求:

能增、删、改、查询题目。 能支持使用Excel批量导入试题到数据库的功能。


2. 考试子系统
根据一定的试题生成规则现场生成一套试题供学生进行解 答,并记录答案。考试采用逐题方式进行,做完一题再出 现下一题。学生可以用上翻、下翻键来选择返回上一题还 是进行到下一题。考试采用人工计时方式。若到考试结束 时间,则系统强行要求学生结束答题;若学生提前做完, 则可以按结束考试键终止答题。当学生选择结束考试时, 给出选择题的成绩,并将学生所做的试题及答案记录到数 据库中。

© 2008 BUPT TSEG
北京邮电大学 通信软件工程中心
21
在线考试系统的参与者

四类主要参与者:任课教师、助教、学生和系统 维护人员。 各个参与者的系统目标:


任课教师:能维护题库;能设计一次考试的出题规则 ,设定考生范围和考试时间及时长;能顺利开展考试 ;能方便有效地开展阅卷工作;能得到有价值的统计 信息。 助教:能方便有效地开展阅卷工作; 学生:能顺利进行考试,能查询自己的考试成绩; 系统维护人员:能对系统的用户、权限、系统参数等 进行方便地维护。
系统的使用者 系统边界 系统


系统的使用者
© 2008 BUPT TSEG
北京邮电大学 通信软件工程中心
15
9.2.2 识别参与者

参与者(actor)是具有行为能力的事物,可以是 一个人(由所扮演的角色来识别)、计算机系统 或硬件设备。

它们位于系统边界之外,通过和系统进行有意义 的交互来实现它们的目标。



(5)可观察的结果值是指系统对参与者的动作要 做出响应,在经过若干次交互之后,系统把最终 有意义的结果值反馈给参与者。
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心
25
识别用例

从参与者角度出发,识别每类参与者在系 统中要实现的目标,从中抽取用例。 用例可以分为三种不同的级别:

© 2008 BUPT TSEG
北京邮电大学 通信软件工程中心
4
软件分析所面临的问题

1.对问题域和系统职责的理解


2.交流问题
3.需求的不断变化

4.软件复用的要求
© 2008 BUPT TSEG
北京邮电大学 通信软件工程中心
5
面向对象分析步骤

(1)利用用例以及用例图来捕获和描述用 户的需求,从而建立系统的功能需求模型 。为创建需求模型,首先要从业务需求描 述出发,识别参与者和使用场景;对场景 进行汇总、分类和抽象,形成用例;确定 参与者和用例、用例和用例之间的关系, 形成用例模型。
软件工程模型与方法 Models & Methods of Software Engineering
第九章 面向对象分析 修佳鹏 media@
© 2008 BUPT TSEG
本章内容

9.1 面向对象分析综述


9.2 用例建模
9.3 创建领域模型


9.4 绘制系统顺序图
9.5 创建系统操作契约
北京邮电大学 通信软件工程中心
9.2.3 识别用例

用例的定义:
一个用例(use case)描述系统的一项功能,功能 被描述为一组动作序列(场景)的集合。每一个 动作序列表示参与者与系统的一次交互,将为参 与者产生一个可观察的结果值。
每一个用例使用动词短语定义,该短语描述了系 统必须完成的目标。 对定义的理解: (1)一个用例描述系统的一项功能,是参与者使 用系统来达成目标时一组相关的成功场景( scenario)和失败场景的集合。
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心


24
对用例的理解

(2)用例通常是由某个参与者来驱动执行,只有 当外部的参与者与系统交互时,该功能才会发生 作用。 (3)用例中,只描述参与者可以看到的系统行为 特征。 (4)用例描述的是一个参与者所使用的一项系统 级功能,该项功能应该相对完整。
© 2008 BUPT TSEG
北京邮电大学 通信软件工程中心
2
9.1 面向对象分析综述

面向对象分析(Object-Oriented Analysis,简称 OOA)就是运用面向对象的方法进行系统分析, 强调运用面向对象方法,对问题域和系统职责进 行分析和理解,找出描述问题域及系统职责所需 的对象,定义对象的属性、服务以及它们之间的 关系,目标是建立一个符合问题域、满足用户需 求的OOA模型。
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心
11
子系统描述



3. 阅卷子系统 为了方便老师批量批改解答题和程序设计题,系 统能灵活支持将某道题的学生解答汇总成一个文 档供老师拿回去批阅,并将阅后成绩导入数据库 中。 4. 给分子系统 在每小题的成绩都已经给出的情况下,统计出每 一个学生的最终机考成绩并记载到数据库中。 5. 统计子系统 统计子系统主要是提供考试结果分析信息,以方 便老师了解考试情况,对教学结果做出较好的评 估。
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心
7
领域专家
场景 业务需 求描述
用例 文本 功能需求描述
用例图
系统顺序图
分析师 领域模型 系统操作契约
© 2008 BUPT TSEG
北京邮电大学 通信软件工程中心
8
在线考试系统功能描述

本系统主要是为程序设计类课程考试而设 计,但是也应该能适应到其他的课程。目 的在于:
识别参与者的任务就是找到参与者并明确其在系 统中要实现的目标。 参与者是一个类 。 参与者可以发出请求,要求系统提供服务,系统 以某种方式进行响应,或者把响应的结果给其他 的参与者;系统也可以向参与者发出请求,参与 者对此做出响应。
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心


© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心
12
用例建模目标

画出系统用例图


识别系统边界
识别参与者
识别用例
确定用例之间关系 用例描述模板

给出用例的文本描述

© 2008 BUPT TSEG
北京邮电大学 通信软件工程中心
13
9.2 用例建模

9.2.1 确定系统边界

问题域(problem domain):被开发系统的应用领域 ,即在现实世界中由这个系统进行处理的业务范围 系统职责(system responsibilities),所开发的系统应 该具备的职能

© 2008 BUPT TSEG
北京邮电大学 通信软件工程中心
3
OOA与OOD的职责划分

OOA针对现实世界中的问题域与系统职责,用面 向对象的方法建立起针对问题域和系统职责的模 型,作为分析的结果。OOA模型不考虑与系统的 具体实现相关的因素(譬如,采用什么程序设计 语言和数据库),从而使OOA模型独立于具体的 实现环境。 OOD则是针对系统的具体实现,运用OO方法进行 系统设计。其中包括两方面的工作:一是根据实 现条件对OOA模型做某些必要的调整和修改,使 其成为OOD模型的一部分;二是针对具体实现条 件,建立人机界面、数据存储和控制驱动等模型 。这些部分与OOA采用相同的概念和表示法。

1.增加考试灵活性,减轻任课教师的出题、判 卷和统计工作; 2.避免纸面考程序设计题的一些缺陷;

3.增加一些统计分析功能,便于老师及时跟踪 学生对知识点的掌握情况。
© 2008 BUPT TSEG
北京邮电大学 通信软件工程中心
9
系统用户

教师


学生
助教
© 2008 BUPT TSEG
北京邮电大学 通信软件工程中心
16
参与者的分类

主要参与者:指的是在使用系统服务的过程中满 足自己目标的那些参与者,如使用在线考试系统 的任课教师和学生。识别出这类参与者,可以帮 助找到用户目标,从而确定系统的功能需求。 次要参与者:指的是为系统提供服务的那些参与 者,如一个对信用卡支付进行授权的外部系统。 识别出这类参与者,可以帮助确定外部接口和协 议。


后台参与者:指的是对用例的行为感兴趣的那些 参与者,如政府的税务机关。识别出这类参与者 ,可以保证找到所有方面的兴趣并让用例满足之 。
© 2008 BUPT TSEG 北京邮电大学 通信软件工程中心
17
谁能充统的人员中发现 参与者。其从系统获取信息,或者向系统 提供信息。 外部系统:所有与系统交互的外部系统。 设备:所有与系统交互的设备。其与系统 相连,向系统提供外界信息,或者从系统 获取信息,在系统的控制下运行。例如传 感器、受控马达、条形码扫描设备等。
北京邮电大学 通信软件工程中心



© 2008 BUPT TSEG
20
参与者之间的继承关系

参与者是一个类,因此在参与者之间可以 引入类之间的继承关系,通过定义某个抽 象参与者来简化参与者的定义。 如果一组参与者具有共同的性质,可以把 这些性质抽取出来放在另一个参与者中, 这组参与者再从中继承,这种关系称为参 与者之间的继承关系。

(2)从业务需求描述和用例描述中提取“ 关键概念”,形成领域模型。
© 2008 BUPT TSEG
北京邮电大学 通信软件工程中心
相关文档
最新文档