??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲人成电影福利在线播放,国产精品亚洲小说专区,亚洲人成www在线播放http://www.tkk7.com/balajinima/category/26956.htmlzh-cnFri, 29 Feb 2008 08:20:09 GMTFri, 29 Feb 2008 08:20:09 GMT60SSH?struts hibernate spring 各v什么作?http://www.tkk7.com/balajinima/articles/182937.html李云?/dc:creator>李云?/author>Fri, 29 Feb 2008 07:19:00 GMThttp://www.tkk7.com/balajinima/articles/182937.htmlhttp://www.tkk7.com/balajinima/comments/182937.htmlhttp://www.tkk7.com/balajinima/articles/182937.html#Feedback0http://www.tkk7.com/balajinima/comments/commentRss/182937.htmlhttp://www.tkk7.com/balajinima/services/trackbacks/182937.html 单的_(d)(x)

struts 控制用的

hibernate 操作数据库的

spring 用解耦的
详细的说Q?/span>

STRUTS ?/span> SSH 框架中v控制的作?/span> , 其核心是 Controller, ?/span> ActionServlet, ?/span> ActionServlet 的核心就?/span> Struts-confi g.xml. 主要控制逻辑关系的处?/span> .

hibernate 是数据持久化?/span> , 是一U新的对象、关pȝ映射工具 , 提供了从 Java cd数据表的映射Q也提供了数据查询和恢复{机?/span> , 大大减少数据讉K的复杂度。把Ҏ(gu)据库的直接操?/span> , 转换为对持久对象的操?/span> .

SPRING 是一个轻量的控制反?/span> (IoC) 和面向切?/span> (AOP) 的容器框?/span> , 面向接口的编E?/span> , 由容器控制程序之间的Q依赖)关系Q而非传统实现中,q序代码直接操控。这也就是所?/span> ?/span> 控制反{ ?/span> 的概忉|在:(x)Q依赖)控制权由应用代码中{C外部容器Q控制权的{U,是所谓反转。依赖注入,即组件之间的依赖关系由容器在q行期决定,形象的来_(d)即由容器动态的某U依赖关pL入到lg之中
起到的主要作用是解?/span>

Struts ?/span> spring ?/span> Hibernate 在各层的作用

1 Q?/span> struts 负责 web ?/span> .

ActionFormBean 接收|页中表单提交的数据Q然后通过 Action q行处理Q再 Forward 到对应的|页?/span>

?/span> struts-config.xml 中定?/span> <action-mapping>, ActionServlet ?x)加载?/span>

2 Q?/span> spring 负责业务层管理,?/span> Service Q或 Manager).

1 Q?/span> service ?/span> action 提供l计的调用接口,装持久层的 DAO.

2 Q可以写一些自q业务Ҏ(gu)?/span>

3 Q统一?/span> javabean 理Ҏ(gu)

4 Q声明式事务理

5. 集成 Hiberante

3 Q?/span> Hiberante Q负责持久化层,完成数据库的 crud 操作

hibernate 为持久层Q提?/span> OR/Mapping ?/span>

它有一l?/span> .hbm.xml 文g?/span> POJO, 是跟数据库中的表相对应的。然后定?/span> DAO Q这些是跟数据库打交道的c,它们?x)?/span> PO ?/span>

?/span> struts+spring+hibernate 的系l中Q?/span>

对象的调用流E是Q?/span> jsp-> Action Q?/span> > Service ->DAO ->Hibernate ?/span>

数据的流向是 ActionFormBean 接受用户的数据, Action 数据从 ActionFromBean 中取出,装?/span> VO ?/span> PO,

再调用业务层?/span> Bean c,完成各种业务处理后再 forward 。而业务层 Bean 收到q个 PO 对象之后Q会(x)调用 DAO 接口Ҏ(gu)Q进行持久化操作?/span>

 



]]>
javadoc文注释http://www.tkk7.com/balajinima/articles/173665.html李云?/dc:creator>李云?/author>Tue, 08 Jan 2008 07:49:00 GMThttp://www.tkk7.com/balajinima/articles/173665.htmlhttp://www.tkk7.com/balajinima/comments/173665.htmlhttp://www.tkk7.com/balajinima/articles/173665.html#Feedback0http://www.tkk7.com/balajinima/comments/commentRss/173665.htmlhttp://www.tkk7.com/balajinima/services/trackbacks/173665.html用于提取注释的工具叫作javadoc。它采用了部分来自Java~译器的技术,查找我们|入E序的特D注释标记。它不仅提取p些标记指C的信息Q也毗L释的cd或方法名提取出来。这样一来,我们可用最ȝ工作量,生成十分专业的程序文?
javadoc输出的是一个HTML文gQ可用自qWeb览器查看。该工具允许我们创徏和管理单个源文gQƈ生动生成有用的文。由于有了jvadocQ所以我们能够用标准的方法创建文档。而且׃它非常方便,所以我们能L获得所有Java库的文档?

2 具体语法
所有javadoc命o(h)都只能出C?**”注释中。但和^怸P注释l束于一个?/”。主要通过两种方式来用javadocQ嵌入的HTMLQ或使用“文档标记”。其中,“文档标记”(Doc tagsQ是一些以“@”开头的命o(h)Q置于注释行的v始处Q但前导的?”会(x)被忽略)?
有三U类型的注释文Q它们对应于位于注释后面的元素:(x)cR变量或者方法。也是_(d)一个类注释正好位于一个类定义之前Q变量注释正好位于变量定义之前;而一个方法定义正好位于一个方法定义的前面。如下面q个单的例子所C:(x)

/** 一个类注释 */
public class docTest {
/** 一个变量注?*/
public int i;
/** 一个方法注?*/
public void f() {}
}

注意javadoc只能为publicQ公共)和protectedQ受保护Q成员处理注释文。“private”(U有Q和“友好”(详见5章)成员的注释会(x)被忽略,我们看不CQ何输出(也可以用-private标记包括private成员Q。这样做是有道理的,因ؓ(f)只有public和protected成员才可在文件之外用,q是客户E序员的希望。然而,所有类注释都会(x)包含到输出结果里?
上述代码的输出是一个HTML文gQ它与其他Java文h相同的标准格式。因此,用户?x)非常熟?zhn)这U格式,可在(zhn)设计的cM方便地“O游”。设计程序时Q请务必考虑输入上述代码Q用javadoc处理一下,观看最lHTML文g的效果如何?

3 嵌入HTML
javadocHTML命o(h)传递给最l生成的HTML文档。这便我们能够充分利用HTML的巨大威力。当Ӟ我们的最l动机是格式化代码,不是Z哗众取宠。下面列Z个例子:(x)

/**
*
* System.out.println(new Date());
*

*/

亦可象在其他Web文档里那栯用HTMLQ对普通文本进行格式化Q其更h理、更加美观:(x)
/**
* (zhn)甚臛_以插入一个列表:(x)
*

*
目一
*
目?
*
目?
*

*/

注意在文档注释中Q位于一行最开头的星号?x)被javadoc丢弃。同时丢弃的q有前导I格。javadoc?x)对所有内容进行格式化Q其与标准的文外观相W。不要将
?

q样的标题当作嵌入HTML使用Q因为javadoc?x)插入自q标题Q我们给出的标题?x)与之冲撞?
所有类型的注释文——类、变量和Ҏ(gu)——都支持嵌入HTML?

4 @seeQ引用其他类
所有三U类型的注释文都可包含@see标记Q它允许我们引用其他c里的文。对于这个标讎ͼjavadoc?x)生成相应的HTMLQ将其直接链接到其他文。格式如下:(x)

@see cd
@see 完整cd
@see 完整cd
每一格式都会(x)在生成的文里自动加入一个超链接的“See Also”(参见Q条目。注意javadoc不会(x)查我们指定的链接,不会(x)验证它们是否有效?

5 cL档标?
随同嵌入HTML和@see引用Q类文档q可以包括用于版本信息以?qing)作者姓名的标记。类文亦可用于“接口”目的(本书后面?x)详l解释)?

1. @version
格式如下Q?
@version 版本信息
其中Q“版本信息”代表Q何适合作ؓ(f)版本说明的资料。若在javadoc命o(h)行用了?version”标讎ͼ׃(x)从生成的HTML文里提取出版本信息?

