软件工程实验项目(三)
软件工程实验项目第三周:系统设计
(一)总体设计
(1)运行环境
硬件环境:Windows 7 及以上,处理器:Intel Pentium及以上,内存:2G以上
浏览器:IE9 以上及Chrome,FireFox,Safari等现代浏览器
(2)基本处理流程
用户登录流程图
子模块操作处理流程图
(3)模块结构
系统结构图
功能模块简介
用户管理模块:对用户的信息进行增删改查
院系管理模块:对院系的信息进行增删改查
班级管理模块:对班级的信息进行增删改查
学生管理模块:对学生的基本信息进行增删改查
课程管理模块:对课程进行增删改查,并能查看平均分,不及格率,成绩排名
(二)详细设计
(1)子管理模块设计
程序流程图
算法描述
(1)用户在前台操作,向后台发送带参数的GET请求
(2)AdminDao.java捕捉到请求,根据类型分发到不同处理方法中
(3)处理方法中实例化XXXDao对象并调用DBUtils.java提供的方法连接和操作数据库
用ajax向前台user.jsp或者admin.jsp发送操作后的数据
(2)关键类说明
LoginServlet.java:负责处理用户登录操作
RegisterServlet.java:负责处理用户注册操作
AdminDao.java:一个Servlet文件,接收前台发送的操作指令
XXXDao.java:封装了关于该信息在数据库中增删改查的方法
DBUtils.java:封装了获取数据库连接和释放数据库连接的方法
Admin.jsp:管理员操作界面
User.jsp:用户操作界面
(三)数据库设计
(1)概念结构设计
E-R图:
本数据库有实体集:User(用户),Department(院系),Class(班级),Student(学生),Course(课程)
它们之间的联系有:1对1:Student和User
1对多:Department和Class,Class和Studen
多对多:Course和Student
(2)逻辑结构设计
关系模式(下划线为主键,#表示外键)
User(Username,Password,Level)
Department(Dno,Dname)
Class(Clno,Clname,#Dno)
Student(Sno,Sname,Ssex,Sage,#Clno)
Course(Cno,Cname,Cteacher,Ccredit)
SC(#Sno,#Cno,Grade)