从软件自动化生产方式来研究软件架构的设计

3.0 闻远设计 2024-03-09 22 4 72.4KB 8 页 免费
侵权投诉
从软件自动化生产方式来研究软件架构的设计
    摘要 :在目前的软件开发理论和实践过程中, 软件生产从需求获取到代码完成都需要人
工完成。从需求分析到体系结构的对应与转换依然依赖于软件设计者的技能、经验和创造力;
大多数软件代码的生产仍然需要依靠程序员来人工完成。这种传统的软件生产方式为软件产业
带来了许多问题。随着软件工程理论和 case 工具的发展, 突破传统软件开发方式的方法论逐
步被提出。基于模式的软件自动化生产方式能够在从软件抽象模型到软件代码自动生成的过程
中节省大量人力, 提高软件开发效率, 增加软件的自适应性。通过介绍基于模式的软件自动
化生产方式来重点研究软件架构的设计。
    关键词 :体系结构; 设计模式; 自动化生产; 开发效率; 自适应;
Abstract:
In the current software development theory and practice, software production needs to be done
manually from aquistion of requirement to code completion.The mapping from software requirements
analysis to software architectures still needs designer's skills, experience and creativity.Most software
code production still depends on the programmer to do it manually.This traditional way of software
production poses many problems for the software industry.With the development of software
engineering theory and case tools, the methodology of breaking through traditional way of software
development has been put forward gradually.Software automation production methods based on
pattern can save a lot of manpower in the process of the software abstract model to the automatic
generation of software code.This approach improves the efficiency of software development and
increases the adaptability of the software.This paper studied the design of model-driven software
architecture by introducing mode-based software automation production methods.
Keyword:
Architecture; Design pattern; Automated production; Development efficiency; Adaptation;
    1 引言
