UML建模实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

面向对象建模方法与技术综合实验报告题目:在线选课系统的UML建模班级:信息081班学号:3080702138姓名:程显指导教师:修宇UML建模实验报告一、用例图(一)本次目的1)熟悉用例图的基本功能和使用方法。2)掌握如何使用建模工具绘制用例图方法。(二)要求请完成如下任务:1)使用Rationalrose画出选课系统的用例图。2)同时对主要功能用例进行详细说明。选课系统用例图如下图所示:PeopleSelectCourseQueryCoursePayforCourseStudentAddCourseModifyCourseDatabaseDeleteCourseRegistrar图1二、活动图(一)本次目的1)熟悉活动图的基本功能和使用方法。2)掌握如何使用建模工具绘制活动图方法。(二)要求请完成如下任务用活动图来描述系统中已知用例的业务过程1)使用活动图对选课用例或相关用例进行描述。2)使用活动图对建立选修课程目录表用例进行描述。活动图如下图所示:输入课程各项信息现实添加成功信息现实添加错误信息验证课程创建课程对象判断添加课程是否合法提示重新输入[不合法]判断添加课程是否成功[成功]在数据库中查询课程在数据库中添加该课程[合法][失败]数据库接口业务逻辑接口用户接口图2三、类图(一)本次目的1)理解类的基本概念;2)掌握如何从需求分析中抽象出类的方法及关系;3)掌握在RationalRose中绘制类的操作方法。(二)要求请完成如下任务通过这用例图和活动图我们可以初步了解系统的业务处理流程。现在需要对系统进行静态建模,这就需要从系统的用例图、活动图去寻找和发现重要概念和对象,定义类及关系,使用ROSE创建类图。请完成如下任务:1)寻找和抽象出选课用例或相关功能中的类,并进行简要说明。2)确定类之间的继承关系已经创建类之间的继承关系,。3)请根据教材中示例部分在RationalRose中绘制类间的关联关系。类图如下图所示:图3四、序列图及协作图完成了选课系统的需求分析,并从业务对象中抽象出了类。现在需要对前面所给出的用例进行实现,而用例的实现主要由交互图来指定和描述系统的动态特性。(一)本次目的1)理解顺序图的基本概念;2)理解协作图的基本概念;3)掌握在RationalRose中绘制交互图的操作方法。(二)要求请完成如下任务1)阅读用例建模得到的用例文档说明和用例图。2)根据事件流,确定对象,对选课功能中的主要用例进行动态建模。3)根据分析设计情况,进一步发现类,细化各类之间的关系,确定主要类的属性和职责。AddCourse序列图如下所示:Admin:Registrarform:FormViewcourses:Coursecontrol:ControlObjectdb:DataBase1:GetCourseInfo()2:Create(String,int,String,String)3:VerifyCourse(Course)4:GetCourseInfo()5:QueryCourse(int)6:CanAdd()7:AddCourse(Course)8:ShowSuccessInfo(String)9:DestroyCourse()图4DeleteCourse序列图如下所示::Registrarform:FormViewcontrol:ControlObject:Database1:GetCourseID()2:QueryCourseByID(int)3:QueryCourse(int)4:ShowConfirmPage(String)5:ConfirmDelete()6:ConfirmDelete()7:DeleteCourse(int)8:ShowSuccessInfo(String)图5ModifyCourse序列图如下所示:Admin:Registrarform:FormViewcourse:Coursecontrol:ControlObjectdb:Database1:GetCourseInfo()2:Create(String,int,String,String)3:VerifyCourse(Course)4:GetCourseInfo()5:QueryCourse(int)6:CanModify()7:ModifyCourse(Course)8:ShowSuccessInfo(String)9:DestroyCourse()图6QueryCourse序列图如下所示:stu:Studentform:FormViewcourses:Coursecontrol:ControlObjectdb:Database1:QuerySelectedCourse(int)2:QueryCourseList(int)3:QuerySelectedCpurse(int)4:Create(String,int,String,String)5:DisplayCourseList(Course[])6:DestroyCourse()图7RegistrarLogin序列图如下所示:admin:Registrarform:FormViewcontrol:ControlObjectdb:Database1:GetRegistrarInfo()2:VerifyRegistrar(int,int)3:QueryPasswd(int,String)4:CheckPasswd()5:ShowSuccessInfo(String)图8SelectCourse序列图如下所示:stu:StudentForm:FormViewcourses:Coursecontrol:ControlObjectdb:Database1:SelectCommand()2:GetAllCourse()3:QueryCourse()4:Create(String,int,String,String)5:GetCourseInfo()6:DisplayCourseList()7:DestroyCourse()8:GetCourseID()9:QueryAssociation(int,int)10:QueryAssociation(int,int)11:CanSelect()12:AddAssociation(int,int)13:ShowSuccessInfo(String)14:GetStudentID()图9SelectCourse协作图如下所示:1:SelectCommand()stuform:FormViewcourses:Coursecontrol:ControlObjectdb:Database6:DisplayCourseList()11:CanSelect()8:GetCourseID14:GetStudentID()5:GetCourseInfo()7:DestroyCourse()2:GetAllCourse()9:QueryAssociation(int,int)13:ShowSuccessInfo(String)3:QueryCourse()10:QueryAssociation(int,int)12:AddAssociation(int,int)4:Create(String,int,String,int)图10五、状态图(一)本次目的1)理解什么状态和状态图;2)学会使用UML绘制状态图(二)要求请完成如下任务1)考察课程类对象的状态变化情况并分析,定义状态及迁移及条件,对课程类对象进行状态建模。2)考虑选课系统的业务流程,对系统进行状态建模,帮助设计人员对系统业务的进一步理解。状态图如下所示:Createdentry/GetCourseInfoInDatabaseInScheduleCreateCourse[needcreateacourse][studentsmaxstudents]AddCourseDeleteexit/updatedatabasedeletecourselocked[students=maxstudents][studnets=maxstudents]Modifiedexit/updatedatabasemodifycourse图11六、构建图和部署图(一)本次目的1)理解组件图的基本概念2)理解组件图的应用:逻辑部署3)理解部署图的基本概念4)理解部署图的应用:物理部署5)掌握组件图和部署图绘制的方法(二)要求请完成如下任务参照实验辅导教材,画出选课系统构件图及部署图并进行文字说明。构建图如下所示:MainProgramPeopleFormObjectControlObjectStudentRegistrarCourseDataBase图12部署图如下所示:打印机客户端浏览器preemptiveWeb浏览器Http服务器preemptiveApache服务器数据库服务器preemptiveOracleInternet图13七、双向工程(一)本次目的1)理解双向工程的概念2)使用Rose进行完成模型的代码生成(二)要求请完成如下任务现在,选课系统的分析和设计工作已经基本完成,即将进入编码阶段。为了加快编码进度,可以利用建模工具执行正向工程,将系统中的模型转换成指定语言类型的代码框架,现要求您使用Rose工具将设计的模型通过正向工程生成代码框架。按照使用Rose工具生成代码的6步基本步骤可以顺利的完成代码框架的生成工作。(1)检查模型,(2)创建组件(3)将类映射到组件(4)设置代码生成属性(5)选择类,组件和包(6)生成代码粘贴得到的主要代码生成代码如下://People.javapublicclassPeople{privateStringname;privateintage;publicPeople(){}}//Student.javapublicclassStudentextendsPeople{privateintStudentID;publicFormObjecttheFormObject;publicStudent(){}publicintgetStudentID(){returnStudentID;}}//DataBase.javapublicclassDataBase{privateStringdbpath;publicDataBase(){}publicbooleanQueryCourse(intCourseID){returntrue;}publicBooleanAddCourse(CourseCourse){returntrue;}publicBooleanDeleteCourse(intCourseId){returntrue;}publicvoidQueryAllCourse(){}publicBooleanquerYAssociation(intCourseID,intStudentID){returntrue;}publicBooleanAddAssociation(intCourseID,intStudentID){returntrue;}publicvoidQuerySelectedCourse(){}publicStringQueryPasswd(intregID,StringRegname){returnnull;}}//Registrar,javapublicclassRegistrarextendsPeople{privateintregID;publicFormObjecttheFormObject;publicRegistrar(){}privatevoidGetRegistRarInfo(){}}//Course.javapublicclassCourse{privateStringname;privateStringclassroom;privateintCourseID;privateStringteacher;privateintStudents;priv

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功