课程设计报告课程设计名称:系部:学生姓名:班级:学号:成绩:指导教师:开课时间:学年学期一、设计题目:在线问卷调查系统二、主要内容组织者负责调查信息输入,包括问题序号、具体问题以及选择项的输入。组织者能查看调查情况,能够查看所有的调查信息,能够查看指定问题序号的问题调查统计信息。被调查者用给定随机号(不用实名)进入系统,能够查看调查问题并进行答。若问题较多(如需调查150个问题),在线参与调查人员较多(如500个并发用户),则在数据库的选择及设计上应作哪些具体策略保证在线调查能顺利进行。三、具体要求1.课程设计的内容独立自主完成,课程设计报告内容完整、格式规范、排版整洁美观;2.后台数据库采用MSSQLSERVER2005,前台界面语言不限,编写的程序代码,须有较详细的注释说明;四、进度安排课程设计安排:16周星期一讲解课程设计的内容,安排每一天的具体任务,分配并熟悉题目;星期二需求分析:给出系统的功能需求、性能需求,并绘制DFD和DD;星期三概念结构设计:绘制实体属性图(可选),局部ER图和全局ER图;星期四逻辑结构设计:转换、优化、外模式的设计;星期五物理结构设计及数据库实施;17周星期一应用程序编制调试、整理课程设计报告,并检查;星期二根据反馈结果修改课程设计;星期三提交作业上交的材料:课程设计的电子稿、打印稿、源码(SQL代码和程序代码)五、成绩评定考核方法:现场验收(占50%),课程设计报告(占50%)。考核内容:学习态度(出勤情况,平时表现等)、方案合理性、各阶段的图表与程序编制质量、设计报告质量。成绩评定:优,良,中,及格,不及格。特别说明:(1)如发现抄袭,按照不及格处理。(2)材料不齐的,考核等级降一级。电子稿件以压缩文件的形式上交,压缩命名为:11位学号+姓名1、需求分析1.1本系统的设计的主要功能创建问卷、修改问卷、查看问卷、查看调查用户信息,查看调查结果等。组织者负责调查信息输入,包括问题序号、具体问题以及选择项的输入,并且能查看调查情况,能够查看所有的调查信息,能够查看指定问题序号的问题调查统计信息。被调查者用给定随机号(不用实名)进入系统,能够查看调查问题并进行回答。考虑到调查问题较多,在线参与调查人员较多,则考虑将问卷分为几份,被调查者随机回答一份问卷。图1.1详细描述了该系统的数据流图。图1.1在线问卷调查系统数据流图题库统计信息信息星组织者输入修改问题查看结果创建用户信息库问卷被调查者做题随机号登入1.2数据字典1.2.1数据项数据项名数据项含义说明数据类型数据长度zzzbh组织者编号char20zzzxm组织者姓名char8zzzxb组织者性别char8zzznl组织者年龄intzzzbz组织者备注char100tmnr题目内容char100tmxx题目选项char40tmth题目题号char8bdczbh被调查者编号char20bdczxb被调查者性别char8bdcznl被调查者年龄intbdczxm被调查者姓名char8wjxh问卷序号char8wjbt问卷标题char81.2.2数据结构数据结构名含义说明组成zzzxx组织者信息zzzbh,zzzxm,zzzxb,zzznl,zzzbztm题目tmxh,tmnr,tmxx,tmthwj问卷wjxh,wjbtbdczxx被调查者信息bdczbh,bdczxb,bdcznl,bdczxm1.2.3数据流数据流名含义说明数据流来源数据流去向随机号登入用随机号登入被调查者做题1.2.4数据存储数据存储名输入数据流组成统计信息被调查者所完成问题答案题号、被调查者编号、答案题库所有待调查问题题目题号、内容、选项信息库用户信息被调查者编号、姓名、性别、年龄1.2.5数据处理数据处理名输入输出处理输入修改问题组织者题库输入修改所需被调查问题查看结果组织者统计信息查看调查问题结果创建用户组织者信息库创建随机号,录入被调查者信息做题被调查者问卷回答问卷2、概念结构设计根据在线问卷调查系统的基本关系,分别找出实体:被调查者,问卷,题目,并且确定他们之间的联系以及他们各自的属性。建出如图2.1所示的E-R图。图2.1E-R图mn问卷组成做题题目内容选项题号编号性别被调查者年龄姓名问卷问卷序号标题nm答案回答结果mn3、逻辑结构设计3.1将上面的E-R图转换为相应的关系模型被调查者信息(编号,姓名,性别,年龄)主码:编号题目(题号,内容,选项)主码:题号问卷(问卷序号,标题)主码:问卷序号问卷组成(问卷序号,题号)主码:问卷序号+题号外码:问卷序号,题号做题(被调查者编号,问卷序号)主码:被调查者编号+问卷序号外码:被调查者编号,问卷序号回答结果(题号,答案,被调查者编号)主码:题号+答案+被调查者编号外码:题号,被调查者编号3.2对数据模型进行优化根据题目要求判断出被调查者信息表为BCNF,问卷表为BCNF,题目表为BCNF,问卷组成表为BCNF,做题表为BCNF,回答结果表为BCNF。4、物理结构设计4.1物理结构设计主要是建立索引。通过索引来提高数据查询性能。索引虽然可以提高数据查询性能,但同时也会降低数据修改性能。考虑到问卷序号,题号,被调查者编号经常被作为表的连接条件,考虑在这些属性上建立索引。4.2根据本系统的要求,该在线问卷调查系统需要建立多个查询过程。在查询被调查者回答结果时,组织者需要输入查询的内容,所以要建立变量将值放入变量中然后建立存储过程进行查询。在被调查者查看问卷时也是建立存储结构进行查看问卷,因此在本系统中要建立多个存储结构才能实现必要的功能实现。被调查者登陆系统的时候,被调查者要输入登入编号。组织者登入时也需输入信息,登陆后可以进行查询所有调查信息,所以需分别授予相应权限给组织者和被调查者。5、数据库实施及应用程序编制用MSSQLSERVER2005建立数据库结构,此数据库我取名为:dbs206,加载(测试/虚拟)数据,能体现对数据库的保护(安全性和完整性控制等)。实现各种查询、链接应用程序并能对数据库做简单的维护操作。建立数据库createdatabasedbs206建立被调查者信息表createtablebdczxx(bdczbhchar(20),bdczxmchar(8),bdczxbchar(8),bdcznlint,primarykey(bdczbh))建立组织者信息表createtablezzzxx(zzzbhchar(20),zzzxmchar(8),zzzxbchar(8),zzznlint,zzzbzchar(100)primarykey(zzzbh))建立问卷表createtablewj(wjxhchar(8)primarykey,wjbtchar(8))建立题目表createtabletm(tmthchar(8),tmxxchar(40),tmnrchar(100),primarykey(tmth))建立问卷组成表createtablewjzc(wjxhchar(8),tmthchar(8),primarykey(wjxh,tmth))建立做题表createtablezt(wjxhchar(8),bdczbhchar(20),primarykey(wjxh,bdczbh))建立回答结果表createtablehdjg(bdczbhchar(20),tmthchar(8),dachar(100))为wj表中的wjxh建立索引createindexwj_indonwj(wjxh)为tm表中的tmth建立索引createindextm_indontm(tmth)为bdczxx表中的bdczbh建立索引createindexbdczxx_indonbdczxx(bdczbh)组织者输入组织者信息createproceduresrzzzxx@zzzbhchar(20),@zzzxmchar(8),@zzzxbchar(8),@zzznlint,@zzzbzchar(100)asinsertintozzzxx(zzzbh,zzzxm,zzzxb,zzznl,zzzbz)values(@zzzbh,@zzzxm,@zzzxb,@zzznl,@zzzbz)建立存储过程zzzdenglu,当组织者登陆时,根据组织者登陆编号,进入系统。createprocedurezzzdenglu@zzzbhchar(20),@zzzxmchar(8)asselect@zzzbh=zzzbhfromzzzxxwherezzzxm=@zzzxm组织者输入题目createproceduresrtm@tmthchar(8),@tmxxchar(40),@tmnrchar(100)asinsertintotm(tmth,tmxx,tmnr)values(@tmth,@tmxx,@tmnr)组织者输入问卷信息createproceduresrwj@wjxhchar(8),@wjbtchar(8)asinsertintowj(wjxh,wjbt)values(@wjxh,@wjbt)组织者创建用户信息createprocedurecjyhxx@bdczbhchar(20),@bdczxmchar(8),@bdczxbchar(8),@bdcznlintasinsertintobdczxx(bdczbh,bdczxm,bdczxb,bdcznl)values(@bdczbh,@bdczxm,@bdczxb,@bdcznl)建立存储过程bdczdenglu,当被调查者登陆时,根据编号,年龄,性别在被调查者信息表中查找该用户,如果该用户存在,进入系统。createprocedurebdczdenglu@bdczbhchar(20),@bdczxmchar(8),@bdcznlint,@bdczxbchar(8)asselect@bdczbh=bdczbhfrombdczxxwherebdczxm=@bdczxmandbdczxb=@bdczxbandbdcznl=@bdcznl被调查者查看问卷createviewckwjasselecttm.tmth,tmnr,tmxxfromwjzcjointmonwjzc.tmth=tm.tmthjoinwjonwjzc.wjxh=wj.wjxhwherewj.wjxh='wjxh'被调查者答卷结果createproceduredjjg@bdczbhchar(20),@tmthchar(8),@dachar(100)asinsertintohdjg(bdczbh,tmth,da)values(@bdczbh,@da,@tmth)组织者查看被调查者信息createprocedureckbdczxx@bdczbhchar(20)asselectbdczxm,bdczxb,bdcznlfrombdczxxwherebdczbh='@bdczbh'组织者查看题目信息createprocedurecktmxx@tmthchar(8)asselecttmxx,tmnrfromtmwheretmth=@tmth组织者查看调查问题结果createprocedureckdcwtjg@tmthchar(8)asselectbdczbh,dafromhdjgwheretmth=@tmth授予权限createloginzzzxmwithpassword='password'createuserzzzxmforloginzzzxmgrantselect,insert,updateontmtozzzxmgrantselect,insert,updateonwjtozzzxmgrantselect,insert,updateonzzzxxtozzzxmgrantselect,insert,updateonwjzctozzzxmgrantselect,insert,updateonbdczxxtozzzxmgrantselectonzttozzzxmgrantselectonhdjgtozzzxmcreateloginbdczb