软件设计文档第六期SRTP项目含需求分析文档概要设计详细设计使用手册.docx

上传人:b****2 文档编号:20439688 上传时间:2023-04-25 格式:DOCX 页数:43 大小:977.24KB
下载 相关 举报
软件设计文档第六期SRTP项目含需求分析文档概要设计详细设计使用手册.docx_第1页
第1页 / 共43页
软件设计文档第六期SRTP项目含需求分析文档概要设计详细设计使用手册.docx_第2页
第2页 / 共43页
软件设计文档第六期SRTP项目含需求分析文档概要设计详细设计使用手册.docx_第3页
第3页 / 共43页
软件设计文档第六期SRTP项目含需求分析文档概要设计详细设计使用手册.docx_第4页
第4页 / 共43页
软件设计文档第六期SRTP项目含需求分析文档概要设计详细设计使用手册.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

软件设计文档第六期SRTP项目含需求分析文档概要设计详细设计使用手册.docx

《软件设计文档第六期SRTP项目含需求分析文档概要设计详细设计使用手册.docx》由会员分享,可在线阅读,更多相关《软件设计文档第六期SRTP项目含需求分析文档概要设计详细设计使用手册.docx(43页珍藏版)》请在冰豆网上搜索。

软件设计文档第六期SRTP项目含需求分析文档概要设计详细设计使用手册.docx

软件设计文档第六期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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1