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

Slides:



Advertisements
Similar presentations
Connected Health Framework
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
UML Static diagrams. Static View: UML Component Diagram Component diagrams show the organization and dependencies among software components. Component:
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
PERTEMUAN 7 Copyright © 2002 Pearson Education, Inc.
Tom Hollander Solution Architect Solutions Development Centre Microsoft Australia ARC308.
DEV365 Visual Studio Team Edition for Software Architects: Overview Alex Torone Lead Program Manager Enterprise Tools Microsoft Corporation.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Object Oriented Analysis and Design Using the UML
Tools for Architects and Future Directions in Modeling Beat Schwegler Architect, Enterprise Team Microsoft EMEA D&PE blogs.msdn.com/beatsch Arvindra Sehmi.
What is Software Architecture?
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
OFC302 Building Smart Document Solutions in Word & Excel Martin Sawicki Lead Program Manager.
ESB Guidance 2.0 Kevin Gock
DEV334 Creating Application Starting Points & Sharing Best Practices with Enterprise Templates Marc Gusmano Director of Emerging Technologies The Information.
Free Mini Course: Applying SysML with MagicDraw
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Rational Unified Process Fundamentals Module 4: Disciplines II.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
Copyright © 2013 Curt Hill The Zachman Framework What is it all about?
POSTECH DP & NM Lab. (1)(1) POWER Prototype (1)(1) POWER Prototype : Towards Integrated Policy-based Management Mi-Joung Choi
Domain-Specific Development Stuart Kent, Senior Program Manager, DSL Tools, Visual Studio Team System, Microsoft.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
DEV337 Modeling Distributed Enterprise Applications Using UML in Visual Studio.NET David Keogh Program Manager Visual Studio Enterprise Tools.
Visual Studio 2005 Team System Winning the testing space with advanced testing tools Eric Adams Program Manager Visual Studio 2005 Team System Microsoft.
1 Introduction to Software Engineering Lecture 1.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Visual Studio 2005 Team Edition for Software Architects: Developing Service-Oriented Systems Bill Gibson Senior Program Manager Enterprise Tools Microsoft.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Microsoft Australia Security Summit Design for Operations Nigel Watson, Microsoft Australia David Lemphers, TeamForce Nigel Watson, Microsoft Australia.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Software Factories : Assembling Applications with Patterns, Models, Frameworks and Tools Steve Cook Architect Visual Studio.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
ARC411 Domain Specific Language Tools For Model-Driven Development In Microsoft Visual Studio 2005 Jochen Seemann Program Manager Enterprise Tools Microsoft.
INTERESTED IN SHAREPOINT?...What should I be doing about?
Visual Studio for Software Architects and Future Directions in Modeling Tools Jochen Seemann TLN311 Program Manager Microsoft Corporation.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools Jack Greenfield Architect Enterprise Tools Microsoft Corporation.
Systems Architectures System Integration & Architecture.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Software Factories Steve Cook Architect Enterprise Tools, Visual Studio Microsoft Corporation.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Building Enterprise Applications Using Visual Studio®
Software Verification and Validation
Enterprise Library Overview
Modeling & Messaging for Connected Systems
Tech Ed 2004 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express.
DAT381 Team Development with SQL Server 2005
Jochen Seemann Program Manager Enterprise Tools Microsoft Corporation
Mark Quirk Head of Technology Developer & Platform Group
From Use Cases to Implementation
Contexualized Data In Document Authoring
Presentation transcript:

EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture Software Factories Today

Two Main Issues Today Communicate Guidance and Experience Capture Intent

Intent Today

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

Applying Guidance Today: Developer filters 100s or 1000s of sources (October 2005: blogs.msdn.com: posts by 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

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

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,

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

UIP: Sample Process

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

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...

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?

Software Factory Schema schema schema

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

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 Architecture Description Standards

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

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

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

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

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

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

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

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

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

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

Tools for Architects demo demo

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

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

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