软件需求

博客介绍了顾客、客户和用户的区别及与需求分析的关系,指出需求分析有层次之分。还阐述了需求分析的描述工具,如实体关系图、数据流图等。此外,说明了需求管理的任务是满足客户多方面需求,过程包括需求确认等活动,需指定负责人协商确认需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 顾客、客户和用户之间的区别以及与需求分析之间的关系

客户是软件企业合同的签约方,是软件产品的销售对象,客户是顾客的一部分;“顾客”比“客户”的范围更广泛一些,它包括潜在的客户;用户是软件产品的最终使用者,用户是客户的一部分。需求分析就是首先应满足用户的需求,其次要满足客户的需求,再次要满足顾客的需求;即需求分析有层次之分。

2. 需求的描述工具

需求分析的一个重要的工作,就是建立问题域的概念模型。需求分析描述工具包括实体关系图、 数据流图、用例图、活动图。

(1)实体-联系模型

实体联系模型是用户对数据和加工的需求用实体联系模型(即E-R图)表达出来,明确描述应用系统的概念结构数据模型,为建立数据库设计打好基础。

对于较复杂的系统,通常要先画出单个用户的分E-R图,然后将各分E-R图集合成总E-R图,并对总E-R图进行优化,如去掉冗余的属性和联系等,以得到整个应用系统的概念结构模型。 

实体关系图:简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。描述数据对象间的关系,ERD是用来进行数据建模活动的记号,在ERD中出现的每个数据对象的属性可以使用“数据对象描述”来描述。

E-R图将系统中所有的元数据按照其内部规律组织在一起,通过它们再将所有原始数据组织在一起,有了这些原始数据,再经过各种算法分析,就能派生出系统中的一些输入数据,从而满足人们对信息系统的各种需求。数据字典是系统中所有元数据的集合,或者说是系统中所有的表名、字段名、关系名的集合。由此可见,E-R图及其数据字典是信息系统的数据模型。

(2)数据流图

面向过程的分析方法也称结构化分析,采用“自顶向下,由外到内,逐层分解”的分析思想,即将一个复杂的系统逐层分解成许多简单的基本加工,当信息“流”过系统时,被系统加工变换。

先画出的顶层数据流图,它高度抽象地反映了系统的全貌,准确地描述了系统与外界的数据联系和系统的范围。再逐层画出的底层数据流图,具体地描述上层系统的细节。此外还需要使用加工说明来具体描述每个加工的处理过程和方法;用数据字典说明每个数据流的组成、每个数据文件的内容以及每个数据项的定义等。加工说明、数据字典作为辅助手段,共同给出了数据流图中每个元素的精确定义。

数据流图的描述符号主要只有四种,即:数据源或数据潭、数据流动的连线、数据加工或处理泡、输入或输出文件。

(3)用例图

在统一建模语言UML中,用例图又叫做用况图,有时又称为Use Case图。它用于定义系统的行为,展示角色(系统的外部实体,即参入者)与用例(系统执行的服务)之间的相互作用。用例图是需求和系统行为设计的高层模型,它以图形化的方式描述外部实体对系统功能的感知。

(4)活动图

在统一建模语言UML中,活动图用于描述系统行为,在需求阶段,可以配合用例图说明复杂的交互过程。活动图由开始点、活动、转换和结束点组成。一个活动图只能包含一个开始点,可以有多个结束点。开始点、活动、结束点之间通过转换连接。

通俗地讲,数据库是表的集合,表由字段组成,表中存放着记录。由于记录的数据可以是原始数据、信息代码数据、统计数据和临时数据4种,所以对应的又可将表划分为基本表、代码表、中间表、临时表4种。

3. 需求管理的任务与内容

需求管理的中心任务,是保证软件项目或产品满足客户在软件功能、性能、接口三个方面的需求。

在开发过程中,经常会碰到客户不明确的需求及频繁的需求变更,正确地对待并处理这种情况,可以保证软件产品在预计的进度和成本范围内提交。需求管理过程的目标,是管理和控制需求,维护软件计划、产品和活动与需求的一致性,并保证需求在软件项目中得到实现。

按照“五个面向理论”,软件管理是面向过程的。需求管理是面向需求过程的,需求管理过程主要包括需求确认、需求评审、需求跟踪和需求变更活动。

站在“五个面向理论”角度,即站在“面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理”的角度上,来划分软件维护的方法。也就是说,对需求分析的维护,要采取面向业务流程的方法。对实现的维护,要采取面向对象的方法。对测试的维护,要采取面向功能的方法。对管理的维护,要采取面向过程管理的方法。对设计的维护,要采取面向元数据的方法。

软件开发始于需求确认。需求管理过程要求指定明确的负责人,负责与客户协商并确认需求。协商与确认客户的需求,包括确认非技术需求、技术需求及编制需求跟踪矩阵。

(1)非技术需求,一般在协议、条件和合同条款中描述,包括提交的产品、提交的日期和里程碑等内容。

(2)技术需求,描述系统的软件功能、性能、接口、设计约束、编程语言和界面需求等多方面内容。

(3)需求跟踪矩阵,是在充分了解技术需求的基础上编制的。需求跟踪矩阵的建立,使项目经理能够跟踪每一项需求的实现状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值