作业三
| 这个作业属于哪个课程 | 班级链接 |
|---|---|
| 这个作业的要求在哪里 | 作业要求链接 |
| 这个作业的目标 | 做软件开发需求,请运用UML(统一建模语言),结合领域驱动设计方法、软件设计模式等知识进行建模,完成撰写需求规格说明书,完成项目后续的开发计划。建立项目git仓库。项目后续的代码、通过git增量式管理文档。实现文档的版本化和增量式管理。 |
软件开发需求
一家公司提供服务出租,自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案。以下是核心要求:
- 搜索自由职业者分类的功能
- 用于存储联系自由职业者的不同渠道的解决方案
- 搜索项目分类的功能
- 搜索客户分类的功能
- 维护合同中自由职业者的时间表
需求规格说明书
1. 引言
1.1 目的
- BR1:使用系统后,可以扩展存储更多的客户信息。
- BR2:使用系统后,可以多用户使用管理客户。
- BR3:能够通过系统基于分类搜索自由职业者、客户和项目。
- BR4:能够通过系统维护合同自由职业者的时间表。
- BR5:通过系统可以查看审计日志。
1.2 范围
下面使用用例图描述项目范围,即软件产品的预期功能。

2.总体描述
2.1产品功能
下面是系统产品的功能,即系统特性。
- SF1:添加/删除/修改客户信息,管理客户信息。
- SF2:添加/删除/修改项目信息,管理项目信息。
- SF3:基于不同的条件查询客户信息/项目信息,快速搜索目标客户/项目。
- SF4:记录用户的操作记录,提供安全审计日志。
- SF5:通过Excel批量导入/到处数据。
- SF6:维护合同。
2.2 用户特征
下面是使用该系统的用户的基本特征。
- 使用该系统的人员主要是该公司的员工即自由职业工作者。
- 使用该系统的人员基本都是非计算机专业人员。
- 使用该系统之前涉众使用的工具为Excel。
3.详细需求描述
3.1对外接口需求
3.1.1 用户界面
- 采用B/S架构,使用WEB浏览器作为图形用户界面。
- 界面图形简单明了,使用者可以快速上手。
- 各个按钮有功能和快捷键提示。
3.1.2 硬件接口
- 系统能够在主流的计算机系统上运行,如windows10、mac等。
- 系统支持目前主流的浏览器,如谷歌、火狐、Edge等。
3.1.3 软件接口
- 系统能够与主流的关系数据库连接,如mysql、sqlserver等,主要执行对数据增删改查的操作。
3.2 功能需求
3.2.1用例描述
以下用例描述描述了软件产品在接收和处理外部输入中发生的基本行为,






设计
1. 领域模型
根据需求建立软件领域模型。
概念类:用户、客户、项目、合同、审计日志。
领域模型

2.数据库设计
2.1 E-R图
基于上述领域模型得到以下的数据库关系模型。
用户(用户id,姓名,性别,职务,权限)。
客户(客户id,姓名,性别,类型)。
项目(项目id,项目名称,价格,类型)。
合同(合同id,客户id,服务者,开始时间,结束时间,签约时间)。
审计日志(审计id,用户id,操作,操作时间)。

3.架构选择
由于该系统涉及的操作并不复杂,主要是对数据库进行简单的操作,这里选择采用简单的MVC三层架构模型,选用SpringBoot架构,数据库选择了较为熟悉的MySQL数据库。
Git截图
系统文件采用Git仓库管理。
git仓库地址:https://github.com/personground/excelsystem.git.

时间安排表

markdown截图

浙公网安备 33010602011771号