软件工程团队作业5——《架构设计说明书》
队伍名称:软工菜鸡队
组长:173401010533 冯澳 https://www.cnblogs.com/fa32/
队员:173401010201 刘瑶 https://www.cnblogs.com/ly-lyy/
173401010202 赵金荣 https://www.cnblogs.com/zjr-zz/
173401010529 蔡超 https://www.cnblogs.com/caichao1015/
本文编辑者:全体
1. 引言
1.1 编写目的
编写系统架构设计说明书的目的是为了能够好地明确系统的模块层次结构,明确数据库的结构,让读者明白这个软件系统是怎么做出来的。为了在项目研发的过程中,能够尽量不造成资源的浪费,实现资源利用最大化,做出来的系统性能优良。
1.2 读者对象
(1)软件开发人员:在项目中,负责对高校调查问卷管理系统进行研发的人员;
(2)软件管理人员:在项目中,负责对高校调查问卷管理系统进行维护和管理,对数据库的更新以及对数据的备份保存等;
(3)政府教育管理层人员:负责对问卷的审核与发布,对问卷的结果进行研究,并对学校的教育水平做评估。
1.3 参考资料
(1)温昱主编,软件架构设计,电子工业出版社,2007;
(2)张逸主编,软件设计精要与模式,电子工业出版社,2010.4;
1.4 术语与缩写解释
缩写、术语 |
解 释 |
SOA |
面向服务的架构 |
系统数据库 |
保存填写问卷人员信息,问卷信息,用于保存数据 |
iOS |
苹果手机、电脑运行系统 |
教师、学生 |
高校调查问卷管理系统中的待问卷人员 |
HighCharters |
一个用JavaScript编写的图表库, 能够简便地在Web网站或是Web应用程序上添加有交互性的图表 |
问卷审核 |
政府教育管理层人员对发布的问卷进行审核 |
数据库更新 |
指对存放各种问卷数据的数据库进行定时更新 |
2. 系统概述
(1)系统描述
本系统是高校调查问卷管理系统,通过政府教育管理层人员审核发布的问卷,来调查教师和学生在平常教学中对学校的认知、对教学资源配套情况的认可、对专业的接受程度等多个方面的情况,并将最后的调查情况进行研究分析得到结果。
(2)业务需求
- 问卷能够设计多种题型,根据调查的内容不同可以定义多种问卷;
- 系统能够通过短信、邮件等多种方式发布问卷填写链接,并把信息发送给待问卷人员;
- 系统能确保发送成功,若发送失败则保存记录等待软件管理人员处理;
- 系统能在后台导入待问卷人员的基本信息,教师包括名字、性别、工号等;学生包括名字、性别、学号等;
- 待问卷人员填写完成后,系统能够收集信息至数据库,进行备份存储,数据库定时进行更新;
- 系统能对问卷结果进行仔细分析,并生成分析成果以供政府教育管理层人员进行研究得到结果。
(3)主要功能需求
- 能够设计问卷:政府教育管理层人员根据实际情况进行问题的设计;
- 审核发布问卷:政府教育管理层人员能够对问卷进行审核;审核通过,则发布问卷至待问卷人员;
- 填写问卷:待问卷人员(教师、学生)通过链接填写问卷回答问题;
- 回收统计问卷:待问卷人员完成后,系统回收问卷并进行统计;
- 分析问卷:系统对问卷进行分析,以便政府管理层人员进一步研究,并得出最终结论。
3. 架构设计目标和约束
3.1 架构设计目标
为了确保总体目标实现,达到资源利用最大化、安全等目的,确定架构设计目标:
(1)安全性:确保待问卷人员的个人信息不泄露,问卷信息能够安全;
(2)可靠性:能够正常运行工作,系统必须是可靠的;
(3)可伸缩性:系统能够吸收新技术,扩展当前系统的任务与功能;
(4)用户体验:待问卷人员是问卷的最终参与人员,应该易于操作,提高用户的体验感;
(5)可定制性:系统能够根据用户的不同和需求不同进行定制;
(6)特色鲜明:有自己的特色,能够在市场竞争中拔得头筹;
3.2 约束需求
(1)可以在Windows、linux、ios、android等多个操作系统运行;
(2)具有兼容性,兼容手机、平板、电脑以及各种主流浏览器。
(3)具有可扩展性,可实现负载均衡,日后若信息量较大,则系统可相应增加服务器实现拓展。
(4)采用面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。
(5)软件应该具有安全性、可靠性,兼容性等多种特性;
(6)界面应该简洁明了,易于使用;
3.3 开发与运行环境
类别 |
标准配置 |
最低配置 |
开发环境 |
Visual Studio 2010 |
Visual Studio 2010 |
Windows10 |
Windows10 |
|
8G硬盘容量+2G内存 |
4G硬盘容量+1G内存 |
|
测试环境 |
Visual Studio 2019 |
Visual Studio 2017 |
Windows10 |
Windows10 |
|
128G硬盘容量+1G内存 |
4G硬盘容量+1G内存 |
|
运行环境 |
Visual Studio 2010 |
Visual Studio 2017 |
Windows10 |
Windows10 |
|
128G硬盘容量+1G内存 |
4G硬盘容量+1G内存 |
4. 系统总体设计
4.1 设计思想
该架构设计采用三层架构思想进行设计,将整个业务应用划分为用户界面层(UI)、商业逻辑层(BLL)、数据处理层(DAL)。
- 用户界面层主要是展现给用户的界面,接收用户信息和给用户显示用户信息,就是用户在使用一个系统的时候他的所见所得。
- 商业逻辑层是针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
- 数据处理层是直接操作数据库,针对数据的增添、删除、修改、更新、查找等。
4.2 软件逻辑架构设计
图1 系统逻辑架构
用户的数据被导入系统,待问卷人员登录系统,显示登录界面,进行答题;系统将问卷数据进行仔细分析并得出结果。
按照业务应用进行分层,分为以下三层:
- 用户界面层展现用户登录界面、用户管理界面以及问卷调查管理界面;
- 商业逻辑层是针对具体问题的操作,包括系统管理、用户管理、问卷管理以及权限管理;
- 数据处理层是直接操作数据库,包括配置数据、用户数据以及问卷数据;
4.3 系统主要业务流程设计
一、登录注册用例
1、模块职责:(1)用户通过用户名、密码进行登录(注册);
(2)后台记录用户信息。
2、接口说明:UserDao用户数据库接口,可实现对用户数据的增删改查;
3、交互模型:
图2 登录注册顺序图
二、填写调查问卷用例
1、模块职责:(1)用户通过用户名、密码进行登录(注册),后台记录
(2)用户通过链接填写问卷
2、接口说明:
(1)UserDao用户数据库接口,可实现对用户数据的增删改查
(2)QuestionDao:问卷数据库接口,可实现对问卷题目的创建、修改、删除、保存等操作。
3、交互模型:
图3 填写调查问卷顺序图
三、后台管理用例
1、模块职责:(1)管理问卷系统,进行问卷设计;
(2)统计问卷数据。
2、接口说明:
(1)UserDao:用户数据库接口,可实现对用户数据的增删改查等操作。
(2)QuestionDao:问卷数据库接口,可实现对问卷题目的创建、修改、删除、保存等操作。
3、交互模型:
图4 后台管理顺序图
4.4 功能模块划分
根据逻辑架构进行的模块划分,以及基于用例设计的模块间的交互模型,确定每个模块职责和接口;
4.4.1. 模块一描述
模块名称 |
模块功能(职责)概述 |
登录注册模块 |
用户通过用户名、密码进行登录(注册),后台记录用户信息 |
填写调查问卷 |
用户通过用户名、密码进行登录(注册),后台记录,用户通过链接填写问卷 |
问卷分析模块 |
系统对答完的问卷回收,进行下一步的数据分析,并将分析结果上报得出结论 |
4.4.2. 模块一接口设计
1.登录注册模块:该模块的接口需要和登录系统对接,获取用户信息,管理员可以对问卷进行设计审核与发布。
伪代码:
Get 用户基本信息;
If (管理员):
Open 管理员界面;
Open 设计问卷;
Open 发布问卷;
If(用户);
Open 输入账号密码登录;
Else
返回 error;
2.填写调查问卷模块:用户接受答题链接,点击链接进行答题;
伪代码:
Get 用户基本信息;
If(教师)
Open 发送教师的问卷链接;
If(学生)
Open 发送学生的问卷链接;
Else 返回 error;
3.问卷分析模块:接收到用户的答卷结果后,进行数据库更新,备份,并统计、分析结果来得到结论;
Get 问卷结果;
Open 更新数据库、数据备份;
Open 统计分析问卷结果;
5. 数据库设计概述
5.1 数据库环境说明
数据库系统:MySQL 8.0
操作系统:Windows 10
设计工具:MySQL Workbench
编程工具:Visual Studio 2010
内存:2G及以上
5.2 系统概念架构设计
创建实体类类图如下图所示:
图5 实体类类图
5.3 数据库逻辑架构设计
依据系统概念模型、需求分析和系统逻辑架构,进行数据库的逻辑架构设计。
5.4 表汇总说明
表汇总 |
用途 |
学生、教师信息表 |
用于存储学生和教师的各项信息 |
管理员表 |
存储管理员信息,以便在登录时验证身份 |
问卷结果表 |
将填写人和填写情况等问卷信息存储起来 |
备份表 |
存储备份数据 |
6. 用户界面设计
图6 原型设计图