tag:blogger.com,1999:blog-77636791173226813362024-02-08T05:33:05.665-08:00UMLUnified Modeling Languagesandyhttp://www.blogger.com/profile/02503582209971047801noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-7763679117322681336.post-38415213386516613022008-09-16T04:44:00.000-07:002008-09-16T04:49:07.493-07:00UML - Unified Modeling Language - Quick Tutorial<meta equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 12"><meta name="Originator" content="Microsoft Word 12"><link rel="File-List" href="file:///D:%5CUSERPR%7E1%5Csshende%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"><link rel="Edit-Time-Data" href="file:///D:%5CUSERPR%7E1%5Csshende%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_editdata.mso"><!--[if !mso]> <style> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style> <![endif]--><link rel="themeData" href="file:///D:%5CUSERPR%7E1%5Csshende%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"><link rel="colorSchemeMapping" href="file:///D:%5CUSERPR%7E1%5Csshende%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"><!--[if gte mso 9]><xml> <w:worddocument> <w:view>Normal</w:View> <w:zoom>0</w:Zoom> <w:trackmoves/> <w:trackformatting/> <w:punctuationkerning/> <w:validateagainstschemas/> <w:saveifxmlinvalid>false</w:SaveIfXMLInvalid> <w:ignoremixedcontent>false</w:IgnoreMixedContent> <w:alwaysshowplaceholdertext>false</w:AlwaysShowPlaceholderText> <w:donotpromoteqf/> <w:lidthemeother>EN-US</w:LidThemeOther> <w:lidthemeasian>X-NONE</w:LidThemeAsian> <w:lidthemecomplexscript>X-NONE</w:LidThemeComplexScript> <w:compatibility> <w:breakwrappedtables/> <w:snaptogridincell/> <w:wraptextwithpunct/> <w:useasianbreakrules/> <w:dontgrowautofit/> <w:splitpgbreakandparamark/> <w:dontvertaligncellwithsp/> <w:dontbreakconstrainedforcedtables/> <w:dontvertalignintxbx/> <w:word11kerningpairs/> <w:cachedcolbalance/> </w:Compatibility> <w:browserlevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathpr> <m:mathfont val="Cambria Math"> <m:brkbin val="before"> <m:brkbinsub val="--"> <m:smallfrac val="off"> <m:dispdef/> <m:lmargin val="0"> <m:rmargin val="0"> <m:defjc val="centerGroup"> <m:wrapindent val="1440"> <m:intlim val="subSup"> <m:narylim val="undOvr"> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"> <w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"> <w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"> <w:lsdexception locked="false" priority="0" qformat="true" name="heading 3"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"> <w:lsdexception locked="false" priority="39" name="toc 1"> <w:lsdexception locked="false" priority="39" name="toc 2"> <w:lsdexception locked="false" priority="39" name="toc 3"> <w:lsdexception locked="false" priority="39" name="toc 4"> <w:lsdexception locked="false" priority="39" name="toc 5"> <w:lsdexception locked="false" priority="39" name="toc 6"> <w:lsdexception locked="false" priority="39" name="toc 7"> <w:lsdexception locked="false" priority="39" name="toc 8"> <w:lsdexception locked="false" priority="39" name="toc 9"> <w:lsdexception locked="false" priority="0" name="footer"> <w:lsdexception locked="false" priority="0" qformat="true" name="caption"> <w:lsdexception locked="false" priority="0" name="page number"> <w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"> <w:lsdexception locked="false" priority="1" name="Default Paragraph Font"> <w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"> <w:lsdexception locked="false" priority="0" name="Hyperlink"> <w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"> <w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"> <w:lsdexception locked="false" priority="0" name="Normal (Web)"> <w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"> <w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"> <w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"> <w:lsdexception locked="false" unhidewhenused="false" name="Revision"> <w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"> <w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"> <w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"> <w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"> <w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"> <w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"> <w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"> <w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"> <w:lsdexception locked="false" priority="37" name="Bibliography"> <w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"> </w:LatentStyles> </xml><![endif]--><style> <!-- /* Font Definitions */ @font-face {font-family:Wingdings; panose-1:5 0 0 0 0 0 0 0 0 0; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:1; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:0 0 0 0 0 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";} h1 {mso-style-unhide:no; mso-style-qformat:yes; mso-style-link:"Heading 1 Char"; mso-style-next:Normal; margin:0in; margin-bottom:.0001pt; text-align:center; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:1; font-size:12.0pt; font-family:"Arial","sans-serif"; color:#942C2C; mso-font-kerning:0pt; font-weight:bold; text-decoration:underline; text-underline:single;} h3 {mso-style-unhide:no; mso-style-qformat:yes; mso-style-link:"Heading 3 Char"; mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:3; font-size:13.5pt; font-family:"Times New Roman","serif"; font-weight:bold;} p.MsoFooter, li.MsoFooter, div.MsoFooter {mso-style-noshow:yes; mso-style-unhide:no; mso-style-link:"Footer Char"; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:center 3.0in right 6.0in; font-size:12.0pt; font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";} p.MsoCaption, li.MsoCaption, div.MsoCaption {mso-style-unhide:no; mso-style-qformat:yes; mso-style-next:Normal; margin:0in; margin-bottom:.0001pt; text-align:center; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Arial","sans-serif"; mso-fareast-font-family:"Times New Roman"; color:#942C2C; font-weight:bold; text-decoration:underline; text-underline:single;} a:link, span.MsoHyperlink {mso-style-noshow:yes; mso-style-unhide:no; color:blue; mso-text-animation:none; text-decoration:none; text-underline:none; text-decoration:none; text-line-through:none;} a:visited, span.MsoHyperlinkFollowed {mso-style-noshow:yes; mso-style-priority:99; color:purple; mso-themecolor:followedhyperlink; text-decoration:underline; text-underline:single;} p {mso-style-noshow:yes; mso-style-unhide:no; mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";} span.Heading1Char {mso-style-name:"Heading 1 Char"; mso-style-unhide:no; mso-style-locked:yes; mso-style-link:"Heading 1"; mso-ansi-font-size:12.0pt; mso-bidi-font-size:12.0pt; font-family:"Arial","sans-serif"; mso-ascii-font-family:Arial; mso-hansi-font-family:Arial; mso-bidi-font-family:Arial; color:#942C2C; font-weight:bold; text-decoration:underline; text-underline:single;} span.Heading3Char {mso-style-name:"Heading 3 Char"; mso-style-unhide:no; mso-style-locked:yes; mso-style-link:"Heading 3"; mso-ansi-font-size:13.5pt; mso-bidi-font-size:13.5pt; font-weight:bold;} span.FooterChar {mso-style-name:"Footer Char"; mso-style-noshow:yes; mso-style-unhide:no; mso-style-locked:yes; mso-style-link:Footer; mso-ansi-font-size:12.0pt; mso-bidi-font-size:12.0pt;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:10.0pt; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt;} @page Section1 {size:8.5in 11.0in; margin:.9in 1.0in .9in 1.0in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} /* List Definitions */ @list l0 {mso-list-id:416512403; mso-list-type:hybrid; mso-list-template-ids:441882688 1074556526 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l0:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:.25in; mso-level-number-position:left; margin-left:.25in; text-indent:-.25in; font-family:Symbol; color:windowtext;} @list l1 {mso-list-id:1235122087; mso-list-type:hybrid; mso-list-template-ids:402433968 1074556526 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l1:level1 {mso-level-number-format:bullet; mso-level-text:; mso-level-tab-stop:.25in; mso-level-number-position:left; margin-left:.25in; text-indent:-.25in; font-family:Symbol; color:windowtext;} @list l2 {mso-list-id:1506819831; mso-list-type:hybrid; mso-list-template-ids:-1764596396 -624677378 -1285638284 1657050512 499171950 -1445291090 -206161790 1514573750 -1622742472 -173249484;} @list l2:level1 {mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in;} @list l3 {mso-list-id:1590965324; mso-list-type:hybrid; mso-list-template-ids:53610980 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l3:level1 {mso-level-tab-stop:.25in; mso-level-number-position:left; margin-left:.25in; text-indent:-.25in;} ol {margin-bottom:0in;} ul {margin-bottom:0in;} --> </style><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";} </style> <![endif]--> <p><b><u><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">What is UML?</span></u></b><b><u><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><o:p></o:p></span></u></b></p> <p style=""><span style="font-size: 10pt; font-family: "Arial","sans-serif";">The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup> The UML is a very important part of developing object oriented software and the software development process. The UML uses mostly graphical notations to express the design of software projects. Using the UML helps project teams communicate, explore potential designs, and validate the architectural design of the software.</span></p> <h3><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">Goals of UML</span></h3> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">The primary goals in the design of the UML were:</span></p> <p class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><span style="">1.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Provide users with a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><span style="">2.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Provide extensibility and specialization mechanisms to extend the core concepts.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><span style="">3.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Be independent of particular programming languages and development processes.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><span style="">4.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Provide a formal basis for understanding the modeling language.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><span style="">5.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Encourage the growth of the OO tools market.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><span style="">6.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Support higher-level development concepts such as collaborations, frameworks, patterns and components.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><span style="">7.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Integrate best practices.<o:p></o:p></span></p> <h3><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">Why Use UML?</span></h3> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">As the strategic value of software increases for many companies, the industry looks for techniques to automate the production of software and to improve quality and reduce cost and time-to-market. These techniques include component technology, visual programming, patterns and frameworks. Businesses also seek techniques to manage the complexity of systems as they increase in scope and scale. In particular, they recognize the need to solve recurring architectural problems, such as physical distribution, concurrency, replication, security, load balancing and fault tolerance. Additionally, the development for the World Wide Web, while making some things simpler, has exacerbated these architectural problems. The Unified Modeling Language (UML) was designed to respond to these needs.<o:p></o:p></span></p> <p><o:p> </o:p></p> <p><b><u><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">History of UML</span></u></b><b><u><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><o:p></o:p></span></u></b></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Identifiable object-oriented modeling languages began to appear between mid-1970 and the late 1980s as various methodologists experimented with different approaches to object-oriented analysis and design. The number of identified modeling languages increased from less than 10 to more than 50 during the period between 1989-1994. Many users of OO methods had trouble finding complete satisfaction in any one modeling language, fueling the "method wars." By the mid-1990s, new iterations of these methods began to appear and these methods began to incorporate each other’s techniques, and a few clearly prominent methods emerged.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">The development of UML began in late 1994 when Grady Booch and Jim Rumbaugh of Rational Software Corporation began their work on unifying the Booch and OMT (Object Modeling Technique) methods. In the Fall of 1995, Ivar Jacobson and his Objectory company joined Rational and this unification effort, merging in the OOSE (Object-Oriented Software Engineering) method.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">As the primary authors of the Booch, OMT, and OOSE methods, Grady Booch, Jim Rumbaugh, and Ivar Jacobson were motivated to create a unified modeling language for three reasons. First, these methods were already evolving toward each other independently. It made sense to continue that evolution together rather than apart, eliminating the potential for any unnecessary and gratuitous differences that would further confuse users. Second, by unifying the semantics and notation, they could bring some stability to the object-oriented marketplace, allowing projects to settle on one mature modeling language and letting tool builders focus on delivering more useful features. Third, they expected that their collaboration would yield improvements in all three earlier methods, helping them to capture lessons learned and to address problems that none of their methods previously handled well.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">The efforts of Booch, Rumbaugh, and Jacobson resulted in the release of the UML 0.9 and 0.91 documents in June and October of 1996. During 1996, the UML authors invited and received feedback from the general community. They incorporated this feedback, but it was clear that additional focused attention was still required.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">While Rational was bringing UML together, efforts were being made on achieving the broader goal of an industry standard modeling language. In early 1995, Ivar Jacobson (then Chief Technology Officer of Objectory) and Richard Soley (then Chief Technology Officer of OMG) decided to push harder to achieve standardization in the methods marketplace. In June 1995, an OMG-hosted meeting of all major methodologists (or their representatives) resulted in the first worldwide agreement to seek methodology standards, under the aegis of the OMG process.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">During 1996, it became clear that several organizations saw UML as strategic to their business. A Request for Proposal (RFP) issued by the Object Management Group (OMG) provided the catalyst for these organizations to join forces around producing a joint RFP response. Rational established the UML Partners consortium with several organizations willing to dedicate resources to work toward a strong UML 1.0 definition. Those contributing most to the UML 1.0 definition included: Digital Equipment Corp., HP, i-Logix, IntelliCorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle, Rational Software, TI, and Unisys. This collaboration produced UML 1.0, a modeling language that was well defined, expressive, powerful, and generally applicable. This was submitted to the OMG in January 1997 as an initial RFP response.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">In January 1997 IBM, ObjecTime, Platinum Technology, Ptech, Taskon, Reich Technologies and Softeam also submitted separate RFP responses to the OMG. These companies joined the UML partners to contribute their ideas, and together the partners produced the revised UML 1.1 response. The focus of the UML 1.1 release was to improve the clarity of the UML 1.0 semantics and to incorporate contributions from the new partners. It was submitted to the OMG for their consideration and adopted in the fall of 1997.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><o:p> </o:p></span></p> <p><b style=""><u><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">Types of UML Diagrams<o:p></o:p></span></u></b></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Each UML diagram is designed to let developers and customers view a software system from a different perspective and in varying degrees of abstraction. UML diagrams commonly created in visual modeling tools include:<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p class="MsoNormal" style=""><b><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/use_case.htm"><span style="font-family: "Times New Roman","serif";">Use Case Diagram</span></a></span></b><span style="font-size: 10pt; font-family: "Arial","sans-serif";"> displays the relationship among actors and use cases.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p><b style=""><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/class.htm"><span style="font-family: "Times New Roman","serif";">Class Diagram</span></a></span></b><span style="font-size: 10pt; font-family: "Arial","sans-serif";"> models class structure and contents using design elements such as classes, packages and objects. It also displays relationships such as containment, inheritance, associations and others. <sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p><b style=""><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/interaction.htm"><span style="font-family: "Times New Roman","serif";">Interaction</span></a></span></b><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/interaction.htm"><b style=""><span style="font-family: "Times New Roman","serif";"> Diagrams</span></b></a></span></p> <p class="MsoNormal" style="margin-left: 0in; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><b style=""><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Sequence Diagram<i style=""> </i></span></b><span style="font-size: 10pt; font-family: "Arial","sans-serif";">displays the time sequence of the objects participating in the interaction.<span style=""> </span>This consists of the vertical dimension (time) and horizontal dimension (different objects).<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p class="MsoNormal" style="margin-left: 0in; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><b style=""><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Collaboration Diagram<i style=""> </i></span></b><span style="font-size: 10pt; font-family: "Arial","sans-serif";">displays an interaction organized around the objects and their links to one another.<span style=""> </span>Numbers are used to show the sequence of messages.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p class="MsoNormal" style="margin-left: 0in; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><b><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/state.htm"><span style="font-family: "Times New Roman","serif";">State Diagram</span></a></span></b><span style="font-size: 10pt; font-family: "Arial","sans-serif";"> displays the sequences of states that an object of an interaction goes through during its life in response to received stimuli, together with its responses and actions.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p><b style=""><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/activity.htm"><span style="font-family: "Times New Roman","serif";">Activity Diagram</span></a><i style=""> </i></span></b><span style="font-size: 10pt; font-family: "Arial","sans-serif";">displays a special state diagram where most of the states are action states and most of the transitions are triggered by completion of the actions in the source states. This diagram focuses on flows driven by internal processing.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/physical.htm"><b style=""><span style="font-family: "Times New Roman","serif";">Physical Diagrams</span></b></a></span></p> <p class="MsoNormal" style="margin-left: 0in; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><b><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Component Diagram </span></b><span style="font-size: 10pt; font-family: "Arial","sans-serif";">displays the high level packaged structure of the code itself.<span style=""> </span>Dependencies among components are shown, including source code components, binary code components, and executable components.<span style=""> </span>Some components exist at compile time, at link time, at run times well as at more than one time.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p class="MsoNormal" style="margin-left: 0in; text-indent: -0.25in;"><!--[if !supportLists]--><span style="font-family: Symbol;"><span style="">·<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><b style=""><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Deployment Diagram<i style=""> </i></span></b><span style="font-size: 10pt; font-family: "Arial","sans-serif";">displays the configuration of run-time processing elements and the software components, processes, and objects that live on them.<span style=""> </span>Software component instances represent run-time manifestations of code units.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p><b><u><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);"><o:p><span style="text-decoration: none;"> </span></o:p></span></u></b></p> <p><b><u><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">Use Case Diagrams</span></u></b><b><u><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><o:p></o:p></span></u></b></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">A use case is a set of scenarios that describing an interaction between a user and a system. A use case diagram displays the relationship among actors and use cases. The two main components of a use case diagram are use cases and actors.</span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"> <v:f eqn="sum @0 1 0"> <v:f eqn="sum 0 0 @1"> <v:f eqn="prod @2 1 2"> <v:f eqn="prod @3 21600 pixelWidth"> <v:f eqn="prod @3 21600 pixelHeight"> <v:f eqn="sum @0 0 1"> <v:f eqn="prod @6 1 2"> <v:f eqn="prod @7 21600 pixelWidth"> <v:f eqn="sum @8 21600 0"> <v:f eqn="prod @7 21600 pixelHeight"> <v:f eqn="sum @10 21600 0"> </v:formulas> <v:path extrusionok="f" gradientshapeok="t" connecttype="rect"> <o:lock ext="edit" aspectratio="t"> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" alt="" style="'width:251.25pt;"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image001.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/actor.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">An actor is represents a user or another system that will interact with the system you are modeling. A use case is an external view of the system that represents some action the user might perform in order to complete a task.</span></p> <h3><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">When to Use: Use Cases Diagrams</span></h3> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Use cases are used in almost every project. The are helpful in exposing requirements and planning the project. During the initial stage of a project most use cases should be defined, but as the project continues more might become visible.</span></p> <h3><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">How to Draw: Use Cases Diagrams</span></h3> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Use cases are a relatively easy UML diagram to draw, but this is a very simplified example. This example is only meant as an introduction to the UML and use cases. If you would like to learn more see the <a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/resources.htm"><span style="font-family: "Times New Roman","serif";">Resources</span></a> page for more detailed resources on UML.</span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Start by listing a sequence of steps a user might take in order to complete an action. For example a user placing an order with a sales company might follow these steps.</span></p> <p class="MsoNormal" style="margin-left: 0in; text-indent: 0in;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><span style="">1.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Browse catalog and select items.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-left: 0in; text-indent: 0in;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><span style="">2.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Call sales representative.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-left: 0in; text-indent: 0in;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><span style="">3.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Supply shipping information.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-left: 0in; text-indent: 0in;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><span style="">4.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Supply payment information.<o:p></o:p></span></p> <p class="MsoNormal" style="margin-left: 0in; text-indent: 0in;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><span style="">5.<span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Receive conformation number from salesperson.<o:p></o:p></span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">These steps would generate this simple use case diagram:<o:p></o:p></span></p> <p><!--[if gte vml 1]><v:shape id="_x0000_i1026" type="#_x0000_t75" alt="" style="'width:282pt;height:316.5pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/usecase.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">This example shows the customer as a actor because the customer is using the ordering system. The diagram takes the simple steps listed above and shows them as actions the customer might perform. The salesperson could also be included in this use case diagram because the salesperson is also interacting with the ordering system.</span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">From this simple diagram the requirements of the ordering system can easily be derived. The system will need to be able to perform actions for all of the use cases listed. As the project progresses other use cases might appear. The customer might have a need to add an item to an order that has already been placed. This diagram can easily be expanded until a complete description of the ordering system is derived capturing all of the requirements that the system will need to perform.</span></p> <h1 style="text-align: left;" align="left">Class Diagrams</h1> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Class diagrams are widely used to describe the types of objects in a system and their relationships. Class diagrams model class structure and contents using design elements such as classes, packages and objects.<a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#2"><sup><span style="font-family: "Times New Roman","serif";">2</span></sup></a></span> <span style="font-size: 10pt; font-family: "Arial","sans-serif";">Class diagrams describe three different perspectives when designing a system, conceptual, specification, and implementation.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup> These perspectives become evident as the diagram is created and help solidify the design. This example is only meant as an introduction to the UML and class diagrams. If you would like to learn more see the <a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/resources.htm"><span style="font-family: "Times New Roman","serif";">Resources</span></a> page for more detailed resources on UML.</span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Classes are composed of three things: a name, attributes, and operations. Below is an example of a class.</span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><!--[if gte vml 1]><v:shape id="_x0000_i1027" type="#_x0000_t75" alt="" style="'width:249pt;height:101.25pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image004.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/class.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Class diagrams also display relationships such as containment, inheritance, associations and others.<a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#2"><sup><span style="font-family: "Times New Roman","serif";">2</span></sup></a></span> <span style="font-size: 10pt; font-family: "Arial","sans-serif";">Below is an example of an associative relationship:</span></p> <p><span style="font-family: "Arial","sans-serif";"><!--[if gte vml 1]><v:shape id="_x0000_i1028" type="#_x0000_t75" alt="" style="'width:369.75pt;height:154.5pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image005.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/association.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">The association relationship is the most common relationship in a class diagram. The association shows the relationship between instances of classes. For example, the class Order is associated with the class Customer. The multiplicity of the association denotes the number of objects that can participate in then relationship.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup> For example, an Order object can be associated to only one customer, but a customer can be associated to many orders.</span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Another common relationship in class diagrams is a generalization. A generalization is used when two classes are similar, but have some differences. Look at the generalization below:</span></p> <p><span style="font-family: "Arial","sans-serif";"><!--[if gte vml 1]><v:shape id="_x0000_i1029" type="#_x0000_t75" alt="" style="'width:327.75pt;height:300pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image006.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/general.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">In this example the classes Corporate Customer and Personal Customer have some similarities such as name and address, but each class has some of its own attributes and operations. The class Customer is a general form of both the Corporate Customer and Personal Customer classes.<sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup> This allows the designers to just use the Customer class for modules and do not require in-depth representation of each type of customer.</span></p> <h3><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">When to Use: Class Diagrams</span></h3> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Class diagrams are used in nearly all Object Oriented software designs. Use them to describe the Classes of the system and their relationships to each other.</span></p> <h3><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">How to Draw: Class Diagrams</span></h3> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Class diagrams are some of the most difficult UML diagrams to draw. To draw detailed and useful diagrams a person would have to study UML and Object Oriented principles for a long time. Therefore, this page will give a very high level overview of the process. To find list of where to find more information see the <a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/resources.htm"><span style="font-family: "Times New Roman","serif";">Resources</span></a> page.</span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Before drawing a class diagram consider the three different perspectives of the system the diagram will present; conceptual, specification, and implementation. Try not to focus on one perspective and try see how they all work together.</span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">When designing classes consider what attributes and operations it will have. Then try to determine how instances of the classes will interact with each other. These are the very first steps of many in developing a class diagram. However, using just these basic techniques one can develop a complete view of the software system.</span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";"><!--[if gte vml 1]><v:shape id="_x0000_i1030" type="#_x0000_t75" alt="" style="'width:450pt;height:312.75pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image007.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/classdiagram.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">This example is only meant as an introduction to the UML and use cases. If you would like to learn more see the <a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/resources.htm"><span style="font-family: "Times New Roman","serif";">Resources</span></a> page for more detailed resources on UML.</span></p> <h1 style="text-align: left;" align="left">Interaction Diagrams</h1> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Interaction diagrams model the behavior of use cases by describing the way groups of objects interact to complete the task. The two kinds of interaction diagrams are <b>sequence</b> and <b>collaboration</b> diagrams. This example is only meant as an introduction to the UML and interaction diagrams. If you would like to learn more see the <a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/resources.htm"><span style="font-family: "Times New Roman","serif";">Resources</span></a> page for a list of more detailed resources on UML.</span></p> <h3><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">When to Use: Interaction Diagrams</span></h3> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Interaction diagrams are used when you want to model the behavior of several objects in a use case. They demonstrate how the objects collaborate for the behavior. Interaction diagrams do not give a in depth representation of the behavior. If you want to see what a specific object is doing for several use cases use a <a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/state.htm"><span style="font-family: "Times New Roman","serif";">state diagram</span></a>. To see a particular behavior over many use cases or threads use an <a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/activity.htm"><span style="font-family: "Times New Roman","serif";">activity diagrams</span></a>. <sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <h3><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">How to Draw: Interaction Diagrams</span></h3> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Sequence diagrams, collaboration diagrams, or both diagrams can be used to demonstrate the interaction of objects in a use case. Sequence diagrams generally show the sequence of events that occur. Collaboration diagrams demonstrate how objects are statically connected. Both diagrams are relatively simple to draw and contain similar elements. <sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p><b><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Sequence diagrams:</span></b></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Sequence diagrams demonstrate the behavior of objects in a use case by describing the objects and the messages they pass. the diagrams are read left to right and descending. The example below shows an object of class 1 start the behavior by sending a message to an object of class 2. Messages pass between the different objects until the object of class 1 receives the final message.</span></p> <p><!--[if gte vml 1]><v:shape id="_x0000_i1031" type="#_x0000_t75" alt="" style="'width:297pt;height:126.75pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image008.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/seq1.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Below is a slightly more complex example. The light blue <span style="color: rgb(51, 204, 255);">vertical rectangles </span>the objects activation while the green vertical <span style="color: rgb(0, 102, 0);">dashed lines </span>represent the life of the object. The green <span style="color: rgb(0, 102, 0);">vertical rectangles</span> represent when a particular object has control. The <!--[if gte vml 1]><v:shape id="_x0000_i1032" type="#_x0000_t75" alt="" style="'width:13.5pt;height:13.5pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image010.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/delete.jpg"> </v:shape><![endif]--><!--[if !vml]--><img src="file:///D:/USERPR%7E1/sshende/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image010.jpg" shapes="_x0000_i1032" border="0" width="18" height="18" /><!--[endif]-->represents when the object is destroyed. This diagrams also shows conditions for messages to be sent to other object. The condition is listed between brackets next to the message. For example, a [condition] has to be met before the object of class 2 can send a message() to the object of class 3.</span></p> <p><!--[if gte vml 1]><v:shape id="_x0000_i1033" type="#_x0000_t75" alt="" style="'width:279pt;height:208.5pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image011.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/seq2.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">The next diagram shows the beginning of a sequence diagram for placing an order. The object an Order Entry Window is created and sends a message to an Order object to prepare the order. Notice the the names of the objects are followed by a colon. The names of the classes the objects belong to do not have to be listed. However the colon is required to denote that it is the name of an object following the objectName:className naming system.</span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Next the Order object checks to see if the item is in stock and if the [InStock] condition is met it sends a message to create an new Delivery Item object.</span></p> <p><!--[if gte vml 1]><v:shape id="_x0000_i1034" type="#_x0000_t75" alt="" style="'width:351pt;height:224.25pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image013.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/seq3.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">The next diagrams adds another conditional message to the Order object. If the item is [OutOfStock] it sends a message back to the Order Entry Window object stating that the object is out of stack.</span></p> <p><!--[if gte vml 1]><v:shape id="_x0000_i1035" type="#_x0000_t75" alt="" style="'width:342pt;height:217.5pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image015.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/seq4.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">This simple diagram shows the sequence that messages are passed between objects to complete a use case for ordering an item.</span></p> <p><b><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Collaboration diagrams:</span></b></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Collaboration diagrams are also relatively easy to draw. They show the relationship between objects and the order of messages passed between them. The objects are listed as icons and arrows indicate the messages being passed between them. The numbers next to the messages are called sequence numbers. As the name suggests, they show the sequence of the messages as they are passed between the objects. There are many acceptable sequence numbering schemes in UML. A simple 1, 2, 3... format can be used, as the example below shows, or for more detailed and complex diagrams a 1, 1.1 ,1.2, 1.2.1... scheme can be used.</span></p> <p><!--[if gte vml 1]><v:shape id="_x0000_i1036" type="#_x0000_t75" alt="" style="'width:225pt;height:110.25pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image017.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/collab1.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">The example below shows a simple collaboration diagram for the placing an order use case. This time the names of the objects appear after the colon, such as :Order Entry Window following the objectName:className naming convention. This time the class name is shown to demonstrate that all of objects of that class will behave the same way.</span></p> <p><!--[if gte vml 1]><v:shape id="_x0000_i1037" type="#_x0000_t75" alt="" style="'width:225pt;height:108pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image019.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/collab2.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></p> <p class="MsoNormal"><b><u><o:p><span style="text-decoration: none;"> </span></o:p></u></b></p> <h1 style="text-align: left;" align="left">State Diagrams</h1> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">State diagrams are used to describe the behavior of a system. State diagrams describe all of the possible states of an object as events occur. Each diagram usually represents objects of a single class and track the different states of its objects through the system.</span></p> <h3><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">When to Use: State Diagrams</span></h3> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Use state diagrams to demonstrate the behavior of an object through many use cases of the system. Only use state diagrams for classes where it is necessary to understand the behavior of the object through the entire system. Not all classes will require a state diagram and state diagrams are not useful for describing the collaboration of all objects in a use case. State diagrams are other combined with other diagrams such as <a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/interaction.htm"><span style="font-family: "Times New Roman","serif";">interaction diagrams</span></a> and <a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/activity.htm"><span style="font-family: "Times New Roman","serif";">activity diagrams</span></a>. <a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><sup><span style="font-family: "Times New Roman","serif";">1</span></sup></a></span></p> <h3><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">How to Draw: State Diagrams</span></h3> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">State diagrams have very few elements. The basic elements are rounded boxes representing the state of the object and arrows indicting the transition to the next state. The activity section of the state symbol depicts what activities the object will be doing while it is in that state.</span></p> <p><!--[if gte vml 1]><v:shape id="_x0000_i1038" type="#_x0000_t75" alt="" style="'width:153pt;height:91.5pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image021.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/state0.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">All state diagrams being with an initial state of the object. This is the state of the object when it is created. After the initial state the object begins changing states. Conditions based on the activities can determine what the next state the object transitions to.</span></p> <p><!--[if gte vml 1]><v:shape id="_x0000_i1039" type="#_x0000_t75" alt="" style="'width:172.5pt;height:196.5pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image023.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/state1.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Below is an example of a state diagram might look like for an Order object. When the object enters the Checking state it performs the activity "check items." After the activity is completed the object transitions to the next state based on the conditions [all items available] or [an item is not available]. If an item is not available the order is canceled. If all items are available then the order is dispatched. When the object transitions to the Dispatching state the activity "initiate delivery" is performed. After this activity is complete the object transitions again to the Delivered state.</span></p> <p><!--[if gte vml 1]><v:shape id="_x0000_i1040" type="#_x0000_t75" alt="" style="'width:297pt;height:204.75pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image025.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/state2.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">State diagrams can also show a super-state for the object. A super-state is used when many transitions lead to the a certain state. Instead of showing all of the transitions from each state to the redundant state a super-state can be used to show that all of the states inside of the super-state can transition to the redundant state. This helps make the state diagram easier to read.</span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">The diagram below shows a super-state. Both the Checking and Dispatching states can transition into the Canceled state, so a transition is shown from a super-state named Active to the state Cancel. By contrast, the state Dispatching can only transition to the Delivered state, so we show an arrow only from the Dispatching state to the Delivered state.</span></p> <p><!--[if gte vml 1]><v:shape id="_x0000_i1041" type="#_x0000_t75" alt="" style="'width:270pt;height:159pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image027.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/state3.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></p> <p><b><u><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">Activity Diagrams<o:p></o:p></span></u></b></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Activity diagrams describe the workflow behavior of a system. Activity diagrams are similar to <a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/state.htm"><span style="font-family: "Times New Roman","serif";">state diagrams</span></a> because activities are the state of doing something. The diagrams describe the state of activities by showing the sequence of activities performed. Activity diagrams can show activities that are conditional or parallel.</span></p> <h3><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">When to Use: Activity Diagrams</span></h3> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Activity diagrams should be used in conjunction with other modeling techniques such as <a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/interaction.htm"><span style="font-family: "Times New Roman","serif";">interaction diagrams</span></a> and <a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/state.htm"><span style="font-family: "Times New Roman","serif";">state diagrams</span></a>. The main reason to use activity diagrams is to model the workflow behind the system being designed. Activity Diagrams are also useful for: analyzing a use case by describing what actions need to take place and when they should occur; describing a complicated sequential algorithm; and modeling applications with parallel processes. <sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">However, activity diagrams should not take the place of <a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/interaction.htm"><span style="font-family: "Times New Roman","serif";">interaction diagrams</span></a> and <a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/state.htm"><span style="font-family: "Times New Roman","serif";">state diagrams</span></a>. Activity diagrams do not give detail about how objects behave or how objects collaborate. <sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <h3><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">How to Draw: Activity Diagrams</span></h3> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Activity diagrams show the flow of activities through the system. Diagrams are read from top to bottom and have branches and forks to describe conditions and parallel activities. A fork is used when multiple activities are occurring at the same time. The diagram below shows a fork after activity1. This indicates that both activity2 and activity3 are occurring at the same time. After activity2 there is a branch. The branch describes what activities will take place based on a set of conditions. All branches at some point are followed by a merge to indicate the end of the conditional behavior started by that branch. After the merge all of the parallel activities must be combined by a join before transitioning into the final activity state. </span></p> <p><!--[if gte vml 1]><v:shape id="_x0000_i1042" type="#_x0000_t75" alt="" style="'width:156pt;height:315.75pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image029.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/activity1.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Below is a possible activity diagram for processing an order. The diagram shows the flow of actions in the system's workflow. Once the order is received the activities split into two parallel sets of activities. One side fills and sends the order while the other handles the billing. On the Fill Order side, the method of delivery is decided conditionally. Depending on the condition either the Overnight Delivery activity or the Regular Delivery activity is performed. Finally the parallel activities combine to close the order. </span></p> <p><!--[if gte vml 1]><v:shape id="_x0000_i1043" type="#_x0000_t75" alt="" style="'width:216.75pt;height:251.25pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image031.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/activity2.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--><b><u><o:p></o:p></u></b></p> <p class="MsoCaption">Physical Diagrams</p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">There are two types of physical diagrams: <b>deployment diagrams</b> and <b>component diagrams.</b> Deployment diagrams show the physical relationship between hardware and software in a system. Component diagrams show the software components of a system and how they are related to each other. These relationships are called dependencies. <sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup></span></p> <h3><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">When to Use: Physical Diagrams</span></h3> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Physical diagrams are used when development of the system is complete. Physical diagrams are used to give descriptions of the physical information about a system. </span></p> <h3><span style="font-family: "Arial","sans-serif"; color: rgb(148, 44, 44);">How to Draw: Physical Diagrams</span></h3> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">Many times the deployment and component diagrams are combined into one physical diagram. A combined deployment and component diagram combines the features of both diagrams into one diagram. </span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">The deployment diagram contains nodes and connections. A node usually represents a piece of hardware in the system. A connection depicts the communication path used by the hardware to communicate and usually indicates a method such as TCP/IP. </span></p> <p><!--[if gte vml 1]><v:shape id="_x0000_i1044" type="#_x0000_t75" alt="" style="'width:252pt;height:220.5pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image033.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/physical1.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">The component diagram contains components and dependencies. Components represent the physical packaging of a module of code. The dependencies between the components show how changes made to one component may affect the other components in the system. Dependencies in a component diagram are represented by a dashed line between two or more components. Component diagrams can also show the interfaces used by the components to communicate to each other. <sup><a href="http://pigseye.kennesaw.edu/%7Edbraun/csis4650/A&D/UML_tutorial/#1"><span style="font-family: "Times New Roman","serif";">1</span></a></sup> </span></p> <p><span style="font-size: 10pt; font-family: "Arial","sans-serif";">The combined deployment and component diagram below gives a high level physical description of the completed system. The diagram shows two nodes which represent two machines communicating through TCP/IP. Component2 is dependant on component1, so changes to component 2 could affect component1. The diagram also depicts component3 interfacing with component1. This diagram gives the reader a quick overall view of the entire system. </span></p> <p><!--[if gte vml 1]><v:shape id="_x0000_i1045" type="#_x0000_t75" alt="" style="'width:270pt;height:227.25pt'"> <v:imagedata src="file:///D:\USERPR~1\sshende\LOCALS~1\Temp\msohtmlclip1\01\clip_image035.jpg" href="http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/physical2.jpg"> </v:shape><![endif]--><!--[if !vml]-->
<br /><!--[endif]--></p> <p class="MsoNormal" style="text-align: center;" align="center"><b><u><o:p><span style="text-decoration: none;"> </span></o:p></u></b></p> <p class="MsoNormal" style="text-align: center;" align="center"><b><u><o:p><span style="text-decoration: none;"> </span></o:p></u></b></p> sandyhttp://www.blogger.com/profile/02503582209971047801noreply@blogger.com0