APPENDIX Useful Links and References

In this appendix, you'll find useful references and links, including HTML links, books, and Official Curriculum (MOC) material. The listings include cross-references to where the links and references are mentioned in this book (where applicable). The links and references are organized into the following categories:

• Unified Modeling Language (UML)

• Visual Basic .NET (VB .NET)

• C#

• Microsoft Salutions Framework (MSF)

• Visio

• Visual Studio .NET (VS. NET) Euterprise

• Miscellaneous

901 Appendix UML Links and References

Table A-1. UML Linksand References Link Description Chapter Reference http://www.omg.org/uml Object Management Chapter 4, opening Group (OMG) UML area section

http://www.omg.org OMG information on Chapter 1, "ER and ORM UML version 2.0 Diagrams" sidebar; Chapter 3, "Going Public with OMG" section; Chapter 19, "UML Version Support" section

http://www.objectsbydesign.com/ UML products by price Chapter 19, "Cost" section tools/umltools_byPrice. http://www.magicdraw.com Information about Chapter 12, "Evaluating MagicDraw, a UML model- VEA" sidebar ing tool from No Magie http://www-931.ibm.com/bin/cp/ UML for Database Design, driver.cgi;jsessionid=OOOOWPxGHNSI a Webcast from IBM a2V3YavqxNuHUv1:v387ggss?tn=28722_ Rational 10TR 1IN http://www.omg.org/mda/webcast/ OMGWebcast omg_webcast_presentation.htm presentation: "Build it Better, Faster, Cheaper," three Webeasts aimed at UML2.0 http: I /webcast. cern. ch/Projects/ Introduction to the UML, WeblectureArchi ve/ deacon/vstr1. ram a 90 minutes long UML introduction Webcast

902 Useful Links and References VB .NET Links and References

Table A -2. VB .NET Links and References Link Description Chapter Reference

http: I lmsdn. microsoft. comllibrary I VB language concepts; Chapter 4, "Packages" default.asp?url=llibrarylen-usl nannespaces section vbcn?lhtmllvaconNamespaces.asp

news:llmsnews.microsoft.coml Official VB .NET language Chapter 6, "Choosing a microsoft.public.dotnet.languages.vb newsgroup Single Solution or Multiple Solutions" section

http:llwww.gotdotnet.comlteamlvbl VB .NET sannple Chapter 1, "Coding VBSampleGuidelines.htm guidelines Conventions" sidebar

C# Links and References

Table A -3. C# Links and References Reference Link Chapter Reference

Official C# language .NET news: I lmsnews. microsoft. coml Chapter 6, "Choosing a newsgroup microsoft. public. dotnet .languages. Single Solution or csharp Multiple Solutions" section

C# and the .NETPlatform, http:llwww.apress.comlbookl Second Edition, bookDisplay.html?biD=129 Andrew Troelsen (Apress, 2003; ISBN: 1590590554)

Programming C#, Gary http:llwww.apress.comlbookl Cornell (Apress, 2003; bookDisplay.html?biD=60 ISBN: 1590590007)

A Programmer's Introduc- http: I lwww. apress. comlbookl tion to C#, Second Edition, bookDisplay. html?biD=83 Erik Gunnerson (Apress, 2001; ISBN: 1893115623)

903 Appendix MSF links and References

Table A-4. MSF Linksand Heferences Link Description Chapter Reference http:llwww.microsoft.comltechnetl MSF on TechNet Chapter 2, "The Microsoft treeviewldefault.asp?url=ltechnetl Salutions Framework itsolutionsltandplinnsolldefault.asp Design Process" section http:llmsdn.microsoft.comlpractices Microsoftpatterns Chapter 2, "The Microsoft and practices Salutions Framework Design Process" section

http: I lwww. mieresoft. comltechnetl MSF materials Chapter 19, "Comparing i tsolutionsltechguidelmsf I defaul t. mspx and services MSF to RUP" section; Chapter 20, opening section http:llwww.standishgroup.coml Extreme Chaos (Project Chapter 20, "Project sample_researchiPDFpagesl Failure) article Failure: Most Projects are extreme_chaos.pdf a Failure" section http:llwww-306.ibm.comlsoftware/ IBM Rational product Chapter 2, "Gathering awdtoolslrup overview Requirements" section; Chapter 20, "Process Model" section http://msevents.microsoft.com/CUI/ MSDNWebcast: EventDetail.aspx?EventiD=l032249578& Microsoft Salutions Culture=en-US Framework overview: Leveraging Microsoft's best practices for planning, building, and deploying a variety of technology solutions• Level200

904 Useful Links and References Visio Links and References

TableA-5. Visio Linksand References Link Description Chapter Reference http://www.microsoft.com/office/ Visio 2003 edition Chapter 1, "Taking a visio/prodinfo/editions.mspx comparison Quick Look at Visio" section; Chapter 12, opening section http://www.microsoft.com/office/ VEA 2003 and Visio 2002 Chapter 1, "Taking a visio/prodinfo/compare.mspx Professional comparison Quick Look at Visio" section; Chapter 12, opening section http://www.microsoft.com/downloads/ Visio Viewer 2003 Chapter 1, "Taking a details.aspx?FamilyiD=3fb3bdsc• download Quick Look at Visio" fed1-46cf-bdS3- section; Chapter 12, da2363Sab2df&Displaylang=en "What About Creating Reports for the Other UML Diagrams?" section

http://www.microsoft.com/office/ Visio 2003 trial version Chapter 1, "Taking a visio/prodinfo/trial.mspx. Quick Look at Visio" section http://www.amazingvisio.com/ Visio background pages Chapter 7, "Versioning visio_HowTo_BackgroundPage.htm Your Models" section http://msdn.microsoft.com/library/ Microsoft Visio Chapter 19, "Object default.asp?url=/library/en-us/ object model Model" section devref/object.asp

905 Appendix VS .NET Enterprise Links and References

Table A-6. VS .NET Enterprise Linksand References Link Description Chapter Reference http: I lmsdn. mieresoft. comlvstudiol Visual Studio defaul t. aspx development

http:llmsdn.microsoft.comlvstudiol Visual Studio Industry Chapter 10, "Choosing a extend Partner Program (VSIP) Help Collection" section

http:llmsdn.microsoft.comlvstudiol Microsoft's upcoming Chapter 12, "Evaluating productinfolroadmap.aspx#whidbey developer tools VEN' sidebar

http:llsupport.microsoft.coml Visual SourceSafe log file Chapter 11, "Database default.aspx?scid=kb;en-us;157714 storage Polders and Files" section

http:llmsdn.microsoft.comlvstudiol Addons and components Chapter 11, "Visual previouslssafeldownloadsladdon for Visual SourceSafe SourceSafe Extras" sidebar

http:llwww.sourcegear.comlsosl SourceGear SourceüffSite Chapter 11, "Visual index.asp tool SourceSafe Extras" sidebar

http:llmsdn.microsoft.comllibraryl Microsoft Visual Chapter 11, "Best ?url=/librarylen-usldnvsslhtm11 SourceSafe best practices Practices for Using Source vssbest.asp?frame=true Control" section

http:llmsdn.microsoft.comllibraryl Visual Studio's Register Chapter 15, "Adding default.asp?url=llibrarylen-usl property Windows Gonfiguration vsintro71htmll Files" section vxgrfregisterproperty.asp

http: I lmsdn. mieresoft. comlvstudiol VS .NET Bootstrapper Chapter 15, "Including the downloadsltoolslbootstrapper download and overview .NET Framework" section

906 Useful Linksand References Miscellaneous Links and References

Table A -7. Miscellaneous Linksand References Topic Link Description Chapter Reference Application Center http://www.microsoft.com/ ACTversion Chapter 13, Test (ACT) applicationcenter bundled with "Introducing ACT" Microsoft section Application Center 2000 Code http://msdn.microsoft.com/ Common Chapter 1, "Coding conventions library/default.asp?url=/ Language Conventions" library/en-us/cpguide/html/ Specification sidebar cpconwhatiscommonlanguagespec ification.asp Code http://msdn.microsoft.com/ Value type usage Chapter 1, "Coding conventions library/default.asp?url=/ guidelines Conventions" library/en-us/cpgenref/html/ sidebar cpconvaluetypeusageguidelines .asp Code http://msdn.microsoft.com/ Coding techniques Chapter 1, "Coding conventions library/default.asp?url=/ Conventions" library/en-us/vsent7/html/ sidebar vxconcodingtechniques.asp COM+ http://msdn.microsoft.com/ COM+Shared Chapter 5, library/default.asp?url=/ Property Manager "Stateless Classes" library/en-us/cossdk/htm/ sidebar pgservices_spm_sstu.asp Customhelp http://msdn.microsoft.com/ Microsoft HTML Chapter 10, library/default.asp?url=/ Help 1.4 SDK "Creating Custom library/en-us/htmlhelp/html/ Help Topics" vsconprjcmp.asp section Database/ data http://otn.oracle.com/tech/ Oracle .NET data Chapter6, access windows/Oracle_dotnet.pdf provider "Choosing Data Access" section Database/ data http://support.microsoft.com/ Webcaston Chapter2, access servicedesks/webcasts/ applying "Modeling the wco6o6oo/wc060600.asp?fr=1 normalization to Physical Database" your database section

907 Appendix

Table A-7. Miscellaneous Linksand References (Continued) Topic Link Description Chapter Reference Databasel data http://www.mysql.com/ MySQL native Chapter6, access articles/dotnet/#ADO.NET .NETdata "Choosing Data providers Access" section

Databasel data http://www.apress.com/book/ Database Pro- Chapter 1, access bookDisplay.html?biD=lOO gramming with VB "Creating the .NET, 2nd Edition, Database Model Carsten Thomsen Diagram'' section; (Apress, 2002; ISBN: Chapter2, 1590590325) "Modeling the Physical Database" section; Chapter 6, "Choosing Data Access" section

Databasel data http://www.apress.com/book/ Database Pro- Chapter 1, access bookDisplay.html?biD=63 gramming with C#, "Creating the Carsten Thomsen Database Model (Apress, April2002; Diagram" section; ISBN: 1590590104) Chapter6, "Choosing Data Access" section Databasel data http://www.apress.com/book/ .COM and .NET Chapter 1, access bookDisplay.html?biD=81 Interoperability, "Creating the Andrew Troelsen Database Model (Apress, 2002; ISBN: Diagram'' section; 1590590112) Chapter6, "Choosing Data Access" section Defect tracking http://www.axosoft.com/ Axosoft OnTime Chapter6, OnTime.htm Defect Tracking "Defects" section andFeature Management tool

Defect tracking http: I lwww.compuware.coml Compuware Chapter6, products I devpartner I DevPartner "Defects" section 1969_ENG_2003.htm TrackRecord application

Defect tracking http://www.testingfaqs.org/ List of defect Chapter6, t-track.htm tracking tools "Defects" section

908 Useful Links and References

Table A-7. Miscellaneous Linksand References (Continued) Topic Link Description Chapter Reference Deployrnent http://msdn.microsoft.com/ Active Directory Chapter 15, library/default.asp?url=/ deployrnent "Deploying to library/en-us/dv_vstechart/ Multiple Target html/vstchdeployingvsusing Machines" section activedirectory.asp

Deployrnent http://support.microsoft.com/ Microsoft Systems Chapter 15, default.aspx?scid=kb; Management "Deploying to en-us;327792 Server deployrnent Multiple Target Machines" section

Deployrnent http://www.wise.com/ Wise for Visual Chapter 15, wfvsn.asp?bhcp=l Studio .NET tool "Investing in a Third-Party Product" section

File attributes http://support.microsoft.com/ Dsofile (tool for Chapter 15, "File ?kbid=224351 editing Office Attributes" section document properties from VB andASP) download

Instrumentation http://msdn.microsoft.com/ Windows Chapter6, library/default.asp?url=/ Management "Instrumentation'' library/en-us/cpguide/html/ Instrumentation section cpconbrowsingthewmischema.asp (WMI)

Instrumentation http://www.microsoft.com/ Euterprise Chapter6, downloads/ Instrumentation "Instrumentation" details.aspx?-displaylang= Framework (ElF) section en&familyid=80DF04BC-267D- download 4919-8BB4- 1F84B7EB1368&displaylang=en

lntemationalization http://www.apress.com/book/ Intemationalization Chapter 15, and Localization bookDisplay.html?biD=62 and Localization "Adding Windows Using Microsoft Satellite .NET, Nick Assemblies" Symmonds section (Apress, 2002; ISBN: 1590590023)

909 Appendix

Table A -7. Miscellaneous Linksand References (Continued) Topic Link Description Chapter Reference

JavaScript http://www.oreilly.com/ ]avaScript: The Chapter 13, catalog/jscript4/index.html Definitive Guide, "Introducing ACT" 4th Edition, David section Flanagan (O'Reilly &Associates, 2001; ISBN: 0596000480)

.NET Framework http://msdn.microsoft.com/ Application Chapter 15, library/default.asp?url=/ domains overview "Setting Up the library/en-us/cpguide/html/ Remote cpconapplicationdomainsoverview Application" .asp section

.NET Framework http://msdn.microsoft.com/ Finalize and Chapter 17, library/default.asp?url=/ Dispose "Setting Operation library/en-us/cpgenref/html/ implementation Types and Adding cpconFinalizeDispose.asp Operations" section

.NET Framework http://www.microsoft.com/ Localized.NET Chapter 15, downloads/ Framework "Localized .NET details.aspx?familyid= Version 1.1 Framework" 262D25E3-FS89-4842-8157- redistributable section 034D1E7CF3A3&displaylang=en packages download

Rational Unified http://www-106.ibm.com/ A simplified Chapter 19, Process (RUP) developerworks/rational/ approach to RUP "Comparing MSF library/354.html to RUP" section

Rational Unified http://www-136.ibm.com/ RUP resources Chapter2, Process (RUP) developerworks/rational/ "Gathering products/rup Requirements" section; Chapter 19, "Comparing MSFtoRUP" section; Chapter 20, "Does MSF Work with UML, and VB .NET or C#?" section

910 Useful Links and References

Table A-7. Miscellaneous Linksand References (Continued) Topic Link Description Chapter Reference IBM Rational XDE http://www.rational.net Rational Chapter 18, "Learn Developer MoreAbout Network Rational XDE" section IBM Rational XDE http://www-106.ibm.com/ Free Rational Chapter 18, "Learn developerworks/rational/ Developer MoreAbout library/1053.html Network trial Rational XDE" membership section IBM Rational XDE http://www-136.ibm.com/ Technical Chapter 18, "Learn developerworks/rational Resources and best MoreAbout practices for the Rational XDE" Rational software section platform IBM Rational XDE http:// RationalXDE trial Chapter 18, "Learn www14.software.ibm.com/ download MoreAbout webapp/download/ RationalXDE" preconfig.jsp?id=2003-09- section 18+15%3A02%3A18.447448R&cat=s wdev&fam=&s=c&S TACT=TrialsAn dBetas&S CMP= Registry Editor http://www.microsoft.com/ Overview ofthe Chapter 15, windows2000/en/advanced/help/ Registry Editor "Registry Editor" under_stand_reged.htm section Sampiecode http://www.apress.com/book/ Download this download.html book's sample code and other information Security http://msdn.microsoft.com/ HowASP.NET Chapter 15, ".NET library/default.asp?url=/ security works Framework library/en-us/cpguide/html/ Security cpconhowaspnetsecurityworks. Mechanisms" asp section Security http://msdn.microsoft.com/ Introduction to Chapter 15, ".NET library/default.asp?url=/ code-access Framework library/en-us/cpguide/html/ security Security cpconintroductiontocodeaccess Mechanisms" security.asp section

911 Appendix

Table A-7. Miscellaneous Linksand References (Continued) Topic Link Description Chapter Reference Security http://msdn.microsoft.com/ Introduction to Chapter 15, ".NET library/default.asp?url=/ role-based security Framework library/en-us/cpguide/html/ Security cpconintroductiontorole- Mechanisms" basedsecurity.asp section Security http://msdn.microsoft.com/ Strong-named Chapter 15, library/default.asp?url=/ assernblies "Strang Names" library/en-us/cpguide/html/ section cpconstrong- namedassemblies.asp Security http://msdn.microsoft.com/ Obfuscation Chapter 15, library/default.asp?url=/ introduction "Obfuscation'' library/en-us// section dotf3rax.asp Security http://msdn.microsoft.com/ Authentieode Chapter 15, library/default.asp?url=/ overview and "Authenticode" workshop/security/authcode/ tutorials section authenticode_ovw_entry.asp

Security http://msdn.microsoft.com/ Code-access right Chapter 15, msdnmag/issues/01/02/CAS/ enforcement ''Application default.aspx Download Cache" section Security http://www.apress.com/book/ .NET Security and Chapter 15, ".NET bookDisplay.html?biD=104 Cryptography, Framework Jason Bock et al Security (Apress, 2002; Mechanisms" ISBN: 1590590538) section Setup http://www.microsoft.com/ .NET Framework Chapter 15, downloads/ Setup.exe "Including the details.aspx?Familyid=BF253CFD Bootstrapper .NET Framework" -1EFC-4FCS-BA7E- sample section 6A6F21403495&displaylang=en Testing http://msdn.microsoft.com/ Tools for capacity Chapter6, library/default.asp?url=/ planning "Testing" section library/en-us/dnbda/html/ bdadotnetarch081.asp

912 Useful Linksand References

Table A-7. Miscellaneous Linksand References (Continued) Topic Link Description Chapter Reference Testing http://msdn.microsoft.com/ Instrumentation, Chapter6, library/default.asp?url=/ testing, and "Testing" section library/en-us/dnvsent/html/ deployment foodmovers6.asp information

Testing http://www.nunit.org NUnit information Chapter6, "Testing" section

Testing http://www.xprogramming.com/ Unit testing, Beck Chapter6, testfram.htm Testing Framework "Testing" section

VBScript http://www.oreilly.com/ VBScript in a Chapter 13, catalog/vbscriptian2/ Nutshell, 2nd "Introducing ACT" index.html Edition, Paul section Lomaxetal (O'Reilly & Associates, 2003; ISBN: 0596004885)

Versioning http://llamasery.com/forum/ Article about Chapter 15, index.php?s=9a57bOa197c4b88367 versioning "Application 40ffeaba49c491&showtopic=3067 Versioning" section

Versioning http://msdn.microsoft.com/ Assembly Chapter 15, library/default.asp?url=/ versioning "Application library/en-us/cpguide/html/ Versioning" cpconassemblyversioning.asp section Versioning http://msdn.microsoft.com/ Windows lustaller Chapter 15, library/default.asp?url=/ version "Application library/en-us/msi/setup/ Versioning" version.asp section

Versioning http://nenya.ms.mff.euni.cz/ Versioning model Chapter 15, publications/Gergic- for component- "Versioning" Versioning.pdf based software section

Versioning http://www.creativyst.com/ Creativyst Chapter 15, Doc/Std/StableSW/vlOa/ Software stability "Application StabSWOl.htm ratings Versioning" section

913 Appendix

TableA-7. Miscellaneous Linksand References (Continued) Topic Link Description Chapter Reference Versioning http://www.lgc.com/resources/ Landmark's Chapter 15, Software%20Version%20Scheme. software "Application doc numbering Versioning" scheme section Visual Basic 6 http://support.microsoft.com/ Download runtime Chapter 15, default.aspx?scid=http:// files '~dding Windows support.microsoft.com:8o/ Gonfiguration support/kb/articles/Q192/4/ Files" section 61.ASP&NoWebContent=1

Windows http://www.apress.com/book/ A Programmer's Chapter 2, "The Distributed bookDisplay.html?biD=44 Introducdon to WindowsDNA Internet Windows DNA, Approach" section Applications Christian Gross Architecture (Apress, 2000; (Windows DNA) ISBN: 1893115178) Windows lustaller http://msdn.microsoft.com/ Windows lustaller Chapter 15, "The library/default.asp?url=/ introduction Microsoft library/en-us/vsintro7/html/ Windows lnstaller" vbconwhatyouneedtoknowaboutmi section crosoftwindowsinstaller.asp Windows lustaller http://msdn.microsoft.com/ Windows lustaller Chapter 15, 1ibrary/default.asp?url=/ property reference "Conditions" library/en-us/msi/setup/ section property_reference.asp Windows lustaller http://msdn.microsoft.com/ Windows lustaller Chapter 15, library/default.asp?url=/ conditional "Conditions" library/en-us/msi/setup/ Statement syntax section conditional_statement_syntax. asp Windows lustaller http://msdn.microsoft.com/ Windows lustaller Chapter 15, "The library/default.asp?url=/ redistributable for Microsoft library/en-us/vsintro7/html/ Windows 95, 98, Windows lnstaller" vbconwhatyouneedtoknowaboutmi and Me download section crosoftwindowsinstaller.asp

914 Useful Linksand References

Table A-7. Miscellaneous Linksand References (Continued) Topic Link Description Chapter Reference Windows http://msdn.microsoft.com/ Windows 2000 Chapter 13, Performance library/default.asp?url=/ Performance "Setting Test Counters library/en-us/counter/ Counters for Properties" section default.asp analyzing Web serverand application performance

Windows shell http://msdn.microsoft.com/ Verbs andflle Chapter 15, "File library/default.asp?url=/ associations JYpes Editor" library/en-us/shellcc/ section platform/shell/ programmersguide/ shell basics/ shell_basics_extending/ fileassociations/fa_verbs.asp

XMLediting http://www.xmlspy.com xmlspy, the world's Chapter 8, "Editing leading XML editor an Existing Enter- prise Template File" section

915 Index

A ACT Project Properties dialogbox Debugging tab, 551-552 Accessibility requirements (Section 508), 41 General tab, 550 ACT (Application Center Test), 537-564 ACT Test Properties dialog box, 556-558 computer roles, 538-539 Counters tab, 557-558 creating a test, 552-555 General tab, 556 cutting a test short, 560-561 Users tab, 557 introduction to, 537-545 ACT test reports, 562-564 opening, 540 Additional Network Statistics recording a test, 553-554 category, 564 running a test, 558-561 Errors Counts category, 564 stand-alone, 539-541 examining, 561-564 test duration, 556 Properties category, 563 test report categories, 562-564 Response Codes category, 564 test scripting code, 555 Summary category, 564 users and groups, 546-549 Summary Overview category, 563 using to establish a baseline, 537 Test Run Graph category, 563 using in VS .NET IDE, 543-544 ACT Test Results dialogbox in VS .NET ACT controller, explained, 539 IDE,561 ACT group, creating, 54 7 ACT UI with project opened, 541 ACT project, creating, 543 ACTusers ACT project environments, 545 creating, 547-548 stand-alone, 545 deleting, 549 VS .NET IDE, 545 Action State shapes, on an activity ACT project files, 542, 544 diagram, 146 ACT project properties Actions category (Dynamic Help), 385 setting, 549-552 Activations (on sequence diagrams), 130-131, 134 stand-alone, 549 Activities, 100-101, 145-146 VS .NET IDE, 549

917 Index

Activitydiagrams, 100-101,144-150 Add User dialog box, in VSS Administrator, 451 Action State shapes on, 146 Admin user account password, 434 activities, 145-146 Administrative installation, 658 Decision shape on, 149 running, 650-651 decisions on, 148-150 starting, 650-651 elements of, 144 uninstalling, 651 state on, 148-149 ADO.NET, 221 summary of, 150 Altem child node of Attributes node, swimlanes on, 145 404-405 transitions on, 146-147 Altem node of Context node, 396 Actor lifeline, sequence diagram with, 129 and CTXTATTRIBUTE node, 414 Actor notation (stick figure), 95, 107 Name attribute, 406, 413-414 Actors (on use case diagrams), 107-112 Value attribute, 405-406, 413-414 vs. business actors, 108 Analysis baseline, 872-874, 876 defined, 53 Analysis paralysis, 858 generalizing, 108, 110-111 Analyze (command-line utility), 456-457 identifying preliminary, 668-669 Analyze help window, with command-line list of typical, 108 switches, 457 relationships between, 111, 112-115 AnalyzerVVlzard,570-573 ACTSamples.act project, 554 Analyzing components and events, Add Dialog box (user interface), 601 deciding on, 576-577 Add New Item dialog box, 276, 378-379 Analyzing data, 580-583 configuring, 339-349 Analyzing distributed application performance, 565-583 project ELEMENT nodes for, 344 Analyzing performance ofWeb project item ELEMENT nodes for, applications. See ACT 342-343 Analyzing similarities in development .vsdir file and, 284-286 blocks, 78 Add New Project dialogbox (VS .NET), 223, Animated icon, 392 273,275,347,380-381,586 App.config file, with a dynarnic property, 229 Add Project dialog box, 339-349 Application deployment, 585-662 Add Project Output Group dialog box, 609-610 Application download cache, 636, 657-658 Add or Remove programs control applet, 620 Application Model (MSF), 893-894 Add to SourceSafe Project dialog box, Application monitoring, 231 481-482

918 Index

Application performance, analyzing, 565-583 Attributelist for Product business object, 66 Application perspective (MSF), 896 Attributes, 65-66, 159-161 Application prototype (enterprise as nouns, 65 templates), 249-291 as properties, 617 Application versioning, 641-642 identifying, 66-67 Approve and Validate Time Entries viewing, 415, 417-419 dass diagram, 728-730 Attributes node of Context node, 396 sequence diagram, 713-716,731 Audit trail, source control for, 424 use case, 694-696 Authentication, securing files using, 433-434 Archive Wizard (VSS), 459-462 Authenticode, 635 ArchivingVSS databases and projects, Auto deployment, 651-658 457-463 Automatiecode generation, 499-513 ASP.NET applications, deploying, 621-630 Automatie item merge message (VSS), 489 ASP.NET Page stereotype, 208 ASP.NET Web Service, for enterprise template project, 274 B Assemblies, 187, 617-618, 641, 782-783 Baddesign Assembly attributes to file properties cost of, 46-49 mapping, 618 criteria for, 45-46 Assembly information file, 617 Banner logo, 639-640 Assembly with a strong name, compiling, 782-783 Base dass, in OOP, 767 Assemblyversioning, 641 Baselines, 582 Association relationship (UML 1.4), 823 analysis baseline, 872-87 4, 876 Association Role shape (collaboration establishing, 537 diagram), 140-141 optimization baseline, 873-874 Associations, 113 rationalization baseline, 875-876 collaboration diagram with, 142 research baseline, 872, 875 configuring menus using, 353-355 specification baseline, 876-877 configuring the toolbox using, 364-365 Behavior diagrams, 97-101 to disable a menu or menu item, 354 Behavioral (dynamic) models (UML), to disabled a toolbox item, 365 105-151 static structure diagram with, 141 Binary association, 17 4-178 Asynchronaus calls, explained, 131 Body Search test (ACT), 555 Asynchronaus messages, explained, 132 Bonus dass dependency relationship, 179 ATM (automated te11er machine), 95 Booch, Grady, 88, 90 Atomicity, of attributes, 65 Booch Development Method, 90-91 Booch diagrams, types of, 90

919 Index

Books dass, on UML diagram, 511 c Boolean type, 17-18 C# dass, creating, 18-19 Bootstrapper option (Wmdows Installer), 605 C#code Boundary objects, explained, 58 generated for Customer dass, 157 Browser 'IYPe test (ACT), 555 generating for Logon dass, 19-21 Budget (project), 68, 868 C# code preview for GetList operation, 167 Bugs (software defects), 232 C# code template settings in the Registry, 519 Build OUtput, 647 C# Distributed Application template, 251 Bulletin board, using the Task List as, 438 C#language Business, separating from technology, learning, 217 839-840 links and references, 903 Business actors, 107-109,896 programming in, 216 vs. actors, 108 C# project, planning, 213-234 with generalization (inheritance), 110-111 C# Simple Distributed Application template, 251 with stereotypes, 112 C++, programming in, 216 Business analysis, explained, 108 Calculation service, 63 Business facade, for enterprise template project, 274 Car object expressed using UML, 86 Business facade project, 254 CATEGORIES first-level container, 337 Business goals, 68, 864-865 CATEGORIES node, 301 Business modeling, 243, 677 CATEGORYnode ofELEMENTS node, 337 Business object attribute list, 66 CCW (COM Callable Wrapper), 567 Business object candidates, 59, 64 CEmployee dass code, 730 discarded, 65 Central database, 426 retained, 65 Change control, 244 Business object model, 66-67 Changerequest form, 80, 244 Business objects, identifying, 58-59, 64-65 Change requests, formal (written), 80, 244 Business perspective (MSF), 895-896 Change Source Control dialog box (VSS), 484 Business processes Check In dialogbox (VSS), 475-476 defined, 51, 144 Check In Now option (VSS), 441, 475-476 optimizing, 64-66 Check Outdialog box (VSS), 470 Business rules, for enterprise template CheckOutNowoption (VSS), 441,471,470 project, 274 Chen, Dr. Peter, 22 Business services, 75, 894 Choose Project to Archive dialog box Business Use Case stereotype, 118 (VSS), 458 ByVal, 17 Class attributes, 159-161

920 Index

Class destructor, 163 Classic ADO, 221 Class diagrams, 3, 96--97, 153-182, 198 Classic ADO library, 334 based on sequence diagrams, 238 Classifier, defined, 128 building, 716--730, 749-767 Classifier Role shape, on collaboration with CEmployee dass, 728 diagram, 140 dasses on, 158-174 Classlmpl C# default template, 528 creating, 716-730, 749-767 Classlmpl code template, 521, 525 with database table and relation, 724 Classlmpl VB .NET template, 527 elements of, 154 Clean Up Local Temporary Files Directory dialog box, 466 with a form on an ASP.NET page, 726 Client role (ACT), 539 generating code for, 767-778 Clients, VSS, 426--427 of ITREmail dass, 732 Client/server architecture ofVSS, 425-433 need for, 675 CMDID element MENU element, 350 packageson,l54-158 Codd, Edgar F., 73 physical, 754-767 Code Editor, with MicrosoftAccess DDL relationships on, 97, 174-182 script, 34-35 reverse-engineered table on, 39 Codegeneration summary, 21 starting, 749-751 Code generation types with updated dass, 13 Visio supported, 814-815 Class inheritance. See Inheritance XDE supported, 815 Class instantiation, explained, 170 Code pane of Output window, 506 Class lifeline, sequence diagram with, Code Preview dialog box, 527-528 128-129 Code preview for element with Class operations (methods), 161-174 programmatic error, 518 Classes (VB .NET) Code skeleton, generating from UML adding to a diagram, 510-511 diagrams, 500 adding to a project, 504-506 Code template settings on dass diagrams, 158-174 in Preferences dialog box, 519 creating, 7-14 in the Registry, 519 creating in C#, 18-19 Code templates diagramming complex, 678 default, 520-524 generating C# code for, 19-21 macros for use with, 522-523 generatingVB .NET code for, 14-17 modifying, 524-528 modeling, 719-730 using, 518-528 parts of, 159 in XDE, 805-809 reverse-engineered, 510

921 Index

Coding conventions, 10-ll COM lnterop, 221 Coding the project, preparing for, 215-220 COM Interop assemblies, 333-334 Coffee lnc. example solution, 739-787 COM+ components, 60 background story, 739 building, 63 dass diagram, 749-767 creating and using, 781-786 gathering requirements, 740-7 42 explained, 187 sequence diagram, 742-749 with ObjectControl interface, 196 use cases, 740 COM+ runtime environment, 195 in VS .NET IDE, 769 ObjectControl interface, 448 Collaboration diagrams, 91,98-99, 139-144 Command-line shell, executable, 448 Association Role shape on, 140-141 Command-prompt ll3-ll4, 204 with associations, 140-142 Communicates relationship, Classifer Role shape on, 140 Communication, in enterprise development, 898 elements of, 139 Communication failure (project team), 843 links, 140-142 Communication plan, 80 messages, 143 Camplex classes, diagramming, 678 Multi-Object shape on, 140 Camplex data type definition, 268 objects, 140 Component Designer (canvas), 254 vs. sequence diagrams, 126 Componentdiagrams,102, 187-200,732 summary, 144 code generation from, 196-200 Collection filters, 572, 574-578 component element, 189 custom, 575-576 dependencies on, 191 predefined, 575 elements of, 188 Collections, modeling, 778-781 interfaces on, 192-196 Column Properties dialag box, Data Type tab,27 node element, 189-191 (on component Columns category page, Database Component element Properties window on, 26 diagrams), 189 COM applications, creating, 783-785 Component flle, 254 COM component Component reference name in Properties window, 335 adding a reference to, 785-786 Component Services dialag box, new event collection and analysis, 567 component in, 784 identifying in a policy file, 333-334 that is not a type library, 334

922 Index

Components Context file, 406 acceptable performance of, 582 with context node, 404 company standards for, 293 described, 398 on deployment diagrams, 202-204 CONTEXT node in ELEMENTS node, 301, explained, 187 394-396,406-407,409 key properties of, 189 of DynamicHelp, 389 third-party, 677 in a policy file, 407, 410, 412 Components to analyze, deciding on, Contingency plan, 891-892 576-577 Control flow transitions, explained, 14 7 Components category of UML Node Control objects, explained, 58 Properties dialog box, 190 Control Properties dialog boxes, 228 ComponentStop event, 583 Controlled units, XDE, 821-822 Conceptual design (MSF), 50, 51-56, 60, Copy Project dialog box, 625 214,871-874 Copy Project feature, 624-625 Conceptual name of table entity, 26 Core iteration, explained, 215 Configuration, explained, 589 Cost Configuration file types, 226 of bad design, 48 Configuration files, 226-229 of UML products, 824-825 Configuration Manager, 648 Counters tab of ACT Test Properties dialog Confirm User Deletiondialog box (VSS), 451 box, 557-558 Conflicting Modifications Detected dialog Create Local Project from SourceSafe box, 442 dialog box, 482 Connection points on UML shapes, 113 Create Personal Report use case, 699-701 Connectors, defined, 102 Create Totals Report use case, 698-699 Constraints Crow's feet notation, on an ER diagram, 22 categorizing physical, 69-70 CTS (common type system), 18 configuring menus using, 351-353 CTS compatible types, 18 configuring toolbox using, 363-364 CTXTATTRIBUTE node of CONTEXT node, to disable a menu or menu item, 351 396, 404, 411, 416 to disabled a toolbox item, 363-364 withAitem node, 414 examples ofphysical, 71 NAME and VALUE nodes, 414 menu item disabled by, 353 CTXTKEYWORD node in ELEMENT node, policy file global, 313-314 394,396,402,411,413-414,417 CONSTRAINTS element, 351, 363 Current state assessment, 677 CONSTRAINTS node, 299,302,313-314,317 Current systems, analyzing and documenting, 52 Constructor, explained, 170 CustomActions Editor, 601-603 Context element, 403

923 Index

Custom enterprise template projects, D 269-290 DAP.tdl policy flle, 251, 294 Custom help context file, 400 Dataaccess Custom help flle choosing, 221-222 in , 399 for enterprise template project, 274 linking to policy flle, 398 Data access project, 254 Custom help topic links Data flow diagram, 89, 100 in Dynamic Help window, 413 Data model for ITReady solution, 734-735 flltering, 411-417 Data providers to access the DBMS, 221 Custom help topics, 250, 383-422 Data services, 75, 894 associating with policy file, 397 Data type definition (complex), 268 compiling, 397 Data type mapping, relationship to .NET, 524 creating, 396-417 Data Type tab of Column Properties dialog defining categories of, 399-401 box, 27 in Dynamic Help window, 408 Data types HTML flle for, 402-403 creating, 717-719 language-specific, 415 IDL, 11 in Microsoft Document Explorer, 409 for lists, 781 Custom role, 440 Data validation against a schema (XML), 269 Customer dass, 527 DataAccess project binary association with Shopping reverse-engineered, 510 Basket, 177 in Solution Explorer, 508-509 C# code generated for, 157 Database administration (VSS), 454-468 generalization relationship, 181 Database dass diagram, creating, 751-754 in Generate dialog box, 156 Database element UML mapping, 734 VB code generated for, 173 Database locked in VSS Administrator, 455 VB .NET code generated for, 157, 521 Database locking, 454-455 Customer dass attributes, 160 Database model, 87 Customer dass with binary association, VB code for, 177 Database model diagram Customer dass operations, 163 adding a table to, 22-24 Customer interacting with the system, creating, 21-29 diagrammed, 55 Database model error-check messages, Customer table columns, 72-73 30-31 Customers table, reverse-engineered, 39 Database modeling, 21-39,87 CustomerStatus operation, VB code Database modeling alternatives, 736 preview for, 169 Database organization (VSS), 427-433

924 Index

Database Properties window, 28 Dependency relationship, 178-179, 204 on Columns category page, 26 between VIPCustomer and Bonus Indexes page, 29 classes, 179 in Visio workspace, 23-24 detecting, 626 Databases for external systems, 692 generating, 30-36 Deployed items on target machine, 615-621 modeling, 72-74,733-736 Deploying phase of Process Model, 883 reflecting inheritance in, 754 Deploying services, 78 reverse engineering, 36-39 Deployment, 585-662 switching between in VS. NET IDE, 480 of ASP.NET applications, 621-630 DataSet objects, 163, 222, 763-764 explained, 585 DBCS (Double Byte Character System), 27 of full setup package with patches, 660 DBMS (database management system), 221-222 to multiple target machines, 658 DDL scripts, 21, 34-35 of new releases and patches, 659-661 Debugging information, in Dynamic Help no-touch, 651-658 window, 417-419 options, 587-588 Debuggingtab of ACT Project Properties planning, 222-223 dialog box, 551-552 using third-party products, 661 Decision shape Deployment diagrams, 78, 102-103, on activity diagram, 149, 200-205,677 on statechart diagram, 187 components on, 202-204 Decisions (on activity diagrams), 148-150 elements of, 200 Decisions (on statechart diagrams), nodes on, 201 185-187 relationship on, 204-205 DEFAULTACTION element, 412 relationship types, 204 DEFAULTACTION node, 299-300, with two different node types, 200 309-310,317 Deployment functionality, VS .NET, DEFAULTSETTINGS node, 299-300, 308 661-662 Defects (software), 232-233 Deployment permissions, 635-636 collecting information about, 232 Deployment planning, 222-223 reporting functionality, 232 Deployment projects, types of, 586-588 tracking, 232-233 DeploymentProject content, 615 Delete dialogbox (VSS), 479,485 DeploymentProject detected project Dependencies (on component dependencies, 611 diagrams), 191 Derived dass, in OOP, 767

925 Index

Design, 41-78,214 Difference Options dialog box (VSS), 486 concept of, 42-43 Differences dialogbox (VSS), 487 cost of bad, 46-49 Display silent check in command (VSS), 440-441 criteria for bad, 45-46 Display silent check out command (VSS), criteria for good, 44-45 440-441 explained, 42-49 Dispose method, 762-763,771 good vs. bad, 44-46 Distributed application performance, importance of, 43-44 analyzing, 565-583 logical, 57-67 DistributedApplication template, 251 optimizing, 77-78 Distributed Internet Applications physical, 67-78 Architecture, 61 user acceptance of, 56 DLL hell, 187 Design goals, 68, 865 Document supporting objects, explained, 125 Design guidelines, from a business perspective, 45 Document technical issues, explained, 125 Design patterns, 85, 809-810 Documentation (UML), 235-245 Design process (MSF), 49-78, 871. maintenance of, 238-240 See also Design updating in stages, 236 Design-time properties, 357 what to update, 236-238 Destroypermanentlyoption (VSS), 479,485 when to update, 235-236 Destructor operation, 171 Documentation textbox for Invoice use Developer acceptance of sequence case, 116 diagrams, 716 Documentation tool, Visio as, 241 Developer knowledge and experience, 69 Documentation window, 116-117 Developer skills, 77 Documenting a solution, 81, 237 Developing phase of Process Model, 881--882 DTS (Data Transformation Services) Development iterations, 881 packages, 118 Development role (MSF), 849 Duwamish 7.0 VB sample application Development strategy, 867-868 in Model Explorer, 513 Development test phase, 881--882 reverse-engineered, 796 Devices, defined, 102 in Solution Explorer, 508 Diagram view, 8 Duwamish-DataAccess.vsd, 509 Diagramming high-level requirements, 53-54 Dynamic Help page of Options dialog Diagramming scenarios, 54-56 box, 421

926 Index

Dynarnic Help window (VS .NET IDE), ELEMENT identifiers, 321-336. See also 383-389 IDENTIFIER node combinations arranging and sorting, 419-422 ELEMENT node, 295,301-302,315 custom categories, 420-421 project item PROTOTYPE for, 341 custom help topic in, 408 property constraints for, 358-359 custom help topic link in, 413 ELEMENT nodes of policy file, linking, 409 display options, 420 ELEMENT prototypes, defining, 336-337 displaying debugging information, Elements 417-419 causing an error, 265 filtering in, 387 to describe a policy, 298 predefined categories, 384-385, 420 in a text file in XML format, 257 Dynarnic Help window Debug mode, 415 ELEMENTS node, 300, 316 Dynamic model (OMT), 89 ELEMENTSET node, 302, 316-317, 359 Dynamic models (UML), 105-151 Empty Project template, 502 Dynamic properties Enterprise, defined, 4 in app.config, 229 Enterprise applications, defined, 4 for a control, 228 Enterprise architecture explained, 226 Enterprise Model and, 897 Dynarnic Properties dialog box, 228 examining, 52 Dynarnic tests, explained, 538 Enterprise development, 4-5 DynarnicHelp root node, 389 Enterprise Model (MSF), 894-897 Enterprise modeling, explained, 5 E Enterprise project ELEMENT nodes, 348 EditAlias dialogbox, 654 Enterprise solution structure and elements, 294 Edit Filter dialog box, 577 Enterprise template project (.etp) file, 254, Edit New Filterdialog box, 575-576 306 Edit Template dialog box, 520, 524-525 child elements, 258-263 Edit Userdialog box (VSS), 452 creating, 271-283 EFPROJECT root element, 257, 270 editing, 269-271 ElF CEnterprise Instrumentation solution created with, 253-254 Framework),231 VB Distributed Application, 255-265 ELEMENT action, 309-310 Enterprise template project file ELEMENT definition with hierarchy, 264 MEMBERCONSTRAlNT node, 319 Enterprise template project layers, 254 ELEMENTdefinition ofVB code files, 318 Enterprise template project schema file, ELEMENT expressions, 338 265-269

927 Index

Euterprise Template Project template, 251 Event Listfora filter, 581 Euterprise template projects, 225-226, Event log, viewing, 580-581 249-291,293 Events adding to New Project dialog box, explained, 89 284-290 recommended for analysis, 577 adding project items, 275-276 Events to analyze, deciding on, 576-577 adding projects, 272-275 EXCLUDE node, 317 adding wizards, 277-283 Excluded from Source Control option adding an XML Web Service, 280-283 (VSS), 478 advantages of, 249-250 Expectations of target audience, 44-45 associating a policy file with, 306-307 Extends relationship (UML 1.4), 115, 823 building blocks, 273-27 4 Extensibility, services and, 63 cleaning up, 283-284 Extension points, explained, 117 custom, 269-290 External automation, libraries for, 819 icons for, 286-288 External help, 386-388 policy cache file, 283 External project, 739-787 prebuilt, 250-269 External systems, dependency relationship saving, 289-290 for, 692 subfolders, 282, 284 .suo file, 283 F Euterprise template solution, name and location values, 289 FEATURELINKS node, 302 Euterprise templates, list ofprebuilt, 251 FEATURES element, 349 EuterpriseServices namespace, 161, 781 FEATURES node, 301,349,361 Entity, defined, 25 adding menu items to, 350 Environment Variables dialog box, 449 adding toolbox items to, 362 Envisioning phase ofProcess Model, Fields, of complex data type definition, 268 861-870 File attributes, 616-619 ER (entity-relationship) diagrams (ERDs), File-to-folder deployment, 593-594 21-22 File Properties dialogbox, 616 ERP (Enterprise Resource Planning) File System Editor, 591-595 system, 95 conditions, 595 Error checking, in Visio, 514-518 targetfolders,592-594 Event collection File types, UML code, 211 pausing and resuming, 579-580 File Types Editor, 595-597 starting, 578 File types in Windows Folder Options stopping, 579 dialog box, 596

