项目 | 内容 |
---|---|
课程班级博客链接 | 2023年春软件工程(2020级计算机科学与技术) |
这个作业要求链接 | 实验七 综合软件项目案例 |
团队名称 | hello-world7843 |
团队成员分工描述 | 王 * 润: 项目部署,绘制类图,设计开发满足用户实际需求的功能。 王 * : 绘制顺序图以及E-R图,总结类图与源代码中定义类的关系。 杜 * : 绘制用例图,撰写博客。 |
团队的课程学习目标 | 1、学会了自己解决实验中遇到的问题。 2、通过团队的方式进行项目的学习体验。 3、与团队成员交流沟通,共同建设团队。 |
这个作业在哪些方面帮助团队实现学习目标 | 1、练习用例图、类图、顺序图、状态图等UML建模技术在软件开发过程中的用途。 2、掌握软件项目的数据库逻辑结构设计方法。 3、掌握软件项目的软件结构设计方法。 4、理解面向对象软件开发过程。 |
团队博客链接 | hello-world7843 |
团队项目Github仓库地址链接 | github仓库 |
任务1:将高校学生管理软件部署在Tomcat服务器,在浏览器输入:http://localhost:8080/Student/login.jsp, 分别以管理员、教师、学生三类用户登录系统并对不同用户功能进行操作,其中管理员功能合并了教务员的职能。
* 用户登录页面
* 管理员用户主界面
* 教师用户主界面
* 学生用户主页面
任务2:绘制高校学生管理软件的用例图。
* 软件用例图
任务3:理解项目需求简介,采用简易应用规格说明技术,讨论高校学生教务管理系统的软件需求列表,采用面向对象分析方法绘制高校学生管理软件的类图。
* 简要陈述采用简易应用规格说明技术讨论案例软件用户需求的过程。
-
确认项目的目标:首先确定软件开发的目标,包括软件需要解决的问题、目标用户群等。
-
收集用户需求:收集用户需求是至关重要的一步,可以通过问卷调查、访谈等方式收集用户反馈和需求。
-
归纳整理需求:将收集到的用户需求进行归纳整理,将相同或相关的需求进行分类,并对需求进行优先级排序。
-
撰写简易应用规格说明:根据用户需求,撰写简易应用规格说明,明确软件功能、界面设计、系统性能等方面的要求。
-
验证和修订:应用规格说明书需要反复验证和修订,以确保它准确反映了用户需求并能够支持软件的开发。
-
审核和确认:最后,所有的干系人都需要仔细审核应用规格说明,以确保没有遗漏或误解需求;经过确认后,即可正式开始软件开发。
以上就是采用简易应用规格说明技术讨论案例软件用户需求的大致过程,这个过程可以帮助开发团队更好地理解用户需求,设计出更符合用户期望的软件产品。
* 采用面向对象分析方法绘制高校学生管理软件的类图。
任务4:绘制某一学生用户对象查询课程和成绩的顺序图;绘制教务员课程安排的顺序图。
* 学生用户对象查询课程的顺序图
* 学生用户对象查询成绩的顺序图
*教务员课程安排的顺序图
任务5:理解分析高校学生管理软件中数据库表的物理结构,结合各表外键的定义,正确绘制数据库对应的E-R图。
任务6:理解分析高校学生管理软件代码结构,结合MVC软件设计模式特点,采用面向对象设计方法绘制高校学生管理软件的类图。
*采用面向对象设计方法绘制高校学生管理软件的类图。
*结合软件开发过程,总结任务3与任务6的类图与源代码中定义类的关系。
类图是一种UML图,显示了软件系统的类及其之间的关系,是软件设计和建模的常用工具。类图中的类表示系统中的抽象概念,例如人、车、订单等。类还可以有属性和方法,方法定义了类所支持的操作。类之间的关系可以是继承、聚合、关联、依赖等。在源代码中,定义的类对应于类图中的类。开发人员通常会根据类图中的类和关系编写源代码,以构建软件系统。类定义了代码功能的模块化,在其内部封装了与之相关的数据和方法,与其他模块进行交互。通过使用类图,开发人员可以更好地理解和设计应用程序的结构,并准确地实现其所需的功能。因此,类图与源代码中定义类之间的关系重要且密切。
*分析dao包中各java文件的用途。
ILogin.java:定义了登录功能的相关方法。
ICla2Sub.java:对cla2sub表进行增删改查等操作。
IClasses.java:对classes表进行增删改查等操作。
IMajor.java:对major表进行增删改查等操作。
IOperator.java:对operator表进行增删改查等操作。
IPicture.java:对图片信息进行管理操作。
IPrivilege.java:对privilege表进行增删改查等操作。
IRole.java:对role表进行增删改查等操作。
IScore.java:对score表进行增删改查等操作。
IStudent.java:对student表进行增删改查等操作。
ITeacher.java:对teacher表进行增删改查等操作。
任务7:结合实际教务管理系统的使用体验,分别为高校学生管理软件的教务员和学生设计开发满足用户实际需求的功能。如为教务员开发统计各门课程成绩平均分、各分数段人数统计、绘制成绩分布图等功能。
* 统计各门课程成绩平均分、各分数段人数统计、绘制成绩分布图
* 在github仓库上传新增功能的软件源代码,博客作业中提供链接地址。
任务8:在2023-5-22至2023-6-10之间制定实验七任务的进度计划表和任务人员分工,任务实施期间记录完成各项任务实际花费的时间。
*各项任务花费时间(单位:h)
任务内容 | 预计花费时间 | 实际花费时间 |
---|---|---|
将高校学生管理软件部署在Tomcat服务器, 分别以三类用户登录系统并对不同用户功能进行操作 | 2 | 3 |
绘制高校学生管理软件的用例图 | 2 | 2.5 |
讨论采用简易应用规格说明技术讨论案例软件用户需求的过程,绘制类图 | 3 | 4 |
绘制某一学生用户对象查询课程和成绩的顺序图;绘制教务员课程安排的顺序图。 | 2 | 2 |
理解分析高校学生管理软件中数据库表的物理结构,绘制数据库对应的E-R图。 | 2 | 2.5 |
理解分析高校学生管理软件代码结构,采用面向对象设计方法绘制高校学生管理软件的类图 | 3 | 4 |
结合实际教务管理系统的使用体验,设计开发满足用户实际需求的功能。 | 6 | 9 |
博客撰写 | 3 | 5 |
*实验七任务进度计划表
时间 | 计划 |
---|---|
5.22-5.23 | 项目部署,以三类用户对不同功能操作。 |
5.24-5.31 | 绘制用例图、类图、顺序图、E-R图。 |
6.1-6.5 | 结合实际使用体验,设计开发功能。 |
6.6-6.10 | 分析总结实验,并撰写博客。 |
*成员分工
成员 | 分工 |
---|---|
王*润 | 项目部署,绘制类图,设计开发满足用户实际需求的功能。 |
王* | 绘制顺序图以及E-R图,总结类图与源代码中定义类的关系。 |
杜* | 绘制用例图,撰写博客。 |
实验心得:
成员 | 实验心得 |
---|---|
王*润 | 通过本次实验,我深刻理解了UML建模技术在软件开发过程中的用途,在不断学习中掌握了软件项目的数据库逻辑结构设计方法,并结合实际教务管理系统的使用体验,设计开发了满足用户实际需求的功能。学会了自己解决实验中遇到的问题,加强了实践能力。 |
王* | 本次实验中,我通过绘制E-R图、顺序图,进一步掌握了软件项目的软件结构设计方法,深刻理解了面向对象软件开发过程,在实现项目的过程中体会到了团队协作的重要性,加深了自己对程序的理解。同时,在我们遇到问题时,积极讨论,查阅资料,最终顺利的完成本次实验。 |
杜* | 本次实验中,我通过和小组成员共同绘制用例图、类图等,理解了其在软件开发过程中的用途及面向对象软件开发过程,在做实验的过程中也遇到了很多的问题,但通过小组交流合作成功解决,使知识不再局限于书本,有效提高了实践动手能力及团队协作能力。 |