2. @author
格式如下Q?
@author 作者信?
其中Q“作者信息”包括?zhn)的姓名、电(sh)子函件地址或者其他Q何适宜的资料。若在javadoc命o(h)行用了?author”标讎ͼ׃(x)专门从生成的HTML文里提取出作者信息?
可ؓ(f)一pd作者用多个这L(fng)标记Q但它们必须q箋攄。全部作者信息会(x)一起存入最lHTML代码的单独一个段落里?

6 变量文档标记
变量文只能包括嵌入的HTML以及(qing)@see引用?

7 Ҏ(gu)文标记
除嵌入HTML和@see引用之外Q方法还允许使用针对参数、返回g?qing)违例的文标记?

1. @param
格式如下Q?
@param 参数?说明
其中Q“参数名”是指参数列表内的标识符Q而“说明”代表一些可延箋到后l行内的说明文字。一旦遇C个新文档标记Q就认ؓ(f)前一个说明结束。可使用L数量的说明,每个参数一个?

2. @return
格式如下Q?
@return 说明
其中Q“说明”是指返回值的含义。它可gl到后面的行内?

3. @exception
有关“违例”(ExceptionQ的详细情况Q我们会(x)在第9章讲q。简a之,它们是一些特D的对象Q若某个Ҏ(gu)p|Q就可将它们“扔出”对象。调用一个方法时Q尽只有一个违例对象出玎ͼ但一些特D的Ҏ(gu)也许能生Q意数量的、不同类型的q例。所有这些违例都需要说明。所以,q例标记的格式如下:(x)
@exception 完整cd 说明
其中Q“完整类名”明指定了一个违例类的名字,它是在其他某个地方定义好的。而“说明”(同样可以延箋C面的行)告诉我们Z么这U特D类型的q例?x)在?gu)调用中出现?

