软件需求管理 绪论和基础

Posted 烟雨平生9527

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件需求管理 绪论和基础相关的知识,希望对你有一定的参考价值。

目录

一、软件需求概述

1.1软件需求定义

1.2成功项目的影响要素

二、需求工程

2.1需求工程的概述

2.2需求工程的基本活动

2.3需求工程的特性 

三、需求基础

3.1相关概述

 3.2问题解决的两个方面 ——问题域与解系统

3.3需求的类型

3.3.1层次性

 补充对应三个文档

3.3.2广义的需求分类

3.3.3严格意义上的需求分类※※

3.4需求工程的步骤

3.5优秀需求的特性(原则)※

补充常见的需求定义错误

 四、需求工程过程

4.1相关概述

 4.2需求工程过程的活动

4.3需求工程过程的并发和迭代性


一、软件需求概述

1.1软件需求定义

软件需求可定义为: 用户需解决某一问题或达到某一目标所需的软件功能。 必须满足或具备的软件功能

1.2成功项目的影响要素

1.用户参与(用户输入)

2.高层管理支持

3.清晰的需求说明

4.切合实际的期望

5.清晰的目标和前景

6.需求变化 

二、需求工程

2.1需求工程的概述

它关注于软件系统所应予实现的现实世界目标、软件系统的功能和软件系统应当遵守的约束规格说明之间的联系

2.2需求工程的基本活动

补充需求工程 与  系统工程 

2.3需求工程的特性 

1.必要性

利用通用的计算机结构,构建一个有用的软件系统,来满足人们的某些目的

2.复杂性 

处理范围广泛        涉及诸多参与方        处理内容多样        处理活动互相交织        处理结果要求苛刻

三、需求基础

3.1相关概述

需求是用户对问题域当中的实体状态或事件的期望描述 

 3.2问题解决的两个方面 ——问题域与解系统

需求工程的主要工作

(1)进行需求开发,确定用户的期望效果R;

(2)研究问题背景,描述问题域特性E;

(3)构建解系统,描述解系统行为S;

需求规格说明书包括两个部分:

(1)对共享现象(模型)的描述

(2)对系统对共享现象所施加的操作的描述。

3.3需求的类型

需求的3个层次: 业务需求,用户需求,系统需求

3.3.1层次性

 补充对应三个文档

业务需求        前景和范围文档

用户需求        用例说明文档

系统需求        需求规格说明文档

具体说明

业务需求

描述了组织为什么要开发系统        定义系统应该具备的特性        共同的前景        系统的范围

用户需求

执行实际工作的用户对系统所能完成的具体任务的期望,描述了系统能够帮助用户做些什么

系统需求

1.发现问题域和计算机系统的共享知识,建立系统的知识模型

2.定义一系列的系统行为,每一个系统行为即为一个系统需求。

3.建模与分析活动

3.3.2广义的需求分类

包括项目需求、过程需求、系统级需求

1.项目需求:针对项目核心的计划,包括项目成本、资源、时间和进度等。

2.过程需求,针对软件开发过程,包括开发人员、工具和方法等。

3.系统级需求:针对系统工程的需求,包括硬件需求、软件需求以及其他需求。

4.不切实际的期望:根本无法实现的期望,包括技术上的不可行、在有限资源条件下不可行以及超出软件所能影响的问题范围

3.3.3严格意义上的需求分类※※

包括功能需求和非功能需求。 非功能需求包括性能需求、质量属性、接口和约束条件(补充规约)。

性能需求:速度  容量  吞吐量  负载  实时性

质量属性:

  • A. 功能性、可靠性
  • B. 可用性、效率
  • C. 可维护性
  • D. 可移植性

3.4需求工程的步骤

1.问题分析和背景分析

2.需求获取

3.需求分析 

4.文档化和验证

3.5优秀需求的特性(原则)※

1.完整性        功能需要的所有信息

2.正确性(真实性)

3.可行性        需要进行一定的分析和研究        必要的时候要通过开发原型来加以验证

