自动软件设计
来源:互联网 发布:安东尼 知乎 编辑:程序博客网 时间:2024/05/19 22:26
在1973年,美国人Peter Freeman在他的文章《自动软件设计(Automating software design)》中有这样的假设:如果有这样一台机器 ,当我们告诉它我们需要什么软件的时候,它立刻就会满足我们的要求,自动生成我们需要的程序。
从用户角度看,自动软件设计将软件采购分为两个步骤:提供需求和接收软件产品。从软件开发商的角度看,自动软件设计将软件的提供分为两个步骤:获取需求和提交软件产品。
基于自动软件设计的假设,将软件开发商比作打印机,用户的需求比作一篇文档。文档的内容可能是一篇演讲稿,也可能是一个工作汇报,也可能是一幅精美的图画。打印机根据文档的排版、样式和颜色的要求,将内容无偏差的打印出来。用户得到预期的结果。
因此,用户的需求作为软件开发商开发软件产品的输入信息对软件产品能否满足用户的需要起到决定性的作用和影响。
用户业务描述的清晰程度、及时性、准确性、全面细致与否、有没有二意性等,这些都是直接对产品带来影响的因素。用户的业务是用户和软件开发商共同关注的焦点。
由于人的认识的有限性和持续性,再加上客户业务环境变化带来的需求的变更,无法一次性完成设计和软件的交付。为了最终满足客户的业务需要,需求要持续的改进。
为了达到持续改进的目的,减少需求变化带来的影响,通常采用建模的方法。用较为抽象的、独立的模型描述业务以及用户和系统的交互。
UML、MDA和SOA等都是建立以用户业务为目标的语言、工具、标准、方法和过程。
在模型实现过程中,可以采用封装变化的策略,将变化较多的业务功能分解封装起来。当业务的需求发生变化,只需要修改或者替换发生变化的部分,来适应业务的需要。
- 自动软件设计
- 自动软件设计
- C#实现百度自动点击软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- 软件设计
- JavaFX学习曲线日记-2:声明用户接口
- opengl 矩阵变换
- 第三章 使用OpenGL绘图
- JS获取XML内容!
- 从C++与Unicode说开去
- 自动软件设计
- 略谈数学中的映射在其它领域的踪迹
- 最大限度减少重装windows系统带来的设置麻烦
- c++学习笔记--socket
- MSDN Code Gallery 发布!——与他人分享您的代码和成就!
- 让冰雪中回家的路多点温暖
- google新功能
- Wsyscheck 20080201
- 三日减肥