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

一,单选题(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.评审类型:最正式——审查、小组评审、走查、(轮查、同级桌查、)、临时评审

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/326534.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于无监督学习算法的滑坡易发性评价的实施(k聚类、谱聚类、Hier聚类)

基于无监督学习算法的滑坡易发性评价的实施 1. k均值聚类2. 谱聚类3. Hier聚类4. 基于上述聚类方法的易发性实施本研究中的数据集和代码可从以下链接下载: 数据集实施代码1. k均值聚类 K-Means 聚类是一种矢量量化方法,最初来自信号处理,旨在将 N 个观测值划分为 K 个聚类,…

Web 安全漏洞之文件上传

目录 文件上传漏洞及危害 文件名 HTML 和 SVG 软链 服务器磁盘 防御方法 网络安全学习路线 (2024最新整理) 学习资料的推荐 1.视频教程 2.SRC技术文档&PDF书籍 3.大厂面试题 特别声明: 文件上传漏洞及危害 文件上传漏洞…

基于百川大语言模型的RSS新闻过滤应用【云服务器+公网网页,随时随地看自己DIY订阅的新闻内容】

背景 目前从公众号、新闻媒体上获得的新闻信息,都是经过算法过滤推荐的,很多时候会感到内容的重复性和低质量,因为他们也要考虑到自己的利益,并非完全考虑用户想要的、对用户有价值的信息。这时,如果要获取自己认为重要的信息,定制化开发自己的筛选算法更好。 效果 素材…

计算机网络(第八版 谢希仁 编著) 期末复习大纲

一.每章总结 第一章:分组交换,计网定义、范围划分,性能指标,五层体系结构,TCP/IP体系结构 第二章:物理层,码元,基带调制(数字信号->数字信号,也叫编码),带…

本来还挺喜欢……

前阵子买了个天空星开发板,到手之后发觉不对劲。 之前我们玩玩开发板都是用的面包板的,就算是ESP那种比较宽的板子用两个面包板拼一下也勉强可以用。 但是天空星它的引脚是分为两组,每组有两排,如果我们还是直接使用面包板的话&a…

浅析安全用电监控系统在工厂的研究与应用论述

摘 要:随着社会时代的发展,人们的安全意识越来越强烈,在人们生活和工作中离不开各种用电设备,用电设备的安全使用是保障人们生命安全的重要内容。工厂因自身厂内工作环境的特殊性,用电设备的种类多且复杂,如…

Meilisearch vs Elasticsearch

2个搜索引擎的比较(官方说法):Meilisearch vs Elasticsearch Elasticsearch 做为老牌搜索引擎,功能基本满足,但复杂,重量级,适合大数据量。 MeiliSearch 设计目标针对数据在 500GB 左右的搜索需…

【知识碎片】2024_05_13

本文记录了两道代码题【自除数】和【除自身以外数组的乘积】(利用了前缀积和后缀积,值得再看),第二部分记录了关于指针数组和逗号表达式的两道选择题。 每日代码 自除数 . - 力扣(LeetCode) /*** Note: T…

软件2班20240513

第三次作业 package com.yanyu;import java.sql.*; import java.util.ResourceBundle;public class JDBCTest01 {public static void main(String[] args) {ResourceBundle bundle ResourceBundle.getBundle("com/resources/db");// ctrl alt vString driver …

Unity打开安卓设备不同的设置面板

1,打开安卓设备不同的设置面板,我还贴心的把Android官网的链接放下面了 2,使用也很方便:unity按钮事件上拖这个脚本,注册MyOpenAndroidSettings方法,参数 填 和枚举值相应的数字 // 功能:打开…

贪吃蛇游戏(C语言实现)

目录 游戏效果展示文件代码的展示test.cSnake.cSnake.h 下一个坐标不是食物 游戏效果展示 QQ录屏20240507163633 文件 代码的展示 test.c #define _CRT_SECURE_NO_WARNINGS#include<locale.h> //设置本地化 #include"Snake.h"//游戏的测试逻辑 void test() {…

2024最佳项目管理软件整理

在项目管理领域&#xff0c;选择合适的任务管理软件对于提高团队效率和确保项目顺利进行至关重要。 以下是一些优秀的项目任务管理软件&#xff0c;以及它们的官网地址和特点介绍 序号软件名称官网地址特点介绍1zz-planhttps://zz-plan.com/一款在线甘特图协作软件&#xff0c…

c# - - - winform程序四个角添加圆角效果

winform 给窗体四个角添加圆角效果。 在窗体 Load 事件中添加如下代码&#xff1a; // 创建了一个圆角矩形的路径&#xff0c;并将其设置为控件的形状 System.Drawing.Drawing2D.GraphicsPath path new System.Drawing.Drawing2D.GraphicsPath(); int radius 30; path.AddAr…

ssm123基于java web的网上书城系统的设计与实现+vue

基于java web的网上书城系统的设计与实现vue 摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff0c;商品交易当然也不能排除在外&#xff0c;随着商品交易管理的不断成熟&#xff0c;它彻底改变了…

基于FPGA的视频矩阵切换方案

一、单个显示设备的系统方案&#xff1a;会议室只有1个显示设备 会议室的信号源有很多&#xff0c;但是显示设备只有1个&#xff0c;这个时候最佳方案是使用切换器。 &#xff08;1&#xff09;切换器&#xff08;控制方式&#xff1a;遥控器、软件、机箱面板、中控&#xff…

DS高阶:B树系列

一、常见的搜索结构 1、顺序查找 时间复杂度&#xff1a;O(N) 2、二分查找 时间复杂度&#xff1a;O(logN) 要求&#xff1a;&#xff08;1&#xff09;有序 &#xff08;2&#xff09;支持下标的随机访问 3、二叉搜索树&#xff08;BS树&#xff09; 时间复杂…

外卖系统微信小程序支付

微信小程序支付时序图 其中第9.步骤就是微信小程序前端调用wx.requestPayment

Python运维之协程

目录 一、定义协程 二、并发 三、异步请求 协程是一种轻量级的线程&#xff0c;它通过保存和恢复寄存器上下文和栈来实现调度切换&#xff0c;从而保留函数执行的状态。 这种机制使得协程在处理I/O密集型任务时效率较高&#xff0c;因为它们可以在I/O操作期间让出CPU&#…

Linux学习笔记(3)---- Debian测试网速指令及查看是否千兆网卡

测试网速指令 在Debian系统中&#xff0c;测网速的指令主要有以下几种方法&#xff1a; 使用speedtest-cli工具&#xff1a; speedtest-cli是一个常用的网络速度测试工具&#xff0c;可以通过命令行进行安装和运行。首先&#xff0c;需要安装speedtest-cli&#xff1a; sud…

卷积神经网络边缘识别

为什卷积神经网络能够识别图片呢&#xff1f;是基于图片相似度比较&#xff0c;两张图片的点击越大说明两张图片越像&#xff0c;比如我们那狗胡子的图片去比较&#xff0c;如果相似度很高&#xff0c;就是认为这个动物更像狗。点积越大&#xff0c;图片越相似&#xff0c;这个…