团队作业3--需求改进&系统设计

软件工程 https://edu.cnblogs.com/campus/gdgy/networkengineering1934-Softwareengineering
作业要求 https://edu.cnblogs.com/campus/gdgy/networkengineering1934-Softwareengineering/homework/12137
作业目标 通过独立完成个人项目熟悉软件开发流程,提高编程能力

一、需求分析

1.1 课堂讨论问题

  • 问题1:市面上有类似的博客平台,项目优势不明显
  • 问题2:系统功能描述不详细

1.2 问题修改

  • 解决1:本项目主要面向在校大学生,可和大学生的学习生活有机结合起来,打造一个内容更丰富、更接地气的交流社区
  • 解决2:对功能描述进行补充,结合用户需求进行说明

1.3 用户需求调查

1.3.1 调查方式

为了进一步了解用户的需求,改善用户的体验,我们发布了项目的原型,并通过发放问卷的形式调查用户的需求,并收集用户对于项目的建议。以下是问卷的数据报表和分析。

1.3.2 调查结果分析

(1)同类产品的缺点

结果分析:现有的交流社区用户身份比较杂,大学生很难直接从上面获取与自己有关的信息,而且操作起来也不太方便,功能太多、页面太繁杂,所以我们需要打造一个面向大学生的交流社区,使得操作更方便,信息更符合大学生需求
(2)希望分享的内容

结果分析:可以看出大家希望在社交平台上分享的内容都是很贴近大学生活的,因此我们可以联合学校相关组织和社团,为用户推送更多他们感兴趣的内容
(3)对于平台功能的建议

结果分析:用户对于平台信息的质量有一定要求,并且希望能与其他用户进行互动,对不喜欢的用户进行屏蔽,我们可以在项目中赋予普通用户一定权限满足他们的要求,并在管理员端增加一些功能管理平台上的内容

1.3.3 需求规格说明书修改和完善

普通用户

(1)注册登陆

  • 用户注册
  • 登录时输入账号密码,如果输入错误会有警告
  • 登录时会有图片验证码
  • 忘记密码功能

(2)个人主页

  • 编辑个人信息(头像、昵称等)
  • 查看用户数据(关注、粉丝、文章等)
  • 消息中心
  • 各种功能设置

(3)文章

  • 发表新文章,浏览文章
  • 可以调节文章字体,设置多级标题
  • 可以在文中插入图片、链接等
  • 文章分类存放
  • 点赞、收藏、评论
  • 搜索文章、分类浏览
  • 删除、修改文章
  • 屏蔽某个用户的的文章

(4)好友管理

  • 添加好友
  • 给好友设置分组
  • 好友黑名单设置

管理员

  • 监控、管理平台内容
  • 管理用户权限
  • 发布公告

1.3.4 功能分析

根据《构建之法》中四象限管理法的理念,我们将任务按照重要程度和紧急程度分为四大模块:重要且紧急、重要但不紧急、紧急但不重要、既不重要也不紧急。

二、系统设计

系统 功能
前端页面 直接与用户打交道,与用户进行交互
后端系统 负责处理用户的请求,提供用户数据、文章数据的存储、更新等功能

2.1 前端页面设计

我们团队主要使用HTML+CSS进行页面的布局,用Javascript来处理简单的交互和数据处理。在页面布局设计的过程中 ,我们主要追求整体简洁,使用户容易上手。在必要时,我们还会引入Vue前端框架,利用其相应式的特性让我们用更少的代码完成更多的交互设计。

Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

2.2 后端系统设计

MVC 架构程序的工作流程: (1)用户通过 View 页面向服务端提出请求,可以是表单请求、超链接请求、AJAX 请求等 (2)服务端 Controller 控制器接收到请求后对请求进行解析,找到相应的 Model 对用户请求进行处理 (3)Model 处理后,将处理结果再交给 Controller (4)Controller 在接到处理结果后,根据处理结果找到要作为向客户端发回的响应 View 页面。页面经渲染(数据填充)后,再发送给客户端。

Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。

Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

  • 具体工作模式:

    客户端发送请求至服务器

    服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器

    服务器将响应返回客户端

2.3 数据库设计

ER图

三、任务分配计划

3.1 Product Backlog

3.2 甘特图

四、测试计划

4.1 单元测试

测试功能名称 测试负责人
注册登录 李泽强、李鹏举
编辑个人信息 李鹏举
个人主页其他功能 唐振凯
文章编辑 唐振凯、叶杞豪
点赞、收藏、评论、搜索 刘宇杰、李泽强
好友管理 潘新坤
管理员功能 刘宇杰、潘新坤

单元测试标准

  • 按照单元测试计划完成了所有规定单元的测试

  • 达到了测试计划中关于单元测试所规定的覆盖率的要求

  • 软件单元功能与设计一致

  • 在单元测试中发现的错误已经得到修改,各级缺陷修复率达到标准

4.2 压力测试

  • 测试目标:使用LR模拟真实用户对服务器施加压力。

  • 测试范围:项目服务器(阿里云服务器ECS)

  • 完成标准:直到服务器卡死。获得服务器资源,最大与链接数等数据。

  • 需考虑的特殊事项:测试机是否满足需求。

  • 使用工具:Jmeter

4.3 易用性测试

测试目标 模拟真实用户,无经验用户,测试系统的易用性。
测试范围 前台
完成标准 成功地核实出前台各个页面符合可接受易用性标准。
需考虑的特殊事项

4.4 可靠性测试

  • 测试目标:使用LR模拟真实用户对服务器施加一定压力。

  • 测试范围:项目服务器。

  • 完成标准:持续运行特定时间不出现问题。

  • 需考虑的特殊事项:测试机是否满足需求。

4.5 回归测试

  • 测试目标:确保BUG修复的完整性。

  • 测试范围:项目中出BUG的部分。

  • 完成标准:项目中出现的BUG完成修复,并将缺陷保存下来。

  • 需考虑的特殊事项:出BUG的功能和BUG相关的功能都需要回测。

posted @ 2021-11-16 01:03  freedom62  阅读(62)  评论(0编辑  收藏  举报