软件需求工程复习——知识点

一,单选题(20分)
二,判断题(10分)
三,简答题(20分)
四,分析与设计题(50分)

一、导论

1、应用型软件的模拟特性

应用型软件在“模拟”现实的基础上接受用户的请求,协助用户完成任务,它正确工作的基础是具有“模拟”性。

①目的性。软件的目标是直接或间接地满足用户的某些目的或者解决用户的某些问题,软件的功能是据此设立的。

②正确性。软件具备的功能能保证目标的正确实现。

③现实可理解性。软件实现其功能的基础、手段和过程是在用户领域内现实可理解的。

2、需求问题的高代价性:与需求有关的错误修复代价较高。

3、需求工程基本活动

包括需求开发与需求管理两方面。需求管理是因为需求工程的工程性而存在,保证各种活动的开展都符合需求的要求。需求开发是为需求性存在,是处理需求的软件技术,包括需求获取、需求分析、需求规格说明和需求验证。

需求获取:从项目的战略规划开始建立最初的原始需求。

需求分析:保证需求的完整性和一致性。

需求规格说明:将完整、一致的需求与能够满足需求的软件行为以文档的方式明确地固定下来。

需求验证:保证需求及其文档的正确性,通过检查和修正保证需求及其文档的完整性和一致性。

4、需求工程师需要创新:①不仅是模拟现实,还要让现实变得更好,以现实为基础构思现实中不存在的软件解决方案 ②具有飞跃意义上的创新

二、需求基础

1、需求和问题都有层次性

①业务需求 针对整个业务的期望

②用户需求 针对具体任务的期望

③系统级需求(功能需求) 针对用户与系统一次交互的期望

2、优秀需求的特性

1.完备性。优秀的需求的完备的,他不需要做更多的扩展就可以充分说明用户需要的系统功能

2.正确性。每一项需求都必须正确描述所需要的系统功能,要真实反映用户的意图。也称真实性

3.可行性。需求必须能够在系统及其运行环境的已知条件和约束下实现。

4.必要性。每一项需求都应该是必要的,它是满足用户的业务需求所必须的。

5.无歧义。需求能够正确传递知识的前提是传递者和受众能够形成共同的理解,只能有一种解释。

6.可验证性。通过分析检查模拟测试等方法能够判断需求是否被满足

三、需求工程过程

1.需求开发的过程是迭代和并发的,不是线性的

2.需求方法与软件开发方法的适配性更会影响项目的成败

四、需求获取

1.缺乏用户参与原因

①用户数量太多,选择困难

②用户认识不足,不愿参与

③用户情绪抵制,消极参与

④没有明确的用户

2.获取信息的来源

①涉众:包括用户、客户、领域专家以及市场人员、销售人员等其他用户替代源

②硬数据:包括登记表格、单据、报表等定量文档及备忘录、日志等定性文件

③相关产品:包括原有系统、竞争产品及协作产品

④重要文档:包括原有系统的规格说明、竞争产品、协作产品的规格说明、客户的需求文档

⑤相关技术标准和法规:包括相关律法、法规及规章制度,行业规范。

五、确定项目前景和范围

目标模型

1.目标分类:最常见分为功能目标和非功能目标。又可以被分为软目标和硬目标(通过技术可以确定满足的)。

2.关系:除了核心的目标外,目标模型的另一个核心要素是元素之间的关系,有称为链接。

①目标之间的关系:包括精化、阻碍、冲突关系

②目标与其他模型元素之间的链接,这些链接构成了目标模型的结构基础;

2.1目标精化

有助于目标 AND精化 实心圆

相互替代 OR精化 空心圆

2.2目标阻碍

精化关系只考虑了能够使得高层目标顺利完成的理想子目标,但实际情况中很多具体情况会使高层目标无法完成。

3.业务分析过程

问题分析将每个问题、目标、特性都看作是相互独立的,所以只能完成简单系统的前景和范围定义任务。

目标分析能够表达问题、目标、特性之间的依赖关系,所以能完成较为复杂系统的前景与范围定义任务。

业务过程分析使用业务过程模型,能表述复杂的业务过程。

