自动软件设计
来源:互联网 发布:江西博微配网设计软件 编辑:程序博客网 时间:2024/04/28 14:50
在1973年,美国人Peter Freeman在他的文章《自动软件设计(Automating software design)》中有这样的假设:如果有这样一台机器 ,当我们告诉它我们需要什么软件的时候,它立刻就会满足我们的要求,自动生成我们需要的程序。这台机器我称之为万能机。
当我们提出需求的时候,需要关注的仅仅是如何描述清楚我们的需求。如何实现是万能机内部的事情,和我们没有关系也不需要了解。我们关心的只有一件事情:如何将我们的需求描述得足够清晰、准确、全面、细致、没有二意性。只有这样万能机才能最大限度的生成满足我们需要的程序来。
如果将提出需求的我们比作客户,将万能机比作软件提供商。软件提供商可以开发出高质量的任意的软件产品,只要客户能说清楚有什么要求。这样两者关注的焦点只有一个,那就是客户的需求!客户的业务!
UML(统一建模语言,Unified Modeling Language)是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。它的出发点就是建模,从用户如何使用系统的角度建立模型。也就是用户对系统提出的需求。用例建模是UML建模的一部分,它也是UML里最基础的部分。
MDA也是以商业模型为驱动的架构。MDA核心的思路是希望通过对商业模型(比如企业信息化或建筑领域的解决方案)的领域研究,进而提炼出一个相对核心的领域模型,同时抽象出一个PIM(平台无关模型)。根据不同的开发平台,应用平台形成相应的 PSM(平台相关模型)。最后依照相应的工具,可以完整地生成相应的代码和软件系统。MDA注重的是建立与实现平台无关的模型,以模型为驱动,利用工具自动实现代码。
SOA提出的是面向服务的架构。从服务的角度讲,SOA也是面向业务(需求)的。因为无论是万能机还是软件供应商都是为客户提供服务的。这些服务必须能满足客户提出的需求。而服务如何提供、用什么方法实现则是提供者需要考虑的事情。
- 自动软件设计
- 自动软件设计
- C#实现百度自动点击软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 计算机等级考试二级C语言编程易犯毛病集合(1)
- 计算机等级考试二级C语言编程易犯毛病集合(2)
- 计算机等级二级C语言上机考试改错题分析总结
- Beginning Game Development: Part I – Introduction
- 世界编程语言排行榜08年01月
- 自动软件设计
- 巧用一条SQL 实现其它进制到十进制转换
- 培养软件开发嗅觉
- (二)初学C# 3.0之扩展方法
- 纵横iGoogle工具世界的程序发明王
- 初识Android(转抄 What is Android)
- C语言, 值得终身使用的编程工具
- 作.Net的一般基础不太好,看看下面几篇文章补补吧
- 百度搜索链接中的汉字转码