为什么.Net

Download Report

Transcript 为什么.Net

Turbo Charging Your .NET
Development
Agenda







软件开发世界发生了什么事情 ?
老生常谈 : .NET和Java.
测试您的想法 !
我们需要什么 ?
Together For .NET
C#Builder和MDA
Q&A
软件开发世界发生了什么事情 ?
软件开发世界发生了什么事情 ?
Decides
Tool Vendor
软件开发世界发生了什么事情 ?
Standard
IT Vendor
IT技术
Open
Source
Market
Requirement
软件开发世界发生了什么事情 ?
JDO
Methodology
Design
Pattern
Modeling
工具
.NET
Framework
oPath
Open
Source
分析
程式語言
IDE
Java
J2EE
設計
软件开发世界发生了什么事情 ?
 a Object Oriented
Design
Pattern
Modeling
工具
Non-Object Oriented
JDO
.NET
Framework
Methodology
程式語言
分析
IDE
oPath
Java
J2EE
Open
Source
設計
?
Next-Generation IDEs: The ILDE (or ALM)
 Software development
requires coordinated
efforts
Mobilising Developers
- Traditional tools set up
boundaries that match titles
- Pass it along coordination
 Growing use of global
development teams
- Round-the-clock change
 Think of tools as
“portals” that coordinate
efforts
Tools must be matched with processes to ensure
effective collaboration and meet business requirements
© 2002 META Group Inc., Stamford, CT-USA, +1 (203) 973-6700, metagroup.com
软件开发世界发生了什么事情 ?
Modeling
Java/J2EE
Software
Technology
Agile
Development
OO
Java Class
Library
?
Design
Pattern
Software
Engineering
Modeling
.NET
Framework
OO
.NET Lang.
Design
Pattern
?
Extreme
Programming
Applied
Solution
Agile
Development
Extreme
Programming
What is Model Driven Architecture?
 A New Way to Specify and Build Systems
- 2001年由OMG制定的新开发架构
- 以UML塑模为基础
- 支持完整开发周期 : analysis, design, implementation,
deployment, maintenance, evolution & integration with later
systems
- 内建协同运作性及跨平台性
- 降低开发初期成本及提高 ROI
- 可套用至你所使用的任何环境 :
- Programming language
- Operating system

Network

Middleware
Model Driven Architecture
UML(Unified Modeling Language)
MOF(Meta Object Factory) : OMG
标准,与UML相关,针对 metadata
management及modeling language
definition
CWM(Common Warehouse
Metamodel) : OMG规格对 data
repository integration
提升 UML 是重要关键
 UML 延续90年代初期的多项OOAD方法(OOSE-Object
Oriented Software Engineering, OMT-Object
Modeling Technique)
 OMG于96年采用,并于97年完成规格制定
 另制定如MOF以及XML Metadata specs (XMI)加以补
充
 标准化后,亦造就了市场
- 超过 100 本书籍
- 十数种商业开发工具
- 普遍开设的教育训练
 Supported by an open process
- UML 2.0 process under way now
Building an MDA Application
PlatformIndependent
Model
A Detailed Model,
stating Pre- and PostConditions in OCL,
and Semantics in
Action Language
Start with a PlatformIndependent Model
(PIM) representing
business functionality
and behavior,
undistorted by
technology details.
Generating Platform-Specific Model
PlatformIndependent
Model
CORBA
Model
Map a PIM to Specific
Middleware
Technologies via OMG
Standard Mappings
MDA tool applies a
standard mapping to
generate PlatformSpecific Model (PSM)
from the PIM. Code is
partially automatic,
partially hand-written.
Mapping to Multiple Deployment
Technologies
PlatformIndependent
Model
CORBA
Model
Java/EJB
Model
Map a PIM to Many
Middleware
Technologies via OMG
Standard Mappings
XML/SOAP
Model
Other
Model
MDA tool applies an
standard mapping to
generate PlatformSpecific Model (PSM)
from the PIM. Code is
partially automatic,
partially hand-written.
Generating Implementations
PlatformIndependent
Model
CORBA
Model
CORBA
Map PSM to application
interfaces, code, GUI
descriptors, SQL
queries, etc.
Java/EJB
Model
XML/SOAP
Model
Other
Model
Java/EJB
XML/SOAP
Other
MDA Tool generates all
or most of the
implementation code
for deployment
technology selected
by the developer.
Integrating Legacy & COTS
Reverse-engineer
existing application
into a model and
redeploy.
PlatformIndependent
Model
Legacy
App
COTS
App
Other
Model
Other
MDA Tools for reverse
engineering automate
discovery of models
for re-integration on
new platforms.
COTS(Commercial offthe-shelf)
Automating Bridges
PlatformIndependent
Model
CORBA
Model
MDA Tools
combine
application and
platform
knowledge to
generate bridges
XML/SOAP
Model
XML/SOAP
System
CORBA
System
Interop
Bridge
Bridge generation is
simplified by common
application models,
simplifying creation of
integrated applications
both within and across
enterprises.
MDA – Lifecycle Management
MDA Process所需元素




High level Model
Standard, well-defined language for Model
PIM to PSM transformation definition
Formal language for transformation
definition
 Tool for transformation
 Tool for transform PSM to code
MDA Benefits




Productivity
Portability
Interoperability
Maintenance and Documentation
System
 Frameworks,
Patterns  Open
Source
 MDA  Build
from
specifications
 Process 
