首页 > 其他分享 >迪士尼在逃公组 实验七 综合软件项目案例

迪士尼在逃公组 实验七 综合软件项目案例

时间:2023-06-10 15:34:16浏览次数:45  
标签:迪士尼 java 逃公组 高校学生 任务 类图 案例 管理软件 绘制

项目 内容
课程班级博客链接 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图的绘制,各个实体之间的关系较为复杂,但是也十分巧妙,我从中获得了很多实战经验。通过本次实验我认识到,在软件开发的过程中,每一个环节都很重要,这是一个环环相扣的过程,同时也要注重各个部分的细节,有粗有细。
    米*文
     本次实验让我受益良多。在分析类图中各个类的关系以及绘制某一用户对象完成学生信息增、删、改的顺序图的过程中,我们遇到了一些困难,通过交流与协商,我们达成了一致意见。同时绘制用例图让各类用户的操作更为清晰。很多时候一个人的想法可能是片面的,但是小组内互相交流、分析之后,就可以更加全面细致地了解问题,给出更为合理的解决方法。
    宋*婷
     通过本次实验,我了解到了部分汇总为整体也是极为关键的一步,软件工程不在于简单地编码,而是一个项目工程,各部分高效的有序的结合才是软件工程的意义,这也是我们在需求分析,绘制各类顺序图,用例图过程中得出的重要经验。所以,我发现,在一件小小的工作背后其实蕴含着好多的细节,本次实验也比我们预估时间要久,其中出现了很多我们没有预料到的问题,但都通过小组通力合作成功解决。

标签:迪士尼,java,逃公组,高校学生,任务,类图,案例,管理软件,绘制
From: https://www.cnblogs.com/Disney1111/p/17456986.html

相关文章

  • Electron 案例
     Electron简介Electron是干什么的?简单来讲,Electron使用JavaScript,HTML和CSS,来构建跨平台的桌面应用程序。按照官方的说法:如果你可以建一个网站,你就可以建一个桌面应用程序。和传统的桌面应用相比,使用Electron开发更容易上手,开发效率更高。并且,web技术应用广泛、生态......
  • 使用阿里云快速构建海外镜像实战案例
    目录一.github创建项目1.注册账号2.登录github账号3.创建仓库4.添加一个Dockerfile文件二.登录阿里云创建镜像仓库1.进入容器镜像服务页面2.创建命名空间3.创建镜像仓库3.1配置仓库信息3.2配置代码源3.2.1选择代码源3.2.2绑定github账号3.2.3绑定成功3.2.4配置代码源3.2.5......
  • Python使用Queue对象实现多线程同步小案例
    queue模块的Queue对象实现了多生产者/多消费者队列,尤其适合需要在多个线程之间进行信息交换的场合,实现了多线程编程所需要的所有锁语义。Queue对象主要实现了put()和get()方法,分别用来往队列尾部追加元素和在队列头部获取并删除元素。这两个方法都允许指定超时时间,其用法分别为put(......
  • Python字符串处理小案例
    连续5天30个小时的Python培训圆满结束,明天早上5点半出发赶飞机回烟台,晚上收拾行李的时候突然想起来20年前做过的一个C语言题目:假设有一个字符串,里面有若干字母o。要求如下:从前到后扫描,把每个字符删除并追加至字符串尾部,如果遇到字母o就删除,直至字符串处理结束。本文代码主要演示字......
  • Python 3.6+Django开发入门小案例(自动变化的问候)完整步骤
    第一步:在命令提示符环境使用pipinstalldjango命令安装django第二步:在命令提示符环境使用pythondjango-admin.pystartprojectdjango_greeting命令创建网站django_greeting第三步:利用资源管理器在网站目录django_greeting中创建子文件夹templates,并在该子文件夹中创建文件gree......
  • Python+tkinter动态创建与销毁组件小案例
    本文代码演示了如何在tkinter窗体上动态创建组件以及销毁组件的方法。importtkinterimporttkinter.messageboximporttkinter.simpledialogbtnList=[]#动态创建组件,并计算组件在窗体上的位置defplace(n):foriinrange(n):exec('btn'+str(i)+'=tkinter.B......
  • java集成chatGpt完整案例代码(效果和官网一样逐字输出)
    背景要集成chatGpt参考我上一篇文章即可。但是,如果要实现官网一样的效果,逐字输出,难度就提升了不少了。经过在官网的研究发现它应该是采用了SSE技术,这是一种最新的HTTP交互技术。SSE(Server-SentEvents):通俗解释起来就是一种基于HTTP的,以流的形式由服务端持续向客户端发送数据的......
  • 北京君正案例:数传网关的集大成者—积木式边缘网关
    外观介绍数传网关的集大成者USR-M300产品集成了数据的边缘采集、计算、主动上报和数据读写,联动控制,IO采集和控制等功能,采集协议包含标准Modbus协议和多种常见的PLC协议,以及行业专用协议;主动上报采用分组上报方式,自定义Json上报模版,快速实现服务器数据格式的对接。同时USR-M300产品......
  • 【刨根问底】BigDecimal 案例和部分源码分析
    本文总以下几个部分:前言Bigdecimal定义Bigdecimal创建方式Bigdecimal部分源码分析Bigdecimal坑Bigdecimal使用建议Bigdecimal工具类前言在咱们开发过程中很容易遇到计算的问题,普通计算其实也还好使用int、long、double、float基本上能应付。但是如果涉及到数据类型转后在处理等......
  • Java多态综合案例(包含接口,接口实现类)
    首先定义一个接口名为USB其次定义两个实现类分别名为KeyBorad和Mouse此时就可以使用多态了,因为实现类和接口某种意义上来说是继承关系。USBu=newKeyborad();USBu2 =newMouse();因为键盘和鼠标都具有插拔功能,所以为了方便,把这两个功能写入接口,然后实现类重写。pac......