joe

技术文档的编写

一、《详细设计说明书》的一般结构

1    引言

1.1     编写目的

说明编写详细设计方案的主要目的。

说明书编制的目的是说明一个软件系统各个层次中的每个程序(每个模块或子程序)和数据库系统的设计考虑,为程序员编码提供依据。

如果一个软件系统比较简单,层次很少,本文件可以不单独编写,和概要设计说明书中不重复部分合并编写。

方案重点是模块的执行流程和数据库系统详细设计的描述。

1.2    背景

应包含以下几个方面的内容:

A. 待开发软件系统名称;

B. 该系统基本概念, 如该系统的类型、从属地位等

C. 开发项目组名称。


1.3    参考资料

列出详细设计报告引用的文献或资料,资料的作者、标题、出版单位和出版日期等信息,必要时说明如何得到这些资料。


1.4   术语定义及说明

出本文档中用到的可能会引起混淆的专门术语、定义和缩写词的原文。


2  设计概述

2.1   任务和目标

说明详细设计的任务及详细设计所要达到的目标 。


2.1.1      需求概述

对所开发软件的概要描述, 包括主要的业务需求、输入、输出、主要功能、性能等,尤其需要描述系统性能需求。

2.1.2      运行环境概述

对本系统所依赖于运行的硬件,包括操作系统、数据库系统、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求。


2.1.3      条件与限制

详细描述系统所受的内部和外部条件的约束和限制说明。包括业务和技术方面的条件与限制以及进度、管理等方面的限制。


2.1.4      详细设计方法和工具

简要说明详细设计所采用的方法和使用的工具。如HIPO图方法、IDEF(I2DEF)方法、E-R图,数据流程图、业务流程图、选用的CASE工具等,尽量采用标准规范和辅助工具。


3  系统详细需求分析

主要对系统级的需求进行分析。首先应对需求分析提出的企业需求进一步确认,并对由于情况变化而带来的需求变化进行较为详细的分析。


3.1     详细需求分析

包括:

详细功能需求分析

详细性能需求分析

详细资源需求分析

详细系统运行环境及限制条件分析

3.2         详细系统运行环境及限制条件分析接口需求分析

包括:

系统接口需求分析

现有硬、软件资源接口需求分析

引进硬、软件资源接口需求分析

4   总体方案确认

着重解决系统总体结构确认及界面划分问题。 


4.1  系统总体结构确认

对系统组成、逻辑结构及层次进行确认,对应用系统、支撑系统及各自实现的功能进行确认,细化集成设计及系统工作流程,特别要注意因软件的引进造成的系统本身结构和公司其他系统的结构变化。包括:

Ÿ   系统组成、逻辑结构及层次确认

Ÿ   应用系统结构确认

Ÿ   支撑系统结构确认

Ÿ   系统集成确认

Ÿ   系统工作流程确认


4.2        系统详细界面划分

4.2.1      应用系统与支撑系统的详细界面划分

应用系统与支撑系统之间的界面包括系统主服务器与其他服务器的服务范围及访问方式,网络及数据库对应用系统的支撑方式,全局数据的管理与存取方式等。


4.2.2      系统内部详细界面划分

系统各功能之间的界面包括覆盖范围,模块间功能调用涉及到的系统模块及方法,全局数据格式,系统性能要求等。


5   系统详细设计

5.1    系统结构设计及子系统划分

对系统的组成及逻辑结构进行设计前确认。

划分系统功能模块或子系统(如果有或者有必要,特别是大型的软件系统)。


5.2    系统功能模块详细设计

按结构化设计方法,在系统功能逐层分解的基础上,对系统各功能模块或子系统进行设计。此为详细设计的主要部分之一。

用层次图描述系统的总体结构、功能分解及各个模块之间的相互调用关系和信息交互,用IPO图或其他方法描述各模块完成的功能。 以上建议采用HIPO图进行功能分解与模块描述,更高的要求建议采用IDEF0方法进行功能模型设计。


详细设计应用系统的各个构成模块完成的功能及其相互之间的关系,用IPO或结构图描述各模块的组成结构、算法、模块间的接口关系,以及需求、功能和模块三者之间的交叉参照关系。


