软件工程学生选课系统概要设计.docx

上传人:b****8 文档编号:9995536 上传时间:2023-02-07 格式:DOCX 页数:16 大小:171.05KB
下载 相关 举报
软件工程学生选课系统概要设计.docx_第1页
第1页 / 共16页
软件工程学生选课系统概要设计.docx_第2页
第2页 / 共16页
软件工程学生选课系统概要设计.docx_第3页
第3页 / 共16页
软件工程学生选课系统概要设计.docx_第4页
第4页 / 共16页
软件工程学生选课系统概要设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

软件工程学生选课系统概要设计.docx

《软件工程学生选课系统概要设计.docx》由会员分享,可在线阅读,更多相关《软件工程学生选课系统概要设计.docx(16页珍藏版)》请在冰豆网上搜索。

软件工程学生选课系统概要设计.docx

软件工程学生选课系统概要设计

 

学生选课系统概要设计报告

 

姓名:

学号:

班级:

 

1.总体设计

1.1系统架构

该系统的架构图如下:

图1系统架构图一

图2系统架构图二

1.2数据流图

该系统的数据流图,如下所示:

图3数据流图

1.3总体结构

学生选课系统是为了方便学生在选课阶段方便选课而开发的系统,它的基本功能就是对于学校的可选课程进行选择、查看和修改等操作。

学生选课系统主要有四大模块:

1.课程展示模块

课程展示模块是系统的核心部分,学生只有浏览所选课程才能选择所上的课程。

课程展示模块包括课程的详细信息(课程ID、课程名、上课时间、授课教师等)、搜索课程信息等功能。

2.用户管理模块

用户包括学生用户和教师用户。

学生用户必须登录进系统。

然后他们可以进行选课操作并可以查看选课信息,个人信息以及成绩信息。

教师用户可以对学生进行成绩录入,查看学生信息等操作。

没有登陆的用户不能进入系统。

3.选课模块

学生用户在选课期间对课程进行查看,开始进行选课操作(查看、修改、删除)等。

图4总体结构图

 

2.概念结构

2.1总E-R图

2.2实体图

管理员

系部

班级

学生

教师:

课程

3.逻辑结构设计

1)管理员(用户名,密码)

主键为用户名

2)系部(系部代码,系部名称,系主任)

主键为系部代码

3)班级(班级代码,班级名称,备注,系部代码)

主键为班级代码

4)课程(课程号,课程名称,学分,开始周,结束周,备注,系部代码)

主键为课程号,外键为系部代码

5)学生(学号,姓名,性别,出生日期,入学时间,密码,班级代码)

主键为学号,外键为班级代码

6)教师(教师编号,姓名,性别,出生日期,学历,职务,密码,备注,系部代码)

主键为教师编号,外键为系部代码

7)教师任课(教师编号,课程号,教师姓名,课程名称,系部名称,学生数,开始周,结束周)

主键为教师编号,课程号,外键为教师编号,课程号

8)学生选课(学号,课程号,教师编号,学生姓名,课程名称,教师姓名,开课系部,

开始周,结束周,成绩)

主键为学号,课程号,教师编号,外键为学号,教师编号,课程号

4.物理设计

4.1表设计

--

(1)“管理员”表

Usestudent

GO

createtable管理员

用户名varchar(12)constraintpk_glyPRIMARYKEYNOTNULL,

密码varchar(12)NULL,

GO

--

(2)"系部“表

Usestudent

GO

createtable系部

系部代码char

(2)CONSTRAINTpk_xbdmPRIMARYKEYNOTNULL,

系部名称varchar(30)notnullconstraintuk_xbmcuniquenonclustered,

系主任varchar(8)notnull

GO

--(4)"班级"表

Usestudent

GO

createtable班级

班级代码char(9)constraintpk_bjdmPRIMARYKEYNOTNULL,

班级名称varchar(20),

系部代码char

(2)constraintfk_bjxbdmreferences系部(系部代码),

备注varchar(50)

GO

--(5)“学生表”

Usestudent

GO

createtable学生

学号char(12)CONSTRAINTpk_xhPRIMARYKEYNOTNULL,

姓名varchar(8),

性别char

(2),

出生日期datetime,

入学时间datetime,

班级代码char(9)constraintfk_xsbjdmreferences班级(班级代码)

GO

--(6)"教师"表

Usestudent

GO

createtable教师

教师编号char(12)constraintpk_jsbhprimarykey,

姓名varchar(8)notnull,

性别char

(2),

出生日期datetime,

学历varchar(10),

职务char(10),

职称char(10),

系部代码char

(2)constraintfk_jsxbdmreferences系部(系部代码),

专业char(20),

备注varchar(50)

GO

--(7)"课程"表

Usestudent

GO

createtable课程

课程号char(4)constraintpk_kchprimarykey,

课程名称varchar(20)notnull,

