软件设计文档第六期SRTP项目含需求分析文档概要设计详细设计使用手册.docx
- 文档编号:1972505
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:43
- 大小:977.24KB
软件设计文档第六期SRTP项目含需求分析文档概要设计详细设计使用手册.docx
《软件设计文档第六期SRTP项目含需求分析文档概要设计详细设计使用手册.docx》由会员分享,可在线阅读,更多相关《软件设计文档第六期SRTP项目含需求分析文档概要设计详细设计使用手册.docx(43页珍藏版)》请在冰点文库上搜索。
软件设计文档第六期SRTP项目含需求分析文档概要设计详细设计使用手册
软件设计说明书
项目名称
基于GoogleMap的垂直社交网站的设计与实现
项目编号
110453
项目成员
ql,xx,xxx,xxx
指导老师
xx
一、需求分析报告
1引言
1.1编写目的
该需求规格说明书对基于GoogleMaps的社会交友系统进行了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能和界面,概要设计说明书和完成后续设计与编程工作将在此基础上进一步提出。
1.2项目背景
现有的交友网站大多不支持LBS,即地理信息服务,用户状态的改变只有文本的内容改变,难以反应出用户当前的其它信息。
本交友系统基于LBS,用户在更新状态时可以加上地理位置信息,并会在地图上显示出其位置,能让人直观的看到友人所处的位置,方便朋友间线下的活动。
在此背景下成立了该项目。
1.3术语定义
表1.1术语定义表
B/S结构
Browser/Server(浏览器/服务器)结构
GoogleMaps
Google公司开发的一个地图,编程人员可以调用其API,在自己的网站中加入地图
API
ApplicationProgrammingInterface应用程序编程接口
LBS
LocationBasedService基于位置的服务
SNS
SocialNetworkingServices社会性网络服务
2任务概述
2.1目标
该系统的目的在于给用户创造一个新的交友环境,让用户能够使用地理信息来丰富自己的内容,同时运用地理位置来使应用变得有趣,例如通过当前位置查找范围内的陌生人并加好友。
通过LBS,能够让用户体验到新鲜好玩的东西。
2.2用户特点
面向所有网民,有时间上网,爱交友,爱探索位置周边信息。
2.3假定约束
本系统开发期限为12个月。
用户调研,需求分析,概要设计和前期工作为2个月,
具体代码编写,功能实施,最后软件测试和系统总结为6个月。
对设备的要求:
要求计算机稳定性良好,整套系统经济实惠。
可以利用的信息和资源:
图书馆书籍和网络资源。
3功能需求分析
系统流程简图:
(仅针对用户)
用户
注册
注册/登录选择
登录
退出
注册
个人主页
请求新鲜事
操作结果
返回结果
好友操作
返回新鲜事
日志
操作
新鲜事
模块
日志模块
好友系统
······
图2.1系统流程简图
功能树状图:
LBS交友系统
后台(略)
前台
好友搜索
投票
群组
朋友圈
心情
相册
照片
日志
登录
注册
图2.2功能树状图
该系统的功能具体如下:
表3.1系统功能表
序号
功能名
功能明细
备注
1
登录/注册
新用户的注册以及老用户的登录以及登录验证
2
新鲜事
登录后现实好友的新鲜事(普通模式和地图模式)
3
日志
编辑,修改自己日志以及查看,评论好友日志(普通模式和地图模式)
4
相册/照片
编辑,修改自己相册照片以及查看,评论好友相册照片(普通模式和地图模式)
5
心情
编辑,修改自己心情以及查看,回复好友心情(普通模式和地图模式)
6
朋友圈
管理自己的朋友圈子
7
群组
创建群组,结实志同道合的人
8
投票
发起投票,看看大家的意见
9
搜索好友
找到好友以及陌生人(普通模式和地图模式)
4运行环境需求
服务器端:
WindowsServer操作系统
ApacheWeb服务器
MySQL数据库
PHP5.5版本环境
客户端:
WindowsXP或以上操作系统
IE6或以上版本浏览器或Chrome或Firefox或Opera浏览器
5其它非功能需求
5.1性能需求
带宽要求:
50-100M独享带宽或共享带宽。
由于加载地图时所需的数据量较大,所以需要服务器的带宽应尽量高,同时地图的响应时间也与用户接入的实际带宽有很大关系。
数据精确度要求:
数据精度保持8位以上,能更有效的标注用户位置。
由于用户需要在地图的坐标上标注位置,所以需要地图数据(坐标,方向,海拔等)有相当高的精度,最大化的减少用户标注的地理位置与真实位置的偏移和失真。
数据库要求:
对关键位置的索引应尽量多而全同时应尽量快,否则加载地图时会出现延迟,影响用户体验。
系统响应时间最大不超过5秒,平均在1~3秒。
同时应具有良好的适应性,可移植性,可维护性
5.2安全性需求
1.用户可以选择对哪些分组或部分个人好友公开自己的地理位置信息,同时也可以选择公开的时间和地理范围。
以防止用户隐私的泄漏和公开,尽量给用户以最大的自主性。
2.规则严密的用户白名单和黑名单系统。
本软件不仅提供了简单的自定义分组,同时还设置了白名单分组和黑名单分组。
白名单分组:
分组内好友拥有时时得到用户地理位置信息的权限,并且彼此的地理信息会首先加载,同时互动信息也会第一位的传递给彼此用户。
黑名单分组:
屏蔽此分组内用户对用户任何信息(最重要的是用户的地理位置)的访问,并且拒绝“加为好友”的任何申请和站内信件或评论。
3.用户的定制地图默认是某些好友公开,而不是向所有好友公开。
防止默认情况下,用户的隐私计划泄漏并且不可挽回。
5.3软件质量属性
本软件的响应速度优于界面的人性化和功能的多样性,用户首先关注的是网站的地图加载速率,然后才是界面的人性化和功能的多样性。
5.4业务规则
●当用户发表的两个言论之间的间隔不超过10s时,要限制用户发言,防止用户恶意评论或机器评论。
●用户标注商铺(景点)或分享商铺(景点)信息时,需要确定用户等级数,当达到一定等级之后才能分享商铺和景点,防止某些相关人员随意篡改和增加信息。
5.5用户文档
●用户使用手册
●网站帮助文档页面
6待定问题列表
1.用户是否愿意提供自己的地理位置信息
2.网页设计师界面设计能否达到用户的易用性要求。
二、概要设计报告
1引言
1.1编写目的
为明确垂直社交网站系统的系统结构、安排项目规划与进度、制定详细测试计划、组织软件开发与测试,特撰写本文档。
本文档的主要阐述基于GoogleMaps的的概要设计内容。
本阶段将会在需求分析的基础上对软件系统做进一步的概要设计,主要包括系统的组织设计、结构设计、接口设计、出错处理设计和数据库设计。
同时,在下一阶段的详细设计中,本阶段的概要设计将做为参考,以方便完成整个系统的设计工作。
本文档供项目经理、设计人员、开发人员参考。
1.2背景
开发软件名称:
基于GoogleMap的垂直社交网站
项目来源:
西南交通大学第六期SRTP项目
项目开发者:
祁磊,郭凯,仓文旭,李丹丹
用户:
互联网用户
项目与其他软件,系统的关系:
该系统是在iwebSNS平台上进行进一步的开发,所以在定义数据时要与已有系统相兼容,同时保持页面风格保持一致。
1.3定义
GoogleMap:
谷歌地图(GoogleMaps)是Google公司提供的电子地图服务,包括局部详细的卫星照片。
GoogleMapsAPI:
Google为开发者提供的Maps编程API。
SQLSERVER2005:
微软公司生产的SQLSERVER数据库管理系统;
iWebSNS:
一款大型高并发高负载的开源SNS软件,基于iwebSuperInteraction(简称iwebSI)框架开发
1.4参考资料
[1]需求分析报告,祁磊,2012.1
[2]齐治昌,谭庆平,宁洪编著,软件工程(第2版),北京,高等教育出版社,2004
[3][美]戴维斯,M.E.等著,车立红等译,LearningPHP&MySQL中文版,北京,中国电力出版社,2007
[4]杨智宇著,PHP5+MySQL动态网站开发指南,北京,科学出版社,2008.6
[5]项目介绍网址,
http:
//202.115.71.131/SRTPMng2011/seeBlog.action?
proj_idDes=A0277B4E7F678833,2010
[6]iWebSNS主程序开发与改进规范,
2任务概述
2.1目标
在一般社交网站的基础之上,增加用户和用户发表的各种内容的地理信息,从而形成以地理位置信息为基础的社交网站。
由于项目是研究应用性质,所以都采用开源软件。
用户在注册登录之后,可以在相应的模块中增删改查相应的信息。
如在日志模块中,用户可以发表新日志,编辑日志,删除日志。
同时在个人首页中,可以查看好友的新鲜事,如好友最近发表的心情,日志,最近上上传的相片等。
在地图模式中,用户可以点击“全部”,在地图上查看所有好友的新鲜事,还可以选择查看日志新鲜事,心情新鲜事,相册新鲜事。
当用要发表心情时,用户右击地图选择“发表说说”即可在弹出的窗口输入文字信息,然后点击发布。
用户也可以右击地图在菜单中选择“发表日志”,“上传照片”,系统会自动指引用户到达相应页面。
2.2运行环境
软件环境
1.操作系统:
MicrosoftWindowsXP/Windows7
2.网络服务器:
Apache2.2及以上版本
3.数据库服务器:
MySQL5.0及以上版本
4.开发工具:
ZendStudio
设计和实现上的限制
1.处理器要求:
PentiumII及以上
2.运行环境:
php-5.2.4
3.内存要求:
512MB或以上
4.浏览器要求:
IE6.0及以上
2.3设计概述
2.3.1限制和约束
●技术条件;由于都是学生,可能专业技术和编程技术达不到要求。
●资金状况;资金目前是自己筹备资金
●开发环境(包括:
工具和平台);开发IDE免费,服务器软件需要支付费用
●时间限制;时间在一年之内。
2.3.2设计原则和设计要求
描述对本软件系统进行概要设计的原则,通常可以考虑以下几方面的内容:
1.用户界面设计原则:
为了让系统拥有良好的人机交互界面,本软件系统用户界面布局应考虑到用户的操作系统,做到功能布局明显、空间分配平衡,以及界面统一规范化等。
2.数据库设计原则:
考虑到本系统为小型的应用型系统,在进行数据库设计时要优先考虑的地理坐标的数据精确性,同时还要保证系统的简练性,所以在满足第一、第二范式的情况下允许一定量的冗余出现。
3.系统安全性原则:
为了确保用户地理位置的隐私安全,本系统应提供对用户地理信息数据进行加密。
3总体设计
3.1系统架构设计
controller
do.php
model.php
数据库
ajax
图3.1系统架构图
如图3.1所示,系统采用MVC三层架构开发模型。
之所以要如此设计因为大型网站通常要有一个良好的系统架构,方便协作和日后的扩展升级。
在本系统中主要采用了如下的设计:
1.请求结果展示
视图部分主要由PHP页面和HTML页面编译生成,用来显示各种请求返回的结果。
其中在HTML中利用Ajax技术动态的将数据库中的数据提取到前台页面中,再用javascript脚本语言解析服务器返回的json数据,并最终显示在页面中。
2.功能模块
功能模块部分重要是SNS网站的各个主要功能的实现模块,如心情模块,日志模块,相册模块等。
他们负责模块内各种业务逻辑的实现,如发表日志,
修改日志,上传照片等。
3.控制层Controller
此部分由系统核心的两个PHP页面do.php和model.php承担。
在PHP页面中维护这一个模块的注册数组。
控制层当接受到访问某个模块的请求时,会查阅模块注册数组,找到模块注册时留下的相对路径,然后系统自动调转到相应模块页面中。
4.数据库连接中间层
此部分是为了将系统和特定的数据库服务器分离开,降低系统的耦合度。
它是由PHP的dbconfig.php和cdbex类实现的。
系统将与数据库的连接配置抽离成变量,保存在dbconfig.php中,同时cdbex类将操作数据库的SQL语句封装成函数,方便系统调用。
3.2系统逻辑设计
3.1系统组织设计
系统组织表的格式如下:
子系统编号
英文名称
中文名称
业务职能
安装地点
备注
F0.1
SkanFriInfo
新鲜事(浏览好友信息)
在地图模型下查看用户好友的日志心情说说等信息
需要F0.4
F0.2
RegLog
注册登录系统
用户注册登录到网站
F0.3
FriSearch
搜索好友
在地图上搜索所有用户,并在地图上显示
需要F0.4
F0.4
LoadMap
载入地图
加载地图模式的地图js库和对话框库
3.2系统结构设计
系统特性表
系统由多个子系统(模块)组成时,所以每个子系统分别使用一张系统特性表进行描述。
系统特性表的格式如下:
表3.1浏览好友信息子系统特性表
子系统编号:
F0.1
子系统英文名称:
SkanFriInfo
子系统中文名称:
浏览好友信息
特性编号
系统特征
英文名称
系统特征
中文名称
操作功能
调用对象
被调用
对象
备注
T1.1
FriBlog
好友博客
查看好友的博客
T1.5
T1.2
FriMen
好友心情
查看好友的心情
T1.5
T1.3
FriShuo
好友说说
查看好友的说书
T1.5
T1.4
LoadMap
加载地图
加载地图
T1.5
T1.5
LoadFriInfo
加载好友信息
在地图上加载好友的信息
T1.1T1.2T1.3T1.4
表3.2注册登录子系统特性表
子系统编号:
F0.2
子系统英文名称:
RegLog
子系统中文名称:
注册登录
特性编号
系统特征
英文名称
系统特征
中文名称
操作功能
调用对象
被调用
对象
备注
T2.1
Reg
用户注册
记录用户信息,提供用户注册
T2.2
Log
用户登录
用户登录
T2.1
表3.3搜索好友子系统特性表
子系统编号:
F0.3
子系统英文名称:
FriSearch
子系统中文名称:
搜索好友
特性编号
系统特征
英文名称
系统特征
中文名称
操作功能
调用对象
被调用
对象
备注
T3.1
FriSearch
搜索好友
提供搜索用户功能
T2.1
T2.2
T3.2
AddFri
加为好友
加陌生用户为好友
表3.4载入地图子系统特性表
子系统编号:
F0.4
子系统英文名称:
LoadMap
子系统中文名称:
载入地图
特性编号
系统特征
英文名称
系统特征
中文名称
操作功能
调用对象
被调用
对象
备注
T4.1
LoadGoogleMap
加载基础地图
将GoogleMap贴片加入HTML
T4.2
LoadC
加载控件
加载地图自定义空间
T4.3
LoadUserInfo
加载用户信息
加载用户信息
T2.1
T2.2
T4.4
LoadJs
加载js库
加载js库和对话框函数库
T4.1
T4.2
4接口设计
4.1用户接口
在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。
在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。
在个人主页中应突出GoogleMap,并且在GoogleMap地图上的操作应尽量做到简单快捷,同时在页面的右侧边应有相应的文字指示和选择界面。
这个界面有两个用户:
一是指引用户进行下一步的操作,二是详细展示地图上的信息。
4.2外部接口
本系统主要使用GoogleMapsApi调用GoogleMap的各种地图服务。
同时使用ODBC服务调用MySQL的数据库服务。
4.3内部接口
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。
具体参数的结构将在下面数据结构设计的内容中说明。
接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
5系统数据结构设计
5.1逻辑结构设计
表和表字段命名规范:
1.表名的定义:
规范格式:
系统名_表名
本系统中的某个表定义为:
isns_users;
2.表字段的定义:
规范格式:
表名+下划线+字段名称,以避免字段重名出现在不同表中。
比如,表isns_users中的字段标识Id定义为:
user_d;
3.表字段长度的定义:
规范格式:
长度一般为8的整数倍;
比如,VARCHAR的长度可为8或16或24或32或64等;
4.表字段类型为日期型的定义:
规范格式:
一般日期型的字段设为Timestamp
5.公共表名的定义:
规范格式:
PUBLIC_表名(字母全部大写)
比如,各个子系统都会用到的公共表,如角色或操作日志表可定义为:
PUBLIC_ROLE,PUBLIC_OPERATELOG;
表5.1用户表isns_users
编号
字段名称
数据类型
大小
允许空
默认
说明
1(PK)
user_id
mediumint
8
ID
2
user_name
varchar
50
姓名
3
user_sex
Smallint
2
√
0
性别
4
user_email
varchar
200
√
邮箱
备注:
其他字段(基本信息)此处略去
表5.2位置表`isns_location
编号
字段名称
数据类型
大小
允许空
默认
说明
1(PK)
Loc_id
int
ID
2
User_id
Mediumint
8
用户ID
3
Mood_id
Mediumint
9
√
0
心情ID
4
Blog_id
Mediumint
9
√
0
日志ID
5
Album_id
Mediumint
9
√
0
相册ID
6
address
Varchar
200
√
地址信息
2
lat
Double
10,6
√
纬度
3
lng
double
10,6
√
经度
备注:
其他字段(基本信息)此处略去
表5.3好友信息表isns_pals_mine
编号
字段名称
数据类型
大小
允许空
默认
说明
1(PK)
id
mediumint
8
表ID
2(FK)
User_id
mediumint
8
用户ID
3(FK)
Pals_id
mediumint
8
好友ID
备注:
其他字段(基本信息)此处略去
表5.4日志表
编号
字段名称
数据类型
大小
允许空
默认
说明
1(PK)
Log_id
Mediumint
8
日志ID
2
user_id
Mediumint
8
√
Null
用户ID
3
Log_title
Varchar
80
√
Null
日志标题
4
Log_content
Text
√
Null
日志正文
5
Tag
Varcahr
80
Null
日志标签
6
Privacy
Varchar
200
Null
日志隐私
备注:
其他字段(基本信息)此处略去
表5.5相册表
编号
字段名称
数据类型
大小
允许空
默认
说明
1(PK)
Album_id
Mediumint
8
相册ID
2
Album_name
varchar
200
√
相册名称
3
User_id
Mediumint
8
用户ID
4
Privacy
Varchar
80
相册隐私
表5.6心情表
编号
字段名称
数据类型
大小
允许空
默认
说明
1(PK)
Mood_id
Mediumint
8
心情ID
2
User_id
Mediumint
8
用户ID
3
Mood
Text
√
心情内容
5
Comments
Int
5
√
评论数
备注:
其他字段(基本信息)此处略去
表5.7相片表
编号
字段名称
数据类型
大小
允许空
默认
说明
1(PK)
photo_id
Mediumint
8
相片ID
2
User_id
Medium
8
用户ID
3
Photo_name
Varchar
200
√
Null
相片名称
4
Photo_infomation
Text
√
null
相片信息
5
Photo_src
Varchar
150
√
null
相片存放路径
6
Album_id
Mediumint
8
所属相册ID
备注:
其他字段(基本信息)此处略去
6系统出错处理设计
6.1出错信息
表6.1出错信息表
出错名称
系统输出信息
处理方法
未输入地址信息
“请填写地址”
在输入框显示出错信息
未点击地图
“请在地图上标注”
在输入框显示出错信息
用户名输入错误
“用户名错!
请重新输入!
”
进入登录页面
前三次密码错误
“您的密码输入有误,请重新输入!
”
进入登录页面
密码错数次数超过三次
“密码错误!
请半个小时后再进行登录操作!
”
进入默认登录页,并半小时内禁止该用户进行登录。
输入数据格式错误
“输入格式不正确,请检查后再输入!
”
返回原输入页面
不允许为空的输入框输入空字符
“请输入!
”
弹回原输入页面的输入处
系统故障
“服务器维护中!
暂停服务!
”
立即启用备用机,恢复故障
6.2补救措施
由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破坏。
但有可能占用更多的数据存储空间,权衡措施由用户来决定。
三、详细设计报告
1引言
1.1编写目的
本文档的目的是阐述基于Goo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件设计 文档 第六 SRTP 项目 需求 分析 概要 设计 详细 使用手册