需求改进&系统设计

-------------------------------------------------------------------------------------------------------------------------------------------------

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/2021Softwarecodedevelopmenttechnology/homework/11997
这个作业的目标 1. 帮助我们进一步完善系统需求
2. 帮助我们更好地掌握领域驱动设计分析运用
3. 帮助我们更好地体会系统开发和测试的过程
4. 帮助我们更好地运用领域建模

-------------------------------------------------------------------------------------------------------------------------------------------------

个人信息

学号 姓名 班级 别名
3118005169 郑政 软件工程五班 Ching

-------------------------------------------------------------------------------------------------------------------------------------------------

1.领域建模

1.1 架构分层

(1)使用依赖倒置,使细节依赖于抽象

(2)抽象和细节解耦

(3)降低系统内部不同模块的耦合性

1.2 领域实体

(1)自由职业者

(2)普通客户

(3)服务项目

(4)时间表

1.3 添加实体属性、行为及关联:

-------------------------------------------------------------------------------------------------------------------------------------------------

2.需求改进

1. 问题定义

1.1 项目名称:出租服务管理系统

1.2 问题概述:

一家公司提供服务出租,公司自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案,通过出租服务管理系统实现公司出租服务相关信息的管理以及提供公司信息的安全性。

1.3 系统需求:

(1)数据需求:

序号 输入数据 数据存储 输出数据
(1) 自由职业者信息 自由职业者信息 审计日志
(2) 普通客户信息 普通客户信息
(3) 时间表 时间表
(4) 项目信息 项目信息

(2)功能性需求:能对自由职业者信息、普通客户信息、项目信息以及时间表进行接受处理并产生审计信息,随时更新自由职业者信息和普通用户信息以及时间表,能够搜索自由职业者分类、搜索项目分类、搜索客户分类以及维护合同中自由职业者的时间表。

(3)技术需求:

序号 需求
(1) 自由职业者信息、普通用户信息、项目信息、时间表必须随时更新。
(2) 主存要有至少30T存储空间的数据库存储自由职业者信息、普通用户信息、项目信息、时间表
(3) 通过限制用户权限,只有拥有权限的特定用户才能访问系统内的相关数据信息以保证存储信息的不外泄
(4) 信息量速率为2.1Mb/s~5.2Mb/s

2. 业务建模

(1)角色责任表

角色 责任 协助者
信息管理员 自由职业者信息管理 数据管理员
普通客户信息管理 数据管理员
时间表管理 数据管理员
项目信息管理 数据管理员
审计员 获取审计信息 信息管理员

(2)责任脚本

3. 分析建模

3.1 数据流图

(1)首层数据流图

(2)2层数据流图

(3)3层数据流图

3.2 实体联系模型

(1)实体及属性

实体 属性
自由职业者 自由职业者编号、自由职业者姓名、自由职业者电话、自由职业者类型、自由职业者地址
时间表 时间表编号,自由职业者编号,时间表时间
普通客户 普通客户编号,普通客户姓名,普通客户电话,普通客户类型、普通客户地址
项目 项目编号,项目内容,项目时间,项目类型

(2)实体间联系

a)一个自由职业者对应一个时间表,一个时间表对应一个自由职业者,因此自由职业者和时间表之间存在一对一关系。

b)一个自由职业者对应多个项目,一个项目对应多个自由职业者,因此自由职业者和项目之间存在多对多关系。

c)一个普通客户对应多个项目,一个项目对应多个普通客户,因此普通客户和项目之间存在多对多关系。

d)一个项目对应多个时间表,一个时间表对应多个项目。因此项目和时间表之间存在多对多关系。

(3)实体联系图

3.3 用例模型

(1)用例图

(2)用例描述

描述项 说明
用例名称 出租服务管理系统
用例描述 系统管理员负责处理相关信息的添加、删除、修改和查询,审计员可以到处审计日志进行审计
参与者 系统管理员、审计员
前置条件 系统管理员输入自由职业者信息、项目信息、普通客户信息、时间表
后置条件 审计日志信息发生变动且时间达到一个星期
基本操作流程 系统管理员输入自由职业者信息、项目信息、普通客户信息、时间表,出租服务管理系统对输入信息进行处理并将处理后的信息进行存储和产生审计日志供审计员查看

