第六讲面向对象分析课件

上传人:我*** 文档编号:143964978 上传时间:2020-09-04 格式:PPT 页数:89 大小:2.42MB
返回 下载 相关 举报
第六讲面向对象分析课件_第1页
第1页 / 共89页
第六讲面向对象分析课件_第2页
第2页 / 共89页
第六讲面向对象分析课件_第3页
第3页 / 共89页
第六讲面向对象分析课件_第4页
第4页 / 共89页
第六讲面向对象分析课件_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《第六讲面向对象分析课件》由会员分享,可在线阅读,更多相关《第六讲面向对象分析课件(89页珍藏版)》请在金锄头文库上搜索。

1、第六讲 面向对象分析(4学时),了解面向对象分析的概念 了解面向对象分析存在的问题 理解面向对象分析的过程、内容 掌握功能模型的建立 掌握对象模型的建立 掌握动态模型的建立,面向对象分析,面向对象分析(Object-Oriented Analysis,简称OOA)就是运用面向对象的方法进行系统分析,强调运用面向对象方法,对问题域和系统职责进行分析和理解,找出描述问题域及系统职责所需的对象,定义对象的属性、服务以及它们之间的关系,目标是建立一个符合问题域、满足用户需求的OOA模型。 问题域(problem domain):被开发系统的应用领域,即在现实世界中由这个系统进行处理的业务范围 系统职责

2、(system responsibilities),所开发的系统应该具备的职能,分析中存在的问题,1对问题域和系统职责的理解 2交流问题 3需求的不断变化 4软件复用的要求 如何解决?,一般分析的过程,不论采用那种软件开发方法,分析的过程都是提取系统需求的过程。分析工作主要包括三项内容:理解、表达和验证。 理解:系统分析员、用户、领域专家,交流,理解用户需求,关键知识背景; 表达:形成文档资料(由对象,动态和功能模型组成)。 验证:问题复杂,人与人的交流随意性和非形式化特点,一次理解不理想,须进一步验证需求的正确性,完整性和有效性。,面向对象分析的过程,1,面向对象分析,就是抽取和整理用户需求

3、并建立问题域精确模型的过程。,面向对象分析涉及内容,面向对象分析和设计涉及到3方面内容: 一套完善的建模符号 一系列有效的分析步骤 一个方便易用的建模工具。 目前流行的建模符号采用UML的一套图形符号;从描述用户需求的文件中,抽象出目标系统的本质属性,建立以用例模型、对象模型和动态模型为核心的分析模型;建模工具可以选择Rational ROSE。,面向对象建模得到的模型包含对象的三个要素(子模型):静态结构(对象模型),交互次序(动态模型),和数据变换(功能模型)。,3个模型,目前的面向对象分析方法有许多,大多数的分析方法可以被归结为建立以下三个模型: 功能模型:表达系统的详细需求,由用例图和

4、场景描述组成 对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。在面向对象方法中,类图是构建对象模型的核心工具。 动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。面向对象方法中,常用状态图、顺序图、合作图、活动图构建系统的动态模型。,案例一:图书信息管理系统,创建功能模型-用例图,第1步:创建组织机构和角色职能图 用例模型的本质是要确定系统的功能。为了解系统功能,我们需要一种简便的方法能够快速有效地找出谁使用系统?他们用系统做什么?在哪里做?什么时间做? 为了便于理解,对于信息系统我们建

5、议用一张相关的组织机构和角色职能图来反映谁可能使用使用系统,做什么?在哪个部门做? 注意:这个图不是UML的一部分。如果不是信息系统这个图可能没有意义。,第2步:确定角色 系统分析人员与用户一起确定与系统发生交互活动的所有角色。 使用者 如果是信息系统,则从第1步的组织机构和角色职责图中能够很容易发现系统的使用者。 如果不是信息系统,总还有系统的使用者吧,把系统的使用者都列出来。 外部系统 需要与本系统发生关系(功能,数据)的其他软件系统 外部设备 与本系统发生关系的外部设备(控制的设备,或接受其他设备的控制),第3步 确定用例 确定角色之后,系统分析人员从每个角色出发研究该角色要干什么?把要

