学籍管理系统源代码+ER图+下载课程设计Word格式文档下载.docx
《学籍管理系统源代码+ER图+下载课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学籍管理系统源代码+ER图+下载课程设计Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
是非常必要的
2.1.2可行性分析
(1)技术可行性良好的硬件环境有利于系统的开发与运行。
教师整体水平较高,引导我们解决
技术上的难题,这使我们开发这一对我们来说比较复杂的系统也成为可能。
(2)经济可行性成本方面,关于各种软、硬件及辅助设备的购置、调试、机房及辅助设施(电
源等)以及系统维护,内务开销这些费用都可以忽略不计,因为我们信息系机房可以为我们免费
提供一切。
(3)社会可行性这套学生学籍选课管理系统能够让老师更清晰的掌握自己学生的信息。
如今学
校的电脑普及率已达到了很高的水平,并且大部分都拥有设备先进管理完善的系机房,而信息学
院的老师和学生们对电脑的操作也是驾轻就熟。
因此,只要所设计的这套学生学籍管理系统操作
简单,实用,合理,大家肯定是乐于接受并积极响应和支持的。
随着信息时代的来临,学籍信息
管理的自动化,一体化正是大势所趋。
2.2需求分析
2.2.1系统功能要求设计
使得学生的学籍管理工作更加清晰、条理化、自动化;
容易地完成学生信息的查询、更新、修改等操作;
对于学生成绩管理模块,能更加容易的求得学生的平均成绩、最高分、最低分等,可以按照学生
的成绩进行排序处理等。
2.2.2系统模块设计
学籍管理系统大体可以分成四大模块如下图所示,首先是学生的基本信息模块,里面应该
包含学生的各方面的基本信息;
再者便是学生成绩管理模块,在该模块中应该包含有对学生成
绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;
再
其次还有院系、教师、课程等相关信息的模块;
最后是系统模块。
图1系统模块图
2.2.3数据字典
(1)数据项数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称(即码)、注释、数据
类型、长度、取值范围和是否是主码。
表1数据项列表
名称注释数据类型长度最小值最大值主要的
班级varchar(16)16FALSE
学号唯一标识学生的信息integerTRUE
院系代号varchar(5)5FALSE专业号varchar(5)5FALSE
姓名varchar(6)6FALSE
性别varchar
(2)2FALSE
出生年月datetimeFALSE籍贯varchar(8)8FALSE
民族varchar
(2)2FALSE
家庭住址varchar(20)20FALSE入学时间datetimeFALSE政治面貌varchar(6)6FALSE身份证号char(18)18FALSE联系电话varchar(12)12FALSE备注varchar(14)14FALSE
课程号varchar(5)5TRUE
先行课smallintFALSE
学分integerFALSE
备注varchar(16)16FALSE
院系代号varchar(5)5TRUE院系名varchar(10)10FALSE
系主任varchar(8)8FALSE
教师号varchar(5)5TRUE
院系代号varchar(5)5FALSE姓名varchar(6)6FALSE
性别char
(2)2FALSE
年龄integerFALSE
工龄integerFALSE
专业号varchar(5)5TRUE
院系代号varchar(5)5FALSE专业名称varchar(16)16FALSE备注varchar(16)16FALSE
学号integerTRUE
分数floatFALSE482
学籍管理系统源代码+ER图+下载
教师号varchar(5)5TRUE
(2)数据结构
数据结构是为反映数据之间的组合关系,即一个数据结构可以由若干个数据项组成,也可以由
若干个数据结构组成,或由若干个数据项和数据结构组成。
本学籍管理系统的数据组成可根据系
统模块(图1)的划分来设计,即分为四个数据结构,分别如下表所示。
表2数据结构清单
数据结构名含义说明组成
学生基本信息学生基本信息的描述班级+学号+院系代号+专业号+姓名+性别+出生年月
+籍贯+民族+家庭住址+入学时间+政治面貌+身份证号+联系电话+备注;
成绩管理学生成绩的管理
与查询管理描述学号+课程号+分数;
平均分数+最高分+最低分;
学生相关信息学校的院系、教师信息以及课程信息的描述课程号+课程名+先行课+学分+备注;
院系代号+院系名+系主任+备注;
教师号+院系代号+姓名+性别+年龄+工龄+备注;
系统管理对系统中的所有表的更新、删除、修改描述——————(3)数据流
数据流是数据结构在系统内传输的路径。
表3是描述数据流的数据流定义表,其中包含了数据
流名、说明、数据流组成、流量与备注等,表4是系统中的数据流描述,其中包括输入数据流、
输出数据流等的描述。
表3数据流定义表
编号数据流名说明数据流组成流量备注
L01学生基本信息学生的所有基本信息学生基本信息结构————L02学生成绩所有学生的成绩成绩管理结构———L03分类信息同班级学生名单部分学生基本信息结构————L04各门成绩学生的平均成绩(包括所有学生和同班级学生的成绩情况)成绩管理结构—
———
L05科目成绩学生的单科成绩成绩管理结构————L06教师、专业、院系信息——学生相关信息————L07查询结果——L04|L05————
L08统计分析——L04+L05————
表4数据流表
使用者名称输入数据流数输出数据流数备注
管理员L01+L02+L06L07+L08系统管理员拥有所有权限教务处人员L01+L02+L06L07+L08拥有对学生和教师的管理权限任课教师L02L07可对成绩进行查询与更新
学生L01L07查询成绩与学生基本信息
(4)数据存储
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。
其主要包括数据存储名、
说明、编号、输入的数据流与输出的数据流、组成、数据量,存取频度、存取方式。
下表表示了
该学籍管理系统中的数据存储描述。
表5数据存储描述数据存储名组成输入数据流输出数据流存取频度存取方式学生基本信息表学生基本信息结构L01L01,L07大顺序检索、更新院系教师及专业表学生相关信息数据结构L06L06.L07小顺序检索、更新学生成绩表成绩管理结构L02L07一般顺序检索、更新(5)处理过程
该学籍管理系统的处理过程比较少,主要包含了数据的追加,更新,修改以及删除,还有便是一些查询处理,包括对学生成绩的平均分、最高分最低分的查询,以及一些分类处理。
下图显示
了这些最基本的处理以及其对应的数据流与说明。
表6处理过程列表处理名简要说明输入数据输出数据备注
添加数据——L01,L06——
删除数据——L01,L06——
更改数据——L01,L06,L02L01,L06,L02——
查询数据——L07——
统计分析——L08——
2.3概念结构设计
2.3.1数据抽象与局部视图设计
(1)学生基本信息与课程信息视图
图2学生基本信息视图图3课程信息视图根据学生与课程的关系可设计如下关系图:
图4学生与课程关系视图
(2)专业、教师及院系信息视图
图5专业、教师及院系信息视图
院系、教师以及专业的关系图如下:
图6院系教师以及专业关系图
2.3.2系统数据流图
系统的管理模块里面包含教务部门(系统管理员和教务处管理人员)、教师以及学生,下图为该学籍管理系统的系统流图,教务部门拥有对所有表的查询更新与删除权利(分类信息属于查询结果除外);
教师可对教师、专业以及院系信息,分类信息,学生情况进行查询,对成绩单进行查
询、更新以及删除等所有操作;
学生只可对所有模块信息进行查询,同时可对自己的部分学生情
况进行一定的修改与更新。
图7系统数据流图
2.3.3合并部分视图生成E-R图
合并数据抽象与局部视图设计中的各个局部视图以及各个实体之间的关系生成E-R图如下:
图8系统E-R图
2.3.4概念模型设计
在生成了系统E-R图后,可根据E-R图中实体的各个属性组成以及实体与实体之间的关系用
PowerDesigner设计概念模型。
最后生成概念模型如下图所示:
图9系统概念模型设计图
2.4逻辑结构设计
2.4.1概念模型向物理模型的转换
在概念模型设计好了之后,可直接在powerdesigner中将设计好了的概念模型转换成物理模型。
其具体操作过程为点击主菜单的ToolsGeneratePhysicalDataModel便可以将当前
的概念模型转换为物理模型,转换后的物理模型如下图所示:
图10物理模型图
因为一个实体模型转换为一个关系模型时遵循以下规则1.一个1:
1联系可转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并;
2.一个1:
n联系可以转换为独立的关系模式,也可以与n端对应的关系模式合并;
3.一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部
分;
所以在转换中院系与专业合并到学生基本信息关系中,院系与专业的主码成为学生信息的外
码,同样院系的主码成为教师的外码。
学生与课程、教师与课程均是多对多的关系所以,单独的
生成了必修与教授两个关系。
2.4.2数据库物理模型设计
在PowerDesigner中将概念模型转换成物理模型之后,我们可以对物理模型进行设计,双击物理
模型的关系,便弹出对其设置的对话框,在General选项卡中可以对该关系的名称、注释以及码等信息进行设置。
在Columns选项卡中可对该关系的属性列进行设计,可分别设置其名称、码、
数据类型以及主码、是否为空等。
下图显示了课程与院系两个关系的物理设计其中课程号与院系
代号分别为两个关系的住码:
图11课程与院系的物理设计
下图是教师与专业两个关系的物理设计,起中教师号与专业号分别为主码,因为教师与专业
均从属于院系,所以院系代号分别是两个关系的外码:
图12教师与专业的物理设计SC与TC关系分别是学生基本信息与课程,教师与课程两个多对多
联系合并生成
的关系。
SC关系描述了学生选择什么课程以及该课程的分数,其中来自两个关系的主码组成该
关系的主码同时也是外码;
TC关系是教师与课程的联系,其描述了每个教师所教授的课程关系。
下面是学生基本信息的物理模型设计,学号作为主码,因为学生基本信息与专业、院系的对应关系均是n:
1的联系,所以院系代号与专业号作为学生基本信息关系的外码。
图14学生基本信息物理设计
2.5物理结构设计
2.5.1系统的物理结构设计
(1)确定关系模型的存取方法
在实际设计中最常用的存取方法是索引发,使用索引可以大大减少数据的查询时间,在建立索引
时应遵循:
在经常需要搜索的列上建立索引;
在主关键字上建立索引;
在经常用于连接的列上建立索引,即在外键上建立索引;
在经常需要根据范围进行搜索的列上创建索引,因为索引已经
排序,其指定的范围是连续的等规则。
才能充分利用索引的作用避免因索引引起的负面作用。
(2)确定数据库的存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备
份等的存储安排及存储结构,以及确定系统存储参数的配置。
因为该学籍管理系统的数据量小,
而且只作实验之用,所以我们只用把数据存储在使用的电脑硬盘上,不用作更多的安排。
2.5.2数据库的实施与数据载入
(1)数据库的实施
首先在数据库中建立一个学生数据库,然后新建一个数据源,在porwerDesigner中先建立连接
Database——>
Connect,然后在弹出的对话框中选择数据源,填好数据库的用户名和密码(在本
连接中用户名为sa密码为空),然后连接,最后检测数据是否连接正确。
在数据库连接好了之后
点击Database—>
GenerateDatabase将弹出的对话框的Generation单选按扭选择为ODBC
Generation然后选择确定便可执行数据库的实施,生成的主要代码如下:
/*==============================================================*/
/*DBMSname:
MicrosoftSQLServer2000*/
/*Createdon:
2009-7-110:
56:
43*/
-----------------------创建课程表-------------------
createtableCourse(
课程号varchar(5)notnull,
课程名varchar(10)null,
先行课smallintnull,
学分intnull,
备注varchar(16)null,
constraintPK_COURSEprimarykey(课程号))
go
executesp_addextendedproperty'
MS_Description'
'
学校所有课程描述'
user'
'
table'
Course'
go
-----------------------创建院系表-------------------
createtableDepartment(
院系代号varchar(5)notnull,
院系名varchar(10)null,
系主任varchar(8)null,
constraintPK_DEPARTMENTprimarykey(院系代号))
学校所有的院系信息描述'
-----------------------创建专业表-------------------'
Department'
gocreatetableMajor(
专业号varchar(5)notnull,
院系代号varchar(5)null,
专业名称varchar(16)null,
constraintPK_MAJORprimarykey(专业号)
)
学校所有专业信息描述'
Major'
-----------------------在专业表上创建索引-------------------
createindexDM_FKonMajor(
院系代号ASC
-----------------------创建学生与课程的成绩表----------------------
createtableSC(
学号bigintnotnull,
constraintPK_SCprimarykey(学号,课程号)
-----------------------在SC表上创建索引SC_FK与SC2_FK-------------------
createindexSC_FKonSC(
学号ASC
Go
createindexSC2_FKonSC(
课程号ASC
-----------------------创建学生基本信息表-------------------
createtableStudentsInfo(
班级varchar(16)null,
专业号varchar(5)null,
姓名varchar(6)null,
性别varchar
(2)null,
出生年月datetimenull,
籍贯varchar(8)null,
民族varchar
(2)null,
家庭住址varchar(20)null,
入学时间datetimenull,
政治面貌varchar(6)null,
身份证号char(18)null,
联系电话varchar(12)null,
备注varchar(14)null,
constraintPK_STUDENTSINFOprimarykey(学号)
学生基本信息描述'
StudentsInfo'
---------------------------创建院系代号索引------------------------------
createindexSD_FKonStudentsInfo(
)go
--------------------------创建专业号索引------------------------------
createindexSM_FKonStudentsInfo(
专业号ASC
---------------------------创建教师与课程关系表------------------------------
createtableTC(
教师号varchar(5)notnull,
constraintPK_TCprimarykey(课程号,教师号)
---------------------------建立课程号索引------------------------------createindexTC_FKonTC(
--------------------------建立教师号索引------------------------------createindexTC2_FKonTC(
教师号ASC
---------------------------创建教师表------------------------------createtableTeacher(
性别char
(2)null,
年龄intnull,
工龄intnull,
constraintPK_TEACHERprimarykey(教师号))
学校教师信息描述'
Teacher'
---------------------------建立TD_FK索引------------------------------createindexTD_FKonTeacher(
altertableMajor
addconstraintFK_MAJOR_DM_DEPARTMEforeignkey(院系代号)
referencesDepartment(院系代号)go
altertableSC
addconstraintFK_SC_SC_STUDENTSforeignkey(学号)
referencesStudentsInfo(学号)
addconstraintFK_SC_SC2_COURSEforeignkey(课程号)
referencesCourse(课程号)
altertableStudentsInfo