技术开发 频道

极限建模与可执行模型

    5. 值得推荐的几点

    现在,你也许已经有了你自己的一些想法, 这里有几点我觉得值得强调一下。

    刚好足够。XP和敏捷过程是一个受欢迎的让人振作的东西,但是象很多对习惯位置的反应,有可能会做的太过分。一些特定类型的高可靠系统可能支持这些新的过程,但是我们被强迫 去作其他的一些事情。在这种情况下,我们必须扪心自问,什么是“刚好足够的”过程,才能尽快得到可被描述的需求。

    团队。结对编程是“团队”的一个变种。组织经常说它们支持协同工作,而且有文章支持这个思想。(参见〔13〕可以找到一个受欢迎的矫正方法),但是令人惊讶的是,一个小小的 成就就可以让一个成功的团队保持在一起。3个人一起进行一个分析/建模任务,并没有减少  2/3的生产力,而是增强了生产力和质量。而质量在高可靠系统中是特别重要的。

    适应性。敏捷过程强调适应性。这里考虑到三个主要的方面。市场,今天它可能会要求一些功能,它们不同于那些你已经做到的功能。技术,它改变(缩短)了作新的事情可能需要花费的时间,但是也同样设置了一些限制,可能直到我们通过项目才会发现这些限制。还有过程本身。把“过程检查”当作你的颂歌,来保证你正在尽可能用最好的方式做需要做的事情。

    文档和文档化。我认为敏捷的拥护者们可能对下面几个概念感到困惑,草图(sketches),伪装的模型(masquerading as models),真正的可执行模型(real executable models)。 我也认为很多文档是简单重述的,言语乏力,很不严密,说“真东西”才是更好的。

    对于高可靠系统,我主要关心它们的生命周期,也就是说必须有一些方法来把信息传输 到未来,一个口口相传的传统是,我们大家围绕着火堆坐在一起,叙述着我们这些建模的日子的光荣,这个传统不要丢掉。模型也不是足够的。我们要着重记述并详细描述隐喻。我们 不应该把模型文档化,而是要把我们为什么选择一个细节的抽象写成文档。参见Starr〔9〕

    衍生的需求。敏捷过程依赖客户交互来告诉我们下一步要被实现的功能(故事,用例,无论我们叫它们什么)。在很多实时和嵌入式系统中,用户可见的需求是很少的。当有一个需要去构造基础部分时,基础结构中的需求不会来自客户。它们是衍生的。在客户不在(无法起作用)的时候,我们需要一些方法来区分这些需求。

    引用了许多的论文,书籍和类,下面是列出了这些参考文献,以及一些其他可以帮助你整理思路的相关文章。

    6. 参考文献

    [1] Kent Beck, eXtreme Programming explained, Addison-Wesley Publications Co; ISBN: 0201616416,

    [2] Rodney Bell, Code Generation from Object Models, Embedded Systems Programming, March 1998. Also available on the web at www.embedded.com

    [3] Stephen, J. Mellor, Executable UML, Embedded Systems Conference, July 2001

    [4] Leon Starr, Executable UML, Model Integration, LLC.; ISBN: 0970804407 2 CDs included

    [5] www.agilealliance.org

    [6] Stephen J. Mellor, Coping with Changing Requirements, Embedded Systems Conference, July 2001

    [7] Martin Fowler, The New Methodology, www.martinfowler.com/articles/newMethodology.html

    [8] Bertrand Meyer, Object-Oriented Software Construction 2nd edition, Prentice Hall; ISBN: 0136291554 ;

    [9] Leon Starr, How to Build Shlaer-Mellor Models, Prentice Hall

    [10] Fowler and Beck, Refactoring, Addison-Wesley Pub Co; ISBN: 0201485672

    [11] Stephen, J. Mellor, System Design, Architectures and Archetypes, Embedded Systems Conference, July 2001

    [12] Leon Starr, Modeling on the Right Side of The Brain, Shlaer-Mellor User Group, May 2001, www.projtech.com

    [13] http://www.demotivation.com/ For a brief description of XP, see:

    [14] Kent Beck, Embracing Change with Extreme Programming, IEEE Computer October 1999 For a discussion of the extreme ideas by Mellor, Bollinger and Humphrey, among others, see:

    [15] www.computer.org/seweb/dynabook

0
相关文章