(3)交互图

3.4 数据字典

(1)数据项

数据项 名字 别名 简述 定义 位置
(1) 自由职业者编号 服务商编号 用于识别自由职业者特有的代码 自由职业者编号=1{数字}3 自由职业者信息、审计日志、时间表、项目信息
(2) 普通客户编号 用于识别普通客户特有的代码 普通客户编号=1{数字}3 普通用户信息、审计日志、项目信息
(3) 时间表编号 用于识别时间表特有的代码 时间表编号=1{数字}3 时间表信息
(4) 项目编号 用于识别项目特有的代码 项目编号=1{数字}3 项目信息、审计日志
(5) 自由职业者姓名 服务商姓名 自由职业者特有的名称 自由职业者姓名=1{英文字母}6 自由职业者信息、时间表
(6) 普通客户姓名 普通客户特有的名称 普通客户姓名=1{英文字母}6 普通用户信息、项目信息
(7) 项目时间 项目建立的时间 项目时间=4{数字}4+1{汉字字符年}1+1{数字}2+1{汉字字符月}1 项目信息
(8) 项目内容 项目的详细描述 项目内容=2{汉字字符}30 项目信息、审计日志
(9) 自由职业者类型 服务商类型 自由职业者特有的类别 自由职业者类型=[A级\B级] 自由职业者信息
(10) 普通用户类型 普通用户特有的类别 普通用户类型=[会员\非会员] 普通用户信息
(11) 项目类型 项目特有的类别 项目类型=[紧急\一般] 项目信息
(12) 时间表时间 时间表对应自由职业者的时间 时间表时间=4{数字}4+1{汉字字符年}1+1{数字}2+1{汉字字符月}1 时间表信息
(13) 自由职业者电话 服务商电话 自由职业者特有的联系号码 自由职业者电话=11{数字}11 自由职业者信息
(14) 自由职业者地址 服务商地址 自由职业者特有的居住位置 自由职业者地址=2{中文字符}30 自由职业者信息
(15) 普通用户电话 普通用户特有的联系号码 普通用户电话=11{数字}11 普通用户信息
(16) 普通用户地址 普通用户特有的居住位置 普通用户地址=2{中文字符}30 普通用户信息

(2)数据流:

数据流 名字 别名 简述 定义 位置
(1) 自由职业者信息 服务商信息 自由职业者特有的个人资料 自由职业者信息=自由职业者编号+自由职业者姓名+自由职业者电话+自由职业者地址+自由职业者类别 数据库、从计算机输入
(2) 普通用户信息 普通用户特有的个人资料 普通用户信息=普通用户编号+普通用户姓名+普通用户电话+普通用户地址+普通用户类别 数据库、从计算机输入
(3) 时间表 自由职业者对应的特有的个人时间安排表 时间表=自由职业者编号+时间表编号+时间表时间 数据库、从计算机输入
(4) 项目信息 项目特有的资料信息 项目信息=项目编号+项目内容+项目时间+项目类别 数据库、从计算机输入
(5) 审计日志 出租服务审计信息报表 审计日志=自由职业者编号+普通用户编号+项目编号+项目内容 从打印机输出

(3)数据存储:

数据存储 名字 别名 简述 定义 更新频率
(1) 自由职业者信息 服务商信息 自由职业者特有的个人资料 自由职业者信息=自由职业者编号+自由职业者姓名+自由职业者电话+自由职业者地址+自由职业者类别 随时
(2) 普通用户信息 普通用户特有的个人资料 普通用户信息=普通用户编号+普通用户姓名+普通用户电话+普通用户地址+普通用户类别 随时
(3) 时间表 自由职业者对应的特有的个人时间安排表 时间表=自由职业者编号+时间表编号+时间表时间 随时
(4) 项目信息 项目特有的资料信息 项目信息=项目编号+项目内容+项目时间+项目类别 随时

3.5 对象模型

(1)类图

4. 总体设计

4.1 系统流程图

4.2 物理元素清单

(1)硬件

·计算机一台

·打印机一台

·显示器一台

(2)软件

·两个程序

√程序1:更新自由职业者信息,更新普通用户信息,更新项目信息、更新时间表

√程序2:读取数据库信息,产生审计日志

·一个数据库