4. @deprecated
q是Java 1.1的新Ҏ(gu)。该标记用于指出一些旧功能已由改进q的新功能取代。该标记的作用是用户不必再用一U特定的功能Q因为未来改版时可能摒弃q一功能。若一个方法标Cؓ(f)@deprecatedQ则使用该方法时?x)收到编译器的警告?/p>

]]>
如何从开发h员走向架构师 http://www.tkk7.com/balajinima/articles/146914.html李云?/dc:creator>李云?/author>Thu, 20 Sep 2007 12:23:00 GMThttp://www.tkk7.com/balajinima/articles/146914.htmlhttp://www.tkk7.com/balajinima/comments/146914.htmlhttp://www.tkk7.com/balajinima/articles/146914.html#Feedback0http://www.tkk7.com/balajinima/comments/commentRss/146914.htmlhttp://www.tkk7.com/balajinima/services/trackbacks/146914.html 

  在寻找优U的指挥的时候,(zhn)首先要扄是一名优U的音乐演奏家。但q每个音乐演奏安能成ZU的指挥。架构师的专业发展方面也与此cM。越来越多的 IT l织开始认识到良好软g体系l构的重要性,架构师职业正q速发展ؓ(f) IT 内一个独立的门类。由于要从相当小的候选范围内招募架构师,因此q就l管理带来了一些新挑战。即使h力资源部门找C候选者,针对l验q行的筛选也比其他门cLZ根{跨这些障的最快方式是要认识到Q大部分好的架构师同时也是好的开发h员,因此L架构师h才时可能首先应该从普通开发h员中找v。招聘h员在对候选?内部或外?q行详细审查Ӟ应该考虑q个观点。不q,Ҏ(gu)资源q行挑选可能比较麻烦,因ؓ(f)只有极少的优U开发h员具有成为架构师的特征或愿望?/p>

  本文列出了开发h员成为架构师要进行的工作。我从可能考虑q行此{型的开发h员和评估q行此{型的开发h员的l理q两个方面来探讨q一问题。我q将提供一pd在做些决{时要考虑的因素?/p>

  个h特征

  软g开发团队和理层之间的联系始终?IT 中的一个关键所在。二者都們֐于以完全不同的方式考虑l定的问题。大部分相关技?/strong>都是讨论目l理应如何跟t和解释开发h员的q度和问题。但沟通不的情况仍然非常普遍Q而且q是目p|的首要原因。好的架构师是解册个问题的最有效办法。架构师的主要责L提供开发h员和目l理之间的共用沟通媒体。他们负责让业务规则?qing)需求与工程实践?qing)限制相适应Q以保成功。以下是成功架构师的一些主要特征?/p>

  愿意q有能力q行沟通:(x)在开发h员中发现架构师的最有h(hun)值标准是有效的沟通。?zhn)需要技术娴熟、经验丰富的开发h员,q样的h员需要有项目中的业务相关问题进行沟通的l历。架构师l常必须对理解方面的差距q行预计Q然后才能有所贡献。他们必L意克服困难来保技术和业务观点的融合。他们ƈ不必Ҏ(gu)见交换工作进行计划和协调;q仍然主要是目l理的工作。他们的d是确定表q系l?strong mnt="" sale0703="" www="">设计时的最?jng)_具和构gQ以促进有效的意见交换。他们必能够判断当前方法显得不需要采用新Ҏ(gu)的情c写作技能也非常重要Q还需要具有制作草囄技能或使用制图软g的能力?

  h处理谈判l节斚w的经验:(x)架构师经帔R要负责讨论系l开发的技术折h案。优先的冲H可能会(x)带来实践限制、风险规避或可能D在各个不同业务组之间需求不同。优U的架构师能够有效地评估技术可能性,q能在不损失目的主要h(hun)值的前提下制订开发计划来处理各种利害关系和限制。这与前面讨论的沟通技能紧密相养I但同时也要体现架构师的技术能力。好的架构师候选者应该是l常帮助Ҏ(gu)争议的讨行引导的人,能够使讨论得出新的想法,而不?x)其在一个位|停滞不前?

  自觉d;U极解决设计问题Q?/strong>架构师的日常工作目标l常q不明确。很多开发h员直接参考功能规范来列出d清单。架构师通常则是向这些开发h员提供所需l构的h员,以便可能提高工作效率。好的候选者不仅进行沟通方面的工作Q而且也会(x)预计各种设计问题q加以解决——通常在没有Q何具体指C的情况下自觉进行。无论所分配的职责如何,U极参与目的开发h员都有机?x)从一起工作的人员中脱颖而出?

  抽象思维和分析:(x)架构师必能够理解表q模p的概念q将其变成相兛_方能够理解的目构g。他们必能够理解抽象概念,q以具体的语a对其q行沟通。开发h员中好的候选者经常要求或自己d解释开发生命周期中Ҏ(gu)h的问题。他们能q速评估各U想法ƈ其U_后箋工作的操作徏议中?/p>

  开发h员经常具有很强的数学能力Q而好的架构师则們֐于表现出更强的口头表达能力。管理h员经常说开发h员具有“工E意识”,而这是一个用于评估架构师的非常有意义的方面。架构师应该h很强的解x术问题的能力Q但q必能够准获知更为全面的人员如何与技术交互的信息。这要求h某种形式的抽象思维(而不再是代码的细?Q这U思维能力可能较难形成?/p>

  有些为,某种U别的正式教育是成ؓ(f)优秀开发h员的必备条g之一Q我q不同意q种_英论。我遇到了很多高中就辍学的优U开发h员。不q,对于体系l构设计工作Q我的个人经验以?qing)我?gu)需能力的认识都让我怿Q好的架构师通常臛_获得了一个有挑战性的学士学位?/p>

  跟踪生命周期

  好的架构师通常有在具备定义良好的Y件开发生命周?Software Development Life CycleQSDLC)的组l工作的l验。架构师必须理解在其所属专业内最重要的操作过E。这q不意味着需要有其他前提Q例如,q不需要高能力成熟度模?Capability Maturity ModelQCMM)U别的工作经验。好的架构师可能来自使用 SDLC 的多个小型P代的极限~程(Extreme ProgrammingQXP)Ҏ(gu)的组l。务必注意各U传lY件开发操作,?Michael A. Jackson 的方法:(x)Jackson l构~程(Jackson Structured ProgrammingQJSP)?Jackson pȝ开?Jackson System DevelopmentQJSD)。Jackson 的研I对架构师职业发展的意义像 Donald Knuth 的研I对E序员一样重要。架构师可以偏爱Ml典的、经q时间考验的Y件系l开发方法?/p>

  SDLC 也可以成估架构师合适h选的有用机制。每?SDLC 阶段都具有能提供相关U烦的特征。SDLC 包含很多的变体Q但在此部分Q我用几乎所有方法的公共基础部分。下面的列表详细说明?SDLC 的各个阶D,q列Z好的架构师候选者在每个阶段表现出来的特征?/p>

  •   分析Q?/strong>在分析期_(d)好的架构师会(x)考虑非技术媄响,以便了解需求和在其中q行开发的环境。架构师可ؓ(f)风险评估d带来q泛的Y件经验供参考。寻扑օ有丰富经验的开发h员,以帮助业务部门理解技术h员正解释需求所需的信息。寻扑֜开发的早期阶段能够预计可能遇到的问题的开发h员?
  •   设计Q?/strong>在高U设计期_(d)好的架构师会(x)攉问题I间的各个抽象元素,q就其进行沟通,以便开发团队草拟将要开发的pȝ的相兛_表。架构师负责需求}慎地映射到所得到的系l体pȝ构的功能。在详细设计期间Q他们所扮演的角色ƈ不是核心角色Q但ZҎ(gu)整个pȝ的规则对特定模块的元素进行审查,仍然需要他们。寻扑֖于让团队能够预计设计决策Ҏ(gu)l系l的影响的开发h员。寻扑֖于确定一些最x件来促进与技术和非技术受众沟通设计问题的开发h员?
  •   实现Q?/strong>在实现期_(d)架构师对目q行引导Q以保其符合系l体pȝ构。他们在一U评估技术更改请求,q确定如何对设计q行调整Q以最好地处理此类h。架构师q要密切了解开发h员的q度Q特别要跟踪pȝ中模块间的集成点的状态。寻扄常对讨论q行引导来连接多个子pȝ的开发h员。寻N目经理可以依赖其快速地q行与更改和出现的问题相关的风险评估的开发h员?
  •   试Q?/strong>架构师对pȝ集成和用h受度试q行指导Qƈ负责评估q度的正沟通的持箋试l果。寻扄解错误模式且善于测试复查结果{换ؓ(f)行动计划的开发h员?
  •   l护Q?/strong>在维护期_(d)架构师将发v关于pȝ集成的讨论。无论处?IT 基础设施问题Q还是确保部门之间的技术合作,架构师都必须完全理解应用E序Q必d速学?fn)姊妹应用程序的体系l构Q而且必须集成点和风险进行有效沟通。寻扑օ有系l集成经验且表现出快速掌握全貌的能力的开发h员。系l集成是一独特的d?

  架构师培d?/strong>

  有些l织能比其他l织更有效地q行架构师培充R如果充分考虑到招聘此cL专业人才的困难,努力促成能鼓励开发h员发展ؓ(f)架构师的环境是非常明智的{略。但务必避免对不愿意或不适合走这条\的开发h员进行处|。组l应该ؓ(f)开发h员制订多条发展\U,包括那些愿意l箋担Q开发h员的人。对架构师而言Q资深开发h员不可或~。他们可以实现系l中最关键的模块。通过对其他开发h员进行代码检查和试支持Q他们可帮助保M软g质量Q而如果质量不能保证,即最好的体系l构也毫无用处?/p>

  l织应制订个估程序,以鼓励开发h员考虑其职业目标,其中要包含体pȝ构设计的选项。应该鼓q理在其下属中L体系l构设计人才。应该实现指D划,让架构师与希望成为架构师的开发h员协作工作。应该鼓励开发h员通过参加各种协会(x)、撰写文章和参加?x)议Q从而参与到专业领域中来。通过q样参与q来Q可帮助开发h员从新的角度理解pȝQƈ帮助他们更好地就其认识进行沟通。这栯能培d提高效率的重要创新想法?/p>

  l束?/strong>

  开发h员一旦迈Z通向体系l构设计专业方向的第一步,可以利用很多资源来获得帮助Q其中包括很多来?IBM 的资源。有时候,此过E的最困难的部分就是第一步,而本文提供了一些线索和提示Q经理和开发h员可以利用其来评估应该鼓励哪些h努力成ؓ(f)架构师?/p>

]]>
[转]UML学习(fn)W记Q二Q:(x)q用面向对象思想 http://www.tkk7.com/balajinima/articles/146900.html李云?/dc:creator>李云?/author>Thu, 20 Sep 2007 11:43:00 GMThttp://www.tkk7.com/balajinima/articles/146900.htmlhttp://www.tkk7.com/balajinima/comments/146900.htmlhttp://www.tkk7.com/balajinima/articles/146900.html#Feedback0http://www.tkk7.com/balajinima/comments/commentRss/146900.htmlhttp://www.tkk7.com/balajinima/services/trackbacks/146900.html
关键?   UML学习(fn)W记    

