您好,欢迎访问三七文档
基于UML的面向对象软件开发方法案例分析UML是一种标准化的图形建模语言,它是面向对象分析与设计的一种标准表示。参考文献:•[1]许家珆.软件工程——方法与实践(第二版).北京:电子工业出版社.•[2]JacquieBarker著.韩柯等译.Java面向对象编程指南.电子工业出版社.设计视图实现视图配置视图过程视图Usecase视图UsecaseView描述系统的外部特性、系统功能等。ImplementationView表示系统的实现特征,常用构件图表示。DesignView描述系统设计特征,包括结构模型视图和行为模型视图,前者描述系统的静态结构(类图、对象图),后者描述系统的动态行为(交互图、状态图、活动图)。ProcessView表示系统内部的控制机制。常用类图描述过程结构,用交互图描述过程行为。DeploymentView配置视图描述系统的物理配置特征。用配置图表示。UML常用视图图(DiagramsUML语言定义了五种类型,9种不同的图,把它们有机的结合起来就可以描述系统的所有视图。用例图(Usecasediagram)从用户角度描述系统功能,并指出各功能的操作者。静态图(Staticdiagram),表示系统的静态结构。包括类图、对象图、包图。行为图(Behaviordiagram),描述系统的动态模型和组成对象间的交互关系。包括状态图、活动图。交互图(Interactivediagram),描述对象间的交互关系。包括顺序图、合作图。实现图(Implementationdiagram)用于描述系统的物理实现。包括构件图、部件图。图(Diagrams)图SRS系统用例建模1、了解系统需求,需要寻求以下问题答案•(1)谁将使用待开发的系统?•(2)系统需要提供什么有价值的服务?•(3)当用户与系统交互时,他们期待什么效果?UML的用例模型一直被推荐为识别和捕获需求的首选工具!!2.构建用例模型的三个步骤•(1)确定系统参与的演员;•(2)根据系统需要实现的具体功能,确定系统各种用例;•(3)确定演员和用例之间的交互关系。3.确定用例的参与演员演员指代在系统建成后与系统交互的任何人或任何物,演员驱动用例。演员一般包含两类:(1)用户(人)(2)其他计算机系统3.1SRS系统参与演员分析用户(人)学生教授管理人员校友准大学学生其他计算机系统教务系统教室安排系统收费系统分析原则:合理的界定系统范围,避免出现”需求膨胀”或者”范围萎缩”。确定最终参与演员:学生教授管理人员4.1SRS系统用例确定•系统登录•建立学习计划•审核学习计划•注册课程班级•取消注册课程•查询授课班级信息•查询学生信息•查询学生成绩单•公布课程成绩•维护后台基础数据用例是演员和系统的一次典型交互,一般被定义为系统执行的一系列动作或功能。4.2用例描述——自然语言描述我们被要求为大学开发一个自动化的学生注册系统(SRS)。这个系统可使学生在线注册每个学期的课程班级,也可以用于跟踪学生的学习进展,直到其获得学位。当学生被大学录取后,所有学生在SRS上建立学习计划,即确定满足特定学位程序所需要的课程,并选择一名导师。SRS要检验所提出的学习计划是否满足该学生所希望获得学位的要求。一旦建立学习计划,则在以后每个学期的注册期间,学生都可以在线查看课程计划,选择要选修的课程班级。如果课程由多名教授讲授,则还可以指定听课时间(每星期周几,每天什么时间听课)。SRS系统要参考学生在线的所完成课程的成绩(学生可以随时查看自己的成绩单),检验学生是否满足所申请课程的必要的预修条件。假设:(a)所要求的预修课程已经满足;(b)课程满足该学生学习计划要求之一;(c)课程班级尚有空位,则学生可以参加听课。如果上述三个条件满足,则系统将确认注册课程班级成功。注册课程班级用例4.2用例描述——用例模板描述用例名:注册课程班级执行者:学生功能描述:每个学期开始,学生登录到SRS系统后能按照学习计划的安排,查看本学期相关课程开设的相关班级,并进行注册,方便后续课程学习的顺利进行。主要步骤:(1)登录到SRS系统(2)查看本学期开发的班级计划信息(3)选择合适班级,提交注册需求,等待系统应答。(4)系统检查保证所请求的课程对于他的整个学位目标是合适的。(5)系统检查该学生成绩单,确保该学生满足所请求课程的预修课程要求(6)确认所注册班级是否还有空余位置。(7)该班级加入到该学生当前选修课程表中(8)系统给予注册成功与否的应答信息相关用例:系统登录建立学习计划查询授课班级信息5建立用例和演员之间的关系•利用演员和用例的交叉引用表,来描述用例和演员之间的关系:启动演员用例学生教授管理人员•系统登录提供信息提供信息提供信息•建立学习计划提供信息不可用不可用•审核学习计划不可用提供信息不可用•注册课程班级提供信息不可用不可用•取消注册课程提供信息不可用不可用•查询授课班级信息使用信息使用信息使用信息•查询学生信息使用信息使用信息使用信息•查询学生成绩单使用信息使用信息使用信息•公布课程成绩不可用提供信息不可用•维护后台基础数据不可用不可用提供信息交互关系提供信息使用信息不可用(不能启动用例)(以写方式启动用例)(以读方式启动用例)6建立用例图SRS系统静态建模——标识候选类及其属性1、系统静态建模需要完成的任务1.分析系统问题域,确定和标识系统需要定义的类;2.定义类对象的属性和操作;3.建立系统中类对象之间的结构关系。2、标识适当的类•标识类的过程相当“模糊”,很大程度上依赖直觉、以前的建模经验以及对要开发系统领域的了解程度。•初次建模,常使用“搜索收集”方法:在项目的所有文档中搜索收集所有名词或名词短语,构成一个清单,并按照一定原则不断筛选、消减这个清单,最终确定一组合适的候选类,形成系统数据字典。我们被要求为大学开发一个自动化的学生注册系统(SRS)。这个系统可使学生在线注册每个学期的课程班级,也可以用于跟踪学生的学习进展,直到其获得学位。当学生被大学录取后,所有学生在SRS上建立学习计划,即确定满足特定学位程序所需要的课程,并选择一名导师。SRS要检验所提出的学习计划是否满足该学生所希望获得学位的要求。一旦建立学习计划,则在以后每个学期的注册期间,学生都可以在线查看课程计划,选择要选修的课程班级。如果课程由多名教授讲授,则还可以指定听课时间(每星期周几,每天什么时间听课)。SRS系统要参考学生在线的所完成课程的成绩(学生可以随时查看自己的成绩单),检验学生是否满足所申请课程的必要的预修条件。假设:(a)所要求的预修课程已经满足;(b)课程满足该学生学习计划要求之一;(c)课程班级尚有空位,则学生可以参加听课。如果上述三个条件满足,则系统将确认注册课程班级成功。2.1SRS系统主要用例需求描述学生在线查看课程计划,选择要选修的课程班级后,SRS系统同样检查上述三个条件:如果(a)(b)条件可以满课程足,但是(c)不能满足,则该学生要放到一个先来先服务等待列表中。如果学生以前所等待的班级可以提供(或者由于某个学生取消所注册的课程班级,或者课程的听课位置增加了),则该学生会被自动录取到所等待的班级中,并向该学生发送一个邮件。该学生如果不再对这个课程感兴趣,可以自行决定取消,否则学生要为该课程付费。学生最迟可以在学期的第一个星期末决定退出所选课程班级。注册课程班级用例取消注册课程用例2.2列出初始名词清单•大学学生注册系统系统学生所有学生学位学习计划课程计划导师教授成绩单完成课程成绩课程预修课程所需要的课程班级等待的班级选修的课程班级、所选课程班级所注册的课程班级听课位置听课时间学期邮件等待列表大学学生注册系统系统学生所有学生学位学习计划课程计划教授导师成绩单完成课程成绩课程预修课程所需要的课程班级等待的班级选修的课程班级所选课程班级所注册的课程班级听课位置听课时间学期邮件等待列表2.3候选类确定•1)删除和本系统关联不大的名词或者指代本系统的名词•2)删除重复项、删除单数术语的复数形式。•3)将明显的同义词分组,在同义词中选择一个最为合适的作为候选类名•4)有些候选名词是暗示对象之间角色的名词,要将角色名称删除•5)删除反映其它类对象属性的名词确定候选类:学生、学习计划、成绩单、教授、课程、班级3.标识类属性确定候选类的描述属性的相关方法:(1)在候选类筛选过程中,有些名词或名词短语已经确定为描述属性,如“学位”为学生的描述属性、“听课位置”、听课时间、学期是班级类的描述属性;(2)利用领域知识,确定候选类可能的描述属性;如大学中每个学生都有学生编号,姓名,专业等信息,这些就可以作为描述属性添加到学生类中;(3)查看相似信息在现有老信息系统或者人工系统中的表示形式,确定候选类应该具有的描述属性;(4)另外在后续分析类与类之间关系时,也可能会考虑添加候选类的描述属性。4数据字典的生成候选类候选类描述属性学生被大学录取的学习主体对象。学生编号、姓名、专业、学位…学习计划学生为得到特定学位所要完成的必修课程清单。计划编号、计划制定时间…教授为班级授课或指导学生的教职工老师编号、姓名、职称…课程一个学期长的一系列授课、作业、考试等,与特定专题领域有关,与一定学时数、学分相关联,是获得学位的一个单位。课程编号、课程名称、课程学分..班级在特定学期每星期特定日期的特定时间提供的特定课程(如课程”面向对象程序设计方法学”,班级:2015年秋季每周四上午的讲授)班级编号、学期、听课位置、听课时间、听课人数…成绩单特定学生选修学习的所有课程的记录,包含具体参加的班级信息、课程成绩、获得的学分。总成绩、总学分…总结:•(1)搜索收集了需求文档中的名词和名词短语,列出初始名词或名词短语26项•(2)运用候选类筛选原则,确定SRS系统的合适候选类共6个:分别为学生、学习计划、成绩单、教授、课程、班级;•(3)运用描述属性确定方法确定了6个候选类的描述属性•(4)定义了包含候选类及其属性描述的SRS数据字典。参考文献:•[1]许家珆.软件工程——方法与实践(第二版).北京:电子工业出版社.•[2]JacquieBarker著.韩柯等译.Java面向对象编程指南.电子工业出版社.SRS系统静态建模——类关系建模2、确定类之间静态结构关系的方法•1)动词短语分析方法•2)关联矩阵分析方法2.1动词短语分析法•目的:根据描述文档集合,如SRS用例需求描述、用例图和数据字典等,分析动词短语,为后续确定类之间的结构关系提供分析依据。•方法:搜索出描述文档中的所有动词短语,然后分析动词短语,若某动作的结果能在相关类对象之间建立了一种持久结构关系,则表明该类之间存在关联。若某些名词短语只是表示临时行为,则删除或者忽略。2.2动词短语分析法举例我们被要求为大学开发一个自动化的学生注册系统(SRS)。这个系统可使学生在线注册每个学期的课程班级,也可以用于跟踪学生的学习进展,直到其获得学位。当学生被大学录取后,所有学生在SRS上建立学习计划,即确定满足特定学位程序所需要的课程,并选择一名导师。SRS要检验所提出的学习计划是否满足该学生所希望获得学位的要求。选择的动词短语:(1)我们被要求为大学开发一个自动化的学生注册系统(SRS)(2)学生…注册…课程班级(3)跟踪学生的学习进展(4)学生被大学录取(5)学生建立学习计划(6)学生..选择一名导师(7)检验…学习计划是否满足…学位要求反映类之间结构关系的动词短语:(2)学生…注册…课程班级建立了学生和班级之间的注册和被注册的关系学生-班级(6)学生..选择一名导师建立了教授和学生之间的指导和被指导的关系教授-学生(5)学生建立学习计划建立了学生和学习计划之间的制定和被制定的关系学生-学习计划2.2动词短语分析法举例删除的明显与系统无关的动词短语:(1)我们被要求为大学开发一个自动化的学生注册系统(SRS)和系统本身明显无关(4)学生被大学录取反映了学生和大学之间的关系,但大学不是本系统的类,可以不考虑这个关系删除反映临时行为,不产生结构关系的动词短语:(3)跟踪学
本文标题:UML建模案例分析
链接地址:https://www.777doc.com/doc-5490054 .html