项目 | 内容 |
---|---|
课程班级博客链接 | 2020级卓越工程师班 |
这个作业要求链接 | 实验七 综合软件项目案例 |
团队名称 | 迪士尼在逃公组 |
团队成员分工 | 何欣娜:任务一、二、三 米乐文:任务四、五、六 宋晔婷:任务七、八、九 |
我的课程学习目标 | 1. 练习用例图、类图、顺序图、状态图等UML建模技术在软件开发过程中的用途。 2.掌握软件项目的数据库逻辑结构设计方法。 3.掌握软件项目的软件结构设计方法。 4.理解面向对象软件开发过程。 |
这个作业在哪些方面帮助我实现学习目标 | 1.巩固简单应用规格说明技术与类图、用例图的绘制。 2.同时尝试反向理解复杂软件系统项目的组织和构成,培养逆向思维,画出对应的类图、顺序图等,很大程度上拓宽了思维,增强了对复杂软件工程的理解。 |
团队博客链接 | 迪士尼在逃公组 |
团队项目Github仓库地址链接 | GitHub |
任务一 :将高校学生管理软件部署在Tomcat服务器,使用不同身份登录测试相应功能
在浏览器输入:http://localhost:8080/Student/login.jsp
分别以管理员、教师、学生三类用户登录系统并对不同用户功能进行操作,其中管理员功能合并了教务员的职能。
软件用户登录界面展示效果如下:
管理员登录界面如下图所示:
教师登录界面展示效果如下:
学生登录界面如下图所示:
任务2:绘制高校学生管理软件的用例图。
高校学生管理软件的用例图如下图所示:
说明:系统有学生、教师、教务员和管理员四类操作用户。学生主要是查看课程和成绩;教师主要是查看课表、班级和学生信息、录入成绩;教务员录入学生、教师、课程信息,修改专业、班级信息,各班级排课,生成教学统计报表;管理员主要是用户信息维护和用户权限管理。
任务3:理解项目需求简介,采用简易应用规格说明技术,讨论高校学生教务管理系统的软件需求列表,采用面向对象分析方法绘制高校学生管理软件的类图。
(1)采用简易应用规格说明技术讨论案例软件用户需求:
(2)采用面向对象分析方法绘制高校学生管理软件的类图
任务4:绘制某一学生用户对象查询课程和成绩的顺序图;绘制教务员课程安排的顺序图。
绘制学生用户对象查询课程的顺序图
绘制学生用户对象查询成绩的顺序图
绘制教务员课程安排的顺序图
任务5:理解分析高校学生管理软件中数据库表的物理结构,结合各表外键的定义,正确绘制数据库对应的E-R图。
(1)高校学生管理软件中数据库表的物理结构:
(2)结合外键定义,绘制数据库对应的E-R图如下所示:
任务6:理解分析高校学生管理软件代码结构,结合MVC软件设计模式特点,采用面向对象设计方法绘制高校学生管理软件的类图。
(1)类图中每个类需要提供类名、属性及其方法名。
Student类:
StudentModel类
Dbconn类
Deleteservlet类、DoUpdateservlet类、Insertservlet类、ListStudentServlet类、PicUploadServlet类、ShowStudentServlet类、Updateservlet类、uploadServlet类
(2)建立类关系。
分析:
1. Deleteservlet类、DoUpdateservlet类、Insertservlet类、ListStudentServlet类、PicUploadServlet类、ShowStudentServlet类、Updateservlet类、uploadServlet类依赖于Student类。
2.StudentModel类依赖于Student类,StudentModel类调用了Student类中的setId()、setName()等方法。
3.StudentModel类依赖于Dbconn类。
4.MyExcelUtils类、MyPicUtiles类依赖于Student类。
5.Deleteservlet类、DoUpdateservlet类、Insertservlet类、ListStudentServlet类、PicUploadServlet类、ShowStudentServlet类、Updateservlet类、uploadServlet类继承于HttpServlet类。
(3)结合软件开发过程,总结任务3与任务6的类图与源代码中定义类的关系。
(4)尝试分析dao包中各java文件的用途。
dao包提供对数据访问的统一接口,dao包中的12个java文件作用如下:
ICla2Sub.java文件:定义了班级和科目之间关联关系的数据访问接口。
IClasses.java文件:定义了班级信息的相关数据访问接口,提供了一种统一的方式来管理和维护班级信息。
ILogin.java文件:
IMajor.java文件:
Ioperator.java文件:
Ipicture.java文件:
IPrivilege.java文件:
IRole.java文件:
IScore.java文件:
IStudent.java文件:
ISubject.java文件:
ITeacher.java文件:
任务7:结合实际教务管理系统的使用体验,分别为高校学生管理软件的教务员和学生设计开发满足用户实际需求的功能。
三类用户测试案例
学生测试功能截图
(1)学生仅能查看自己的学科成绩与总体平均分
(2)学生个人的课程情况与分数分布也会使用对应的可视化方法显示
教师测试功能截图
(1)教师仅能查看他授课班级的学生成绩信息与课程平均分
(2)教师可以查看课程分数分布扇形图与各分段占比
(3)教师新增功能:可以使用柱状图可以查看他所授课的学生对应的课程分数
管理员测试功能截图
(1)管理员可以查看所有班级,所有课程所有学生的平均成绩
(2)管理员新增数据可视化功能,将各项数据进行可视化,点击柱状图中对应的元素会出现弹窗,提供更为详细的信息。
(3)将数据使用多种方式进行可视化,使用扇形图来描述成绩分布情况,同时给出对应的各分数段人数统计。
将新增功能的软件源代码上传到团队github仓库。
可点击如下链接查看 github作业地址
任务8:在2023-5-22至2023-6-10之间制定实验七任务的进度计划表和任务人员分工,任务实施期间记录完成各项任务实际花费的时间。
-
任务进度计划表
任务 负责人 计划日期 工作内容 任务一、任务七 何*娜 2023-5-22至2023-5-28 (1) 将高校学生管理软件部署在Tomcat服务器,三个组员分别以管理员、教师、学生三类用户登录系统并对不同用户功能进行操作
(2) 结合实际教务管理系统的使用体验,分别为高校学生管理软件的教务员和学生设计开发满足用户实际需求的功能。任务二 宋*婷 2023-5-29 理解分析系统用户功能,绘制高校学生管理软件的用例图 任务三 米*文 2023-5-30至2023-5-31 (1) 理解项目需求简介,采用简易应用规格说明技术,讨论高校学生教务管理系统的软件需求列表
(2) 采用面向对象分析方法绘制高校学生管理软件的类图。任务四 宋*婷 2023-6-1 绘制某一学生用户对象查询课程和成绩的顺序图;绘制教务员课程安排的顺序图。 任务五 何*娜 2023-6-2 理解分析高校学生管理软件中数据库表的物理结构,结合各表外键的定义,正确绘制数据库对应的E-R图。 任务六 米*文 2023-6-2至2023-6-6 (1) 理解分析高校学生管理软件代码结构
(2) 结合MVC软件设计模式特点,采用面向对象设计方法绘制高校学生管理软件的类图。
(3) 采用面向对象分析方法绘制高校学生管理软件的类图。任务六 宋*婷 2023-6-7至2023-6-8 (1) 结合软件开发过程,总结任务3与任务6的类图与源代码中定义类的关系。
(2) 分析dao包中各java文件的用途。
(3) 收集小组成员个人博客撰写内容任务八、任务九 何*娜 2023-6-9 整合撰写博客 -
成员分工
成员 | 分工 |
---|---|
何*娜 | 1.将高校学生管理软件部署在Tomcat服务器,以三种不同的用户身份对系统进行操作。(共同完成) 2.绘制高校学生管理软件的用例图。 3.理解分析高校学生管理软件中数据库表的物理结构,结合各表外键的定义,绘制数据库对应的E-R图。 4.撰写个人心得 5.博客撰写(共同完成) |
宋*婷 | 1. 绘制某一学生用户对象查询课程、成绩,教务员课程安排的顺序图。 2.结合实际教务管理系统的使用体验,分别为高校学生管理软件的教务员和学生设计开发满足用户实际需求的功能。(共同完成) 3.分析dao包中各java文件的用途 4.撰写个人心得 5.博客撰写(共同完成) |
米*文 | 1.分析理解高校学生管理软件的类关系,采用面向对象设计方法绘制高校学生管理软件的类图。 2.分析陈述采用简易应用规格说明技术讨论案例软件用户需求的过程。 3.理解项目需求简介,讨论高校学生教务管理系统的软件需求列表 (共同完成) 4. 将任务上传到团队github仓库。 5.撰写个人心得 6.博客撰写(共同完成) |
- 完成各项任务花费的时间
任务内容 | 预计花费时间 (hour) | 实际花费时间 (hour) |
---|---|---|
任务一:部署管理软件在Tomcat服务器,用户登录测试 | 30 | 40 |
任务二:绘制高校学生管理软件的用例图 | 1 | 0.5 |
任务三 :理解项目需求简介,绘制高校学生管理软件的类图。 | 4 | 6 |
任务四 :绘制学生用户对象查询课程、成绩,教务员课程安排的顺序图 | 2 | 1.5 |
任务五 :理解分析数据库表的物理结构,绘制E-R图 | 3 | 2 |
任务六 :结合MVC软件设计模式特点,绘制高校学生管理软件的类图 | 4 | 6 |
任务七 :为高校学生管理软件的教务员和学生设计开发满足用户实际需求的功能。 | 40 | 50 |
任务八 :制定实验七任务的分工与计划安排表 | 0.5 | 0.2 |
任务九 :完成实验七团队博文撰写 | 2 | 3 |
- 每位团队成员总结实验学习心得。
何*娜:
在这次实验中,我们通过高校学生信息管理软件案例进一步了解了复杂软件系统项目的组织,同时进一步巩固了StarUML软件工具的使用,分析了三类用户主体之间的权限与各类之间的关系,更加清楚的区分了实现,关联,泛化,聚合,组合,依赖这几个主要的类关系。绘制相应的类图更好地帮助我们理解一个软件的系统结构。我在实验中还负责ER图的绘制,各个实体之间的关系较为复杂,但是也十分巧妙,我从中获得了很多实战经验。通过本次实验我认识到,在软件开发的过程中,每一个环节都很重要,这是一个环环相扣的过程,同时也要注重各个部分的细节,有粗有细。
米*文:
本次实验让我受益良多。在分析类图中各个类的关系以及绘制某一用户对象完成学生信息增、删、改的顺序图的过程中,我们遇到了一些困难,通过交流与协商,我们达成了一致意见。同时绘制用例图让各类用户的操作更为清晰。很多时候一个人的想法可能是片面的,但是小组内互相交流、分析之后,就可以更加全面细致地了解问题,给出更为合理的解决方法。
宋*婷:
通过本次实验,我了解到了部分汇总为整体也是极为关键的一步,软件工程不在于简单地编码,而是一个项目工程,各部分高效的有序的结合才是软件工程的意义,这也是我们在需求分析,绘制各类顺序图,用例图过程中得出的重要经验。所以,我发现,在一件小小的工作背后其实蕴含着好多的细节,本次实验也比我们预估时间要久,其中出现了很多我们没有预料到的问题,但都通过小组通力合作成功解决。