备注varchar(50)

Go

--(8)"教师任课"表

Usestudent

GO

createtable教师任课

教师编号char(12)constraintfk_jsrkbhreferences教师(教师编号),

课程号char(4)constraintfk_jsrkkchreferences课程(课程号),

教师姓名varchar(8),

课程名称varchar(20),

系部名称varchar(30),

学生数smallint,

开始周tinyint,

结束周tinyint,

primarykey(教师编号,课程号)

GO

--(9)"课程注册"表

Usestudent

GO

createtable学生选课

学号char(12)references学生(学号),

课程号char(4)references课程(课程号),

教师编号char(12)references教师(教师编号),

学生姓名varchar(8),

教师姓名varchar(8),

课程名称varchar(20),

开课系部varchar(30),

开始周tinyint,

结束周tinyint,

成绩tinyint,

primarykey(学号,教师编号,课程号)

GO

4.2存储过程设计

/*

*功能--查看一门课程也没有选修的学生的学号和姓名。

*参数--无

存储过程名:

st_noxk

*/

Createprocedurest_noxk

As

Select学号,姓名from学生

Where学号notin(select学号from学生选课)

-----------------------------------------------------

2:

/*功能-----输入任意一个成绩,查询大于等于该成绩的学号、姓名、课程名、成绩

参数---成绩

存储过程名:

st_chengjichaxun

*/

Createprocedurest_chengjichaxun@chengjitinyint

As

Select学号,姓名,课程名,成绩from学生选课

Where成绩>=@chengji

Orderby学号

3:

/*功能-----输入任意一个存在的课程名称,统计改门课程的平均成绩、最高成绩和最低成绩

参数---课程名称(输入参数)平均成绩、最高成绩和最低成绩(输出参数)

存储过程名:

st_dkcjfx

*/

Createprocedurest_dkcjfx@kechengmingvarchar(20),

@avgchengjitinyintOUTPUT,@maxchengjitinyintOUTPUT,@minchengjitinyintOUTPUT

As

Select@avgchengji=AVG(成绩),@maxchengji=MAX(成绩),@minchengji=MIN(成绩)

From学生选课where课程名称=@kechengming

过程名

功能

入口参数

st_noxk

查询没有选课的学生

st_chengjichaxun

查询大于某一成绩的学生

成绩

st_dkcjfx

查询某一课程的平均、最高、最低分

课程名称

4.3触发器设计

1:

/*功能-----当插入一个学生信息时,自动给该学生赋一个与学号相同的密码

名称:

passwd_trigger_student

*/

createtriggerpasswd_trigger_studenton学生forinsert

as

declare@passwordchar(13);

set@password=NULL;

set@password=(select密码frominserted);

if@passwordisNULL

update学生set密码=学号;

2./*

功能-----当插入一个教师信息时,自动给该教师赋一个与教师编号相同的密码

名称:

passwd_trigger_jiaoshi

*/

createtriggerpasswd_trigger_jiaoshion教师forinsert

as

declare@passwordchar(13);

set@password=NULL;

set@password=(select密码frominserted);

if@passwordisNULL

update教师set密码=教师编号;

3./*

功能-----当学生选择课程时,自动给该课程的人数加1

名称:

numadd_trigger_xuanke

*/

createtriggernumadd_trigger_xuankeon学生选课forinsert

as

declare@numint;

declare@teachernochar(12);

declare@coursenochar(4);

set@teacherno=(select教师编号frominserted);

set@courseno=(select课程号frominserted);

set@num=0;

set@num=(select学生数from教师任课where教师编号=@teachernoand课程号=@courseno)+1;

update教师任课set学生数=@numwhere教师编号=@teachernoand课程号=@courseno;

4./*

功能-----当学生退选课程时,自动给该课程的人数减1

名称:

numjianshao_trigger_xuanke

*/

createtriggernumjianshao_trigger_xuankeon学生选课fordelete

as

declare@numint;

declare@teachernochar(12);

declare@coursenochar(4);

set@teacherno=(select教师编号frominserted);

set@courseno=(select课程号frominserted);

set@num=0;

set@num=(select学生数from教师任课where教师编号=@teachernoand课程号=@courseno)-1;

update教师任课set学生数=@numwhere教师编号=@teachernoand课程号=@courseno;

 

触发器名

功能

类型

作用表

passwd_trigger_student

当插入一个学生信息时,自动给该学生赋一个与学号相同的密码

Insert

学生表

passwd_trigger_jiaoshi

当插入一个教师信息时,自动给该教师赋一个与教师编号相同的密码

insert

教师表

numadd_trigger_xuanke

当学生选择课程时,自动给该课程的人数加1

insert

学生选课表

numjianshao_trigger_xuanke

当学生退选课程时,自动给该课程的人数减1

delete

学生选课表

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 自然景观

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1