面向对象分析设计实验报告刘欣桐2015G0605010_第1页
面向对象分析设计实验报告刘欣桐2015G0605010_第2页
面向对象分析设计实验报告刘欣桐2015G0605010_第3页
面向对象分析设计实验报告刘欣桐2015G0605010_第4页
面向对象分析设计实验报告刘欣桐2015G0605010_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、浙江理工大学 研究生学习报告类 型 面向对象分析设计实验报告 院(系) 信息学院 专业 计算机技术 学 号 2015G0605010 学生姓名 刘欣桐 指导老师 贾宇波 起讫日期 2016/05/20/-2016/06/20 学习地点 信息学院318 实验一 熟悉ROSE并建立用例模型一、 实验目的1) 掌握Rational Rose的特点、运行环境及获取方法;2) 掌握Rational Rose基本使用方法;3) 掌握使用Rational Rose绘制用例图的步骤;二、实验内容根据附件1给出的毕业设计管理系统需求描述采用面向对象分析方法给出系统及各子功能的用例模型(用例图及用例描述)。三、建

2、模思路用例是对一个活动者(actor)使用系统的一项功能时所进行的交互过程的一个文字描述序列。用例是代表系统中各个项目相关人员之间就系统的行为所达成的契约。软件的开发过程可以分为需求分析、设计、实现、测试等阶段,用例把所有这些都捆绑在一起,用例分析的结果也为预测系统的开发时间和预算提供依据,保证项目的顺利进行。因此可以,软件开发过程是用例驱动的。用例分析的步骤可以按下面的顺序进行:(1) 找出系统外部的参与者和外部系统,确定系统的边界和范围。(2) 确定每一个参与者所期望的系统行为。(3) 把这些系统行为命名为用例。(4) 使用泛化、包含、扩展等关系处理系统行为的公共或变更部分(5) 编制每一

3、个用例的脚本。(6) 绘制用例图。(7) 区分主事件流和异常情况的事件流,如果需要可以把表示异常情况的事件流作为单独的用例处理。(8) 细化用例图,解决用例间的重复与冲突问题。采用用例分析法捕获用户的需求,其中一个比较困难的工作是确定系统应该包含哪些用例,以及如何有效地发现这些用例。事实上,在做用例分析时,并没有一个固定的方式或方法来发现用例,而且对同一个系统,往往会同时存在多种解决方案,但其中某些方案会比另一些方案好。与设计和实现阶段相比,需求分析阶段更多的还是依赖于分析人员的个人经验和领域知识。四、用例模型1. 确定参与者参与者通过某种途径与系统进行交互,从系统外部执行者的角度来描述系统需

4、要提供哪些功能,参与者可能是人也可能是一个外部系统。通过确定参与者决定哪些行为是系统的一部分以及哪些行为是由参与者所执行的,以此识别系统边界。可以通过以下几组事物来识别系统的参与者:1需要从系统中得到帮助以完成其任务的外部事物2执行系统功能时所需要的外部事物3为了管理和维护而执行某些辅助功能的外部事物。简单毕业设计管理系统的参与者及其职能如下表所示:参与者名称参与者职能教务管理员信息维护(包括教师信息、学生信息、毕业设计要求)、毕业设计管理(包括论文的拟题、中期、结果)、系统登录学生初步选题目、初选结果调整、论文撰写、答辩教师确认学生选题、中期检查、指导学生论文撰写、进行评阅2. 系统顶层用例

5、图一个用例代表一个系统(或系统一部分)的行为,是对一组动作序列的描述,可以用用例来描述系统想要实现的行为而不必说明这些行为如何实现。用例为开发者提供了一种途径,使他们与系统的最终用户和领域专家达到共同的理解。用例不仅是描述需求的工具,还可以驱动开发过程,通过对用例的创建、整合,开发设计人员可以构建一系列实现这些用例的设计和实现模型。系统顶层用例的构建,可以使得系统整体性的呈现并被建模人员把握。通过前述需求分析的结果,可以得出顶层用例,其中涉及的参与者及其活动系统顶层用例图如下图所示。3. 用例细化从系统总的用例来建立用例图,这样设计在项目开始阶段对理解系统的要求和目标都有好处,但需要进一步细化

