XJTU 软件系统分析与设计作业二:设计需求管理系统

软件系统分析与设计 —— 设计需求分析与管理系统


第二次作业 —— 设计需求管理系统:

一、问题

请结合教材相关内容以及网络资料与课件,在对需求属性特征进行定义的基础上,对网络中任意提供的一个需求管理系统进行分析,或者基于个人对需求工程的理解,请尝试对整个需求管理系统中的实体以及属性进行建模,并对整个系统的开发与实现进行设计。(注:可以采用ER图,也可以采用类图或其它模型来表示。


二、需求分析与需求管理流程

首先我们要明确需求管理系统的核心功能,而明确这一前提是明确需求分析和需求管理的流程,流程如下:
在这里插入图片描述


2.1 需求分析
2.1.1 收集需求

涉及角色:产品经理、客户、用户代表、市场部门、UX设计师。
业务关联场景:客户反馈、市场调研、用户行为数据分析等。

2.1.2 用户需求精炼

涉及角色:产品经理、项目经理、市场部门、UX设计师。
业务关联场景:定义不同用户画像、需求冲突消解、明确定义涉及物以及之间关系、业务关联场景分析、解决语义断连问题。

2.1.3 需求建模与层次化需求定义

涉及角色:系统架构师、产品经理、项目经理、UX设计师。
业务关联场景:需求的分层管理(业务需求,用户需求,功能需求,非功能需求,约束条件)、功能拆分与模块化设计、需求优先级定义。


2.2 需求管理
2.2.1 需求确认

涉及角色:产品经理、客户、用户代表、开发团队、测试团队。
业务关联场景:需求评审会议、需求变更管理、形成第一代需求版本。

2.2.2 需求版本变更

涉及角色:系统架构师、项目经理、产品经理、开发团队、测试团队。
业务关联场景:在开发中不断细化需求、需求变更控制、版本管理。

2.2.3 需求跟踪

涉及角色:所有角色。
业务关联场景:全流程进行需求跟踪。


三、需求分析与管理系统的需求分析

3.1 需求分析与管理系统的功能模块
功能模块序号需求分析与管理框架涉及角色场景
需求分析
1收集需求产品经理、客户、用户代表、市场部门、UX设计师客户反馈、市场调研、用户行为数据分析等
2用户需求精炼产品经理、项目经理、市场部门、UX设计师定义不同用户画像、需求冲突消解、明确定义涉及物以及之间关系、业务关联场景分析、解决语义断连问题
3需求建模与层次化需求定义系统架构师、产品经理、项目经理、UX设计师需求的分层管理(业务需求,用户需求,功能需求,非功能需求,约束条件)、功能拆分与模块化设计、需求优先级定义
需求管理
4需求确认产品经理、客户、用户代表、系统架构师、开发团队、测试团队需求评审会议、需求变更管理、形成第一代需求版本
5需求版本变更系统架构师、项目经理、产品经理、开发团队、测试团队在开发中不断细化需求、需求变更控制、版本管理
6需求跟踪所有角色全流程进行需求跟踪
辅助功能
7创建管理角色系统管理员、项目经理进行系统的角色管理
8需求数据分析展示CEO、项目经理进行需求数据的分析和展示

3.2 需求分析与管理系统的角色及边界
角色序号角色权限对应的功能模块序号
1系统管理员最高7
2CEO8
3项目经理2、3、4、5、6、7、8
4产品经理1、2、3、4、5、6
5系统架构师3、4、5、6
6开发人员5、6
7测试人员5、6

3.3 需求分析与管理系统的分层需求
3.3.1 业务、用户、功能需求
类别需求描述
业务需求系统需要通过有效的需求收集、跟踪、评估和协作功能,提升企业的项目管理效率和需求管理的透明性。
用户需求
CEO希望系统能够提供实时的需求进展和业务价值分析,帮助做出高效的战略决策。
项目负责人希望系统能有效跟踪需求全生命周期,确保项目按计划推进并及时应对需求变更。
产品经理希望系统简化需求收集和优先级管理,提升跨团队协作和需求评审的效率。
开发人员希望系统提供清晰的需求描述和变更记录,减少沟通成本并确保开发需求明确。
测试人员希望系统能够及时同步需求变更,并提供需求验证和追踪工具,确保测试覆盖全面。
功能需求
需求收集收集来自不同来源的用户需求。
用户需求精炼提炼并细化用户提出的需求。
需求建模与层次化需求定义建立需求模型,并进行层次化定义。
需求确认通过评审或自动化工具确认需求的正确性和必要性。
需求版本变更追踪并管理需求的版本变更。
需求跟踪全程跟踪需求状态,确保需求在项目生命周期中被准确执行。
创建管理角色创建并管理需求相关角色的权限和职责。
需求数据分析展示提供需求数据的可视化展示与分析功能。

3.3.2 功能需求与非功能需求

在这里插入图片描述


四、需求分析与管理系统功能需求详解

4.1 需求分析
4.1.1 收集需求
  • AI 驱动的客户访谈管理:

    • 功能描述:系统利用AI,全程记录产品经理与客户的面对面访谈,整理成“用户需求说明书”文档并录入系统,方便后续分析。

    • 实现方式

      • 提供访谈记录工具,便于实时记录客户反馈。
      • 自动生成用户需求说明书模板,便于快速整理与录入。
    • 特点:通过深入了解客户背景、痛点和期望,提高需求获取的准确性和全面性。

  • AI 驱动的需求收集:

    • 功能描述:系统开放AI接口,允许授权客户(如经理、老板、系统使用者)与AI进行对话,自动理解并记录需求,并实现需求过滤机制。

    • 实现方式

      • 集成自然语言处理技术,使AI能够理解客户的语言和需求。
      • 实现需求过滤机制,自动识别和剔除无效或重复的需求。
    • 特点:通过深入了解客户背景、痛点和期望,提高需求获取的准确性和全面性。

  • 业务流程观察与需求捕捉:

  • 功能描述:系统支持市场部门和产品经理通过观察业务流程,主动发现并记录用户需求和改进机会。

    • 实现方式
      • 提供观察记录工具,使观察者能够实时记录业务流程中的潜在需求。
      • 形成需求文档,便于与团队其他成员共享和讨论。
  • 特点:关注实际工作场景,能够捕捉到隐性需求和未表达的需求,提升系统的适用性和用户满意度。


4.1.2 用户需求精炼
  • AI 驱动的语义断连解决办法:

    • 功能描述:系统集成语义分析功能,自动检测需求文档中的模糊描述和歧义,帮助开发人员提升需求的准确性。该工具能够对需求描述中的术语和表达进行一致性检查,减少语义断连。
  • 用户画像管理功能:

    • 功能描述:系统提供用户角色定义功能,帮助产品经理或开发团队明确不同角色的需求。
  • AI 驱动的需求冲突检测功能:

    • 功能描述:系统集成语义分析功能,通过分析不同用户群体的需求,识别潜在的需求冲突,并为需求开发人员提供警示或建议。
  • 关系图与数据模型管理:

    • 功能描述:系统可以为开发人员提供一个工具,帮助他们直观地定义不同用户、业务场景、系统模块以及业务对象之间的关系。这可以以ER图(实体关系图)或业务流程图的形式呈现,确保开发人员和设计师能够清楚地了解各个用户之间的交互关系。

4.1.3 需求建模与层次化需求定义
  • 需求分层功能管理:
    • 功能描述:系统提供对需求的分层分类功能,支持开发人员根据业务需求用户需求功能需求非功能需求约束条件等进行组织和管理。系统可以通过树状结构或分层视图来展示需求的层次,便于清晰地理解每个需求的依赖关系和优先级。
  • 需求优先级管理:
    • 功能描述:需求管理系统应提供优先级管理功能,允许开发人员根据业务重要性、用户需求紧迫性和技术可行性,为每个需求或功能模块设定优先级。系统可以提供优先级打分机制,基于MoSCoW法等标准化方法对需求进行排序。系统可以提供优先级矩阵或甘特图视图,让团队能够直观地看到需求优先级的分布以及各个模块的开发进度。
  • 模块化需求管理:
    • 功能描述:系统提供功能拆分和模块化设计的支持,允许开发团队将复杂的功能需求拆解为独立的子模块,并追踪每个模块的开发进度。系统应允许开发人员以模块化的方式管理需求,并跟踪每个模块的依赖关系、优先级和开发状态。可以生成模块之间的依赖关系图,帮助系统架构师和项目经理了解功能模块的依赖性以及模块间的交互关系,便于进行架构设计。
  • 可视化工具:
    • 系统集成UML工具、ER图流程图)来帮助系统架构师、项目经理、UX设计师进行需求建模。需求建模能够展示系统各个模块的交互、数据流和功能架构,为需求的实现提供图形化的参考。需求管理系统可以支持通过用例图、活动图等方式展示需求的使用场景和用户操作流程。
  • 自动生成需求文档:
    • 系统可以将分层后的需求、模块化设计和优先级定义等内容自动生成标准的需求文档。这不仅减少了人工整理文档的时间,还确保文档的一致性与完整性。需求文档是后续开发、测试和验收的重要依据。以便于后续产品经理、客户、用户代表、开发团队、测试团队进行需求确认。

