第2章 需求分析

2.1 可行性分析

2.1.1编写目的

需求分析明确和定义了用户的需求,方便在之后的概要设计和详细设计中,更好的对系统进行设计,逐步开发强壮的系统框架,使设计适合于实施环境,提高系统的性能。通过需求分析,来明确用户的需求,安排项目规划与进度、组织软件开发与测试,方便后期工作的进行。

     本文档面向的读者有经理、设计人员、开发人员。

2.1.2项目背景

1.项目名称:知行网项目

2.项目来源:软件工程课程作业

任务提出者:

开发者:

3.由于时下大多数人生活优越,交通工具方便快捷,信息获取方便,导致旅游业迅猛发展。但是现有的旅游网站内容并不是非常完善,缺少“物以类聚、人以群分”为特点的小组部分。为此,我们计划开发出一个帮助爱好旅游的人寻找自己志同道合的小组网站。通过本系统,爱好旅游的人可以比较方便地找到和自己志同道合的人,并看到与自己志同道合的人发的话题,并进行回复。同样,用户也可以发起话题,创建小组。

2.1.3定义

1. 游客的权限:浏览话题信息,浏览目的地信息,查询小组信息;

2. 会员的权限:能够发起话题、加入小组、能够申请创建小组,对目的地信息提出改善意见;

3. 小组管理员权限:除会员权限外,拥有对小组资料进行修改,管理小组成员,对话题进行审核;

4. 小组组长的权限:相比小组管理员增加解散小组权限;

5. 管理员的权限:系统后台管理员,拥有最高权限;

6. 知行网:一个创业型的旅游网站。

2.1.4可行性研究

2.1.4.1功能要求

这是一个帮助爱好旅游的人查询旅游信息以及寻找伙伴的网站,可以创建组进行讨论,发表话题相互交流,主要功能如下:

  1. 目的地的展示和修改;
  2. 话题小组的创建和管理;
  3. 话题的创建和交流。

2.1.4.2性能要求

  1. 响应时间:2000ms之内;
  2. 更新处理时间:2000ms之内;
  3. 数据的转换和传送时间:3000ms之内;支持鼠标和键盘的操作,移动设备上支持触屏操作;
  4. 支持win Xp、win7、win8、Linux、android、Mac OS等多种操作系统的浏览。

2.1.4.3安全性和保密性要求

未登录时可访问网站的大部分信息,但无法参与网站活动和动态交流;会员登录后可参与大部分网站的交流活动;会员可申请为小组组长、小组管理员,获得小组内部的部分控制权限;管理员拥有系统最高权限,可参与并修改所有活动和内容。

需要保证以下安全性:

      1.账号和密码的安全性,密码的选择需符合一定的规范,强制用户设置密码时使用大小写、数字的结合等

      2. 在数据库的设计上要避免出现SQL漏洞

3. 服务器的防护、管理密码的安全、数据库放置文件夹的隐蔽性等

2.1.4.4目标

  1. 帮助旅友更快更便捷的寻找目的地信息和旅途信息;
  2. 帮助旅友更方便的寻找志同道合的伙伴;
  3. 激励会员的积极性,让会员参与到网站的建设中;

2.1.4.5条件、假定和限制

  1. 建议使用寿命:2年
  2. 客户端浏览器:IE6.0以上,Chorm,FireFox
  3. 硬件条件:服务器Windows7,2G内存
  4. 开发软件:MyEclipse9.0,MySQL,Rational Rose 7.0,Tomcat5.5

2.1.4.6人员

  1. 项目经理:1名
  2. 网站开发人员:5名
  3. 网站美工:1名

2.1.4.7设备

服务器一台,开发设备多台,客户端测试设备多台

2.2 需求分析

2.2.1名词解释

(1)板块名称:

首页 index 目的地 place照片墙 albums 小组 group

搜索 search

(2)目的地部分(place)

省份 province城市 city城市概况 introduction旅行时间 traveltime实用信息 tips

网友提醒 remind景点 attraction户外 outdoor住宿 room交通 traffic购物 shoping

美食 gourmet点评 review地图 map图片 photo