928 Index

Files, support for multiple users working Generate Wizard on, 242 opening page of, 32 Filters second page of, 33 editing, 577 Generated code, controlling the look of, removing, 577-578 518-528 Finalize destructor, VB code preview for, 172 Get Latest Version command (VSS), 4 74-475 Finalize operation, 171 Get method, 170 Flowchart diagram, 144 GetList operation, 163-165, 167 Focus centralization (project team), 844 Getting Started category (Dynamic Help), 384 Folder Options dialag box (Windows), 596 GLOBALS element of EFPROJECT, 257 Folder Properties dialag box Glyph node, 392-393 (Window XP), 653 Glyph node attributes, 393 Folder sharing, 434 Goal, separating from functionality, 839 Forked transition, 146 Goals for project success, 845-846 Forward engineering, 499, 500-506 Good design, criteria for, 44-45 Visio, 814 Graphical diagrams, explained, 125 XDE, 815 Graphical symbols (UML), 93-103 Free-form diagram, 795 Groups (in ACT), 546-549 Function procedure, 17, 168 Guard expressions, 150, 185-186 Functional model (OMT), 89 Guest user account password, 434 Functional specification, 878-879 GUI (graphical user interface) design, 42 Functionality, separating from goal, 839 GUID element MENU element, 350 Functionality diagrams, 95-97 Future visions, 69 H

Help categories, predefined, 400 G Help category (Dynamic Help), 384 GAC (GlobalAssemblyCache), 187 Help collection, 388-389 GENERALelement of EFPROJECT, 257 Help context file format, 389-396 Generalization, 89, 182, 754 Help context links, setting up, 402-404 Generalization relationship (UML 1.4), Help desk, 898 180-182,823 Help settings in VS. NET IDE Options Generalizing actors, 108, 110-ll1 dialag box, 388 Generate dialag box, 15, 173, 500-501, 726 Help topic references, adding to policy file, with classes selected, 768 406-410 with Customer dass, 156 with_Imageshrinkinterface selected, 197

929 Index

Help topics (see also Custom help topics) CODE/Kind, 323 external or internal display of, 386-388 CODEVARIABLE/'JYpelnherits, filtering, 404-406 324-325 in Microsoft Document Explorer, 386 CODEVARIABLE/'JYpeName, 325-327 High-level requirements, diagramming, HTMLELEMENT I Attribute, 328-329 53-54 HTMLELEMENT /Tag, 329 High-level use case diagram, 741-742 PROJECT /FileExtension, 329-330 Historydialog box (VSS), 492-493 PROJECT/Global, 330 History Options dialog box (VSS), 491-492 PROJECT /Kind, 330 Hotfix package, deploying, 660-661 PROJECT/Property, 331 HTML help files, 402-403 PROJECTITEM/FileExtension, 331 HTIP (Hypertext Transfer Protocol) 1.1, 537 PROJECTITEM/Kind, 332 HTTP session cookies, 546 PROJECTITEM/Property, 332 Reference/FileName, 333-335 I Reference/MajorVersion, 335-336 Reference/MinorVersion, 336 IBM, support for XDE and Rose, 825 IDENTIFIERDATA node, 322, 359 IBM Rational Rose, 500 IDENTIFIERS node, 302,321 IBM Rational Rose XDE, 791 IDisposable interface, 762, 771 IBM Rational XDE. See XDE IDL (Interface Definition Language) data Icons, integer values mapped to, 392-393 types, 11 Icons for enterprise template projects, Imageshrink interface Umageshrink) 286-288 dass diagram with, 198 ID column, 28-29 VB code generated for, 197 ID element ofMENU element, 350 Implementation Class stereotype, 133 ID nodes, 301 Implementation diagrams, 101-103 ofELEMENT node, 315,321 INCLUDE node ofELEMENTSET node, valid and invalid, 315 317,358 IDE. See VS .NET IDE INCLUDE/PERMISSION combination, 309 IDE integration, source control and, 424 Include relationship (UML 1.4), 823 IDE menus, configuring, 349-355 Independent Developer role, 440 Identified items (policy file), 295, 315 Indexed column, name column as, 29 IDENTIFIER node combinations, 322-336 Indexespage ofDatabase Properties CODE/ Attribute, 322-323 window,29 CODE/Implements, 323-324 Information perspective (MSF), 896 CODE/Inherits, 324 Infrastructure Model (MSF), 897-898

930 Index

Inheritance (generalization), 180-182, 823 ITReady dass diagrams, 716-730 ofbusiness actors, 108, 110-111 Approve and Validate Time Entries, explained, 89 728-730 reflecting in a database, 754 Maintain Time Entries, 727 Inherits keyword, 772 Register Hours, 720-727 Installation, testing, 649 ITReady example solution, 665-737 Instrumentation, 231 background story, 665-667 Integer values mapped to icons, 392-393 capturing system requirements, 667--67 4 Integration with existing environment choosing UML models, 67 4-677 Visio, 816-817 clarifying system requirements, 670--672 Visio vs. XDE, 814-815 identifying high -level processes, 669--670 XDE,818-819 identifying preliminary actors, 668-669 IntelliSense, 303, 390 IT infrastructure, 666 Interaction diagrams, 90, 98-99 mandatory diagrams, 675-676 Interactions, actors representing, 107 modeling use case diagrams, 678-701 Interfaces, 76 other diagrams, 676-678 on component diagrams, 192-196 preliminary relationships, 672-674 defined, 102 system requirements, 666-667 shown in Model Explorer, 195 UML data model for, 734 Interna! help, 386-388 Visio data model for, 735 Interna! project, 665-737 ITReady sequence diagrams, 701-716 International formatting, 220 Approve and Validate Time Entries, 713-716, 731 International sales service example, 739-787 Maintain Time Entries, 709-713 Internet Explorer Register Hours, 702-709 custom help file in, 399 ITReady use cases Visio VSD file in, 533 Approve and Validate Time Entries, INTERSECT (TDL keyword), 338 694-696 Interviews, for requirements gathering, 52 Create Personal Report, 699-701 Invoice use case documentation text box, 116 Create Totals Report, 698-699 IsPolymorphic keyword, 182 Maintain Projects, 690-692 Issues (software defects), 232 Maintain Tasks, 691-694 Items, types of in policy file, 295 Maintain Time Entries, 687-689 Iteration plan, 81, 215 Register Hours, 684-687 Iterations, explained, 215 Send Disapproved Notification, 696-698 user and sponsor acceptance of, 701

931 Index

I Linksand references, 901-915 C#,903 J#, programming in, 216 miscellaneous, 907-915 Jacobson, Ivar, 88,91 MSE 904 JScript, dynamic tests using, 538 UML,902 VB .NET, 902 K Visio, 905 Key symbol, for primary key field, 87 VS .NET enterprise, 906 Keywords and attributes ofVS .NET items, Utem element of Links element, 403 vie~ng,415,417-419 Utem node of Context node, 395-396 Keywords child node of Context node, 394 LinkGroup attribute, 395, 404 Kltem node, 394, 402, 414 Priority attribute, 395 ToolTip attribute, 396 L URL attribute, 395, 404 Label control on a Windows form, 227 Living documents, 858 Langid folders, 282 Local-access security, 434 Language-specific custom help topics, 415 Localization issues, 643-646 Launch Conditions Editor, 604 Localized .NET Framework, 646 LCID (language and code page code ID), Location property ofWindows Form 400-405 controls, 359-360 Legacy systems, 45 Lock Visual SourceSafe Database dialog box, 454 Legalllight dass code, 777 Locking, source control for, 423 Libraries, Visio vs. XDE, 819-820 Locking a database for maintenance, License agreement, creating, 637-638 454-455 License Agreement dialog box, 638 Locking a UML model, 241-242 with banner logo, 640 Log files, ~th version information, 428 in German, 644 Logical design (MSF), 50, 57-67, 874-875 LinkGroup attribute ofUtem node, attributes and relationships, 66-67 390-392,395,400,404 the big picture, 57-58 LinkGroup node ofDynamicHelp, 389, 390-394,399 business objects, 58-59 priority attribute, 390-391 .NET services, 60-61 priority values, 391 optimizing business processes, 64-66 title attribute, 391 Windows DNA approach, 61-63 Links (on collaboration diagrams), 140-142 Logical modeling (Booch), 90 Links element, 403 Logical validation, 30-31 Links node of Context node, 395-396 Login ID (SourceSafe) text box, 443

932 Index

Logon dass, 9 Menuitems generating C# code for, 19-21 adding to FEATURES node, 350 generating VB .NET code for, 14-17 disabling, 351, 353-354 Logon processes, modeling, 7-21 Menu names, 350 Loyalty conflicts (project team), 844 MENU node, 318,353 MENU node definition for View Code menu item, 318 M MENUCONSTRAINTS element, 352 Macras for use with code templates, 522-523 MENUCONSTRAINTS node, 314, 351 MagicDraw, 534 MENULINK node, 354 Maintain Projects use case, 690-692 MENULINKS node, 353 Maintain Tasks use case, 691-694 Menus Maintain Time Entries configuring using associations, 353-355 dass diagram, 727 configuring using constraints, 351-353 sequence diagram, 709-713 disabling, 351, 354 use case, 687-689 MENUS element, 349 Maintain Users use case, 741 Merge SourceSafe Version into Local Maintainability, 63, 69 Version dialag box, 489-490 Maintaining UML documentation, 235-245 Merge warning options (VSS), 489 Maintaining UML in a project team, Merging two versions of a project item, 424 240-243 Message, sequence diagram with, 134 Maintenance Message calls, explained, 131 collecting information on new Message with message name (on sequence functionality, 229-231 diagrams), 135 planning for, 229-233 Messageparametersetting (on sequence responsibility for, 238-240 diagrams), 137 services and, 63 Messagetypes (on sequence diagrams), Manifests, explained, 187 131-132 Manufacturer support, and choosing a Messages (on collaboration diagrams), 143 UML product, 825 Messages (on sequence diagrams), 131-137 MEMBERCONSTRAINT node, 319 Method category of UML Operations MEMBERCONSTRAINTS node, 317 Properties dialag box, 763 Members, of complex data type Method overriding, 772-773 definition, 268 Method shadowing, 773 MENU element child elements, 350 Method signature, defined, 767 Menu item disabled by a constraint, 353 MFC (Microsoft Foundation Classes), 49 Menu item names, 350 Microsoft Access database validation, 30-31

933 Index

MicrosoftAccess DDL script, 34-35 Modeling primer, 3-39 Microsoft Application Center Test .NET Modeling tool (Microsoft). See Visio Edition, 537 Models. See UML models Microsoft Document Explorer Monitaring (application), 231 custom help topic in, 409 Morale, bad design and, 48 help topics in, 386 MSDN Library, 388 Microsoft guidelines for coding MSF (Microsoft Salutions Framework), conventions, 10-ll 41,826 Microsoft .NET data provider for Oracle, 221 as a framework, 833, 840 Microsoft Office 2003, 6 as a toolbox, 835 Microsoft Office Runtime 1.0 Type best practices, 899-900 Library, 334 contents of, 840-842 Microsoft support for Visio, 825 design process, 49-78 Microsoft Windows Installer, 604-606 design process steps, 50 Migration enterprise perspectives, 895-896 from Rose to XDE, 802-805 links and references, 904 XDE, 801-805 missing tools, 835 from XDE to Visio, 805 phases and roles, 239 Milestones, 80, 858 vs. RUP, 826-829 Mitigation plan, 891-892 stabilizing, 828 MOC (Microsoft Official Curriculum), 901 using with software and technologies, Model Documentation window (XDE), 819 898 Model Explorer (XDE), 818 MSF 3.0, 833-900 with Duwamish 7.0 VB sample MSF 3.0 design process, 41. See also Design application, 513 process interface shown in, 195 MSF models, 841,843-898 Top Package folder, 15-16 Application Model, 893-894 Modeling, explained, 5 Euterprise Model, 894-897 Modeling classes, 719-730 Infrastructure Model, 897-898 Modeling collections, 778-781 Process Model, 668, 856-885 Modeling a database, 21-39, 72-74, 733-736 Risk Model, 885-893 Modeling different views, 243-244 Team Model, 843-856 Modeling a logon process, 7-21 MSF project life cycle, 841-843 Modeling the physical database, 72-74 building phase, 842 Modeling the physical.NET services, 74-76 managing phase, 842-843 Modeling polymorphism, 773-775 planning phase, 842

934 Index

MSF project roles, 239, 439-440 .NET data provider to access the DBMS, 221 conflicting, 853-854 .NET developers, Visio for, 499 development role, 849 .NET Framework (Microsoft) driving milestones, 858 detecting, 630-631 product management role, 846-847 including in setup, 632-633 program management role, 847-848 issues of, 630-633 release management role, 852-853 launch condition, 631 test role, 849-850 localized, 646 user experience role, 851 mapping UML code to, 209-211 MSF Readiness discipline, 70 security, 633-637 MSSCCI (Microsoft Source Code Control security mechanisms, 634 Interface), 423 type library only components, 334 Multi-Object shape on collaboration vs. UML elements, 150-151 diagram, 140 warning for nonexistence of, 632 Multiplatform solutions, 216 .NET language support, Visio and XDE, 820 Multiple solutions, 218 .NET languages, unit-testing framework Multiple target machines, deploying to, 658 for, 224 Multiple users working on the same files, 242 .NET services Multiplicity, explained, 778 explained, 60 Myopia,46 identifying, 60-61 MySQL,221 modeling physical, 74-76 MySQL.NET data provider, 221 .NET types of operations, 161-162 .NET Web servers, stress-testing, 537 N .NET Wizards, 637 N-tier applications, 4 New Code Template dialogbox (XDE), 807-808 Name column, as indexed column, 29 New constructor, 170-171, 773 NAMEnode of PROPERTYCONSTRAINTS node, 357 New feature request, 231 Namespace, defined, 120. See also Packages New functionality request, 230 Nested properties, 359 New Project dialog box, 252, 540, 543 .NET assemblies, explained, 187 adding an enterprise template project to, 284-290 .NET components enterprise project ELEMENT nodes, 348 explained, 187 enterprise template project icons, identifying in a policy file, 333-334 286-288 making visible to COM, 567 .vsdir file and, 284-286 .NET configuration application, 636 New Users Group dialogbox (ACT), 548

935 Index

NewEnterpriseHelp.doc, 403 Object model NewEnterpriseHelp.htm custom help file, OMT,89 397,399 Visio vs. XDE, 819-820 NewEnterpriseHelp.xml context file, 389, Object-oriented software, 88-89 401,404-405 Object types, 58 NewEnterprisePolicy.tdl file CONTEXT interface of COM+ runtime node, 407 ObjectControl environment, 195 NewEnterprisePolicy.tdl policy file, 306, dass diagram with, 198 401,407-408,412,415 COM+ component with, 196 NewTemplateProject.etp file, 306, 408 Objects, 88, 720 initial, 278 on collaboration diagrams, 140 with Wizard reference, 279-280 on sequence diagrams, 126--129, 133-134 NewWebService folder subfolders, 282 stateful or stateless, 148 NewWebService.vbproj file, 281-282 ODBC .NET data provider, 221 No-touch deployment, 651-658 OLE DB .NET data provider, 221 No-touch deployment stub, 655-656 OMG (Object Management Group), 91-92 Node element (on component diagrams), 189-191 OMG committee, 91 Nodes (XML elements), 257 OMT (Object Modeling Technique), 88-89 on deployment diagrams, 201 OMT steps, 89 to describe a policy, 298 OMT models, 89 key properties of, 189-190 OOP (object-oriented programrning), 3 Normalization, 73 OOP inheritance, 182 Northwind sample database, 36 OOP techniques, 767 Note shape with text, 138 OOSE (Object -Oriented Software Engineering), 91 Notes (on sequence diagrams), 138 OOSE method, 91 Notlnheritable keyword, 772 Operations (dass), 161-174 Nouns, attributes as, 65 a dass diagram, 758-767 NTFS vs. VSS, 424 adding to .NET types of, 161-162 NUnit unit-testing framework, 224 Operations category ofUML Interface Properties dialog box, 193 0 Optimization baseline, 873-87 4 Obfuscation, 635 Orade 8.1.7, 221 Object base dass, 172 Orade .NET data provider, 221 Object diagram (Booch), 90 ORDER node, 299, 311-312, 317 Object flow transitions, explained, 14 7 Order process, tasks for perforrning, 55 Object In State shape, 148 ORM (Object Role Modeling), 22

936 Index