出租服务数据库:自由职业者信息、普通用户信息、项目信息、时间表

4.3 软件设计

(1)HIPO图

(2)数据库逻辑结构

序号 记录 主码 外码
(1) 自由职业者 自由职业者编号 自由职业者编号,自由职业者姓名,自由职业者电话,自由职业者地址,自由职业者类别
(2) 普通用户 普通用户编号 普通用户编号,普通用户姓名,普通用户电话,普通用户地址,普通用户类别
(3) 项目 项目编号 自由职业者编号,普通用户编号 项目编号,项目内容,项目时间,项目类别,自由职业者编号,普通用户编号
(4) 时间表 时间表编号 自由职业者编号 时间表编号,时间表时间,自由职业者编号

3.系统设计

1.1 架构分层

(1)分层思路

a)使用依赖倒置,使细节依赖于抽象

b)抽象和细节解耦

c)降低系统内部不同模块的耦合性

d) 业务逻辑和技术细节相互分离

(2)结构分层示意图

(3)领域实体

a)自由职业者

b)普通客户

c)服务项目

d)时间表

(4)领域服务

领域服务 描述
信息验证 检验更新信息是否符合限制要求
安全验证 检验操作以及操作环境是否安全
身份验证 检验操作者身份是否具有操作权限

(5)领域事件

领域事件 描述
成功修改信息事件 表示信息修改成功的事件
成功添加信息事件 表示信息添加成功的事件
成功删除信息事件 表示信息删除成功的事件
失败修改信息事件 表示信息修改失败的事件
失败添加信息事件 表示信息添加失败的事件
失败删除信息事件 表示信息删除失败的事件
失败查询信息事件 表示信息查询失败的事件
成功查询信息事件 表示信息查询成功的事件
身份符合事件 表示操作者具有相应操作权限的事件
身份不符合事件 表示操作者不具有相应操作权限的事件
安全事件 表示操作及操作环境安全的事件
不安全事件 表示操作及操作环境不安全的事件

(6)添加实体属性、行为及关联:

(7)战略设计

领域 子域 限定上下文 领域服务
信息管理域 自由职业者信息管理子域 实现对自由职业者的信息进行“增、删、改、查”的功能 信息验证、安全检验
信息管理域 普通客户信息管理子域 实现对普通客户的信息进行“增、删、改、查”的功能 信息验证、安全检验
信息管理域 时间表管理子域 实现对时间表的信息进行“增、删、改、查” 的功能 信息验证、安全检验
信息管理域 项目信息管理子域 实现对项目的信息进行“增、删、改、查”的功能 信息验证、安全检验
权限域 管理员权限子域 实现管理员所拥有系统功能的权限 身份验证、安全检验
权限域 审计员权限子域 实现审计员所拥有系统功能的权限 身份验证、安全检验
审计日志域 打印审计日志子域 实现打印审计日志功能 身份验证、安全检验
审计日志域 查看审计日志子域 审计员所拥有系统功能的权限 身份验证、安全检验

-------------------------------------------------------------------------------------------------------------------------------------------------

4.代码开发任务计划

(1)任务计划表

模块 开发时间 开发循序 优先级 任务 任务具体时间
前端页面 24小时 第一位 最高 颜色搭配方案设计 8小时
前端页面 24小时 第一位 最高 控件样式设计 8小时
前端页面 24小时 第一位 最高 页面总体设计 8小时
信息管理模块 26小时 第二位 自由职业者信息管理功能实现 8小时
信息管理模块 26小时 第二位 普通客户信息管理功能实现 6小时
信息管理模块 26小时 第二位 时间表管理功能实现 6小时
信息管理模块 26小时 第二位 项目信息管理功能实现 6小时
后台存储模块 17小时 第三位 较高 数据库逻辑设计 8小时
后台存储模块 17小时 第三位 较高 数据库创建 6小时
后台存储模块 17小时 第三位 较高 数据库连接 3小时
打印审计日志模块 8小时 第四位 较高 打印审计日志功能实现 8小时

(2)开发计划甘特图

-------------------------------------------------------------------------------------------------------------------------------------------------

5.测试计划

(1)测试项目

项目名称 版本 项目负责部门 完成日期 攥写人
出租服务管理系统 Ver 2.0 软件工程五班 2021/5/11 郑政

