作业4
| 这个作业属于哪个课程 | <班级的链接> |
|---|---|
| 这个作业要求在哪里 | <作业要求的链接> |
| 这个作业的目标 | 1.对需求规格说明书再次细化 2.进行系统设计 3.设计开发任务计划 4.设计测试计划 |
一、需求规格说明
1.问题定义
一家公司提供服务出租,自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案。以下是核心要求:
(1)搜索自由职业者分类的功能
(2)用于存储联系自由职业者的不同渠道的解决方案
(3)搜索项目分类的功能
(4)搜索客户分类的功能
(5)维护合同中自由职业者的时间表
2.需求分析
2.1 用户分析
该系统主要提供给客户、自由职业者和管理员使用。客户需要能够发布项目、寻找合适的自由职业者以及签定合同;自由职业者需要寻找合适的项目并进行申请。
此外,基于使用上的需求,两者应该还需要能够基本的注册登录、基本信息的录入以及提供基本的搜索功能。管理员则需要拥有对用户信息、项目信息等基本信息
的管理权限。
2.2 功能需求
经过用户分析之后,可以得到的用户功能需求如下:
自由职业者:个人信息管理、搜索、项目申请、时间表管理
客户:个人信息管理、搜索、项目管理(包含合同管理)
管理员:用户信息管理、项目信息管理
2.3技术需求
性能需求
(1)响应时间要在2秒以内
(2)搜索结果10秒内要显示出来
(3)支持1000名用户同时使用,并且不会出现明显的卡顿情况
3.概要设计
3.1用例图
根据用户需求,画出以下用例图

用例描述







3.2 ER图

3.3 领域类图

3.4上下文图

4.计划
| 计划名称 | 预计时间 | 开始时间 | 结束时间 | 矫正时间 | 矫正开始时间 | 矫正结束时间 |
|---|---|---|---|---|---|---|
| 需求获取 | 3 | 2022/5/1 | 2022/5/3 | 7 | 2022/5/1 | 2022/5/7 |
| 需求分析 | 3 | 2022/5/4 | 2022/5/6 | 2 | 2022/5/8 | 2022/5/9 |
| 概要设计 | 2 | 2022/5/7 | 2022/5/9 | 3 | 2022/5/10 | 2022/5/12 |
| 详细设计 | 4 | 2022/5/10 | 2022/5/13 | 6 | 2022/5/13 | 2022/5/18 |
| 编码 | 5 | 2022/5/14 | 2022/5/18 | 10 | 2022/5/19 | 2022/5/28 |
| 测试 | 2 | 2022/5/19 | 2022/5/20 | 10 | 2022/5/29 | 2022/6/7 |
矫正方法:需求获取,因为客户不一定了解软件开发过程,以及我们不了解具体情况和知识,应该需要花费更多的时间在需求获取上;
在获取完需求之后,需求分析应该是能够快速完成,应该把更多时间放在概要设计和详细设计上;编码预留了一定时间来完成原型制作
和迭代,需要更多的时间对系统进行诸如压力测试,安全性测试,健壮性测试等,确保交付系统的质量。
二、系统设计
1.MVC架构图
系统将采用MVC架构进行编写,具体结构如下图

2.模块结构图

3.领域划分图

4.数据库设计
| 序号 | 名称 | 主码 | 外码 | 属性 |
|---|---|---|---|---|
| 1 | 自由职业者表 | 自由职业者编号 | - | 自由职业者编号,姓名,性别,年龄,服务类型,联系方式 |
| 2 | 客户表 | 客户编号 | - | 客户编号,姓名,性别,年龄,联系方式 |
| 3 | 项目表 | 项目编号 | 自由职业者编号,普通客户编号 | 编号,项目内容,项目时间,项目分类,客户编号,自由职业者编号 |
| 4 | 合同表 | 合同编号 | 自由职业者编号,普通客户编号 | 合同编号,合同时间,合同有效期,合同内容,客户编号,自由职业者编号 |
| 5 | 时间表 | 时间表编号 | 自由职业者编号,普通客户编号 | 编号,时间,自由职业者编号,事件 |
5.实体类

三、开发任务计划
1.开发顺序

根据模块结构图的顺序进行开发
2.模块时间表
| 模块名 | 耗时/小时 |
|---|---|
| 注册模块 | 2 |
| 登录模块 | 3 |
| 个人信息模块 | 4 |
| 项目发布模块 | 6 |
| 项目申请模块 | 2 |
| 项目管理模块 | 3 |
| 合同管理模块 | 5 |
| 项目搜索模块 | 6 |
| 用户搜索模块 | 5 |
3.甘特图

四、测试计划
1.测试范围
包括所有界面,所有模块。
2.测试目标
测试界面设计的合理性以及模块的运行和可能存在的缺陷,安全性隐患等
3.测试方法
白盒测试:静态测试、程序插桩、逻辑覆盖、基本路径测试
黑盒测试:
功能测试(等价类划分、边界值分析、错误推测、因果图法、场景法)
非功能性测试(性能测试、强度测试、安全测试、配置测试、兼容性测试、使用性能测试)
4.测试任务分配
| 模块名称 | 任务 | 测试人员 |
|---|---|---|
| 注册模块 | 输入输出,以及基本功能的正常运作 | 黄梓浩 |
| 登录模块 | 输入输出,以及基本功能的正常运作 | 黄梓浩 |
| 项目发布模块 | 输入输出,以及基本功能的正常运作 | 黄梓浩 |
| 项目申请模块 | 信息准确显示,功能正常运作 | 黄梓浩 |
| 项目管理模块 | 信息准确显示,功能正常运作 | 黄梓浩 |
| 合同管理模块 | 信息准确显示,功能正常运作 | 黄梓浩 |
| 项目搜索模块 | 搜索结果,消耗时间 | 黄梓浩 |
| 用户搜索模块 | 搜索结果,消耗时间 | 黄梓浩 |
| 界面测试 | 测试界面是否美观,便于使用 | 黄梓浩 |
截图

浙公网安备 33010602011771号