每个模块的描述说明可参照以下格式:

模块编号:

模块名称:

输入:

处理:

算法描述:

输出:


其中处理和算法描述部分主要采用伪码或具体的程序语言完成。

对详细设计更高的要求建议用IDEF0图进行各功能模块的设计。

如果对软件需进行二次开发(包括功能扩展、功能改造、用户界面改造等),则相应的设计工作应该设立子课题完成。


5.3          系统界面详细设计

系统界面说明应用系统软件的各种接口。整个系统的其他接口(如系统硬件接口、通讯接口等)在相应的部分说明。


5.3.1      外部界面设计

根据系统界面划分进行系统外部界面设计,对系统的所有外部接口(包括功能和数据接口)进行设计。


5.3.2      内部界面设计

设计系统内部各功能模块间的调用关系和数据接口。


5.3.3      用户界面设计

规定人机界面的内容、界面风格、调用方式等,包括所谓的表单设计、报表设计和用户需要的打印输出等设计。此部分内容可能比较多。


6、数据库系统设计

此数据库设计可单独成册,尤其对大型的数据库应用系统,即有一个单独的《数据库设计说明书》。


6.1设计要求

6.2 信息模型设计

确定系统信息的类型(实体或视图),确定系统信息实体的属性、关键字及实体之间的联系,详细描述数据库和结构设计,数据元素及属性定义,数据关系模式,数据约束和限制。


6.3    数据库设计

6.3.1   设计依据

说明数据被访问的频度和流量,最大数据存储量,数据增长量,存储时间等数据库设计依据。


6.3.2   数据库种类及特点

说明系统内应用的数据库种类、各自的特点、数量及如何实现互联,数据如何传递。


6.3.3   数据库逻辑结构

说明数据库概念模式向逻辑模式转换所采用的方法论及工具,完成数据库概念模式向逻辑模式的转换。详细列出所使用的数据结构中每个数据项、记录和文件的标识、定义、长度及它们之间的相互关系。此节内容为数据库设计的主要部分。


6.3.4   物理结构设计

列出所使用的数据结构中每个数据项的存储要求、访问方法、存取单位和存取物理关系等。建立系统程序员视图,包括:

Ÿ  数据在内存中的安排,包括对索引区、缓冲区的设计;

Ÿ  所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;

Ÿ  访问数据的方式方法。


6.3.5   数据库安全

说明数据的共享方式,如何保证数据的安全性及保密性。


6.3.6   数据字典

编写详细的数据字典。 对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。


7    信息编码设计

7.3     代码结构设计

确认信息分类编码总体方案,进行分类代码结构设计。


7.4     代码编制

按代码结构编制信息代码

    

二、《概要设计说明书》的一般结构:
   1、总述:需求或目标(讲一下事情的起源)、环境、局限;
           ----主要交代背景与大环境。(非重点)
   2、总体设计:从全局的角度说一下 总体结构、功能、处理流程、有哪些模块、模块间的关系;
           ----使读者有“全局”观,为下一步深入各个模块做好准备。
   3、外部接口:总体说明外部用户、软、硬件接口(可用资源);(这个接口不是java的interface) 。
           ----使读者了解可以利用的外部资源。
   4、模块设计:每个模块“做什么”、简要说明“怎么做”(输入、输出、处理逻辑、与其它模块或系统的接口),处在什么逻辑位置、物理位置; (重点)
   5、数据结构:逻辑结构、物理结构(存储在数据表中,还是缓存中); 
   6、容灾设计:出错信息、出错处理; (可选)
   7、监控设计:运行模块组合、控制、时间;(可选)
   8、用户界面设计:(可选)
   9、安全设计:(可选)
   10、其它设计:(可选)
   11、制定规范(附录): 设计原则,代码规范、接口规约、命名规则。--是小组协同开发的基础


、《需求规格说明书》的一般结构:

1. 引言

1.1 目的

该文档首先给出项目的整体结构和功能结构概貌,试图从总体架构上给出整个系统的轮廓。同时对功能需求、性能需求进行了详细的描述。便于用户、开发人员进行理解和交流,反映出用户问题的结构,可以作为软件开发工作的基础和依据以及确认测试和验收的依据。

