我在文献中找到了这段话,但我不明白它的意思
设计实践正在从传统的基于代码的工程(在开发生命周期中有很强的分工)转向模型驱动的工程方法,在这种方法中,设计流程中的所有人都可以对模型有自己的看法。
如有任何帮助,我们将不胜感激。
发布于 2014-03-21 22:01:57
我不确定我是否同意这句话的写法,但我可能遗漏了一些内容,而且无论如何,这不是问题的要点。
传统上,计算机时间是昂贵的,所以设计通常发生在纸上--有时是一堆纸.设计师会写下要求。在设计阶段,他们用塑料"RapiDesign“模板在纸上画了一些图表(我还有我的)为了描述程序和数据流图、梯形(逻辑)图、信号图等,使用了各种技术(如“结构化英语”)来定义程序的运行方式。然后,程序员将获取这些信息,并实际编写可在计算机上运行的代码(汇编程序、COBOL、FORTAN、C)。
进化的下一步是构建软件工具,以便更好地处理一些工作。建模工具诞生了,许多工具都以不同的方式显示信息。这些早期的建模工具是美化绘图程序,很少建立支持模型的语义。他们基本上足够好自动化的过程,并使它更容易修改图纸。Rational (基于Booch符号)和Popkin系统架构师的早期版本将是此类工具的示例。
由于这些工具增加了更多的功能和相关的方法,它们还添加了一些语义(有时也包含在方法中)。这使得这些工具能够开始生成一些代码。由于这些工具大多对面向对象的方法感兴趣,所以生成的代码主要是类定义。缺乏行为语义阻碍了实际运行代码的创建。
同时,UML ()的出现是为了帮助加入各种语言,首先是Booch、OMT和Objectory。随着UML的发展,它的元模型变得更加复杂、更严格,并且增加了更多的行为语义。最近,还定义了一个抽象语言框架(ALF),因为它认识到程序需要采取的操作不能总是使用图形化的UML符号来表示。
注意,其他方法也与UML并行出现。实现模型驱动的工程方法的一些引人注目的方法是空间和SDL,这两种方法都是特定于领域的,并且都为UML的发展提供了功能(例如,ROOM:结构化类,SDL:消息序列图表)。
这就是我们,在模型驱动的工程领域,在设计过程中使用具有定义语义的形式化模型,而不是纸面和黑板上的drawins来驱动所使用的代码。
在一些具有支持工具的特定领域,您甚至可以看到从模型生成和部署完整应用程序的情况--模型正在成为代码。
整个建模历史也是运行软件的发展过程的延续,从可编程门阵列到二进制、汇编程序、2GL (例如C)、3GL (例如C++)和现在的模型,抽象级别一直在上升。
发布于 2014-03-26 20:52:30
基于代码的工程意味着大部分工作是在编码和代码中完成的.它不是一个被广泛使用的术语。它不是一种项目管理方法,相反,它似乎是对一些糟糕的PM实践的负面描述,当开发人员几乎在完成任务后立即开始编码时。这种方法以前用过,现在也用了。
基于代码的编程的长寿之处在于,在其最好的变体中,它非常适用于短项目--最多可达1k行。我们可以将描述/模型直接写入注释,使用Structured English重写一两次(我习惯于命名为Pseudocode),并将代码转到同一个文件中。它确实适用于较小的项目,人们从较小的项目开始,并经常习惯这种方法作为学生,并转移到其他开发算法有困难。但他们必须这样做,因为这种方法不适用于更大的项目。
模型驱动工程意味着产品被周期性地与它的模型进行比较.模型也被改变了,并且是团队需要达到的一个不断移动的目标。这个术语出现在敏捷编程中,因此,它是相对现代的。
它反对测试驱动和需求驱动工程,而不是基于代码的工程.它有可能使基于代码和模型驱动的项目。但我不会建议你的。
发布于 2014-05-11 05:49:38
历史
在我看来,基于代码的工程意味着程序员在脑海中创建了一些模型并编写了相应的代码。当需求发生变化时,程序员会在脑海中改变模型并重写代码。这样的程序员也被称为程序员分析员。(S)他根据模糊的、通常是不成文的要求创建代码,不需要任何其他东西。one man向展示
未来
相反,模型驱动的工程意味着在编码工作完成之前,需求必须足够清楚,必须写下来,并且必须创建目标系统和代码的某种“模型”。使用一些建模标准,如BPMN,UML等。这种建模通常是由一些非程序员,一些“分析师”完成的。然后,程序员将模型(在它被批准后)并将这些想法具体化为代码。这种方法具有更好的扩展性,特别是对于大型系统。
这种方法的理想目的是完全不需要手动编写代码(带有bug)。建模工具应该支持模型驱动架构(MDA),甚至可执行UML,这样建模的结果就会比“图片”集更多,并说明需求。它可以成为源代码的骨架,构成应用程序的主干,甚至可以是模型点击和运行的产品。
现实
例如,包含了许多使这种方法在某种程度上成为现实的模型驱动的发电技术。您可以通过逆向工程将现有代码(支持的多种语言)转换为UML模型,并在修改后从模型生成代码(支持多种语言)。支持许多UML建模方面(行为方面、结构方面)。如果你想得到一些真实的图片,你的兴趣不仅仅是“学术研究”,那么我建议你玩这个软件。
(这不是免费的,但你可以获得评估许可证,对于严肃的工作,它将付出很多倍的代价,因为在产品上付出了巨大的努力。我有偏见,因为我是他们快乐的顾客)
https://stackoverflow.com/questions/22513896
复制相似问题