ORM diagrams, 22 Phases and roles (in MSF), 239 Output window, 30-31 Physical dass diagram, 754--767 Code pane, 506 adding dasses, 755-756 showing semantic errors, 16 adding operations, 758-767 Source Cantrollist in, 437--438 complete, 766 Overloading, explained, 767 setting parameters, 757-758 Overloads keyword, 777 Physical constraints Overridable keyword, 182 categorizing, 69-70 Overrides keyword, 172, 773--77 4, 777 examples of, 71 Overriding a method, 172, 767, 772-77 4, 777 Physical database, modeling, 72-74 Physical design (MSF), 50,67-78, 875-877 p choosing technologies, 68-72 database modeling, 72-74 Package notation, 118 deploying services, 78 Packages .NET service, 74-76 on dass diagrams, 154-158 optimizing system processes, 77-78 creating, 719 technology comparison matrix, 70-72 in UML use case diagrams, 118-122 Physical modeling (Booch), 90 Packages diagram, 121 Physical name of table entity, 26 Parameterized collaborations, 810 Physical.NET service, modeling, 74-76 Parameters category of UML Operation Properties dialog box, 194 Physical sequence diagram, 746--749 Parts ofthe model, locking, 241 Physical validation, 30 Passwords Picture database diagram, 751-754 for Admin and Guest user accounts, 434 Place service, 60 maximum number of characters for, 27 Planned releases, deploying, 659 Patches, deploying, 659--661 Planning deliverables, 867 Path environment variable, 449 Planning deployment, 222-223 Path maps, in Rose, 804-805 Planning phase of Process Model, 870--877 Pending Checkins window (VSS), 436--437 Planning process, 79-81, 213-224 Performance, 69. See also ACT choosing data access, 221-222 214 acceptable for a component, 582 designing the solution, 214 analyzing, 565-583 gathering requirements, establishing baselines for, 582 iteration plan, 215 222-223 Performance counters, 557-558 planning deployment, 215-220 Permissions, deployment, 635--636 preparing for coding, Persistent objects, explained, 58 steps in, 213-214 testing, 223-224 937 Index

Planning a project, 213-234. See also ELEMENT identifiers, 321-336 Planning process ELEMENT prototypes, 336-337 configuration flies, 226-229 global constraints, 313-314 enterprise template projects, 225-226 global default behaviors, 308-314 maintenance, 229-233 grouping items, 337 Policies IDE menus, 349-355 configuring VS .NET IDE using, identifying COM or .NET components, 338-365 333-334 items that can be managed with, item ELEMENTSETs, 316-321 338-339 linking to custom help file, 398 Policy behavior, unexpected, 311 overriding policies, 311 Policy file concepts, 293-297 policy mode, 309-310 Policy file contexts, 294-295 policy order, 311-313 Policy file ELEMENT nodes, linking, 409 prebuilt, 294 Policy file format and schema, 297-302 removing a reference to, 276-277 Policy file items, 295-296 root and first-level nodes, 298-301 Policy file Ioading error, 308 TDL nodes for use in, 366-376 Policy File property, 297 TDL root node, 298-299 Policy file scope, 296-297 types of items in, 295 Policy file skeleton, creating, 303-308 in use, 303 Policy file structure, 297 validation, 366 Policy files, 250, 293-381 Policy reminders adding first-Ievel ELEMENTS node to, 316 fixing, 366 adding help topic references to, 406-410 in Task List, 328, 360-361 adding items to, 315-337 Policy validation, 366 associating custom help topics with, 397 Policy validation errors, fixing, 366 associating with enterprise template project, 306-307 POLICYMODE element of DEFAULTSETTINGS element, 412 changing from VS .NET IDE, 307 POLICYMODE node, 299-300, 309-310 CONTEXT child node settings in, 407, 410,412 Polymorphism creating and editing, 302-365 explained, 89, 182 creating with a text editor or XML modeling, 773-775 editor, 298, 302-365 Posteonditions (use case), 116 default ELEMENT action, 309-310 Preconditions (use case), 116 default item policy, 300, 309 Preferences dialog box, 781, 519 ELEMENT expressions, 338 Primary Interop Assernblies folder, 333

938 Index

Primary key, ID column as, 29 Project budget, 68, 868 Primary key field, key symbol for, 87 Project dependencies, detecting, Priority attribute of LinkGroup node, 610-612,626 390-391,399 Project ELEMENT nodes Priority attribute of Litern node, 395 for Add New Item dialag box, 344 Problem statement, 862-863 for Add New Project dialag box, 347 Process diagram, 583 Project failure, 837-838 Process Model (MSF), 856-885 Project file versions, file names of, 428 deploying phase, 883 Project files, 254 developing phase, 881-882 Project group, vs. project team, 854 envisioning phase, 861-870 Project hierarchy (VSS), 432-433 planning phase, 870-877 Project item stabilizing phase, 882 ELEMENT nodes for Add New Item Processes, 53 dialag box, 342-343 business processes, 51, 64-66, 144 PROTOTYPE for an ELEMENT node, 341 focusing on, 838-839 valid,340 UML notation for, 96 Project item sharing, source control for, 424 on use case diagrams, 115-118 Project management, 244 Processors, 102 Project -oriented source control, 424 Product business object attribute list, 66 Project output, 609-615 Product management role (MSF), 846-847 categories of, 610 Programmanagement role (MSF), 847-848 graphics files, 612-613 Program manager, explained, 239 project dependencies, 610-612 Programmatic errors, 516-518 Windows configuration files, 613-615 Programming languages Windows satellite assemblies, 612 choosing, 216-217 Project plan, 68, 879-881. See also Planning aproject development team skills in, 216 Project process, vs. project team, 834 learning more than one, 217 Project process methods, 836-837 with VSEA edition, 11 Project properties, 588-590 Project (see also Solution) Project PROTOTYPE for an ELEMENT adding classes to, 504-506 node, 345 adding to a solution, 502-504 Project rights assignment (VSS), 453-454 adding to source control, 480-482 Project Rights tab of SourceSafe Options generated code added to, 502-503 dialag box, 453 open in VS .NET IDE, 313 Project roles. See MSF project roles Project success, goals for, 845-846

939 Index

Project team, 867. See also Team Model (MSF) Prototyping, 78,302,336-337 maintaining UML in, 240-243 Proxy settings, 550 potential pitfalls, 843-844 Public Function procedure, 168 programming language skills of, 216 vs. project group, 854 Q vs. project process, 834 Q&A-based use case diagram, 672 roles and responsibilities, 844-854 working with Visio, 241 Project team development R Visio, 821 RAD (Rapid Application Development) method, 837 XDE,821-823 Rational Rose (IBM), 500 Project tradeoff, 859-860 path maps, 804-805 Project types, 223 Rose model, 803 choosing, 217-218 Rose to XDE migration, 802-805 company standards for, 293 Rational Rose (Rational Software), 6, 88 Projectschema.xsd file, 265-269 RationalXDE (IBM). SeeXDE ProjitemVBCodeFile ELEMENT node for policy file, 407 Rationalization baseline, 875-876 ProjitemWebForm ELEMENT node, 412, RCW (Runtime Callable Wrapper), 333 415--416 Read-only, saving a UMLmodel as, 241 Properties Readiness discipline (MSF), 70 as attributes, 617 Readme.htm file, 507 configuring, 355-361 READMESS.HTM file, 425 design-time, 357 Realbusiness objects, explained, 64-65 nested, 359 Receptions, defined, 132 nodes used to control, 356 Recovering a VSS database without Admin runtime environment-dependent, 356 password, 467--468 Properties window, 335, 355, 589 Redoing, cost of, 4 7 Property constraints References and links, 901-915 for included ELEMENT node, 358 Reflecting inheritance in a database, 754 minimum definition for, 357 Register Hours dass diagram, 720-727 Property Pages dialogbox for a setup Register Hours sequence diagram, 702-709 project, 590 Register Hours use case, 684-687 PROPERTYCONSTRAINTS node, 314, Registry 356-357,359 changing settings in, 417--418 PROTOTYPES node ofELEMENTS node, in, 519 302,336-337 code template settings

940 Index

Registry Editor, 417-418, 597-598 Responsibility confusion (project team), Relationship to .NET data type mapping, 524 843-844 Relationships Restore Wizard (VSS), 463-465 between actors, 111, 112-115 Restoring a VSS database or project, 463-465 on dass diagrams, 97, 174-182 Returnmessage on sequence diagram, 136 defined, 66 Return messages, 131, 136 on deployment diagrams, 204-205 Reusability, services and, 63 identifying, 66--67 Reusable code, looking for existing, 219 preliminary, 672-67 4 Reverse Engineer button (Visio), 817 types of, 113, 17 4 Reverse Engineer Wizard, 37-38 in UML 1.4 use case diagrams, 823 Reverse Engineer WIZard database tables review page, 38 use case diagram with, 67 4 Reverse-engineered C# form Releasemanagement role (MSF), 852-853 in Visio, 814 Releases of software, finding out about, 229-231 inXDE, 815 ReHability of the solution, 45, 69 Reverse-engineered dass on UML diagram, 511 Remote-access security, 434 Reverse-engineered dasses, 510-511 Remote application setup for no-touch deployment, 652-657 Reverse-engineered DataAccess project, 510 Remote components setup (VS .NET), 569 Reverse-engineered Duwamish 7.0 VB application, 796 Report Preview, 530 Reverse-engineered table, on a dass Report types, 529 diagram, 39 Reports Reverse engineering, 499, 507-513 creating for UML diagrams, 529-533 of a built project, 511-512 elements of, 529 of a database, 36--39 previewing, 530 of a solution, 512-513 Visio, 820-821 Visio, 814, 816-817 XDE, 821 in VS .NET IDE, 816-817 Reputation, bad design and, 48 XDE, 815 Requirements, diagramming high-level, Revising, cost of, 47 53-54 Revision history, 868-869 Requirements gathering (planning process),51-53,214, 740-742 Risk, explained, 885 REQUIRESURL element (enterprise Risk assessment, 888-890 template file), 264 Risk decreasing over time, 886 Research baseline, 872, 875 Risk Model (MSF), 885-893 Resource files, using, 219-220 content, 887-893 summary, 893 941 Index

Risk Model steps, 888 Save As dialogbox analyzing and prioritizing risks, 891 saving a modelas read-only, 242 control, 892 Webpage option, 531 gathering lessons learned, 892-893 SBCS (Single Byte Character System), 27 identifying risks, 890-891 Scalability, 63, 69 planning and scheduling, 891-892 Schedule and budget, 868 risk assessment, 888-890 Scheduling, 79, 868 tracking and reporting, 892 Schemafile used for policy files, 297 Risk statement, 866-867 Scripts folder, 282 Risk strategy, 886-887 Section 508 design standard, 41 Robots.txt file, 550 Securing default users, 434-435 ROI (return on investment), 45 Securing files, using authentication for, Roles (in MSF). See MSF project roles 433-434 Root folder Security, 69 explained, 432 implementing, 633-637 in Visual SourceSafe Explorer, 433 VSS,433-435 Root project, selecting, 458 Security and audit trail, source control for, 424 Round-trip engineering Security management, 852 explained, 500 Select Item in Project dialog box, 603 XDE, 815 Semantic errors RPC (Remote Procedure Call) bridge, 567 explained, 16 Rumbaugh, James, 88 in Output window, 16 Runtime environment-dependent properties, 356 in UML diagrams, 514-516 RUP (IBM Rational Unified Process), 51, Send Disapproved Notification use case, 826,898 696-698 vs. MSF, 826-829 Sequence diagrams, 56,98-99, 125-139, 701-716 RUP transition, 828 activations on, 130-131, 134 with all use case tasks, 705 s based on use case diagrams, 238 Sales-force servicing example, 739-787 with class and actor lifelines, 129 SalesCompanyUser class class diagram based on, 238 generated code, 771-772 with class lifeline, 128-129 modified, 776 vs. collaboration diagrams, 126 Sampies category (Dynamic Help), 384 creating, 7 42-749 for customers and users, 7 49

942 Index

