作业三——综合系统开发----需求分析


这个作业属于哪个课程 <班级链接>
这个作业要求在哪里 <作业链接>
这个作业的目标 熟悉项目开发流程,维护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天

矫正思路

  • 放宽需求排期,保证系统的质量
  • 设计决定了编码程序的复杂度,设计时间,力求完备的设计
  • 加大测试力度,减轻后续维护压力

Git仓库

项目issues截图

博客截图

相关