6、,划分为更具体的一些用例,以便深入分析系统的要求和目标。下面对确定题目过程用例进行细化:确定题目过程用例的参与者包括教务管理员、指导教师。教务管理员发布拟题要求列表,指导教师下载表格拟报设计题目,毕业设计专家小组评审题目;如果题目符合要求,则可以进行发布题目并保存到设计题库,如果不符合要求,则给出修改意见。如下图:功能名称标识符确定题目过程功能描述名称、标识符参与者描述后台管理教务管理员教务管理员登录后可以进行如下操作:1发布拟题要求2评审题目拟题设计指导教师教师登录后可以进行如下操作:1拟题目名称2实现功能3技术要求与规格4. 结果分析用例模型基本实现了所有的需求,下面的这些启发性原则可以帮

7、助分析人员发现用例:和用户交互。寻找用例的一个途径就是和系统的潜在用户会面、交谈。可能不同的用户对系统的描述会是完全不同的,即使是同一个用户,他对系统的描述也可能是模糊的、不一致的,这时就需要分析员做出判断和抉择。把自己当作参与者,与设想中的系统进行交互。 确定用例和确定参与者不能截然分开。一些原则来帮助发现用例,如通过回答下列问题来帮助发现用例: 参与者的主要任务是什么? 参与考需要了解系统的什么信息,需要修改系统的什么信息? 参与者是否需要把系统外部的变化通知系统?? 参与者是否希望系统把异常情况的变化通知自己? 随着经验的不断积累,对于如何寻找用例会逐渐形成自己的也可以通过与其他人的交流

8、来提高自己的分析水平。实验二 利用ROSE建立领域模型1、 实验目的掌握使用Rational Rose绘制类图的步骤;2、 实验内容根据附件1给出的毕业设计管理系统需求描述采用面向对象分析方法给出系统中完成选题功能的领域模型(初始类图)。三、 建模思路概念模型是从用例模型映射到类的第一步。概念模型是将用例模型向计算机表示的进一步过渡。概念模型就是划分类的结果。主要表达用类图,辅以顺序图。类图建模是UML静态建模机制中的一个重点,信息结构和系统行为均需借助它来描述。类图创建工作主要包括创建类、标识类之间的结构关系。首先确定类,其次再确定其属性和操作;最后将类与类之间的关联、依赖、继承、聚合关系在

9、图中标示出来,就得到类图。在寻找类时,可以根据功能把类分成三种类型:实体类、边界类和控制类。边界类位于系统与外界的交接处,包括所有窗体、报表、打印机等硬件接口以及其他系统的接口,边界类使角色能与系统交互,而每个角色要使用用例与系统交互至少要有一个边界类。实体类保存要放进永久存储体的信息,在系统运行时,实体类在内存中保存信息。控制类负责协调其他类的工作。实体对象类表示系统中的信息存储,它们一般用于表示系统所管理的核心概念。实体对象是被动和永久性的。它们的主要职责是存储和管理系统中的信息。四、 领域模型根据建模思想对每个用例分别可以找出三种类:边界类、逻辑类和实体类;将所有找到的三种类集中综合在一

10、起得到三大模型:视图模型、逻辑模型和实体模型。原始类的划分可采用表格表示三大模型,根据要求再进一步细化。根据毕业设计管理系统需求描述的选题过程可以得到三大模型如下:1. 视图模型(边界类)用例边界类说明登录LoginForm为用户提供登录界面,不同用户进入不同的界面开启、关闭题库QuestionBankManageForm教务管理员开启、关闭题库录入界面教师信息维护TeacherInfoManageForm教务管理员对教师信息进行维护的界面(包括对教师信息的增、删、改、查)学生信息维护StudentInfoManageForm教务管理员对学生信息进行维护的界面(包括对学生信息的增、删、改、查)