在高需求、高投入、高竞争的环境下, 软件生产的规模和效率成为软件企业最关注的问题之
一。在传统软件开发过程中, 大多数软件代码的生产要依靠程序员人工完成, 为软件开发带
来了大量问题。首先, 软件生产的效率低下, 项目延期率高;其次, 软件质量难以保证;再
次, 技术更新换代快, 软件可移植性低;最后, 软件产品难于修改和维护。
随着软件开发理论的发展和完善, 传统软件开发方法已不能满足社会和企业的需求, 新的软
件开发方法被提出。OMG UML 的基础上提出了模型驱动构架 (MDA [1], 为从软件抽象
模型到软件代码自动生成指明了一个很好的方向。在 Microsoft 发布的 VS.Net 2005 中加入了支
持软件工厂[2]的工具 Team System.以软件自动化生产为特点的软件生产方式成为新的关注点。
事实上, 各种新型 CASE 工具正在悄悄地改变着软件开发模式。然而, 自动化的软件生产时
代并不会马上到来。软件生产自动化并不仅仅是几个软件工具, 更是一种新的软件开发的方法
学。它需要管理人员、开发人员转变传统的开发观念, 使技术积累、过程管理等方面都适应新
的开发模式。
在软件开发各个阶段独立的自动化方法已经存在。在需求阶段, 为易于理解和沟通, 基于资
源、组织与业务的需求模型 (ROB [3]用递归分解的方法分别从资源、组织与业务抽取需
求。ROB 全局统一的树形结构便于形式化定义需求对象, 以实现在计算机中存储和管理;在
规范需求变更管理组织、流程的基础上, 建立数据模型, 设计数据操纵语言, 定义操纵接
口, 通过编辑修改对象模拟需求发生的变更, 在完整性、一致性规则约束下, 自动完成
求变更发的完整操[14].
设计模式阶段, 验前置条件可以被为是一种设计模式, 为它是对一个不发生的问题
的可重的解Microsoft 的代码是设计模式自动化的一个完例子, 它基于
C#Visual Basic, 了一组 API 表达检验规则, 规则的具体形式包括置条件、后
置条件和对象不变式。
代码约这的编然很好, 但官出的展要花费的时间进行开发,
定。于存在着很多不领域领域又有着它自的问题, 方的展是
不可能覆盖所有问题的。
    2   模型驱动架构 (MDA
2.1 MDA 概述
模型驱动架构 (Model Driven Architecture, MDA ) (见图 1 ) 的核心思想是首先抽象出与实现
技术关、完整描述业务能的核心平台无关模型 (Platform Independent Model, PIM ;然后
对不实现技术定多个转换规则, 通过这转换规则及辅助工具PIM 转换成与具体实
现技术关的平台相关模型 (Platform Specific Model, PSM ;最后PSM 转换成代码。与传
统软件开发方法相比MDA 关注模型, PIM 开发轻松 提高了软件的生产效率;从 PIM
换为 PSM 的过程中, 可以一对多转换, 增加了软件开发的可移植性[1].软件工厂可被为是
包含 MDA 并在基础上进行展, 基于 PIM PSM MDA 的定义范广泛[2].
1 模型驱动架构
2.2 基于模式的转换方法
基于模式的转换方法是模型驱动架构产生的方法:模型使用具有精确定义形式和义的语言
对系统描述, 以适计算机自动解。模型之的变换需要定义一组变换规则, 用于
源语言中的元素如何变换为目语言中的元素
基于模式转化的 MDA 见图 2 ) 中, 变换变换规则和变换操作两步构成。变换规则定义变
换之前和变换之后的件, 满足变换规则时, 执行变换操;变换操作执行从模式
模式, 然后模式实现模型的转换, 完成由元模型元素向对应的目模型元素的转
换。这一过程中会出现模式模式不足的形, 时需要定义转换规则, 完成模型转换, 再
其定义为新的模式存储在模式[4].
2 基于模式转换的 MDA
    3 模式
不再关软件转换的具体语言和使用的工具, 着重研究基于模式的软件自动化开发方法中
的模式。
模式驱动的软件自动化生成方法中的模式分为需求阶段、设计阶段和实现阶段, 要研究从
需求到软件架构的实现;4入软件架构模式系统[5]和问题[6]辅助工具到方法中,
使从需求阶段更好地过到软件架构设计阶段。
3.1 模式概述
模式 (Pattern [7]是指从生产经验和生经验中抽象和升华出来的核心知识体系。模式
其实是解决某问题的方法论, 决某类问题的方法结归到理论高为模
式。模式是一种参照性指, 在一个好的指下, 学者能训练有素的软件工程
体经验, 它们记录了软件开发领域分证明的既有经验, 可帮助推广良好的设
计实践。
模式一的指围甚广, 它标志件之间隐藏的规关系, 而这些物件并不然是
图案可以是数、抽象的关系, 甚至可以是维的方式。要是一再重出现的事
可能存在种模式[7].Alexander 出了经定义, 即每个模式都描述了一个在我们
环境中不出现的问题, 然后描述问题的解核心[8].
而言, 模式=模式名称+问题++。模式名称描述模式问题、解
和效;问题描述时使用模式;解案描述设计的组成分、它相互
关系各自的职责协作方式;效果描述了模式的使用效果及使用模式时应权衡的问题。
3.2 基于模式的 MDA 方法中的模式
在基于模式的 MDA 方法中, 需求分析获取需求后用需求模式来描述需求, 平台无关模型
的建立发生在传统软件开发方法中的需求分析到底层设计阶段, 这一阶段用架构模式和设计
模式。平台相关模型的建立发生在传统软件开发方法中的底层设计到编码阶段, 这一阶段
模式。
3.2.1 需求分析阶段
要的系统, 所有系统的需求质上彼此相似例如每个系统都很多查询功能,
能都的需求。定义一个业务系统时, 相当比例的需求归属相量的
型。因此, 以一致的方式定义同样类型的所有需求是要的。
需求模式:描述定义一种特定型需求的方法[9]. 需求模式应用于个需求, 一次帮助定义一
一需求。需求人员编完需求, 模式的结束了, 是开发人员和测试人员可以
据需求获测试方法。
需求模式包括如元素:基本细节、适用性、论、内容、模、实额外需求、开发
测试考虑[9].
使用需求模式的好1 ) 需求模式提议包含哪些信息, 提出忠告, 提醒常见
缺陷, 以指出其该考虑的问题;2 ) 需求模式节省时, 不需要从始写一个需求,
模式出了适的出发点和开发的基础;3 ) 需求模式促进同型需求的一致性。
需求模式使开发者机会定一种型的需求依赖的基础架构, 不一个需求考虑
个需求食物链;设计食物链, 以需求为Martin Fowler 的分析模式[10]
于需求模式的, 在食物链上分析模式需求模式更高一, 而设计模式流以需求模
式和分析模式为
3.2.2 设计阶段模式
个模式都是3 分组成的规则, 诠释了特定背景、问题和解的关系。为现实
世界的一个元素, 模式阐述了特定背景该背景反复出现的一系列作用力以及消解这些作

标签: #设计

摘要:

从软件自动化生产方式来研究软件架构的设计  摘要:在目前的软件开发理论和实践过程中,软件生产从需求获取到代码完成都需要人工完成。从需求分析到体系结构的对应与转换依然依赖于软件设计者的技能、经验和创造力;大多数软件代码的生产仍然需要依靠程序员来人工完成。这种传统的软件生产方式为软件产业带来了许多问题。随着软件工程理论和case工具的发展,突破传统软件开发方式的方法论逐步被提出。基于模式的软件自动化生产方式能够在从软件抽象模型到软件代码自动生成的过程中节省大量人力,提高软件开发效率,增加软件的自适应性。通过介绍基于模式的软件自动化生产方式来重点研究软件架构的设计。  关键词:体系结构;设计模式;自...

展开>> 收起<<
从软件自动化生产方式来研究软件架构的设计.docx

共8页,预览3页

还剩页未读, 继续阅读

相关推荐

作者:闻远设计 分类:其它行业资料 价格:免费 属性:8 页 大小:72.4KB 格式:DOCX 时间:2024-03-09

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 8
客服
关注