elements of, 126 Set method, 170 with an Employee object, 702 Setup attributes, 619-621 identifying objects and events, 702-716 Setup and deployment options, 587-588 with a message, 134 Setup and deployment projects, types of, message with message name on, 135 586-588 message parameter settings, 137 Setup folder URL (Windows Installer), 606 message types, 131-132 Setup packages, running, 649-651 messages on, 131-137 Setup project more IT-specific, 709 adding files to, 608-615 need for, 675 adding to solution, 607-608 notes on, 138 adding to Web solution, 623-625 objects on, 126-129, 133-134 building, 647-649 for project team, 749 customizing, 637-640 physical, 7 46-749 localizing, 643-645 return message on, 136 Property Pages dialogbox for, 590 summary of, 139 Setup project editors, 591-604 time-based, 126 Setup project file (.vdproj), 645 Time Sheet object added to, 704 Setup project properties, 620 with two use cases, 711 Shadowing, explained, 172 with use case and login information, 707 Shadowing/hiding a method, 773 user and developer acceptance of, 716 Shadows keyword, 772-773, 777 XDE, 797 Shape Display Optionsdialog box, 681 Servers, VSS, 426 Shared Property Manager, 161 Service-based development, 76-77 ShoppingBasket dass, 177 Service candidates, 61 Sign-off, 869, 882 ServicedComponent dass, 765, 767, 781 Simultaneous browser connections (ACT test), 556 Services Single or multiple solution, 218 as verbs, 60-61 SKUs (stock-keeping units), 75 concept of, 60 SLA (service-level agreement), 70 deploying, 78 SMS (Microsoft Systems Management identifying, 60-61 Server) deployment, 658 splitting up, 74-76 Socket request time-out, 551 Services component of System. Web Software defects, 232-233 namespace, 333 Software releases, finding out about, 229-231 Services list, 66 Software solution. See Solution Session cookies, 546 Software-testing solutions, 223-224

943 Index

Solution (see also Project) Source control, 243 adding a project to, 502-504 best practices, 495-497 adding setup projects to, 607-608, checking in frequently, 495-496 623-625 commenting all item check-ins, adding to source control, 480-482 496-497 choosing single or multiple, 218 unfinished items, 496 created with enterprise template, user naming convention, 497 253-254 uses for, 423-424 documenting, 81 validating database integrity, 497 finding out about new releases of, Source control applications, 423 229-231 Source control items, explained, 423 multiplatform, 216 Source Cantrollist (VSS), 437-438 name and location values for, 289 Source Control menu (VSS), 435-436 reliability of, 45 Source Control Options (VSS), 439-445 reverse engineering, 512-513 General category, 439-442 technologies in, 294 sec provider category, 442-445 usability of, 44 Source control software, 242. See also VSS Solution concept, 866 SourceOffSite, 495 Solution design. See Design SourceOffSite Classic, 495 Solution Explorer, 253, 339 SourceSafe Options dialog box ACT test results in, 561 General tab, 444, 465-466, 485 DataAccess project in, 508-509 Integration tab, 445 Duwamish 7.0 VB sample application, 508 Project Rights tab, 453 help topics in, 387 Specification baseline, 876-877 of use cases, 701 new enterprise template project in, 272 Sponsor acceptance project files in, 254 SQL Server 7.0, 221 Solution (.sln) flle, 284 SQL Server .NET data provider, 221 Solution items, policy file standards for, Srcsafe.ini file, 434 293-294 Stabilizing, in MSF, 828 Solution planning. See Planning process Stabilizing phase of Process Model, 882 Solution structure and elements. Standard installation, running, 649-650 See Policy flies Standards, for components or project Solution templates. See Enterprise types, 293 template projects State, defined, 101 Solution for tracking time spent on State diagrams, explained, 89 projects, 665-737 State shape, 148 Solutionuseroptions (.suo) flle, 283

944 Index

State transition diagram (Booch), 90 Synchronization policy properties, 799 Statechart diagrams, 99-100, 106, 182-187 Synchronization settings for an element, 800 content of, 182 System, defined, 120 decisions on, 185-187 System boundaries (on use case diagrams), elements of, 183 123-124 states on, 183-184 System management, 897 transitions on, 184-185 System objects, for enterprise template project, 27 4 Stateful classes, 161 System processes, optimizing, 77-78 Stateless classes, 161 System structure diagram, 123 Stateless objects, 148 System.DataSet, 163, 222, 763-764 States (on activity diagrams), 148-149 System.EnterpriseServices namespace, States (on statechart diagrams), 183-184 161, 781 Static icon, 392 System.Web.Services component, 333 Static models (UML), 105, 153-211 Static structure diagrams (Visio), 3, 121, 141,153,500,675 T Stereotypes, 108, 111,205-208 Table built-in, 206-207 adding a database model diagram to, business actors with, 112 22-24 user-defined, 207-208 defined,25 Stick figure notation for an actor, 107 Table entity names, 26 Storage, source control and, 424 Table properties, setting, 25-26 Storage units, XDE, 821-823 Tagged values, explained, 117 String (VB .NET data type), 18 Tags (XML elements), 257 Strang names, for assemblies, 634-635, Target audience, expectations of, 44-45 782-783 TaskList Struct stereotype, 207 policy reminders in, 328, 360-361 Structural diagrams (UML), 153-211 in team development, 438 Sub procedure, 168 TDL (Template Description Language), 296 Subsystem, defined, 120 as an implementation ofXML, 297 SUBTRACT (TDL keyword), 338 start tag and end tag, 299 SuggestedBaseName field name, 288 white spaces, 315 Support Info dialag box, 620 TDL nodes for use in policy files, 366-376 Swirnlanes (on activity diagrams), 101, 145 TDL root node (policy file), 298-299 Symbols (UML), 93-103 TDLSchema.xsd file, 297 Synchronization, XDE, 798-801 Team. See Project team

945 Index

