面向对象分析课件

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

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

1、 2008 BUPT TSEG,第九章 面向对象分析 修佳鹏 ,软件工程模型与方法Models & Methods of Software Engineering, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,本章内容,9.1 面向对象分析综述 9.2 用例建模 9.3 创建领域模型 9.4 绘制系统顺序图 9.5 创建系统操作契约, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,9.1 面向对象分析综述,面向对象分析(Object-Oriented Analysis,简称OOA)就是运用面向对象的方法进行系统分析,强调运用面向对象方法,对问题域和系统职责进行

2、分析和理解,找出描述问题域及系统职责所需的对象,定义对象的属性、服务以及它们之间的关系,目标是建立一个符合问题域、满足用户需求的OOA模型。 问题域(problem domain):被开发系统的应用领域,即在现实世界中由这个系统进行处理的业务范围 系统职责(system responsibilities),所开发的系统应该具备的职能, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,OOA与OOD的职责划分,OOA针对现实世界中的问题域与系统职责,用面向对象的方法建立起针对问题域和系统职责的模型,作为分析的结果。OOA模型不考虑与系统的具体实现相关的因素(譬如,采用什么程序设计语

3、言和数据库),从而使OOA模型独立于具体的实现环境。 OOD则是针对系统的具体实现,运用OO方法进行系统设计。其中包括两方面的工作:一是根据实现条件对OOA模型做某些必要的调整和修改,使其成为OOD模型的一部分;二是针对具体实现条件,建立人机界面、数据存储和控制驱动等模型。这些部分与OOA采用相同的概念和表示法。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,软件分析所面临的问题,1对问题域和系统职责的理解 2交流问题 3需求的不断变化 4软件复用的要求, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,面向对象分析步骤,(1)利用用例以及用例图来捕获和描述用户

4、的需求,从而建立系统的功能需求模型。为创建需求模型,首先要从业务需求描述出发,识别参与者和使用场景;对场景进行汇总、分类和抽象,形成用例;确定参与者和用例、用例和用例之间的关系,形成用例模型。 (2)从业务需求描述和用例描述中提取“关键概念”,形成领域模型。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,面向对象分析步骤,(3)从用例出发,将系统看作一个黑盒子,识别出参与者和系统交互的系统事件,在系统顺序图中进行描述,并进一步识别出系统操作。 (4)从系统顺序图和领域模型出发,建立系统操作契约,描述响应系统事件的系统操作执行后对系统状态的影响,从而回答系统“做什么”的问题。此

5、处的系统状态变化指的是领域模型中概念的创建和删除,概念属性的修改以及概念之间关联的建立和删除。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,在线考试系统功能描述,本系统主要是为程序设计类课程考试而设计,但是也应该能适应到其他的课程。目的在于: 1.增加考试灵活性,减轻任课教师的出题、判卷和统计工作; 2.避免纸面考程序设计题的一些缺陷; 3.增加一些统计分析功能,便于老师及时跟踪学生对知识点的掌握情况。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,系统用户,教师 学生 助教, 2008 BU

6、PT TSEG 北京邮电大学 通信软件工程中心,子系统描述,1. 题库管理子系统 对考题进行管理。题目类型有选择题、填空题、解答题和程序设计题,功能要求: 能增、删、改、查询题目。 能支持使用Excel批量导入试题到数据库的功能。 2. 考试子系统 根据一定的试题生成规则现场生成一套试题供学生进行解答,并记录答案。考试采用逐题方式进行,做完一题再出现下一题。学生可以用上翻、下翻键来选择返回上一题还是进行到下一题。考试采用人工计时方式。若到考试结束时间,则系统强行要求学生结束答题;若学生提前做完,则可以按结束考试键终止答题。当学生选择结束考试时,给出选择题的成绩,并将学生所做的试题及答案记录到数

7、据库中。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,子系统描述,3. 阅卷子系统 为了方便老师批量批改解答题和程序设计题,系统能灵活支持将某道题的学生解答汇总成一个文档供老师拿回去批阅,并将阅后成绩导入数据库中。 4. 给分子系统 在每小题的成绩都已经给出的情况下,统计出每一个学生的最终机考成绩并记载到数据库中。 5. 统计子系统 统计子系统主要是提供考试结果分析信息,以方便老师了解考试情况,对教学结果做出较好的评估。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,用例建模目标,画出系统用例图 识别系统边界 识别参与者 识别用例 确定用例之间关系 给出用

8、例的文本描述 用例描述模板, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,9.2 用例建模,9.2.1 确定系统边界 9.2.2 识别参与者 9.2.3 识别用例 9.2.4 其他需求分析工作, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,9.2.1 确定系统边界,系统边界是一个系统所包含的所有系统成分与系统以外各事物的分界线。 系统边界以外是与系统进行交互的人员、设备、外部系统或组织。 系统是由一条边界包围起来的未知空间,系统只通过边界上的有限个接口与外部交互。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,9.2.2 识别参与者,参与者