4.2 需求管理
4.2.1 需求确认
  • AI 驱动的需求评审会议自动记录分析:
    • 全程自动记录:AI可以自动记录需求评审会议的全部内容,减少人工记录的工作量,避免遗漏重要信息。
    • 观点分析:AI能够分析与会人员的观点,自动识别需求的优先级、矛盾点和共识,帮助项目经理快速整理出讨论结果。
    • 实时干预与提示:AI可以根据已掌握的需求背景,在适当时刻介入会议,提醒与会人员注意潜在的冲突或未明确的问题,确保会议更加高效。
    • 自动生成会议总结:在会议结束后,AI可以自动生成总结报告,包括每个需求的讨论结果、决策和后续任务安排,方便后续的跟踪与执行。

4.2.2 需求版本变更
  • 需求基线创建

    • 需求管理系统可以支持需求基线的创建,即在一个特定的时刻,冻结当前的需求状态,形成第一代需求版本。这一功能确保团队在后续开发中有稳定的需求参考点。
  • 版本控制与变更管理

    • 系统应支持多版本管理,记录每一版本的需求变更历史,并支持开发团队回溯到不同版本的需求基线,以方便处理需求的演变和变更控制。
  • 需求变更申请流程

    • 系统应支持需求变更的申请、审批和记录功能。当需求在评审过程中发现问题或需要调整时,系统可以引导相关人员发起变更申请,并通过审批流程确保变更的合理性和可行性。
  • 自动化变更通知

    • 当需求发生变更时,系统可以自动通知相关的角色(如开发团队、测试团队),确保所有人都能及时了解需求的变化,减少沟通误差。

