版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象建模方法与技术综合实验报告题 目: 在线选课系统的UML建模班 级: 信息081班 学 号: 姓 名: 程 显 指导教师: 修 宇 UML建模实验报告一、 用例图(一) 本次目的1) 熟悉用例图的基本功能和使用方法。2) 掌握如何使用建模工具绘制用例图方法。(二) 要求请完成如下任务:1) 使用Rational rose 画出选课系统的用例图。2) 同时对主要功能用例进行详细说明。 选课系统用例图如下图所示: 图1二、 活动图(一) 本次目的1)熟悉活动图的基本功能和使用方法。2)掌握如何使用建模工具绘制活动图方法。(二) 要求请完成如下任务用活动图来描述系统中已知用例的业务过程1)
2、使用活动图对选课用例或相关用例进行描述。2) 使用活动图对建立选修课程目录表用例进行描述。 活动图如下图所示: 图2三、类图(一) 本次目的1) 理解类的基本概念;2) 掌握如何从需求分析中抽象出类的方法及关系;3) 掌握在Rational Rose中绘制类的操作方法。(二) 要求请完成如下任务通过这用例图和活动图我们可以初步了解系统的业务处理流程。现在需要对系统进行静态建模,这就需要从系统的用例图、活动图去寻找和发现重要概念和对象,定义类及关系,使用ROSE创建类图。请完成如下任务:1) 寻找和抽象出选课用例或相关功能中的类,并进行简要说明。2) 确定类之间的继承关系已经创建类之间的继承关系
3、,。3) 请根据教材中示例部分在Rational Rose中绘制类间的关联关系。 类图如下图所示: 图3四、序列图及协作图完成了选课系统的需求分析,并从业务对象中抽象出了类。现在需要对前面所给出的用例进行实现,而用例的实现主要由交互图来指定和描述系统的动态特性。(一) 本次目的1) 理解顺序图的基本概念;2) 理解协作图的基本概念;3) 掌握在Rational Rose中绘制交互图的操作方法。(二) 要求请完成如下任务1) 阅读用例建模得到的用例文档说明和用例图。2) 根据事件流,确定对象,对选课功能中的主要用例进行动态建模。3) 根据分析设计情况,进一步发现类,细化各类之间的关系,确定主要类
4、的属性和职责。 Add Course 序列图如下所示: 图4 Delete Course 序列图如下所示: 图5 Modify Course 序列图如下所示: 图6 Query Course 序列图如下所示: 图7 Registrar Login 序列图如下所示: 图8 Select Course序列图如下所示: 图9 Select Course 协作图如下所示: 图10 五、状态图(一) 本次目的1) 理解什么状态和状态图;2) 学会使用UML绘制状态图(二) 要求请完成如下任务1)考察课程类对象的状态变化情况并分析,定义状态及迁移及条件,对课程类对象进行状态建模。2)考虑选课系统的业务流程
5、,对系统进行状态建模,帮助设计人员对系统业务的进一步理解。 状态图如下所示: 图11六、构建图和部署图(一) 本次目的1) 理解组件图的基本概念2) 理解组件图的应用:逻辑部署3) 理解部署图的基本概念4) 理解部署图的应用:物理部署5) 掌握组件图和部署图绘制的方法(二) 要求请完成如下任务参照实验辅导教材,画出选课系统构件图及部署图并进行文字说明。 构建图如下所示: 图12 部署图如下所示: 图13七、双向工程(一) 本次目的1) 理解双向工程的概念2) 使用Rose进行完成模型的代码生成(二) 要求请完成如下任务现在,选课系统的分析和设计工作已经基本完成,即将进入编码阶段。为了加快编码进
6、度,可以利用建模工具执行正向工程,将系统中的模型转换成指定语言类型的代码框架,现要求您使用Rose工具将设计的模型通过正向工程生成代码框架。按照使用Rose工具生成代码的6步基本步骤可以顺利的完成代码框架的生成工作。(1)检查模型,(2)创建组件(3)将类映射到组件(4)设置代码生成属性(5)选择类,组件和包(6)生成代码粘贴得到的主要代码生成代码如下:/People.javapublic class People private String name;private int age;public People() /Student.javapublic class Student exte
7、nds People private int StudentID;public FormObject theFormObject;public Student() public int getStudentID() return StudentID;/DataBase.javapublic class DataBase private String dbpath;public DataBase() public boolean QueryCourse(int CourseID) return true;public Boolean AddCourse(Course Course) return
8、 true;public Boolean DeleteCourse(int CourseId) return true;public void QueryAllCourse() public Boolean querYAssociation(int CourseID, int StudentID) return true;public Boolean AddAssociation(int CourseID, int StudentID) return true;public void QuerySelectedCourse() public String QueryPasswd(int reg
9、ID, String Regname) return null;/Registrar,javapublic class Registrar extends People private int regID;public FormObject theFormObject;public Registrar() private void GetRegistRarInfo() /Course.javapublic class Course private String name;private String classroom;private int CourseID;private String t
10、eacher;private int Students;private String firstLessondate;private int maxStudent;public Course() public void Create(String Coursename, int CourseID, String ClassRoom,String Teacher) public void getCourseInfo() public void DestroyCourse() /ControlObject.javapublic class ControlObject public DataBase
11、 theDataBase;public FormObject theFormObject;public Course theCourse;public ControlObject() public boolean VerifyCourse(Course course) return false;public boolean CanAdd() return false;public boolean CanModify() return false;public boolean QueryCourseByID(int courseID) return false;public void Confi
12、rmDelete() public void GetAllCourse() public boolean queryAssociation(int CourseId, int StudentID) return false;public boolean CanSelect() return false;public void QueryCoursseList(int StudentID) public boolean VerifyRegistrar(int regID, String regname) return false;public Boolean CheckPasswd() retu
13、rn false;/FormObject.javapublic class FormObject public ControlObject theControlObject;public Course theCourse;public FormObject() private void GetCourseInfo() private void ShowSuccessInfo(String strinfo) public int GetCourseID() return 0;private void ShowConfirmPage(String strInfo) private void ConfirmDelete() private void SelectCommand() private void DisplayCourseList(Course courseList) private void DisplayCourseList() private void QuerySelectedCourse(int StudentID) 实验小结 本学期的实验到此也告一段落了。一学期的实验主要完成“在线选课系统的UML建模”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 活火山观测站耐蚀专项施工方案
- 江苏南通市崇川区2025-2026学年五年级上学期期末语文试题(文字版含答案)
- 2026年专科院校新生物资台账管理员辅导员招聘考试笔试试题(含答案)
- 2026年肿瘤专科诊疗医师医院招聘考试笔试试题(含答案)
- 实验总结及心得体会范例
- 2026 年术后深静脉血栓形成护理个案分享
- 2026年秋季开学:大学开学第一课 理财与人生规划
- 2026年秋季小学数学开学第一课 学科探究与实践教案
- 2026年秋季幼儿园开学第一课 目标设定与行动计划课件
- 2026年秋季大学开学第一课 感恩教育课件
- 安宁疗护中的灵性关怀与信仰支持
- 2026年防疫员技师实操题库及评分细则
- 【低空经济】低空政务航空平台设计方案
- 教师如何听课培训
- 中医诊断学之诊断思路与诊断方法
- 会计管理内部控制制度
- 2026年全国初中物理知识竞赛试卷及答案(共3套)
- 《2025年宁夏社区工作者招聘考试高频考点试题解析》
- 村级报账员业务培训课件
- 人工智能赋能乡村治理的实践逻辑、现实困境与优化路径
- 2026年区分观点与事实基础练习含答案
评论
0/150
提交评论