📄 oobject102001.htm
字号:
<html><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><!-- InstanceBegin template="/Templates/neirong.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>UML软件工程组织</title>
<!-- InstanceEndEditable -->
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable -->
<style type="text/css">
<!--
@import url("style.css");
-->
</style>
</head>
<body>
<table width="760" height="38" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="129" align="center">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="100" height="71">
<param name="movie" value="../images/logo.swf">
<param name="quality" value="high">
<embed src="logo-1.swf" tppabs="http://www.uml.org.cn/images/logo.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100" height="71"></embed></object></td>
<td width="631"><B><FONT color=#008080
size=6>UML</FONT><FONT color=#008080><FONT face=方正姚体 color=#008080
size=6>软件工程</FONT><FONT face=方正姚体 size=6>组织</FONT></FONT></B>
<table width="50%" border="0" align="right" cellpadding="0" cellspacing="1">
<tr>
<td class="content"><div align="center" class="content"><a href="javascript:if(confirm('http://www.uml.net.cn/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.uml.net.cn/'" tppabs="http://www.uml.net.cn/" target="_blank" class="content_a">北京火龙果软件工程技术中心</a></div></td>
</tr>
</table></td>
</tr>
</table>
<hr width="760" size="1" noshade>
<table width="760" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="56" align="center" valign="middle" class="title"> <B><FONT color=#ff0000
size=3><!-- #BeginEditable "1" --></FONT><span class="h2">UML basics: An introduction to the Unified Modeling Language</span><FONT color=#ff0000
size=3><!-- #EndEditable --></FONT></B></td>
</tr>
<tr>
<td height="40" align="center" class="formtitle">
<table>
<tr>
<td><font size="2" color="#000080">by <a href="javascript:if(confirm('http://www.therationaledge.com/bio/donaldbell.html \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.therationaledge.com/bio/donaldbell.html'" tppabs="http://www.therationaledge.com/bio/donaldbell.html"><b>Donald
Bell</b></a></font></td>
<td vAlign="top" rowSpan="3"><!--- Optional PDF: -Replace the table below with if you don't want to offer a pdf--->
<table cellSpacing="0" cellPadding="5" border="0">
<tbody>
<tr>
<td width="20"><font size="2" color="#000080"> </font></td>
<td><font color="#000080" size="2"><a onmouseover="On('pdf')" onmouseout="Off('pdf')" href="javascript:if(confirm('http://www.therationaledge.com/content/jun_03/pdf/f_umlintro_db.pdf \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.therationaledge.com/content/jun_03/pdf/f_umlintro_db.pdf'" tppabs="http://www.therationaledge.com/content/jun_03/pdf/f_umlintro_db.pdf"><img height="40" alt="Download pdf version" src="pdf_off.gif.htm" tppabs="http://www.therationaledge.com/images/pdf_off.gif" width="128" border="0" name="pdf"></a>
(2.23 M)</font></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td><font size="2" color="#000080">IBM Global Services</font></td>
</tr>
</table>
<!-- #BeginEditable "2" --><!-- #EndEditable --></td>
</tr>
</table>
<table width="760" height="65" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="65" class="content"><!-- #BeginEditable "3" -->
<table width="85%" border="0" align="center">
<tr>
<td class="content"><font color="#000000">Way back in the late
twentieth century -- 1997 to be exact -- the Object Management Group
(OMG) released the Unified Modeling Language (UML). One of the
purposes of UML was to provide the development community with a
stable and common design language that could be used to develop and
build computer applications. UML brought forth a unified standard
modeling notation that IT professionals had been wanting for years.
Using UML, IT professionals could now read and disseminate system
structure and design plans -- just as construction workers have been
doing for years with blueprints of buildings.</font>
<p><font color="#000000">It is now the twenty-first century -- 2003
to be precise -- and UML has gained traction in our profession. On
75 percent of the resumes I see, there is a bullet point claiming
knowledge of UML. However, after speaking with a majority of these
job candidates, it becomes clear that they do not truly know UML.
Typically, they are either using it as a buzz word, or they have had
a sliver of exposure to UML. This lack of understanding inspired me
to write this quick introduction to UML 1.4. When you are finished
reading you will not have enough knowledge to put UML on your
resume, but you will have a starting point for digging more deeply
into the language.<br>
</font></p>
<h3><font color="#000000">A little background</font></h3>
<p><font color="#000000">As I mentioned, UML was meant to be a
unifying language enabling IT professionals to model computer
applications. The primary authors were Jim Rumbaugh, Ivar Jacobson,
and Grady Booch, who originally had their own competing methods (OMT,
OOSE, and Booch). Eventually, they joined forces and brought about
an open standard. (Sound familiar? A similar phenomenon spawned
J2EE, SOAP, and Linux.) One reason UML has become a standard
modeling language is that it is programming-language independent. (UML
modeling tools from IBM Rational are used extensively in J2EE shops
as well in .Net shops.) Also, the UML notation set is a language and
not a methodology. This is important, because a language, as opposed
to a methodology, can easily fit into any company's way of
conducting business without requiring change.</font></p>
<p><font color="#000000">Since UML is not a methodology, it does not
require any formal work products (i.e., "artifacts" in IBM
Rational Unified Process<sup>®</sup> lingo). Yet it does provide
several types of diagrams that, when used within a given
methodology, increase the ease of understanding an application under
development. There is more to UML than these diagrams, but for my
purposes here, the diagrams offer a good introduction to the
language and the principles behind its use. By placing standard UML
diagrams in your methodology's work products, you make it easier for
UML-proficient people to join your project and quickly become
productive. The most useful, standard UML diagrams are: use case
diagram, class diagram, sequence diagram, statechart diagram,
activity diagram, component diagram, and deployment diagram.</font></p>
<p><font color="#000000">It is beyond the scope of this introductory
article to go into great detail about each type of diagram. Instead,
I will provide you with enough information for a general
understanding of each one and then supply more details in later
articles.</font></p>
<h3><font color="#000000">Use-case diagram</font></h3>
<p><font color="#000000">A use case illustrates a unit of
functionality provided by the system. The main purpose of the
use-case diagram is to help development teams visualize the
functional requirements of a system, including the relationship of
"actors" (human beings who will interact with the system)
to essential processes, as well as the relationships among different
use cases. Use-case diagrams generally show groups of use cases --
either all use cases for the complete system, or a breakout of a
particular group of use cases with related functionality (e.g., all
security administration-related use cases). To show a use case on a
use-case diagram, you draw an oval in the middle of the diagram and
put the name of the use case in the center of, or below, the oval.
To draw an actor (indicating a system user) on a use-case diagram,
you draw a stick person to the left or right of your diagram (and
just in case you're wondering, some people draw prettier stick
people than others). Use simple lines to depict relationships
between actors and use cases, as shown in Figure 1.</font></p>
<p> </p>
<p align="center"><a href="javascript:if(confirm('http://www.therationaledge.com/images/jun_03/bell_fig1.gif \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.therationaledge.com/images/jun_03/bell_fig1.gif'" tppabs="http://www.therationaledge.com/images/jun_03/bell_fig1.gif"><font color="#000000"><img height="437" alt="Figure 1: Sample use-case diagram" src="bell_fig1s.gif.htm" tppabs="http://www.therationaledge.com/images/jun_03/bell_fig1s.gif" width="540" border="0"></font></a></p>
<h5 align="center"><font color="#000000">Figure 1: Sample use-case
diagram<br>
<a href="javascript:if(confirm('http://www.therationaledge.com/images/jun_03/bell_fig1.gif \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.therationaledge.com/images/jun_03/bell_fig1.gif'" tppabs="http://www.therationaledge.com/images/jun_03/bell_fig1.gif">Click
to enlarge</a></font></h5>
<p><font color="#000000"><br>
A use-case diagram is typically used to communicate the high-level
functions of the system and the system's scope. By looking at our
use-case diagram in Figure 1, you can easily tell the functions that
our example system provides. This system lets the band manager view
a sales statistics report and the Billboard 200 report for the
band's CDs. It also lets the record manager view a sales statistics
report and the Billboard 200 report for a particular CD. The diagram
also tells us that our system delivers Billboard reports from an
external system called Billboard Reporting Service.</font></p>
<p><font color="#000000">In addition, the absence of use cases in
this diagram shows what the system doesn't do. For example, it does
not provide a way for a band manager to listen to songs from the
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -