Post on 14-Nov-2014
description
transcript
Building Enterprise Building Enterprise Applications Using Visual Applications Using Visual StudioStudio®® .NET Enterprise .NET Enterprise ArchitectArchitect
AgendaAgenda
OverviewOverview Enterprise software Enterprise software
development processdevelopment process Enterprise architect toolsEnterprise architect tools
Provide architectural guidanceProvide architectural guidance Communicate application architectureCommunicate application architecture Capture business/data requirementsCapture business/data requirements Ensure application scalabilityEnsure application scalability Team developmentTeam development
OverviewOverview
Enterprise development is systematicEnterprise development is systematic Collaborative work environment Collaborative work environment Support for all roles essential Support for all roles essential Standards help – e.g., UML, XML, etc. Standards help – e.g., UML, XML, etc. Architectural guidance and reusable Architectural guidance and reusable
assets essentialassets essential
Enterprise Software Enterprise Software Development ProcessDevelopment Process EnvisioningEnvisioning
Requirements gathering, product visionRequirements gathering, product vision PlanningPlanning
Architectural/technology decisionsArchitectural/technology decisions DevelopingDeveloping
Software/database designSoftware/database design ImplementationImplementation Testing Testing Documentation Documentation
StabilizingStabilizing Deployment and maintenanceDeployment and maintenance
IT development projects are getting more IT development projects are getting more complex, larger, and more criticalcomplex, larger, and more critical
A poor application architecture can make A poor application architecture can make any platform perform poorlyany platform perform poorly
A good architecture only works if people A good architecture only works if people follow the rules when implementing itfollow the rules when implementing it
Good help is hard to find (and expensive!)Good help is hard to find (and expensive!) ““Best practices” are useless if no one Best practices” are useless if no one
follows themfollows them
Provide Architectural Guidance Provide Architectural Guidance Enterprise templatesEnterprise templates
Enterprise TemplatesEnterprise TemplatesWhat is it?What is it?
Enterprise TemplateEnterprise Template
Application Application Structure Structure (projects, (projects, code, etc.)code, etc.)
Policy Policy (TDL)(TDL)
Guidance Guidance (context (context & html)& html)
Things to IncludeThings to Include
Things to ExcludeThings to Exclude
Enterprise TemplatesEnterprise TemplatesFeatures and the Visual Studio .NET IDEFeatures and the Visual Studio .NET IDE
Toolbox & Menu ConstraintsToolbox & Menu Constraints
Initial Project StructureInitial Project Structure
Property ConstraintsProperty Constraints
Constrain AdditionsConstrain Additions
Policy Task List RemindersPolicy Task List Reminders
Dynamic GuidanceDynamic Guidance
Enterprise TemplatesEnterprise TemplatesAdd “best practices” to frameworksAdd “best practices” to frameworks
Organize structure for Organize structure for complex projectscomplex projects
Supply pre-built common Supply pre-built common implementationimplementation
Simplify IDE for newer developersSimplify IDE for newer developers Help avoid common mistakesHelp avoid common mistakes Predefine common property settingsPredefine common property settings ““Just in time” focused guidanceJust in time” focused guidance
demodemo
Enterprise TemplatesEnterprise Templates
Communicate Application Communicate Application ArchitectureArchitectureModeling using UMLModeling using UML
UML building blocksUML building blocks ElementsElements
Basic building blocks of a modelBasic building blocks of a model
RelationshipsRelationships Tie various “things” togetherTie various “things” together
DiagramsDiagrams Show interesting collections of “things”Show interesting collections of “things”
Modeling Using UMLModeling Using UMLDiagram typesDiagram types
StructuralStructural ClassClass
BehavioralBehavioral Use case, state chart, activity, sequence, Use case, state chart, activity, sequence,
collaborationcollaboration
ImplementationImplementation Component, deploymentComponent, deployment
Modeling Using UMLModeling Using UML
Generating Code from UML designGenerating Code from UML design Generate code into multiple Visual Studio languagesGenerate code into multiple Visual Studio languages Perform semantic error checking on diagrams and codePerform semantic error checking on diagrams and code
Reverse engineering Visual Studio projects Reverse engineering Visual Studio projects into designinto design
Generating wide variety of customizable reportsGenerating wide variety of customizable reports Publishing diagrams and models on the intranetPublishing diagrams and models on the intranet Documenting your Visual Studio projects in the form Documenting your Visual Studio projects in the form
of software architecture/designsof software architecture/designs
demodemo
UML ModelingUML Modeling
Capture Business Capture Business RequirementsRequirementsData ModelingData Modeling
Conceptual, logical, and physical modelsConceptual, logical, and physical models Leverage business domain experts with Object Leverage business domain experts with Object
Role ModelingRole Modeling
Design and program enterprise databases Design and program enterprise databases Visually design schema, tables, viewsVisually design schema, tables, views Visually develop stored procedures, SQL queries, Visually develop stored procedures, SQL queries,
user defined functionsuser defined functions Full support for both SQL Server and OracleFull support for both SQL Server and Oracle
Data ModelingData ModelingBusiness rules-based database designBusiness rules-based database design
Object Role Modeling (ORM)Object Role Modeling (ORM) Conceptual database design using natural Conceptual database design using natural
language facts and exampleslanguage facts and examples Logical and physical database models Logical and physical database models
automatically built based on natural automatically built based on natural language factslanguage facts
ORM isORM is UnderstandableUnderstandable ReliableReliable ExpressiveExpressive StableStable
Data ModelingData Modeling
Data ModelingData ModelingCreate an ER diagramCreate an ER diagram
StencilsStencils
Tables Tables windowwindow
Database Database Properties Properties
windowwindow
Data Modeling Data Modeling
Reverse engineer database schema to Reverse engineer database schema to create ER modelscreate ER models Drag tables (or views) onto diagram pageDrag tables (or views) onto diagram page Modify code and attributes of the modelModify code and attributes of the model
Validate your logical and physical dataValidate your logical and physical data Perform database/model Perform database/model
synchronizationsynchronization Generate physical database from your Generate physical database from your
data model using ‘Generate data model using ‘Generate Database’ wizardDatabase’ wizard
demodemo
Data ModelingData Modeling
Ensure Application Scalability Ensure Application Scalability Application Center TestApplication Center Test
Provide end-to-end performance testing Provide end-to-end performance testing of applicationsof applications Use XML to store test properties and dataUse XML to store test properties and data
Replicate tests and results with applicationReplicate tests and results with application Developers create testsDevelopers create tests Operations continues to use tests in productionOperations continues to use tests in production Common test framework throughout lifecycleCommon test framework throughout lifecycle
Application Center TestApplication Center TestTesting Web services and appsTesting Web services and apps
Creating testsCreating tests Manually – Visual Basic Script, JScript, etc.Manually – Visual Basic Script, JScript, etc. Browser recordBrowser record
Running testsRunning tests Set test parameters Set test parameters View run-time reportsView run-time reports Trace information at run-timeTrace information at run-time
Analyzing test resultsAnalyzing test results Tabular performance dataTabular performance data Custom graphsCustom graphs
demodemo
Testing With ACTTesting With ACT
Version Control SystemVersion Control SystemVisual SourceSafeVisual SourceSafe
Team supportTeam support Secure file sharing and coordinationSecure file sharing and coordination
Version controlVersion control Maintains audit trails for project files Maintains audit trails for project files
Software lifecycle managementSoftware lifecycle management Project branching, merging, historyProject branching, merging, history
Fully integrated with Visual Studio .NETFully integrated with Visual Studio .NET
SummarySummary
Provide architectural guidanceProvide architectural guidance Enterprise templatesEnterprise templates
Communicate application architectureCommunicate application architecture Software modelingSoftware modeling
Capture business requirementsCapture business requirements Data modeling Data modeling
Ensure application scalabilityEnsure application scalability Application center testApplication center test
Team development supportTeam development support Version control systemVersion control system
For More Information…For More Information…
MSDN Web site MSDN Web site msdn.microsoft.commsdn.microsoft.com
Visual Studio Web siteVisual Studio Web site msdn.microsoft.com/vstudiomsdn.microsoft.com/vstudio
Object Role Modeling resourceObject Role Modeling resource www.orm.net www.orm.net
Application Center Test resourceApplication Center Test resource www.microsoft.com/www.microsoft.com/applicationcenterapplicationcenter
DiscussionDiscussion
© 2002 Microsoft Corporation. All rights reserved.© 2002 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.