Title: Visual Studio Team System Application Life Cycle Management ALM Solution
1(No Transcript)
2Introduction to Visual Studio Team SystemDriving
Data Quality With Visual Studio Database Edition
- Adam Gallant
- Developer Solutions Technical Specialist
- adam.gallant_at_microsoft.com
- Blog http//blogs.msdn.com/adamga
3Agenda
- VSTS Background
- Database Pro Edition Functionality
- Integration
- Demo
- Considerations
- More Info
4Visual Studio Team SystemExpanding Visual Studio
across the Application Life Cycle
Developer
Database Professional
Designer
Architect
Tester
Business Analyst
IT / ProjectManager
Team Collaboration
Software Quality
Project Transparency
5Visual Studio Team System
6What are Team Editions?
- These are all FULL versions of Visual Studio
- Visual Studio Professional at the core
- Build any type of application (Web, Windows,
Device, etc) - They ADD specific tools to drive
- Quality
- Productivity
- New Capabilities
- Include CAL for TFS
7Conceptual Overview
Tuning Monitoring
- Difficult to Manage Change to the schema
- Production Database is one version of the truth
for Data and Schema - DBA doesnt have access to changes until he/she
has deploy or reject choice - Changes often made to production database and not
rolled back into test
Schema Changes
One Version of the Truth for Data and Schema
8Conceptual Overview
- Schema Change now managed in VSTS and TFS
- Production Database is now One version of the
truth only for Data - DBA doesnt have access to changes until he/she
has deploy or reject choice - One Version of the truth for Schema is Under
Source Control
Tuning Monitoring
One Version of the Truth for Data
- Changes can be rolled out in a scheduled, managed
way - Scripts allow administrators to mange change
updates
One Version of the Truth for Schema
- Offline
- Under Source Control
Schema Changes
9Key Themes
- Manage Database Schema Change
- Enable Version Control for Database schema
- Mitigate Risk of those changes
- Leverage the Sandbox
- Establish the Database Development Lifecycle (
DDLC ) - Support iterative development
- Incorporate the DDLC into the Software
Development Lifecycle ( SDLC ) - Holistic Application
10Off-line Development
- Import database schema to populate project from
existing database - Changes to schema traditionally have immediate
affect - With off-line project nothing changes until you
deploy the change
Create table AUCTION ( id int not null, title
varchar(25) not null, startDate DateTime not
null, length in not null)
11Creating a Project
- Represents the off-line database
- You are NOT connected to a live database!
- Simply a series of files collected together into
a single logical collection - The files represent the truth of your schema
- Connects to SCCI providers for versioning such as
Team Foundation Server - The database project is a first class project
along with the other VS project types ( C /
VB.NET / C, etc. )
12Test Data
- To create a solid foundation for testing we
support data generation - Deterministic always generate the same layout
- Matched to your schema and very customizable
- Extensible mechanism, build your own generators
distributions - Bottom Line Realistic values with representative
distributions
13Database Unit Testing
- Unit Testing helps ensure that changes do not
break existing code - Unit test designer is SQL focused
- Work in the language of your choice TSQL,
VB.NET, C - Builds on existing Team Test Unit Test
functionality - Integrate your database tests along side your
application unit tests - We can test the following
- Generate test stubs for these types
- Stored Procedures, Functions, Triggers
- Arbitrary SQL
14Refactoring
- Bring power of refactoring to SQL
- Cascading Change
- Update all dependent objects in database project
- Schema objects, Data generation, Unit Tests, SQL
Scripts - Preview all changes
- Make an atomic change
- Global Undo
- Rename
- Meet corporate standards
- Better express semantic intent clarity
15Build/Deploy
- Standard MSBuild task
- Configurations
- New vs. Incremental Updates
- Project properties for build
- Pre/Post Deployment scripts
- Build results in SQL script file
- Deploy
- Deploy via SQL query tool
- Deploy via MSBuild task
- SQLCMD command support
16Integration Into Other Tools
- Round-trip (full) integration with the latest
versions of Erwin - MSDN Webcast Using CA ERwin Data Modeler with
Visual Studio 2005 Team Suite for Database
Professionals (Level 200) - http//msevents.microsoft.com/cui/WebCastEventDeta
ils.aspx?cultureen-USEventID1032356139CountryC
odeUS
17Demo IDE Tour
18Testing Considerations
- Make sure you unit test (app code and db code)
against test data that represents ALL of the
possible value ranges the database can store - Eg Your consuming app displays AaZz09 type of
data, but your database can store unicode (dbcs)
data - What happens if a data load occurs and unicode
data gets populated? Does your app handle this
gracefully?
19Visual Studio Team System Team Suite
- Consider Team Suite if you need the functionality
of more than one role! - Costs the equivalent of 2 individual roles, but
you get all 4!
Premier version of Visual Studio Includes ALL
functionality in all Team Editions Simplest
Licensing Model Most Functional Model
20How do I get started?
- Evaluate the Team Editions today
- Trial Editions
- http//msdn2.microsoft.com/en-us/vstudio/products/
aa700831.aspx - Get free Basics Training!
- Modules, Hands-on Labs, fully configured Virtual
Image - http//www.microsoft.com/downloads/details.aspx?fa
milyid527E2A17-1DEA-4D0B-9484-6AE43D00E570displa
ylangen - Slides
- http//adamga.canitpro.ca
- Other VSTS Webcasts
- http//msdn.microsoft.ca/vswebcasts
21Other Resources
- Visual Studio Team System home page
- http//msdn2.microsoft.com/en-us/vsts2008/default.
aspx - Visual Studio Team System community portal
- http//vstsrocks.net
- Guidance
- Search www.codeplex.com for team system and
tfs - My Blog
- http//blogs.msdn.com/adamga