(3)个人首页

我的首页 home/index

我的足迹 home/place

我的分享 home/share 我发表的 myshare 我回复的reply_myshare 我收藏的favorite_share

我的相册 home/albums 我上传的 myalbums 我收藏的 favorite_albums

我的小组 home/group 我创建的 mygroup 我加入的 join_group

我的话题 home/group 我发表的 mytopic 我回复的 topic_reply

(4)按钮:

去过 been想去 want更新/纠错 updated添加 add评论 reply创建 creat收藏 favorite 分享 shareto

2.2.2功能描述

功能描述分为小组功能描述和目的地功能描述两个模块进行,系统功能模块图如图2-1所示。

图2-1 系统功能模块图

2.2.3功能要求

要求本项目实现所有一下功能:

l  目的地模块:

(1)        城市查找

能够在目的地首页点击地图进入所选中城市首页,也能够在目的地首页通过城市搜索查找到该城市。

(2)        城市资源查询

可以在地图上进行选择,也可以手动输入查询所选城市的景点、旅店、交通、美食、购物、户外活动等信息。

(3)        资源的评价

用户可以对景点,美食,购物,交通,旅店,户外活动进行评价

(4)        上传资源信息

会员可以上传景点,美食图片加以描述,标记地点

l  小组模块:

(1)        建立小组

会员可以申请建立小组

(2)        查询小组

可以浏览或者输入关键字来查找自己感兴趣的小组,并向小组管理员申请加入

(3)        小组话题讨论

组内可以发起话题,相互讨论,可以交流旅行,美食等的经历,感想

(4)        退出小组

在觉得不喜欢或者其他原因下,会员可以随时退出小组

(5)        删除小组

自己创立的小组如果不满意可以删除,即解散

2.2.3.1“小组”模块功能数据处理

模块

子模块

数据项

类型

说明

我的小组

用户的小组话题

话题标题

(Title)

动态

小组话题的标题

话题内容

(Content)

动态

话题的内容

回应用户

动态

评论的用户

回应内容集

动态

评论内容

推荐用户集

动态

推荐用户

喜欢用户集

动态

喜欢的用户

话题发表时间

动态

话题发表的时间

话题属于的小组

动态

话题属于的小组

用户发起的话题

数据同“用户的小组话题一致”

动态

我回应的话题

数据同“用户的小组话题一致”

动态

我加入的小组

数据同“用户的小组话题一致”

动态

发现小组

分类主目录

动态

分类子目录

动态

发现话题

话题名称

动态

话题发表时间

动态

话题属于小组名称

动态

2.2.3.2“目的地”模块功能数据处理

模块

子模块

数据项

类型

说明

目的地

城市图片

城市图片集

动态

关于城市景点介绍的图片

城市概况

介绍内容

动态

关于城市介绍的文字信息

城市交通

城市地图集

动态

关于该城市的地图信息

城市交通方式集

动态

关于该城市所有的交通方式的介绍

城市景点

城市景点图片集

动态

关于该景点的所有图片

评分集

动态

用户对于该景点的评分

旅途时间

旅途介绍集

动态

用来显示该城市在不同时间段的旅行的介绍

城市地图

城市地图集

动态

包括全国地图和各个省份的地图

美食

美食集

动态

每个城市或者景点拥有的美食介绍,包括美食的图片和文字介绍

城市户外运动

运动方式集

动态

包括该城市或者景点可以进行的运动方式的介绍以及图片

城市客栈

旅馆名称集

动态

包括该景点所有的可以住宿的旅馆的介绍,包括图片,文字介绍以及用户的评分

关于城市的分享

文字集

动态

用户对于旅行心得及经验的分享

2.2.4用例分析

整个系统的角色有3个,分别是为:管理员,会员,游客。其中会员可以拥有小组管理员和小组组长的角色,不同角色拥有不同的权限和功能。系统用例图如图2-2所示。

2.2.4.1系统用例图

图2-2 系统用例图

2.2.4.2游客用例图及用例描述

图2-3 游客用例图

用例编号(Number) :UC_1_1        用例名称(Name):游客浏览