WashingMachine(z?span lang="EN-US">)cLHousehold Appliances(家用?sh)?span lang="EN-US">)包的一部分Q那么这个类的名字ؓ(f)Q?span lang="EN-US">Household Appliances::WashingMachine。包名在左,cd在右Q中间用双冒号隔开。这U类型的cd叫:(x)路径?span lang="EN-US">(pathname)?br />   

myWasher:WashingMachine

WashingMachine




(function)Q它在完成操作后要返回一个返回倹{可是指明函数的q回值及(qing)q回值的cd。上q全部的操作信息被称为操作的型构?span lang="EN-US">


3个小点“…”。这个符号叫省略W,q种省略了一个或多个属性或者操作的表示法叫做类的省略表C法?span lang="EN-US">

UML提供的扩展机Ӟ(x)它允怽创徏新的模型元素以解军_体问题。构造型用双角括号括住的名字来表示?span lang="EN-US">




 

 



]]>
[转]UML学习(fn)W记Q一Q:(x)UML?http://www.tkk7.com/balajinima/articles/146899.html李云?/dc:creator>李云?/author>Thu, 20 Sep 2007 11:41:00 GMThttp://www.tkk7.com/balajinima/articles/146899.htmlhttp://www.tkk7.com/balajinima/comments/146899.htmlhttp://www.tkk7.com/balajinima/articles/146899.html#Feedback0http://www.tkk7.com/balajinima/comments/commentRss/146899.htmlhttp://www.tkk7.com/balajinima/services/trackbacks/146899.html
关键?   UML学习(fn)W记    