6、做的事情映射到用例,研究过程中需要弄清的几个问题: 角色要求系统提供哪些功能(使用者需要做什么)? 角色需要了解和处理的信息有哪些类型? 必须提醒角色的系统事件有哪些?角色必须提醒系统的事件有哪些?怎样把这些事件表示成用例中的功能? 为了完整地描述用例,还需要知道角色的某些典型功能是否能够被系统自动实现? 系统需要的输入输出是什么?输入从何处来?输出到何处? 当前运行系统(也许是一些手工操作而不是计算机系统)的主要问题?,用例:,第4步 确定用例模型使用用例图展示系统的用例模型。,第5步 用例模型说明 包括角色说明 用例总览 用例详述,角色说明,用例总览,用例详述,第6步 用例模型评价在初步建

7、立了用例模型后,应该邀请领域专家和其他相关的用户一起对模型进行评审,回答下面的问题: 是否已将所有必须的功能性需求都捕获为用例。 每个用例的动作系列是否正确、完善、易于理解。 是否已经确定了一些价值很小或根本没有价值的用例,如果是将它们删除。,第7步 优化用例模型系统分析员检查模型中的每个用例,提炼出公共部分,创建抽象用例,并用使用关系与之连接;确定补充功能或可选功能;检查每个用例,如果发现一个用例比较大,并且其中既包含了一般处理又包含了特殊处理,那么则应该将特殊处理的部分提取出来,创建单独的用例,并且用扩展关系连接相关的用例。这样做可以减小用例规模,简化用例的处理。,案例二:在线考试系统,系

8、统主要是为程序设计类课程考试而设计,但是也应该能适应到其他的课程。目的在于: 1.增加考试灵活性,减轻任课教师的出题、判卷和统计工作; 2.避免纸面考程序设计题的一些缺陷; 3.增加一些统计分析功能,便于老师及时跟踪学生对知识点的掌握情况。,系统功能描述,1. 题库管理子系统 对考题进行管理。题目类型有选择题、填空题、解答题和程序设计题,功能要求: 能增、删、改、查询题目。 能支持使用Excel批量导入试题到数据库的功能。 2. 考试子系统 根据一定的试题生成规则现场生成一套试题供学生进行解答,并记录答案。学生可以用上翻、下翻键来选择返回上一题还是进行到下一题。若到考试结束时间,则系统强行要求

9、学生结束答题;若学生提前做完,则可以按结束考试键终止答题。当学生选择结束考试时,给出选择题的成绩,并将学生所做的试题及答案记录到数据库中。,3. 阅卷子系统 为了方便老师批量批改解答题和程序设计题,系统能灵活支持将某道题的学生解答汇总成一个文档供老师拿回去批阅,并将阅后成绩导入数据库中。 4. 给分子系统 在每小题的成绩都已经给出的情况下,统计出每一个学生的最终机考成绩并记载到数据库中。 5. 统计子系统 统计子系统主要是提供考试结果分析信息,以方便老师了解考试情况,对教学结果做出较好的评估。,确定系统边界,系统边界是一个系统所包含的所有系统成分与系统以外各事物的分界线。 系统边界以外是与系统

10、进行交互的人员、设备、外部系统或组织。 系统是由一条边界包围起来的未知空间,系统只通过边界上的有限个接口与外部交互。,确定角色系统参与者,参与者(actor)是具有行为能力的事物,可以是一个人(由所扮演的角色来识别)、计算机系统或硬件设备。 它们位于系统边界之外,通过和系统进行有意义的交互来实现它们的目标。 识别参与者的任务就是找到参与者并明确其在系统中要实现的目标。 参与者是一个类 。 参与者可以发出请求,要求系统提供服务,系统以某种方式进行响应,或者把响应的结果给其他的参与者;系统也可以向参与者发出请求,参与者对此做出响应。,参与者分类,主要参与者:指的是在使用系统服务的过程中满足自己目标

11、的那些参与者,如使用在线考试系统的任课教师和学生。识别出这类参与者,可以帮助找到用户目标,从而确定系统的功能需求。 次要参与者:指的是为系统提供服务的那些参与者,如一个对信用卡支付进行授权的外部系统。识别出这类参与者,可以帮助确定外部接口和协议。 后台参与者:指的是对用例的行为感兴趣的那些参与者,如政府的税务机关。识别出这类参与者,可以保证找到所有方面的兴趣并让用例满足之。,谁能充当参与者,人员 外部系统 设备 通过回答以下问题找到参与者: (1)谁使用系统的主要功能? (2)谁需要系统的支持以完成其日常工作任务? (3)谁负责维护、管理并保证系统的正常运行? (4)系统需要和哪些外部系统交互