简要说明 (Brief Description)

游客在系统中可以访问话题、小组介绍、城市信息等内容,但没有权限进行参与和修改。当游客成功登录后,其身份将变为会员。

执行者(Actors)

游客

前置条件(Pre-Condition)

游客访问系统,并浏览相关网页

后置条件(Post-Condition)

事件流 (Flow of Event)

基本流程(Base Flow)

1. 进入网站

2. 话题浏览:点击进入相关小组中进行话题浏览或由输入话题关键字进行查找,选择相关话题进入浏览。

3. 浏览城市信息:点击进入某城市进行浏览或输入城市名查找进行浏览。

4. 查询小组:点击进入小组页面,选择推送的小组或输入关键字查找,选择相关小组,浏览小组信息。

扩展流程(Extend Flow)

  1. 输入关键字可能无相关信息,进入提示页面,并提示重新搜索
  2. 游客点击回复、加入小组、提交错误等所有动态动作都会被提示需要登录。

表2-1 游客浏览用例描述

用例编号(Number) :UC_1_2        用例名称(Name):游客注册

简要说明   (Brief Description)

游客填写相关信息进行注册,成功登录后,其身份将变为会员。

执行者(Actors)

游客

前置条件(Pre-Condition)

游客访问系统,并浏览相关网页

后置条件(Post-Condition)

能操作会员的功能

事件流 (Flow   of Event)

基本流程(Base Flow)

  1. 点击注册
  2. 选择同意声明和协议
  3. 填写用户名(长度大于等于6),
  4. 输入邮箱地址(符合邮箱格式)
  5. 填写密码(可输入字母、数字组合,长度大于等于6)
  6. 再次输入密码(一致)
  7. 点击注册,向注册邮箱发送激活邮件
  8. 进入邮箱中访问验证地址
  9. 会员身份激活成功
  10. 进入登录界面

扩展流程(Extend Flow)

  1. 用户名不符合要求会提示有误
  2. 用户名已存在
  3. 密码不符合要求会提示有误
  4. 两次输入密码不相同,会提示有误
  5. 邮箱格式错误会提示有误

2.2.4.3会员用例图及用例描述

(下略...)

图2-4 会员用例图

用例编号(Number) :UC_2_1        用例名称(Name):话题编辑

简要说明   (Brief Description)

会员进入小组(加入的或创立的)创建话题,然后编辑话题,发表话题,还可以评论话题,也可以点击别人的话题进行评论。

执行者(Actors)

会员

前置条件(Pre-Condition)

会员进入小组(自己加入的或者自己创立的)或者进入别人的话题

后置条件(Post-Condition)

“我的话题”或“我的评论”中将出现此话题链接中会出现,若话题内容变化则进入审核列表,通过审核后会出现在小组话题列表中,话题有了新的回复会提醒发表者

事件流 (Flow   of Event)

基本流程(Base Flow)

发表话题:

  1. 输入话题标题
  2. 输入话题内容话题
  3. 点击发表
  4. 提示发表成功
  5. 进入“我的话题”中查看发表话题

修改话题:

  1. 进入“我的话题”中查看发表话题
  2. 选择某话题,点击修改按钮
  3. 修改话题标题、内容
  4. 点击发表
  5. 提示发表成功

回复话题:

  1. 在话题列表中话题查看内容
  2. 点击回复按钮发表评论
  3. 编辑评论
  4. 点击提交按钮发表评论
  5. 提示发表成功

扩展流程(Extend Flow)

  1. 话题标题不符合要求提示有误
  2. 话题内容不符合要求提示有误
  3. 评论内容不符合要求提示有误
  4. 其他异常情况如服务器异常等造成发表失败,提示“发表失败”

表2-3 话题编辑用例描述

用例编号(Number) :UC_2_2         用例名称(Name):目的地信息查询

简要说明   (Brief Description)

目的地包括美食,交通,景点,户外运动,客栈旅店,购物,下面以景点作为描述。

执行者(Actors)

会员

前置条件(Pre-Condition)

会员在城市信息浏览中进入美食,交通,景点,户外运动,客栈旅店,购物等页面

