第4章软件需求工程 软件需求工程基础 南京理工大学计算机学院 前一页休息 第4章软件需求工程 基本的软件需求 软件项目中百分之四十至百分之六十的问题 都是在需求分析阶段埋下的祸根。可许多组 织仍在那些基本的项目功能上采用一些不合规 范的方法,这样导致的后果便是一条鸿沟(期 望差异)开发者开发的与用户所想得到的 软件存在着巨大期望差异 南京理工大学计算机学院 前一页休息 第4章软件需求工程 基本的软件需求 在软件工程中,所有的风险承担者 都 感兴趣的就是需求分析阶段。这些风险承担者包括客 户、用户、业务或需求分析员负责收集客户需求并编 写文档,以及负责客户与开发机构之间联系沟通的人 开发人员、测试人员、用户文档编写者、项目管理者 和客户管理者。这部分工作若处理好了,能开发出很 出色的产品,同时会使客户感到满意,开发者也倍感 满足、充实。若处理不好,则会导致误解、挫折、障 碍以及潜在质量和业务价值上的威胁。因为需求分析 奠定了软件工程和项目管理的基础 南京理工大学计算机学院 前一页休息 第4章软件需求工程 软件需求的定义 (1)用户解决问题或达到目标所需的条件或权 能( Capability)。 (2)系统或系统部件要满足合同、标准、规范 或其它正式规定文档所需具有的条件或权能。 (3)一种反映上面1)或(2)所描述的条件或权能 的文档说明 南京理工大学计算机学院 前一页休息 第4章软件需求工程 关于需求的解释 需求的关键的问题是一定要编写需求文档 如果只有一堆邮件、贴条、会谈过几次或一些零碎 的对话,你就确信你已明白用户的需求,那完全是自 欺欺人 许多的需求分析专家给出了不同形式的需求定义, 但从这些不同形式的定义不难发现:并没有一个清晰 毫无二义性的需求术语存在,真正的需求实际上 在人们的脑海中。任何文档形式的需求(例如:需求 规格说明)仅是一个模型,一种叙述 )。我们需要确保所有项目风险承担者在描述需 求的那些名词的理解上务必达成共识 南京理工大学计算机学院 前一页休息 第4章软件需求工程 需求的层次 软件需求包括三个不同的层次业务需求 用户需求和功能需求(包括非功能需求)。 (1)业务需求 反映了组织机构或客户对系统、产品高层次 的目标要求,它们在项目视图与范围文档中予 以说明 (2)用户需求 文档描述了用户使用产品必须要完成的任 务,这在使用实例( )文档或方案脚 本( )说明中予以说明。 南京理工大学计算机学院 前一页休息 第4章软件需求工程 需求的层次 (3)功能需求 功能需求定义了开发人员必须实现的软件功 能,使得用户能完成他们的任务,从而满足其 业务需求。 非功能需求则是对功能需求的补充,包括了 对系统的各种限制和用户对系统的质量要求 所谓特性( )是指逻辑上相关的功能 需求的集合,给用户提供处理能力并满足业务 需求 表给出了系统的非功能需求 南京理工大学计算机学院 前一页休息 第4章软件需求工程 需求的层次 功能性需求 非功能性需求 业务需求 它包 括亡 政庥 愿景和范围文档 门本 身光 软亻 用户需求 人业务需求 定的 质量属性 持定 的功 用例文档 外部按口 系统需求 功能需求 约束 软件需求规格说明 南京理工大学计算机学院 前一页休息