前言
这个作业属于哪个课程
2021软件代码开发技术
这个作业要求在哪里
综合系统开发----需求分析
这个作业的目标
结合领域驱动设计方法、软件设计模式等知识对需求进行建模,并撰写需求规格说明书
需求规格说明书
一、引言
1. 编写目的
为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。
2. 软件需求分析理论 软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的、可验证的一个基本依据。
软件需求分析是一个项目的开端,也是项目实施最重要的关键点。据有关的机构分析结果表明,设计的软件产品存在不完整性、不正确性等问题80%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的功能问题尤为突出。因此,一个项目的成功软件需求分析是关键的一步。
软件需求分析应尽量提供软件实现功能需求的全部信息,使得软件设计人员和软件测试人员不再需要需求方的接触。这就要求软件需求分析内容应正确、完整、一致和可验证。此外,为保证软件设计质量,便于软件功能的休整和验证,软件需求表达无岔意性,具有可追踪性和可修改性。
4. 参考文献《需求工程—软件建模与分析(第2版)》 丁二玉(著者),骆斌(编者) 高等教育出版社
《代码精进之路:从码农到工匠》 张建飞 人民邮电出版社
二、需求概述 1. 项目背景
现有一家公司提供服务出租,自身有一些员工,另外还有很多自由职业者作为服务商存在。公司目前使用Excel工作表来管理他们的客户(自由职业者),时间表等。Excel解决方案无法很好地进行扩展。它无法应对多用户使用的场景,也不提供安全和审计日志。因此他们决定构建一个新的基于Web的解决方案。
2. 需求概述搜索自由职业者分类的功能
用于存储联系自由职业者的不同渠道的解决方案
搜索项目分类的功能
搜索客户分类的功能
维护合同中自由职业者的时间表
3. 面向用户分析针对出租服务管理系统的使用对象不同来进行分析:
自由职业者:可以登入系统,查看/接受客户发布的项目,修改个人信息,维护时间表
客户:可以登入系统,发布项目,修改个人信息,查询自由职业者的时间表
管理员:可以登入系统,管理项目,管理客户信息,管理自由职业者信息,查看安全日志和审计日志
三、系统功能需求 1. 领域驱动设计
领域驱动设计中的“领域”是指“应用程序逻辑所围绕的知识和活动领域”,即在软件领域中被称为“业务逻辑”的东西。在领域驱动设计中,业务逻辑被视为软件的心脏。
领域对象模型构建
概念类:客户(User)、自由职业者(Professional)、项目(Project)、时间表(Schedule)
添加属性和方法:
关联领域对象模型:
2. 构造E-R图
3. 业务逻辑流程
4. 用例图
四、软硬件或其他外部系统接口需求 1. 用户界面
界面美观清晰,图标识别性高
操作舒适简单,交互性高,易用性强
2. 技术需求