Questions:

  1. Design the UML diagrams for the system choosed in question
  2. (80 Marks)为问题1中选择的系统设计UML图

设计用例图

1.1 Design Use Case diagram. (20 Marks)设计用例图
1) List the requierment analysis; (8 Marks)列出需求分析
教学一体化服务平台——学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户。
学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;
教师用户主要需求功能是发布课程信息、以及利用本系统提交学生的成绩;
管理员用户主要需求功能包括对学生信息、教师信息、课程信息以及学生成绩进行管理。

2)List the Actors; (4 Marks)列出演员
学生用户、教师用户和管理员用户。
3)Complete the diagram. (8 Marks)完成图表
在这里插入图片描述

学生选课系统用例图

设计类图

1.2 Design Class diagram. (10 Marks)设计类图
1) Identify the class of the system; (4 Marks)确定系统的类别
系统中设计了界面类,课程类;角色有student,register,people,database。分析这些类和角色之间的关系,画出详细的类图。
2) Complete the diagram, please add some related attributes and operations to the Class, and the relationships among the classes. (6 Marks)完成图表,请给类添加一些相关的属性和操作,以及类之间的关系
在这里插入图片描述

系统的详细类图

设计顺序图

1.3 Design Sequence diagram. (10 Marks)设计顺序图
1) List a main use case; (4 Marks)列出一个主要用例
选课:
首先,查找“选课”用例的对象,它涉及到课程,界面,控制对象。设计的角色有student,database。然后通过选课事件流具体分析对象与角色之间的交互的消息。
2) Complete the diagram. (6 Marks)完成图表
在这里插入图片描述

选课顺序图

设计协作图

1.4 Design Colaboration diagram. (10 Marks)设计协作图
1) List a main use case; (4 Marks)列出一个主要用例
选课:
首先,查找“选课”用例的对象,它涉及到课程,界面,控制对象。设计的角色有student,database。然后通过选课事件流具体分析对象与角色之间的交互的消息。
2) Complete the diagram. (6 Marks)完成图表
在这里插入图片描述

选课协作图

设计状态图

1.5 Design State diagram. (10 Marks)设计状态图
1) List a main Class; (4 Marks)列出一个主类
课程:
状态图用来建模对象是如何改变其状态以响应事件和展示对象从创建到删除的生命周期。状态图的任务就是用来描述一个对象所处的可能状态以及状态之间的转移,并给出状态变化序列的起点和终点。
2) Complete the diagram. (6 Marks)完成图表
在这里插入图片描述

课程状态图

设计活动图

1.6 Design Activity diagram. (10 Marks)设计活动图
1) List a main use case; (4 Marks)列出一个主要用例
添加课程:
首先从“输入课程各项信息”开始,在输入工作完成后,进入业务逻辑界面的“验证课程”活动,然后进行“创建课程对象”活动,并输入“在数据库中查询课程”,查看数据库中是否已存在该课程。根据查询的结果“判断增加课程是否合法”,如果不合法(如重名等),提示“重新输入”返回到“输入课程各项信息”;如合法,则在数据库中正式增加这个对象。最后进行“判断添加是否成功”,如果成功,返回用户界面“显示添加成功信息”提示用户活动结束:如失败,“显示添加失败信息”,提示任务没有完成,活动结束。
2) Complete the diagram. (6 Marks)完成图表
在这里插入图片描述

增加课程活动图

设计组件图

1.7 Design Component diagram. (5 Marks)设计组件图
1) Refer to the Class diagram in Section 2.2, Complete the diagrams.参考2.2节中的类图,完成图表
在选课系统中,包括MainProgram类(主程序)、People类、FormObject类、ControlObject类、Student类、Registrar类、Course类和Database类。People类是Student类和Registrar类的基类,所有Student类和Registrar类依赖People类。FormObject类和ControlObject类都和Course类相关,依赖Course类。ControlObject类和Database类相关,ControlObject类依赖Database类。根据以上描述,绘制出选课系统的组件图。
在这里插入图片描述

组件图

设计部署图

1.8 Design Deployment diagram. (5 Marks)设计部署图
网上选课系统在服务器端使用了两台主机,一台作为数据库服务器,使用Oracle服务器,另一台是同一局域网上的机器,作为HTTP服务器,上面运行了HTTP服务进程以及业务逻辑,同时还连接了打印机。而客户端则是在Internet网上任意具有Web浏览器功能的机器,客户端和HTTP服务器通过Internet连接,从HTTP服务器获取信息,当然,数据库服务器和HTTP服务器也可以放在同一台主机上,这也是一种合理的布局。根据以上分析,绘制出网上选课系统的部署图。参考部署图如下:
在这里插入图片描述

部署图

总结

  1. Summarize this course and the design of your selected topic, explain the problems and solutions encountered in the process. (20 Marks)总结本课程和你所选主题的设计,解释过程中遇到的问题和解决方案
    2.1 What i have learned from this course? (6 Marks)我从这门课中学到了什么
    在上UML课之前,我以为UML跟C++和java一样是一门编程语言,在经过老师的介绍,我才知道UML是不同于C++,java这些编程语言,他是统一建模语言。UML是一种用于可视化描述系统,具有广泛用途的建模语言。作为一种标准化的图形语言,在软件工业中被用于软件系统部件的具体化,可视化,结构化描述以及撰写文档,同样在商业模型中也得到应用。
    在了解设计模式后,我觉得UML是一门十分重要的课。不管如何,我在UML结课后,仍然会继续学习UML,因为我认为他是十分有用的,虽然目前为止我并没有过参与大型项目的经历,但确实在UML建模后,我对一些问题和业务逻辑有了更深刻的认识,我相信他能帮助我提升我自己的能力,加油!
    2.2 What problems i encountered durnig the design of the system? How i solved the problems? (14 Marks)在系统设计过程中,我遇到了哪些问题?我是如何解决问题的
    在设计过程,由于我在课程上学习不够认真,对系统的部署图、组件图和协作图不够了解,最后,我在B站上找到了详细的教程,在经过了一周的学习之后,我才对部署图、组件图和协作图有了更加深刻的认识,才进行了图表的绘制。
    在绘制图表方面,由于我电脑内存空间的不足,我没有办法绘制标准的图表,最后在朋友的推荐下使用ProcessOn进行UML图表的绘制,很感谢朋友对我的意见。
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