详细设计说明书实例

信息发布系统

(详细设计说明书)

编写单位: 设计人员: 版 本: 编写日期: JAVA实践小学期*** *** 1.0 2010/9/5

目录

第一部分、引言 ................................................................................................................................. 2

1.1编写目的 .......................................................................................................................................... 2

1.2背景 .................................................................................................................................................. 3

1.3定义 .................................................................................................................................................. 3

3.1程序描述 .......................................................................................................................................... 5

3.2整体结构 .......................................................................................................................................... 5

3.3性能 .................................................................................................................................................. 5

3.4输入输出项 ...................................................................................................................................... 5

3.5算法 .................................................................................................................................................. 5

3.6主要类的设计 .................................................................................................................................. 5

3.7存储分配 .......................................................................................................................................... 7

3.8注释 .................................................................................................................................................. 7

3.9限制条件 .......................................................................................................................................... 7

3.10测试计划 ........................................................................................................................................ 7

3.11尚未解决的问题 ............................................................................................................................ 7

4.1 程序描述 ......................................................................................................................................... 7

4.2 功能 ................................................................................................................................................. 7

4.3 性能 ................................................................................................................................................. 8

4.4 输入输出项 ..................................................................................................................................... 8

4.5 限制条件 ......................................................................................................................................... 8 5 设计特点 ............................................................................................................................................ 8

5.1 通信便捷 ......................................................................................................................................... 8

5.2 开发速度快 ..................................................................................................................................... 8

第六部分、项目分工 ......................................................................................................................... 8

附录: ................................................................................................................................................. 9

第一部分、引言

1.1编写目的

本说明书在概要设计的基础上,对信息发布系统的各模块、程序分别进行了实现层面上的要求和说明。

软件开发小组的产品实现成员应该阅读和参考本说明进行代码的编写、测试。

1.2背景

说明:

A、 软件系统的名称:信息发布系统

B、 任务提出者:JAVA实践小学期

开发者:***

C、 实现完成的系统将可用在所有JAVA虚拟机的个人PC上.为使用者提供信息发布,浏

览,评论的方式,沟通各个用户.

1.3定义

服务器端API :服务器端设计者通过规范的API文档,提供给客户端,以方便客户端的开发,使得同时进行,提高效率,节约时间。两端通过protocol(协议类)进行通信。

Gson:Google提供的一个类库。通过使用这个类库,可以把把对象转换成json格式的字符串,以方便在网络中的传输。也可反向将字符串转换成对象,这样带有方法地操作对象,可以有效,方便地保证信息的沟通。

Json:JavaScript Object Notation,是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,JSON采用完全独立于语言的文本格式,这些特性使得JSON成为理想的数据交换语言。

1.4参考资料,相关的文件包括:

A、 《项目需求说明》;

B、 《项目详细设计说明书》;

C、 《项目概要设计说明书》;

参考资料:

《软件工程概论》,王华

第二部分、程序系统的结构

该系统为了两大部分:客户端与服务器端,中间通过protocol类通信。其中使用gson库来转换和逆向转换对象,实现标准包括:

1、客户端主程序

A、工程类型:JAVA项目;

B、工程名称:信息发布系统

C、编译生成文件:jar形式

D、引用的组件:JDK,Gson库

注:以上提供的是工具集合,具体用到的类都包含在里面

2、服务器端主程序:

服务器端程序以及数据库操作类(DBO)

3、服务器端数据库操作

验证用户,用户注册,更改密码,更新文档,新建文档,新建记录(包括浏览记录和回复记录),查看文档,删除文档,查看记录。

第三部分、基本操作部分

界面设计如下图:

3.1程序描述

A、客户端窗体:

尽量友好的设计,让用户尽可能地关注信息的内容主体。

B、服务器端设计:

该窗体在设计上尽量的符合人们的使用习惯,并且在出现非法操作的情况下,有相应的提示信息输出。

3.2整体结构

系统的整体大致结构为下图:

3.3性能

灵 活 性:窗口响应绝大部分的快捷菜单和控制面板操作;

时间特性:响应鼠标单击的时间在2~3秒之间;

3.4输入输出项

