文章目录
- 需求工程
- 需求层次
- 需求工程活动
- 需求获取方法
- 需求变更管理
- 系统分析与设计
- 系统分析
- 系统设计
- 结构化方法
- 面向对象方法
需求工程
需求层次
- 业务需求:反映组织机构或客户对系统、产品的高层次目标要求。
- 用户需求:描述用户使用产品必须完成的任务,是用户对软件产品的期望。
- 功能需求:定义开发人员必须实现的软件功能,以满足业务需求和用户需求。包括非功能需求,如性能、安全性、可靠性等。
需求工程活动
- 需求获取:通过与用户沟通、观察、原型化等方法获取需求。
- 需求分析:分析需求的可行性、一致性和完整性。
- 需求文档化:将需求以文档形式记录下来,形成需求规格说明书。
- 需求管理:包括需求变更管理、版本控制、需求跟踪等。
- 需求验证:验证需求的正确性和可行性。
需求获取方法
- 用户面谈:与用户直接交流,获取需求。
- 需求专题讨论会:组织用户和开发人员共同讨论需求。
- 问卷调查:通过问卷收集用户需求。
- 现场观察:观察用户实际工作流程,获取需求。
- 原型化方法:通过快速原型与用户交流,逐步完善需求。
- 头脑风暴法:通过集体讨论,激发创意,获取需求。
需求变更管理
- 识别问题:发现需求变更的必要性。
- 问题分析和变更描述:分析变更的影响,描述变更内容。
- 变更分析和成本计算:评估变更的可行性和成本。
- 修改后的需求:根据分析结果,修改需求文档。
- 变更实现:实施需求变更,并进行验证。
系统分析与设计
系统分析
- 目标:了解用户需求,绘制系统的蓝图,产生系统需求规格说明书。
- 方法:
- 结构化分析:通过数据流图、数据字典等工具进行需求分析。
- 面向对象分析:使用用例图、类图、状态图等UML图进行需求分析。
系统设计
- 目标:构建系统设计模型,包括概要设计和详细设计。
- 方法:
- 结构化设计:通过系统结构图、数据流图等工具进行设计。
- 面向对象设计:使用类图、对象图、交互图等UML图进行设计。
结构化方法
- 系统分析:
- 数据流图(DFD):描述系统中数据的流动和处理过程。
- 数据字典(DD):记录系统中数据的定义和属性。
- 状态转换图(STD):描述系统状态的变化和触发条件。
- 实体关系图(ER图):描述系统中实体及其关系。
- 系统设计:
- 系统结构图(SC):描述系统的模块结构和层次关系。
- 模块化设计:将系统划分为功能独立的模块,强调高内聚和低耦合。
- 详细设计:包括算法设计、数据结构设计、接口设计等。
面向对象方法
- 系统分析:
- 用例图:描述系统功能和用户交互。
- 类图:描述系统中的类及其关系。
- 状态图:描述对象的状态变化。
- 活动图:描述系统的业务流程。
- 系统设计:
- 设计用例实现方案:使用交互图(顺序图、协作图)表示用例的实现。
- 设计技术支撑方案:设计数据持久存储、安全控制、事务管理等技术方案。
- 设计用户界面:设计用户交互界面。
- 精化设计模型:对设计模型进行详细设计,确保模型的完整性和准确性。