4.必要性(精确性)

5.无歧义        定义一个可以共同理解的词汇表

6.可验证        分析、检查、模拟或者测试等方法

补充常见的需求定义错误

 四、需求工程过程

4.1相关概述

需求工程过程是系统开发当中需求开发活动的集成,它的模版是产生一个能够在用户环境下解决用户业务问题的系统方案

 4.2需求工程过程的活动

1.需求获取

需求获取是从人、文档或者环境当中获取需求的过程

需求工程师必须要利用各种方法和技术来“发现”需求

2.需求分析

为问题定义出一个需求集合

背景分析

确定系统边界(用例图,上下文图)

需求建模(DFD数据流图、ERD实体关系图、STD状态转换图,类图等)

需求细化(用户需求->系统需求)

确定优先级

 需求协商

3.需求规格说明

业务需求被写入项目前景和范围文档

用户需求被写入用户需求文档(或者用例文档)

系统需求被写入需求规格说明

4.需求验证

确保需求规格说明文档能正确、准确的反映用户的意图

确保文档的高质量※        执行验证(同级评审、原型或模拟)

5.需求管理

保证需求作用在整个软件的产品生命周期中

4.3需求工程过程的并发和迭代性

实际的需求开发过程是获取-分析-重构的不断交织和迭代的过程。

绪论:习题


【答案】

  • 数据:是数据库中存储的基本对象,是描述事物的符号记录
  • 数据库:是永久存储在计算机内的,有组织的、可共享的大量数据的集合
  • 数据库管理系统:是位于用户与操作系统之间的一层数据管理软件,和操作系统一样都是计算机的基础软件
  • 数据库系统:是在计算机中引入数据库后的系统构成。包括DB,DBMS,APP,DBA


【答案】

  • 数据库系统具有一个很大的特点,那就是整体结构化。数据的结构用 数据模型描述,无序程序定义和解释
  • 数据库系统中数据的共享度高,冗余度低,易扩充
  • 数据库系统数据独立性高(物理独立性和逻辑独立性),也即程序和数据之间相互独立,互不影响
  • 数据由DBMS统一管理和控制,他可以提供安全性、完整性、并发等诸多服务

【答案】

区别:文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力

联系:文件系统与数据库系统都是计算机系统中管理数据的软件。解析文件系统是操作系统的重要组成部分;而DBMS是独立于操作系统的软件。但是DBMS是在操作系统的基础上实现的;数据库中数据的组织和存储是通过操作系统中的文件系统来实现的


【答案】

  • 数据定义功能(提供数据定义语言DDL)
  • 数据组织、存储和管理功能
  • 数据操纵功能(提供数据操纵语言DML)
  • 数据库的事务管理和运行管理
  • 数据库的建立和维护功能

【答案】

  • 定义:是按照用户的观点对数据和信息建模,用于数据库设计
  • 作用:概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言

【答案】

  • 实体:客观存在并可以相互区别的事物
  • 实体型:用实体名及其属性集合来抽象和刻画同类实体
  • 实体集:同一类型实体的集合
  • 联系:实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系

【答案】

  • 数据模型的概念:数据模型是对现实世界数据特征的抽象,也即数据模型是用来描述,组织数据和操纵数据的
  • 三个要素:数据结构,数据操纵和数据完整性约束

【答案】

①:层次模型

②:网状模型

【答案】

【答案】

【答案】

  • 物理独立性:用户的应用程序与存储在磁盘上的数据库中数据是独立的。。当数据的物理存储改变时,应用程序不改变
  • 逻辑独立性 用户应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户的程序也可以不变

以上是关于软件需求管理 绪论和基础的主要内容,如果未能解决你的问题,请参考以下文章

《需求工程--软件建模与分析》阅读笔记01

第一部分绪论 第一章

项目管理理论与实践——软件需求分析

软件需求分析——阅读笔记6

期末项目需求分析报告

2017秋季个人阅读计划