六、涉众分析

1.涉众:所有能够影响组织的目标实现或被组织的目标实现所影响的个人和团体。

2、识别涉众方法

检查列表方法

①用户 ②客户 ③开发者 ④管理者 ⑤领域专家 ⑥政府力量 ⑦市场力量 ⑧维护人员

3、涉众评估 Power/interest分布图

参与者(最高)、环境设定着、被影响者、观众(最低)

4.风险评估 Power/attitude分布图

七、基于用例/场景模型展开用户需求获取

1.主要功能是组织需求

2.用例/场景和需求一样是有层次性的。可以用于组织业务需求内容,他的场景可以只是一段抽象的文字描述,也可以是对业务过程的描述。也可以组织用户需求、系统级需求内容。3个典型层次:业务需求、用户需求、系统级需求

3.目的是场景在使用时打算扮演的角色,也就是为什么使用场景。需求工程利用场景目的:描述、探索、解释

描述性场景:记录已得到的需求

探索性:用来需求获取和需求建模分析

解释性:解释某个主题和疑问,说明可行性和原因

4.以用例/场景模型为主线索开展用户需求获取,开展下一轮需求

需求获取方法

最常见情况:面谈

需求不确定/需求明确,技术不明确:原型

无法主动完成、告知:民族志

八、需求获取之面谈

1.问题类型

①开放式问题(非结构性面谈)自在、细节丰富

②封闭式问题(结构式面谈)节省时间 切中要点

九、需求获取方法之原型

1、工程师想办法解决不确定性的主要手段就是原型、代价大。

2.原型开发方法分类

①探索式 

②实验式 有清晰的用户需求

【上述都是抛弃式原型】

③演化式 持续开发

3。用尽可能低的成本开发水平原型,只需要将精力集中在它所关注的层次。

常见层次:人机交互、功能与任务、实现

十、需求获取之观察与文档审查

1.用户无法完成主动的信息告知时采用观察的方法

2.民族志优点:深度理解 缺点:耗费时间

十一、需求分析

1.两个世界三种模型

①计算世界与计算模型

软件计算模型的形式化不适用于需求工程阶段

②问题世界与业务模型

业务模型的元素(业务概念和业务联系)在选取和定义上具有不准确、不确定和模糊化的非形式特征。

③软件分析模型

介于二者之间

2.需求分析技术

十二、过程建模

1.基本元素:外部实体、过程、数据流、数据存储、示例(数据流图使用外部实体、过程、数据流、数据存储这四个元素来构建系统的过程模型,描述系统的功能、行为和数据)

2.数据流图描述系统过程模型时的规则

①过程是对数据的处理,必须有输入输出,且输入输出数据集应该存在差异

②数据流是必须和过程产生关联的,要么是过程是数据输入,要么是数据输出

③数据流图中所有的对象都应该有一个可以唯一表示自己的名称。过程用动词,其他用名词。

2.数据流图层次结构的建立

①创建上下文图

②发现并建立DFD片段(数据流图片段)

③根据数据流图片段组合产生0层图

④对0层图的过程进行功能分解,产生N层图

3.微规格说明是一些用来描述过程处理逻辑的技术,(分解到最原始过程)主要有:结构化自然语言(结构化英语),行为图(结构化英语的一种特殊表达方式,使用特定的图示来表示过程的逻辑结构),决策表/树(一种决策逻辑的表示方法)

4.数据字典是一个储存库,包含软件使用和生产的所有数据对象的描述,包括数据流图中数据流和数据存储的定义

十三、数据建模

1.数据模型

①概念数据模型

②物理数据模型

③逻辑数据模型

2.实体关系图

3.被关系影响的实体:弱实体、关联实体

十五、需求规格说明

1.需求文档的名称、内容、内容的组织方式、内容的表达方式、用途和作用不同。在联系需求时使用的辅助性文档不同

十六、需求验证

1.需求评审(同级评审),由作者之外的其他人来检查产品问题。是主要的静态分析手段。

2.评审类型:最正式——审查、小组评审、走查、(轮查、同级桌查、)、临时评审

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值