作业三——综合系统开发----需求分析
这个作业属于哪个课程 | <班级链接> |
---|---|
这个作业要求在哪里 | <作业链接> |
这个作业的目标 | 熟悉项目开发流程,维护Git仓库,实现增量式管理 |
需求规格说明书
项目背景
一家公司提供服务出租,自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案。以下是核心要求:
- 搜索自由职业者分类的功能
- 用于存储联系自由职业者的不同渠道的解决方案
- 搜索项目分类的功能
- 搜索客户分类的功能
- 维护合同中自由职业者的时间表
系统名称
服务出租平台
面向用户分析
为自由职业者提供服务出租的平台,展示服务相关信息
为客户提供服务购买的平台,便捷查找所需服务
审计员对日志进行统计分析,做好服务平台的维护工作
功能性需求
- 自由职业者:
? 修改个人信息
? 修改合同的时间表,签订合同
? 搜索项目分类,搜索客户分类 - 客户:
? 修改客户类型
? 建立项目,签订合同
? 搜索项目分类,搜索自由职业者分类 - 审计员:
? (日志)统计,分析,报表,监控,报警
数据存储需求
- 自由职业者:id,姓名,职业类型,联系方式、提供服务
- 客户:id,姓名,客户类型,联系方式,所属项目
- 审计员:id,姓名,联系方式
- 项目:id,项目名,项目类型,项目内容,项目成员,审计员,时间表
- 日志:id,操作,操作类型,操作人,结果,提示信息
- 合同:id,合同内容,签订双方,签订时间
技术需求
- 高并发,低延时;能够支持当前和未来预期的所有人员同时使用
- 多用户使用,需要实时同步文档信息,同步时间0.5s以内
- 存储容量大,能够容纳当前和未来预期的所有人员信息,项目信息,合同信息,日志信息
- 各种搜索功能的查询速度快,查询时间1s以内
界面需求
- 保证界面清晰,最大限度减缓视觉疲劳
- 界面简洁,突出常用功能,隐藏少用功能,去除冗余功能
- 界面给人熟悉感,便于记忆,短时间内找到所需功能
- 适当提供自定义选项,便于用户根据习惯调整,灵活操作
安全需求
- 权限管理:根据业务需要调整人员的权限,避免人员拥有冗余权限
- 数据备份:预防系统崩溃,能够及时恢复数据
- 数据加密:数据的存储和传输都需要加密,防止数据泄漏
环境需求
网络 | 屏幕分辨率 | 操作系统 | 默认语言 | 浏览器 |
---|---|---|---|---|
局域网 | 800x600 | win10 | 中文简体 | chrome |
无线网 | 1024x768 | Linux | 中文繁体 | 360 |
拨号 | 1280x1024 | Mac | 英语 | IE |
领域驱动设计
需求描述
- 搜索自由职业者分类的功能
- 用于存储联系自由职业者的不同渠道的解决方案
- 搜索项目分类的功能
- 搜索客户分类的功能
- 维护合同中自由职业者的时间表
提取名词
从需求描述中提取名词:
自由职业者,客户,项目,合同,时间表,自由职业者联系方式,自由职业者分类,项目分类,客户分类
根据实际情景,还需要审计员对日志统计分析、报表、监控报警
类与联系
加以分析可知类与类之间的关系:
一个自由职业者对应多个合同
一个客户对应多个合同
一个自由职业者对应多个项目
一个客户对应多个项目
一个项目对应多个日志
一个审计员对应多个自由职业者
一个审计员对应多个客户
一个审计员对应多个日志
添加属性、方法
项目实体需要修改时间表和搜索项目分类,所以也需要时间表和项目类型作为属性
以此类推,给每个实体添加属性和方法
统一建模语言
用例图
项目计划
原有安排 | 校正后 | |
---|---|---|
系统设计 | 1天 | 2天 |
概要设计 | 2天 | 2天 |
详细设计 | 2天 | 3天 |
编码 | 3天 | 3天 |
单元测试 | 2天 | 3天 |
集成测试 | 1天 | 3天 |
系统测试 | 1天 | 2天 |
验收测试 | 1天 | 2天 |
矫正思路
- 放宽需求排期,保证系统的质量
- 设计决定了编码程序的复杂度,设计时间,力求完备的设计
- 加大测试力度,减轻后续维护压力