本文档面向多种读者对象:

(1)老师:老师可以根据该文档了解预期产品的功能,并据此进行系统设计、项目管理。

(2)设计员:对需求进行分析,并设计出系统,包括数据库的设计。

(3)程序员:了解系统功能,编写《用户手册》。

(4)测试员:根据本文档编写测试用例,并对软件产品进行功能性测试和非功能性测试。

(5)用户:了解预期产品的功能和性能,并与分析人员一起对整个需求进行讨论和协商。

在阅读本文档时,首先要了解产品的功能概貌,然后可以根据自身的需要对每一功能进行适当的了解。


1.2 背景

对于这学期的最后的总结,我们需要一个项目来验证我们在本学期的学习情况。通过对这个游戏的开发,我们将会巩固所学的内容,虽然这款游戏在Android端有很多版本,但我相信我们会做出一个更好的产品。

项目开发单位:北京电子科技学院2017级23班RSP小组

本次待开发的软件为休闲游戏类软件。




1.3 定义

序号 缩写 定义

1 app 应用程序,Application的缩写,一般指手机软件

2 Android Android是一种基于Linux的自由及开放源代码的操作系统,主要是使用移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。



1.4 参考文献

《报课系统软件需求规格说明书》

《报课系统需求规格说明书》

《一起买APP需求规格说明书》




2. 项目概述


2.1 产品描述

通过开发基于Android平台的游戏app,巩固所学内容和开发项目的能力,旨在锻炼,提供一个在学习后疲倦缓解压力的小游戏。

1333119-20181124171157439-1561941691.png


2.2 产品功能

功能介绍图(WBS):

序号 基础功能 功能介绍

1 背景音乐 在玩游戏过程中有音乐伴随,与大多数游戏的BGM相类似

2 音量设定 控制游戏BGM的音量

3 菜单界面 选择开始游戏(选择难度-待后续开发),并有关于,音量,退出游戏

4 游戏界面 设有战斗界面(血条)和消消乐矩阵,暂停,设置,退出


2.3 用户特点

本软件的用户限4岁以上群体使用,无其他特殊要求,各类人群都可以成为该app的用户,特别适合学生党和上班族打发空余时间。


2.3.1 用户示例场景

用户场景A:小明是一名大中生,由于敲了一整天的Java,好不容易回到寝室,为了放松和朋友用各自的手机玩游戏,想要比比谁过的关多。

用户场景B:小王是一个公司职员,上午上了半天班有点累,中午休息的时候不知道干什么,于是拿出了手机玩了几分钟小游戏来放松一下。


2.3.2 用户需求分析

场景A:小游戏有趣,游戏可以通过打BOSS

来过关

场景B:小游戏操作简单,不需要费神去学习和使用,能用于闲暇时的放松和打发时间。


2.3.3 用例图


2.3.4 用例说明

项目 内容

用例名称 关卡选择

用例编号 001

主要参与者 用户A

风险承担者 游戏设计者

简要说明 在正式进入游戏界面前有一个关卡选择,关卡选择可以决定游戏难度

前置条件 用户A已下载游戏

基本事件流 1.用户A进入“关卡界面”。2.游戏系统显示出已解锁的关卡和文字索引栏。

后置条件 点击关卡,可直接进入游戏界面

其他


2.4 假定和约束

2.4.1 假定

1.可操作性:假定本游戏用户在试玩后能很快上手游戏。

2.用户支持:假定在本游戏开发的各个环节中得到用户的有效支持和配合。

3.技术支持:假定开发初期,小组成员成分认识游戏的需求,认真学习相关知识。假定在开发过程中遇到问题,可以及时得到老师的指导与帮助。

4.人员配合:假定小组成员不会出现变动,并且在项目开发过程中不会有突发情况的发生而导致项目成员无法正常参与开发工作。

5.时间限定:假定项目的截止时间不会提前。

6.需求限定:假定项目需求基本确定之后,不会有太大改变。


2.4.2 约束

人员约束:

团队成员均为大二学生,共4人。


管理约束:

1.本次开发,实行以一人担任小组组长,各组员分工合作的模式进行。每个人负责切实具体的流程板块,并且按照进度表进行,开发过程中遇到的问题通过小组会议得到一致的解决。

2.小组成员首次合作,需要明确责任,互相配合,迅速度过磨合期。在遇到问题时需要小组组长能进行有效的协调,才能快速,有效地完成开发过程。


技术约束:

1、小组成员在相关技术水平方面存在一定欠缺,缺乏相关项目经验,在文档编制能力方面也有待提升。

2、小组成员在美工方面,能力有限。


时间约束:

本系统开发周期较短,时间相对紧张。


其他约束:

由于在开发期间,小组成员还有其他科目的学习任务,将对项目进度造成一定的影响。


3. 具体需求

需求功能优先级象限图:


对应版本需求

Alpha版本

1.开始,退出,暂停按钮...

2.游戏界面各种元素:消消界面,怪物界面

β版

1.音乐功能...

发布版本

1.添加用户反馈渠道,实现与用户交流的功能



3.1 功能需求


3.1.1 界面设计

开始界面

用户选择开始游戏,结束游戏或者查看游戏说明:

关卡选择界面

在用户点击关卡选择之后,会有多个关卡来让用户选择。

用户在选择关卡之后会直接进入游戏界面

游戏界面

在游戏界面中,。

用户点击右上角的暂停键或点击手机的返回键的时候会出现选项让用户选择继续游戏亦或是退出当前游戏返回主界面。

通关界面

顺利通关:

挑战失败:

显示完直接跳回主界面,设个延迟两秒

关于界面

产品归属,开发人员等。。。

退出界面

退出游戏的提醒


3.2 外部接口需求


3.2.1 用户接口

无特殊需求。


3.2.2 硬件接口

无特殊需求。


3.2.3 软件接口

无特殊需求。


3.2.4 通信接口

无特殊需求。


3.3 性能需求


3.3.1 精度需求



3.4 属性


3.4.1 可用性

易操作,易理解。界面设计简洁易用。

操作完成时有统一规范的提示信息。


3.4.2 可维护性

保留系统的源代码

代码注释详细,包括方法实现过程以及变量的含义。

清晰的系统结构和命名规范,界面规范。

每次调试都会记入日志。

不断从各方面操作进行测试。



4. 验证验收标准及相关要求


4.1 验收标准


4.1.1 文档验收标准

(1)app项目开发计划

(2)软件需求说明书

(3)团队项目及时记录和总结报告(团队博客)

以下部分为之后修改部分,模板只供修改,不是我小组所有内容。


4.1.2 软件验收标准

APP安装包


4.1.3 界面验收标准

序号 界面名称 界面描述 备注

1 开始界面 页面上半部分标题栏显示游戏名称"",中间部分从上至下依次有按钮"闯关模式"和按钮"结束游戏"。

2 选车界面 页面分为左上,右上,左下,右下四个板块,每个板块是用户需要选择的车辆按钮

3 游戏边框界面(两边) 页面左边框是动画效果处于移动中的路旁的画面,左边框上部有提示栏"关卡:XXX"与"分数:XXX",页面右边框同是动画效果处于移动中的路旁的画面,右边框上部有按钮暂停框" ‖"

4 游戏主界面(中部) 中部界面有方形的人工移动光标"车",界面上方有系统随机产生自上而下规律移动的光标"汽车"和"障碍",主界面背景为动画效果样式处于移动中的道路(分4条主道)。 "汽车"和"障碍"属于不同类型,详见功能说明部分

5 暂停界面 该界面大小约为主界面的三分之一,上部有状态提示语"暂停",下部左右依次有按钮键"继续"和"退出"

6 音乐界面 该界面含有多首音乐的按钮,点击后进入游戏主界面

7 返回界面 该界面与暂停界面相同位置及大小,上部有提示语"是否返回",下部分左右依次有按钮键"是"与"否"。 由暂停界面"退出"键进入返回界面

8 结束界面 界面为弹出框,框上部有提示语"游戏结束"和"你的最终分数是:XXXX分",框下部有按钮键"确认"

9 通关界面 界面为弹出框,有结语"恭喜你!你已通关!"和"你的最终分数是:XXXX分",框下部是按钮键"确认"。