后置条件(Post-Condition)

跳转回原界面

事件流 (Flow   of Event)

基本流程(Base Flow)

  1. 点击目的地按钮或搜索含关键字的目的地名称
  2. 进入到相关目的地界面

评论:

  1. 在评论框中输入评论
  2. 点击提交按钮发表评论

纠错:

  1. 点击纠错按钮
  2. 进入纠错也页面,输入错误信息和应改为的正确信息
  3. 点击提交

扩展流程(Extend Flow)

  1. 输入的关键字找不到匹配目的地名称,提示“没有找到”
  2. 评论内容不符合要求提示有误
  3. 纠错内容不符合要求提示有误

表2-4 目的地信息查询用例描述

用例编号(Number) :UC_2_3       用例名称(Name):加入小组

简要说明   (Brief Description)

会员找到自己想要加入的小组,申请加入小组,小组管理员审核通过,则该会员成为正式的小组成员,并参与组内的各种活动。

执行者(Actors)

会员

前置条件(Pre-Condition)

会员进入小组页面

后置条件(Post-Condition)

返回小组列表页面

事件流 (Flow   of Event)

基本流程(Base Flow)

  1. 会员点击未加入的小组或搜索含关键字的小组名称并点击该小组
  2. 进入小组简介和话题页面
  3. 会员点击加入小组
  4. 提示已提交申请,跳转回原浏览页面
  5. 小组管理员审核会员信息
  6. 提示会员小组申请结果

扩展流程(Extend Flow)

  1. 输入的关键字找不到匹配小组名称,提示“没有找到”

2.2.4.1小组组长和小组管理员用例图及用例描述

图2-5 小组组长和小组管理员用例图

用例编号(Number) :UC_3_3 1     用例名称(Name):添加小组

简要说明   (Brief Description)

小组组长添加新的小组

执行者(Actors)

会员或管理员

前置条件(Pre-Condition)

后置条件(Post-Condition)

进入小组管理页面

事件流 (Flow   of Event)

基本流程(Base Flow)

  1. 点击创建小组
  2. 输入小组名称,小组简介
  3. 选择小组类型
  4. 点击完成
  5. 提示创建成功

扩展流程(Extend Flow)

  1. 小组名称不符合要求提示有误
  2. 小组简介不符合要求提示有误

表2-6 添加小组用例描述

用例编号(Number) :UC_3_2       用例名称(Name):解散小组

简要说明   (Brief Description)

小组组长解散小组

执行者(Actors)

小组组长

前置条件(Pre-Condition)

后置条件(Post-Condition)

小组信息删除,通知小组成员

事件流 (Flow   of Event)

基本流程(Base Flow)

  1. 进入小组页面
  2. 点击解散小组
  3. 点击确认解散
  4. 提示删除成功
  5. 跳转至主页

扩展流程(Extend Flow)

  1. 在确认提示中,点击取消,返回当前界面

表2-7 解散小组用例描述

用例编号(Number) :UC_3_3       用例名称(Name):修改小组资料

简要说明   (Brief Description)

组长或者小组管理员对小组信息进行修改

执行者(Actors)

组长或小组管理员

前置条件(Pre-Condition)

后置条件(Post-Condition)

跳转至小组信息页面

事件流 (Flow   of Event)

基本流程(Base Flow)

1      进入小组页面

2      点击修改信息

3      修改小组名字

4      修改组内说明

5      修改小组类型

6      点击提交

扩展流程(Extend Flow)

1.  小组名称不符合要求提示有误

表2-8 修改小组资料用例描述

2.2.4.1管理员用例图

管理员用例图见附图一。

转载于:https://www.cnblogs.com/xinguodong/p/3649865.html