12、? (5)系统需要处理哪些设备? (6)对系统产生的结果感兴趣的人或事物是哪些?,参与者之间的关系,参与者是一个类,因此在参与者之间可以引入类之间的继承关系,通过定义某个抽象参与者来简化参与者的定义。 如果一组参与者具有共同的性质,可以把这些性质抽取出来放在另一个参与者中,这组参与者再从中继承,这种关系称为参与者之间的继承关系。,确定角色,四类主要参与者:任课教师、助教、学生和系统维护人员。 各个参与者的系统目标: 任课教师:能维护题库;能设计一次考试的出题规则,设定考生范围和考试时间及时长;能顺利开展考试;能方便有效地开展阅卷工作;能得到有价值的统计信息。 助教:能方便有效地开展阅卷工作;

13、学生:能顺利进行考试,能查询自己的考试成绩; 系统维护人员:能对系统的用户、权限、系统参数等进行方便地维护。,任课教师的部分目标和助教的目标相同,于是可以创建一个新的抽象参与者-阅卷者,它的目标是使用系统方便有效地开展阅卷工作; 教师和助教再继承阅卷者,确定用例,可以通过回答以下问题识别参与者的目标: (1)某个参与者要求系统为其提供什么功能?该参与者需要做哪些工作(可能有些工作需要系统帮助完成)? (2)参与者需要阅读、创建、销毁、更新或存储系统中的某些(类)信息吗? (3)系统中的事件一定要告知参与者吗?参与者需要告诉系统一些什么吗?那些系统内部的事件从功能的角度代表什么? (4)由于系统

14、新功能的识别(如那些典型的还没有实现自动化的人工系统),参与者的日常工作被简化或效率提高了吗?若是,则该用例对于该参与者有意义、值得实现。,从参与者角度出发,识别每类参与者在系统中要实现的目标,从中抽取用例。 用例可以分为三种不同的级别: 企业级别的目标:如盈利、扩大目标市场等; 用户级别的目标:如取款、在线考试等; 子功能级别的目标:如验证用户身份、记录系统日志等。 识别用例重点要识别的是用户级别用例。,用例之间的关系,包含关系 用例A在其内部说明的某一位置上显式地使用用例B行为的结果,称为用例A包含用例B。 包含关系图示表示如下左图。 避免用例中相同功能的重复描述;避免过长的用例 扩展关系

15、 在不能改变已有用例的情况下,扩展用例的功能。 扩展用例中必须包含触发和扩展点说明。 扩展管理的图示表示如下右图。,确定模型,用例模型说明,考试用例文本描述,“考试”用例文本描述,案例三:实验教学管理系统,主要功能描述: 管理员管理整个实验室系统,包括对用户增加,删除,修改,查询及用户权限的设定统计和监控等操作。统计管理:比如按系院、按实验室、按班级来统计出实验项目数、实验人时数、验证型(设计型、综合型)实验项目数等信息。 学生上课签到,填写设备使用记录,学习实验项目,提交实验报告,查看实验成绩等。 教师管理自己所带实验课,包括学生上课签到,实验项目管理,查看学生上交实验报告情况。,职责列表,

16、确定参与者,确定用例,确定用例模型,用例模型说明,用例评价及优化,小结,面向对象分析的基本内容 功能模型的创建,作业,功能模型创建的一般步骤 建立系统的功能模型,对象模型,OOA的关键是定义所有与待解决问题相关的类,包括类的操作和属性、类与类之间的关系以及它们表现出的行为,主要完成5项任务: (1)全面深入调研分析,掌握用户业务需求细节及流程; (2)准确标识类,包括定义其属性和操作; (3)认真分析定义类的层次关系; (4)明确表达对象与对象之间的关系(对象的连接); (5)具体确定模型化对象的行为;,对象模型,复杂问题(大型系统)的对象模型由下述五个层次组成:主题层(范畴层)、类-&-对象层,结构层,属性层和服务层。,案例一:图书信息管理系统,第1步:识别分析类。 分析用例模型的每个用例,确定实现用例的类,分析每个类的职责、属性和关联。 将参与用例实现的类收集到一个类图中。 界面类描述系统与角色之间的接口。 控制类在分析模型内表示协调、顺序、事务处理以及控制其他对象的类。 实体型为需要长久保存的信息进行建模的类。,识别边界类,在每一

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号