团队作业2:《需求规格说明书》

作业课程 信息安全1812
作业要求 团队作业2
作业目标 需求分析,详细计划,团队合作

一、需求规格说明书

1.1 引言

1.1.1 编写的目的

此需求规格说明书的编写目的是明确本项目的详细需求,供开发人员确认项目的功能和性能,作为进一步详细设计软件的基础。

本文档仅供本次开发项目的开发人员进行参考。

1.1.2 背景

  • 项目名称:纯享版博客园
  • 项目开发团队:四带二小组
  • 面向用户:广东工业大学计算机学院学生

1.1.3 项目范围

如今,博客几乎是每个程序员人手必备的法宝。无论是日常开发经验还是技术难点,都能记录在自己的博客里,既是梳理自身知识体系的高效工具更是分享交流的平台。

但是由于种种原因,我校计算机学院的许多学子都只有浏览博客的经验,并没有真正使用博客的经验。往往到了大三,甚至是到了工作以后,才认识到博客管理的重要性。

本次纯享版博客园项目的开发,旨在解决计算机学院学子们博客上手难上手晚的问题。极简主义的博客平台,省去了一切繁琐花哨的设计,远离喧嚣,专注于纯粹的文字表达,给同学们提供入门博客的平台的同时,还给计算机学院的学子们营造了一个分享项目经验、互助解惑的良性学习氛围。

1.1.4 项目开发意义

  • 真实性
    本项目立足于广工计算机学院学子真实遭遇,切身之痛万分真实

  • 可用性
    IGDUT及GDUT课表+等项目的成功,都让我们认识到广工学子对新生事物的接受度是非常高的。而且广工计算机学院素来缺少属于自己人的交流平台,本次项目更是旨在解决计算机学院学子们博客上手难上手晚的问题,只要我们自身质量过硬,不愁用户量的问题。

  • 价值所在
    本项目给同学们提供入门博客的平台的同时,还给计算机学院的学子们营造了一个分享项目经验、互助解惑的良性学习氛围。有价值有情怀,可谓是用心良苦。

1.2 用户需求分析

1.2.1 目标

预期用户数量:2700+

1.2.2 用户的特点

面向用户:广东工业大学计算机学院学生

  • 本科学生,有较强的自学能力和适应新事物的能力
  • 广工学子,论坛贴吧使用人群分散,缺少统一分享交流的平台
  • 计算机学院学子,专注于计算机编程相关信息,有较为统一的关注点

1.2.3 用户场景分析

我们的系统主要面向以下几类用户:

  • 从未写过博客也从未浏览过博客的新生群体,给该类用户提供一个博客入门的平台
  • 仅查阅过一些博客,尚未开始写自己的博客的群体,给该类用户提供一个学习博客管理的机会
  • 有一定博客基础的群体,给该类用户一个与本学院同学分享生活经历、互助解惑的窗口

1.3 功能需求分析

1.3.1 功能结构图

1.3.2 具体功能列表

功能 具体描述
登陆注册 用户使用邮箱或用户名+密码登录
用户注册一个账号
我的资料管理 用户修改个人信息
用户修改密码
博客管理 用户撰写博客
用户修改博客
用户删除博客
用户查看历史博客
首页广场 展示全站博客简介
用户通过博客简介进入博客详情页
博客详情页 展示作者简介
用户通过作者简介进入作者个人主页
展示博客详情信息
个人主页 个人主页展示部分非私密信息
个人主页展示该用户历史博客

1.4 技术需求分析

1.4.1 前端技术选型

项目前端采用vue框架+element/vant库+vue-router+vue-cli

技术选型 原因
vue 采用国内流行的vue框架进行开发,利用组件化开发的特性,让项目可维护性变强,开发分工明确
element/vant库 采用流行库让页面风格统一,同时减少在html css上耗费的时间,注重业务逻辑
vue-router 补充开发时vue对路由开发的不足
vue-cli 搭建开发所需要的环境

1.4.2 后台技术选型

