简单在线调查设计

1.1.1.1 功能
以专题形式向公众开展网上问卷调查，分析调查结果.

1.1.1.2 子模块设计阐述
此模块需要五个实体表来存放管理问卷调查的数据，分别为 试题表、问题表、用户答案表、试题用户关系表 .

1.1.1.2.1 页面与业务逻辑
（略） 为了满足页面上的要求 调查试卷表 需要以下字段：调查试卷名、调查有效期起、调查有效期止、调查活跃标志. （略） 需求说明书上说这个问卷分为两个部分，一、问卷说明部分，二、答题部分. 问卷说明部分应放于 试题表 中的试题描述字段中；一个主题有多套试题. 关于未答题的提示功能应使用前台 JS<span style="font-family: 宋体;">来控制，遍历页面所有试题，查看答题状态. <span style="font-family: 宋体;">需求中“同一IP，24小时内只允许提交一次答卷，重复提交无效”，需要记录用户最后操作答卷的时间，需要建立一个 <span style="color: #ff0000; font-family: 宋体;">试题用户关系表 <span style="font-family: 宋体;">，表中的字段有关系表 ID<span style="font-family: 宋体;">、用户 ID<span style="font-family: 宋体;">、试题 ID<span style="font-family: 宋体;">、最后更新时间. 关系 ID<span style="font-family: 宋体;">用于查找用户答案，用户 ID<span style="font-family: 宋体;">关联答卷用户，试题 ID<span style="font-family: 宋体;">关联试卷，最后更新时间来控制 24<span style="font-family: 宋体;">小时内重复提交无效.
 * <span style="font-family: 宋体;">网上调查主页面： **
 * <span style="font-family: 宋体;">在线调查页面 **

**1.1.1.2.2** **<span style="font-family: 宋体;">调查维护页面 **
<span style="font-family: 宋体;">所需功能： l <span style="font-family: 宋体;">能够对问卷调查进行增加、修改、删除和提交的操作； l <span style="font-family: 宋体;">能够按时间段、内容进行模糊查询； l <span style="font-family: 宋体;">能满足多条记录同时操作.

1.1.1.2.2.1 <span style="font-family: 宋体;">查询功能
<span style="font-family: 宋体;">查询结果按图中方式显示，带选择框，显示调查试卷标题、有效期起、有效期止、数据来自调查试卷表.

1.1.1.2.2.2 <span style="font-family: 宋体;">添加和修改功能
<span style="font-family: 宋体;">点击添加或修改按钮，进入添加或修改页面进行单个调查试卷的维护. 维护的主要内容有： 1<span style="font-family: 宋体;">、调查试卷表的内容，包括标题、时间等； 2<span style="font-family: 宋体;">、从表问题表的内容，问题列表可以根据需要增加、修改和删除. <span style="font-family: 宋体;">问题列表维护需求：点击【添加】可逐条生成问题描述和选项类型，选项类型为下拉可选，类型分别为：单选、多选和输入文本类. 若问题类型为单选或多选，则最多显示 7<span style="font-family: 宋体;">项，可录入选择项具体内容. <span style="font-family: 宋体;">添加页面如下： <span style="font-family: 宋体;">（略）

1.1.1.2.3 <span style="font-family: 宋体;">表结构设计
SURVEY <span style="font-family: 宋体;">调查问卷表 || **<span style="font-family: 宋体;">元素名称 ** QUESTION <span style="font-family: 宋体;">试卷问题表 || **<span style="font-family: 宋体;">元素名称 **
 * **<span style="font-family: 宋体;">实体字段名 ** || **<span style="font-family: 宋体;">数据类型 ** || **<span style="font-family: 宋体;">约束 ** || **<span style="font-family: 宋体;">备注 ** ||
 * <span style="font-family: 宋体; font-size: 12px;">调查问卷 ID || SURVEY_ID || VARCHAR2(32) ||  ||   ||
 * <span style="font-family: 宋体; font-size: 12px;">调查问卷描述 || SURVEY_DESC || VARCHAR(2000) || <span style="font-family: 宋体; font-size: 12px;">必填 ||  ||
 * <span style="font-family: 宋体; font-size: 12px;">调查期起 || SURVEY_DCQQ || DATE || <span style="font-family: 宋体; font-size: 12px;">必填 ||  ||
 * <span style="font-family: 宋体; font-size: 12px;">调查活跃标志 || SURVEY_STATUS || CHAR(1) || <span style="font-family: 宋体; font-size: 12px;">必填 ||  ||
 * <span style="font-family: 宋体; font-size: 12px;">调查期止 || SURVEY_DCQZ || DATE || <span style="font-family: 宋体; font-size: 12px;">必填 ||  ||
 * **<span style="font-family: 宋体;">实体字段名 ** || **<span style="font-family: 宋体;">数据类型 ** || **<span style="font-family: 宋体;">约束 ** || **<span style="font-family: 宋体;">备注 ** ||
 * <span style="font-family: 宋体; font-size: 12px;">问题 ID || QUESTION_ID || VARCHAR2(32) ||  ||   ||
 * <span style="font-family: 宋体; font-size: 12px;">问题描述 || QUESTION_DESC || VARCHAR(2000) || <span style="font-family: 宋体; font-size: 12px;">必填 ||  ||
 * <span style="font-family: 宋体; font-size: 12px;">问题标题 || QUESTION_TITLE || VARCHAR(512) || <span style="font-family: 宋体; font-size: 12px;">必填 ||  ||
 * <span style="font-family: 宋体; font-size: 12px;">问题类型 || SURVEY_STATUS || CHAR(1) || <span style="font-family: 宋体; font-size: 12px;">必填 || <span style="font-family: 宋体; font-size: 12px;">单选、多选和输入文本类 ||

