【技术规格说明书】命劫开发

技术规格说明书 采取token机制,用户登录时由后端生成token返回给前端。针对此后的请求,后端采取相同解密算法将token转换为用户ID,并根据用户是否为管理员给予不同访问权限。根据项目设计,后端主要需要维护三个数据库表,分别为用户信息表(User),地图钉信息表(Pin),论坛表(Forum)和帖子表(Post)。TODO 系统的钉子比用户的钉子多一个论坛相关字段。在时间允许的情况下,对前端各组件应用vue-test-util进行单元测试。数据库表的增删改查服务根据前端需求设计相关接口。主要测试处理请求相关方法。 阅读详情
项目内容
课程2022春季软件工程(罗杰 任健)
要求计划阶段要求-技术规格说明书
目标制定技术规格说明书

一、技术栈
1.1 前端部分
  • 主要框架:vue.js v2.96

  • UI库:vuetify v2.x

  • vue插件:vue-router、vuex v2.x

  • css扩展:sass

  • 测试开发环境:windows 10,nodejs v16.14.2 , npm v6.14.10

  • 实际部署环境:(未知)

1.2 后端部分
  • 主要框架:SpringBoot v2.6.6 Mybatis v2.2.2

  • 数据库:MySQL v5.6.51

  • 测试开发环境:javav1.8 maven v4.0.0

  • 实际部署环境:(未知)

二、软件的总体架构

请添加图片描述

2.1 子系统
  • 服务端:处理数据

  • 客户端:展示数据

  • stomp框架:处理即时通讯

2.2 子系统内部
  • 服务端:controller层负责与前端交互,处理请求转发并调用service层;service层负责对数据进行处理,数据库连接并对数据库操作

三、系统的开发目标
3.1 代码编写
前端模块
  • 首先完成各个组件功能的vue编写

  • 根据页面的布局设计,完成css调整

  • 根据api文档的设计,完成javascript函数编写

  • 测试时,需要编写单元测试代码

后端模块
  • 首先完成数据库的搭建与连接

  • 根据需求编写相应功能函数

  • 根据api文档,完成函数设计

  • 对每个功能函数进行单元测试

3.2 单元测试
前端模块
  • 完成一个功能模块进行一次简单的UI手动测试,并记录操作,总结成Jest单元测试代码。完成一个功能,便实现一次回归测试。
后端模块
  • 对每个实现的函数进行单元测试,看能否正常实现对数据操作,完成一部分后总结为测试代码以便后续进行回归测试
前后端Json交互格式

code:表示交互结果代码依据业界规范,我们将使用20000、40000、40001等代码表示i前后端交互

data:封装交互数据

message:返回系统提示信息

{
    "code": 20000,
    "data": {},
    "message": ""
}
3.3 系统压力测试
  • 压力测试的目标主要是以下几点

    • 负载能力:在正常的响应时间中,系统能够支持的最多的客户端的数量。

    • 响应能力:在各种负载压力情况下,系统的响应时间。

    • 可靠性:在连续工作时间状态下,系统能够正常运行的时间。

  • 具体指标:

    • 响应时间:100毫秒以内

    • TPS(Transaction per Second):200-300

    • 错误率:不高于0.6%

3.4 API设计规范

注意

  1. 在apifox中,我们设置了四种接口状态。请开发人员使用接口时,及时更新状态。

待确定:前后端都未开发和使用。

开发中:后端已开发。

联调中:前端已使用该接口。

已发布:后端已开发且前端已使用。

APIfox缩略图:
请添加图片描述

  1. 若需修改或新建接口,应尽快在群里提出,并协商。后端开发人员可以先完成底层函数的开发,最后再开发接口,防止接口变动导致重新写接口。

请添加图片描述

数据库结构敏捷设计:

请添加图片描述

3.5 系统业务逻辑
系统层面:
运行环境
  • 服务端运行环境:Ubuntu-latest

  • 应用端运行环境:Chrome v100.0.4896.127

系统设计
  • 代码设计

    • 信息的隐藏和封装

      • 将前后端各自封装,通过API进行交流,传递是json格式文件,这样不会暴露各自的内部细节。后端在代码实现的过程中的controller类、service类和Mapper类各自都是拥有私有的数据和公共的方法,很好地将信息进行了封装。
    • 模块化

      • 将前端的代码分为 assets, plugins, components 等文件夹,分别开发具有不同功能的代码,并且使用面向对象的设计思想,复用vue中的 template 实现功能的标准化,模块化。

      • 后端的功能函数是进行封装的,各种操作被集合在service层的类中,如果需要修改接口或者增加需要只要对相应的类进行修改即可,controller层或是前端数据的传回都无需修改。

  • 架构设计

    • 前后端分离

      • 前端采用 vue.js 编写,通过 https 以及 stomp等功能与后端进行数据交互,前后端两组人员各自编写代码,从而实现前后端分离。

      • 后端使用SpringBoot作为整体框架,通过controller层来接收前端数据并传给service层进行处理。后端并不关心前端如何展示以及如何获取数据。

