软件工程模型与方法第三章面向对象分析ppt课件.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《软件工程模型与方法第三章面向对象分析ppt课件.pptx》由会员分享,可在线阅读,更多相关《软件工程模型与方法第三章面向对象分析ppt课件.pptx(67页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第九章 面向对象分析修佳鹏 软件工程模型与方法软件工程模型与方法Models & Methods of Software Engineering 2008 BUPT TSEG2本章内容本章内容u9.1 面向对象分析综述u9.2 用例建模u9.3 创建领域模型u9.4 绘制系统顺序图u9.5 创建系统操作契约 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心39.1 面向对象分析综述面向对象分析综述u面向对象分析(Object-Oriented Analysis,简称OOA)就是运用面向对象的方法进行系统分析,强调运用面向对象方法,对问题域和系统职责进行分
2、析和理解,找出描述问题域及系统职责所需的对象,定义对象的属性、服务以及它们之间的关系,目标是建立一个符合问题域、满足用户需求的OOA模型。问题域(problem domain):被开发系统的应用领域,即在现实世界中由这个系统进行处理的业务范围系统职责(system responsibilities),所开发的系统应该具备的职能 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心4OOA与与OOD的职责划分的职责划分uOOA针对现实世界中的问题域与系统职责,用面向对象的方法建立起针对问题域和系统职责的模型,作为分析的结果。OOA模型不考虑与系统的具体实现相关
3、的因素(譬如,采用什么程序设计语言和数据库),从而使OOA模型独立于具体的实现环境。uOOD则是针对系统的具体实现,运用OO方法进行系统设计。其中包括两方面的工作:一是根据实现条件对OOA模型做某些必要的调整和修改,使其成为OOD模型的一部分;二是针对具体实现条件,建立人机界面、数据存储和控制驱动等模型。这些部分与OOA采用相同的概念和表示法。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心5软件分析所面临的问题软件分析所面临的问题u1对问题域和系统职责的理解对问题域和系统职责的理解 u2交流问题交流问题u3需求的不断变化需求的不断变化u4软件复用的要
4、求软件复用的要求 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心6面向对象分析步骤面向对象分析步骤u(1)利用用例以及用例图来捕获和描述用户的需求,从而建立系统的功能需求模型。为创建需求模型,首先要从业务需求描述出发,识别参与者和使用场景;对场景进行汇总、分类和抽象,形成用例;确定参与者和用例、用例和用例之间的关系,形成用例模型。u(2)从业务需求描述和用例描述中提取“关键概念”,形成领域模型。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心7面向对象分析步骤面向对象分析步骤u(3)从用例出发,将系统看作一个黑
5、盒子,识别出参与者和系统交互的系统事件,在系统顺序图中进行描述,并进一步识别出系统操作。u(4)从系统顺序图和领域模型出发,建立系统操作契约,描述响应系统事件的系统操作执行后对系统状态的影响,从而回答系统“做什么”的问题。此处的系统状态变化指的是领域模型中概念的创建和删除,概念属性的修改以及概念之间关联的建立和删除。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心8 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心9在线考试系统功能描述在线考试系统功能描述u本系统主要是为程序设计类课程考试而设计,但是也应该能适应
6、到其他的课程。目的在于:1.增加考试灵活性,减轻任课教师的出题、判卷和统计工作;2.避免纸面考程序设计题的一些缺陷;3.增加一些统计分析功能,便于老师及时跟踪学生对知识点的掌握情况。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心10系统用户系统用户u教师u学生u助教 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心11子系统描述子系统描述u1. 题库管理子系统题库管理子系统u对考题进行管理。题目类型有选择题、填空题、解答题和程序设计题,功能要求:能增、删、改、查询题目。能支持使用Excel批量导入试题到数据库的
7、功能。u2. 考试子系统考试子系统u根据一定的试题生成规则现场生成一套试题供学生进行解答,并记录答案。考试采用逐题方式进行,做完一题再出现下一题。学生可以用上翻、下翻键来选择返回上一题还是进行到下一题。考试采用人工计时方式。若到考试结束时间,则系统强行要求学生结束答题;若学生提前做完,则可以按结束考试键终止答题。当学生选择结束考试时,给出选择题的成绩,并将学生所做的试题及答案记录到数据库中。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心12子系统描述子系统描述u3. 阅卷子系统阅卷子系统u为了方便老师批量批改解答题和程序设计题,系统能灵活支持将某道题
8、的学生解答汇总成一个文档供老师拿回去批阅,并将阅后成绩导入数据库中。u4. 给分子系统给分子系统u在每小题的成绩都已经给出的情况下,统计出每一个学生的最终机考成绩并记载到数据库中。u5. 统计子系统统计子系统u统计子系统主要是提供考试结果分析信息,以方便老师了解考试情况,对教学结果做出较好的评估。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心13用例建模目标用例建模目标u画出系统用例图识别系统边界识别参与者识别用例确定用例之间关系u给出用例的文本描述用例描述模板 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心
9、149.2 用例建模用例建模u9.2.1 确定系统边界u9.2.2 识别参与者u9.2.3 识别用例u9.2.4 其他需求分析工作 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心159.2.1 确定系统边界确定系统边界u系统边界是一个系统所包含的所有系统成分与系统以外各事物的分界线。 u系统边界以外是与系统进行交互的人员、设备、外部系统或组织。u系统是由一条边界包围起来的未知空间,系统只通过边界上的有限个接口与外部交互。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心169.2.2 识别参与者识别参与者u参与者
10、(actor)是具有行为能力的事物,可以是一个人(由所扮演的角色来识别)、计算机系统或硬件设备。u它们位于系统边界之外,通过和系统进行有意义的交互来实现它们的目标。u识别参与者的任务就是找到参与者并明确其在系统中要实现的目标。u参与者是一个类 。u参与者可以发出请求,要求系统提供服务,系统以某种方式进行响应,或者把响应的结果给其他的参与者;系统也可以向参与者发出请求,参与者对此做出响应。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心17参与者的分类参与者的分类u主要参与者:主要参与者:指的是在使用系统服务的过程中满足自己目标的那些参与者,如使用在线考
11、试系统的任课教师和学生。识别出这类参与者,可以帮助找到用户目标,从而确定系统的功能需求。u次要参与者:次要参与者:指的是为系统提供服务的那些参与者,如一个对信用卡支付进行授权的外部系统。识别出这类参与者,可以帮助确定外部接口和协议。u后台参与者:后台参与者:指的是对用例的行为感兴趣的那些参与者,如政府的税务机关。识别出这类参与者,可以保证找到所有方面的兴趣并让用例满足之。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心18谁能充当参与者谁能充当参与者u人员:人员:可以从直接使用系统的人员中发现参与者。其从系统获取信息,或者向系统提供信息。u外部系统:外
12、部系统:所有与系统交互的外部系统。u设备:设备:所有与系统交互的设备。其与系统相连,向系统提供外界信息,或者从系统获取信息,在系统的控制下运行。例如传感器、受控马达、条形码扫描设备等。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心19如何找到参与者如何找到参与者u通过回答以下问题找到参与者:u(1)谁使用系统的主要功能?u(2)谁需要系统的支持以完成其日常工作任务?u(3)谁负责维护、管理并保证系统的正常运行?u(4)系统需要和哪些外部系统交互?u(5)系统需要处理哪些设备?u(6)对系统产生的结果感兴趣的人或事物是哪些? 2008 BUPT TSE
13、G 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心20如何识别参与者的目标如何识别参与者的目标u可以通过回答以下问题识别参与者的目标:u(1)某个参与者要求系统为其提供什么功能?该参与者需要做哪些工作(可能有些工作需要系统帮助完成)?u(2)参与者需要阅读、创建、销毁、更新或存储系统中的某些(类)信息吗?u(3)系统中的事件一定要告知参与者吗?参与者需要告诉系统一些什么吗?那些系统内部的事件从功能的角度代表什么?u(4)由于系统新功能的识别(如那些典型的还没有实现自动化的人工系统),参与者的日常工作被简化或效率提高了吗?若是,则该用例对于该参与者有意义、值得实现。 2008 BUP
14、T TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心21参与者之间的继承关系参与者之间的继承关系u参与者是一个类,因此在参与者之间可以引入类之间的继承关系,通过定义某个抽象参与者来简化参与者的定义。u如果一组参与者具有共同的性质,可以把这些性质抽取出来放在另一个参与者中,这组参与者再从中继承,这种关系称为参与者之间的继承关系。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心22在线考试系统的参与者在线考试系统的参与者u四类主要参与者:任课教师、助教、学生和系统维护人员。u各个参与者的系统目标:任课教师:能维护题库;能设计一次考试的出
15、题规则,设定考生范围和考试时间及时长;能顺利开展考试;能方便有效地开展阅卷工作;能得到有价值的统计信息。助教:能方便有效地开展阅卷工作;学生:能顺利进行考试,能查询自己的考试成绩;系统维护人员:能对系统的用户、权限、系统参数等进行方便地维护。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心23在线考试系统的参与者在线考试系统的参与者u任课教师的部分目标和助教的目标相同,于是可以创建一个新的抽象参与者阅卷者,它的目标是使用系统方便有效地开展阅卷工作;u教师和助教再继承阅卷者阅卷者阅卷者 教师教师 助教助教学生学生系统维护人员系统维护人员 2008 BUP
16、T TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心249.2.3 识别用例识别用例u用例的定义:u一个用例(use case)描述系统的一项功能,功能被描述为一组动作序列(场景)的集合。每一个动作序列表示参与者与系统的一次交互,将为参与者产生一个可观察的结果值。u每一个用例使用动词短语定义,该短语描述了系统必须完成的目标。 u对定义的理解:u(1)一个用例描述系统的一项功能,是参与者使用系统来达成目标时一组相关的成功场景(scenario)和失败场景的集合。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心25对用例的理解对用例的理
17、解u(2)用例通常是由某个参与者来驱动执行,只有当外部的参与者与系统交互时,该功能才会发生作用。u(3)用例中,只描述参与者可以看到的系统行为特征。 u(4)用例描述的是一个参与者所使用的一项系统级功能,该项功能应该相对完整。 u(5)可观察的结果值是指系统对参与者的动作要做出响应,在经过若干次交互之后,系统把最终有意义的结果值反馈给参与者。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心26识别用例识别用例u从参与者角度出发,识别每类参与者在系统中要实现的目标,从中抽取用例。u用例可以分为三种不同的级别:企业级别的目标:如盈利、扩大目标市场等;用户级
18、别的目标:如取款、在线考试等;子功能级别的目标:如验证用户身份、记录系统日志等。 u识别用例重点要识别的是用户级别用例。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心27基本业务过程基本业务过程 u基本业务过程(EBP,Elementary Business Process)是指由一个人在某个时间某个地点执行的一项任务,这项任务是对某一业务事件的反应,而且能够增加可以度量的业务价值,并且能够保持数据状态的一致。 u进行用例分析时,应该专注于EBP级别的用例,但是当一个子功能在多个用户目标级别用例中重复出现,或这个子功能是多个用户目标级别用例的前置条件
19、,如“验证用户身份”、“记录日志”等,则可以定义一个用例来表示该子功能。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心28用例描述用例描述u用例描述的目标是将用例的功能和应用场景描述清楚,包括用例在何时开始,何时结束参与者何时与系统交互交互什么内容所有可能的交互场景u对用例的描述,可以用自然语言,也可以采用用户自定义的语言。为了更清楚地说明问题,也可以采用面向对象的类图、交互图、状态图或活动图来做进一步的描述。 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心29用例描述模板用例描述模板用例编号用例编号:每一个
20、用例一个唯一的编号,方便在文档中索引。每一个用例一个唯一的编号,方便在文档中索引。 用例名称用例名称:(状语)动词(定语)宾语,体现参与者的目标。状语)动词(定语)宾语,体现参与者的目标。 范围:范围:应用的软件系统范围应用的软件系统范围 级别:级别:企业目标级别企业目标级别/用户目标级别用户目标级别/子系统目标级别子系统目标级别 主要参与者主要参与者:调用系统服务来完成目标的主要参与者调用系统服务来完成目标的主要参与者 项目相关人员及其兴趣项目相关人员及其兴趣: 用户应包含满足所有相关人员兴趣的内容用户应包含满足所有相关人员兴趣的内容 前置条件前置条件:规定了在用例中的一个场景开始之前必须为
21、规定了在用例中的一个场景开始之前必须为“真真”的条件。的条件。 后置条件:后置条件:规定了用例成功结束后必须为规定了用例成功结束后必须为“真真”的条件。的条件。 主要成功场景主要成功场景:(基本路径)描述了能够满足项目相关人员兴趣的一个典型的成功路径。不包括条件和分(基本路径)描述了能够满足项目相关人员兴趣的一个典型的成功路径。不包括条件和分支支 1 n 扩展(或替代流程)扩展(或替代流程): (备选路径)说明了基本路径以外的所有其他场景或分支(备选路径)说明了基本路径以外的所有其他场景或分支 *a.描述任何一个步骤都有可能发生的条件,前边加描述任何一个步骤都有可能发生的条件,前边加*5a.对
22、基本路径中某个步骤的扩展描述,前边加基本路径编号对基本路径中某个步骤的扩展描述,前边加基本路径编号 特殊需求:特殊需求:与用例相关的非功能性需求与用例相关的非功能性需求技术与数据的变化列表:技术与数据的变化列表:输入输出方式上的变化以及数据格式的变化。输入输出方式上的变化以及数据格式的变化。 发生频率:发生频率:用例执行的频率。用例执行的频率。 待解决的问题:待解决的问题:不清楚的、尚待解决的问题可集中在此进行罗列不清楚的、尚待解决的问题可集中在此进行罗列 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心30用例之间的关系用例之间的关系u包含关系用例A在
23、其内部说明的某一位置上显式地使用用例B行为的结果,成为用例A包含用例B。包含关系图示表示如下左图。避免用例中相同功能的重复描述;避免过长的用例。u扩展关系在不能改变已有用例的情况下,扩展用例的功能。扩展用例中必须包含触发和扩展点说明。扩展管理的图示表示如下右图。 基用例基用例被包含的用被包含的用例例include基用例基用例扩展用例扩展用例extend 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心31用例的包含关系举例用例的包含关系举例u假设在一个旅游电子商务网站系统中,有如下用例:购买机票预定酒店u在这两个用例中,都有一个环节是“填写联系资料”,则
24、可以将“填写联系资料”抽象为一个独立的用例,在上述用例中包含该用例,局部用例图如下图所示:购买机票购买机票填写联系资料填写联系资料预定酒店预定酒店includeinclude 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心32用例1:购买机票主要成功场景:1.顾客输入航班查询条件;2.系统显示查询结果;11.顾客填写联系方式,包含填写联系资料用例。12.顾客选择信用卡支付,填写信用卡信息。用例2:预订酒店主要成功场景:1. 顾客输入酒店查询条件;2. 系统显示查询结果;3顾客填写入住时间;8.顾客填写联系方式,包含填写联系资料用例。用例10:填写联系资
25、料级别:子功能主要成功场景:1.顾客在联系方式界面内输入办公电话、手机、Email、邮寄地址和邮箱,点击提交。2.系统验证上述信息格式有效。扩展(或替代流程):2a. 系统发现有必填信息没有填写 1.系统给出提示信息; 2.顾客填写信息, 回到主要成功场景的步骤2。2b. 系统验证信息格式不正确 1.系统给出提示信息; 2. 顾客重新填写信息, 回到主要成功场景的步骤2。 包含关系用例描述包含关系用例描述 2008 BUPT TSEG 北京邮电大学北京邮电大学 通信软件工程中心通信软件工程中心33用例的扩展关系用例的扩展关系u假设在“购买机票”用例中,基用例不能修改,此时需要在信用卡支付环节,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 模型 方法 第三 面向 对象 分析 ppt 课件
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内