往届学生软件工程作业参考-需求分析相关推荐

  1. 软件工程作业-——项目设计

    CH小说网站 [软件开发计划书.需求分析] 作者:陈春旭,习志鹏 1.引言(Introduction) 1.1背景(Background) 随着社会信息量的与日俱增,人们看书不在限制于在书本上了,要是 ...

  2. 软件工程作业:课程报告

    软件工程作业:课程报告 邓超 20215156 综述 软件是一系列按照特定顺序组织的计算机数据和指令的集合.软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序 ...

  3. 现代软件工程作业4-7(龙秋娴)

    4.Dijkstra曾经提到:"Software engineering, of course,presents itself as another worthy cause,but tha ...

  4. 02现代软件工程作业

    现代软件工程作业 一.Web APP(基于网页的软件)   用HTML5 编写的移动web运用,依赖于浏览器.可以不加修改直接运行在Andriod/ios/pc端一套代码(Andriod,iOS,PC ...

  5. 现代软件工程作业 案例分析

    现代软件工程作业 案例分析 这是现代软件工程的案例分析作业,作业的源地址在这里. 现在很多开发人员和IT专业的学生都在移动设备上学习.工作,在移动设备上的APP 能满足这类目标用户的需求么?它们会被w ...

  6. 全程软件测试之测试需求分析与计划

    全程软件测试之测试需求分析与计划 在项目启动之后,就要着手软件项目的计划,包括软件测试计划.软件测试计划是整个开发计划的组成部分,同时,它又依赖于软件组织过程.项目的总体计划.质量文化和方针.在测试计 ...

  7. 软件工程作业 - word count

    (编程和软件工程作业系列) 实践最简单的项目:WC 实践是理论的基础和验证标准,希望读者贯彻"做中学"的思想,动手实现下面的项目,并和别人的成绩相比较,分析产生差距的原因. 1. ...

  8. [转载]计算机科学与技术学生学习基础材料参考

    计算机科学与技术学生学习基础材料参考 转发(原来的出处不详,抱歉): 这份材料是我在帮美国MIT的William Stallings博士翻译站点的时候的一部分内容,感觉对国内的学生帮助会很大.写给大家 ...

  9. appnode环境软件命令参考 - AppNode帮助中心

    环境软件命令参考 Nginx 主程序路径:/usr/sbin/nginx 配置文件路径:/etc/nginx.conf 服务控制命令: CentOS 6:service nginx start|sto ...

最新文章

  1. enspar启动失败40_负债80万开始爆仓,快40岁的人了没钱创业,精神恍惚该怎么翻身?...
  2. java runnable main_Java 线程类问题写一个线程类MyThread,该线程实现了Runnable接口,写一个main方法, * 用for循...
  3. 栅格数据的像素值保存问题
  4. biostar handbook: 第一周笔记汇总+第二周任务布置
  5. 【机器学习基础】数学推导+纯Python实现机器学习算法6:感知机
  6. [网络流24题]太空飞行计划
  7. matlab的循环语句裁图,[MATLAB图像处理] 多幅图片处理的循环语句
  8. 如何高效学习java呢?
  9. python与机械教育初探_Python公开课-机械学习之手写识别
  10. Python开发环境Anaconda3使用指南(入门篇)
  11. 51nod 1174 区间最大值(RMQ and 线段树)
  12. (详解)----冒泡排序---(图解)
  13. 应届生面试的5大技巧,附600字自我介绍范文
  14. Js中apply和call
  15. 用HTML+CSS实现一个计科院网站首页静态页面
  16. Charles工具使用教程,以及注意事项。
  17. 在Linux中设置共享目录
  18. SQL基础-更新删除视图
  19. 计算机程序的灵魂,算法——抓住程序的灵魂
  20. CISSP三次背书经验分享

热门文章

  1. 交易猫链接搭建/带完整版源码
  2. 项目一 认识Linux操作系统
  3. oracle 注册表丢了,一次Windows 注册表中注册表项目丢失导致的Oracle 数据库启动有关问题...
  4. 跨考计算机复试自我介绍,跨考生复试自我介绍
  5. 一个通用Makefile详解--收藏一个网址
  6. B01 - 004、配置联网
  7. 程序设计与算法三~C++面向对象程序设计~北大郭炜MOOC学习笔记~第二章:类和对象初步(新标准C++程序设计)
  8. THIS和supper用法
  9. matlab app designer使用心得
  10. 线阵相机的优势是什么?如何选择线阵相机?