4.1.4 功能验收标准

序号 功能名称 操作界面 详细操作 备注

1 进入游戏 开始界面 点击"闯关模式"转入游戏界面

2 结束游戏 开始界面 点击"结束游戏"退出游戏回到手机上一级主界面

3 游戏 开始界面、选车界面、游戏界面 通过点击"闯关模式"进入选车界面,点击想要使用的车辆进入游戏界面,手机通过屏幕感应移动光标躲避从上到下迎来的障碍物和车辆,避免碰撞

4 计分 游戏边框界面、结束界面、通过界面 每躲避一个障碍物加10分,躲避或消灭一个车辆加20分,达到一定的分数标准则进入下一关,左边框上部实时记录游戏关卡以及得分,若碰撞障碍物则即时停止计分。在游戏左边框界面上部、通关界面和结束界面会显示游戏得分 若碰撞障碍物则即时停止计分,转入结束界面

5 选歌 游戏界面、音乐界面 进入选车界面后进入音乐界面,点击界面内任何一首歌曲则背景音乐切换到该歌曲,用户点手机的返回键回到上一界面 初始背景音乐默认为第一首歌曲的单曲循环

6 暂停 暂停界面、游戏边框界面、开始界面、返回界面 点击游戏右边框界面上部"‖"按钮进入暂停界面弹出框,点击"继续"返回游戏界面继续游戏,点击"退出"则弹出返回界面框

7 返回 暂停界面、返回界面、开始界面 在暂停界面点击"退出"按钮进入返回界面,点击"是"则回到开始界面,点击"否"则返回暂停界面

8 通关 游戏界面、通关界面 在游戏界面通过所有关卡后进入通关界面,点击"确认"返回开始界面

9 结束 游戏界面、结束界面、开始界面 在游戏中碰撞到障碍物及车辆会进入结束界面,点击"确认"则返回开始界面


4.1.5 游戏验收标准

序号 功能名称 操作界面 详细操作 备注

1 光标移动 游戏界面 用户通过按住屏幕"车"通过滑动改变其位置

2 环境 游戏界面、游戏边框界面 进入游戏后游戏界面背景"公路"实现移动状态,游戏边框界面的路旁景象实现移动状态,二者要求同步移动速率

3 车辆障碍 游戏界面 实现"车辆"和"障碍"两种不同类型的"敌人",使二者随机出现,以不同速率从游戏界面上部进入,垂直向下移动,直至移出界面

4 射击 游戏界面 用户操纵的车辆可以发射垂直向上"导弹",击中车辆会使消失并产生爆炸效果

5 音乐 后台 音乐界面选默认第一首歌,单曲循环


4.2 灵活性

本软件最终完成后,短期内需求不会发生太大变化。相应地,即当需求发生某些变化时,该软件具备对这些变化的适应能力:操作方式上的变化。本系统的操作方式相对简单,用户可以很容易掌握。 在系统前期的需求分析和交互设计方面已经做了充分的考虑和设计,一般不会发生太大的变化。不过我们可以根据用户需求的变化,做一些更改和扩充,具有比较好的扩展性。


4.3 时间特性需求

此APP对时间特性的要求不高,只需在合理时间内响应用户的请求即可。例如点击按钮反应时间不得超过1s等。


4.4 其它要求

安全要求:

不会向用户索要个人信息,尽量提示APP本身的安全性


可靠性:

系统具有较强的稳定性,不存在太多的不稳定因素。



使用方便要求:

(1)该系统的所有界面要简洁且易用。

(2)操作完成时有统一规范的提示信息。



可维护性:

(1)保留系统的源代码

(2)代码注释详细,包括方法实现过程以及变量的含义。

(3)清晰的系统结构和命名规范,界面规范。

(4)每次调试都会记入日志。

(5)全面考虑系统,加强后期的维护,不断从各方面操作进行测试。


性能需求:

(1)用户控制的车辆不能移到道路外。

(2)障碍物或障碍车辆碰撞用户车辆的判断要精确。

(3)子弹与障碍车辆接触判断要精确。

(4)障碍物和障碍车辆要出现在道路内。