系统性能
  • 对于将来数据IO操作较多的情况下可能会采用主从结构,一个主库负责写操作,从库负责读操作,从而分担读写的压力。但是采用主从结构可能会略微增加延迟,该点需要注意。

  • 实际上我们系统的性能是相对较好的, 但由于我们所使用的服务器较小,在用户量过大的情况下支持性会较差,导致响应速度变慢。

业务流程层面
  • 前端所传回的数据理论上是合法的,前端会检验用户输入数据的格式等是否符合要求,如不符合则反馈错误信息给用户。如果数据格式上符合要求并正确地传给后端,后端会进行判断,比如所添加好友的ID是否存在、所查找的群是否存在等,并返回相应数据给前端。

  • 如果前端传回了错误的数据那么后端就无法利用该信息找到相应的对象,那么可以用try-catch模式给前端反馈错误信息,前端可以要求用户重新输入以便传回正确的数据。

3、Alpha阶段初始任务分配

一、Alpha阶段目标:
  • 完成基础功能开发:
    1. 用户登陆注册
    2. 用户信息编辑
    3. 用户之间的聊天以及交互
    4. 团队群组的交互和交流
    5. 普通会议的开启和参与
  • 在基础功能的基础上添加细节:额外需求将在敏捷开发过程中敏捷迭代
二、Alpha阶段任务分配及计划:
时间:4.11~5.8
说明:未完成状态均为进行中或者尚未开始
项目冷启动阶段:阶段Ⅰ——7天
PM小组:
姓名任务预计时长是否完成
wzx调研相关产品4h❤️
hw调研相关产品2h❤️
wzx依据初步构想设计UI图4h❤️
hw wzx进行市场调研和需求分析4h❤️
wzx设计产品初始化方案3h❤️
hw工业界以及学生采访3h❤️
hw wzx需求文档+规格文档+时间规划+团队贡献制定初步设定6h❤️
hw wzx召开团队会议,制定阶段目标,增强团队凝聚力6h❤️
hw在会议中讨论设计初步系统框架2h❤️
前端小组:
姓名任务预计时长是否完成
xjl调研UI布局体系3h❤️
hw收集UI图库资源3h❤️
xjl依据草图搭建“毛坯”框架5h❤️
yy熟悉Vuetify以及相关组件设计4h❤️
xjl前端Vue+Js技术栈扩展5h❤️
hw前端Vue+css技术栈扩展5h❤️
yy前端Vue+Js技术栈扩展4h❤️
xjl参考同类产品设计并提出构想4h❤️
xjl yy熟悉ajax数据请求以及cookie配置3h❤️
后端小组:
姓名任务预计时长是否完成
zzy后端Springboot技术栈扩展5h❤️
czr后端Springboot技术栈扩展5h❤️
dxt后端Springboot技术栈扩展5h❤️
czr设计初步ER图4h❤️
zzy+czr设计初步API接口文档以及迭代规范4h❤️
dxt调研SpringSocket实时通讯功能4h❤️
czr+zzy依据修正ER图设计数据库表单结构并优化到3NF3h❤️
zzy调试服务器配置,部署docker4h❤️
zzy czr dxt完成后端Spring框架初始化和封装结构4h❤️
项目热开发阶段:阶段Ⅱ——14天
PM小组:
姓名任务预计时长是否完成
wzx继续调研用户需求,分析应用场景4h❤️
hw完善功能规格以及任务分配6h❤️
hw wzx组织团队会议并记录团队进程,推动项目开发4h💔
前端小组:
姓名任务预计时长是否完成
xjl完成整体框架UI设计4h❤️
yy完成登录注册界面以及后端交互邮箱验证4h❤️
hw丰富整体细节CSS以及Html设计5h💔
xjl好友+团队群组信息列表的展示和通知获取4h💔
yy个人信息修改和展示处理5h💔
hw时间轴设计以及布局5h💔
yy xjl聊天内容以及实时交互显示5h💔
hw团队会议阶段提醒与状态设置5h💔
yy xjl文档上传和展示处理4h💔
后端小组:
姓名任务预计时长是否完成
zzy部署API FOX接口测试环境2h❤️
czr通讯录相关接口设计4h💔
zzy用户交互和信息相关接口设计4h💔
dxt实时通讯相关技术接口设计4h💔
zzy用户信息修改、聊天、文档、团队管理功能实现8h💔
czr通讯录处理以及团队用户关系交互设计6h💔
dxt zzy聊天内容即时通讯5h💔
dxt zzy团队会议接口设计以及时间轴信息处理5h💔
zzy czr dxt数据库管理和其他细节处理4h💔
项目冷开发阶段:阶段Ⅲ——7天
PM小组:
姓名任务预计时长是否完成
wzx继续迭代需求4h💔
hw完善功能规格以及文档说明6h💔
hw wzx组织团队会议并记录团队进程,推动项目开发4h💔
测试小组:
姓名任务预计时长是否完成
前端两人 后端两人完善细节增加功能8h💔
前端一人 后端一人协作单元测试,进行覆盖性测试6h💔
前端团队 后端团队系统流量、吞吐量、服务器性能测试4h💔
分配任务:

请添加图片描述

三、会议安排

由于团队成员构成丰富,包含不同专业的本科生、硕博,各自实验任务较重,时间调停难度大,暂定每周天完21:00~22:30进行线下会议;每周3,5举行线上会议推动项目进展。

【功能规格说明书开发 项目 内容 课程 2022春季软件工程(罗杰 任健) 要求 计划阶段要求-功能规格说明书 目标 制定功能规格说明书 当前版本:v1.5 版本号 发布日期 版本说明 v0.3 2022/4/18 定义产品基础功能,形成alpha阶段预期 v1.5 2022/5/22 形成beta阶段预期 文章目录一、引言1.1项目简介:1.2规格书简介:二、规格书概念说明三、典型用户以及典型应用场景3.1 典型用户3.2 典型场景3.3 讲个故事四、项目边界条件4.1 用户... 阅读详情

相关推荐

产品说明书VS产品规格书:有什么区别

产品说明书和产品规格书是两个不同的文档,虽然它们都涉及到产品的描述和细节,但侧重点和用途有所不同。本文详细介绍了两者的区别,帮你快速区分两者的不同点,快速选择合适的方案。

LookLook同学的博客 2179

OpenMES技术规格说明书

MES技术规格说明书,自主开发MES系统的简单系统框架规范和说明

软件需求规格说明书

email:leafsunshin@163.com 时间:2019-09-23 软件需求规格说明书 1.引言给出对本说明书的概述。 1.1目的-编本文档的目的 1.2文档约定——描述本文档的排版约定,解释各种符号的意义。 1.3各读者的阅读建议——对本文档各读者的阅读建议。 1.4软件的范围描述软件的范围和目标。 1.5参考文献编本文档所参考的资料清单。 2.综合描述 这部分描述软件...

leafsunshin 3029

软件设计规格说明书

软件设计规格说明书,大家有需要可以看看软件设计规格说明书,大家有需要可以看看

超实用gs-quant量化策略模板:技术规格说明书(SRS)全指南

你是否还在为量化策略文档编格式混乱、关键参数缺失而烦恼?是否因回测逻辑描述不清导致策略复现困难?本文将通过 gs-quant 框架的技术规格说明书(SRS)模板,带你一站式解决量化策略开发中的文档标准化难题。读完本文你将获得: - 符合金融工程最佳实践的文档结构 - 可直接复用的量化策略模板代码 - 策略风险指标与回测结果的标准化呈现方式 ## 文档模板核心结构 gs-quant 提供的量化...

gitblog_00177的博客 1056

需求分析说明书和需求规格说明书