4.2.3 需求跟踪
  • 需求变更跟踪:
    • 需求管理系统可以从任何一个需求被创建开始进行跟踪,将全生命流程记录。
  • 需求变更追溯:
    • 需求管理系统可以在任何时间追溯任何需求的发展变化。

五、需求分析与管理系统非功能需求详解

5.1. 非功能需求
5.1.1 性能要求
  • 响应时间:系统应在用户操作(如提交需求、查询需求信息、生成文档等)后,2秒内完成响应,并能在高并发情况下保证不超过5秒的延迟。
  • 并发支持:系统应支持至少500名用户的同时访问,确保在高并发情况下系统仍能稳定运行。
  • 数据处理能力:支持至少10万条需求的管理,涵盖从需求收集到最终发布的整个生命周期。
5.1.2 安全性要求
  • 权限控制:不同角色(系统管理员、产品经理、开发人员等)应具有不同的权限,确保敏感数据的访问受到严格限制。
  • 数据加密:系统应对所有传输和存储的敏感数据(如用户需求、客户信息)进行加密,使用TLS 1.2以上的协议来确保通信的安全性。
  • 日志审计:所有的需求修改、角色操作都需要记录日志,以便后续审计,确保安全合规。
5.1.3 可用性要求
  • 系统可用性:系统应确保99.9%的可用性,每年的计划停机时间不应超过5小时
  • 容错机制:系统应具备高可用架构,能够在硬件或软件故障时自动切换到备份系统,确保不中断服务。
5.1.4 可维护性要求
  • 代码可维护性:系统代码结构应清晰,遵循SOLID原则,并使用统一的编码规范,确保后期的功能扩展和维护能够快速实施。
  • 错误日志管理:系统应具备完善的错误日志记录和告警机制,确保运维团队能够及时发现并解决问题。
5.1.5 兼容性要求
  • 跨平台兼容性:系统应能在主流的浏览器(Chrome、Firefox、Edge)上正常运行,支持Windows、macOS、Linux等操作系统。
  • API集成:系统应提供标准化的RESTful API,便于与其他第三方系统(如企业ERP、CRM)集成。
5.1.6 可扩展性要求
  • 模块化设计:系统应采用模块化架构,支持后续功能的灵活扩展。特别是可以新增AI分析、自动化报告生成等智能模块。
  • 数据库扩展性:系统应支持通过数据库分区或集群方式扩展,以应对需求数据量增加时的性能问题。

5.2. 约束条件
5.2.1 法律和合规
  • 数据隐私保护:系统在设计和运行时应遵守GDPR(通用数据保护条例)等数据隐私保护法例,确保用户数据的合法收集、存储和使用。
  • 行业标准:系统的开发应符合软件工程的标准,如ISO/IEC 25010(系统与软件质量模型)等。
