读书频道 > 网站 > 网页设计 > 需求工程:实践者之路(原书第4版)
2.6 重要概念
13-10-09    奋斗的小年轻
收藏    我要投稿   
本书从系统角度对需求工程中的主要概念、方法、原理和技术进行全面介绍,涵盖了面向目标的需求工程、基于场景的需求工程、面向方案的需求工程以及需求抽取、文档化、协商、确认和管理等需求工程活动,是一本内容立即去当当网订购

我们经常用一些我们自己都不清楚的概念和词汇。但在需求工程中,我们得弄清楚。这不仅仅指客户项目中的术语表(参阅5.3节),而且还指我们自己的专业语言。例如什么是模型?统一建模语言(UML)是一种方法吗?在这一节,我们解释这些专业术语。这样在本书后续章节中能有一个连贯的、统一的术语运用。

图2-12在上下文环境下描述了我们在需求工程中经常要碰到的重要概念(参阅[Balzert2008])。图中纵轴是从抽象(下)到具体(上),横轴是从方法(左)到具体结果(右)的。

我们首先看左下角。那儿是原则。原则是应用于上下文环境的基本规则。这些基本规则是不容置疑的,一般情况下,也无法通过经验验证。这样关于基本规则的争辩就会简化,因为原则就像数学公理一样,无需证明就可直接应用。原则尽量普遍化,它是从足够多的案例中抽象出来的。它不回答怎样能达到目标的问题。只有通过这种普遍化,原则才能持久。一个经典的原则的例子是面向对象。还有一个流行的原则是面向服务的架构(SOA)。至于说原则的效果,则要单独检查。它取决于实施原则所使用的方法。例如面向对象在很长时间里都宣称它在可维护性方面有优势。后来,经过具体研究发现:面向对象系统没有专门的为提高可维护性的方法,在系统生命周期中,它并不比结构化程序的可维护性好[Hatton1998,Deligiannis2004]。

方法是由原则衍生而来或是由原则确定的。方法是系统化地应用良好定义的程序或技术。它通过有序地实施每一步骤而达到既定目标。在面向对象的原则中有很多具体方法。用这些方法可以面向对象地分析一个系统。例如有方法描述怎样从应用领域的事物中抽象出对象。方法细化了原则,并使它可以应用到实践中。方法必须达到一定的目标,这个目标必须是可检验的。例如一个方法可以规定要提高可维护性。这样,就要求由该方法产生的结果必须可验证,验证它(方法的结果)是否真的达到了(方法的)目标。方法并不一定要暗示其适用性(它的典型应用领域或不适用于某领域的理由)。但它必须描述得足以辨认出什么时候应用它,能取得什么样的成果。一个原则如果没有相应的具体应用的方法,就只是一个理论的框架。一个方法不总是只属于一个原则。自下而上的方法和自上而下的方法在软件工程中很受欢迎。两者都可以应用于多个原则。

概念(conception)是一个抽象,它从特定的或不同的视角模拟一个事物。概念是普遍的,并在它们的应用范围之内,可以用在许多不同的方面。它是方法的组成部分。结构化编程中有循序、循环或选择这些概念。

表示法(notation)是一组符号,它代表一个或多个概念,在结构化编程的结构图中是一个有用的表示法。统一建模语言(UML)已经成为一种很常见的表示法,用来形容非常不同的概念。在公司或项目中,要使表示法标准化,以利于理解和沟通。最后,不能让每个开发人员或分析师用一种新的色调渲染一个建模语言。

流程是为实现一个目标而定义的活动的顺序。他描述了输入或先决条件,以及流程结束之前或之后所产生的输出。流程可以用来实施方法和概念。例如,一个流程描述需求分析的工作。而该需求分析工作应采用结构化分析或面向对象的分析。流程通常在项目中规定,以确保所有项目组成员向同一方向努力。

工具在实际工作中提供自动化的支持。它和流程、方法、概念、表示法一起支持实际工作。工具在生产和后来的使用中非常昂贵,所以各厂商都试图让他们具有充分的普遍性,让它能支持不同的表示法。例如,现代的建模工具,不仅能支持UML,同时也支持语言扩展。工具强制使用一种方法。当语法和语义完整地定义好后,它强制正确地使用一种表示法。编译器绝不允许所选择的编程语言不支持的语法。在需求工程中,这一点是比较困难的,因为所用的语言(UML也一样)的语义没有完全确定。工具提高开发人员的生产力,因为它们提供使用频繁的、可重用的结构库,或及早发现错误。与臭名昭著的“信封背面”(back of the envelop)示图不一样,工具帮助保持模型和规格说明书的一致性,以利于后期变更。

模型是实际事物的任何形式(如数学符号、物理公式、图形、文字描述)的抽象表示。它简化地表示这个真实事物的一个特定方面。模型用于限制事物的复杂性所带来的困难,使它们能够被描述。一个模型是使用了一种方法的结果。它通常与该方法紧密相连。我们将在第5章中阐述各种分析模型和相应的方法。模型简化了事物,所以原则上它总是错误的。因为它们为了形象化地展示事物的一个方面而忽略了另一个方面。模型是根据能否有效表达特定事物而选择的。在需求分析过程中模型是最重要的成果之一,因为它们有助于理解任务,并生成一个可能的解决方案。

产品(在拉丁语中产品是生产和交付的意思)是一个在价值创造过程中由生产要素转换成的商品。它的特点是为用户提供价值。一个产品可以是一个系统、方案、资料和服务的组合。它可以被内部(例如IT方案)或外部(例如软件应用)用户直接使用,或作为另一个产品(例如IP-Stack)的组件使用。

服务是指为他人做事,并使他人从中受益的一种有偿或无偿的活动,不以实物形式而以提供劳动的形式来满足他人的某种特殊需要,不涉及财产转移。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站