作业3:综合系统开发----需求分析
这个作业属于哪个课程 | 2022软件代码开发技术 |
---|---|
这个作业要求在哪里 | 作业2要求 |
这个作业的目标 | 1.学会结合领域驱动设计方法、软件设计模式等知识运用UML进行建模 2.熟练Github的使用 3.提升需求分析能力 |
1.项目背景
软件开发需求:
一家公司提供服务出租,自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案。以下是核心要求:
1.搜索自由职业者分类的功能
2.用于存储联系自由职业者的不同渠道的解决方案
3.搜索项目分类的功能
4.搜索客户分类的功能
5.维护合同中自由职业者的时间表
2.需求规格说明书
数据需求:
- 输入数据
- 客户信息:id、姓名、性别、电话号码、邮箱、信誉等级、需要服务类型
- 自由职业者信息:id、姓名、性别、电话号码、邮箱、信誉等级、服务类型
- 合同表:id、项目描述、自由职业者id、客户id、项目类型、进度、金额
- 时间表:id、自由职业者id、可服务时间
- 存储数据:
- 审计信息:操作者id、操作内容、操作结果
- 输出数据
- 操作结果:操作者id,操作内容,操作结果
其他需求:
性能需求:
- 系统兼容性好,能够在包括移动端和PC端,安卓和苹果端的不同平台上运行。
- 能在操作系统Windows10,浏览器:Microsoft Edge浏览器、Chrome浏览器等主流浏览器顺利运行。
安全需求:
- 系统安全性好,能够保证不被病毒入侵。
- 系统抗压力能力强,能够支持十万级的用户同时使用。
- 系统稳定性强,能在网络强度较弱的时候保持功能正常。
用例分析:
客户
SF1:注册登录功能
SF2:发布项目
SF3:联系自由职业者
SF4:搜索自由职业者及种类
SF5:签订合同
自由职业者
SF6:注册登录功能
SF7:搜索项目及种类
SF8:编辑时间表
SF9:搜索客户及种类
SF10:签订合同
管理员
SF11:管理客户、自由职业者信息
SF12:项目分类
SF13:客户分类
SF14:查看管理合同
用例图:
领取驱动设计
领域驱动架构:
定义领域对象:
客户:customer
自由职业者:freelancer
管理员:administrator
合同:project
时间表:schedule
领域模型
结构模块图
项目时间安排表
计划名称 | 开始时间 | 预计时间 | 结束时间 | 矫正时间 |
---|---|---|---|---|
需求分析 | 2022.4.7 | 11天 | 2022.4.18 | 6天 |
文档编写 | 2022.4.19 | 6天 | 2022.4.25 | 1天 |
功能开发 | 2022.4.25 | 30天 | 2022.5.25 | 15天 |
软件测试 | 2022.5.25 | 4天 | 2022.5.29 | 7天 |
项目维护 | 2022.5.30 | 18天 | 2022.6.18 | 10天 |
矫正方法:关键路径法(CPM),其工作原理是:为每个最小任务单位计算工期、定义最早开始和结束日期、最迟开始和结束日期、按照活动的关系形成顺序的网络逻辑图,找出必须的最长的路径,即为关键路径。 |