面向对象分析.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 分析
- 资源描述:
-
软件定义,第一级标题,第二级标题,第三级标题,Quatrime niveau,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,*,软件定义,第一级标题,第二级标题,第三级标题,Quatrime niveau,2008,BUPT TSEG,2008,BUPT TSEG,第九章 面向对象分析,修佳鹏,media,软件工程模型与方法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,)就是运用面向对象的方法进行系统分析,强调运用面向对象方法,对,问题域,和,系统职责,进行分析和理解,找出描述问题域及系统职责所需的对象,定义对象的属性、服务以及它们之间的关系,目标是建立一个符合问题域、满足用户需求的,OOA,模型。,问题域(,problem domain,):被开发系统的应用领域,即在现实世界中由这个系统进行处理的业务范围,系统职责(,system responsibilities,),所开发的系统应该具备的职能,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,OOA与OOD的职责划分,OOA,针对现实世界中的问题域与系统职责,用面向对象的方法建立起针对问题域和系统职责的模型,作为分析的结果。,OOA,模型不考虑与系统的具体实现相关的因素(譬如,采用什么程序设计语言和数据库),从而使,OOA,模型独立于具体的实现环境。,OOD,则是针对系统的具体实现,运用,OO,方法进行系统设计。其中包括两方面的工作:一是根据实现条件对,OOA,模型做某些必要的调整和修改,使其成为,OOD,模型的一部分;二是针对具体实现条件,建立人机界面、数据存储和控制驱动等模型。这些部分与,OOA,采用相同的概念和表示法。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,软件分析所面临的问题,1,对问题域和系统职责的理解,2,交流问题,3,需求的不断变化,4,软件复用的要求,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,面向对象分析步骤,(,1,)利用用例以及,用例图,来捕获和描述用户的需求,从而建立系统的,功能需求模型,。为创建需求模型,首先要从业务需求描述出发,识别参与者和使用场景;对场景进行汇总、分类和抽象,形成用例;确定参与者和用例、用例和用例之间的关系,,形成用例模型。,(,2,)从业务需求描述和用例描述中提取“关键概念”,,形成领域模型。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,在线考试系统功能描述,本系统主要是为程序设计类课程考试而设计,但是也应该能适应到其他的课程。目的在于:,1.,增加考试灵活性,减轻任课教师的出题、判卷和统计工作;,2.,避免纸面考程序设计题的一些缺陷;,3.,增加一些统计分析功能,便于老师及时跟踪学生对知识点的掌握情况。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,系统用户,教师,学生,助教,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,子系统描述,1.,题库管理子系统,对考题进行管理。题目类型有选择题、填空题、解答题和程序设计题,功能要求:,能增、删、改、查询题目。,能支持使用,Excel,批量导入试题到数据库的功能。,2.,考试子系统,根据一定的试题生成规则现场生成一套试题供学生进行解答,并记录答案。考试采用逐题方式进行,做完一题再出现下一题。学生可以用上翻、下翻键来选择返回上一题还是进行到下一题。考试采用人工计时方式。若到考试结束时间,则系统强行要求学生结束答题;若学生提前做完,则可以按结束考试键终止答题。当学生选择结束考试时,给出选择题的成绩,并将学生所做的试题及答案记录到数据库中。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,子系统描述,3.,阅卷子系统,为了方便老师批量批改解答题和程序设计题,系统能灵活支持将某道题的学生解答汇总成一个文档供老师拿回去批阅,并将阅后成绩导入数据库中。,4.,给分子系统,在每小题的成绩都已经给出的情况下,统计出每一个学生的最终机考成绩并记载到数据库中。,5.,统计子系统,统计子系统主要是提供考试结果分析信息,以方便老师了解考试情况,对教学结果做出较好的评估。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,用例建模目标,画出系统用例图,识别系统边界,识别参与者,识别用例,确定用例之间关系,给出用例的文本描述,用例描述模板,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 识别参与者,参与者(,actor,)是具有行为能力的事物,可以是一个人(由所扮演的角色来识别)、计算机系统或硬件设备。,它们位于系统边界之外,通过和系统进行有意义的交互来实现它们的目标。,识别参与者的任务就是,找到参与者,并,明确其在系统中要实现的目标,。,参与者是一个类。,参与者可以发出请求,要求系统提供服务,系统以某种方式进行响应,或者把响应的结果给其他的参与者;系统也可以向参与者发出请求,参与者对此做出响应。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,参与者的分类,主要参与者:,指的是在使用系统服务的过程中满足自己目标的那些参与者,如使用在线考试系统的任课教师和学生。识别出这类参与者,可以帮助找到用户目标,从而确定系统的功能需求。,次要参与者:,指的是为系统提供服务的那些参与者,如一个对信用卡支付进行授权的外部系统。识别出这类参与者,可以帮助确定外部接口和协议。,后台参与者:,指的是对用例的行为感兴趣的那些参与者,如政府的税务机关。识别出这类参与者,可以保证找到所有方面的兴趣并让用例满足之。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,谁能充当参与者,人员:,可以从直接使用系统的人员中发现参与者。其从系统获取信息,或者向系统提供信息。,外部系统:,所有与系统交互的外部系统。,设备:,所有与系统交互的设备。其与系统相连,向系统提供外界信息,或者从系统获取信息,在系统的控制下运行。例如传感器、受控马达、条形码扫描设备等。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,如何找到参与者,通过回答以下问题找到参与者:,(,1,)谁使用系统的主要功能?,(,2,)谁需要系统的支持以完成其日常工作任务?,(,3,)谁负责维护、管理并保证系统的正常运行?,(,4,)系统需要和哪些外部系统交互?,(,5,)系统需要处理哪些设备?,(,6,)对系统产生的结果感兴趣的人或事物是哪些?,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,如何识别参与者的目标,可以通过回答以下问题识别参与者的目标:,(,1,)某个参与者要求系统为其提供什么功能?该参与者需要做哪些工作,(,可能有些工作需要系统帮助完成)?,(,2,)参与者需要阅读、创建、销毁、更新或存储系统中的某些(类)信息吗?,(,3,)系统中的事件一定要告知参与者吗?参与者需要告诉系统一些什么吗?那些系统内部的事件从功能的角度代表什么?,(,4,)由于系统新功能的识别(如那些典型的还没有实现自动化的人工系统),参与者的日常工作被简化或效率提高了吗?若是,则该用例对于该参与者有意义、值得实现。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,参与者之间的继承关系,参与者是一个类,因此在参与者之间可以引入类之间的继承关系,通过定义某个,抽象参与者,来简化参与者的定义。,如果一组参与者具有共同的性质,可以把这些性质抽取出来放在另一个参与者中,这组参与者再从中继承,这种关系称为参与者之间的继承关系。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,在线考试系统的参与者,四类主要参与者:任课教师、助教、学生和系统维护人员。,各个参与者的系统目标:,任课教师:能维护题库;能设计一次考试的出题规则,设定考生范围和考试时间及时长;能顺利开展考试;能方便有效地开展阅卷工作;能得到有价值的统计信息。,助教:能方便有效地开展阅卷工作;,学生:能顺利进行考试,能查询自己的考试成绩;,系统维护人员:能对系统的用户、权限、系统参数等进行方便地维护。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,在线考试系统的参与者,任课教师的部分目标和助教的目标相同,于是可以创建一个新的抽象参与者,阅卷者,,它的目标是使用系统方便有效地开展阅卷工作;,教师和助教再继承阅卷者,阅卷者,教师,助教,学生,系统维护人员,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,9.2.3 识别用例,用例的定义:,一个用例(,use case,)描述系统的一项功能,功能被描述为一组动作序列(场景)的集合。每一个动作序列表示参与者与系统的一次交互,将为参与者产生一个可观察的结果值。,每一个用例使用动词短语定义,该短语描述了系统必须完成的目标。,对定义的理解:,(,1,)一个用例描述系统的一项功能,是参与者使用系统来达成目标时一组相关的成功场景(,scenario,)和失败场景的集合。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,对用例的理解,(,2,)用例通常是由某个参与者来驱动执行,只有当外部的参与者与系统交互时,该功能才会发生作用。,(,3,)用例中,只描述参与者可以看到的系统行为特征。,(,4,)用例描述的是一个参与者所使用的一项系统级功能,该项功能应该相对完整。,(,5,)可观察的结果值是指系统对参与者的动作要做出响应,在经过若干次交互之后,系统把最终有意义的结果值反馈给参与者。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,识别用例,从参与者角度出发,识别每类参与者在系统中要实现的目标,从中抽取用例。,用例可以分为三种不同的级别:,企业级别的目标:如盈利、扩大目标市场等;,用户级别的目标:如取款、在线考试等;,子功能级别的目标:如验证用户身份、记录系统日志等。,识别用例重点要识别的是,用户级别用例。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,基本业务过程,基本业务过程(,EBP,,,Elementary Business Process,)是指由一个人在某个时间某个地点执行的一项任务,这项任务是对某一业务事件的反应,而且能够增加可以度量的业务价值,并且能够保持数据状态的一致。,进行用例分析时,应该专注于,EBP,级别的用例,但是当一个子功能在多个用户目标级别用例中重复出现,或这个子功能是多个用户目标级别用例的前置条件,如“验证用户身份”、“记录日志”等,则可以定义一个用例来表示该子功能。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,用例描述,用例描述的目标是将用例的功能和应用场景描述清楚,包括,用例在何时开始,何时结束,参与者何时与系统交互,交互什么内容,所有可能的交互场景,对用例的描述,可以用自然语言,也可以采用用户自定义的语言。为了更清楚地说明问题,也可以采用面向对象的类图、交互图、状态图或活动图来做进一步的描述,。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,用例描述模板,用例编号,:,每一个用例一个唯一的编号,方便在文档中索引。,用例名称,:,(,状语)动词(定语)宾语,体现参与者的目标。,范围:,应用的软件系统范围,级别:,企业目标级别,/,用户目标级别,/,子系统目标级别,主要参与者,:,调用系统服务来完成目标的主要参与者,项目相关人员及其兴趣,:,用户应包含满足所有相关人员兴趣的内容,前置条件,:,规定了在用例中的一个场景开始之前必须为“真”的条件。,后置条件:,规定了用例成功结束后必须为“真”的条件。,主要成功场景,:,(基本路径)描述了能够满足项目相关人员兴趣的一个典型的成功路径。不包括条件和分支,1,n,扩展(或替代流程),:,(备选路径)说明了基本路径以外的所有其他场景或分支,*a.,描述任何一个步骤都有可能发生的条件,前边加*,5a.,对基本路径中某个步骤的扩展描述,前边加基本路径编号,特殊需求:,与用例相关的非功能性需求,技术与数据的变化列表:,输入输出方式上的变化以及数据格式的变化。,发生频率:,用例执行的频率。,待解决的问题:,不清楚的、尚待解决的问题可集中在此进行罗列,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,用例之间的关系,包含关系,用例,A,在其内部说明的某一位置上显式地使用用例,B,行为的结果,称为用例,A,包含用例,B,。,包含关系图示表示如下左图。,避免用例中相同功能的重复描述;避免过长的用例。,扩展关系,在,不能改变,已有用例的情况下,扩展用例的功能。,扩展用例中必须包含触发和扩展点说明。,扩展管理的图示表示如下右图。,基用例,被包含的用例,include,基用例,扩展用例,extend,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,用例的包含关系举例,假设在一个旅游电子商务网站系统中,有如下用例:,购买机票,预定酒店,在这两个用例中,都有一个环节是“填写联系资料”,则可以将“填写联系资料”抽象为一个独立的用例,在上述用例中包含该用例,局部用例图如下图所示:,购买机票,填写联系资料,预定酒店,include,include,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,用例,1,:购买机票,主要成功场景:,1.,顾客输入航班查询条件;,2.,系统显示查询结果;,11.,顾客填写联系方式,,包含,填写联系资料,用例。,12.,顾客选择信用卡支付,,填写信用卡信息。,用例,2,:预订酒店,主要成功场景:,1.,顾客输入酒店查询条件;,2.,系统显示查询结果;,3,顾客填写入住时间;,8.,顾客填写联系方式,,包含,填写联系资料,用例。,用例,10,:填写联系资料,级别:子功能,主要成功场景:,1.,顾客在联系方式界面内输入办公电话、,手机、,Email,、邮寄地址和邮箱,点击提交。,2.,系统验证上述信息格式有效。,扩展(或替代流程),:,2a.,系统发现有必填信息没有填写,1.,系统给出提示信息;,2.,顾客填写信息,,回到主要成功场景的步骤,2,。,2b.,系统验证信息格式不正确,1.,系统给出提示信息;,2.,顾客重新填写信息,,回到主要成功场景的步骤,2,。,包含关系用例描述,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,用例的扩展关系,假设在“购买机票”用例中,基用例不能修改,此时需要在信用卡支付环节,增加“里程换机票”的功能,此时,可以将该功能抽象为扩展用例,以扩展基本用例的功能。,扩展后的局部用例图如下图所示:,购买机票,里程换机票,extend,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,扩展用例的描述,用例,1,:购买机票(基用例),主要成功场景:,1.,顾客输入航班查询条件;,2.,系统显示查询结果;,11.,顾客填写联系方式,包含,填写联系方式,用例,。,12.,顾客选择信用卡支付,填写信用卡信息。,用例,12,:里程换机票,(,扩展用例,),触发:顾客选择用里程积分支付航班费用,扩展点:,购买机票用例中的步骤,12,。,所处层次:子功能。,主要成功场景:,1.,系统验证顾客是否有足够的积分。,2.,系统从顾客当前积分中扣除相应积分,将剩余积分告诉顾客。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,在线考试系统的用例图,设置考试时间、考试班级、,考试规则;,生成学生密码;,增、删、改考试设置,对成绩特别差的学生,,老师可以查阅其完整,的试卷,分析其薄弱,点所在,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,在线考试系统的用例描述,用例编号,用例名称,使用人,用例描述,用例,1,批阅答案(按学生),阅卷者,在线逐个学生地批阅答案。,用例,2,批阅答案(按考题),阅卷者,批量导出某题的所有解答,另存为文件供教师离线批阅,用例,3,批量导入成绩,阅卷者,按照指定的格式,将批量批阅的题目的得分一次性导入,用例,4,维护成绩,阅卷者,阅卷者能对成绩进行增、删、改、查,用例,5,配置考试,教师,设置考试的时间和时长、考试使用的试题生成规则、参加考试的班级等信息,用例,6,维护试题生成规则,教师,包括对试题生成规则的增、删、改、查,用例,7,维护题库,教师,包括对各类试题的增、删、改、查,用例,8,查询学生卷面,教师,生成某一个学生的卷面(,word,格式),并提供下载或打印功能,用例,9,批量计算学生总成绩,教师,批量计算出各学生的总成绩,用例,10,生成学生成绩单,教师,生成指定班级按学号升序排列的学生成绩清单,用例,11,生成统计报表,教师,对一些有价值的结果进行统计分析,用例,12,查看统计报表,教师,查看统计报表,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,在线考试系统的用例描述,用例编号,用例名称,使用人,用例描述,用例,13,维护系统参数,系统维护人员,维护系统配置数据信息,用例,14,维护学生基本信息,系统维护人员,对学生基本信息进行维护,包括增加、修改、删除等。,用例,15,维护教师基本信息,系统维护人员,对教师基本信息进行维护,包括增加、修改、删除等。,用例,16,维护课程基本信息,系统维护人员,对课程基本信息进行维护,包括增加、修改、删除等。,用例,17,管理用户,系统维护人员,对系统登录用户信息进行维护,用例,18,管理用户权限,系统维护人员,对系统用户的权限进行管理,用例,19,查询成绩,学生,查询某次考试的成绩,用例,20,考试,学生,参加某次考试,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,“考试”用例文本描述,用例编号,:,UC001,用例名称,:,考试,范围:,在线考试系统,级别:,用户目标级别,主要参与者,:,学生,项目相关人,员及其兴趣,:,学生:顺利进行考试,能准确快速地提交答案,考试不间断,时钟计时准确,系统响应时间在,1,秒之内。,老师:能按照考卷生成规则对每个考生自动生成一套考卷,能准确记录学生答案,能准确计时。,前置条件,:,考试已经设置(考卷生成规则,考试时间,考试对象),监考老师已经启动该考试生效,监考老师已经核实完学生身份,学生已从监考老师处获得考试密码并登陆系统,进入系统主窗口。,后置条件:,如果考试成功,则系统记录学生的考题及答案,并当场给出选择题分数;如果考试失败,所有信息均不进行记录。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,“考试”用例文本描述,主要成功场景,:,1,学生在系统主窗口中选择参加考试。,2,系统列出该学生该时段能参加的所有考试课程名称。,3,学生选择其中的一门课程,要求考试。,4,系统弹出登陆框,要求学生输入考试密码。,5,学生输入从监考老师处获取的考试密码,登录。,6,系统显示欢迎界面,展示考试课程名称和考试时长,询问学生是否开始考试。,7,学生选择开始考试。,8,系统按照预先设计好的考卷生成规则自动生成一套考卷。,9,系统显示考题。,10,学生答题,并提交该题答案。,11,系统记录答案,并使上一题或下一题按钮生效。,12,学生选择上一题或者下一题。,系统重复步骤,9,12,,直到学生选择结束考试或者考试时间到。,13.,系统显示学生的选择题得分。,14,系统询问学生是否退出考试。,15,学生选择退出。,16,系统回到系统主窗口。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,“考试”用例文本描述,扩展(或替代流程),:,*a A,任何时刻,如果学生使用的电脑出现问题:,为了支持恢复操作和正确地记录考生信息,要保证,所有考试过程中的敏感状态和事件都能够从上述场,景中任何一步中完全恢复。,1.,学生重启系统,登录,请求恢复上次状态。,2.,系统重建之前的状态(包括考题和已经提交的答,案)。,2a.,系统恢复过程中检测到异常:,1,系统向学生指示错误,学生记录错误,向监考老,师报告。,2,学生在监考老师安排下更换一台电脑重新登录继,续考试。,5a.,系统验证输入的用户名或者密码无效:,1,系统显示提示信息。,2,用户重新输入用户名和密码。,3,系统验证密码有效,回到主要成功,场景的步骤,6,。,3a.,系统验证输入的用户名或者密码无效,且验,证次数小于,3,次:回到,5a,的步骤,1,。,3b.,系统验证输入的用户名或者密码无效,且,验证次数已经,3,次:系统进行提示,强迫学,生回到系统主窗口。,7a.,学生选择稍后开始考试:,屏幕上提示准备时间为,3,分钟。,2,3,分钟后自动进入考试。回到主要成功场景的步骤,8,。,10a.,学生答题却未提交答案:,1,系统不记录答案,并使上一题或下一题按钮生效。回到主要成功场景的步骤,12,。,9-12a.,学生选择提前结束考试:,1,系统询问学生是否确实提前结束考试。,2,学生确认结束。回到主要成功场景的步骤,13,。,2a.,学生选择继续考试。回到前一状态。,15a.,学生不选择退出:,1,系统进入,30,秒倒计时。,2,30,秒后自动退出原考试界面,回到主要成功场景的步骤,16,。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,“考试”用例文本描述,特殊需求:,系统对每个操作的反应应在,1,秒钟内。,学生使用分配的密码成功登录后,只能进入考试界面,不可启动其他应用程序(如,QQ,、,MSN,等)和破坏系统。,技术与数据的,变化列表:,目前学生参与考试过程中只可以使用键盘和鼠标作为交互设备。将来可以考虑增加触摸屏。,发生频率:,期中、期末使用。,待解决的问,题:,1,如果学生考试中途觉得题目太难继续不下去,是否给他重新出一套题在剩下的时间继续考试?,2,考虑到扩展性和通用性,系统是否要能同时支持两种出题模式,即,1,)试题在考试之前先生成、全班通用,,2,)试题在考试时才生成,每人的题目均不一样?,3,目前该系统主要支持期中、期末以班为单位的集中式程序设计测试。但将来是否还要能支持平时一些达标类的小测试?对于此类测试,是否可以多给几次机会,让学生在规定时间内再次考试?达标总成绩如何计算?如何确保是本人参加考试,?,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,UML活动图描述,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,9.2.4 其他需求分析工作,在统一过程,UP,中,除了用例模型,需求分析工件,(artifact),中还有:,补充规范(,supplementary specification,):记录系统的非功能性需求,同时也记录用例模型中没有表达或者不方便表达的功能特性列表。,术语表(,glossary,):记录关键的领域术语。,项目构想文档(,vision,)描述系统高层的目标、功能和约束,以便让项目相关人员快速地对系统有一个全局的了解,这些目标、功能和约束在用例模型和补充规范中会进行细化。,业务规则描述(,business rules,):也称为领域规则,通常描述业务需求和处理策略,应用系统必须要遵守这些规则和策略。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,9.3 创建领域模型,9.3.1 识别概念类,9.3.2 添加关联,9.3.3 添加属性,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,领域模型简介,领域模型就是用来描述业务领域重要概念及其相互关系的模型,,一般用,UML,的类图来表达,其中概念用类来表示,概念之间的关系用关联、继承、聚合来表示。,理解领域模型对理解系统需求至关重要,领域模型的创建步骤如下:,第,1,步,找出当前需求中的,候选概念类,;,第,2,步,在领域模型中描述这些,概念类,。用问题域中的词汇对概念类进行命名,将与当前需求无关的概念类排除在外。,第,3,步,在概念类之间,添加必要的关联,来记录那些需要保存记忆的关系。,第,4,步,在概念类中,添加,用来实现需求的必要,属性,。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,领域模型举例,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,9.3.1 识别概念类,创建领域模型需要经过多次迭代,增量地建立一个领域模型。,两种识别概念类的技巧:,使用概念类分类列表:通过建立一个候选概念类的列表来开始创建领域模型。,识别名词短语:识别有关问题域文本描述中的名词和名词短语,然后将它们作为候选的概念类或者属性。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,使用概念类分类列表,概念类分类,示例,物理或者具体对象,商品,事物的设计、描述和规范,商品规格说明,考题规格说明,位置,商店,交易,销售,考卷,交易项目,销售项,考题,人的角色,收银员,考生,其他事物的容器,商店,考卷,容器包含的元素,商品,考题,在该系统之外的系统,信用卡支付授权系统,抽象名词的概念,组织,销售部门,事件,销售,考卷,过程(通常不表示成一个概念,但也可以表示成概念),销售一件商品,规则和政策,考卷生成规则,分类,产品目录,有关工作、契约、财务和法律事物的记录,收据、维护日志,财务设施及服务,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,识别名词短语,1,学生,在系统主窗口中选择参加,考试,。,2,系统列出该学生该时段能参加的所有,考试课程名称,。,3,学生选择其中的一门,课程,,要求考试。,4,系统弹出登陆框,要求学生输入,考试密码,。,5,学生输入从,监考老师,处获取的,考试密码,,登陆。,6,系统显示欢迎界面,展示考试课程名称和,考试时长,,询问学生是否开始考试。,7,学生选择开始考试。,8,系统按照预先设计好的,考卷生成规则,自动生成一套,考卷,。,9,系统显示,考题,。,10,学生答题,并提交该题,答案,。,11,系统记录答案,并使上一题或下一题按钮生效。,12,学生选择上一题或者下一题。,系统重复步骤,9,12,,直到学生选择结束考试或者考试时间到。,13.,系统显示学生的,选择题得分,。,14,系统询问学生是否退出考试。,15,学生选择退出。,16,系统回到系统主窗口。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,在线考试系统中的概念类,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,9.3.2 添加关联,领域模型中的关联可分为两种:,“需要知道”型关联:,需要将概念之间的关系信息保持一段时间的关联。领域模型中需要着重考虑。,“只需理解”型关联:,有助于增强对领域中关键概念的理解的关联。,寻找关联时要遵循下述指导原则:,1,将注意力集中在需要知道型关联。,2,识别概念类比识别关联更重要,因此领域模型创建过程中应该更加注重概念类的识别。,3,太多的关联不仅不能有效地表示领域模型,反而容易使领域模型变得混乱。,4,避免显示冗余或导出关联。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,通用关联表,分类,示例,A,在物理上是,B,的一部分,树木森林,A,在逻辑上是,B,的一部分,销售项销售 考题考卷,A,在物理上包含在,B,中或者依赖于,B,商品货架,A,在逻辑上包含在,B,中,考卷生成规则项考卷生成规则,A,是对,B,的描述,考题规格说明考题,A,是交易或者报表,B,中的一项,销售项销售 考题考卷,A,为,B,所知,/,为,B,所记录,/,录入,B,中,/,为,B,所捕获,A,是,B,的一个成员,收银员商店,A,是,B,的一个组织子单元,销售部商店,A,使用或管理,B,收银员,POS,机,A,与,B,通信,顾客收银员,A,与一个交易,B,有关,学生考试 顾客销售,A,是一个与另一个交易,B,有关的事务,支付销售,A,与,B,相邻,商品商品,A,为,B,所拥有,POS,机商店,A,是一个与,B,有关的事件,考试学生 销售顾客,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,在线考试系统通用关联表,分类,示例,A,在物理上是,B,的一部分,不适用,A,在逻辑上是,B,的一部分,考题考卷,A,在物理上包含在,B,中或者依赖于,B,不适用,A,在逻辑上包含在,B,中,考卷生成规则项考卷生成规则,A,是对,B,的描述,考题规格说明考题,课程规格说明课程,A,是交易或者报表,B,中的一项,考题考卷,A,为,B,所知,/,为,B,所记录,/,录入,B,中,/,为,B,所捕获,不适用,A,是,B,的一个成员,不适用,A,是,B,的一个组织子单元,不适用,A,使用或管理,B,不适用,A,与,B,通信,不适用,A,与一个交易,B,有关,学生考试,A,是一个与另一个交易,B,有关的事务,不适用,A,与,B,相邻,考题考题,A,为,B,所拥有,不适用,A,是一个与,B,有关的事件,考试学生,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,考试系统中“需要知道型”关联,关联,含义,学生,“,参加,”,考试,为了知道学生是否需要参加该项考试,老师,“,监考,”,考试,为了知道由哪(几)位老师监考,考卷,“,记录着,”,考题,为了知道一份考卷由哪些考题组成,考卷生成规则,“,对应于,”,课程,为了知道是哪门课程的考卷生成规则,考卷生成规则,“,应用于,”,考试,为了知道某次考试使用哪套考卷生成规则,考卷生成规则,“,记录着,”,考卷生成规则项,为了知道一套考卷生成规则由哪些细项组成,考题规格说明,“,详细描述,”,考题,为了知道一道考题的详细描述,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,在线考试系统部分领域模型,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,9.3.3 添加属性,属性是对象的数据特性,领域模型中的属性往往是需要记忆的信息。,识别属性时应注意以下几点:,尽量用简单数据类型定义属性;,识别属性时首先识别最重要的属性,忽略那些派生属性;,对每一个属性,要赋予一个有意义的名称。,除了概念类的属性,也要寻找关联上的属性。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,在线考试系统部分属性,概念,属性,课程,开课时间,课程规格说明,课程编号,课程名称,学分,课程简要介绍,学生,学号,班级,姓名,联系,Email,选课,选课年份,课程总评成绩,老师,工作证号,姓名,职称,所在院系名称,联系电话,联系,Email,授课,授课时间,授课教室,监考,应到人数,实到人数,考场情况简述,考试,考试时间,考试时长,考试地点,考卷,总分,考卷生成规则,测试对象,测试目的,内容范围综述,考卷难度,规则创建人,规则创建时间,规则生效标志,考卷生成规则项,题目类型、题目难度、内容分类、题目数量,考题,解答,得分,考题规格说明,题目类型、题目难度、内容分类、分数、创建时间、创建人、生效标志,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,9.4 绘制系统顺序图,系统行为,描述一个系统做什么,描述系统行为的有三种工件:,用例:描述系统行为的第一个抽象层次,系统顺序图:第二个抽象层次,系统操作契约:在系统顺序图和领域概念模型基础上得到的第三个抽象层次,从第一层次到第三层次,抽象程度在逐步降低。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,系统顺序图,一个,系统顺序图,用来表示在用例的一个特定场景中,外部参与者产生的事件、事件的顺序以及系统之间的事件。,在交互期间,参与者会向系统发送事件,系统通过响应这些事件来满足参与者的目标。,为了识别系统事件,需要从用例的主要成功场景以及频繁或复杂的替代场景中寻找系统事件,建立系统顺序图。,系统顺序图应看作是用例模型的一部分,是用例中交互的可视化。需要注意的是,不要一次性创建所有用例所有场景的系统顺序图,应该只为当前迭代所选择的场景创建系统顺序图。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,考试用例场景中的事件,从“考试”用例的成功场景中找出的系统事件共有,7,个:,getAvailableTestPapers(,学生读取能够考试的课程,),selectTestPaper(,学生选择其中一门课程进行考试),logonTestPaper(,学生登录一门考试,),startTest,(学生开始考试),submitAnswer,(学生提交答案),getNextQuestion,(学生获取上一题或者下一题),endTest,(学生结束考试)。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,考试场景UML顺序图,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,9.5 创建系统操作契约,系统操作:处理系统事件的操作;一般情况下与系统事件具有相同的名字和参数;,操作契约是为系统操作而定义的,描述系统操作执行的结果,模板如下表所示:,操作:,操作以及参数的名称,交叉引用:,(可选择)可能发生此操作的用例,前置条件:,在操作执行前,领域模型中系统或对象状态的值得注意的假,设,他们在此操作的逻辑内不会得到测试,而被假设为真,,同时,他们并非无关紧要,而应让读者了解此假设的存在。,后置条件:,操作完成后领域模型中对象的状态。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,创建操作契约的指导原则,契约不是必须的。如果用例可以提供大多数或者所有设计需要的细节,那么契约没有什么价值。创建操作契约的指导原则如下:,1.,首先从系统顺序图中识别系统事件,然后针对每一个系统事件设计对应的系统操作。,2.,对于那些复杂的、结果微妙的以及在用例中不清晰的系统操作,构造一个契约,作为用例的补充。,3.,要描述后置条件。后置条件对于领域概念状态变化的描述关注下面三个方面:,实例创建和删除。,属性修改。,关联形成和断开。特别是在创建了新的实例后,往往需要和多个对象之间建立关联。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,创建操作契约的指导原则,4后置条件的陈述应该采用过去时态的声明语气和被动句型,以强调系统状态所发生的变化,而不是强调这种变化是如何设计实现的。,5在需求工作时,如果要为一个系统操作建立契约,那么为系统操作产生一个完整、详细的后置条件集有时是不可能甚至是不需要的。,2008,BUPT TSEG,北京邮电大学 通信软件工程中心,考试系统中的系统操作,考试系统中的,8,个系统操作:,logon(role:string,Id:string,pwd:string),getAvailableTestPapers(stuId:string),selectTestPaper(courseName:string),logonTestPaper(pwd:string),startTest(),submitAnswer(questionId:string,answer:string),getNextQuestion(),endTest(),2008,BUPT TSEG,北京邮电大学 通信软件工程中心,logon,操作:,logon(role:string,Id:string,pwd:st展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




面向对象分析.ppt



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/12694668.html