(5)子弹的发射位置要在用户车的中见

(6)子弹发射的频率和速度要合理。


、《数据库设计说明书》的一般结构:

G.1 引言

G.1.1  编写目的

        数据库的表结构设计是整个项目开发中一个非常重要的环节,一个良好的数据库设计,可以提高开发效率,方便系统维护,并且为以后项目功能的扩展留下余地。我们通过书写这份文档说明,从各方面进行对校园地图的数据库设计规划,用它指导该系统在数据库各方面的内容,为系统开发的程序员、系统分析员提供基准文档。我们也希望通过写数据设计说明书,规范数据名称、数据范围、数据代码等。这份文档是项目小组共同作战的基础,有了开发规范、程序模块之间和项目成员之间的接口规则、数据方式,大家就有了共同的工作语言、共同的工作平台,使整个软件开发工作可以协调有序地进行。


G.1.2  背景

说明:

a、说明待开发的数据库的名称和使用此数据库的软件系统的名称;

b、列出该软件系统开发项目的任务提出者,用户以及将安装该软件和这个数据库的计算站(中心)。

a)    待开发的数据库名称:weixinxiaochengxu

b)  待开发系统的名称:基于微信小程序的电子科大校园地图;

c)  本项目的任务提出者:老师引导下同学们共同讨论的结果;

d)  开发者:罗子建 金成哲 陆冠臣

e)  用户:在校大学生 校外游客


G.1.3  定义

列出本文件中用到的专门术语的定义、外文首字母组词的原词组。

词汇名称

词汇定义

备注

C/S

客户端/服务器

Client/Server 的缩写

SQL

SQL(Structured Query Language)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

Django

Django是一个开放源代码的Web应用框架,由Python写成

Django采用了MVT的框架模式,即模型M,视图V和模版T

E-R图

实体-联系图,提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

Entity -Relationship 的缩写

G.1.4  参考资料

经核准的用户合同、《用户需求说明书》和《项目开发委托合同书》;

《软件工程用户手册》,《软件工程操作手册》等

参考技术书籍如下:

《玩转django2.0》——黄永翔  清华大学出版社 2018-11

《从零开始学微信小程序开发》——高洪涛 电子工业出版社 2018-2

《微信小程序快速开发》——易伟 人民邮电出版社 2017-5


G.2 外部设计


G.2.1  标识符和状态


数据库软件的名称:Mysql 5.7

数据库的名称:weixinxiaochengxu

表名

标识符或名称

描述信息

状态

标记点表

标记点id

用来保存校园标记点的位置以及相关描述

使用

用户表

用户id

用来保存用户信息

使用

功能表

功能id

用来保存地点的功能描述以及标签分类

使用

讨论表

讨论id

用来保存发布的讨论

使用

讨论图片表

讨论图片id

用来保存上传的讨论图片

使用

评论表

评论id

用来保存发布的评论

使用

轮播图片表

轮播图片id

用来保存系统发布的轮播图片

使用


G.2.2  使用它的程序

列出将要使用或记问此数据库的所有应用程序,对于这些应用程序的每一,给出它的名称和版本号。

应用程序

访问的数据表

版本号

系统登陆

用户表

1.0

学生认证

用户表

1.0

查看清水河地图

标记点表

1.0

查看沙河地图

标记点表

1.0

发布讨论

讨论表,讨论图片表

1.0

查看讨论

讨论表,讨论图片表

1.0

点击轮播图

轮播图片表

1.0

发布评论

评论表

1.0

查看评论

评论表

1.0

查看功能

功能表

1.0

历史关注

讨论表,评论表,讨论图片表

1.0

G.2.3  约定

陈述一个程序员或一个系统分析员为了能使用此数据库而需要了解的建立标号、标识的约定,例如用于标识数据库的不同版本的约定,用于标识库内各个文卷、记录、数据项的命名约定等。

文卷

记录

数据项的命名约定

标记点表

Location

用户表

User

功能表

Function

讨论表

Discussion

讨论图片表

DiscussionImage

评论表

Comment

轮播图片表

RollingImage

 

G.2.4  专门指导

准备从事此数据库的生成、从事此数据库的测试、维护人员提供专门的指导。

 

