传统的基于代码的工程方法与基于模型的工程方法之间有何区别? [英] What is the differences between Traditional code-based engineering and model-driven engineering approaches?

查看:104
本文介绍了传统的基于代码的工程方法与基于模型的工程方法之间有何区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在文献中找到了这一段,但是我不理解它的含义

I've found this paragraph in the literature but I didn't understand the meaning of it

设计实践正在从传统的基于代码的工程学转向, 在整个开发生命周期中进行了强有力的分工,以 模型驱动的工程方法,设计中的所有人 流量可以在模型上有他们的说法.

Design practice is moving from traditional code-based engineering, with a strong division of work along the development life cycle, to model-driven engineering approaches where all people in the design flow can have their saying on the models.

任何帮助将不胜感激

推荐答案

我不确定我是否同意该句子的书写方式,但是那样的话,我可能会遗漏一些上下文,无论如何,这不是问题要点.

I am not sure that I agree with the way the sentence was written, but then I may be missing some context and, in any case, it is not the gist of the question.

传统上,计算机时间很昂贵,因此设计通常是在纸上进行的-有时成纸.设计人员将写下要求.在设计阶段,他们使用塑料"RapiDesign"模板(我仍然有我的...)在纸上绘制了一些图表,以描绘程序和数据流程图,梯形图(逻辑)图,信号图等.完成后,使用了各种技术(例如结构化英语")来定义程序的运行方式.然后,程序员将获取这些信息,并实际编写可以在计算机上运行的代码(汇编程序,COBOL,FORTAN,C).

Traditionally, computer time was expensive so design typically happened on paper - reams of paper sometimes. Designer would write down the requirements. During the design phase, they drew some diagrams on paper using plastic "RapiDesign" templates (I still have mine...) to depict program and data flow diagrams, ladder (logic) diagrams, signal diagrams, etc. Once that was done, various techniques were used (such as "Structured English") to define how the programs would run. The programmers would then take this information and actually write code (assembler, COBOL, FORTAN, C) that could be run on computers.

演进的下一步是构建软件工具以更好地处理一些工作.建模工具诞生了,许多工具以不同的方式显示信息.这些早期的建模工具是美化的绘图程序,几乎没有建立语义来支持模型.它们基本上足够好,可以使过程自动化,并且使修改图纸变得更加容易.此类工具的示例包括Rational Rose(基于Booch表示法)和Popkin System Architect的早期版本.

The next step in evolution was to build software tools to better handle some of the work. The modeling tools were born, many with different ways of showing the information. These early modeling tools were glorified drawing programs with little semantics established to support the model. They were basically good enough to automate the process and make it easier to revise the drawings. Early releases of Rational Rose (based on the Booch notation) and Popkin System Architect would be examples of such tools.

随着这些工具增加了更多功能和相关方法,它们还增加了一些语义(有时暗含在方法中).这使这些工具可以开始生成一些代码.由于这些工具大多对面向对象的方法感兴趣,因此生成的代码主要是类定义.行为语义的缺乏阻止了实际运行代码的创建.

As these tools added more capabilities and associated methodologies, they also added some semantics (sometimes implied in the methods). This made it possible for these tools to start generating some code. As these tools were mostly interested in object-oriented approaches, the code generated was mostly the class definitions. The lack of behavioural semantics prevented the creation of the actual running code.

同时,为了帮助加入从Booch,OMT和Objectory开始的各种语言,UML(统一建模语言)开始出现.随着UML的发展,其元模型变得更加复杂,更加严格,并且添加了更多的行为语义.最近,还认识到抽象语言框架(ALF),因为认识到程序需要执行的动作不能总是使用图形UML表示法表示.

In parallel, the UML (Unified Modeling Language) made its apparition in order to help join the various languages, starting with Booch, OMT, and Objectory. As the UML evolved, its meta-model became more complex, more strict, and more behavioural semantics were added. More recently, an abstract language framework (ALF) was also defined in recognition that the actions that a program need to take can not always be expressed using the graphical UML notation.

请注意,其他方法也已与UML并行出现.实施模型驱动的工程方法的一些著名方法是ROOM和SDL,它们都是特定于域的,并且都为UML的演进提供功能(例如,ROOM:结构化类,SDL:消息序列图).

Note that other methods have also appeared in parallel to UML. Some notable approaches that implemented a model-driven engineering approach are ROOM and SDL, both rather domain specific and both providing capabilities to the evolution of UML (e.g., ROOM: structured classes, SDL: Message Sequence Charts).

现在是我们在模型驱动的工程世界中,在设计过程中使用具有定义语义的形式化模型,而不是纸和黑板上的画板来驱动所使用的代码.

This is now were we are, in the model-driven engineering world, where formalised models with defined semantics are used in the design process, instead of drawins on paper and blackboards, to drive the code used.

在某些具有支持工具的特定领域中,您甚至可以看到从模型生成和部署完整应用程序的情况-该模型正在成为代码.

In some specific domains with supporting tools, you can even see cases where the complete application is generated and deployed from a model - the model is becoming the code.

整个建模历史也是运行软件一代不断发展的延续,其中抽象级别从可编程门阵列一直上升到二进制,汇编程序,2GL(例如C),3GL(例如C ++)和现在的模型.

This whole modeling history is also a continuation of the evolution of the generation of running software, where the level of abstraction was kept rising from programmable gate arrays, to binary, assembler, 2GL (e.g., C), 3GL (e.g., C++), and now models.

这篇关于传统的基于代码的工程方法与基于模型的工程方法之间有何区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