技术 说明 官网
SpringBoot MVC框架 https://spring.io/projects/spring-boot
SpringSecurity 认证和授权框架 https://spring.io/projects/spring-security
MyBatis ORM框架 https://mybatis.org/mybatis-3/
Redis 缓存 https://redis.io/
Druid 数据库连接池 https://github.com/alibaba/druid
JWT JWT登录支持 https://github.com/jwtk/jjwt
Lombok 简化对象封装工具 https://github.com/rzwitserloot/lombok
fastjson json转换工具 https://github.com/alibaba/fastjson
Nginx HTTP和反向代理web服务器 http://nginx.org/
Hutool Java工具包类库 https://hutool.cn/docs/#/

二、团队计划

2.1 团队GitHub仓库

2.1.1 地址

四带二https://github.com/Four-with-Two/blog-system-server

2.1.2 团队项目issues截图

2.2 具体分工

职责 人员
前端 黄添榕、何悦、左梓仪
后台 何科宪、胡晓煜、周赛星
测试 何科宪、胡晓煜、黄添榕、何悦、左梓仪、周赛星
相关文档撰写及管理 左梓仪、周赛星、胡晓煜

2.3 团队计划

2.3.1 修正前的团队计划

周次 任务
第6周 1.团队组队、团队博客
2.团队介绍、成员展示、角色分配、选题确定
3.制定团队计划安排,团队贡献分的规定
第7周 1.需求规格说明书
2.原型设计,队员估计任务难度并学习必要的技术
3.编码规范完成、平台环境搭建完成、初步架构搭建
第8周 1.原型改进(给目标用户展现原型,并进一步理解需求)
2.架构设计,WBS, 团队成员估计各自任务所需时间
3.测试计划
第9、10周 1.团队项目 Alpha 任务分配计划
2.连续7天的 Alpha 敏捷冲刺,7篇每日 Scrum Meeting 博客+代码提交
第11周 1.用户反馈+测试计划改进
2.团队 Alpha 阶段个人总结
3.团队项目 Alpha 博客:发布说明、测试报告、展示博客、项目管理
第12周 1.团队项目Alpha博客:事后分析

2.3.2 修正后的团队计划

时间 完成模块
第9周 项目搭建,分好模块,利用easymock和eolinker完成好模拟数据
第10、11周 1.团队项目 Alpha 任务分配计划
2.连续7天的 Alpha 敏捷冲刺,7篇每日 Scrum Meeting 博客+代码提交
3.开始各模块并行开发
第12周 对接接口
第13周 1.打包测试
2.用户反馈+测试计划改进
3.团队 Alpha 阶段个人总结
4.团队项目 Alpha 博客:发布说明、测试报告、展示博客、项目管理、事后分析

2.3.3 修正算法

  • 实际情况
    考虑到大家的学习进度,适当延长了学习时间、缩短了开发时间。
  • 效率优化
    为了提高效率,采取了假数据开发方法。后台先完成接口设计,前端根据后台提供的数据进行前端开发,避免了前端在后台开发过程中无事可做的情况。两条线同步进行,大大提高了效率。

三、当前完成情况

个人感想及完成情况

成员 感想 完成情况
胡晓煜 学习了一些java后台技术,还得继续努力 1.学习java后台技术 2.管理仓库和添加issue
黄添榕 专注。 应该基本完成?
何科宪 任务艰巨,要加快自己的学习进度以及积极与队友的沟通 完成了接口设计和数据库设计
何悦 跟着同学一起学习非常棒 完成js入门学习,开始接触vue框架
周赛星 本周制定好了技术学习路线,戴上幸福面具,淌洋在学习的海洋中 完成 mysql和jdbc学习。是有点慢,但是慢工出细活嘛!
左梓仪 真没想到软件开发需要写这么多文档,积累了不少经验。不过时常不能平衡自己写文档和学习新技术的时间,后面得想想办法改进自己的时间利用方法 完成了html和css入门
posted @ 2020-10-28 00:01  左左左左右  阅读(128)  评论(0编辑  收藏