• 软件工程与计算总结(五)软件需求基础


    本帖介绍软件需求涉及的诸多基本概念,通过对这些概念的阐述,剖析软件需求的来源、层次、类别、作用等重要知识~ 

    目录

    ​编辑

    一.引言

    二.需求工程基础

    1.简介

    2.活动

    3.需求获取

    4.需求分析

    5.需求规格说明

    6.需求验证

    7.需求管理

    三.需求基础

    1.需求

    2.需求的层次性

    3.结合层次性的需求开发

    4.区分需求、问题、规格说明

    四.需求分类

    1.需求谱系

    2.软件需求的分类


    一.引言

    需求开发阶段的主要任务就是分析问题,研究问题所发生的现世界(即问题域),寻找实现软件系统与现实世界有效互动的办法,并严格描述该互动方法——即建立软件解决方案,又称为软件规格说明~

    进行严谨的需求开发是非常重要的,开发软件系统最为困难的部分就是准确说明开发什么~

    二.需求工程基础

    1.简介

    3个主要任务:

    • 需求工程必须说明软件系统将被应用的环境及其目标,说明用来达到这些目标软件的功能,即同时要说明软件“需要做什么”和“为什么需要做”~
    • 需求工程必须将目标和功能反映到软件系统当中,映射为可行的软件,并对软件行为进行准确的规格说明
    • 现实世界时不断变化的世界,因此需求工程还需妥善处理目标和功能随着岁见演化的变动情况

    2.活动

    主要包括需求开发和需求管理两个方面~

    • 需求开发

    • 需求管理:跟踪后续阶段中的需求实现与需求变更情况,确定需求得到正确的理解并被正确得实现到软件产品当中~

    3.需求获取

    从人、文档或者环境中获取需求的过程,需要各种方法和技术来“发现”需求

    • 目标分析:根据问题确定目标/通过分享厉害人关系确定目标
    • 用户需求获取:面谈、集体获取方法、头脑风暴、原型

    4.需求分析

    通过建模来整合各种信息,以使得人们更好地理解问题

    • 边界分析:系统的边界定义了项目的范围
    • 需求建模:将大量的信息以清晰、条理的方式集成到一个模型当中,让需求工程师对问题形成更为深刻的理解

    5.需求规格说明

    获取的需求要编写成文档,编写文档的主要目的是在系统用户之间交流信息,因此对文档的质量有一定要求~

    • 定制文档模板:团队通常会在其内部为各种需要编写的文档维护一些文档模板
    • 编写文档:选择最准确的表达方式

    6.需求验证

    保证需求规格说明中定义的需求必须能正确、准确地反映用户的意图

    • 文档内每条需求度正确、准确地反映了用户的意图
    • 文档记录的需求集在整体上具有完整性和一致性
    • 文档的组织方式和需求的书写方式具有可读性和可修改性

    (同级评审是最通用有效的需求验证方式)

    7.需求管理

    在需求开发活动之后,设计、测试、实现等后续的软件系统开发活动都需要围绕需求开展工作~

    三.需求基础

    1.需求

    • 用户为了解决问题或达到某些目标所需要的条件或者能力
    • 系统或者系统部件为了满足合同、标准、规范或者其他正式文档所规定的要求而需要具备的条件和或者能力
    • 对上述两者中的一个条件或者一种能力的一种文档化表述

    2.需求的层次性

    期望可能会发生在多个抽象层次上:

    • 业务需求:抽象层次最高的需求,是系统建立的战略出发点,表现为高层次的目标,描述了组织为什么要开发系统
    • 用户需求:执行实际工作的用户对系统完成的具体任务的期望
    • 系统级需求:用户对系统行为的期望

    3.结合层次性的需求开发

    不同抽象层次的需求之间的联系:

    4.区分需求、问题、规格说明

    需求:是一种期望,源于现实但又高于现实

    问题域:对现实世界运行规律的一种反映,是需求的产生地,也是需求的解决地

    规格说明:软件产品的方案描述,以软件产品的运行机制为主要内容(不是需求但实现需求,不是问题域但需要与问题域互动)

    四.需求分类

    1.需求谱系

    2.软件需求的分类

    • 功能需求:不考虑物理约束的情况下,用户希望系统能够执行的活动,这些活动可以帮助用户完成任务(最重要的需求
    • 性能需求:定义了系统必须多好和多快地完成专门的功能(速度、容量)
    • 质量属性:用户的期望(通常情况下是隐式的)(安全性、可移植性)
    • 对外接口:系统和软件中其他系统之间需要建立的接口(输入、输出)
    • 约束:系统构造时需要遵守的规定(运行环境、商业规则)
    • 数据需求:功能需求的补充(各个功能实用的数据信息、实用频率)
  • 相关阅读:
    真能处,180公里的纯电续航,这款车居然一点都没亏
    生鲜行业渠道商经销管理系统:加强生鲜渠道连接,提升销售转化
    MySQL数据库之索引
    Flutter 调用百度地图APP实现位置搜索、路线规划
    三废的日常--Nginx实现负载均衡
    企业选型OA系统 ,如何选择合适的?
    企业实践开源的动机
    调试器通用波形显示工具
    uniCloud开发公众号:五、开通/配置/初始化uniPush2.0
    openGL ES 2.0 3维物体的平移(II)
  • 原文地址:https://blog.csdn.net/jsl123x/article/details/133579557