11、选题信息维护ChoseIfoManageForm教务管理员对选题信息进行维护的界拟报设计题目ThesisTopicForm指导教师拟报题目界面评审题目ReviewTitleForm教务管理员评审题目的界面发布题目PostTitleForm合格的题目可以进行发布保存界面初步选题PreTopicsForm学生进行初步选题界面查询所选题目DiscoverSelectedTopicsForm教师查询学生初步选题的界面发布最终选题结果ReleaseFinalResultForm最终题目显示的界面2. 逻辑模型(逻辑类)用例逻辑类说明登录Login_Operation通过Login为用户提供身份验证,验证

12、成功才能进入系统开启、关闭题库QuestionBankManage教务管理员开启、关闭题库,实际上就是开放或关闭保存题库入口。教师信息维护ManageTeacherInfo_Operation教务管理员维护教师信息,包括增、删、改、查学生信息维护ManageStudentInfo_Operation教务管理员维护学生信息,包括增、删、改、查选题信息维护ChoseInfoManage教务管理员维护选题信息,包括增、删、改、查拟报设计题目ThesisTopic指导教师拟报题目包括题目名称、技术要求、是否重复等。评审题目ReviewTitle评审员根据拟题要求给出修改建议等。初步选题PreTopic

13、s将符合要求的题目进行保存到题库。查询所选题目DiscoverSelectedTopics教师查看学生选题情况发布最终选题结果ReleaseFinalResult查看最终题目情况3. 实体模型(实体类)用例实体类说明登录类Login用户身份,用户的学号、工号,用户的姓名、密码等信息学生类Student学生信息,学号、姓名、联系方式、班级等信息教师类Teacher教师信息,工号、姓名、职称、个人简介等信息教务管理员类EducationalAdministrator教务信息,教务的工号、教务的级别、教务的信息题目类Thesis题目名称、题目类别、是否与专业相关、创新点、基本信息、其他等)选题结果类

14、SelectTopicsResult题目编号、题目名、学号、学生姓名、联系方式、班级、指导教师、所在院系院系通过以上面向对象分析方法可以得到系统中选课功能的领域模型(初始类图)如图所示:5、 结果分析本实验很好的实现了领域模型和系统逻辑处理的对应,从而得到了边界类、逻辑类和实体类。找边界类时,注意边界类位于系统与外界的交接处;逻辑类主要是操作类;实体对象类表示系统中的信息存储,一般会有对应的表单。类找到后,要用rose进行建模。UML中的类图具有充分强大的表达能力和丰富的语义,是建模时非常重要的一个图。1类之间可以有关联、聚集、组合、泛化、依赖等关系。2关联是类图中比较重要的一个概念,一些相关

15、的概念有关联名、关联角色、关联类、关联上的角色、限定关联、自返关联、二元关联、N元关联等。3关联类是用于描述关联本身的特性。4带有限定符的关联称为限定关联,限定符的作用就是在给定关联一端的定符值以后,可确定另一端的一个对象或对象集。5派生属性和派生关联是指可以从其他属性和关联计算推演得到的届性和关联,在生成代码时,派生属性和派生关联不产生相应的代码。6抽象类和接口为oo设计提供了抽象机制。7版型是UMI相F常重要的一种扩展机制,uML之所以有强大而且灵活的表示能力,与版型这种扩展机制有很大的关系。8边界类、控制类和实体类是对类的一种划分,它们都是类的版型。实验三 利用ROSE建立数据模型一、

16、实验目的掌握使用Rational Rose进行数据建模的方法和步骤。二、实验内容根据附件1给出的毕业设计管理系统需求描述采用面向对象分析方法给出系统的实体类关系模型(实体类关系模型)。三、建模思路以属性聚集的方式同一主题域中不同实体的属性。比如对于会员、公司、客户等等实体对象我们都有地址属性信息、名称标识属性信息等等,这种思路就是把属性内聚性高的字段整合在一起,并把不同的属性打上类型标识以树表的形式存放。它的优点是:第一,模型稳定性好,外围系统变化了字段,只需要添加不同的类型,不需要进行表结构的变更;第二,减少大量冗余记历史数据。它的缺点是:第一,丢失了很多实体的属性标识信息,我们从模型上将看

