首页 > 代码库 > 南理工14级第1组概要设计报告

南理工14级第1组概要设计报告

目录

1引言 2

1.1编写目的 2

1.2范围 2

1.3定义 2

1.4参考资料 2

2总体设计3

2.1需求规定 3

2.2运行环境 3

2.3基本设计概念和处理流程 4

2.4结构 9

2.5功能需求与程序的关系 10

2.6人工处理过程 10

2.7尚未解决的问题 10

3接口设计10

3.1用户接口 10

3.2外部接口 10

3.3内部接口 11

4运行设计11

  4.1运行模块组合 11

  4.2运行控制 11

4.3运行时间 11

5系统数据结构设计12

5.1逻辑结构设计要点 12

  5.2物理结构设计要点 16

5.3数据结构与程序的关系 16

6系统出错处理设计16

6.1出错信息 16

  6.2补救措施 17

6.3系统维护设计 18

 

 

 

 

1引言

1.1编写目的

    服务于数据结构课程练习测验系统,管理系统的各个部分,最终用户为南理工14级计算机系学生以及教师和对该门课程感兴趣的普通用户。

 

1.2范围

软件名称:数据结构课程练习测验系统

    数据结构课程练习测验软件系统是根据叶庆生老师在2016年秋季小学期提出的软件课程设计需求开发的,主要开发者由第一小组五位成员共同开发,南理工14级计算机系学生以及教师和对该门课程感兴趣的普通用户。

 

1.3定义

约束:按照特定条件的限制。

重载:函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。

软件接口:电脑等信息机器软件组件间的接口叫软件接口。

硬件接口:电脑等信息机器硬件组件间的接口叫硬件接口。

    CPU: Central Processing Unit

 

1.4参考资料

[1] 刘前进,王蒙,张宏林,等.Delphi数据库编程技术[M].北京:人民邮电出版社,1999.

[2] R.J.Torres.用户界面设计与开发精解[M].北京:清华大学出版社,2002.

[3] Stephen R.Schach.软件工程:面向对象和传统的方法[M].北京:机械工业出版社,2011.

[4]陈启安.软件人机界面设计[M].北京:高等教育出版社,2004.

[5]张海藩,牟永敏.软件工程导论[M].北京:清华大学出版社,2010.

[6]闪四清.SQL Server 2005 基础教程[M].北京:清华大学出版社,2007.

[7]严悍,刘冬梅,赵学龙.UML2软件建模:概念、规范与方法[M].北京:国防工业出版社,2009.

 

 

 

2总体设计

2.1需求规定

本系统分为三大功能块:学生及一般用户功能块、教师功能块、管理员功能块(见图3.5 分模块功能图

 

三大功能块共有功能有:

(1)登录:输入账号信息登录系统进行相关操作。

(2)修改密码:用户登录系统后,可自行修改密码。密码一经修改立即生效,用户此时会被提示重新登录本系统。

(3)查看个人信息:学生、教师、以及管理员都可以查看个人信息。对于学生,个人信息包括班号、学号、姓名、性别、邮箱、历史得分;对于教师,个人信息包括工号、姓名、性别、邮箱;对于管理员,个人信息包括姓名、性别、邮箱;

(4)测试:用户登录系统后,同时选择难度和题型后,系统会根据用户的要求给出相应的试题,用户测试完毕提交,系统会给出相应的得分;或者直接进行套题测试。

(5)修改个人信息

 

教师块专有功能:

(1)查看学生成绩:教师查看学生成绩分为分班查看和搜索查看。分班查看是指根据学生注册时填写的班号进行选择查看,搜索查看是指教师根据学生学号进行搜索。成绩结果为最近一次考核成绩。

(2)更新题库

    (3)注册:通过注册教师账号,登录本系统,进行相应的操作。未登录而进入主页面操作时,系统会提示用户进行登录/注册。

 

 

管理员块专有功能:

(1)查看用户信息:输入用户名即可查询到相关用户信息。用户信息包括:姓名、工号(学号)、身份、性别、邮箱

(2)管理用户:指当管理员发现用户有非法操作或者信息不健康时可选择删除用户或者修改用户信息。

 

    学生及一般用户块专有功能:

1注册:南理工14级计算机系学生通过学号和密码登录本系统,进行相应的操作。其他用户注册相应账号登陆系统

2)完善个人信息:对于南理工14级计算机系学生,使用默认账号及密码登陆系统后,系统会给出提示提醒该生完善个人信息以及及时修改密码。

注:详细需求规定见《需求分析报告》