OPTION <span style="font-family: 宋体;">问题选项表 || **<span style="font-family: 宋体;">元素名称 **
 * **<span style="font-family: 宋体;">实体字段名 ** || **<span style="font-family: 宋体;">数据类型 ** || **<span style="font-family: 宋体;">约束 ** || **<span style="font-family: 宋体;">备注 ** ||
 * <span style="font-family: 宋体; font-size: 12px;">问题 ID || QUESTION_ID || VARCHAR2(32) ||  ||<   ||
 * <span style="font-family: 宋体; font-size: 12px;">选项 ID || OPTION_ID || VARCHAR2(32) || <span style="font-family: 宋体; font-size: 12px;">必填 ||<  ||
 * <span style="font-family: 宋体; font-size: 12px;">选项内容 || OPTION_CONTENT || VARCHAR(512) || <span style="font-family: 宋体; font-size: 12px;">必填 ||<  ||

ANSWER <span style="font-family: 宋体;">答案表 || **<span style="font-family: 宋体;">元素名称 **
 * **<span style="font-family: 宋体;">实体字段名 ** || **<span style="font-family: 宋体;">数据类型 ** || **<span style="font-family: 宋体;">约束 ** || **<span style="font-family: 宋体;">备注 ** ||
 * <span style="font-family: 宋体; font-size: 12px;">用户 ID || USER_ID || VARCHAR2(32) ||  ||   ||
 * <span style="font-family: 宋体; font-size: 12px;">用户 IP || USER_IP || VARCHAR2(32) || <span style="font-family: 宋体; font-size: 12px;">必填 ||  ||
 * <span style="font-family: 宋体; font-size: 12px;">问题 ID || QUESTION_ID || VARCHAR2(32) || <span style="font-family: 宋体; font-size: 12px;">必填 ||  ||
 * <span style="font-family: 宋体; font-size: 12px;">调查问卷意见 || OPINION || VARCHAR2(1000) || <span style="font-family: 宋体; font-size: 12px;">非必填 ||  ||
 * <span style="font-family: 宋体; font-size: 12px;">答案内容 || ANSWER_CONTENT || VARCHAR(32) || <span style="font-family: 宋体; font-size: 12px;">必填 ||  ||

1.1.1.3 <span style="font-family: 宋体;">页面与流程设计
<span style="font-family: 宋体;">在线调查栏目设计： <span style="font-family: 宋体;">本栏目有两个列表，正在进行的调查问卷和以往的调查问卷，根据调查活跃标志区分. <span style="font-family: 宋体;">调查问卷功能页面，本页面有查询、增加、修改和删除功能. 查询条件包括调查期起、调查期止、调查问卷标题模糊查询，模糊查询使用 SQLMAP<span style="font-family: 宋体;">的 like<span style="font-family: 宋体;">语句控制. 调查问卷的添加，一个调查问卷包含问卷基本属性信息和从表试题信息，属性信息包括调查期起、调查期止、调查问卷标题和调查活跃标志等用户输入项；从表信息包括问卷的试题列表，每个元素就是一个问题，试题包括问题名、问题选项和问题类型，根据问题类型选择问题的答案是单选、多选还是文本类型. 默认是单选题，每道题至多有 7<span style="font-family: 宋体;">个选项，分别为 A<span style="font-family: 宋体;">、 B<span style="font-family: 宋体;">、 C<span style="font-family: 宋体;">、 D<span style="font-family: 宋体;">、 E<span style="font-family: 宋体;">、 F<span style="font-family: 宋体;">、 G<span style="font-family: 宋体;">；多选题也是限制 7<span style="font-family: 宋体;">个选项；文本类型的问题只有一个选项，答案的内容存放于答案表的问题内容字段中. <span style="font-family: 宋体; font-size: 16px;">为了填充试题选项内容，需要一个试题选项表OPTION