5.2.2 技术限制
  • 现有系统依赖:系统必须与现有的公司内部项目管理工具和客户管理系统无缝对接,不能改变这些系统的架构。
  • 开发语言和框架:系统的开发受限于公司的技术栈要求,必须使用Spring Boot框架和Vue.js前端技术,数据库使用MySQL
5.2.3 成本限制
  • 预算约束:项目的开发和维护预算有限,因此在功能实现时必须权衡开发成本与需求的优先级。

  • 开发周期:系统的开发周期应控制在6个月内完成,包括需求分析、开发、测试和部署。


5.3. 运行期质量要求
5.3.1 可靠性
  • 故障恢复:系统应能在发生故障后30分钟内自动恢复,确保业务的连续性。
  • 数据备份:系统应具备定时备份机制,保证每12小时进行一次完整数据备份,并支持灾难恢复。
5.3.2 可伸缩性
  • 系统性能升级:在系统用户增加或数据量提升时,能够快速扩展硬件资源(如增加服务器节点、扩展存储容量),并保证系统在高负载下的稳定性。
5.3.3 易用性
  • 用户界面友好性:系统应提供简洁直观的界面,帮助用户快速掌握系统的基本操作,并提供完善的帮助文档或用户指南。
  • 多语言支持:系统应支持多语言,方便不同语言背景的用户使用。
5.3.4 故障排查
  • 自动告警:当系统出现异常(如响应时间过长、数据无法写入等)时,应通过邮件或短信自动告警给运维团队,确保问题能够及时处理。
  • 日志分析工具:提供日志分析工具,帮助运维人员快速定位系统问题,并提供解决方案。

5.4. 开发期质量要求
5.4.1 可测试性
  • 单元测试覆盖率:系统代码应达到98%以上的单元测试覆盖率,关键模块和功能应经过严格的测试,包括功能测试性能测试安全测试
  • 自动化测试:系统应具备自动化测试脚本,支持持续集成(CI)和持续交付(CD)流程中的自动化测试,以确保系统版本迭代的稳定性。
5.4.2 可移植性
  • 部署灵活性:系统应支持多环境部署,能够快速在开发、测试、生产环境中切换,确保版本发布的平滑过渡。
5.4.3 文档化
  • 开发文档:系统的所有开发工作应有详细的文档记录,包括需求说明、架构设计、API文档、数据库设计等,确保新加入的开发人员能够快速上手。
  • 用户文档:为终端用户提供详尽的操作手册,确保他们能够快速掌握系统的使用方法。
5.4.4 开发规范
  • 代码审查:开发过程应进行严格的代码审查,确保代码质量,并遵循公司内部的代码规范。
  • 版本控制:使用Git等版本控制工具,确保代码的安全性和可追溯性,并支持分支管理,保证多个功能模块的并行开发。

六、需求分析与管理系统ER图及实体类分析

6.1 需求分析与管理系统ER图

ER图如下:
在这里插入图片描述
在这里插入图片描述

这个图过于不清晰,所以导出pdf(下图),但是pdf的虚线也看不清楚。

在这里插入图片描述

6.2 需求分析与管理系统实体类分析

用户 (User)

字段名数据类型描述
UserIDINT用户唯一标识
UserNameVARCHAR用户姓名
RoleIDINT角色ID(外键)
UserEmailTEXT用户邮箱
UserPhoneVARCHAR用户手机
UserPasswardVARCHAR密码
UserCreationDateDATE创建日期
UserStatusVARCHAR用户状态

角色 (Role)

字段名数据类型描述
RoleIDINT角色唯一标识
RoleNameVARCHAR角色名称
RoleStatusVARCHAR角色状态
RoleCreationDateDATE创建日期
RoleUpdateDateDATE修改日期

权限 (Permission)

字段名数据类型描述
PermissionIDINT权限唯一标识
PermissionNameVARCHAR权限名字
PermissionCreationDateDATE创建日期
PermissionUpdateDateDATE修改日期

需求 (Requirement)

字段名数据类型描述
RequirementIDINT需求唯一标识
RequirementNameVARCHAR需求名称
RequirementDescriptionTEXT需求描述
RequirementPriorityVARCHAR优先级
RequirementStatusVARCHAR状态
RequirementCategoryVARCHAR分类
RequirementSourceVARCHAR需求来源
RequirementCreationDateDATE创建日期
RequirementModificationDateDATE修改日期
RequirementDocIDINT需求文档id(外键)

客户 (Customer)