输入的数据是户执行的各种操作,包括鼠标、键盘等操作。

输出是从数据库中读取的数据,或错误警告信息。

3.5算法

本部分没有采用自定义的算法。

3.6主要类的设计

用户类

数据库操作类(包括静态方法)

3.7存储分配

本程序在高级语言JAVA进行编码,直接的内存分配由JAVA运行时分配。

本组件内所依赖的变量、结构要求全部在组件元素内申明。

3.8注释

在代码的适当出有中文代码注释。

注释设计请参考《Visual Basic 可视化程序设计》的附录部分。

3.9限制条件

所有用户的权限都经过严格设置,不能进行权限外的操作。用户组分为三组:管理员,用户和游客。

3.10测试计划

测试日期、测试人员安排请参考测试计划,测试用例的具体内容,请参考测试用例说明。

3.11尚未解决的问题

在文件中存储文档文件中,不能存储文件名相同,但类型不同的文档。可以通过在文件名中加入文档类型来解决。但因时间关系,尚未解决。

第四部分、其它附加功能及帮助系统

4.1 程序描述

本程序设计是客户机和服务器机通过C/S模式,建立连接。在此基础上,进行信息的共享,发布等功能。系统的目的是为了方便用户的沟通。

4.2 功能

主要功能就是给用户带来信息的沟通,交流的便捷。

4.3 性能

灵活性:响应鼠标操作和键盘操作。

时间性:视网络响应速度而定。

4.4 输入输出项

从键盘,鼠标按提示输入。

依服务器响应从界面输出响应信息。

4.5 限制条件

在界面上控制输入输出,服务器端如果出错也会返回出错信息。

5 设计特点

5.1 通信便捷

本系统客户端与服务器端采用JSON格式作为信息载体,在开发中将信息作为对象,信息传递很便捷。

5.2 开发速度快

由于使用通信协议约定,所以只要客户端与服务器端约定好通信协议API文档,即可以进行通信。而且直接对对象操作,不存在类型转换的问题。这样可以使客户端与服务器端开发同时在API文档的约定下进行,提高开发效率。

第六部分、项目分工

王佳龙: 负责编写GUI部分代码,以及客户端部分的所有代码

戴清灏:编写服务器端代码,设计通信协议,以及对数据库的操作。负责编写详细设计文档。

华从男:各方面知识全面,负责组织工作,在软件测试方面有一定的能力。在软件开发过程负责测试文档等文档的编写。

王玮柯:负责测试,组织工作。

附录:

服务器端操作API文档(最少需要的参数,如不全服务器会返回type=“0”的信息):

服务器和客户端之间的所有通信都封装在protocol对象中,通过对要发送的protocol对象进行set和get操作就可以通信。

验证用户,用户注册,更改密码,更新文档,新建文档,新建记录(包括浏览记录和回复记录),查看文档,删除文档,查看记录

1.验证用户

name,pass,LimitsOfAuthority

返回:如验证通过则返回type=“11”,不通过则返回type=“12”

2.用户注册

name,pass,LimitsOfAuthority

返回:如注册成功则返回type=“21”,不成功则返回type=“22”

3.更改密码

name,pass,newPass

返回:如更改成功则返回type=“31”,不成功则返回type=“32”

4.查看文档

filename(可选,如为“”则查询本类的所有文档,不带全部内容),filetype,replyAuthor(可选,如果filename不为“”则必须)

返回:如查看成功则返回则返回type=“41”,不成功则返回type=“42”;文档内容在content中,文档名列表在filenames[]中,对应的文档摘要在filesummaries[]中;回复内容在recordContents[]中,对应的回复作者在recordAuthors[]中

5.建立新文档

filename,filetype,content,author,filesummary

返回:如果建立成功则返回type=“51”,如不成功则返回type=“52”

6.修改文档

filename,filetype,newFilename,newFiletype,filesummary

返回:如果修改成功则返回type=“61”,如不成功则返回type=“62”

7.建立新记录

filename,filetype,recordContent,replyAuthor

返回:如果建立成功则返回type=“71”,如不成功则返回type=“72”

8.删除文档

filename,filetype

