软件概要设计说明书

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特殊考虑

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

树屋项目--软件概要设计说明书相关推荐

  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需求概述 3 2.4条件与 ...

  2. 软件概要设计说明书模版

    原文地址::https://wenku.baidu.com/view/17456494dd88d0d233d46aab.html 相关文章 1.软件概要设计说明书-模板----https://www. ...

  3. 自动咖啡机项目-软件规格说明书

    软件需求规范文档 Software Requirements Specifications Document (SRS) 本文档参照IEEE Guide to Software Requirement ...

  4. Android平台_驱动_SD_软件 概要设计说明书

    1.引言 1.1 编写目的 手机项目中描述SD部分的驱动设计架构.设计方法.为上层应用提供底层的函数接口和功能,方便上层对SD应用的正确调用,作为开发和测试人员制定测试规范的参考文档.主要读者适用于手 ...

  5. 软件需求工程 高校教学平台 软件概要设计说明书

    点击查看 软件需求工程 高校教学平台 卷首语 文章目录 引言 编写目的 背景 定义 参考文献 总体设计 用户需求规定 教师.助教 学生 管理员 游客 其他需求规定 运行环境 基本设计概念和处理流程 结 ...

  6. 软件开发过程学习笔记(三)之概要设计说明书模板

    1 引言 1.1 编写目的 本设计书主要是基于以下目的编写: 1.对系统概要设计的阶段任务成果形成文档,以便阶段验收.评审,最终的文档验收. 2.对需求阶段的文档再次确认过程,对前一阶段需求没有做充分 ...

  7. 需求规格说明书和软件概要设计文档最终版上线~

    由于前面已经发布的版本中的部分活动图在由Word文档转化为Pdf文件时发生变形,此次针对这个问题进行了修复和完善~推出了最终的需求规格说明书4.0版本和软件概要设计说明书3.0版本~ 需求规格说明书修 ...

  8. 软件概要设计与详细设计的区别

    概要设计与详细设计的区别 概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等.同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数 ...

  9. 工程管理文档:概要设计说明书

    2019-11-05 软件工程管理中,有几个比较重要的文档,软件开发者这边会接触到的,有:需求输入表.需求规格说明书,概要设计,详细设计,自测报告.这里我想要谈一谈概要设计文档,也是对于开发者而言,最 ...

最新文章

  1. C错误异常处理,异常处理
  2. windows下多进程加协程并发模式
  3. 122网络各层中的设备是什么以及工作原理
  4. MySql—索引原理
  5. 强化学习算法Policy Gradient
  6. python 小说 云_python小说网站
  7. 大学 C语言程序设计第一讲,c语言程序设计1第一讲(第一章上).ppt
  8. loadrunner mysql_LoadRunner访问Mysql数据库
  9. 虚拟仿真引擎消息机制
  10. 方维系统登陆弹窗,登陆后自动刷新当前页的实现方法
  11. 云计算--Docker在Ubuntu上安装
  12. JS中“use strict”的含义以及使用它的区别
  13. Android App Dark Theme(暗黑模式)适配指南
  14. [比赛记录] 主流机器学习模型模板代码+经验分享[xgb, lgb, Keras, LR]
  15. Fiddler抓包6-打断点(bpu)
  16. Docker安装及镜像配置(常用命令介绍)
  17. Java代码混淆工具-ProGuard
  18. 杰理之统一音量控制【篇】
  19. 行业凛冬,Android开发怎样准备一场完美的面试?
  20. 选择性合并、等增益、最大比值

热门文章

  1. 如何使用子项目管理方案?
  2. dia 在Linux(ubuntu)下无法输入中文的解决办法
  3. MapReduce初级编程实践
  4. 奋斗和追求精神,以及何时青春已逝的思考
  5. A与B都是m×n矩阵,则A与B列等价的充分必要条件是存在n阶可逆矩阵Q,使AQ=B
  6. 解决安装docker或虚拟机黑屏、无法开机的问题
  7. Zabbix原厂给中国用户的一封信,4大理由消除使用限制的担忧
  8. [境内法规]中国人民银行关于金融机构严格执行反洗钱规定防范洗钱风险的通知—银发2005
  9. 细节成就成败.品质成就未来ALOKEX带给你的不仅仅只是财富还有美好未来
  10. 计算机网络 TCP/IP模型