-
课 程 设 计 报 告
学院、系:
计算机科学与技术系
专业名称:
2010 计算机科学与技术
课程设计科目:
数据库原理与应用
题目:
课程选题系统
04100208 彭兆生
学号、姓名:
04100214 陈俊任
指导教师:
完成时间:
04100229 郑逸湫
李昱
2012 年 9 月--10 月
目 录
1. 开发背景 ....................................................................................................................................... 3
2. 功能描述 ....................................................................................................................................... 3
3. 业务流程分析 ............................................................................................................................... 4
4. 数据流程分析 ............................................................................................................................... 5
4.1、数据流程图 ....................................................................................................................... 5
4.2、数据字典........................................................................................................................... 5
5. 概念模型设计 ............................................................................................................................... 7
6. 逻辑模型设计和优化................................................................................................................... 7
7. 物理设计和实施........................................................................................................................... 8
8. 应用程序设计(前台) ............................................................................................................. 12
9. 课程设计心得体会 ..................................................................................................................... 15
1. 开发背景
目前,运用先进的管理信息系统及软件开发平台,对信息进行科学化和网络
化管理,己经成为高校信息系统的发展趋势。课程课题管理系统使学生生在课程
设计选题的整个过程中以及教师对课程设计课题管理的过程中实现了系统化,规
范化,无纸化。本系统是基于 B/S 架构,以 Asp.net、C#为框架,SQL Server 2000
为数据库开发的系统。用来提高选题管理工作的效率。
2. 功能描述
本系统由 3 个功能模块组成,分别是学生功能模块、教师功能模块、管理员
功能模块。
学生功能:
学生可以在任何能够连接 Internet 的计算机登录到毕业论文选题系统
中。
学生可以在选题功能模块中浏览到自己心仪的题目并且选择该题目,之
后等待出题老师录取。每个学生只能选择一条题目。
在老师没有录取之前学生能退掉自己已经选择的题目并且从新选择。
学生能修改自己注册时的个人信息,方便信息更新准确。
教师功能:
教师可以在任何能够连接 Internet 的计算机登录到毕业论文选题系统
中。
教师可以查询到已经选择了自己建立的题目的学生,并且有权利根据学
生具体情况决定是否录取还是退选。
教师可以建立新题目供学生选择。
教师可以修改自己已经建立的题目信息,确保信息的准确性。
教师可以修改自己的注册资料,确保个人信息的准确性。
管理员功能:
管理员可以在任何能够连接 Internet 的计算机登录到毕业论文选题系
统中。
管理员可以查看、修改和删除系统内的所有学生个人信息,教师个人信
息,所有题目的信息。
管理员可以通过可选题目的查询,待录取题目的查询和已录取题目的查
询了解整个毕业论文的总体工作进展情况。
3. 业务流程分析
个人信息维护
查询课题信
息
密码修改
确认指导学生
学生
选题与退选
课题申报
教师
课题修改
选题情况
查询与统计
用户管理
管理员
4. 数据流程分析
4.1、数据流程图
管理员
学生
学生操作
返回信息
课程设计
选题系统
教师操作
返回信息
教师
题库文件
4.2、数据字典
(1)数据流的描述
数据流编号: 学号
数据流名称: 登陆选题
简述:学生任意选择一道课程设计题目。
数据流来源:学生
数据流去向:教师
数据流组成:学生 ID+姓名+课题 ID+教师名
·······
数据流编号: 学号
数据流名称:重复选题
简述:一个人只能选择一题,多选无效。
数据流来源:选题题库
数据流去向:学生
数据流组成:学生 ID+课题 ID
·······
(2)处理逻辑的描述
处理逻辑编号:teacher
处理逻辑名称:跟进学生选题
简述:判断学生选题的有效性
输入的数据流:录取信息
处理描述: 根据学生选择的课题,验证学生信息,若某一课题超过 2 人选
择则优先选择前 2 人。
输出的数据流:学生已选课题信息、学生选题无效信息
......
(3)数据存储的描述
数据存储编号:学号
数据存储名称:学生信息
简述:学生的基本信息
数据存储组成:学号+姓名+电子邮件+性别+入学年份+出生日期+专业
关键字:学号
相关联的处理:选课系统
数据存储编号:课题号
数据存储名称:课题选择信息
简述:学生选择的课题信息
数据存储组成:课题号+课题名+教师名+学生学号+选择日期+选择次数
关键字:课题学生,教师,题库
......
(4)外部实体的描述
外部实体编号:课题号
外部实体名称:学生
简
输入的数据流:题库文件,教师
输出的数据流:学生
......
述:学生选择的课题
5. 概念模型设计
学号
姓名
题目名
题目 ID
timuID
N
1
选择
学生
查看
1
1
N
1
选题汇总
查询
题库
管理
教师
题目 ID
学号
教工号
姓名
6. 逻辑模型设计和优化
根据系统的总体概念设计模型、E-R 图向关系模式的转化规则和数据库的范式理论,
得到系统优化后的逻辑模型,如表 1~表 5 所示。
表 1 学生信息表(Student)
表 2 教师信息表(Teacher)
表 3 课题信息表(Thesis)
表 4 管理员信息表(Login)
表 5 跟进信息表(follow)
表 6 预选题信息表(PreThesis)
7. 物理设计和实施
得到系统逻辑模型后,就该进行数据库的物理设计和实施数据库了,物理设计主要是要
确定数据库的存储路径、存储结构以及如何建立索引等,可以采用系统的默认设置。数据库
实施主要包括在具体的 DBMS 中创建数据库和表的过程,本次课程设计所选用的 DBMS 为
SQL SERVER2000,有关创建数据库和关系表的 SQL 语句如下所示:
/*==============================================================*/
/*创建数据库,数据库名称为 ThesisSelectSystem */
/*==============================================================*/
-- 创建数据库
use master
go
create database ThesisSelectSystem on primary
(
name=ThesisSelectSystem,
filename='D:\Thesis\DB\ThesisSelectSystem',
siz=3MB,
filegrowth=10%
)
go
/*==============================================================*/
/* Table: Login, 登录信息表 */
/*==============================================================*/
create table Login
(
loginID varchar(20) primary key,
password nvarchar(128) not null,
salt nvarchar(40) not null,
role nvarchar(20) not null check(role in('Teacher','Student','Admin',)),
( Teacher/Student/Admin)
createTime
smalldatetime default getdate(),
-- 登录 ID
-- 登录密码
-- 盐值
-- 用户类型(角色)
-- 开户日期 默认为当前时间