Increase Iteration
Business
Increasing IT Performance
Vertical
Business
Industry-Specific APIs
Telco, Insurance
Horizontal
Business
Customer, Invoice
OMG Business Object
Application
Frameworks
Web State Mgmt.
Adapters, XML Parsers
Container
Model
Transaction Mgmt.
Activation, Persistence
AD must construct frameworks of prebuilt
code/components to support rapid development of
application services
Model Driven Architecture
Platform
Specific
Model
Platform
Independent
Model
PIM
Code
Model Driven Architecture
Platform
Specific
Model
Code
Platform
Independent
Model
PIM
Platform
Specific
Model
Code
Application on ECO platform
User
Interaction
Design Model
Business
Logic
Enterprise Core
Objects Platform
User
Interaction
Persistence
Windows .net
Design Model
Business
Logic
传统的开发环境
Modeling Environment
Together, Rose, ModelMaker..
UML Model
C#Builder
Presentation
Interface
Object
Object
Object
Logic
Logic
Logic
Object Interaction
Modeled by Designer / Architect
Generated / Regenerated from Model
Persistence
Implemented by Developer
Borland Enterprise Core Objects
Modeling Environment
Together, Rose, ModelMaker..
UML Model
C#Builder
UML
Presentation
Interface
Model
Object
Object
Object
Logic
Logic
Logic
Object Interaction
Persistence
Modeled by Designer / Architect
Implemented by Developer
Generated/Regenerated from Model
Model-Powered Framework
IObjectSpace
IObjectSpace
ObjectSpace IObject
ObjectSpace IObject
Object
Object
contents
contents
Runtime
Runtime
Model
Model
Object
Object
contents
contents
Object
Object
contents
contents
Object/Relational
Object/Relational
Mapper
Mapper
CLR
CLR
Frontend
Frontend
Class Person
{ Class Person
{
string;
Name:
string;
Name:
Building
Home:
Building
Home:
}
}
Class Building
{ Class Building
{
Residents:
Residents:
IPersonList
} IPersonList
}
參考書籍
MDA Explained: The
Model Driven
Architecture: Practice and
Promise Anneke Kleppe, Jos
Warmer, Wim Bast
Addison-Wesley, Paperback,
Published April 2003, 176
pages, md_xp_th_m_aa,
ISBN 032119442X
Model Driven
Architecture: Applying
MDA to Enterprise
Computing David S.
Frankel
Wiley, Paperback,
Published January 2003,
328 pages,
md_dr_rc_m_aa, ISBN
0471319201
Executable UML: A
Foundation for ModelDriven Architectures
Stephen J. Mellor, Marc J.
Balcer
Addison-Wesley,
Hardcover, Published May
2002, 368 pages,
xc_ml_fn_f_aa, ISBN
0201748045
老生常谈 : .NET和Java
Java/.NET的發展趨勢比較
Modeling
JB/EJB
IDE
Applet
Team Development
Java語言
IDE
ASP.NET
.NET語言
Design Pattern
Java/.NET的發展趨勢比較
MDA
New Component Model?
JDO
Design Pattern
MDA
oPath
Modeling
軟體開發世界發生了什麼事情?
OO
Java
Design
Pattern
Modeling
MDA
.NET
测试您的想法 !
测试您的想法 !
让我们从现场找一个范例
OK, 让我们现场做一个QA系统
问题是我们应该如何开始?
测试您的想法 !
 a :没人理我 ?
答案1
答案2 : 用VS.NET, 用C#Builder, Delphi, BCB?
答案3 :定义数据库 ,
答案4 :马上开始Coding
答案5 :你一定会告诉我!
答案6 :不会?
测试您的想法 !
Or, Are you thinking in
Modeling?
我们需要什么?
我們需要什麼?
我們需要什麼?
语言
工具/IDE
组件模型
Modeling
Design Pattern
企业资料存取
Profiling工具
我们需要什么?
高生产力 !
掌握系统的架构和开发 !
Understanding Software…
 Is code easy to
understand?
 Is code easy to
communicate?
Source code is
- Millions of lines of source
code
- Different languages
Value of Modeling
A picture is worth a thousand lines of code
Together® Value Proposition
• UML™ Modeling with LiveSource™
• Visualization with accuracy
• Documentation Generation
• Automated and always up-to-date
• Design Pattern Support
• Promote reuse and improve quality
• QA Audits & Metrics
• Improve quality and maintainability
UML™ Modeling with Together®
• Together® supports all 8 UML™ diagrams:
•
•
•
•
•
•
•
•
Use Case
Activity
Class
Sequence
Collaboration
Statechart
Component
Deployment
UML™ Modeling with LiveSource™
• Together® LiveSource™ technology:
• UML™ class elements are a live rendition of
underlying source
• Model to Code. Code to Model. Always in Sync.
Incremental
Code
Generator
LiveSource™
Together®
Parsing
Engine
Together® Documentation
Generation
• Model and code always in sync +
Documentation generated from model =
Documentation always accurate!
• Together® generates
•
•
•
•
HTML
RTF
TXT
PDF
• Custom template designer
Together® Design Pattern Support
• Reuse existing, trusted solutions
• Gang of Four (GoF) patterns
• Sun Java Center J2EE™ patterns
• Your own custom patterns!
Get Relaxed!
Shall We Take a Break?
We’ll have more fun
in a minute!
Together For .NET
C#Builder和MDA
Summary - ALM
Your competition may be fierce
Summary - ALM
But if you are Agile – the result will surprise them!
Q&A
Q&A