首页 > 其他分享 >202309-发际线与你作队 实验七 综合软件项目案例

202309-发际线与你作队 实验七 综合软件项目案例

时间:2023-06-10 17:46:09浏览次数:109  
标签:202309 教务 作队 高校学生 类图 方法 管理软件 发际 绘制

项目 内容
课程班级博客链接 2020卓越工程师班
这个作业要求链接 实验七 综合软件项目案例
团队名称 发际线与你们作队
我的课程学习目标 完成综合软件项目案例,对相关知识进行再次复习
这个作业在哪些方面帮助我实现学习目标 (1)练习用例图、类图、顺序图、状态图等UML建模技术在软件开发过程中的用途。
(2) 掌握软件项目的数据库逻辑结构设计方法。
(3)掌握软件项目的软件结构设计方法。
(4)理解面向对象软件开发过程。
团队博客链接 发际线与你们作队
Github链接 本次作业Github链接

一、将高校学生管理软件部署在Tomcat服务器,在浏览器输入http://localhost:8080/Student/login.jsp 分别以管理员、教师、学生三类用户登录系统并对不同用户功能进行操作,其中管理员功能合并了教务员的职能。

  • 在浏览器的登陆界面如下
  • 以管理员身份登录
  • 以教师身份登录
  • 以学生身份登录

二、绘制高校学生管理软件的用例图

高校学生管理软件的用例图如下:

三、理解项目需求简介,采用简易应用规格说明技术,讨论高校学生教务管理系统的软件需求列表,采用面向对象分析方法绘制高校学生管理软件的类图

  • 简易应用规格说明书

  • 小组讨论软件需求列表

  • 小组约束讨论

  • 类图

四、绘制某一学生用户对象查询课程和成绩的顺序图;绘制教务员课程安排的顺序图

-查询课程顺序图

-查询成绩顺序图

-教务员排课顺序图

五、理解分析高校学生管理软件中数据库表的物理结构,结合各表外键的定义,正确绘制数据库对应的E-R图

  • E-R图

六、理解分析高校学生管理软件代码结构,结合MVC软件设计模式特点,采用面向对象设计方法绘制高校学生管理软件的类图

1.类图

  • 所有类的类图
  • 类关系图

    注:由于servlet过多,完整图中线过于复杂,这里只展示一部分

2、结合软件开发过程,总结任务3与任务6的类图与源代码中定义类的关系

    在软件工程中,类图和源代码中定义类是紧密相关的。类图是一种表示软件系统的静态结构的图形化表示形式,其中包括类、接口、属性和方法等元素。与此相对应,源代码中也定义了程序中的类、接口、属性和方法等部分。
    在类图中,类通常被表示为一个矩形,其中包含类的名称、属性和方法。类的属性通常被表示为一个或多个变量,而方法则被表示为函数。类之间的关系则使用不同的箭头、线条和符号来表示,如继承、实现、关联和依赖。
    在源代码中,类通常被定义为一个类定义,其中包含类的名称、属性和方法的实现。类的属性通常被表示为一个或多个成员变量,而方法则被定义为函数或方法。类之间的关系则通过一些关键字和语法形式来表示,如继承、实现、关联和依赖等。
    因此,类图和源代码中定义类之间的关系是相互对应的,类图是以图形化的形式表达源代码中定义的类的关系和结构,而源代码则更为详细地定义了类的实现细节和行为特征。两者相互依存,共同构成了一个完整的软件系统。

3、 尝试分析dao包中各java文件的用途

  • Dao的作用是封装对数据库的访问:增删改查,不涉及具体的业务逻辑,只是达到按某个条件获得指定数据的要求,即只负责如何使用sql调用接口获取数据,不负责数据用来干嘛。
java文件 功能用途
ICla2Sub 封装了对Cla2Sub表的增删改查和分页方法的接口
IClass 封装了对classes表的增删改查和分页方法的接口
IMajor 封装了对major表的增删改查和分页方法的接口
IOperator 封装了对operator表的增删改查和分页方法的接口
IPrivilege 封装了对privilege表的增删改查和分页方法的接口
IRole 封装了对role表的增删改查和分页方法的接口
IScore 封装了对score表的增删改查和分页方法的接口
IStudent 封装了对student表的增删改查和分页方法的接口
ISubject 封装了对subject表的增删改查和分页方法的接口
ITeacher 封装了对teacher表的增删改查和分页方法的接口
IPicture 封装了对student表中的stu_pic字段的增加、删除、修改方法的接口
ILogin 封装了login方法的接口

七、结合实际教务管理系统的使用体验,分别为高校学生管理软件的教务员和学生设计开发满足用户实际需求的功能。如为教务员开发统计各门课程成绩平均分、各分数段人数统计、绘制成绩分布图等功能

1、各门课程成绩平均分

  • 课程平均成绩查询主界面:
  • 本案例中所使用的教师账号截图如下:
  • 该身份教师所管理的课程为JavaSE,则其所教课程平均成绩如下:
  • 导出班级信息成绩功能如下:
  • 导出Excel文件如下:
  • 实际查询结果如下:
  • 学生端导出