2.2 运行环境

硬件设备:

            电脑:

                 CPU2.0GHZ以上

                 内存:512MB

                 硬盘:80GB以上

            手机:Android 2.1及以上

操作系统:

        电脑:Windows7Windows8Windows 10Windows XP等系统

            手机:Android 2.1及以上

    数据库:sql server 2008

 

 

2.3基本设计概念和处理流程  

    基本设计概念:本系统面向研究《数据结构》课程的学生和教师以及对该门课程感兴趣的一般用户,意在为学生和一般用户提供一个方便实时测验的平台,同时也方便教师了解学生在该门课程上的学习情况。除基本功能外,教师可根据班级或者直接搜索学号来了解学生的学习情况,管理员负责题库的更新,并能查看每一位用户的资料,管理用户(管理用户是指当管理员发现用户有非法操作或者信息不健康时可选择删除用户或者修改用户信息),掌控该平台的用户信息。

 

 

 

 

 技术分享                          

          技术分享

                                 2.1 前台业务流程(学生,教师,管理员执行操作的流程)

 

                                    技术分享

                           图2.2 用户做题流程图(学生,管理员,教师)

 

 

 

                               技术分享

                                    技术分享

                                             2.3管理员管理用户信息流程图

 

                                             技术分享

                                                   技术分享

 

                                                                              2.4 教师查看成绩流程图

 

2.4结构

1.用户测试模块

NO  

模块名称

功能需求

1

难度选择

让用户可以选择简单,中等,困难三种选项

2

题型选择

让用户可以选择选择题,填空题,简答题和试卷四种选项

3

得分管理

显示用户得分及题目答案

 

2.首页模块

NO.

模块名称

功能需求

1

登录管理

用户使用用户名和密码登录系统

2

注册管理

用户填写用户资料,注册一个新的帐号

 

3.管理员管理用户信息模块

NO

模块名称

功能需求

1

修改用户资料

管理员能够修改用户资料

2

删除用户

管理员能够删除用户

 

4.教师查看学生成绩模块

NO

模块名称

功能需求

1

查询个人成绩

显示特定学生成绩

2

查询班级成绩

显示一个班级里所有学生的成绩

 

 

 

 

 

 

 

2.5功能需求与结构的关系

   

 

首页程序

测试程序

管理信息程序

查询成绩程序

题库程序

登录

 

 

 

 

注册

 

 

 

 

注销

修改密码

 

 

 

 

选择题型

 

 

 

 

选择难度

 

 

 

 

查询个人成绩

 

 

 

 

查询班级成绩

 

 

 

 

删除用户

 

 

 

 

修改用户资料

 

 

 

 

更新题库

 

 

 

 

 

 

2.6 人工处理过程

(1)系统的维护与升级需要开发人员完成

(2)题库需要教师及时更新

 

2.7 尚未解决的问题

(1)如何将试卷简答题答案传送到数据库让老师打分

 

 

3 接口设计

3.1 用户接口

程序是标准的Windows程序,在手机上运行支持Android系统,提供图形化的用户界面。

用户进入登录页面,进行注册或登录,输入用户名和密码,输入争取后方可进入系统。

在进行答题时,必须严格按照要求,只有输入合法的内容才会被系统识别。

3.2 外部接口

3.2.1 硬件环境:32MB以上内存或更高;

   4.2G以上硬盘;

   1.44M软驱;

   USB 3.0。

3.2.2 软件环境:中文Windows7及以上操作系统

   手机系统支持Android 2.1及以上

3.3 内部接口

通过面向对象语言设计类,在public类中实现调用;类间实现严格分装。

内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。

 

 

 

 

4  运行设计

 

4.1 运行模块组合

(1)《数据结构》课程测验系统的所有模块在服务器启动的时候完成加载工作

(2)不同的用户根据权限的不同执行不同的操作。本系统用户分为三种,分别是教师、学生(包括一般用户和南理工14级计算机系学生)和管理员。三者之间有相同的功能,也有专属于某一种用户的功能。

学生模块包含:登录,(注册),修改密码,测试,查看或修改个人信息

教师模块包含:登录、注册、修改密码、测试、查看或修改个人信息、查看学生成绩、更新题库、给特定学生检查简答题

管理员模块包含:登录、修改密码、测试、查看或修改个人信息、查看用户信息、管理用户。

