Download presentation
Presentation is loading. Please wait.
Published byAmbrose Booth Modified over 9 years ago
1
Tools for Architects and Future Directions in Modeling Beat Schwegler Architect, Enterprise Team Microsoft EMEA D&PE blogs.msdn.com/beatsch Arvindra Sehmi Architect & Head of Enterprise Team Microsoft EMEA D&PE www.thearchitectexchange.com/asehmi
2
2 Agenda Modeling and Methods Software Factories Tools for Architects Domain Specific Languages Summary
3
3 You all know what modeling is…
4
4 Spend a lot of time drawing loads of these…
5
5..throw them away and get on with the code But isn’t the code also a model? So what exactly do we mean by “model”? Using Microsoft.Fabriq. EnterpriseInstrumentation.Schema; namespace Microsoft.Fabriq.Util { /// /// /// This class provides unified /// This class provides unified /// management, eventing, … /// management, eventing, … /// /// public class Logger public class Logger { public static void LogErrorMessage( string message, int severity, string errorCode) public static void LogErrorMessage( string message, int severity, string errorCode) { ErrorMessageEvent.Raise( FabriqEvents.FabriqEventSource, message, severity, errorCode ); ErrorMessageEvent.Raise( FabriqEvents.FabriqEventSource, message, severity, errorCode ); } }}
6
6 Are our models “mathematical models”?
7
7 Are they “scale models”?
8
8 Are they “theoretical models”?
9
9 Definitely not this kind of model… Copyright: www.gucci.com
10
10 A software “model” is Partly about visualisation Abstraction for clarity Because picture worth a thousand words Sometimes about algorithms Expression in a convenient form Because compact and efficient Often a set of instructions A recipe Because can be automated
11
11 We need models because… We need to capture the “method” in the madness of software development? Bad Stuff Happens!
12
12
13
13
14
14 Agenda Modeling and Methods Software Factories Tools for Architects Domain Specific Languages Summary
15
15 Software Development as Craftsmanship Labor Intensive Generic Tools Generic Processes One off applications Hand stitched from scratch Minimal reuse Overruns, defects, security holes, project failures
16
16 Exploiting Commonality We already exploit economies of scale to automate production Stamping out many identical copies of a prototype Used to produce CDs/DVDs Does nothing to help development
17
17 Exploiting Commonality We can also exploit economies of scope Reuse designs & components Build many similar but distinct prototypes Key is supporting variability Define only the unique pieces of each system
18
18 Software Factories Domain-specific process Domain-specific tools & languages Domain-specific content Automate rote and menial tasks General-purpose IDEs become domain-specific software factories
19
19 Software Factories Pillars Process, Tools & Languages, Content, Automation Software Factories Visual Studio 2005 DSL Tools GAT Project Management Guidance Automation Modeling Platform MSF Processes (Agile / Formal) Trustworthy Metadata-Rich Platform
20
20 Agenda Modeling and Methods Software Factories Tools for Architects Domain Specific Languages Summary
21
21 Software Factories Vision BusinessRequirements BusinessProcess System Design ApplicationDesign ContractDesign DatabaseDesign DeploymentDesign OrchestrationDesign Viewpoints of an application ModelsPatternsProcessToolsFrameworks
22
22 Systems Design BusinessRequirements Two Designers And Mapping Use Case Designer ActivityDesigner
23
23 Application & Logical Datacenter Designers in Visual Studio 2005
24
24 Agenda Modeling and Methods Software Factories Tools for Architects Domain Specific Languages Summary
25
25 Domain Specific Languages In The Software Life Cycle The aim is to create languages… To understand or define requirements To understand or define design To generate parts of the solution To implement design patterns for specific frameworks and architectures To customize applications and application components To visualize existing systems …
26
26 Building A Designer For Visual Studio Toolbox PropertiesWindow ModelExplorer Validation Drawing surface with domain- specific notation
27
27 Microsoft Modeling Platform In Visual Studio Modeling Platform Architecture Domain Model Framework Design Surface FrameworkTemplateEngineShellFrame-workValidationFrame-work In-memory graph database with rich services (e.g., transactions, serialization…) and queries Extensible drawing surface with support for routing and auto-layout Artifact generation Checks constraints and guides user to resolve issues Visual Studio UI integration for components like Toolbox and menus
28
28 The Modeling Platform MicrosoftDesignerMicrosoftDesignerPartnerDesigner Your Own Domain-SpecificDesigner ? Microsoft Modeling Platform in Visual Studio ArchitectDeveloper Business Analyst Developer
29
29 A Simple Activity Language Attend DSL Session Download & Try out DSL Tools Drink Beer Fascinated by DSL Tools Alreadythirsty Amazed Thirsty now Thirsty now
30
30 Building A DSL Define the domain model Attend DSL Session Download & Try out DSL Tools Drink Beer
31
31 Building Use Case Designer with DSL Tools
32
32 Artifact Generation
33
33 Interaction Design using Statecharts www.statesoft.com
34
34 Agenda Modeling and Methods Software Factories Tools for Architects Domain Specific Languages Summary
35
35 Summary - Key Points Software Factories Consolidate implicit knowledge Increase productivity and predictability Reduce cost and risk DSLs Exploit commonality & support variability Generate executable domain specific designers based language description Goal Modeling support everywhere
36
36 What’s Next? DSL Tools are in an early stage CTP releases for Visual Studio 2005 available on the Web RTW for Version 1 planned for first quarter of 2006 Templates for Enterprise Modeling Version 2 planned for next release of Visual Studio Designer Integration Framework
37
37 Resources Book Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools, Jack Greenfield, Keith Short, et al, ISBN 0-471- 20284-3, Wiley Publishing Inc., 2004. Websites Software Factories http://msdn.microsoft.com/architecture/softwarefactories DSL Tools Homepage http://lab.msdn.microsoft.com/teamsystem/workshop/dsltools/ DSL Tools Community Forum http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=61 Visual Studio 2005 Team System http://msdn.microsoft.com/vstudio/teamsystem Visual Studio Team System Workshop Domain-Specific Language (DSL) Tools http://lab.msdn.microsoft.com/vs2005/teamsystem/workshop/ NewsgroupsMicrosoft.private.whidbey.teamsystem.architectMicrosoft.private.whidbey.teamsystem.architect.modeling
38
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.