题目1:选课系统的组件图设计 描述:在选课系统中,包括MainProgram类(主程序)、People类、FormObject类、ControlObject类、Student类、Registrar类(管理员)、Course类和DataBase类。People类是Student类和Registrar类的基类,所以Student类和Registrar类依赖People类。FormObject类和ControlObject类都和Course类相关,FormObject类和ControlObject类依赖Course类,ControlObject类和DataBase类相关,ControlObject类依赖DataBase类。 ### 基于UML的功能设计——选课系统案例分析 #### 实验目的与背景 本次实验旨在通过具体的案例——选课系统的设计,使学生能够深入理解并掌握统一建模语言(UML)中的组件图及部署图的绘制方法,并熟悉如何使用Rational Rose 2003这一工具进行UML建模。此外,还将了解如何实施双向工程,特别是正向工程的过程,即将UML模型转换为实际的代码。 #### 组件图设计详解 **组件图**用于表示软件系统的组成部分之间的关系,如模块、库等,并展示它们之间的依赖关系。下面是对选课系统中各组件及其关系的详细解析: 1. **MainProgram类(主程序)**: 该类作为整个选课系统的入口,负责启动系统并调用其他类的方法或功能。 2. **People类**: 这是一个基类,包含了所有用户的基本属性,例如用户名(`yonghuming`)和密码(`mima`)。`People`类被Student类和Registrar类继承。 3. **Student类和Registrar类**: 这两个类都继承自`People`类,这意味着它们共享`People`类的所有属性和方法。`Student`类代表学生用户,而`Registrar`类代表管理员用户。 4. **FormObject类**: 该类主要处理用户界面上的各种表单操作,它依赖于`Course`类,意味着表单的操作会涉及课程信息的获取和处理。 5. **ControlObject类**: 这个类负责控制逻辑,同样也依赖于`Course`类,同时还依赖于`DataBase`类,表明它需要与数据库交互,进行数据的读写操作。 6. **Course类**: 包含课程相关的所有信息,如课程名、学分等。`FormObject`类和`ControlObject`类都需要访问此类的信息。 7. **DataBase类**: 用于处理数据库的读写操作,是`ControlObject`类的依赖之一。 #### 部署图设计详解 部署图描述了系统中硬件节点的物理配置以及这些节点上的软件组件的部署情况。对于选课系统的部署图来说: 1. **服务器**: 使用了两台主机,其中一台作为数据库服务器,安装了Oracle数据库服务;另一台作为HTTP服务器,运行HTTP服务进程和业务逻辑,还连接了一台打印机。 2. **客户端**: 客户端可以在任何具有Web浏览功能的机器上运行,通过互联网与HTTP服务器通信。 3. **网络架构**: HTTP服务器和客户端通过互联网进行连接,客户端可以从HTTP服务器获取所需的信息。 #### 正向工程实施流程 正向工程是从UML模型自动生成代码的过程。以下为基于选课系统案例的具体步骤: 1. **选择目标Diagram**: 打开想要进行转换的Diagram。 2. **选择转换对象**: 选定需要转换的包或类。 3. **语法检查**: 使用Rational Rose 2003中的Tools > Java/J2EE > Syntax Check进行代码规范检查。 4. **查看检验结果**: 在Rose log窗口中查看是否有任何错误,如有错误需进行修正。 5. **重复检查**: 重复执行第3步,直到不再出现错误。 6. **指定生成路径**: 在Tools > Java/J2EE > Generate Code选项中设置生成代码的目标路径。 7. **生成代码**: 最终生成的代码将根据类图中定义的关系组织起来。 #### 代码示例 以下展示了部分由UML模型自动生成的Java代码示例: ```java // MainProgram类代码 public class MainPrograme { public MainPrograme() { } } // People类代码 public class People { private String yonghuming; private String mima; public People() {} public void denglu() {} public void tuichu() {} } // DataBase类代码 public class DataBase { // 数据库相关的代码实现 } ``` 通过上述详细分析,我们可以清晰地了解到选课系统的各个组成部分及其相互之间的关系,同时也掌握了如何使用Rational Rose 2003来进行UML建模及正向工程的实施过程。
剩余7页未读,继续阅读
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 7.win10下的页表基址.mp4
- 8.通过页表基址修改页属性.mp4
- 若依WebSocket集成
- 2336100053_盛资涵_中国互联网络发展状况统计报告数据.pdf
- 得利捷固定式相机调试软件dl.code-1.9.2
- feagregraeharhrthtrjuyl7l87l78
- AM信号产生及检波电路(高频电子线路仿真作业)
- ISC全覆盖算法有障碍物情况
- Java毕设项目:基于spring+mybatis+maven+mysql实现的网上点餐系统分前后台【含源码+数据库+毕业论文】
- 3568开发资料用户手册
- asdgaggrgaeaaavrg
- vision-results.zip
- Spring Boot框架下的权限管理与工作流开发平台系统实现
- 基于卷积神经网络的MNIST手写数字识别
- 前端分析-2023071100789
- 软件开发汇报-中国海洋大学22届学生陈宇杰