zoukankan      html  css  js  c++  java
  • 《需求工程 ——软件建模与分析》读书笔记02

          这本书第二章主要讲解有关于需求基础的知识,人们开发软件系统的目的就是希望用它作为解决方案来解决问题,使得现实改善到期望的状况。需求源于问题,要准确理解需求,就必须明确他与问题的关系。解决问题、改善现实、满足用户期望的条件与能力就是需求。

           问题解决的两个方面为问题域与解系统。问题域是需求的背景,要理解问题就必须先理解问题域。解系统是问题的解决手段,并不是问题的发生地,所以解系统并不是问题域的一部分。解系统与问题域之间存在可以互相影响的接口,以实现交互活动。

            需求工程师要注意区分用户与软件开发人员在关注点上的不同:用户关注于问题域,软件开发人员更关注解系统。解系统的核心是软件解决方案和解决方案在通用计算机上的实现。处于问题域之外的解系统之所以能解决问题域中的问题,是因为问题域与解系统之间存在有效的互动,并在互动中互相影响。问题域与解系统能够形成互动的基础的解系统部分模拟了问题域,这种模拟性称为共享现象。解系统与问题域之间的模拟性带有交互性:一方面,解系统会在自身中保持一份与问题域现象一致的信息,并随着问题域现象的变化而变化;另一方面,问题域会期待在解系统中看到一致的信息,并据比展开自己的行为。

            问题和期望粒度不同的现象被称为需求的不同抽象层次。需求最为常见的抽象层次有3层:①业务需求,针对整个业务的期望。②用户需求,针对具体任务的期望。③系统级需求,针对用户与系统一次交互的期望。业务需求是抽象层次最高的需求,是系统建立的战略出发点,表现为最高层次的目标,它描述了组织为什么要开发系统。

            在3个层次中,只有用户需求在表述时在不可验证性上较为宽松。因为用户需求具有下面几个特点:①模糊、不清晰②多特性混杂。③多逻辑混杂。

            需求可分为以下几类:功能需求、性能需求、质量属性、对外接口、约束等。除功能需求外的其他四类需求又被统称为非功能需求。优秀的需求应该具备的特性有几点:完备性、正确性、可行性、必要性、无歧义、可验性。

  • 相关阅读:
    33.数组声明方式(var构造函数) 、检测数组类型、数组的属性(封装好的就一个length)、数组的方法
    31.this指向(写出调用链,找最近对象) this的默认绑定 隐式绑定 显示绑定(call(绑定对象) apply(绑定对象) 当括号内没放绑定对象的时候恢复默认绑定) bind
    31.
    30.函数作用域链 (GO AO 也叫词法作用域链)、 调用栈、调用栈涉及this绑定
    29.包装类(构造函数) 包装类作用及调用栈
    916. Word Subsets
    246. Strobogrammatic Number
    445. Add Two Numbers II
    2. Add Two Numbers
    341. Flatten Nested List Iterator
  • 原文地址:https://www.cnblogs.com/qilin20/p/8443247.html
Copyright © 2011-2022 走看看