17、不到一个会员究竟有哪些地址属性,只能通过查询类型代码才能获取这些信息;第二,它极度的膨胀数据表的记录数,因为它采用竖表的形式存放;第三,应用起来很难,效率是一个大问题,因为我们往往要使用一个实体的多个字段,就会有很多join操作和竖转横的操作。第四:属性聚集也是一件比较难操作的过程,应为这是一个抽象的过程,对建模人员的业务背景知识和抽象能力都提出了很高的要求;第五:虽然减少了冗余的记历史数据,但是记历史的操作也较为复杂。采用面向对象建模的方式,抽象不同实体的共同属性,然后再一步步采用继承、组合等面向对象的思想具体化实体。他的优点是模型模型概念比较清晰,缺点也是模型相对不是很稳定,整合后的数据的

18、后续应该也面临重新组合的问题。四、实体类关系模型五、结果分析本实验通过对关键用例的数据进行建模,加深了对业务的理解。通过本实验的学习,我掌握了试验数据统计分析的基本原理,并能针对实际问题正确地运用,为将来从事专业科学的研究打下基础。顺序图和协作图都属于交互图,都用于描述系统中对象之间的动态关系。两者可以相互转换,但强调的重点不同。顺序图强调的是消息的时间顺序,协作图强调的是参与交互的对象的组织。和协作图相比,顺序图在表示算法、对象的生命期、具有多线程特征的对象等方面相对来说更容易一些,但在表示并发控制流方面会困难一些。交互图中有多种消息类型:调用消息:调用消息的发送者吧控制传递给消息的接收者,

19、然后停止活动,等待消息接收者放弃或返回控制。调用消息可以表示同步的意义。对于实验设计与数据处理方法,我们在以后的实验中要不断去实践与体会,以上就是我对使用ROSE建立数据模型的一点体会,很感谢老师给我们带来这么多有用的知识,在以后的学习生活中我也会牢记这些知识,不断的实践。实验四 利用ROSE进行Web建模一、 实验目的掌握使用Rational Rose进行Web建模的方法和步骤。二、实验内容根据附件1给出的毕业设计管理系统需求描述采用面向对象分析方法给出系统中完成选题功能的所有Web模型。三、建模思路WEB应用建模对软件系统特别是较复杂系统的建模是非常重要的,它能帮组设计者控制系统的复杂性。

20、WEB应用通常比较复杂,能用许多不同但又一致的模型来表示。每个模型都有其特定的目标和读者。WEB应用的主要产物是WEB页,因此应对页建模。使用UML可以把页表示为对象。这将提出以下问题:这样的对象的属性是什么?它是否适合于表达元素(如字体、表格、文本等)的布局?页中的脚本是否应标识为页对象的方法?在设计模型时,用户界面格式不会影响系统的业务逻辑。只有脚本,特别是服务器脚本才会影响系统的业务逻辑。另外可以把脚本(页范围内)中的变量看作页对象属性,页的功能看作它的方法。然而,由于WEB页面能同时包含服务器脚本及客户机脚本,混合实现服务器和客户机脚本的属性和方法会引起混乱。解决这个问题需要用到UML

21、的扩展机制。其建模步骤如下:在Rose中对Web应用系统建模的步骤如下:(需要先在ToolsàOptionsàNotation中设置缺省模型语言为Web modeler)定义 virtual directory:virtual directory实际是版型为<<virtual directory>>的包。添加服务器页(server page):server page实际上是版型为<<Server Page>>的类。添加客户机页(client page):client page实际上是版型为<<Client Page>>的类。添加 HTML Form:HTML Form必须添加到某个client page下,HTML Form实际上是版型为<<HTML Form>>的类。添加Form中的 HTML Input,HTML Select或HTML Textarea:HTML Input必须添加到某个HTML Form下,HTML Input是版型为<<HTML Input>>的HTML Form的属性。为HTML Input类型的元素指定type值:tex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论