1、在线考试系统doc在线考试系统一、 开发背景(现有技术、手段、方法的不足,新技术的优越性,带来的效益和价值) 传统考试手段的落后性 在线考试系统的先进性二、 需求分析功能分析: 系统管理员登陆 系统管理员可对考试内容、考试专业、考试科目、考试题目进行管理(后台) 学生登录 学生可进行注册 学生通过密码问题、答案可进行密码找回 学生登陆后,可进行选题,答题,系统自动统分(前台)数据分析: 由系统管理员管理该系统。相关专业的学生可以注册答题。一个专业下有多门课程,一门课程下有多套题,一套题下有多个试题。管理员(管理员编号、管理员姓名、管理员密码、注册时间)专业(专业号、专业名、加入时间)课程(课程
2、号、课程名称、课程所属专业、加入时间)套题:(套题号、套题名称、套题所属课程、加入时间)试题(试题号、试题内容、试题类型、试题所属课程、试题所属专业、选项A、选项B、选项C、选项D、试题答案、试题所属套题、注释、加入时间)学生(学生号、学生姓名、学生密码、学生性别、注册问题、注册问题答案、学生专业、注册IP地址、加入时间)学生成绩(成绩号、学生号、课程名、套题号、套题名、单选成绩、多选成绩、总成绩、获得成绩时间)三、 系统设计1. 系统目标 操作简单、界面美观 系统提供到时自动交卷功能 系统提供考试时间倒计时功能 交卷后,系统自动阅卷评分功能 考生结束考试后查看成绩功能 考生注册信息管理功能2
3、. 系统流程图3. 系统功能结构框图4. 构建开发环境 网站开发环境:开发环境:VS2005集成开发环境开发语言:ASP.NET+C#后台数据库:SQL Server2005开发环境运行平台:Windows XP 服务器端:操作系统:Windows Server 2003Web服务器:IIS服务器数据库服务器:SQL Server2005浏览器:IE8.0网站服务器运行环境:.NET Framework SDK 2.0 客户端浏览器:IE8.0分辨率:1024*7685. 数据库设计数据库设计概要说明:需求分析、概念设计、逻辑设计、物理设计、数据库实施、运行与维护。 由需求分析得到的数据库系统
4、数据语义(简化):由系统管理员管理该系统。任何专业的学生都可以注册答题。一个专业下有多门课程,一门课程下有多套题,一套题下有多个试题。 数据库概念设计:实体及联系:管理员(管理员编号、管理员姓名、管理员密码、注册时间)约束:注册时间=getdate()专业(专业号、专业名、加入时间)约束:加入时间= getdate()课程(课程号、课程名称、课程所属专业、加入时间)约束:加入时间= getdate()专业-课程关系:1:N,级联删除、级联修改套题:(套题号、套题名称、套题所属课程、加入时间)约束:加入时间= getdate()课程-套题关系:1:N,级联删除、级联修改试题(试题号、试题内容、试
5、题类型、试题所属课程、试题所属专业、选项A、选项B、选项C、选项D、试题答案、试题所属套题、注释、加入时间)约束:加入时间= getdate()套题-试题关系:1:N,级联删除、级联修改课程-试题关系:1:N,受限删除 专业-试题关系:1:N,受限删除学生(学生号、学生姓名、学生密码、学生性别、注册问题、注册问题答案、学生专业、注册IP地址、加入时间)约束:加入时间= getdate()专业-学生关系:1:N,级联删除、级联修改学生成绩(成绩号、学生号、课程名、套题号、套题名、单选成绩、多选成绩、总成绩、获得成绩时间)约束:获得成绩时间= getdate()学生-学生成绩关系:1:N,级联删除
6、、级联修改总成绩=单选成绩+多选成绩课程名、套题号、套题名的数据完整性由客户端程序进行保证在线考试实体关系图: 数据库逻辑设计:管理员信息表-tb_Administrator字段名称数据类型长度是否主键是否外键默认值允许空有效值字段描述Idint是否否管理员唯一标识Namevarchar50否否否管理员名称Pwdvarchar50否否否管理员密码JointimeDatetime否否Getdate()是加入时间考生专业信息表-tb_Profession字段名称数据类型长度是否主键是否外键默认值允许空有效值字段描述Idint是否否专业唯一标识Namevarchar200否否否有专业名称Jointi
7、meDatetime否否Getdate()是加入时间专业名称有效值 in(地理信息系统,土地资源管理,环境工程,环境科学,岩土工程,水文水资源工程,勘查技术与资源)课程信息表-tb_Lesson字段名称数据类型长度是否主键是否外键默认值允许空有效值字段描述IdInt是否否课程唯一标识NameVarchar60否否是有课程名称JointimeDatetime否否Getdate()是加入时间ofProfessionInt否是是所属专业编号课程名称 in(地理信息系统原理,地图学,遥感原理与应用,数据库原理)套题信息表-tb_Taoti字段名称数据类型长度是否主键是否外键默认值允许空有效值字段描述I
8、dInt是否否套题唯一标识NameVarchar50否否是套题名称JointimeDatetime否否Getdate()是加入时间LessonIDInt否是是所属课程号考试试题信息表-tb_Question字段名称数据类型长度是否主键是否外键默认值允许空有效值字段描述IdInt是否否试题唯一标识Que_subjectVarchar50否否是试题内容Que_typeVarchar10否否是有试题类型Que_professionidInt否是是所属专业号Que_lessonidInt否是是所属课程号Que_taotiidInt否是是所属套题号OptionAVarchar50否否是选项AOption
9、BVarchar50否否是选项BOptionCVarchar50否否是选项COptionDVarchar50否否是选项DQue_answerVarchar10否否是试题答案NoteVarchar10否否是注释Que_jointimeDatetime否否Getdate()是试题加入时间试题类型 in(单选,多选,判断)考生注册信息表-tb_Student字段名称数据类型长度是否主键是否外键默认值允许空有效值字段描述IdVarchar50是否否学生证号NameVarchar20否否是学生姓名PwdVarchar20否否是学生密码SexVarchar2否否是学生性别QuestionVarchar50
10、否否“求学的地方”是注册问题AnswerVarchar50否否“蔡家关”是注册问题答案ProfessionInt否是是所学专业号IpAddressVarchar30否否是注册的IP地址jointimeDatetime否否Getdate()是学生注册时间考生成绩信息表-tb_StuResult字段名称数据类型长度是否主键是否外键默认值允许空有效值字段描述Res_Idint是否否学生成绩号Stu_idvarchar50否是是学生号Which_lessonvarchar50否否是课程名称Taotiidint2否否是套题号Taotinamevarchar50否否是套题名称Res_singleint否否
11、是单选成绩Res_moreInt否否是多选成绩Res_totalInt否否是有总成绩(Res_single+ Res_more)Res_subdateDatetime否否Getdate()是成绩提交时间数据库的外模式:考虑设计视图 数据库物理设计(提高时间效率和空间效率)设计索引 设计分区及聚簇 数据库实施创建数据库创建表创建完整性约束创建索引创建存储过程和触发器创建函数创建视图创建登录数据库服务器用户、授权USE masterGOif exists (select * from sysdatabases where name=db_Exam) drop database db_ExamgoD
12、ECLARE device_directory NVARCHAR(520)SELECT device_directory = D:EXECUTE (NCREATE DATABASE db_Exam ON PRIMARY (NAME = Ndb_Exam, FILENAME = N + device_directory + Ndb_Exam.mdf) LOG ON (NAME = Ndb_Exam_log, FILENAME = N + device_directory + Ndb_Exam.ldf)go-use db_ExamgoCREATE DEFAULT Question AS 求学的地方
13、goCREATE DEFAULT answer AS 蔡家关goCREATE RULE ProName AS col IN (地理信息系统, 土地资源管理, 岩土工程, 水文水资源, 环境工程, 环境科学, 勘查技术与资源)goCREATE RULE Lesson AS col IN (地理信息系统原理, 地图学, 遥感原理与应用, 数据库原理)goCREATE RULE type AS col IN (单选, 多选, 判断)goCREATE RULE Score AS col BETWEEN 0 AND 100Go-CREATE TABLE tb_Administrator( ID bigi
14、nt IDENTITY (1,1) , Name varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL , PWD varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL , JoinTime datetime NULL CONSTRAINT DF_tb_Administrator_JoinTime DEFAULT getdate()goALTER TABLE tb_Administrator ADD CONSTRAINT PK_tb_Administrator PRIMARY KEY CLUSTERED (ID A
15、SC)-goCREATE TABLE tb_Lesson( ID bigint IDENTITY (1,1) , Name varchar(60) COLLATE Chinese_PRC_CI_AS NULL , ofProfession bigint NULL , JoinTime datetime NULL CONSTRAINT DF_tb_Lesson_JoinTime DEFAULT getdate()goALTER TABLE tb_Lesson ADD CONSTRAINT PK_tb_Lesson PRIMARY KEY CLUSTERED (ID ASC)goCREATE TA
16、BLE tb_Profession( ID bigint IDENTITY (1,1) , Name varchar(200) COLLATE Chinese_PRC_CI_AS NULL , JoinTime datetime NULL CONSTRAINT DF_tb_Profession_JoinTime DEFAULT getdate()goALTER TABLE tb_Profession ADD CONSTRAINT PK_tb_Profession PRIMARY KEY CLUSTERED (ID ASC)goCREATE TABLE tb_Questions( id bigi
17、nt IDENTITY (1,1) , que_subject varchar(50) COLLATE Chinese_PRC_CI_AS NULL , que_type char(10) COLLATE Chinese_PRC_CI_AS NULL , que_joindate datetime NULL CONSTRAINT DF_tb_Questions_que_joindate DEFAULT getdate(), optionA varchar(50) COLLATE Chinese_PRC_CI_AS NULL , optionB varchar(50) COLLATE Chine
18、se_PRC_CI_AS NULL , optionC varchar(50) COLLATE Chinese_PRC_CI_AS NULL , optionD varchar(50) COLLATE Chinese_PRC_CI_AS NULL , que_answer char(10) COLLATE Chinese_PRC_CI_AS NULL , note varchar(50) COLLATE Chinese_PRC_CI_AS NULL , Que_TaotiID bigint NULL , Que_LessonID bigint NULL , Que_ProfessionID b
19、igint NULL )goALTER TABLE tb_Questions ADD CONSTRAINT PK_tb_Questions PRIMARY KEY CLUSTERED (id ASC)goCREATE TABLE tb_Student( ID varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL , Name varchar(20) COLLATE Chinese_PRC_CI_AS NULL , PWD varchar(20) COLLATE Chinese_PRC_CI_AS NULL , Sex varchar(2) COLLATE
20、 Chinese_PRC_CI_AS NULL , JoinTime datetime NULL CONSTRAINT DF_tb_student_JoinTime DEFAULT getdate(), question varchar(50) COLLATE Chinese_PRC_CI_AS NULL , answer varchar(50) COLLATE Chinese_PRC_CI_AS NULL , profession bigint NULL , IPAddress char(30) COLLATE Chinese_PRC_CI_AS NULL )goALTER TABLE tb
21、_Student ADD CONSTRAINT PK_tb_Student PRIMARY KEY CLUSTERED (ID ASC)goexec sp_bindefault Question, tb_Student.questiongoexec sp_bindefault answer, tb_Student.answergoCREATE TABLE tb_StuResult( res_id bigint IDENTITY (1,1) , which_lesson varchar(50) COLLATE Chinese_PRC_CI_AS NULL , taotiid bigint NUL
22、L , taotiname varchar(50) COLLATE Chinese_PRC_CI_AS NULL , res_single int NULL , res_more int NULL , res_total AS (res_single + res_more) , res_subdate datetime NULL CONSTRAINT DF_tb_StuResult_res_subdate DEFAULT getdate(), Stu_ID varchar(50) NULL )goALTER TABLE tb_StuResult ADD CONSTRAINT PK_tb_Stu
23、Result PRIMARY KEY CLUSTERED (res_id ASC)goCREATE TABLE tb_TaoTi( ID bigint IDENTITY (1,1) , Name varchar(50) COLLATE Chinese_PRC_CI_AS NULL , JoinTime datetime NULL CONSTRAINT DF_tb_TaoTi_JoinTime DEFAULT getdate(), LessonID bigint NULL )goALTER TABLE tb_TaoTi ADD CONSTRAINT PK_tb_TaoTi PRIMARY KEY
24、 CLUSTERED (ID ASC)go-ALTER TABLE tb_Lesson ADD CONSTRAINT R_9 FOREIGN KEY (ofProfession) REFERENCES tb_Profession(ID) ON DELETE CASCADE ON UPDATE CASCADEgoALTER TABLE tb_Questions ADD CONSTRAINT R_21 FOREIGN KEY (Que_TaotiID) REFERENCES tb_TaoTi(ID) ON DELETE CASCADE ON UPDATE CASCADEgoALTER TABLE
25、tb_Questions ADD CONSTRAINT R_23 FOREIGN KEY (Que_LessonID) REFERENCES tb_Lesson(ID) ON DELETE CASCADE ON UPDATE CASCADEgoALTER TABLE tb_Questions ADD CONSTRAINT R_24 FOREIGN KEY (Que_ProfessionID) REFERENCES tb_Profession(ID) ON DELETE NO ACTION ON UPDATE NO ACTIONgoALTER TABLE tb_Student ADD CONST
26、RAINT R_25 FOREIGN KEY (profession) REFERENCES tb_Profession(ID) ON DELETE CASCADE ON UPDATE CASCADEgoALTER TABLE tb_StuResult ADD CONSTRAINT R_22 FOREIGN KEY (Stu_ID) REFERENCES tb_Student(ID) ON DELETE CASCADE ON UPDATE CASCADEgoALTER TABLE tb_TaoTi ADD CONSTRAINT R_16 FOREIGN KEY (LessonID) REFERENCES tb_Lesson(ID) ON DELETE NO ACTION ON UPDATE NO ACTIONgoexec sp_bindrule Less
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1