目录第一章:项目计划 (2)1.1项目背景: (2)1.2 系统开发目的: (2)1.3定义: (2)第二章:详细分析 (2)2.1、系统功能 (2)2.2、系统结构 (3)2.3、数据流图 (3)2.4、户类型与职能 (4)2.5、系统环境需求 (5)第三章:系统概念设计 (5)第四章:逻辑设计 (6)4.1 系统关系模型 (6)4.2系统数据库表结构 (6)第五章:源码 (9)第六章:小结 (14)第一章:项目计划1.1项目背景:教务系统管理平台充分利用互联网络B/S管理系统模式,以网络为平台,为各个学校教务系统的管理提供一个平台,帮助学校管理教务系统,用一个账号解决学校教务教学管理,并且学校可以自由选择学校需要的教务管理系统,灵活地定制符合学校自己实际情况的教务系统.1.2 系统开发目的:提高学生,老师管理和操作事务的运作效率。
1.3 定义:学生选课和老师评分必须在管理员的设置条件下进行。
第二章:详细分析2.1、系统功能设置学期时间:管理员登录系统后设置学期的时间,只有当时间为某个状态时,其他角色例如老师,才能做某些事情。
学期时间只能由角色管理员操作:包括对学期时间表的增加,删除,对某个学期时间状态的改变。
学生选课:当管理员设置为学期开始时,学生可以选课,学生选课受学分影响,只能选择总学分为多少的课程。
老师评分:当管理员设置为学期评分时,老师才可以评分。
个人信息管理:对自己个人信息进行添加和修改。
成绩查询:学生可以对自己成绩进行查询。
个人课表查询:按时间的不同,每个角色都有自己不同的课表。
2.2、系统结构学生管理系统学期管理功能描述:学生选课和老师评分必须在管理员设置学期的条件下进行2.3、数据流图顶层图老师评分2.4、户类型与职能(1) 管理员:对学期设置的管理每个阶段有不同的功能。
(2) 老师:对选修了自己课程的学生评分。
分数 / 査询角色教务管理系统(3)学生:选修科目。
2.5、系统环境需求系统模式本系统采用B/S 模式作为开发模式 硬件环境 服务器端:高性能的计算机一台, 普通的双绞线作为连接。
客户端:普通的计算机或者工作站, 普通的双绞线作为连接。
软件环境服务器端:系统ER 图m |丨教室!、r-1.系统ER 图说明:(1) 同一的老师可以教多个科目,同一科目可以由多个老师教。
(2) 同一学生可以选修多老师的科目,同一个老师的科目可以让多个学生选修。
课程 n学期诘束■1学生fl用户]密码住扯 \ —电话T系别卜安装SQLSERVER20C 的服务器版本第三章: 系统概念设计第四章:逻辑设计4.1系统关系模型a)选课成绩表(选课编号,平时成绩,期末成绩,综合成绩)b)用户表(用户编号,用户名称,用户密码,性别,住址,电话)c)班别表(班别编号,班别名称,班别描述)d)系别(系别编号,系别名称,系别电话)e)学期时间(学期编号,学期名称,学期开始时间,学期结束时间,学期状态)f)课室表(课室编号,课室名称,课室面积,课室最大人数)g)课程表(课程编号,课程名称,课程学分,课程类型,课程学时)h)角色表(角色编号,角色名称,角色权限)i)老师授课表(授课编号,授课时间)j)上课地点表(地点编号)4.2系统数据库表结构数据库表索引用户表(Sysuser)选课成绩表(Score)班别表(Classes)系别表(Dept)学期时间表(Items)课程表(Major)课室表(Classroom)角色表(Userstyle)教师授课表(Mdteacher)上课地点表(Majorroom)第五章:源码/*==============================================================*//* 触发器:删除已存在表*//*==============================================================*/ if exists (select * from sysobjects where id = object_id('Classes')) drop table ClassesGOif exists (select * from sysobjects where id = object_id('Classroom')) drop table ClassroomGOif exists (select * from sysobjects where id = object_id('Dept')) drop table DeptGOif exists (select * from sysobjects where id = object_id('Items')) drop table ItemsGOif exists (select * from sysobjects where id = object_id('Major')) drop table MajorGOif exists (select * from sysobjects where id = object_id('Majorroom')) drop table MajorroomGOif exists (select * from sysobjects where id = object_id('Mdteacher')) drop table MdteacherGOif exists (select * from sysobjects where id = object_id('Score')) drop table ScoreGOif exists (select * from sysobjects where id = object_id('Sysuser')) drop table SysuserGO if exists (select * from sysobjects where id = object_id('Userstyle')) drop table Userstyle GO/*==============================================================*//* Table: Classes *//*==============================================================*/ create table Classes(classesid varchar(20) not null,deptid varchar(20),classname varchar(20) unique,clacontext varchar(50),primary key (classesid))go/*==============================================================*//* Table: Classroom *//*==============================================================*/ create table Classroom(roomid varchar(20) not null,roomname varchar(20) unique,area int check(area>0),maxnum int check(maxnum>0),primary key (roomid))go/*==============================================================*//* Table: Dept *//*==============================================================*/ create table Dept (deptid varchar(20) not null,deptname varchar(20) unique,depphone varchar(10) ,primary key (deptid))go/*==============================================================*//* Table: Items*//*==============================================================*/ create table Items (itemsid int not null IDENTITY,itname varchar(20),starttime datetime,endtime datetime,itstate varchar(10) check(itstate in ( ‘0 ,'1','2')),primary key (itemsid))go/*==============================================================*/ /* Table: Major */ /*==============================================================*/ create table Major (MDid varchar(20) not null,MDname varchar(10) unique,MDcredit int ,MDstyle varchar(10) check(MDstyle in ( ‘公选课,'选修课 ')),MDstudytime int check(MDstudytime >0),primary key (MDid))go/*==============================================================*//* Table: Majorroom *//*==============================================================*/ create table Majorroom(MRid int not null IDENTITY,roomid varchar(20),MDid varchar(20),primary key (MRid))go/*==============================================================*//* Table: Mdteacher *//*==============================================================*/ create table Mdteacher(muid int not null IDENTITY,idMDidMtime primary key (muid) ) go/*==============================================================*/ /* Table: Score */ /*==============================================================*/ create table Score ( scid int not null IDENTITY,id varchar(20),muidint, itemsidint, pacgradeint , endgradeint, syngrade int,primary key (scid) ) go/*==============================================================*//* Table: Sysuser *//*==============================================================*/create table Sysuser( idvarchar(20) not null, classesidvarchar(20), userstyleidvarchar(10), usernamevarchar(20) unique, passwordvarchar(10), sexvarchar(10) check(sex in (‘男 ,'女 ')), addressvarchar(50), phonevarchar(20), primary key (id)) go /*==============================================================*//* Table: Userstyle *//*==============================================================*/ create table Userstylevarchar(20), varchar(20), datetime,userstyleid varchar(10) not null,varchar(20) unique,varchar(50),primary key (userstyleid)goalter table Classes add constraint FK_Reference_11 foreign key (deptid) references Dept (deptid) ondelete cascade on update cascade;alter table Majorroom add constraint FK_Reference_15 foreign key (MDid) references Major (MDid)on delete cascade on update cascade;alter table Majorroom add constraint FK_Reference_18 foreign key (roomid) references Classroom(roomid) on delete cascade on update cascade;alter table Mdteacher add constraint FK_Reference_10 foreign key (id)references Sysuser (id) on delete cascade on update cascade;alter table Mdteacher add constraint FK_Reference_16 foreign key (MDid) references Major (MDid) ondelete cascade on update cascade;alter table Score add constraint FK_Reference_13 foreign key (muid) references Mdteacher (muid); alter table Score add constraint FK_Reference_19 foreign key (itemsid) references Items (itemsid); alter table Score add constraint FK_Reference_4 foreign key (id) references Sysuser (id);alter table Sysuser add constraint FK_Reference_12 foreign key (userstyleid) references Userstyle(userstyleid) on delete cascade on update cascade;alter table Sysuser add constraint FK_Reference_14 foreign key (classesid) references Classes(classesid) on delete cascade on update cascade;/*==============================================================*//* 存储过程:查询选修某个老师课程的学生 *//*==============================================================*/create procedure stu (@tr char(20))asselect Sysuser.id,ername from Sysuser,Score where Score.id=Sysuser.id and Score.muid in(select muid from Mdteacher,Sysuser where Mdteacher.id=Sysuser.id and ername=@tr); userstylename permission/*==============================================================*//* 授权*//*==============================================================*/grant select,update,insert,delete on Sysuser to stu2 grant select,update,insert,delete on Score to stu2/*==============================================================*//* 部分插入,更新和删除*//*==============================================================*/ insert into Userstyle values('10054',' 老师','');insert into Userstyle values('10052',' 学生','');insert into Userstyle values('10051',' 管理员','');insert into Sysuser(id,userstyleid,username,password) values('11111','10051',' 小天','123'); delete from Userstyle where userstyleid='10054';update Sysuser set password='234' where id='11111';第六章:小结和传统管理模式相比较,使用本系统,毫无疑问会大大提高老师评分的运作效率,辅助提高学校的管理水平,为降低拥挤,提高效益,减少差错,节省人力,减少多登陆的时间,提供有效的技术保障。