Team Model (MSF), 843-856 TimeSheet dass code, 727, 730 best practices, 855-856 TimeSheet dass Save operation, 723 roles and responsibilities, 844-854 Toolbox summary of, 854-856 configuring, 361-365 Team Model roles configuring using associations, conflicting, 853-854 364-365 constraints, 363-364 development role, 849 configuring using goals and, 853 Toolbox items node, 362 product management role, 846-847 adding to FEATURES program management role, 847-848 disabling, 363-365 release management role, 852-853 TOOLBOXCONSTRAlNTS node, 314, 363 test role, 849-850 TOOLBOXITEMS element, 361-362 361-362 user experience role, 851 TOOLBOXITEMS node, Technical details, 68 TOOLBOXLINKS node, 364-365 Technologies, 294 TOOLBOXLITEMS node, 364 choosing,68-72,877-878 ToolTip attribute ofLitem node, 396 questions you must always ask, 71-72 Top Package, 109, 120 Explorer), 15-16 separating from business, 839-840 Top Package folder (Model Technology candidates, identifying, 72 TopPackage solution, 505 Technology choice matrix, 877-878 TopPackage1 project, testdass added to, 505 120 Technology comparison matrix, 70-72 ToyCar Euterprise System, Technology perspective (MSF), 896 packages diagram, 121 Templates (template projects), 223, structure diagram, 123 225-226, 251-253. See also Euterprise Tradeoffmatrix, 860, 883-885 template projects Tradeoff triangle, 860 Templates folder, 282 Transitions Testrole(MSF),849-850 on activity diagrams, 146-147 Test Status dialog box, in ACT, 560 in RUP, 828 Testing, 223-224. See also ACT on statechart diagrams, 184-185 Testing plan, 81 types of, 147 Testing user scenarios, 77 Type libraries, 819-820 Third normal form (3NF), 73 TYPEnode of ELEMENT node, 321-322 Three-tier modeling, 76 Time, bad design and, 48 u Time sheet example project, 665-737 Time sheet project Q&A, 730-733 UI control properties, 226 UI projects, 254

946 Index

UML (Unified Modeling Language), 41, UML diagrams, 95-103 50-52,85-103 for complex requirements, 676-677 areas in which it can be used, 92 creating reports for, 529-533 history of, 88-91 deciding which to create, 676-678 introduction to, 85-87 generating a code skeleton from, 500 links and references, 902 mandatory, 675-676 maintaining in a project team, 240-243 reverse-engineered dass on, 511 packagesin,118-122 semantic errors in, 514-516 success of, 93 specifying operations and parameters, using, 92-93 11-13 UML 1.2 notation, 514 starting and adding dasses to, 7, 8-10 UML 1.4 use case diagram relationships, 823 viewing, 582-583 UML 2.0, expected changes in, 824 UML documentation, 235-245 UML Association End Properties dialog maintenance of, 238-240 box,780 updating in stages, 236 UML Association Properties dialog box, what to update, 236-238 176,682,779 when to update, 235-236 UML Association Role Properties dialog box, 142 UML elements, vs ..NET, 150-151 UML dass, notation for, 97 UML Interface Properties dialog box, 193 UML Class Properties dialog box, 9, 127, 162 UML Message Properties dialog box, 135 with Customer dass attributes, 160 UML Method Properties dialog box, 775 with Customer dass operations, 163 UML modeling of a database, 734-735 with Customer dass properties, 158 UML modeling tool. See Visio showing attributes, 10 UML models, 3, 93-94. See also UML diagrams stereotypes in, 206 behavioral models, 105-151 when dass has no operations, 199 categories of, 94, 105 UML Classifier Role Properties dialog box, 127, 703 generating, 499-513 locking, 241-242 UML code, mapping to .NET, 209-211 243-244 UML code file types, 211 maintaining views of, UML Code Generation dialog box, 505-506 saving as read-only, 241 531-532 UML Component Properties dialog box, saving as a Web page, 203,733 Situations causing updates to, 240 UML data model for ITReady solution, 734 static models, 153-211 UML Datatype Properties dialog box, 717 updating after deployment, 244 versioning, 243 which to use, 94, 67 4-678

947 Index

UML to .NET mapping, 151 UMLtools, 6 UML Node Properties dialog box, 190, 204 UML Transition Properties dialog box, 150 UMLnotation, 93-103 UML update responsibilities, table of, 239 3-D box, 103 UML Use Case Properties dialog box, box with rounded corners, 100 116-117,685,687,690,693-695, 697-698,700 elongated oval, 100 UML version 1.2, 105 oval, 96 UML version support, 823-824 rectangle, 97 Undo Checkout command (VSS), 472 solid arrow, 100 Undo Checkout dialogbox (VSS), 4 73 solid box, 100 Undoing default text modifications, 645-646 solid cirde, 100 Unicode format text files, 425 solid line, 97 Unidentified element, explained, 301 stick figure, 95 Unidentified items (policy file), 295 UML Operation Properties dialog box, 135,164 Uninstalling, 650 with code generation settings, 166 UNION (TDL keyword), 338 for Customer Status operation, 169 Unique primary key, 87 with customer Type ID, 165 Unique row ID, 28 Method category, 763 Unit testing, 224 Parameters category, 194 Unit testing framework for .NET languages, 224 showing parameters, 12 Unsafe code, 217 UML products Unsigned integer error in VB .NET code, 517 manufacturer support of, 825 Update responsibilities, table of, 239 price of, 824-825 Updates to the UML model, Situations summary of comparisons, 829 causing, 240 XDE and Visio comparison, 813-825 Updating the UML model after UML profiles, 824 deployment, 244 UML Report preview window, 530 Upload dass code, 782 UML sequence diagrams. See Sequence Upload Picture dass diagram, 750 diagrams Upload Picture sequence diagram, 743-749 UML shapes, connection points on, 113 Upload Picture-c dass diagram, 754-767 UML standard, 91-92 URL attribute of Litern node, 395, 404 UML Static Structure Report, 530 Usability of the solution, 44 UML Stereotypes dialog box, 208 Usage requirements, 69 UML structural diagrams, 153-211 Use case with Business Use Case stereotype, 118

948 Index

Use case diagrams, 95-96, 106-125 two in one sequence diagram, 711 with actor and two processes, 54 user and sponsor acceptance of, 701 with actors, 107-112 uses relationship between, 114 with actors and processes, 670, 672 User acceptance adding content to, 683-701 of design, 56 basic elements of, 106 of sequence diagrams, 716 detail in, 679, 682-683 ofuse cases, 701 with documentation, 237 Useradministration (VSS), 450-454 high -level, 741-7 42 User class generated code, 769-771 mixing different systems, 680 User experience role (MSF), 851 modeling, 678-701 User groups, VSS and, 450 need for, 675 User Interface Editor, 599--601 number of, 679-682 User name/password combination, 433 packageson,118-122 User profiles, 868 processes on, 115-118 User records, table for, 753 Q&A-based, 672 User scenarios, testing, 77 with relation to another system, 680 User services, 74, 894 with relationships, 67 4 User subclass, table for, 754 with relationships between actors, Users (ACT), creating and deleting, 547-549 112-115 Usersand groups (ACT), 546-549 with relationships in UML 1.4, 823 Userstab of ACT Test Properties dialog sequence diagram based on, 238 box, 557 summary of, 125 Users.txt file, default, 434-435 system boundaries, 123-124 Uses relationship, between use cases, 114 with two processes, 53 types of relationships, 113 V verb-based, 670 Value attribute of Altem node, 405 Use case model, 95 VarChar colurnns, maximum length of, Use case in a package, 119 26-27 Use cases (see also ITReady use cases) VAT (value-added tax) calculation service, 63 communicates relationship, 113-114 VB (Visual Basic) 6.0 concept of, 91 Data Types package, 718 defined, 91 Distributed Application enterprise oval notation for, 96 template file, 255-265 preconditions and postconditions, 116 Visual Modeler, 6 splitting to reuse functionality, 689

949 Index

VBcode Verb-based use case diagram, 670 generated foradass and interface, 199 Verbs generated from a component diagram, services as, 60-61 196-200 from system requirements, 669 generated for Customer Class, 173 Versioninformation generated for Customer Class with log files with, 428 binary association, 177 maintaining, 243 generated for _Imageshrink interface, 197 Versioned releases, 858-859 VB code preview Versioned versions, explained, 243 for CustomerStatus Operation, 169 Versioning (Software), 640-643 for Finalize destructor, 172 artides and documents on, 642-643 for GetList operation, 167 extensions for saved versions, 428 for New constructor, 171 source control for, 423 for VIPCustomer dass, 181 of UML models, 243 VB Distributed Application solution, 253 Versioning history, 69 VB Distributed Application template, disabled, 320 251-253 View Code menu item 574, 580 VB .NET (Visual Basic .NET), 3 Viewfilters, enlarging or reducing, 128 learning, 217 Views, element (enterprise template file), 264 links and references, 902 VIEWS programming in, 216 VIPCustomer dass dependency relationship, 179 VB .NET dass 181 creating, 7-14 generalization relationship, 181 default code template for, 520 VB code previewfor, Architects-VEA), VB.NETcode Visio (Visio for Euterprise 5-7 generated for Customer dass, 157, 241 160,521 as a documentation tool, generating for Logon dass, 14-17 editions of, 499 error checking in, 514-518 VB. NET code template settings in the Registry, 519 evaluating, 534 VB .NET newsgroup, 218 events as operations in, 162 VB .NET project, planning, 213-234 integration with existing environment, VB Simple Distributed Application 814-819 template, 251 links and references, 905 VBScript, dynamic tests using, 538 migration to from XDE, 805 VEA. See Visio for .NET developers, 499 VEA 2003, 5-7, 499-535. See also Visio with a new database model diagram, 23

950 Index

with a new UML model diagram, 8 event recording and collection, with reverse-engineered DataAccess 573-574 project, 510 setup options, 569 static structure diagrams, 3, 121, 141, Visual Studio Analyzer components, 153,500,675 installing, 568-570 support for UML models, 105 Visual Studio Analyzer project supported code generation types, creating, 570-574 814-815 in VS .NET IDE, 570 VS .NET IDE integrated toolbar, 816 Visual Studio Analyzer Project Wizard, VS .NET IDE integration, 816-817 570-573 and working in a project team, 241 VS .NET (Visual Studio .NET) vs. XDE, 813-825 Coffee Inc. solution in, 769 Visio 2003, 5-7,499-535 missing deployment functionality, Visio Code Editor, with Access DDL script, 661-662 34-35 remote components setup, 569 Visio modeling of a database, 735-736 upcoming release (Whidbey), 18, 534 Visio object model, 820 VS .NET 2003 Command Prompt Visio Professional2003, 6 window, 448 Visio reports, 820-821 VS .NET ACT project files, 544 Visio type library, 820 VS .NET Combined Collection, 388 Visio versions, 6 VS. NET deployment, overview of, 585-604 Visio Viewer, 7, 533 VS .NET enterprise links and references, 906 Visio VSD file in Internet Explorer, 533 VS .NET enterprise templates. See Enterprise template projects Vision scope document, 862, 869-870 VS .NET IDE (integrated development Vision statement, 863-864 environment), 6 Visual Modeler, Visual Basic 6.0, 6 ACT test results in, 561 Visual SourceSafe. See VSS items added byXDE, 818-819 Visual Studio Analyzer, 565-583 new ACT project in, 544 analyzing data, 580-583 project open in, 313 architecture of, 565-568 with source control applications, 423 dient and server, 568 splitting the view, 800-801 collection filters, 572, 574-578 switching between databases, 480 event collection, 566-567, 578-580 using ACTin, 543-544, 561 event collection and analysis process, VSS integration with, 435-445 566-567 VSS items, 435-438 Event Listfora filter, 581

951 Index

VS .NET IDE configuration using policies, checking in items silently, 476-477 338-365 checking in project items, 475-476 VS .NET IDE integrated toolbar (Visio), 816 checking out items silently, 471-472 VS .NET IDE integration, Visio, 816-817 checking out project items, 469-470 VS. NET IDE Optionsdialog box, help comparing item versions, 486-488 settings, 388 creating a new project from source VS .NET Installer supported languages/ control, 482-483 locales, 643 daily tasks, 469-4 79 VS .NET item keywords and attributes, deleting and destroying items, 479 ~e~ng,415,417-419 VS .NET setup and deployment options, editing a project item, 447 587-588 excluding items from a project, 478 VS .NET Setup and Deployment projects, getting latest versions of items, 47 4-4 75 223,586-588 getting started, 446-447 VS .NET solution. See Solution integration ~th VS .NET IDE, 435-445 VS .NET solution file (.sln), 284 main folder, 434 VS .NET vs. Windows DNA architecture, 62 manipulating item versions, 491-493 VS .NET XML Designer, 303 merging item versions, 488-491

.vsdir flle, 284-286 na~gating compared items, 488 .vsdir file elements, 285-286 vs. NTFS, 424 VSEA (Visio Studio .NET Enterprise Pending Checkins ~ndow, 436-437 Architecture) edition, 5, 11, 499 private files, 4 78 VSED (Visio Studio .NET Enterprise Developer) edition, 5 project hierarchy, 432-433 VSIDE. tdl policy file, 294 project item comments, 470 VSIP (Visual Studio Integration Partner) project rights assignment, 453-454 collection, 388 removing files from source control, 4 78

VSS (Visual SourceSafe), 423-498 remo~ng solution and project files action when opening or closing a from, 493-494 solution, 440 resol~ng conflicts, 491 adding items to a project, 477-478 restoring a database or project, adding a project from source control, 483 463-465 adding a solution or project, 480-482 retrie~ng data, 469-475 administration, 447-468 securing default users, 434-435 advancedtasks,480-494 security, 433-435 Source Controllist, 437-438 allo~ng multiple checkouts, 485 Source Control menu, 435-436 archi~g databases and projects, 457-463 background status updates, 443 Source Control Options, 439-445 checked-in item actions, 441-442 third-party products that work ~th, 495

952 Index

types of file it can be used with, 425 w undoing check-out ofitems, 472-474 WAN (wide area network), 4 using, 468-495 Waterfall Model process method, 836 using the Task Ust with, 438 Web application performance. See ACT viewing item history, 491-493 Web configuration files, 627-629 vss 6.0d, 423 Web page, saving a UML model as, 531-532 VSSAdministrator application, 447-454 Web project dependencies, detecting, 626 VSS architecture, 425-433 Web project output, 626-629 VSS clients, 426-427 dependencies, 626 VSS database graphics files, 627 connecting to, 480 Web configuration files, 627-629 recovering without Admin password, Web satellite assemblies, 627 467-468 Web servers, stress-testing, 537 removing a project from, 483-485 Webservice project, 254 updating data in, 475-477 Web service project items, 623 VSS database adrninistration, 454-468 Web services, 77. See also Services VSS database folders and files, 427-432 advantages of, 63 VSS database integrity, validating, 456-457 analyzing, 537 VSS database organization, 427-433 Web Setup and Deployment Project files, VSS database servers, 426 626-629 VSS database temporary file location, Web setup project, order ofbuilding and 465-466 deploying, 629-630 VSS Explorer, opening, 432-433 Web setup project content, 629 VSS Login dialog box, 444 Web.config configuration file, 227 VSS network setup, 426 WebDeploymentProject project items, 622 VSS project, accessing, 446 WebDeploymentProject sample VSS role, 440 application items, 621-622 VSS temporary folder, cleaning up, 466-467 WebDeploymentProjectWebService VSS user administration, 450-454 items, 623 adding users, 450-451 Web.Services component, 333 removing users, 451-452 WebUI, for enterprise template project, 274 user settings, 452 Welcome dialogbox of Administrative Installation, 651 user/project rights, 453-454

953 Index

Windows Application project, 504 X Windows Application template, 503 XDE (IBM Rational XDE), 88, 500, 534, Windows applications, deploying, 606-621 791-811 Windows configuration files, 613-615 Automatie Synchronization, 798-801 Windows deployed items on target code template file with a scriptlet, machine,615-621 807-808 Windows DNA, 61-63 code templates, 805-809 advantages of, 63 controlled units, 821-822 architecture, 62 design patterns, 809-810 vs. VS .NET architecture, 62 diagramming with, 794-801 , 758, 768 external code templates, 806 control Location property, 359-360 integration with existing environment, Label control on, 227 814-819 label definition, 358 internal code templates, 806 Label toolbox item, 363-364 items added to VS .NET IDE, 818-819 Windows Installer, 604-606 items in storage units/ controlled units, 821-822 Windows Installer upgrade folder URL, 606 learning more about, 810 Windows project dependencies, detecting, 610-612 locking capability, 241 Windows project output, 609-615 migration, 801-805 Windows satellite assemblies, 612 Model Documentation window, 819 WindowsDeploymentProject project Model Explorer, 818 items, 607 modeling with, 793-794 WinUI, for enterprise template project, 274 reporting, 821 Wizards, adding to enterprise template sequence diagrams, 797 project, 277-283 setting properties, 795-797 WMI (Windows Management storage units, 821-823 Instrumentation), 231 supported code generation types, 815 Workflow diagram, 873 vs. Visio, 813-825 Warking directory, 427 vs. VS .NET IDE features, 791-792 Workstations, VSS, 426--427

954 Index

XDE Toolbox tabs, 793 in XML Designer, 305 XDE type library, 820 XML Web Services XML data validation against a schema, 269 adding to enterprise template project, XML Designer, 303, 305 280-283 XML editor, 269, 303 explained, 74 XML elements, 257 Xmlns attribute, 400 XML file, 220 Xmlspy program, 269 creating, 304

955 JOIN THE APRESS FORUMS AND BE PART OF OUR COMMUNilY. You'll find discussions that cover topics of interest to IT professionals, programmers, and enthusiasts just like you. lf you post a query to one of our forums, you can expect that some ofthebest minds in the business-especially Apress authors, who all wrte with The Expert's Voice™-will chimein to help you. Why not aim to become one of our most valuable partic• ipants (MVPs) and win cool stuff? Here's a sampling of what you'll find:

DATABASES PROGRAMMING/BUSINESS Data drives everything. Unfortunately, it is. Share information, exchange ideas, and discuss any database Talk about the Apress line of books that cover software programming or administraüon issues. methodology, best pracüces, and how programmers interact with the "suits."

INTERNETTECHNOLOGIESAND NETWORKING WEB DEVELOPMENT/DESIGN Try living without plumbing (and eventually 1Pv6). Ugly doesn't cut it anymore, and CGI is absurd. Talk about networking topics including protocols, design, Help is in sight for your site. Find design solutions for your administration, wireless, wired, storage, backup, certificaüons, projects and get ideas for building an interactive Web site. trends, and new technologies.

JAVA SECURITY We've come a long way from the old Oak tree. Lots of bad guys out there--the good guys need help. Hang out and discuss Java in whatever flavor you choose: Discuss computer and network security issues here. Just don't Iet J2SE, J2EE, J2ME, Jakarta, and so on. anyone eise know the answers!

MAC OSX TECHNOLOGY IN ACTION All about the Zen of OS X. Cool things. Fun things. OS X is both the present and the future for Mac apps. Make lt's alter hours. lt's üme to play. Whether you're into LEGO® Suggestions, oller up ideas, or boast about your new hardware. MINDSTORMS™ or turning an old PC into a DVR, this is where technology turns into tun.

OPEN SOUACE WINDOWS Source code is good; understanding (open) source is better. No defenestration here. Discuss open source technologiss and related topics such as Ask quesüons about all aspects of Windows programming, get PHP, MySOL, Linux, Perl, Apache, Python, and more. help an Microsoft technologiss covered in Apress books, or provide feedback on any Apress Windows book.

HOW TO PARTICIPATE: Go to the Apress Forums site at http://forums.apress.com/. Click the New User link.