Presentation is loading. Please wait.

Presentation is loading. Please wait.

EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture

Similar presentations


Presentation on theme: "EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture"— Presentation transcript:

1 EMEA Beat Schwegler Architect Microsoft EMEA HQ http://blogs.msdn.com/beatsch/ Ingo Rammer Principal Consultant thinktecture http://www.thinktecture.com/ Software Factories Today

2 Two Main Issues Today Communicate Guidance and Experience Capture Intent

3 Intent Today

4 Guidance Today Context Free Guidance "Best Practices" Context Aware "Patterns" Often: Only context aware guidance is really applicable

5 Applying Guidance Today: Developer filters 100s or 1000s of sources (October 2005: blogs.msdn.com: 50.000 posts by 2000+ authors) Other issues: Guidance with different intention Guidance with different context Guidance based on different levels of experience Guidance with different degrees of correctness and applicability

6 1st Step A solution architect defines a set of guidance which is applicable for a certain project

7 Using Guidance shouldn't be Engineering Today it takes an engineering approach to use guidance Discovery, Evaluation, Prototyping, Trial- and-error Different sources of guidance Books, articles, weblogs, conferences, application blocks, source code fragments Employees, Vendors, consultants, universities,

8 Using a Fx shouldn’t be Engineering Let's look at an exemplary piece of guidance User Interface Process Application Block Created by Microsoft's PAG Team Implementation of MVC and other patterns Close to 140 pages of documentation Lots of interfaces and base classes to implement and extend

9

10 UIP: Sample Process

11 ... the process as XML <navigationGraph iViewManager="WinFormViewManager" name="Shopping" state="State" statePersist="SqlServerPersistState" startView="cart">

12 The culprit The shown UIP model is only used as documentation The "real" process flow has to be expressed as XML and C# source code Interfaces have to be implemented, base classes extended A lot of the original intent is lost in the transformation process...

13 Capturing Intent Modeling captures intent Source code: just implementation Most models are either One-way source to generate implementation Only be used for documentation What if the model were an artefact in the same way as a C# source code file?

14 Software Factory Schema schema schema

15 Architecture Frameworks Define viewpoints that identify and separate key stakeholder concerns Organize tools, process and content by viewpoint Relate and integrate life cycle phases, system components, and levels of abstraction Software Product Lines Architecture Frameworks Model Driven Development Guidance In Context

16 Software Architecture Interface design and functional factoring constitute the key intellectual content of software and are far more difficult to create or recreate than code. Peter Deutsch IEEE 1471 - Architecture Description Standards

17 A Rectangular Framework (Grid) A grid cannot express... variation because it is static relationships between non-adjacent viewpoints because it is rectangular a specific solution because it is generic A grid is a rectangular, static, generic view of a multi- dimensional, dynamic, domain-specific space

18 A Non-Rectangular Framework A graph of viewpoints that separates and interrelates concerns Business process, user interface layout, data access, logical database design A viewpoint captures information relevant to its stakeholders What activities are performed What guidance assets are used for each activity, and how to configure them What artifacts are involved, and how they are organized What types are involved, where they are defined, and how they interact Viewpoint X Viewpoint Y Viewpoint XZ Viewpoint Z Mapping Reference Transformation Traceability References Transformation Synch Constraint Validation Transformation

19 A Factory Schema Project Engineering Software Engineering Infrastructure Engineering Infrastructure Design and Provisioning System Deployment System Operation System Requirements Infrastructure Requirements Infrastructure Operation Business Engineering Business Requirements Business Operation Business Design System Development

20 System Development System Deployment System Operation Project Engineering System Requirements Business Design Software Engineering Business Requirements Software Contract Design System Design Application Development

21 Module Development Application Development System Development Software Contract Design System Design Application Development System Deployment System Operation System Requirements Application Implementation Application Specification Application Implementation Module Development

22 A Factory Schema Project Engineering Software Engineering Infrastructure Engineering Business Engineering System Development Infrastructure Design and Provisioning System Operation Business Requirements System Requirements Infrastructure Requirements Business Operation Infrastructure Operation Business Design System Deployment

23 Infrastructure Engineering System Deployment Infrastructure Design and Provisioning System Deployment Physical Deployment Design Logical Infrastructure Design Logical Deployment Design Physical Infrastructure Design Infrastructure Operation Infrastructure Provisioning

24 A Factory Schema Project Engineering Software Engineering Infrastructure Engineering Business Engineering System Development Infrastructure Design and Provisioning System Operation Business Requirements System Requirements Infrastructure Requirements Business Operation Infrastructure Operation Business Design System Deployment

25 System Design System Deployment Infrastructure Design and Provisioning System Deployment Physical Deployment Design Logical Infrastructure Design Logical Deployment Design System Operation Physical Infrastructure Design Infrastructure Operation Infrastructure Provisioning System Requirements

26 VS 2005 Tools for Architects Application Design ApplicationDesigner System Design SystemDesigner Infrastructure Design Logical Datacenter Designer Deployment Design DeploymentDesigner

27 Tools for Architects demo demo

28 Industrializing Software Development Software Product Lines Architecture Frameworks Model Driven Development Guidance In Context

29 What if...... you could take your model and let it become source code?

30 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.


Download ppt "EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture"

Similar presentations


Ads by Google