(3)一个完整的操作大致经历三个过程:客户端输入-->数据传输,送到服务器-->服务器对客户端(输入)请求作出响应,并产生响应输出。客户端在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。在接收数据模块得到充分的数据时,将调用网络传输模块,将数据通过网络送到服务器,并等待接收服务器返回的信息。接收到返回信息后随即调用数据输出模块,对信息进行处理,产生相应的输出。服务器程序的接收网络数据模块必须始终处于活动状态。接收到数据后,调用数据处理/查询模块对数据库进行访问,完成后调用网络发送模块,将信息返回客户端。

4.2 运行控制

手机:

  在相关页面通过触屏点击相关按钮进行系列操作;

电脑:

  1)在相关页面通过鼠标点击进行系列操作;

  2)在相关页面通过电脑快捷键进行系列操作;

 

  各模块显示的内容根据登录者的身份不同而有所改变。

 

4.3 运行时间

    鉴于本系统适用于一般数量用户的课程测验,要求系统响应时间小于1秒。该命题成立的前提是网络通畅并且服务器性能良好。Windows操作系统和安卓2.0以上操作系统适应本软件。

 

 

 

5系统数据结构设计

 

5.1逻辑设计结构要点

          属性 

           类型

           含义

username

varchar20

用户名

userpassword

string

用户密码

userrank

int

用户身份辨识

gender

varchar(10)

用户性别

email

varchar(30)

用户邮箱

Classno

string

班号(学生必填)

userid

string

学号(工号)

                                                                                             3.3 用户属性表

 

 

 

 

         属性

            类型

          含义

choice

Varchar(200)

选择题题目描述

firstchoice

Varchar(50)

选项1描述

secondchoice

Varchar(50)

选项2描述

thirdchoice

Varchar(50)

选项3描述

forthchoice

Varchar(50)

选项4描述

choicenum

int

选择题题号

choiceanswer

int

答案

rank

int

难度

chapter

int

章节

                                                                                           3.4 选择题属性表     

 

           属性

           类型

           含义

completion

Varchar(200)

填空题题目

answerone

Varchar(20)

空格1答案

answertwo

Varchar(20)

空格2答案(可无)

answerthree

Varchar(20)

空格3答案(可无)

answerfour

Varchar(20)

空格4答案(可无)

completenum

Int

填空题题号

rank

int

难度

chapter

int

章节

                                                                                            3.5 填空题属性表

           属性

           类型

           含义

shortanswer

Varchar(200)

简答题题目

answer

Varchar(200)

简答题答案

shortnum

int

简答题题号

rank

int

难度

chapter

int

章节

                                                                                                3.6 简答题属性表

 

 

           属性

          类型

          含义

username

Varchar(20)

用户名

Score

Int

得分

type

int

题目类型

rank

int

题目难度

                                                                                                 3.7 得分属性表

 

 

           属性

          类型

          含义

username

Varchar(20)

用户名

Choicenum1

int

选择题1题号

Choicenum2

int

选择题2题号

Choicenum3

int

选择题3题号

Choicenum4

int

选择题4题号

Choicenum5

int

选择题5题号

Choicenum6

int

选择题6题号

Choicenum7

int

选择题7题号

Choicenum8

int

选择题8题号

Choicenum9

int

选择题9题号

Choicenum10

int

选择题10题号

score

int

得分

rank

int

难度

表3.8 选择题组属性表

 

 

 

 

           属性

          类型

          含义

username

Varchar(20)

用户名

completenum1

int

填空题1题号

Completenum2

int

填空题2题号

Completenum3

int

填空题3题号

Completenum4

int

填空题4题号

Completenum5

int

填空题5题号

Completenum6

int

填空题6题号

Completenum7

int

填空题7题号

Completenum8

int

填空题8题号

Completenum9

int

填空题9题号

completenum10

int

填空题10题号

score

int

得分

rank

int

难度

                                                                                              3.9 填空题组属性表

          属性

          类型

           含义

username

Varchar(20)

用户名

Shortnum1

Int

简答题1题号

Shortnum2

Int

简答题2题号

Shortnum3

Int

简答题3题号

rank

int

难度

                                                                                              3.10 简答题组属性表

 

username

Varchar(20)

用户名

Choicenum1

int

选择题1题号

Choicenum2

int

选择题2题号

Choicenum3

int

选择题3题号

Choicenum4

int

选择题4题号

Choicenum5

int

选择题5题号

Choicenum6

int

选择题6题号

Choicenum7

int

选择题7题号

Choicenum8

int

选择题8题号

Choicenum9

int

选择题9题号

Choicenum10

int

选择题10题号

Choicenum11

int

选择题11题号

Choicenum12

int

选择题12题号