l一建模语言Q?/span> Unified Modeling Language Q?/span> UML Q?/span>

一些术语:(x)

pȝQ?/span> system Q指的是g和Y件的l合体,它能提供业务问题的解x案?/span>

pȝ开发( system development Q是为客户徏立一个系l的q程?/span>

客户Q?/span> client Q是需要解决问题的人?/span>

pȝ分析员( analyst Q将客户所要解决的问题~制成文,q将该文{交给开发h员?/span>

开发h员( developer Q是Z?qing)决客户的问题而构造Y件ƈ在计机g上实施该软g的程序员?/span>

 

UML 的组?/span>

UML 包括了一些可以相互组合图表的囑Ş元素?/span>

1 Q类?/span>

一个类Q?/span> class Q是一cL一l具有类似属性和共同行ؓ(f)的事物?/span>

矩ŞҎ(gu)代表cȝ图标Q它被分?/span> 3 个区域。最上面的区域中是类名,中间区域是类的属性,最下面区域里列的是cȝ操作?/span>

举一个例子,属于z衣机( washing machine Q类的事物都h诸如品牌Q?/span> brand name Q、型P model name Q、序列号Q?/span> serial number Q和定wQ?/span> capacity Q等属性。这cM物的行ؓ(f)包括“加物Q?/span> add clothes Q”、“加z剂( add detergent Q”、“开机( turn on Q”和“取物( remove clothes Q”等操作?br />

2 Q对象图

对象Q?/span> object Q是一个类的实例,是具有具体属性值和行ؓ(f)的一个具体事物。例如,z机的品牌可能是?/span> Laundatorium ”,型号为?/span> Washmeister ”,序列号ؓ(f)?/span> GL57774 ”,一ơ最多可以洗涤重量ؓ(f) 16 ?/span> 的衣物?/span>

对象的图标也是一个矩形,和类的图标一P但是对象名下面要带下划线。具体实例的名字位于冒号的左边而该实例所属的cd位于冒号的右辏V?br />

3 Q用例图

用例Q?/span> use case Q是从用L(fng)观点对系l行为的一个描q?/span>

例,一个h使用一台洗机Q显然是Zz服( wash clothes Q?/span>

代表z机用L(fng)智力h形被UCؓ(f)参与者( actor Q。椭圆Ş代表用例?/span>

参与者(它是发v用例的实体)可以是一个h也可以是另一个系l?br />

4 Q状态图

一台洗衣机可以处于Q?/span> soak Q、洗涤( Wash Q、漂z( Rinse Q、脱_(d) Spin Q或者关机( off Q状态?br />

最端的符号代表v始状态,最底端的符可C终止状态?/span>

5 Q顺序图

cd和对象图标大的实pȝ的静态结构。在一个运行的pȝ中,对象之间要发生交互,q且q些交互要经历一定的旉?/span> UML 序图所表达的正式这U基于时间的动态交互?/span>

例,z机的构g包括一个注水的q水( Water Pipe Q、一个用来装物的洗涤Q?/span> Drum Q以一个排水管Q?/span> Drain Q。假讑ַl完成了“加衣物”、“加z剂”和“开机”操作。洗服q个用例被执行时按照如下序q行Q?/span>

1 通过q水想zᔾ~怸注水?/span>

2 zᔾ~怿?/span> 5 分钟静止状态?/span>

3 水注满,停止注水?/span>

4 zᔾ~往q旋?/span> 15 分钟?/span>

5 通过排水排掉洗涤后的脏水?/span>

6 重新开始注水?/span>

7 zᔾ~l往q旋转洗涤?/span>

8 停止向洗衣机中注水?/span>

9 通过排水排掉漂z物的水?/span>

10 zᔾ~加快速度单方向旋?/span> 5 分钟?/span>

11 zᔾ~停止旋转,zq程l束?/span>

图中Q对象之间发送的消息有:(x)注入新水Q?/span> Send fresh water Q、保持静止( Remain stationary Q、停止注_(d) Stop Q、往q旋转( Ratate back and forth Q、排掉洗涤后的脏_(d) Send soapy water Q、排掉漂z过的水Q?/span> Send rinse water Q等?br />

6 Q活动图

用例和对象的行ؓ(f)中的各个zd之间通常h旉序?/span>


7 Q协作图

pȝ的工作目标是ql中各组成元素相互协作完成的。例子中z机构件的c集中又增加了一个内部计时器Q?/span> Internal Timer Q。在l过一D|间后Q定时器停止注水Q然后启动洗涤往q旋转。图中的序号代表命o(h)消息的发送顺序?br />

8 Q构件图

构g囑֒部v囑֒整个计算机系l密切相兟?br />

9 Q部|图

UML 部v图显CZZ计算机系l的物理体系l构。它可以描述计算机和讑֤Q展C它们之间的q接Q以?qing)驻留在每台机器中的软g。每台计机用一个立方体来表C,立方体之间的q线表示q些计算Z间的通信关系?/span>

 

如果需要将图中的组l元素分l,或者在图中说明一些类或构件是某个特定子系l的一部分Q可以通过这些元素组l成包( package Q来辑ֈ此目的。包用一边突L(fng)公文夹Ş图标来表C?br />

注释Q?/span> note Q的图标是一个带折角的矩形,矩Ş框中是解释性文字。注释和被注释的囑օ素之间用一条虚U连接?br />

构造型Q?/span> stereotype Q能够用现有的 UML 元素来定制新的元素。构造型用尖Ҏ(gu)hh的一个名U来表示Q这个括号叫双尖括号Q?/span> guillemets Q?/span>

 



]]>
վ֩ģ壺 51ҹƷƵ| þþƷAɫ| ɫַ߹ۿ| ձ| һ| ޾ƷŮþþþ99С˵| ѿ߿Aվ| AëƬƵл| caopormѹƵ| ɫվwww| ޾ƷƵר| þþŷղũ| av㽶ˬˬˬˬ| òƵƽ̨| ĻƵ| Ƶ߹ۿ| һHƬAƵѹۿ| ŮһëƬѹۿ| ŷձ| պ Ļ| ˳ɵӰ߹ۿ| þAV| AVþþƷ| о߹ۿͬ| ޹˾Ʒþþþþۺ| պɫѹۿ| ձѵӰһ| Ƶ| aëƬ߹ۿ| ߻ɫַ| ȫԼƵ| ˬˬһ| ˾Ʒþ| ˾Ʒձר61| 91鶹ƷԲ߹ۿ | þþƷƵѲ| þþþƷƵ| ձɫͼ߹ۿ| ˾þAV| þþƷһ99| Ļ߿ |