工业中软件项目的需求文档,敏捷与否,通常遵循1998 IEEE标准(IEEE 830-1998[1])中定义的计划,并在2009年“重申”。IEEE 830的优点是简单,因为它有37页的篇幅,其中只有少数几个(恰当地)描述了基本需求的概念,而用于解释标准推荐计划的篇幅不到10页,该计划本身由3个小节组成。简单是好事,但IEEE-830计划的基本性质就是无法应对现代信息技术的挑战。现在是时候让这个古老的前身退休了,并转向一种适用于我们今天构建的雄心勃勃的多面It系统的结构。
在过去的几年里,我一直致力于定义一种系统的需求方法,最终在秋季出版的一本书中达到了顶峰,需求和业务分析手册。这项工作的结果之一是一个标准计划,它基于需求的“PEGS”视图,其中包括项目、环境、目标和系统四部分。详细信息在书中(有关一些基本概念,请参阅TOOLS 2019的一篇论文,[2])。在这里,我将介绍一些关键的原则,因为他们已经被使用了——自从我第一次开始在课程和研讨会(特别是一个ACM网络研讨会,由will Tracz去年3月组织,他的记录是在YouTube上可用另一场由IBM的Grady Booch主持)。
该方法的起点,即其名称,是要求应涵盖上述四个方面,即四个“peg”,其定义如下:
因此,推荐的标准计划由四部分组成书.
这个建议的标准没有规定任何特定的项目管理、软件开发、项目生命周期或需求表达的方法,并且特别适用于传统的(“瀑布式”)和敏捷项目。它将需求视为一个项目活动,而不一定是生命周期步骤。书中提出的原则之一是,需求应被视为项目的动态资产,在项目开始时以临时形式(或多或少取决于项目方法的详细情况)编写,然后定期扩展和更新。
类似地,可以使用任何适当的符号和方法来编写需求,从最非正式的到最数学的。在最近出版的ACM计算调查论文[3],我的同事和我回顾了当今需求方法中可用的各种形式主义级别。关于这个问题,标准计划是不可知论的。
这些书可以相互引用,但不能任意引用。允许的关系如下:
特别要注意的是,目标的描述应该省略技术细节,因此可能不涉及项目和系统元素,尽管它可能需要解释影响或约束业务目标的环境属性。环境是独立于IT工作而存在的,因此,环境方面的书不应该引用任何其他的工作,如果系统要改变环境,可能会有例外(图中虚线箭头),系统的影响。(例如,工资单IT系统可能会影响工资单流程;加热系统可能会影响环境温度。)
推荐的PEGS标准计划的多册结构已经超越了单一的、线性的“需求文档”的传统观点。书本身不一定是线性的文本;在今天的技术中,需求部分可以并且通常应该存储在需求库它包括所有与需求相关的元素。线性形式仍然是必要的;它既可以这样编写,也可以由工具从存储库中的元素生成。
标准方案将四本PEGS账本的结构细化到一个层次,章.任何其他级别(部分),每个组织都可以定义自己的规则。书籍还可以包括正反面材料,包括例如目录、法律免责声明、修订历史等,而这些内容并不是标准结构所涵盖的。结构如下:
这是不言而喻的,但以下是对每本书的一些评论:
一个naïve但仍然广泛遇到的需求观点是,它们服务于“描述系统将做什么(独立于它将如何做)。在上面的结构中,它只对应于需求工作的四分之一,即系统部分。在过去几十年的需求工程工作中,除了其他概念外,强调了分离系统和环境属性的需要(Michael Jackson, Pamela Zave)和目标的重要性(Axel van Lamsweerde)。
这个计划反映了需求概念的丰富性,我希望它可以帮助许多项目为更好的软件产生更好的需求。
[1] IEEE 830-1998,可用在这里.
Bertrand Meyer, Jean-Michel Bruel, Sophie Ebersold, Florian Galinier和Alexandr Naumchev: T软件需求剖析,在工具2019,施普林格计算机科学课堂讲稿11771,2019,10-40页。
Jean-Michel Bruel, Sophie Ebersold, Florian Galinier, Manuel Mazzara, Alexander Naumchev和Bertrand Meyer:形式主义在系统需求中的作用,在计算调查(美国ACM),第54卷,第6期。2021年6月5日,第1-36页,DOI:https://doi.org/10.1145/3448975,预印本可用在这里.
Bertrand Meyer他是瑞士沙夫豪森理工学院的教授和教务长,也是埃菲尔软件公司(Goleta, CA)的首席技术官。
没有发现记录