我们进一步看一下一些敏捷建模演化的启示,简单地追溯一下数据一致性编程、数据建模和UML的历史。 数据一致性编程 1980年,在认可度和实际运用方面,J. D. Warnier、Ken Orr和M. A. Jackson的努力终于得到了回报。他们建立的任意复杂的程序都可以从输入/输出结构中一步步推测并且可以使用三个基本的结构化元素(序列、迭代、选择)来建模。他们的需求开始就使用一些符号,这些符号在数据结构和结构化程序的建模方面以及软件设计蓝图方面最终获得了一定的认可。
如果没有Warnier、Orr和Jackson创建的数据一致性编程结构,这些问题就阻碍了开发: 你怎么没有为脆弱……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
我们进一步看一下一些敏捷建模演化的启示,简单地追溯一下数据一致性编程、数据建模和UML的历史。
数据一致性编程
1980年,在认可度和实际运用方面,J. D. Warnier、Ken Orr和M. A. Jackson的努力终于得到了回报。他们建立的任意复杂的程序都可以从输入/输出结构中一步步推测并且可以使用三个基本的结构化元素(序列、迭代、选择)来建模。他们的需求开始就使用一些符号,这些符号在数据结构和结构化程序的建模方面以及软件设计蓝图方面最终获得了一定的认可。
如果没有Warnier、Orr和Jackson创建的数据一致性编程结构,这些问题就阻碍了开发:
- 你怎么没有为脆弱的、无序序列的并行和集群准备一些的特殊符号?
- 协作程序怎么样,它能从最近的状态恢复复杂的处理吗?
- 是利用回溯法来实现多步输入评估或检索吗?
- 进程间通讯的图表怎么样?
对于能工作的数据一致性编程、建模工具、代码生成器、测试工具和培训必须保持很多扩展。
数据建模
1985年,由于日益增长的计算信息独立的观点成为一项非技术性资产,Edgar Codd和Chris Date的工作扩展到融合了作为一种非技术资产的,不断增长的,独立计算的信息视图的图表符号。很快,Codd和Date的这个创新思想迷失在专有符号的丛林中,其中包括诸如,在描述某种关系的同一基数时几乎有10种方法。实际上,一种标准的结构化查询语言,数据定义语言(SQL DDL)是利用不良的标准化图表来“改善”的。
由于数据模型忽略了在业务或者软件方面的处理动态程度,好的模型就会混合使用非标准化编程符号和同样的非标准化数据来建模。然而数据冗余降低到最低限度取决于SQL和关系型数据库,大多数程序库仍然和以前一样具有冗余倾向,同时这种不平衡将持续直到第三方,对象社区制定出标准。
统一建模语言
1997年,统一建模语言(UML)作为一种对象管理组织(OMG)的标准公布,用于修剪非标准对象符号的这片丛林。这要感谢Grady Booch、Ivar Jacobson 和James Rumbaugh工作的突破性进展和游说。
UML对处理和数据都可以建模,对象方式,将建模带入一个更广泛的具有独立的域/应用和方法的软件社区。同一个标准中的类,序列和状态图提高了正确性,交付周期和协作,与专有数据模型,网络图相比——每一个都试图摆脱——Jackson或Warnier-Orr图。
一般来说,UML 1.x,以一种敏捷方式在一开始就应用于压力动机,教育,协作,交流,而把工具和过程的问题放在一边 。但是如果那样它就逐渐演变成一个非常殷实的大杂烩。这道难消化菜的数目——图表类型——达到13,因为有50家公司共同创作了UML 2。精益项目需要从13种精选出2至5种类型。尽管在通用“语法书”标准或者元模型的标准之中,符号扩散仍悄悄跟进着。回到精益生产的步骤和措施后来却被OMG组织在SysML标准(2006)中采纳。。
关于作者:Milan Kratochvil是一位的独立顾问和教员,他主要研究软件需求,建模,架构,特别是差异,客户化或配置问题。他是“UML插件之光—如何提出你的软件需求”(剑桥出版)和“成长的模块化—复杂产品,服务和软件的大规模定制”(施普林格出版)这两本书的作者。他已经在软件开发行业工作了32年,至今居住在瑞典的斯德哥尔摩附近。
相关推荐
-
如何建立自己的UML图库
没有适当的沟通,想法和计划的执行就会出错,或者被遗忘。统一建模语言经常用于各种睡吧样的蓝图中,来映射出系统计划。事实上,UML已经成为许多软件开发人员选项。
-
心态决定统一建模语言成败
太过于追逐流行软件,对开发人员的职业生涯百害而无一利,有些专家这些说。虽然编程语言来来去去,但确实有一些技能和属性需要磨练,这可以带来一份薪水丰厚的工作。
-
前期设计够用就好
前期做完整设计的瀑布模型时代已经结束了吗? 本文建议前期做足够的架构设计,以便提供项目启动所需的结构,统一团队愿景以及评估可能的风险。
-
软件架构:开发人员必知的五件事
软件开发这一行业要么是突飞猛进,要么是深陷囹圄。一方面,我们推动它向前发展,重塑我们构建软件的方式。另一方面,我们不断忘记过去的好。