一、需求分析说明书和需求规格说明书的区别 两者区别 需求分析说明书:一般是对某个市场或者是客户群来讲的,似于调研报告,重点 是体现出产品要满足哪些功能,哪些是重点、热点。 需求规格说明书:是从业务规则讲起的,细一点偏向于软件的概要设计。是从开 发、测试的角度去讲产品功能,里面要包含原型界面、业务接口、活动图等 二、需求分析说明书模板 1.简介 1.1目的 1.2范围(软件功能,与其他系统的关系,系统的地域使用范围) 1.3定义、首字母缩词和缩略语 1.4概述(软件其他部门所包含的内容,如参考资料,并解

leogreat110的博客 5万+

软件需求规格说明书,概要设计说明书,详细设计说明书(文档)

1 软件设计的整体流程: 软件需求分析阶段:输出了《软件需求规格说明书》,不涉及具体实现方法。用户能看得明白,开发人员也可据此进行下面的工作,搞清楚“要解决什么问题”。 概要设计阶段:确定软件系统的总体布局,各个子模块的功能和模块间的关系,与外部系统的关系,选择的技术路线。有一些研究与论证性的内容。并输出《软件概要设计说明书》。搞清楚“总体实现方案” 详细设计阶段:对概要设计的进一步细化,一般由各部分的担当人员依据概要设计分别完成,然后在集成,是具体的实现细节。是“程序”的蓝图,确定每个模块采用的算法

weiwenhuaming_的博客 2万+

[需求管理-9]:需求规格说明书SRS

软件项目需求说明书是指在研究用户要求的基础上,完成可行性分析和投资效益分析以后,由软件系统工程师或分析员编的需求说明书。它详细定义了信息流和界面,功能需求,设计要求和限制,测试准则和质量保证要求。当然,软件项目需求规格说明书是站在用户的角度看到的系统功能。而不是从软件系统内部的角度看到的外部接口的需求。前者是由外向内看,后者是由内向外看。这是需求规格说明书,必须有的立足点。需求规格说明书关注的是从外看到系统的功能需求,而不是内部的具体设计,更不是具体的实现。

文火冰糖(王文兵)的博客 7861

需求规格说明书(用例图)

用例編號 參 與 者 用例名稱 簡 述 基本事件流 可選事件流 前置條件 后置條件 特殊需求

软件开发项目文档系列之五如何撰需求规格说明书

需求规格说明书是软件开发项目中的重要步骤,它确保了项目的需求得到明确定义和准确传达,为项目的顺利进行提供了基础。本篇技术博客将深入探讨如何撰一份全面的需求规格说明书,主要聚焦在前言、任务描述、需求分析和运行环境这四个主要部分。

cooldream2009的博客 1万+

项目中心需求规格说明书

目录项目中心, 项目流转别权限用户描述用户个人用户可以使用平台所有服务,但是没有公司属性,在平台上既可以是甲方也可以是乙方普通注册就可以使用,需要个人认证公司用户公司管理员可以使用平台所有服务,可以进入公司管理进行操作注册时需要有公司工商资料,可以邀请别人加入自己创建的公司公司员工不能使用公司管理相关功能由公司管理员邀请进入公司角色甲方发布需求,终止洽谈,终止合作需求更改发布需求方,可以选择乙方进行洽谈,合作乙方乙方负责人申请洽谈,终止洽谈,终止合作。

leijmdas的专栏 1362

项目技术规格说明书

团队项目技术规格说明书v1.0 以下技术规格说明书的撰是按照《构建之法》的“技术说明书”的相关内容,主要思路是用功能驱动设计 一.从功能流程中提取所需的对象: 在这个WBS图的基础上,对首先要实现的基本功能进行了如下设计分析: 外包软件开发功能描述: 外包开发的功能流程和细节如上图所示,从流程的分析中,我们其实可以从中提取出这么几个对象: 外包任务,描述一个外包任务的,其中包含...

weixin_30580341的博客 876

软件工程技术规格说明书

项目 内容 这个作业属于哪个课程 软件工程 罗杰 这个作业的要求在哪里 技术规格说明书 我们在这个课程的目标是 熟悉软件开发整体流程,提升自身能力 这个作业在哪个具体方面帮助我们实现目标 确定技术规格,撰说明书 一、概述 我们团队的目标是实现一个拖拽式编程的网站,即通过推拽图形、连线来搭建神经网络模型,返回pytorch的模型代码。在确定需求和功能后,我们...

weixin_34319817的博客 1359

团队作业 # 项目技术规格说明书

概述 在确定了大致需求之后,我们团队对第一版学长的代码进行研究。第一版代码是用php编的后端,因为我们组对php开发并不是很熟悉,在运行过程中遇到了较大的困难。在恢复了原网站部分功能的基础上,我们组决定对该项目利用自己熟悉的技术进行重构,并在重构的基础上进行需求的增量开发。 后端技术 因为有部分组员之前进行过Java后端方面的开发,对这块内容比较熟悉,所以打算采用springboot框架对...

weixin_30307921的博客 170
上一篇: 【功能规格说明书】命劫开发
下一篇: 【Alpha阶段初始任务分配】命劫开发
命劫开发
博客等级 码龄4年 2粉丝 31原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值