dev337 modeling distributed enterprise applications using uml in visual studio.net david keogh...
TRANSCRIPT
DEV337
Modeling Distributed Enterprise Applications Using UML in Visual Studio .NET
David KeoghProgram ManagerVisual Studio Enterprise Tools
Agenda
Why Model?
Working with UML
Generating Code
Reverse Engineering Code
Generating Reports
Session Prerequisites
Experience developing Desktop or Web Applications on .NET
Experience with Visual C#™, Visual C++®, Visual Basic®, or Visual Basic .NET
Level 200Level 200
Quick Usage Survey
How many of you…
1. Rigorously use models in development?
2. Use model diagrams to understand?
3. Illustrate key parts of software architecture using models?
4. Never use models?
ModelingWhy Model?
Better understand potential risks prior to building the system
Specify structure or behavior of a system, and communicate it to others
Template for constructing a system, and guiding others in using the system
Document decisions
Visio Enterprise for Visio Enterprise for ArchitectsArchitects
UML Model ++UML Model ++
Database Model ++Database Model ++
Gantt ChartGantt Chart
Org ChartOrg Chart
UML UML ModelModel
Database Database ModelModel.etc.etc
Visio Visio ProfessionalProfessional
Visio for Enterprise Architects
VisioVisioEnginEngin
eeVisio Visio StandardStandard
Basic Basic DiagramDiagram
Basic Basic FlowchartFlowchart
Basic Basic NetworkNetwork.etc.etc
ModelingEnterprise Architect Capabilities
UML Software ModelingFull Support for the UML 1.2 Modeling Specification
Reverse Engineer UML from existing Code
Generate customizable code skeletons for Visual Basic, C++ and C#
Automatic semantic error checking
Customizable UML reports
Working with UMLUML Defined
UML is a language for:VisualizingSpecifyingConstructingDocumenting
the artifacts of a software-intensive systemUML is an open standardBuilding blocks are elements, relationships and diagrams
Modeling using UMLDiagram Types
StructuralClass
BehavioralUse Case, State Chart, Activity, Sequence, Collaboration
ImplementationComponent, Deployment
Working with UMLClass Diagram
«uses»«uses» «uses»«uses»
«uses»«uses»
«uses»«uses»
defaultdefault categoriescategories bookbook
searchresultssearchresultssearchsearch
Working with UMLUse Case Diagrams
Use cases are commonly used to:
Model the context of a system
Model the requirements of a system
Internet CustomerInternet Customer
Customer Account Customer Account ManagementManagement
Purchase BooksPurchase Books
Product Catalog Product Catalog SearchSearch
Working with UMLSequence Diagrams
Sequence diagrams are commonly used to:Model flows of control by time ordering
: Web::book: Web::book : BusinessFacade::ProductSystem: BusinessFacade::ProductSystem : DataAccess::Books: DataAccess::Books
GetBooksByISBN()GetBooksByISBN()
GetBooksByAuthor()GetBooksByAuthor()
GetBooksByNaturalLanguage()GetBooksByNaturalLanguage()
GetBooksBySubject()GetBooksBySubject()
GetBooksByTitle()GetBooksByTitle()
GetBookById()GetBookById()
Working with UMLAdditional Diagrams
Collaboration diagrams are commonly used to:Model flows of control by organization
State chart diagrams are commonly used to:Model reactive objects
Activity diagrams are commonly used to:Model a workflow or an operation
Component diagrams are commonly used to:Model source code, executable releases, physical databases, adaptable systems
Deployment diagrams are commonly used to:Model embedded systems, client/server systems, fully distributed systems
Working with UMLWorking with UMLDemo #1Demo #1
demodemo
Generating CodeThe Basics
Enterprise Architect allows you to:Generate code for specific classes
Generate code as part of a new project Windows® Forms, ASP .NET, Class Library, Web Service, etc.
Generates code in a specific language:C#
C++
Visual Basic .NET
Generate code based on code templates
Generating CodeOperations
Operations can be generated as:Property
Procedure
Event
Constructor or Destructor
Specify location for individual class files that are generated
Preview pane to view the code that will be generated
Code Templates for Classes, Attributes, Operations, etc.
Generating CodeError Checking
UML Diagram are also checked for two types of errors:
Semantic
Code
Semantic errors include missing and incomplete information related to the diagram
Code errors include errors that could prevent generated code from compiling successfully
Generating CodeGenerating CodeDemo #2Demo #2
demodemo
Reverse EngineeringBasics
Integrated into Visual Studio® .NET Enterprise
Project | Visio UML | Reverse Engineer
Visio UML Add-in toolbar button
Specify location and file name
New Visio model created Classes ready to be used in diagrams
Visio diagram added to Solution Items
Reverse EngineeringReverse EngineeringDemo #3Demo #3
demodemo
Generating ReportsBasics
UML | Reports menu
Allows you to generate a wide variety of reports
Static Structure
State Chart
Component
Deployment
Activity
Report presentation is customizable
Generating ReportsReport Contents
You can limit the scope of the reportBase the report on:
Active diagramEntire UML Model
Specify object categories to includeEach report has its own categoriesEach category has its own level of detail
Choose custom separators for each new models, packages, components, etc.UML Reports can be customized
Generating ReportsAdditional Reporting Options
Save UML diagrams as a web pageSave UML diagrams as a web page HTML frame formatHTML frame format Tabs for navigating multiple Tabs for navigating multiple
diagramsdiagrams Embed diagrams in existing Embed diagrams in existing
frames frames Easy to publish information on an Easy to publish information on an
IntranetIntranet Print or preview UML diagramsPrint or preview UML diagrams
Generating ReportsGenerating ReportsDemo #4Demo #4
demodemo
Session SummaryModel driven development: mechanism to ensure consistent, repeatable architectures in application developmentUML methodology promotes model driven developmentVisual Studio .NET Enterprise Architect provides:
Semantic model creationCode generationReverse engineeringReport generation
For More Information…Visual Studio .NET Enterprise
http://msdn.microsoft.com/vstudio/productinfo/enterprise/default.aspx
XMI Export available from http://msdn.microsoft.com/downloads/(search on XMI export)
MSDN and Visual Studio .NEThttp://msdn.microsoft.com
http://msdn.microsoft.com/vstudio
GotDotNet communities on architecture and design
http://gotdotnet.com/team/architecture/
More on Application Modeling: HOL-DEV24
Community Resources
Community Resourceshttp://www.microsoft.com/communities/default.mspx
Most Valuable Professional (MVP)http://www.mvp.support.microsoft.com/
NewsgroupsConverse online with Microsoft Newsgroups, including Worldwidehttp://www.microsoft.com/communities/newsgroups/default.mspx
User GroupsMeet and learn with your peershttp://www.microsoft.com/communities/usergroups/default.mspx
evaluationsevaluations
© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.