返回:如查询成功则返回type=“81”,如不成功则返回type=“82”

9.查看浏览记录

返回:如查看成功则返回type=“91”,如不成功则返回type=“92”,返回的记录内容在recordContents[]中,对应的作者在recordAuthors[]中

信息发布系统

(详细设计说明书)

编写单位: 设计人员: 版 本: 编写日期: JAVA实践小学期*** *** 1.0 2010/9/5

目录

第一部分、引言 ................................................................................................................................. 2

1.1编写目的 .......................................................................................................................................... 2

1.2背景 .................................................................................................................................................. 3

1.3定义 .................................................................................................................................................. 3

3.1程序描述 .......................................................................................................................................... 5

3.2整体结构 .......................................................................................................................................... 5

3.3性能 .................................................................................................................................................. 5

3.4输入输出项 ...................................................................................................................................... 5

3.5算法 .................................................................................................................................................. 5

3.6主要类的设计 .................................................................................................................................. 5

3.7存储分配 .......................................................................................................................................... 7

3.8注释 .................................................................................................................................................. 7

3.9限制条件 .......................................................................................................................................... 7

3.10测试计划 ........................................................................................................................................ 7

3.11尚未解决的问题 ............................................................................................................................ 7

4.1 程序描述 ......................................................................................................................................... 7

4.2 功能 ................................................................................................................................................. 7

4.3 性能 ................................................................................................................................................. 8

4.4 输入输出项 ..................................................................................................................................... 8

4.5 限制条件 ......................................................................................................................................... 8 5 设计特点 ............................................................................................................................................ 8

5.1 通信便捷 ......................................................................................................................................... 8

5.2 开发速度快 ..................................................................................................................................... 8

第六部分、项目分工 ......................................................................................................................... 8

附录: ................................................................................................................................................. 9

第一部分、引言

1.1编写目的

本说明书在概要设计的基础上,对信息发布系统的各模块、程序分别进行了实现层面上的要求和说明。

软件开发小组的产品实现成员应该阅读和参考本说明进行代码的编写、测试。

1.2背景

说明:

A、 软件系统的名称:信息发布系统

B、 任务提出者:JAVA实践小学期

开发者:***

C、 实现完成的系统将可用在所有JAVA虚拟机的个人PC上.为使用者提供信息发布,浏

览,评论的方式,沟通各个用户.

1.3定义

服务器端API :服务器端设计者通过规范的API文档,提供给客户端,以方便客户端的开发,使得同时进行,提高效率,节约时间。两端通过protocol(协议类)进行通信。

Gson:Google提供的一个类库。通过使用这个类库,可以把把对象转换成json格式的字符串,以方便在网络中的传输。也可反向将字符串转换成对象,这样带有方法地操作对象,可以有效,方便地保证信息的沟通。

Json:JavaScript Object Notation,是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,JSON采用完全独立于语言的文本格式,这些特性使得JSON成为理想的数据交换语言。

1.4参考资料,相关的文件包括:

A、 《项目需求说明》;

B、 《项目详细设计说明书》;

C、 《项目概要设计说明书》;

参考资料:

《软件工程概论》,王华

第二部分、程序系统的结构

该系统为了两大部分:客户端与服务器端,中间通过protocol类通信。其中使用gson库来转换和逆向转换对象,实现标准包括:

1、客户端主程序

A、工程类型:JAVA项目;

B、工程名称:信息发布系统

C、编译生成文件:jar形式

D、引用的组件:JDK,Gson库

注:以上提供的是工具集合,具体用到的类都包含在里面

2、服务器端主程序:

服务器端程序以及数据库操作类(DBO)

3、服务器端数据库操作

验证用户,用户注册,更改密码,更新文档,新建文档,新建记录(包括浏览记录和回复记录),查看文档,删除文档,查看记录。

第三部分、基本操作部分

界面设计如下图:

3.1程序描述

A、客户端窗体:

尽量友好的设计,让用户尽可能地关注信息的内容主体。

B、服务器端设计:

该窗体在设计上尽量的符合人们的使用习惯,并且在出现非法操作的情况下,有相应的提示信息输出。

3.2整体结构

系统的整体大致结构为下图:

3.3性能

灵 活 性:窗口响应绝大部分的快捷菜单和控制面板操作;

时间特性:响应鼠标单击的时间在2~3秒之间;

3.4输入输出项

输入的数据是户执行的各种操作,包括鼠标、键盘等操作。

输出是从数据库中读取的数据,或错误警告信息。

3.5算法

本部分没有采用自定义的算法。

3.6主要类的设计

用户类

数据库操作类(包括静态方法)

3.7存储分配

本程序在高级语言JAVA进行编码,直接的内存分配由JAVA运行时分配。

本组件内所依赖的变量、结构要求全部在组件元素内申明。

3.8注释

在代码的适当出有中文代码注释。

注释设计请参考《Visual Basic 可视化程序设计》的附录部分。

3.9限制条件

所有用户的权限都经过严格设置,不能进行权限外的操作。用户组分为三组:管理员,用户和游客。

3.10测试计划

测试日期、测试人员安排请参考测试计划,测试用例的具体内容,请参考测试用例说明。

3.11尚未解决的问题

在文件中存储文档文件中,不能存储文件名相同,但类型不同的文档。可以通过在文件名中加入文档类型来解决。但因时间关系,尚未解决。

第四部分、其它附加功能及帮助系统

4.1 程序描述

本程序设计是客户机和服务器机通过C/S模式,建立连接。在此基础上,进行信息的共享,发布等功能。系统的目的是为了方便用户的沟通。

4.2 功能

主要功能就是给用户带来信息的沟通,交流的便捷。

4.3 性能

灵活性:响应鼠标操作和键盘操作。

时间性:视网络响应速度而定。

4.4 输入输出项

从键盘,鼠标按提示输入。

依服务器响应从界面输出响应信息。

4.5 限制条件

在界面上控制输入输出,服务器端如果出错也会返回出错信息。

5 设计特点

5.1 通信便捷

本系统客户端与服务器端采用JSON格式作为信息载体,在开发中将信息作为对象,信息传递很便捷。

5.2 开发速度快

由于使用通信协议约定,所以只要客户端与服务器端约定好通信协议API文档,即可以进行通信。而且直接对对象操作,不存在类型转换的问题。这样可以使客户端与服务器端开发同时在API文档的约定下进行,提高开发效率。

第六部分、项目分工

王佳龙: 负责编写GUI部分代码,以及客户端部分的所有代码

戴清灏:编写服务器端代码,设计通信协议,以及对数据库的操作。负责编写详细设计文档。

华从男:各方面知识全面,负责组织工作,在软件测试方面有一定的能力。在软件开发过程负责测试文档等文档的编写。

王玮柯:负责测试,组织工作。

附录:

服务器端操作API文档(最少需要的参数,如不全服务器会返回type=“0”的信息):

服务器和客户端之间的所有通信都封装在protocol对象中,通过对要发送的protocol对象进行set和get操作就可以通信。

验证用户,用户注册,更改密码,更新文档,新建文档,新建记录(包括浏览记录和回复记录),查看文档,删除文档,查看记录

1.验证用户

name,pass,LimitsOfAuthority

返回:如验证通过则返回type=“11”,不通过则返回type=“12”

2.用户注册

name,pass,LimitsOfAuthority

返回:如注册成功则返回type=“21”,不成功则返回type=“22”

3.更改密码

name,pass,newPass

返回:如更改成功则返回type=“31”,不成功则返回type=“32”

4.查看文档

filename(可选,如为“”则查询本类的所有文档,不带全部内容),filetype,replyAuthor(可选,如果filename不为“”则必须)

返回:如查看成功则返回则返回type=“41”,不成功则返回type=“42”;文档内容在content中,文档名列表在filenames[]中,对应的文档摘要在filesummaries[]中;回复内容在recordContents[]中,对应的回复作者在recordAuthors[]中

5.建立新文档

filename,filetype,content,author,filesummary

返回:如果建立成功则返回type=“51”,如不成功则返回type=“52”

6.修改文档

filename,filetype,newFilename,newFiletype,filesummary

返回:如果修改成功则返回type=“61”,如不成功则返回type=“62”

7.建立新记录