八、在2023-5-22至2023-6-10之间制定实验七任务的进度计划表和任务人员分工,任务实施期间记录完成各项任务实际花费的时间

1、 任务用时表(单位:min)

任务内容 预计花费时长 实际花费时长
将高校学生管理软件部署在Tomcat服务器,在浏览器分别以管理员、教师、学生三类用户登录系统并对不同用户功能进行操作 20 40
绘制高校学生管理软件的用例图 60 100
理解项目需求简介,采用简易应用规格说明技术,讨论高校学生教务管理系统的软件需求列表,采用面向对象分析方法绘制高校学生管理软件的类图 130 180
绘制某一学生用户对象查询课程和成绩的顺序图;绘制教务员课程安排的顺序图 40 30
理解分析高校学生管理软件中数据库表的物理结构,结合各表外键的定义,正确绘制数据库对应的E-R图 40 110
理解分析高校学生管理软件代码结构,结合MVC软件设计模式特点,采用面向对象设计方法绘制高校学生管理软件的类图 150 250
结合实际教务管理系统的使用体验,分别为高校学生管理软件的教务员和学生设计开发满足用户实际需求的功能。如为教务员开发统计各门课程成绩平均分、各分数段人数统计、绘制成绩分布图等功能 360 400
在2023-5-22至2023-6-10之间制定实验七任务的进度计划表和任务人员分工,任务实施期间记录完成各项任务实际花费的时间 30 40
完成《实验七 综合软件项目案例》团队博文作业 80 150

2、 在2023-5-22至2023-6-10之间的进度计划表

时间 进度计划
5.25-5.26 对项目整体部署构思
5.27-5.28 整体分析需求分析、绘制用例图
5.29-5.30 绘制顺序图、E-R图
5.31-6.3 绘制所有类图、类关系图
6.4-6.6 完成任务七的开发功能
6.8-6.9 分析类图等、完成博客作业

注:以上时间均为2023年份

3. 成员分工

成员 分工
张*国 完成项目部署、绘制用例图、类图、顺序图
邓*超 完成绘制类图、E-R图
马*财 完成设计开发满足用户实际需求的功能
潘*荣 分析类图关系、完成博客作业

3. 本次实验心得

成员 心得
张*国 本次实验我负责部署项目和顺序图、用例图以及组织组内人员采用简易应用规格说明技术讨论高校教务管理系统的需求并利用面向对象设计方法绘制讨论结果的类图,掌握本次案例软件的功能,结构。对于团队软件开发的过程有了更深一步的理解!
邓*超 本次案例中我负责数据库ER图的绘制并结合开发实例利用面向对象设计方法绘制本案例的类图,在这一过程中我充分理解了各个类之间的关系,类的属性和方法,对开发软件的结构有了更深一步的理解。
马*财 本次实验我负责增量开发,开发了学生端导出学生成绩表以及教师端获取学生平均成绩的功能,并与舍友的交流过程中温故了类图的结构与功能。在开发过程中遇到了遗忘了如何在前端用js发送请求的并且如何接受返回指问题,在csdn的帮助下成功解决。本次实验提高了发现问题-解决问题的能力,与团队成员交流的能力,了解了软件的模块化开发的重要性,令我受益匪浅。
潘*荣 本次实验综合性较强,是对前几次实验的一个合并,在实验过程中绘制类图花费了我们大量的时间,增量开发的内容也极具挑战性,最后有部分内容没有完成,时间有限,确实没有做到更好,在本学期的案例学习中对于团队分工合作有了更深的认识,对于软工这门课从时间的角度也学到更多实践内容,希望在课程结束还可以一起完成没有完成的内容。

标签:202309,教务,作队,高校学生,类图,方法,管理软件,发际,绘制
From: https://www.cnblogs.com/dzmp2020/p/17439386.html

相关文章

  • linux 内核 工作队列
    简介工作队列是将操作延期执行的另一种手段。因为它们是通过守护进程在用户上下文执行,函数可以睡眠任意长的时间。对每个工作队列来说,内核都会创建一个新的内核守护线程。新的工作队列通过调用 create_workqueue 或 create_workqueue_singlethread 函数来创建。前一个函数在......
  • 3.【RabbitMQ实战】- 工作队列(Work Queue)
    工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当有多个工作线程时,这些工作线程将一起处理这些任务。轮询分发消息......
  • 中断下文tasklet、工作队列
    tasklettasklet结构体structtasklet_struct{};unsignedlongdata还可以区分tasklettasklet相关函数示例核心代码......
  • RBMQ案例二:工作队列模式
      工作队列模式工作队列(又名:任务队列)背后的主要思想是避免立即执行资源密集型任务而不得不等待它完成。相反,我们安排任务稍后完成。我们将任务封装为消息并将其发......
  • RabbitMQ从入门到精通-工作队列-Work Queues
         工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队......