(2)测试总纲及人员安排

编号 测试类型 测试内容 测试目的 测试人员 测试人员电话 测试工具及方法
1 功能测试 产生审计信息,自由职业者信息和普通用户信息以及时间表管理,搜索自由职业者分类、搜索项目分类、搜索客户分类以及维护合同中自由职业者的时间表 核实所有功能均已正常实现 郑政 700823823 黑盒测试,手工测试
2 用户界面测试 页面结构包括菜单、背景、颜色、字体、按钮、提示信息的一致性等 核实网站风格符合可接受标准 郑政 700823823 手工测试
3 安全测试 权限限制、SQL注入 核实只能具备系统访问权限的用户才能访问系统 郑政 700823823 黑盒测试、手工测试
4 兼容性测试 用不同版本的不同浏览器:IE6.0、IE8.0、火狐、遨游、搜狗、360浏览器等访问系统 核实系统在不同的软件和硬件配置中运行稳定 郑政 700823823 黑盒测试、手工测试

(3)测试环境及配置

资源名称、类型 配置
测试PC硬盘容量 1T
测试PC处理器 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz 1.99 GHz
操作系统 Windows10
应用服务器 Tomcat服务器
数据库管理系统 MySQL
应用软件 IDEA

(4)测试进度安排

阶段 任务号 任务名称 前序任务号 工时(人日) 提交结果 负责人
测试计划 1 制定测试计划 1 测试计划文档 郑政
测试系统开发配置 2 人员安排 1 0.5 任务分配 郑政
测试系统开发配置 3 测试环境配置 1,2 1.5 可运行系统环境 郑政
测试系统开发配置 4 测试用例设计 1,2 2 测试用例文档 郑政
测试执行 5 第一阶段通过 1,2,3,4 2 测试结果记录 郑政
测试执行 6 第二阶段通过 5 2 测试结果记录 郑政
测试执行 7 第三阶段通过 6 2 测试结果记录 郑政
测试总结分析 8 退出系统测试 7 0.5 测试分析报告 郑政

(5)测试时间安排表

步骤 预计完成时间 预计开始时间 预计结束时间 矫正后完成时间 校正后结束时间
集成测试完成 3个工作日 2021/7/7 2021/7/10 3个工作日 2021/6/14
系统测试完成 3个工作日 2021/7/11 2021/7/14 3个工作日 2021/6/17
测试总结完成 1个工作日 2021/7/15 2021/7/16 1个工作日 2021/6/18
测试完成 0个工作日 2021/7/16 2021/7/16 0个工作日 2021/6/18
验收测试完成 3个工作日 2021/7/17 2021/7/20 3个工作日 2021/6/21

-------------------------------------------------------------------------------------------------------------------------------------------------

后台截图

郑政 | 2021软件代码开发技术作业四 | 需求改进&系统设计的更多相关文章

  1. 【1414软工助教】团队作业3——需求改进&系统设计 得分榜

    题目 团队作业3--需求改进&系统设计 作业提交情况情况 本次作业所有团队都按时提交作业. 往期成绩 个人作业1:四则运算控制台 结对项目1:GUI 个人作业2:案例分析 结对项目2:单元测试 ...

  2. 【集美大学1411_助教博客】团队作业3——需求改进&系统设计 成绩

    看到同学们越来越认真了,助教非常高兴.大家已经开始了alpha冲刺,请控制好进度.成功的关键就是不断迭代,不断迭代. 关于leangoo 我看到所有组的同学都已经开始使用leangoo,请大家把助教加 ...

  3. 【2017集美大学1412软工实践_助教博客】团队作业3——需求改进&系统设计 成绩公示

    第三次团队作业成绩公布 题目 团队作业3: 需求改进&系统设计 团队成绩 成绩公示如下: 缩写 TD BZ GJ CJ SI WBS GS JG DB SS SJ CS DC Total 分值 ...

  4. 【2017下集美大学软工1412班_助教博客】团队作业3——需求改进&系统设计团队成绩公示

    作业要求 团队作业3--需求改进&系统设计 团队评分结果 Total QH BZ GJ MS SXX WBS SJ JG SJK JH NR CS PHILOSOPHER 需求改进&系 ...

  5. 团队作业三——需求改进&系统设计

    需求改进&系统设计 一. 需求&原型改进 1. 针对课堂讨论环节老师和其他组的问题及建议,对修改选题及需求进行修改 老师及其他组的同学在课堂讨论时尚未提出问题及修改意见,但是课后我们有 ...

  6. 团队作业3——需求改进&系统设计

    Deadline: 2017-4-21 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目包括后文的四个方面 需求&原型改进 系统设计 Alpha任务分配计划 测试计 ...

  7. 团队作业3 需求改进&系统设计(银河超级无敌舰队)

    目录 一.需求&原型改进 1. 需求改进 2. 修改说明书 3.功能分析 4. 调整WBS及计划 二.系统设计 1. 总体设计 2. 数据库设计 3.社团设计 三.Alpha任务分配计划 1. ...

  8. 团队作业3_需求改进&系统设计

    一.需求&原型改进 1.需求改进: (1)发现问题:通过发布问卷调查及收集整理的形式发现用户的新需求: (2)修改需求:考虑新增提醒用户未完成事件的功能.   附:用户调查问卷(如下) 调研途 ...

  9. 集美大学网络1413第七次作业成绩(团队三) --需求改进&系统设计

    题目 团队作业3--需求改进&系统设计 团队作业3成绩  团队/分值 TD BZ GJ CJ SI WBS GS JG DB SS SJ CS DC 总分  1 0.25 0.75 1 0.5 ...

