软件工程导论课程设计学生学籍管理系统方案.docx
- 文档编号:27128747
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:114
- 大小:241.65KB
软件工程导论课程设计学生学籍管理系统方案.docx
《软件工程导论课程设计学生学籍管理系统方案.docx》由会员分享,可在线阅读,更多相关《软件工程导论课程设计学生学籍管理系统方案.docx(114页珍藏版)》请在冰豆网上搜索。
软件工程导论课程设计学生学籍管理系统方案
课程设计报告
科目:
软件工程概论
设计题目:
学生学籍管理系统
专业:
软件工程09-1班
姓名:
XXXXX
XXXXX
学生学籍管理
一.需求分析
开发环境和软件
(1)操作系统:
Windowsxp
(2)数据库软件:
SQLServer2000
(3)Java开发工具:
系统设计和功能分析
学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新和
维护,使用方便,易用性强,图形界面清晰明了。
该软件用java语言编写,用SQLServer2000数据库作为后台的数据库进行信息的存储,用SQL语句完成学生学籍信息的添加,查询,修改,删除的操作以及成绩的录入,修改,
删除等。
用ODBC驱动实现前台Java和后台SQL数据库的连接。
Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。
SQLServer2000数据库高效安全,两者结合可相互利用各自的优势。
该系统实现的大致功能:
1.用户登陆界面。
该界面可以选择使用者的身份,“管理员,教师,学生”。
不同的身份有不同的操作界面和功能权限。
ID号和密码输入正确即可登录。
学生管理界面。
提供了学生学籍信息的查询,修改登录密码等功能。
2.教师管理界面。
提供了对学生学籍信息的查询,添加,修改,删除。
修改
密码等功能。
3.管理员管理界面。
拥有最高的权限。
允许添加教师信息。
...
4.登录的用户信息分别存储在SQL数据库的“管理员信息表”,“教师信息
表”,“学生表”中,如果用户信息不存在则三张表中,将会无权利登录
本管理系统。
保证了本学生管理系统的安全性。
二.系统概要设计
1.数据需求:
(1)数据字典
实体属性表:
实体属性
教师教师ID,教师姓名,登录密码
管理员管理员ID,登录密码
学生学号,姓名,性别,班级号,籍贯,登录密码,学生成
绩
系统逻辑结构设计
教师信息表:
字段名
类型
空值
约束条件
教师ID
varchar(8)notnull
主键
教师姓名
varchar(8)notnull
登录密码
varchar(8)notnull
管理员信息表:
字段名
类型
空值
约束条件
管理员ID
notnull
主键
varchar(10)
登录密码
varchar(10notnull
)
学生表:
字段名
类型
空值
约束条件
学号
int
notnull
主键
姓名
varchar(30)
notnull
性别
char
(2)
班级号
varchar(30)
notnull
外键
籍贯
char(10)
登录密码money
notnull
学生成绩Char
(2)数据流图第一层
学生名单
...
学生
管理人员
第二层
学生信息
班平均成绩
各科平均成绩
第三层
学生信息
第四层
学生信息
第五层
学生信息
学生信息
学籍管理系统
教师
成绩
统计表
成绩单
学生
1.录入
2.查询
成绩
存储处理
学生记录
处理
升留级表
本次测试成绩
历次测试成绩
合格单
新生信息
1
.3
录入存储学
审计1.1
1.2是否新生
生信息各科成绩
4.升留级
3.统计
处理
处理
班级
班级平均
学生成绩
学生信息
成绩3.1
统计选择3.1
统计成绩
各科
各科平均
成绩3.3
是否升留
升留级名单
更新记录
学生记录
级4.1
4.2
2.功能需求:
(1)实现学生基本情况的录入,修改,删除等基本操作。
(2)对学生基本信息提供灵活的查询方式。
成绩标准
(3)完成一个班级的学期选课功能。
(4)实现学生成绩的录入,修改,删除等基本操作。
(5)能方便的对学生的个人学期成绩进行查询。
(6)具有成绩统计,排名等功能。
(7)具有留级,休学等特殊情况的处理功能。
(8)能输出常用的各种报表。
(9)具有数据备份和数据恢复功能。
三.系统详细设计
1.概念结构设计
局部ER图
...
学号
姓名
性别
专业号
专业名
人数
院系
课程号
课程名
学时
学生
出生年月
专业
课程
整体的ER图
专业号
专业名
人数
学号
姓名
性别
2.逻辑结构设计
(1)ER图转换为关系模型
出生年月
由ER图可见:
图中有三个实体:
学生,课程,和专业;三个关系:
学生选课关系,
院系
专业
属于
学生
学生和专业之间的属于关系,专业的课程设置。
由于每个实体必须构造表,所以可以先得到三个实体的信息表,实体的码就是关系的密码
码,实体的属性即关系模型的属性:
学生基本信息表:
S(sno,sname,ssex,sbirth,spasw)
课程基本信息表:
C(cno,cname,cperiord)课程号专业号
专业基本信息表:
P(pno,pname,pnum,psdept)
对应的属性分别为:
学号,姓名,性别,出生日期,登陆密码学号
课程号设置选课
课程编号,课程名,学期
专业编号,专业名,专业人数,所在院系成绩
学期
对于多对多的关系来说,和该联系相连的实体的码以及本身的属性均转换为关系的
属性,各实体之间的码组成关系的码或者关系的码的一部分。
学期
以上ER图的三个联系为多
对多,所以转换为关系模式为:
课程
课程设置表:
pc(pno,psenior,cno)
和设置相连的实体有专业和课程,根据多对
多的转换原则:
专业的码
pno,课程的码
cno以及设置本身的属性共同构成该关系模式的
课程号
课程名
学时
码,所以该关系模式的码为全码。
学生选课表:
SC(sno,psenior,cno,grade)
和选课相连的实体有学生和课程,同
上由学生的码sno,课程的码cno以及选课本身的码
psenior
构成该关系模式的码,即
(sno,cno,psenior)。
此外,选课表还有一个非主属性
grade。
学生和专业的属于表:
SP(sno,pno)
和属于关系相联的实体是学生和专业。
同上由学
生的码sno,专业的码pno构成该关系模式的码,由于此关系没有其他的码也就没有非主属性。
(2)关系模式的优化:
学生表s(sno,sname,ssex,sbirth,spasw)
该关系模式的码为sno,由于只有一个码,所以不存在非主属性对码的部分函数依赖,
可以达到2NCF。
另外,该关系模式的函数依赖为:
sno->sname,sno->ssex,sno->ssex,
sno->sbirth,sno->spasw,其间不存在传递依赖,故学生表可达到3NCF.
课程表C(cno,cname,cperiod)
该关系模式的码为cno,cname,设主码为cno,因为该关系模式中的码都是单一的,即
不存在有两个或者两个以上的属性组成的码,所以不存在非主属性对码的部分函数依赖,可
以达到2NCF。
另外,该关系模式的函数依赖为:
cno->cname,cno->cperiod,cname
->cno,cname->cperiod.因为cno->cname,cname->cperiodcno->cperiod,
所以该关系模式中存在传递依赖,不能达到3NCF。
故优化该表为:
C1(cno,period),C2
(cname,cperiod).从而两表都达到了3NCF。
专业表P(pno,pname,pnum,pdept)
...
该关系模式的码为pno,pname,其中设定pno为主码。
同课程表,该表不存在有两个或
者两个以上属性组成的码,即不存在非主属性对码的部分函数依赖,故可达到
2NCF。
另外,
此关系模式的函数依赖为:
pno->pname,pno->pnum,pno->pdept,pname->pno,pname->
pnum,pname->pdept;由于存在传递依赖:
pno->pname,pname->pnum,
pno->pnum.,
所以未能达到3NCF。
优化分解为:
P1(pno,pnum,pdept),P2(pname,pnum,pdept)
明显,两表都达到了
3NCF.
课程设置表PC(pno,psenior,cno),
该关系模式的码为:
(pno,psenior,cno)
为全码,所以可直接达到3NCF
学生选课表SC(sno,psenior,cno,grade)
该关系模式的码为:
(sno,psenior,cno
),因为不存在非主性
grade对码的部分函数依
赖,所以可达到2NCF,由于不存在函数依赖(表中的函数依赖只有(
sno,psenior,cno)->
grade)故也达到了3NCF
属于表SP(sno,pno)
该关系模式的码(sno,pno)
也是全码,所以也达到了3NCF
用户表U(uname,upasw)
该表的码为uname,明显upasw对码uname是完全函数依赖的,从而达到
2NCF。
另外因
为只有两个属性,所以不存在传递函数依赖,该表达到了
3NCF
3.物理结构设计
(1)基本表
学生表s
列名
主码
候选码
外码
被参照表
允许空
数据类型
约束条件
sno
是
否
否
无
否
Char(10)
sname
否
否
否
无
是
Char(20)
ssex
否
否
否
无
是
Char
(2)
只可取男或女
sbirth
否
否
否
无
是
Char(20)
spasw
否
否
否
无
是
Char(10)
课程表c1
列名
主码
候选码
外码
被参照表
允许空
数据类型
约束条件
cno
是
否
否
无
否
Char(10)
cperiod
否
否
否
无
是
smallin
t
课程表c2
列名
主码
候选码
外码
被参照表
允许空
数据类型
约束条件
cname
是
否
否
无
否
Char(20)
cperiod
否
否
否
无
是
smallin
t
专业表p1
列名
主码
候选码
外码
被参照表
允许空
数据类型
约束条件
pno
是
否
否
无
否
Char(10)
pnum
否
否
否
无
是
smallin
Pnum>=0
t
psdept
否
否
否
无
是
Char(20
)
专业表p2
...
列名
主码
候选码
外码
被参照表
允许空
数据类型
约束条件
pname
是
否
否
无
否
Char(20)
pnum
否
否
否
无
是
smallin
Pnum>=0
t
psdept
否
否
否
无
是
Char(20
)
课程设置表pc
列名
主码
候选码
外码
被参照表
允许空
数据类型
约束条件
pno
是
否
否
无
否
Char(10)
psenior
是
否
否
无
否
Char(10
)
cno
是
否
否
无
否
Char(10
)
学生选课表sc
列名
主码
候选码
外码
被参照表
允许空
数据类型
约束条件
sno
是
否
否
无
否
Char(10)
psenior
是
否
否
无
否
Char(10)
cno
是
否
否
无
否
Char(10)
grade
否
否
否
无
是
smallint
grade>=0
学生和专业属于表
sp
列名
主码
候选码
外码
被参照表
允许空
数据类型
约束条件
sno
是
否
否
无
否
Char(10)
pno
是
否
否
无
否
Char(10
)
管理人员密码表
u
列名
主码
候选码
外码
被参照表
允许空
数据类型
约束条件
uname
是
否
否
无
否
Char(20)
upasw
否
否
否
无
否
Char(10)
(2)视图,索引
a.索引:
本数据库中的表除了主键本身生成的主索引外,没有定义其他的索引。
在查询时即引用主索引即可。
表s的主索引列为:
sno
表c1的主索引列为:
cno
表c2的主索引列为:
cname
表p1的主索引列为:
pno
表p2的主索引列为:
pname
表sc的主索引列为:
(pno,psenior,cno)
表sp的主索引列为:
(sno,pno)
表u的主索引列为:
uname
b.视图:
虽然关系数据模型分析的结果表示该数据库需要定义不同的用户视图,但考
虑到数据库和前台开发程序的连接比较复杂,所以该数据库中没有单独定义用户视图,不同的用户视图被有选择性的的select语句的结果集取.
4.系统功能设计
...
学生学籍管理系统
欢迎界面
身份及密码验证
系统管理查询管理成绩统计
成绩查询
个人成绩
添加用户
信息查询
基本信息专业成绩
管理人员信息
学生信息
基本信息维护
添加更新删除
...
...
...
四.系统测试方案
1.建立数据库模式、视图及索引
以下将对数据库进行实现,实现的环境为SQLSERVER2000。
createdatabaseExpulsion
on
(
name=Expulsion,
filename='D:
\Test\SQL\Expulsion\expulsion.mdf',
size=5,
filegrowth=10%,
maxsize=10
)
logon
(
...
name=expulsion_log,
filename='D:
\Test\SQL\Expulsion\expulsion_log.ldf',
size=5,
filegrowth=10%,
maxsize=10
)
go
useExpulsion
go
(1).建立管理员表
createtabletb_Admin
(
admin_IDintidentity,
admin_Uservarchar(10)notnull,
admin_Passvarchar(20)notnull,
admin_Permintnotnull,
constraintpk_Adminprimarykey(admin_ID)
)
go
(2).登陆日志表
createtabletb_Log
(
log_IDintidentity,
log_UsIDint,
...
log_TimesmalldatetimedefaultgetDate(),
log_IPvarchar(16),
constraintpk_Logprimarykey(log_ID),
constraintfk_Log_Adminforeignkey(log_UsID)references
tb_Admin(admin_ID),
)
go
(3).院系表
createtabletb_Department
(
depart_IDint,
depart_Namevarchar(40)notnull,--院系名
depart_Direvarchar(10),--系主任
depart_Notevarchar(200),
constraintpk_Departprimarykey(Depart_ID),
)
go
(4).课程表
createtabletb_Course
(
course_IDint,
course_Namevarchar(20),
course_PrNoint,--先行课号
course_creditintnotnull,
...
course_Notevarchar(200),--备注
constraintpk_Courseprimarykey(course_ID),
constraintfk_Courseforeignkey(course_PrNo)referencestb_Course(course_ID)
)
go
(5).专业表
createtabletb_Professional
(
prof_IDint,
prof_DeIDint,--院系编号
prof_Namevarchar(40),--专业名
prof_Notevarchar(200)
constraintpk_Profprimarykey(prof_ID),
constraintfk_Prof_Departforeignkey(prof_DeID)referencestb_Department(depart_ID)
ondeletecascade
onupdatecascade,
)
go
(6).班级表
createtabletb_Class
(
class_IDint,
...
class_Yearvarchar(4)defaultYear(getDate()),--入学年份哪一级
的
class_PrIDint,--专业编号
class_Namevarchar(40),
class_Instvarchar(10),--指导员instructor
class_Notevarchar(200),
constraintpk_Classprimarykey(class_ID),
constraintfk_Class_Profforeignkey(class_PrID)referencestb_Professional(prof_ID)
ondeletecascade
onupdatecascade,
)
go
(7).学生信息表
createtabletb_Information
(
info_Novarchar(20),
info_Namevarchar(10),
info_Sexchar
(2)check(info_Sexin('男','女')),
info_Birtvarchar(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论 课程设计 学生 学籍 管理 系统 方案