郑政 | 2021软件代码开发技术作业四 | 需求改进&系统设计
需求改进&系统设计
-------------------------------------------------------------------------------------------------------------------------------------------------
这个作业属于哪个课程 | 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软件代码开发技术作业四 | 需求改进&系统设计的更多相关文章
- 【1414软工助教】团队作业3——需求改进&系统设计 得分榜
题目 团队作业3--需求改进&系统设计 作业提交情况情况 本次作业所有团队都按时提交作业. 往期成绩 个人作业1:四则运算控制台 结对项目1:GUI 个人作业2:案例分析 结对项目2:单元测试 ...
- 【集美大学1411_助教博客】团队作业3——需求改进&系统设计 成绩
看到同学们越来越认真了,助教非常高兴.大家已经开始了alpha冲刺,请控制好进度.成功的关键就是不断迭代,不断迭代. 关于leangoo 我看到所有组的同学都已经开始使用leangoo,请大家把助教加 ...
- 【2017集美大学1412软工实践_助教博客】团队作业3——需求改进&系统设计 成绩公示
第三次团队作业成绩公布 题目 团队作业3: 需求改进&系统设计 团队成绩 成绩公示如下: 缩写 TD BZ GJ CJ SI WBS GS JG DB SS SJ CS DC Total 分值 ...
- 【2017下集美大学软工1412班_助教博客】团队作业3——需求改进&系统设计团队成绩公示
作业要求 团队作业3--需求改进&系统设计 团队评分结果 Total QH BZ GJ MS SXX WBS SJ JG SJK JH NR CS PHILOSOPHER 需求改进&系 ...
- 团队作业三——需求改进&系统设计
需求改进&系统设计 一. 需求&原型改进 1. 针对课堂讨论环节老师和其他组的问题及建议,对修改选题及需求进行修改 老师及其他组的同学在课堂讨论时尚未提出问题及修改意见,但是课后我们有 ...
- 团队作业3——需求改进&系统设计
Deadline: 2017-4-21 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目包括后文的四个方面 需求&原型改进 系统设计 Alpha任务分配计划 测试计 ...
- 团队作业3 需求改进&系统设计(银河超级无敌舰队)
目录 一.需求&原型改进 1. 需求改进 2. 修改说明书 3.功能分析 4. 调整WBS及计划 二.系统设计 1. 总体设计 2. 数据库设计 3.社团设计 三.Alpha任务分配计划 1. ...
- 团队作业3_需求改进&系统设计
一.需求&原型改进 1.需求改进: (1)发现问题:通过发布问卷调查及收集整理的形式发现用户的新需求: (2)修改需求:考虑新增提醒用户未完成事件的功能. 附:用户调查问卷(如下) 调研途 ...
- 集美大学网络1413第七次作业成绩(团队三) --需求改进&系统设计
题目 团队作业3--需求改进&系统设计 团队作业3成绩 团队/分值 TD BZ GJ CJ SI WBS GS JG DB SS SJ CS DC 总分 1 0.25 0.75 1 0.5 ...
随机推荐
- 另类的曲线方式定时Start up/Shut down VM 的解决方案
一,引言 最近看到一位小兄弟在为了做 Azure 云虚拟机的自动关机开启 在群里求助,最后也不知道结果咋样了. 至于他提到的利用 Automation Account 我是没有接触过,并且也没有看资料 ...
- 1030 Travel Plan
A traveler's map gives the distances between cities along the highways, together with the cost of ea ...
- Sublime Text 3 Build 3176 License
先在hosts文件里加入两行: 127.0.0.1 www.sublimetext.com 127.0.0.1 license.sublimehq.com 目的是防止Sublime Text更新和检测 ...
- 路由器逆向分析------MIPS交叉编译环境的搭建(Buildroot)
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/68950682 为了能在我们熟悉的windows或者ubuntu下开发mips架构的 ...
- LA3266田忌赛马
题意: 田忌和齐王赛马,两个人每人n匹马,每个马都有自己的速度,赢一场得到200分,输一场失去200分,平则不得分,问田忌可能得到的最高得分是多少? 思路: 又是一个比较经典的 ...
- 15.PHP_PHP与Ajax
PHP与Ajax 刚刚下班回来地铁上看的这一章,觉得这东西思路可以.确实解决了WEB的两个大的问题,流量和计算量问题.简单说下我的理解,然后在根据资料整理下学习笔记. 两个问题: 1.展示一个WEB网 ...
- XCTF-wtf.sh-150
wtf.sh-150 题目描述 没有描述 解题过程 打开之后是个论坛,有注册和登录功能点 抓包发现,登陆成功后会设置cookie <script>document.cookie = 'US ...
- HBASE-使用问题-split region
问题描述: HBASE表的管理以REGION分区为核心,通常面临如下几个问题: 1) 数据如何存储到指定的region分区,即rowkey设计,region splitkey设计 2)设计的split ...
- pr加字幕
选择免费字体 自由字体整理了免费的商用字体 安装字体 将下载好的.ttf文件,右键选择为所有用户安装 如果没有选择为所有用户安装,你在Arctime或者premiere中可能无法找到这个字体 而且想要 ...
- 手机访问电脑本地localhost网页
项目需要用手机访问电脑本地网页,从而可以调试项目,对代码的理解的快一点 重点 确保手机和电脑在同一个局域网 可以通过手机开热点电脑连接或者电脑开便携式热点手机连接 确保电脑的防火墙是关闭的 打开apa ...