Choicenum13

int

选择题13题号

Choicenum14

int

选择题14题号

Choicenum15

int

选择题15题号

Choicenum16

int

选择题16题号

Choicenum17

int

选择题17题号

Choicenum18

int

选择题18题号

Choicenum19

int

选择题19题号

Choicenum20

int

选择题20题号

completenum1

int

填空题1题号

Completenum2

int

填空题2题号

Completenum3

int

填空题3题号

Completenum4

int

填空题4题号

Completenum5

int

填空题5题号

Completenum6

int

填空题6题号

Completenum7

int

填空题7题号

Completenum8

int

填空题8题号

Completenum9

int

填空题9题号

completenum10

int

填空题10题号

Shortnum1

int

简答题1题号

Shortnum2

int

简答题2题号

Shortnum3

int

简答题3题号

Shortnum4

int

简答题4题号

Shortnum5

int

简答题5题号

score

int

得分

                                                                                           3.11 试卷组属性表

5.2物理结构设计要点

给出本系统内所使用的每个数据结构中的每个数据项的存储要求、访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。

 

5.3数据结构与程序的关系

   本程序在进行登录,注册,修改密码,管理用户信息操作时都需要连接数据库进行对数据库里的表操作,包括对表的存取,修改,删除等等。

 

6系统出错处理设计

 

6.1出错信息

我们对本系统采用异常处理机制,当遇到异常时不但能及时的处理,保证程序的安全性和稳定性,而且各种出错信息能通过页面形式,及时告诉用户出错的原因及解决的办法,使用户以后能够减少错误的发生。以下是详细的出错信息:

错误

系统输出信息的形式

处理方法

网络传输延迟

系统提示:“对不起,网络不稳定,请稍后重试”

用户耐心刷新重试

输入信息不符合规范

系统提示:“对不起,请输入正确的信息”

麻烦用户正确输入信息

点击提交时,不知道是否真的提交了答案

系统跳出对话框确认已提交

对一些关键操作提供确认机制

答案提交失败

系统提示网络繁忙提交失败

刷新页面再次提交答案

用户登录失败

系统提示:“对不起,学号或密码错误”

请用户重新输入正确的用户名和密码

考试中突然发生考试终断事件

系统提示:“对不起,服务器抽风了”

由于数据已在数据库中已有备份,就算系统出错后可以依靠数据库的恢复功能,继续考试

数据库连接错误

系统提示:“对不起亲爱的,数据库抽风了”

可能是由于数据库设置不正确或SQL Server异常,取消本次操作,提醒用户检查数据库

不可预知的错误

未知异常

进行数据库备份,帮助开发者完善程序

6-1出错信息表

 

6.2补救措施

 

1.由于输入信息不符合规范引起的错误,我们可以在添加、修改操作中及时对要输入的数据进行验证,分析错误的类型,给出相应的错误提示语句,传送到客户端上,提醒用户,然后再次操作。

2.由于硬件方面的而错误,比如说网络传输延迟,可以在可能出错的地方中输出相应的出错语句,并重启程序,回到程序的输入阶段。

3.后备技术说明准备采用的后备技术,当原始数据丢失时启用副本的建立和启动的技术,例如周期性把磁盘信息记录到磁带上去。

4.恢复及在启动技术说明将使用的恢复再启动技术,是软件从故障点恢复执行或是软件从头开始重新开始运行的方法。

5.对于数据库的连接错误,这类错误主要是我们系统与数据库的配置不正确,或是由于SQL Server2008 R2异常引起的,客户可以取消本次操作,将错误信息发送给我们,联系我们的管理人员解决。

6.由于其他不正确操作引起的错误,我们可以通过刷新页面或者等待系统自动响应这类问题来解决问题。

7.其他不可预知的错误,任何程序或系统都会有一些不可预知的或没有考虑的。对于这类错误我们不能预先做出处理措施,但是我们需要办证数据库安全,所以要经常进行数据库备份,并让用户发送错误报告信息与我们联系,以帮助我们完善程序!

 

6.3系统维护设计

软件的维护主要包括,数据的维护和软件功能的而维护。对于数据的维护,主要是对数据库的维护,这就交给我们后台的设计人员。而在软件的功能维护方面,由于我们采用了分模块设计的方法,且每个模块之间相互独立性较高,这样对我们设计人员来说系统功能的维护很容易方便,单独功能出错只需要修改一个页面就行了。同样对于管理员增加删除考题管理信息,也只需要到相应的模块中进行操作。

南理工14级第1组概要设计报告