树屋 -- 软件概要设计说明书

软件概要设计说明书

1.引言
1.1目的
该文档主要是描述树屋系统的概要设计,主要内容包括系统功能简介,系统结构设计,系统接口设计,模块设计和界面设计等.

1.2范围

1.2.1 系统目标

开发一个包含推送用户感兴趣内容,评论文章,好友聊天和社团讨论于一体的多客户端软件.

1.2.2主要软件需求

该系统功能包括:

·用户注册/登陆

·好友聊天

·社团模块

·发布动态

·查看他人动态

·小游戏

·可选功能
1.2.3软件设计约束、限制

PC端需要JDK的支持
1.3缩写

暂无.
1.4术语

暂无
1.5考资料

·<<软件工程方法与实践>>

·<<软件工程实验教程>>

·<<Java面向对象编程>>


1.6版本信息

具体如下:

修改编号

修改日期

修改后版本

修改位置

修改概述

1

2018.3.19

0.1

创建项目

项目开始

2.数据设计
2.1数据对象和形成的数据结构

用户:描述用户的基本信息,包括用户id,密码,性别,偏好等.其数据结构被封装为一个类.

文章:描述用户发布的文章信息,包括文章id,标签,点击数,收藏数,以及其物理存储路径.其数据结构被封装为一个类.

标签表:描述文章标签信息,是文章依据标签的一个索引,记录该标签文章数目和相应文章的路径.其数据结构被封装为一个类.

社团列表:描述社团信息,包括社团id,社长id,团员id信息,以及标签.其数据结构被封装为一个类.

好友列表:记录用户与其相关联的好友id,这是一个类.
2.2文件和数据库结构

其他:其他信息存储在MySQL数据库中.
2.2.1外部文件结构

服务器配置文件: ServerPreference.in
2.2.2全局数据

树屋用户访问数据库公共信息.

2.2.3文件和数据交叉索引

存储在数据库中.

3、体系结构设计

3.1数据和控制流复审

树屋 -- 软件概要设计说明书

3.2得出的程序结构
根据复审的数据流图,逐步得出软件的逻辑组成结构.利用优化思想,对软件结构图进行优化设计,得出模块层次结构适中的软件结构图.

树屋 -- 软件概要设计说明书


4.界面设计

4.1人机界面规约

·登录与注册界面:该界面负责读入已注册用户名和密码,以及未注册用户进行注册.

·系统主界面:该界面负责推荐文章给用户,由用户关注者的文章、系统根据用户偏好随机推荐的文章、以及用户可能感兴趣的文章组成.

·用户文章界面:该界面负责显示用户点开的文章,用户可以选择点赞、关注、收藏和评论.支持显示图片和一定格式的文字.

·用户信息界面:该界面负责现象发表文章的用户的一些公开信息,并提供添加好友的入口和留言功能.

·好友界面:该界面显示用户好友列表,以及聊天界面.

·社团界面:该界面显示用户加入是社团列表,以及社团聊天界面.

·小游戏界面:该界面显示一些系统支持的小游戏,用户可以选择游戏并进入游玩.

·用户设置界面:该界面显示用户的个人信息和系统的一些设置信息,用户可以更改个人信息.

4.2人机界面设计规约

各个界面之间的转换如下:
·登录界面->主界面

·主界面->文章界面->用户信息界面

·好友界面->用户信息界面

·社团界面->用户信息界面

·用户信息界面->文章界面


5.接口设计

5.1外部接口设计

与外部系统或设备的连接关系和通信方式.

5.1.1 外部数据接口

通过herbliate框架访问SQL数据库.
5.1.2外部系统或设备接口

与外部系统或设备接口的连接方式和通信方式.

暂无.

5.2内部接口设计规约

5.2.1内部模块接口调用关系

参见程序结构图.

·登录模块:Login(userName:String,userPswd:String):boolean;

·系统总模块:Main():void;

·推荐文章模块:Recommend(usrPref:UserPref):ArticleList;

·好友系统:FriendSystem(userMsg:UserMsg):FriendList;

·社团系统:AssnSystem(userMsg:UserMsg):AssnList;

·小游戏系统:GameSystem(userMsg:UserMsg):GameList;

5.2.2接口数据结构

描述接口的每个参数的数据结构、参数顺序和默认值.

·UserMsg:传递用户的基本信息,默认为访客.

·UserPref:传递用户偏好信息,默认NULL.

6.模块过程设计

6.1处理说明

简要描述每个模块的任务和处理过程.

登录与注册:负责用户的登录和注册.

推荐文章:根据用户偏好推荐对应文章.

好友系统:添加、屏蔽和删除好友,好友聊天.

社团系统:加入、退出社团,社团聊天.

小游戏系统:丰富用户交互,提高系统乐趣性.

6.2接口描述

详细描述模块接口的参数与结构.

·Login(UserMsg):bool;

·Recommend(UserPref):ArticleList;

·FriendSystem(UserMsg):FriendList;

·AssnSystem(UserMsg):AssnList;

·GameSystem(UserMsg):GameList;

6.3设计语言描述

对采用的语言进行简要说明.

使用java语言进行编写.

6.4使用的模块

与其他模块的调用关系.

Login模块调用Main模块,Main模块调用其他模块.

6.5内部设计结构

内部处理算法或步骤,可采用结构化程序设计方法来描述.

过于复杂,略.

6.6注释/约束/限制

给出模块的代码的注释、约束和限制.

在模块包里书写模块功能说明文档.

7.需求交叉索引

存在交叉的部分,即共享模块的调用关系.

用户信息模块:该模块是其他模块的基础,其他模块基本上都会通过调用该模块获取用户信息.

用户偏好分析系统:在给用户推荐文章、用户点击文章、用户对其他用户发布的文章进行操作时都会调用该模块.

8.测试部分

8.1测试方针

给出测试的原则、策略和方法.

原则:要求进行模块测试和集成测试.

策略:进行黑盒和白盒测试.

8.2集成策略

模块集成策略和测试策略及其方案等.

该系统各个模块间的耦合性较低,测试时多进行模块测试.

8.3特殊考虑

该系统对服务器的稳定性有较高要求,建议对服务器端进行压力测试.

相关推荐