zoukankan      html  css  js  c++  java
  • 软件需求模式阅读笔记01

        在本学期的学习课程中,我们也学习软件需求分析的相关课程。为了更好地学习该科目,同时也为了拓展自己的知识层面,特意挑选了《软件需求模式》来进行阅读。

    在本周的课余时间,我也对《软件需求模式》进行了简单的阅读。对软件需求的相关知识有了更进一步的了解。

        需求无处不在,在我们的日常生活当中,我们也会有各种各样的生活需求。而需求放到了软件行业,就成了软件需求。在我们大学生活当中,由于缺少对软件行业的了解,缺少对于软件工程的了解,我们对于软件需求也只能停留在纸面的阶段,只有当我们真正步入软件行业,才能充分了解和认识到软件需求的重要性。

    1、需求的定义

    需求就是定义系统需要做什么而不是怎么做。

    简单地说,需求就是明确我们的目标,即我们要去做什么,而不是如何实现我们的目标。不同的人会有不同的需求,我们应当把需求尽量做到一致。即最大化的统一我们的目标,把我们需要或者想要去做的事情统一起来,形成我们一致的目标,同时也确定系统的边界。

    2、定义需求的基本原则

    ①定义问题,而不是解决方案

    我们在定义需求的时候,定义的是我们所遇到的或者要解决的问题,而不是定义解决问题的方案。在定义需求的阶段,我们只要定义出存在的问题,并不需要定义完整的解决方案。

    ②定义系统,而不是项目

    简单来说,我们在定义需求的时候,只是定义了一个系统,而没有定义整个项目。可以说我们定义的系统是包含在项目当中的,一整个项目当中可以有很多很多个系统。

    ③区分正式和非正式部分

    为了用户以及我们彼此之间更好的沟通与理解,我们应当在不同的场合采用不同的方式。而区分好正式和非正式则是很好的方法。

    ④避免重复

    重复的越多,就越容易增大工作量,也更容易出现错误。所以我们必须尽量的避免重复。

    3、需求流程的分类

    ①传统需求流程

    有一个专门的需求阶段,交付一份详细的需求规格,然后开始设计和开发系统。这就是传统的定义需求的方法。具体包括以下五个步骤:

    准备、收集(或引出)信息、编写需求规格草稿、评审规格、评审后修改。

    ②敏捷需求流程(分为极限需求流程和增量需求流程)

    敏捷需求流程的两个指导原则:

    原则1:区分问题和解决方案是重要的

    原则2:定义需求后,一定要记录它以便别人可以找到

        在不同的情况之下,我们就需要考虑不同的情景,采用不同的方法,同时也参考不同的需求模式。使用不同的需求模式,能使我们或者客户的需求更容易让人理解,使编写需求变得更加容易。在我们的学习阶段,要做的是了解更多的需求,增加自己的阅历,才能在以后的工作当中更加得心应手。

  • 相关阅读:
    Write an algorithm such that if an element in an MxN matrix is 0, its entire row and column is set to 0.
    旋转二维数组
    replace empty char with new string,unsafe method和native implementation的性能比较
    判断一字符串是否可以另一字符串重新排列而成
    移除重复字符的几个算法简单比较
    也来纠结一下字符串翻转
    判断重复字符存在:更有意义一点
    程序员常去网站汇总
    sublime
    针对程序集 'SqlServerTime' 的 ALTER ASSEMBLY 失败,因为程序集 'SqlServerTime' 未获授权(PERMISSION_SET = EXTERNAL_ACCESS)
  • 原文地址:https://www.cnblogs.com/crazy-soul/p/5964793.html
Copyright © 2011-2022 走看看