软件工厂

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• ebXML, .NET, RosettaNet and other Web Services initiatives aim to be “the” middleware to link enterprises
– How to cope with them all?
Rising the level of abstraction
• 前两项实践都属于管理实践范畴的内容,而第三项实践则偏重于建立 软件工厂的底层支撑框架。
• 软件工厂的概念代表了一种新的软件开发模式。他的优势在于能够把 技术和管理结合起来,提高生产力。
MDA Model driven architecture
Contents
• What is MDA? • Challenges for MDA • Program generation from models • MDA terminology • Basic modeling technology • Modeling language extensibility • Building a MDA application • Model transformations (information, activities) • About tools
Some Key Terms
• Model
– A formal specification of the function, structure and/or behavior of a system. (Model .ne. UML)
• Platform
– Technological and engineering details that are irrelevant to the fundamental functionality of a software component.
• Focus on Platform Independent Models (PIM)
– Without middleware details
• Abstract Platform Specific Models (PSM)
– Including all middleware details
• Define PIM to PSM transformations • Preserving PIM when new middleware appears!
– invariants, pre- and postconditions – precise action semantics and standard
mappings on various platforms – mappings represent a standard engineering
• ”middleware” addresses integration within the enterprise with a distributed computer
• today aim for similar integration between enterprises
– Avoid typing in from computer-printouts
• can improve productivity, quality, and longetivity outlook
• new term, old invention
– CASE-tools in 1980’s, integrated object-oriented development environments in 1990’s, UML tools, etc.
软件工厂
• 软件工厂(Software Factories)观念介绍 • Model Driven Architecture (MDA) • 微软DSL与GAT
软件总线和软件工厂
• 直到目前为止,软件开发仍然属于手工作坊阶段,如果要 和制造业的水平相对应的话,基本上是处于蒸气机发明之 前的水平。
• 随着软件开发技术的发展,软件开发也将象制造业一样, 步入“工业”时代。不过对于软件开发来说,机器仍然是代 码,只不过这些代码是用来代替开发人员的编码活动的, 他具有比手工编码更高的生产力。
• has been used to generate real-time and embedded systems although term MDA coined later
– strategic direction of OMG as announced in 2002) – Java community process, ebxml, rosettanet using
similar concepts
Challenges for MDA
• B2B and B2C integration needs of enterprises
• Reguirement: Preserve investment
– As enterprise borders shift requiring platform shift – As platforms themselves change
Enterprise and its boundaries
Frankel:2001
No Universal Component Middleware
Major Challenge!
CORBA
EJB
.NET
...
Integration communication
Frankel:2001
Enterprise system integration trend
– Build platform independent models • UML is independent of CORBA, COM, EJB, XML, etc thus is well-suited as a language for dexcribingn • Map these models to specific platforms • Maintain the separation at the implementation level
– Some companies avoided building intermediate tiers – Web services and B2B require intermediate tiers to expose coarse
grained business services – Abstraction to allow reuse of the coarse grain business services
solution for a collaboration concept
• UML has defined profiles for introducing separate sets of transformation rules
– to model particular domain, eg. business information, busienss services, collaborations, realtime systems, telecom
What is MDA?
• using modeling languages as declarative progamming languages
– rising of abstraction level for programmers – improved productivity, quality, longevity outlook
• EJB 1.1 --> EJB 2.0 • XML --> XML Schema • MTS --> COM+ • CORBA 2.0 --> CORBA 3.0
• Solution: Isolate information and processing logic from technology specifics
PlatfoΒιβλιοθήκη m-Indepe ndent Model
A Detailed Model, stating Pre- and Post-
• Part of general trend • Already well-established front and back ends
– WYSIWYG GUI modeling and data modelign – Hand coding no longer predominatees
• Early web-applications wired web front end directly to back end
UML
• IDL as abstraction very limited
– generates same level constructs, stubs and skeletons
• modeling languages – declarative?
– separation of abstract syntax from concrete syntax
• Platform Specific Model (PSM)
– The technical details (CORBA, SOAP, EJB)
Basic modeling technology
• UML – unified modeling language • MOF – meta object facility • XMI – XML metadata interchange
– to parametrize mapping to sepcific technologies
• class vs. behavioural models
MOF
UML class, UML association UML attribute, UML state,
M3
M2:met amodel s
M1: models
M0: objects and data
MOF class, MOF attribute, MOF association
class ”customer”, … table ”employee”, …
XMI - XML metadata interchange
Building an MDA Application
via various technologics.
Program generation from models
• MDA is about using modeling languages as programming languages rather than merely as design languages
Model Driven Architecture
• New orientation for OMG activities
– New step beyond the Object Management Architecture (OMA)
• Models are centric!
– Target middleware is not important!
• Platform Independent Model (PIM)
– A formal specification of the structure and
function
of a system that abstracts away
technical details
(e.g., funds transfer)
• 我们把这些高产量的“机器”描述成现代化的软件工厂。那 么,软件工厂到底是什么?
软件工厂
• 软件工厂在组件和软件总线的基础上发展,并根据组件和软件总线的 技术特点,定义了一系列的管理活动,以提高开发效率。
• 软件工厂是我们定义的软件质量框架的一种实现方式。对于不同的软 件组织来说,根据自身的研发特点来定义软件工厂的构成是非常重要 的。具体的内容包括管理实践的选择,组件的积累,软件总线的技术 实现。
相关文档
最新文档