filename,filetype,recordContent,replyAuthor

返回:如果建立成功则返回type=“71”,如不成功则返回type=“72”

8.删除文档

filename,filetype

返回:如查询成功则返回type=“81”,如不成功则返回type=“82”

9.查看浏览记录

返回:如查看成功则返回type=“91”,如不成功则返回type=“92”,返回的记录内容在recordContents[]中,对应的作者在recordAuthors[]中


相关内容

  • 板式换热器选型计算书
  • 目 录 1.目录 2.选型公式 3.选型实例一(水-水) 4.选型实例二(汽-水) 5.选型实例三(油-水) 6.选型实例四(麦芽汁-水) 7.附表一(空调采暖,水-水) 8.附表二(空调采暖,汽-水) 9.附表三(卫生热水,水-水) 10.附表四(卫生热水,汽-水) 11.附表五(散热片采暖,水- ...

  • 软件工程(第三版)教学大纲
  • 软件工程(第三版) 教学大纲 一.教学目的与任务 软件工程是计算机软件.计算机应用等相关专业的一门重要的专业课.必修课.是一门综合性和实践性很强的课程.本课程讲述软件工程的基本概念.原理和方法,软件开发的过程.步骤.方法与技术,要求学生了解软件项目开发的一般过程,掌握软件开发的主流方法,了解软件开发 ...

  • 技术面试之项目经验
  • -面试进行曲之技术面试(项目经验) 在前期已经讲过怎样分析自己,对自己进行一个准确的定位,选择一个合适的求职方向!并结合自己的实际个人情况来写一份针对性很强的个人简历!个人简历就是个人的广告!好的简历可以更受到用人需求单位青睐! 好的简历才能让你获得面试的机会!我们还针对面试列出了j2ee 方面的知 ...

  • [风景区规划]课程教学大纲
  • GDOU-B-11-213 <风景区规划>课程教学大纲 课 程 简 介 课程简介: <风景区规划>是园林专业必修专业课.该课程以园林设计初步.景观生态学.园林史等为专业基础,可与园林绿地规划等专业课并行.本课程是一门集科学.艺术.技术于一体的综合性课程,阐述风景区规划的概念. ...

  • 网站建设课程设计说明书模板
  • 网站建设程设计任务书 2010 -2011 学年第一学期 专业班级:09计算机网络与技术 课程名称: 综合网站建设 学号: 姓 名: 完成期限:自 2011年 10 月 15 日至 2011 年 11 月 15日 课程设计题目: 设计目的:随着网络技术的发展与互联网的普及,网站建设与网页制作越来越成 ...

  • 软件工程基本概念
  • 软件工程基本概念 考点1 软件的定义与软件特点 1软件的组成 软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序.数据和相关的文档. 软件由两部分组成: (1)机器可执行的程序和数据: (2)与软件开发.运行.维护及使用等有关的文档. 2软件的特点 软件具有如下特点: (1)软件是逻辑产品,而 ...

  • 项目开发规范报告
  • 项目开发报告 一. 报告的目的 通过反映此次项目开发中各层面存在的问题,以及对项目开发中造成的影响,来反映项目开发中规范化的必要性,以及开发文档的重要性.规范化软件开发流程控制是为了使整个软件产品在开发各个阶段清晰.要求明确.任务具体,便于规范化.系统化及工程化,利于提高软件生命周期的控制及管理,提 ...

  • 论文中关于RETE算法的部分
  • 北京航空航天大学硕士学位论文 第四章 鉴别网络的设计 鉴别网络(discrimination network)是RETE 算法的基础.本章将从设计的具体细节着手,在介绍鉴别网络的基本结构后,阐述alpha 和beta 网络生成算法的设计.最后通过实例给出了利用所设计的算法,由规则对象建立鉴别网络的过 ...

  • 软件设计实例分析教学大纲
  • <软件设计实例分析>教学大纲 中文名称:<软件设计实例分析>实验 英文名称:Software Design Case Analysis 实验学时:37学时 先修课程:软件工程.软件需求分析与设计 适用专业:软件工程 课程性质:非独立设课 课程负责人: 专业负责人: 一.教学目 ...