202306-人民当家作组 实验七 综合软件项目案例
项目 | 内容 |
---|---|
课程班级博客链接 | 2020级卓越工程师班 |
这个作业要求链接 | 实验七 综合软件项目案例 |
团队名称 | 人民当家作组 |
团队的课程学习目标 | (1)练习用例图、类图、顺序图、状态图等UML建模技术在软件开发过程中的用途; (2)掌握软件项目的数据库逻辑结构设计方法; (3)掌握软件项目的软件结构设计方法; (4)理解面向对象软件开发过程; |
这个作业在哪些方面帮助团队实现学习目标 | (1)通过下载安装并且动手操作,逐渐熟悉软件 (2)通过绘制类图和顺序图,结合书本上学到的知识,掌握一门新技术-UML建模技术 |
团队博客链接 | 人民当家作组 |
团队Github链接 | https://github.com/chloe-do/se |
任务1 :将高校学生管理软件部署在Tomcat服务器,在浏览器输入:http://localhost:8080/Student/login.jsp,分别以管理员、教师、学生三类用户登录系统并对不同用户功能进行操作,其中管理员功能合并了教务员的职能。
管理员登录页面:
教师登录页面:
学生登录页面:
任务2:绘制高校学生管理软件的用例图
用户1:管理员
用户2:教师
用户3:学生
总用例图
任务3:理解项目需求简介,采用简易应用规格说明技术,讨论高校学生教务管理系统的软件需求列表,采用面向对象分析方法绘制高校学生管理软件的类图。
(1)简要陈述采用简易应用规格说明技术讨论案例软件用户需求的过程。
在软件开发过程中,需求分析是首要工作。在本系统系统中,主要涉及到学生、教师、管理员。
各个用户的需求列表包括以下内容:
学生:查看个人信息、修改个人信息、接收通知、查询课程、查询成绩、查询课表、查询同班同学、查询考试安排、进行教学评价
教师:查看个人信息、修改个人信息、接收通知、查询学生、查询学生成绩、查询班级、查询班级课程表、导出班级成绩、查询评价、查询我的课程
管理员:添加学生、查询学生、添加班级、查询班级、添加班级课程、查询班级课程、添加教师、查询教师、查询学生成绩、查询班级课程、添加课程、添加专业、绘制成绩图表、添加考试安排、向学生和教师发送通知
(2)绘制类图,类图名称自拟,类图中每个类需要提供类名、属性及其方法名,并正确建立类关系。
类图:
类关系图:
任务4:绘制某一学生用户对象查询课程和成绩的顺序图;绘制教务员课程安排的顺序图。
学生查询课程顺序图
学生查询成绩顺序图
教务员课程安排顺序图
任务5:理解分析高校学生管理软件中数据库表的物理结构,结合各表外键的定义,正确绘制数据库对应的E-R图。
任务6:理解分析高校学生管理软件代码结构,结合MVC软件设计模式特点,采用面向对象设计方法绘制高校学生管理软件的类图。
1:类图
2:结合软件开发过程,总结任务3与任务6的类图与源代码中定义类的关系。
在软件工程中,类图和源代码中定义类是紧密相关的。类图是一种表示软件系统的静态结构的图形化表示形式,其中包括类、接口、属性和方法等元素。与此相对应,源代码中也定义了程序中的类、接口、属性和方法等部分。任务3的类图是在需求分析和设计阶段创建的,类图中定义的类与任务3中列举的系统需求是密切相关的,任务6中的类图是在开发和设计阶段进行创建的,是在任务3类图的基础上进行的,任务6中的类图则更加具体,描述了系统中MVC设计模式的三层架构,任务3和任务6中的类图和源代码中定义类之间的关系是相互对应的。
3:尝试分析dao包中各java文件的用途
ICla2Sub.java:定义与 Cla2Sub相关的数据库操作的接口,包括添加、删除、更新、普通查询、分页查询和获取总页数等操作。
IClasses.java:定义与 Classes相关的数据库操作的接口,包括添加、删除、更新、普通查询、分页查询和获取总页数等操作。
ILogin.java:定义与登录相关的数据库操作的接口,与operator表中的信息对比,检验账号是否匹配;
IMajor.java:定义与 Major 相关的数据库操作的接口,包括添加、删除、更新、普通查询、分页查询和获取总页数等操作。
IOperator.java:定义与 Operator相关的数据库操作的接口,包括添加、删除、更新、普通查询、分页查询和获取总页数等操作。
IPicture.java:与student表中的信息对比,检验学生是否更新、上传或删除了照片;
IPrivilege.java:定义与Privilege相关的数据库操作的接口,包括添加、删除、更新、普通查询、分页查询和获取总页数等操作。
IRole.java:定义与Role相关的数据库操作的接口,包括添加、删除、更新、普通查询、分页查询和获取总页数等操作。
IScore.java:定义与Score相关的数据库操作的接口,包括添加、删除、更新、普通查询、分页查询和获取总页数等操作。
IStudent.java:定义与Student相关的数据库操作的接口,包括添加、删除、更新、普通查询、分页查询和获取总页数等操作。
ISubject.java:定义与Subject相关的数据库操作的接口,包括添加、删除、更新、普通查询、分页查询和获取总页数等操作。
ITeacher.java:定义与Teacher相关的数据库操作的接口,包括添加、删除、更新、普通查询、分页查询和获取总页数等操作。
任务7:结合实际教务管理系统的使用体验,分别为高校学生管理软件的教务员和学生设计开发满足用户实际需求的功能。
功能1:为学生和教师添加 忘记密码
功能2:教务员向学生和教师发通知
功能3:学生和教师接受通知
功能4:教务员进行考试安排
功能5:学生可查看考试安排
功能6:学生可进行教评
功能7:教师可查看评分
功能8:教务员绘制成绩图表
github链接:|https://github.com/chloe-do/se
任务8:在2023-5-22至2023-6-10之间制定实验七任务的进度计划表和任务人员分工,任务实施期间记录完成各项任务实际花费的时间。
1:任务实施期间记录完成各项任务实际花费的时间。
任务内容 | 预计花费时间 (h) | 实际花费时间 (h) |
---|---|---|
将高校学生管理软件部署在Tomcat服务器,在浏览器分别以管理员、教师、学生三类用户登录系统并对不同用户功能进行操作 | 0.5 | 1 |
绘制高校学生管理软件的用例图 | 2 | 3 |
理解项目需求简介,采用简易应用规格说明技术,讨论高校学生教务管理系统的软件需求列表,采用面向对象分析方法绘制高校学生管理软件的类图 | 5 | 6 |
绘制某一学生用户对象查询课程和成绩的顺序图;绘制教务员课程安排的顺序图 | 1 | 1.5 |
理解分析高校学生管理软件中数据库表的物理结构,结合各表外键的定义,正确绘制数据库对应的E-R图 | 2 | 2 |
理解分析高校学生管理软件代码结构,结合MVC软件设计模式特点,采用面向对象设计方法绘制高校学生管理软件的类图 | 5 | 6 |
结合实际教务管理系统的使用体验,分别为高校学生管理软件的教务员和学生设计开发满足用户实际需求的功能。 | 15 | 30 |
2:在2023-5-22至2023-6-10之间的进度计划表
时间 | 进度计划 |
---|---|
5.23-5.26 | 小组内交流讨论,形成整体框架 |
5.27- 5.30 | 开发新功能 |
5.31-6.3 | 绘制类图,类关系图 |
6.4-6.6 | 绘制用例图 |
6.7-6.8 | 绘制E-R图 |
5.9-6.10 | 绘制顺序图,撰写博客 |
3:成员分工
成员 | 分工 |
---|---|
郭*彤 | 部署项目,设计开发新功能 |
古*尔 | 绘制类图和建立类关系,E-R图 |
美*依 | 绘制顺序图,用例图,撰写博客 |
实验心得
成员 | 实验心得 |
---|---|
郭*彤 | 通过本次实验,使我更加熟悉MVC设计模式的应用,为软件项目开发积累了不少经验,加强了实践操作能力,为之后的项目开发打下坚实基础, 在开发新功能时也遇到了不少问题,通过一次次的修改最终也算达到了我们想要的效果。 |
古*尔 | 在本次实验中,我通过画类图和类之间的关系,对代码中的类和类之间的关系有了进一步的了解,能更好的理解类中所采用的属性和方法,深刻体会到软件项目的开发离不开各方面知识,认识到了软件工程的重要性。 |
美*依 | 本次实验中我负责了,绘制顺序图,用例图,以及撰写博客,进一步掌握了软件项目的软件结构设计方法,在画图过程中也学到了不少知识,对系统的功能和用户角色有了更清晰的认识,也弥补了自己的不足之处,也深刻体会到本次实验相比前几次实验难度和工作量都是巨大的,所以成员之间的明确分工和相互配合是完成作业的前提。 |