G.3 结构设计


系统按照微信小程序官方文档的统一规划,运行在weixinxiaochengxu数据库中,采用了数据库的热备份技术,实现数据的有效和安全。

G.3.1  概念结构设计


说明本数据库将反映的现实世界中的实体,属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值哉,建立本数据库的每一幅用户视图。

用户模块

       用户信息(用户名称,学生认证状态,历史关注,用户哈希名,用户id)


全局E-R 图如下

                                


G.3.2  逻辑结构设计


说明把上述原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构和文卷结构、所建立的各个文卷之间的相互关系,形成本数据库的数据库管理员视图。




G.3.3  物理结构设计    


数据库名称为: weixinxiaochengxu


存储位置:默认位置

建立系统程序员视图,包括:


数据在内存中的安排,包括对索引区、缓冲区的设计;

所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;

访问数据的方式方法。


通过上面的逻辑结构分析所得到表的关系,下面使用 Django 框架 设计并得到数据库和相应的表


G.4 运用设计

G.4.1  数据字典设计

对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷、模式、子模式等一般要建立起数据字典,以说明它们的标识符,同义名及有关信息,在本节中要说明对此数据字典设计的基本考虑。


G.4.2  安全保密设计

通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密设计考虑。


数据库由专门数据库管理用员对数据库操作,需要注意以下几项安全问题:

访问安全 、网络安全 、传输安全 、备份安全 、数据安全


设置以下安全规则:

每天进行数据备份是保障系统安全的重要手段,保证备份安全

系统设置用户的标识以鉴定是否是合法用户,并要求利用电子科大信息门户系统进行学生认证,并将合法用户设置成学生身份,保证用户身份不被盗用,保证数据安全。

系统对不同的数据设置不同的访问级别,限制访问用户可查询的处理数据类别和内容,保证网络安全。

系统对不同用户设置不同的权限,区分不同的用户,如区分学生和游客,保证访问安全。

传输皆采用md5 算法传输数据,不采用明文传输,保证传输安全


、《软件系统用户使用文档》的一般结构:

概述

开发背景

【比如为什么要开发这个系统】


开发目标

【该系统需要完成的基本功能,对系统的大体描述】


参考资料

【该系统涉及的开源项目等】


设计原则

【设计该系统遵守的原则,比如支持多数据库,可移植行,可拓展性等】


需求分析

需求陈述

【用平常语言描述该系统的全部功能和细节】


操作用例

【描述具体的操作例子,比如登录后进行何种操作】


功能分析划分

【分析功能并划分功能块】


系统登录

【比如,需要实现两种登录模块,普通登录,管理员登录,并且描述可能出现的各种情况以及问题处理】


用户管理

【比如:实现用户显示,添加,删除,修改】


……


运行环境

总体设计

系统建模

层次方框图

【从顶部开始,按照层次分类进行细化】


ER图(实体-联系图)

【分析各个对象之间的联系,画图ER图】


接口设计

类图设计

【使用UML画出各个类的属性、继承和方法】


接口设计

【各个子系统之间的接口和用户接口】


内部接口设计

【各个部件是通过何种方式进行连接,比如通过远程数据库,http等】


登录界面设计

用户管理界面设计

……


数据库结构设计

【主要是描述】


数据库E-R图

数据库逻辑设计

出错处理

【描述如果出错的处理方法】


安全保密设计

【描述采用何种方法保证安全性】


详细设计

程序流程图

【具体来说就是把经过总体设计得到的各个模块详细的加以描述。】


伪代码编写

【使用中文或者英文进行伪代码编写,以后这些伪代码将会成为代码的注释】


实现

编码

代码约定

代码编写原则

测试要点

登录测试要点

【描述该如何测试,数据的输入,类型】


主界面测试要点

……


测试结果和总结

维护

维护方法

维护文档

功能拓展方法


、《软件系统用户使用文档》的一般结构:

1.测试编号

2.测试模块

3.测试目的

4背景描述

5.预置条件

6.输入数据

7.测试步骤

8.预期结果

9.实际结果

10.测试人

11.备注


码字很辛苦,转载请注明来自朱一兵的博客《技术文档的编写》

评论