9、(actor)是具有行为能力的事物,可以是一个人(由所扮演的角色来识别)、计算机系统或硬件设备。 它们位于系统边界之外,通过和系统进行有意义的交互来实现它们的目标。 识别参与者的任务就是找到参与者并明确其在系统中要实现的目标。 参与者是一个类 。 参与者可以发出请求,要求系统提供服务,系统以某种方式进行响应,或者把响应的结果给其他的参与者;系统也可以向参与者发出请求,参与者对此做出响应。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,参与者的分类,主要参与者:指的是在使用系统服务的过程中满足自己目标的那些参与者,如使用在线考试系统的任课教师和学生。识别出这类参与者,可以帮助找

10、到用户目标,从而确定系统的功能需求。 次要参与者:指的是为系统提供服务的那些参与者,如一个对信用卡支付进行授权的外部系统。识别出这类参与者,可以帮助确定外部接口和协议。 后台参与者:指的是对用例的行为感兴趣的那些参与者,如政府的税务机关。识别出这类参与者,可以保证找到所有方面的兴趣并让用例满足之。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,谁能充当参与者,人员:可以从直接使用系统的人员中发现参与者。其从系统获取信息,或者向系统提供信息。 外部系统:所有与系统交互的外部系统。 设备:所有与系统交互的设备。其与系统相连,向系统提供外界信息,或者从系统获取信息,在系统的控制下运

11、行。例如传感器、受控马达、条形码扫描设备等。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,如何找到参与者,通过回答以下问题找到参与者: (1)谁使用系统的主要功能? (2)谁需要系统的支持以完成其日常工作任务? (3)谁负责维护、管理并保证系统的正常运行? (4)系统需要和哪些外部系统交互? (5)系统需要处理哪些设备? (6)对系统产生的结果感兴趣的人或事物是哪些?, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,如何识别参与者的目标,可以通过回答以下问题识别参与者的目标: (1)某个参与者要求系统为其提供什么功能?该参与者需要做哪些工作(可能有些工作需要

12、系统帮助完成)? (2)参与者需要阅读、创建、销毁、更新或存储系统中的某些(类)信息吗? (3)系统中的事件一定要告知参与者吗?参与者需要告诉系统一些什么吗?那些系统内部的事件从功能的角度代表什么? (4)由于系统新功能的识别(如那些典型的还没有实现自动化的人工系统),参与者的日常工作被简化或效率提高了吗?若是,则该用例对于该参与者有意义、值得实现。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,参与者之间的继承关系,参与者是一个类,因此在参与者之间可以引入类之间的继承关系,通过定义某个抽象参与者来简化参与者的定义。 如果一组参与者具有共同的性质,可以把这些性质抽取出来放在另

13、一个参与者中,这组参与者再从中继承,这种关系称为参与者之间的继承关系。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,在线考试系统的参与者,四类主要参与者:任课教师、助教、学生和系统维护人员。 各个参与者的系统目标: 任课教师:能维护题库;能设计一次考试的出题规则,设定考生范围和考试时间及时长;能顺利开展考试;能方便有效地开展阅卷工作;能得到有价值的统计信息。 助教:能方便有效地开展阅卷工作; 学生:能顺利进行考试,能查询自己的考试成绩; 系统维护人员:能对系统的用户、权限、系统参数等进行方便地维护。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,在线考试系

14、统的参与者,任课教师的部分目标和助教的目标相同,于是可以创建一个新的抽象参与者阅卷者,它的目标是使用系统方便有效地开展阅卷工作; 教师和助教再继承阅卷者, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,9.2.3 识别用例,用例的定义: 一个用例(use case)描述系统的一项功能,功能被描述为一组动作序列(场景)的集合。每一个动作序列表示参与者与系统的一次交互,将为参与者产生一个可观察的结果值。 每一个用例使用动词短语定义,该短语描述了系统必须完成的目标。 对定义的理解: (1)一个用例描述系统的一项功能,是参与者使用系统来达成目标时一组相关的成功场景(scenario)和

15、失败场景的集合。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,对用例的理解,(2)用例通常是由某个参与者来驱动执行,只有当外部的参与者与系统交互时,该功能才会发生作用。 (3)用例中,只描述参与者可以看到的系统行为特征。 (4)用例描述的是一个参与者所使用的一项系统级功能,该项功能应该相对完整。 (5)可观察的结果值是指系统对参与者的动作要做出响应,在经过若干次交互之后,系统把最终有意义的结果值反馈给参与者。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,识别用例,从参与者角度出发,识别每类参与者在系统中要实现的目标,从中抽取用例。 用例可以分为三种不同的

16、级别: 企业级别的目标:如盈利、扩大目标市场等; 用户级别的目标:如取款、在线考试等; 子功能级别的目标:如验证用户身份、记录系统日志等。 识别用例重点要识别的是用户级别用例。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,基本业务过程,基本业务过程(EBP,Elementary Business Process)是指由一个人在某个时间某个地点执行的一项任务,这项任务是对某一业务事件的反应,而且能够增加可以度量的业务价值,并且能够保持数据状态的一致。 进行用例分析时,应该专注于EBP级别的用例,但是当一个子功能在多个用户目标级别用例中重复出现,或这个子功能是多个用户目标级别用例的前置条件,如“验证用户身份”、“记录日志”等,则可以定义一个用例来表示该子功能。, 2008 BUPT TSEG 北京邮电大学 通信软件工程中心,用例描述,用例描述的目标是将用例的功能和应用场景描述清楚,包括 用例在

展开阅读全文
相关资源
相关搜索

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

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