字段名数据类型描述
CustomerIDINT客户唯一标识
CustomerNameVARCHAR客户名称
ContactInfoVARCHAR联系方式
OrganizationInfoVARCHAR公司/机构信息
BackgroundInfoTEXT客户背景信息
PersonaIDINT客户画像Id(外键)

访谈 (Interview)

字段名数据类型描述
InterviewIDINT访谈唯一标识
InterviewDateDATE访谈日期
InterviewNotesTEXT访谈记录
CustomerIDINT客户ID(外键)
UserIDINT用户ID(外键)
RequirementDocIDINT需求文档ID(外键)

需求文档 (Requirement Document)

字段名数据类型描述
RequirementDocIDINT文档唯一标识
RequirementDocNameVARCHAR文档名称
RequirementDocCreationDateDATE创建日期
RequirementDocContentTEXT文档内容
RelatedRequirementsTEXT关联需求
ApprovalStatusVARCHAR审核状态

需求 (Requirement)

字段名数据类型描述
RequirementIDINT需求唯一标识
RequirementNameVARCHAR需求名称
RequirementDescriptionTEXT需求描述
RequirementPriorityVARCHAR优先级
RequirementStatusVARCHAR状态
RequirementCategoryVARCHAR分类
RequirementSourceVARCHAR需求来源
RequirementCreationDateDATE创建日期
RequirementModificationDateDATE修改日期
RequirementCreatedByINT创建者id(外键)
ConflictIDINT冲突id(外键)
HierarchyIDINT需求层次id(外键)
PriorityIDINT优先级id(外键)
ModuleIDINT模块id(外键)
DocumentIDINT需求文档id(外键)

业务流程观察 (Business Process Observation)

字段名数据类型描述
ObservationIDINT观察唯一标识
ObservationTimeDATE观察时间
RecordedRequirementsTEXT记录的需求
ObserverIDINT观察者ID

客户画像 (Customer Persona)

字段名数据类型描述
PersonaIDINT用户画像唯一标识
RoleNameVARCHAR用户角色名称
DescriptionTEXT角色描述

需求冲突检测 (Requirement Conflict Detection)

字段名数据类型描述
ConflictIDINT冲突唯一标识
ConflictDescriptionTEXT冲突描述
ResolutionSuggestionTEXT解决建议
ConflictStatusVARCHAR冲突状态(待解决/已解决)

需求分层管理 (Requirement Hierarchy Management)

字段名数据类型描述
HierarchyIDINT需求层次唯一标识
HierarchyLevelVARCHAR需求层次(业务需求/用户需求等)

需求优先级管理 (Requirement Priority Management)

字段名数据类型描述
PriorityIDINT优先级唯一标识
RequirementIDINT关联的需求ID(外键)
PriorityScoreDECIMAL优先级评分(MoSCoW打分等)
PriorityLevelVARCHAR优先级等级(Must Have/Should Have等)
BusinessImpactVARCHAR业务影响描述
UrgencyVARCHAR紧迫性描述
FeasibilityVARCHAR技术可行性描述

模块化需求管理 (Modular Requirement Management)

字段名数据类型描述
ModuleIDINT模块唯一标识
ModuleNameVARCHAR模块名称
DependencyModulesTEXT依赖模块列表
DevelopmentStatusVARCHAR开发状态(进行中/已完成等)

自动生成的需求文档 (Auto-Generated Requirement Document)

字段名数据类型描述
DocumentIDINT文档唯一标识
HierarchyStructureTEXT分层后的需求结构
ModularDesignTEXT模块化设计信息
CreatedDateDATE文档生成日期

需求确认会议 (Requirement Confirmation Review)

字段名数据类型描述
ReviewIDINT需求评审会议的唯一标识
DocumentIDINT需求文档ID(外键)
MeetingDateDATETIME需求评审会议的日期
RecordedContentTEXTAI记录的会议全部内容
OpinionAnalysisTEXTAI分析的与会人员观点及需求优先级等
SummaryReportTEXT自动生成的会议总结,包括决策与任务安排

需求版本变更 (Requirement Version Control)

字段名数据类型描述
VersionIDINT需求版本唯一标识
RequirementIDINT需求ID(外键)
ReviewIDINT需求评审会议ID(外键)
VersionNumberVARCHAR版本号
ChangeHistoryTEXT需求变更历史
CreatedDateDATETIME版本创建时间

需求变更通知 (Requirement Change Notification)

字段名数据类型描述
NotificationIDINT通知唯一标识
VersionIDINT需求版本ID(外键)
NotifiedToINT被通知者ID(外键)
NotificationDateDATETIME通知日期
NotificationContentTEXT通知内容描述
IsReadBOOLEAN是否已读
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值