文档介绍:实习指导书
指导教师:赵友杰
实习班级:信息工程2013
实习人数:45人
实习题目:学生信息管理系统的设计与开发
实习工具:SQL Server 2008 和 JSP
实习目的:
使用JSP与SQL Server数据库,设计与开发学生信息管理系统,并在其中掌握数据库中SQL基本命令、视图、函数、触发器、存储过程、游标的创建和使用,及JSP系统的设计与开发。
主要考核点:
数据库设计理念及步骤,ER图,关系数据库设计与优化等;
数据库实现相关技术,主要包括SQL基本命令、函数、触发器、存储过程、游标等;
系统实现,主要包括JSP连接及调用SQL数据库
实习内容
系统主要需求
(1)学生可以登录系统,实现学生密码修改,学生基本信息查看与修改,成绩信息查看,挂科信息查看,自己的平均分排名显示等功能;
(2)班主任可以登录系统,实现所有学生用户信息的查看、添加、删除和修改,学生基本信息的查看、添加、删除和修改,课程基本信息的查看、添加、删除和修改,学生成绩的查看、添加、删除和修改,平均分排名查看,以及教师基本信息的查看和修改;
(3)管理员可以登录系统,实现所有用户的查看、添加、删除和修改。
(4)当学生和教师用户被创建时(默认用户名为学号),触发器自动在学生或教师基本信息表中添加该信息(除学号外,其他为空)
(5)当学生用户被删除时,触发器自动删除学生信息表,学生成绩表中该生信息
概念设计
关系数据库中至少包含以下实体及联系:
用户实体:每个用户有自己的用户名、密码、用户类型等属性
学生实体:每个学生有自己的学号(与用户名相同)、姓名、性别、出生年月日、籍贯、班级、学生电话、父母电话、电子邮箱等属性
课程实体:每门课程有课程号、课程名、课程类型(必修还是选修)、学分等属性
学生与课程之间应该有联系,一个学生可以选多门课程,一门课程可以被多位同学选,上课后应该有相应的成绩。
班主任实体:每个班主任有自己的职工号、姓名、所任班级、所属学院、电话号码
学生和班主任之间应该有联系,一个班主任应该可以带多名学生
除以上实体和联系外,也可自行添加其他实体和联系。对应所有实体和联系,画出ER图。
逻辑设计
对应概念设计的ER图,设计相应的关系模式,至少应包含以下表:
(1)用户表us(uid,upass,utype)注:用户类型应该至少有三种
(2)学生表studentinfo(studno,――――)
(3)o,―――)
(3)成绩表(o,――――)
(4)班主任表(teachid,――――)
备注:如果可能,所有表都尽量设置相应的主键与外键。
物理设计
(方便系统的安装和移植)。
使用SQL命令创建数据库test
使用SQL命令创建以上所有表
使用SQL命令创建视图Vbadcourse,显示所有不及格的学生学号、课程号、课程名、学分、成绩
使用SQL命令创建函数Fscore,输入某个学号,返回该学号对应的挂科总学分(该函数创建中需要使用游标)
使用SQL命令创建视图Vscore,显示学号、平均分、总分、挂科总学分(其中挂科总学分需要调用Fscore函数)
使用SQL命令创建触发器tri1,实现需求分析中的(4)
((4)当学生和教师用户被创建时(默认用户名为学号),触发器自动在学生或教师基本信息表中添加该信息(除学号外,其他为空)
)
使用SQL命令创建触发器tri2,实现需求分析中的(5)
((5)当学生用户被删除时,触发器自动删除学生信息表,学生成绩表中该生信息
)
使用SQL命令创建存储过程proc1,当班主任需要添加成绩时,实现判断是否有该生的课程成绩,如果有则执行修改成绩,如果没有则执行添加成绩。
参考附件1-数据相关命令及TSQL编程
系统设计与实现(模块1,2,5必须做,)
登录模块(至少包含管理员,班主任,学生三个选项)
管理员模块:用户表的查看、添加、删除和修改。
学生模块:学生密码修改,学生基本信息查看与修改,成绩信息查看,挂科信息查看,自己的平均分排名显示等功能;
班主任模块:学生用户信息的查看、添加、删除和修改,学生基本信息的查看、添加、删除和修改,课程基本信息的查看、添加、删除和修改,学生成绩的查看、添加、删除和修改,平均分排名查看,以及教师基本信息的查看和修改;
在JSP中测试调用存储过程,函数,触发器
针对以上要求画出对应的功能模块图。
测试和维护
模块基本功能是否正常完成
数据溢出测试,输入较长字符是否有相应判断
数据注入式攻击测试
其他
扩展实习:
文件中电子表格“”,为西南林