随机推荐

  1. 日志功能 - 使用 conf 配置文件

    配置文件:Logger.conf 工具类:LogUtil.py 测试类:testDemo.py 执行效果 配置文件:Logger.conf 定义日志的类型.级别.格式等信息. [loggers] # ...

  2. 1075 PAT Judge

    The ranklist of PAT is generated from the status list, which shows the scores of the submissions. Th ...

  3. git Windows下重命名文件,大小写敏感问题

    作为一个重度强迫症患者,是不忍受文件名,有字母大小拼写错误的,但是在git下,已是受控版本文件要改过来,要费些周章了. 一.环境 Widnows + git version 2.24.0 + Tort ...

  4. 07- 移动端app弱网测试与fiddle弱网测试

    从下面几个点了解弱网测试: 什么样的网络属于弱网. 低于2g速率的时候都属于弱网,也可以将3g划分为弱网,一般WiFi不纳入弱网范畴. 为什么要进行弱网测试 ①按照移动特定,各种网络连接协议不同,导致 ...

  5. 【ElasticSearch】索引重建

    ElasticSearch索引重建 ElasticSearch索引一旦建立,便不可修改索引字段类型(允许增加或者删除该字段) 例如从Integer类型修改为long类型,这是不被允许的,错误信息如下: ...

  6. 【MybatisPlus】使用Wrappers条件构造器构造or和and

    模糊查询中,会有针对一个数据,需要查询数据库的多个字段的情况,例如: 上图中的平台名称和平台进程在数据表中是两个不同的字段, 如果不使用Mybatisplus,仅使用Mybatis,则只有通过写xml ...

  7. Ubuntu20安装Truffle框架并部署第一个DApp

    1.查看Ubuntu版本信息 $ screenfetch 2.安装node ①查看nodejs官网稳定版(LTS)版本号(下面的14就是此时的版本号) ②添加源 $ curl -sL https:// ...

  8. hdu1043 经典的八数码问题 逆向bfs打表 + 逆序数

    题意: 题意就是八数码,给了一个3 * 3 的矩阵,上面有八个数字,有一个位置是空的,每次空的位置可以和他相邻的数字换位置,给你一些起始状态 ,给了一个最终状态,让你输出怎么变换才能达到目的. 思路: ...

  9. hdu4771 水搜索(状态压缩+bfs)

    题意:      给你一个n*m的地图,问你从起点出发,吧所有的宝藏都捡完用的最少时间. 思路:k <= 4,水题,直接开一个数组mark[now][x][y];now代表的是当前检宝藏的二进制 ...

  10. PyCharm调试程序

    当我们在运行python程序出错时,我们需要定位到出错的位置.有时候通过程序运行时的报错可以很容易的找到出错的位置,但是有时候必须得通过调试程序才能找出我们的错误. PyCharm中要调试程序的话,在 ...