2012年4月10日火曜日

UMLfO


UMLfO

\tgEFAHw

ŏIXVF2009.11.26  - cFN

UML ̌o

UML Unified Modeling LanguageiꃂfOj̗łA1990NɌQYĂIuWFNgẃE݌v@_̓͂āA1994N Ratinal Software Ђ Grady Booch Jim Rumbaugh JnƂɒ[𔭂B̌A@_̂̂𓝈ꂷ邱Ƃ͍łƂA܂͕@_Ŏgp郂f̕\L@𓝈ꂵ悤ƂɕωB

̌ʁA1997NɁAIuWFNgwƊEő̒ĉł OMG(Object Management Group) ɂ UML1.1 WdlƂč̑ꂽB2003N3iKł̍ŐVł UML1.5 łÃy[W͂ɏĂB2008N̍ŐVłUML2.2łB

UML ̈ʒuÂ

fOƂāAOMĜntœoꂵUMĹA\tgEFAJ̋~ł邩̂悤Ȏ󂯓Ã\tgEFAJvWFNgUML̗pBOMGi߂ĂUMLZp҂̎iF蓙ǍXɔԂĂBUMLgȂvWFNg͋JƂ݂ȂAtUMLgΊJ͔IɌシƂFȂĂB

A͂߂ɒfĂA

UML͕`̊{߂Ă邾

łB

uǂ̂悤ɂĕ`̂vAuǂ̂悤ɃvOR[hƊ֘At̂vɂ‚ẮA߂ĂȂB

āAUMLgΖ@̂悤Ƀ\tgEFAȂǂƂƂ́AĂȂB

āA̍u`̖ړIAUMLC邱ƂłȂB

uHǗꂽ\tgEFAJ@v

C邱ƂA{u`̖ړIłB̂߂ɃIuWFNgw͂Ɛ݌v̋Z@ɂ‚ĐĂÄ‚ƂUMLɂ‚ĂGBUMLL@̔wɂIuWFNgwIȍlgɂ‚邱ƂdvłB

UML}̎

UMĹAGcɌƈȉ9ނ̐}łB

́E݌v̊eiKɂāA̐}`ƂŁA𐮗AR[hփX[YɈڍs邱ƂUML̖ړIłB

Aۂ9ނ̐}ׂċgĕ́E݌vsȂĂA\tgEFAJ͉"\łB̃y[Wł́A9‚̐}̒ŁAɏdvȐ}łƍlȉ3‚ɂ‚ĐsBȂAł͊e}̊TvqׁA̓Iȗ͎ۖɓKp‚ŽƂɂB

[XP[X}

[XP[X}(Use Case Diagram)́AVXeǂ̂悤ɋ@\ׂi[XP[XjAт̊O‹iAN^[j\}łBVXegpGh[U[̎_炻̃VXe邱ƂłB̂߁AGh[U[◘p̈̐ƂƃR~jP[gāAvɑ΂鑊݂̗ۏႷ邱Ƃ"\ƂȂB

‚܂A[XP[X}́AVXe̊OƓƂ̋E͂肳}łƂƂłB

UM-}1

̐}̓[XP[X}̗ĂB

[XP[X}ɂ́AuAN^[vƌĂ΂镔O҂ƁAu[XP[XvƌĂ΂VXe̎‹@\oꂷB

AN^[

  • AN^[̓VXëꕔł͂ȂB̃VXegp郆[U[ʂ\B
  • VXeƊɏAVXe󓮓Iɏ󂯎肷B
  • lԂłȂAn[hEFAOVXeAN^[ɂȂ肤B

[XP[X


あなたの家の外からスズメバチを削除するために呼び出す人
  • AN^[ƃVXeƂ̊Ԃ̑ΘbfB
  • [XP[X̓AN^[ɂĊJnAVXeĂA@\sB
  • VXẽ[U[VXe𗘗pĐsPʋƖ̂ЂƂ‚𒊏ۉ́B
  • [XP[XׂďW߂ƁAVXeǂg邩ׂĕ\B
  • [XP[X̎_ŁA̓fA݌vfAfAeXgf֘AtĊǗłB
  • [XP[X̃hLgƂāAu[XP[XLqiCxgt[jvƁuViIvB

[XP[XLqiCxgt[j

  • Ɩ̗ʏ̌i{Ȃǁjgď́B
  • [XP[XAǂ̂悤ɊJnEI邩AAN^[ƃ[XP[X̑ݍpɂ‚ċLqB
  • [UC^[tFCXɊւLq͂ł邾ǂB[UC^[tFCX͐݌v̒iKɂȂȂƋ̓IɌ܂ȂAύX邱ƂłB
  • OIȎꍇ́AOt[ƂăCt[Ƃ͕ʂɋLqB

ViI

  • [XP[X̎tŋLq́B
  • [XP[XsƂ̋̓IȗB
  • e[XP[X́ÃViȈWƂĕ\B
  • KvȃNXIuWFNg𒊏oƂɂȂB
  • ʂāAVXe̓̓Iɕ\łB
  • ViIɂ́A2ނB
    • {ViIEEEׂĖȂ삷鎖
    • 2ViIEEE{ViIɑ΂O

V[PX}

V[PX} (Sequence Diagram) ́AVXeɓoꂷIuWFNgԂ̑ݍpnɉĕׂĕ\}łBV[PX}gpƁA[XP[X̂ɕKvȃIuWFNg̏WƁÂƂ𖾊mɕ\łBIuWFNgԂł肳郁bZ[WԏɂЂƂ‚‹Lqł邽߁AViIƑΉċ̓Iȓêɕ֗łB

UM-}2

̐}̓V[PX}̗ĂB

V[PX}ɂ́A㕔ɁuIuWFNgvu^CCvƌĂ΂cƁȀɏc̒`ŕ\ꂽuANeBx[VvAɃANeBx[VԂ́ubZ[Wvɂč\B

IuWFNg

  • ViI̒ɌꂽAVXeɓoꂷ́BAN^[IuWFNgɂȂ肤B
  • ǂIuWFNgƂč̗p邩́A͎҂̎rɂ邪Aʂɂ͕Ɍ閼ɒڂƗǂB
  • VXeƖ֌WȖ́AIuWFNgł͂ȂB

^CC

  • Ԃ̌o߂\B
  • IuWFNg̓^CCŏɑ݂Ă킯ł͂ȂB

ANeBx[V

  • IuWFNgĂԂ\B
  • IuWFNǵAAAKvȂȂΔjB

bZ[W

  • IuWFNgԂ̂Ƃ\B
  • IuWFNgԂ̑ݍṕANCAgIuWFNgibZ[WoIuWFNgjATvCAIuWFNgibZ[W󂯂IuWFNgjւ̐ȖƂĕ\B
  • ́Ac̈ʒuƂĎB

bZ[Wɂ͓^Ɣ񓯊^ƂBʏ̏ꍇAM郁bZ[W͓^łꍇB^bZ[ẂAĂяoꂽIuWFNgł̏IƕK̃IuWFNgɕAB̂ƂɃbZ[WԂȂꍇ́AAbZ[W̖͏ȗłB

bZ[ẂAvOɂ葱Ăяo\̂ɗpB

NX}

NX} (Class Diagram) ́AΏۗ̈VXe̐ÓIȍ\\}łAuNXvƁuNXԂ̐ÓIȊ֌W (Relationship)v}ɕ\̂łB


鳥はどのように聞こえるん

NX}͕͒iKł݌viKłp邪A͒iK̃NX}͗p҂̗ɗĖ̈\悤ɏBAJiKɂNX}͊J҂̎_Aڍ׉ꂽ`ŏB

UM-}3

̐}̓NX}̗ĂB

NX}́A`̒ɖO⑮A쓙񂾁uNXvƁANXԂ‚Ȃu֌Wvɂč\B֌Wɂ͂Ɂu֘AvAuWvAuĉvȂǁA‚̎ނB܂A݌viKɂȂƁA֌W̗[Ɂu[vudxvꍇB

NX (Class)

  • ގ̃f[^̍\ijƐU镑ijƒIuWFNg̏WB
  • uvƂ́ÃNXɑIuWFNgʂɎƒf[^\̂ƁB
  • uvƂ́ÃNXɑIuWFNgʂɍsƂłU镑̂ƁB
  • ́ÃNXɑ̃IuWFNgɌŗĹulvB
  • uv́ÃIuWFNg̗vɂċN邱̂łT[rXłB
  • NX}ɂāANX͈ȉ̂悤ɒiKIɏڍ׉ċLqłB

UM-}4

  • ڍ׌`ɂẮA⑀́uŽvAu^vAuԋplvȂǂ̏LB
  • NX̏ɁAuXeI^CvvƌĂ΂NX̎ނꍇB
  • NXɂ́ÃNX̃CX^XiIuWFNgj𐶐łuۃNXvƁAłȂuۃNXvƂɕ邱ƂłBʂɁAPɁuNXvƌꍇ͋ۃNXwB

ۃNX (Abstract Class)

  • ۃNX́ANXΑ̂ɂĕ\B
  • ۃNX'ۑA얼Α̂ɂĕ\B
  • ۑ삾܂Ƃ߂̂́uC^[tFCXvƌĂ΂B

UM-}5

C^[tFCX (Interface)

  • 삾܂Ƃ߂́B
  • C^[tFCX̏ <> ƂXeI^CvB
  • ͂Ȃ̂ŁAȂA܂͏ȗĂ悢B
  • ȗ`̕ʌ`ƂāAɐ‚ĕ\ĂǂB

UM-}6

֌W (Relation)

  • NXԂ̂‚Ȃˑ\B
  • u֘AvAuĉvAuvAuˑv4ނAɊ֘ÁuWvƁuvȂB

UM-}7

  • ̐}́ANX̊֌WNX}gĕ`̂łB̖́uĉv\B̐}́Au֘AvAuĉvAuvAuˑvƂ̂́A4‚Ƃu֌Wv̈łAƂƂ\ĂBɁAuWv́u֘Av̈łAuv́uWvłBƂƂ͓RAuv́u֌Wv̈łB

֘A (Association)


豚の家族は何と呼ばれる
  • ʓIɁANXԂɈӖIȊ֌W邱Ƃ\B
  • ‚Ȃŕ\B

UM-}8

  • ɁAɂ܂܂ȑ{ƂŁA낢ȏt邱ƂłB

UM-}9

  • udxv́ANX1‚̃CX^XÃNX̂‚̃CX^XƊ֘A邩\B̐}ł́ANX2̃CX^X͂̓NX11‚̃CX^XƊ֘A邪ANX1̃CX^X0ˆȏ̃̕NX2̃CX^XƊ֘ABƂ΁AuvNXƁuwvNXƂ͊֘AA1‚̖ɂ͕̊wڂĂ悤ȏꍇ́Â悤Ȋ֘AɂȂB

  • uirQ[reBvƂ͊֘Â̕ƂŁA̒[ɖ‚ĕ\B̐}̏ꍇANX1NX2ւ̊֘A͂邪At̊֘A͂ȂƂӖB́Auv͂ǂ̊wڂĂ邩LĂ邪Auwv͎ǂ̖ɍڂĂ邩͒mȂAƂ󋵂\B

  • u[vƂ́Å֘ȀŃNXʂĂAA\͂Ȃǂ\BƂ΁AuЁvNXƁuЈvNX̊֘ȀꍇAЂ̃[́uٗpҁvłAЈ̃[́uٗpҁvƂȂB[͕K{ł͂ȂAfɈӖtꍇɂ̂ݎgp΂悢B

  • u֘ANXvƂ́Å֘A邽߂ɕʂȃNXgpĂꍇɏBƂ΁AuЁvNXɁuЈvNX̃CX^X񂢂ꍇÁuXgvNXgĊoĂ邱Ƃ邩ȂB̂悤ȏꍇA֘ANX́uXgvNXƂȂB̊֘ANX́A݌viKŏڍׂȃNXꍇɁAKvɉď܂B

W (Aggregation)

UM-}10

(Composition)

UM-}11

ĉ (Generalization)

  • ̃NXÃNX̕\ĂTOʉTOł邱Ƃ\B

  • is-a ̊֌WB

  • ̎Op`‚ɂĕ\B

  • ĉ̋t́u (Specialization)vƌB

  • ĉ́AWɂĕ\ƂłB

  • ĉiނɂ‚ďW傫ȂĂBiނƏW͏肳ĂB

  • ĉiނɂ‚Ďdl͒PĂBiނƎdl͕GĂB

UM-}12

(Realization)


UM-}13

ˑ (Dependency)

UM-}14

܂Ƃ

UML 9‚̐}̂A悭g3‚ɌĂ܂ȐsB

킸3‚̐}ɂ‚ĂłA߂ĕGȋK߂Ă邱ƂƎvB

UML ͊{Iɐ}`ƂŃfLqĂOtBJł邩A̕@ɓ̂͐}̕`łA`łBāAxׂLq߂Ă͎̂dȂB

AɂĂAɎꂽ܂iɎĐ}`ĂƂ͗eՂł͂ȂƁANv낤BAUML ͐}̌`͋K肵ĂĂA̓Iȕ`܂ł͎ĂȂB‚܂A^ꂽUML 9‚̐}̌`ɂĂ@ɂ‚ẮAقƂlj߂ĂȂ̂łB

āAUML gă\tgEFAJsƂƁA܂̗͂QlɂāAsŐ}ĂAJԂƂŃmEnE~ς邵ȂBUML ł͕WIȋLq̌`܂Ă邾łAQlɂ鑽̗肪pł̂Łu܂vƎvB

UML 𗘗p\tgEFAJōłdvȓ_́AIuWFNgwɂ镪͂Ɛ݌vsƂ_łB}𐳊mɕ`ƂɂāA̓_YĂ܂Ă͖{]|AtɌƁAIuWFNgwI͂Ɛ݌vłȂA}̐m͑]ɂĂ܂ȂƂƂłB

K̓vWFNgɌĝȂdlƂĂ̐}ɂKvBL@̓ꂳꂽUMLɏďKv낤BA̎Ƃł͂܂萳mɂ͂ȂōsBw̃IuWFNgwIȊJ@gɂ‚ĂقB



These are our most popular posts:

第11回「高度海洋観測システム(ARGO計画)の構築」推進委員会

2005年6月10日 ... 今脇委員: 同じページの一番下の図で、アルゴフロートの漂流速度から求めたということ は正しいが、これが何を表わしているのか。 ..... 例えば領海での科学調査をするという旨 を書くのと、領海に流入する可能性があるというのを書くのは意味が変わってくる。 ... 結構エネルギーを使うので、どの段階で最後になるかは難しいところだが、ミレニアム ではアルゴフロートはごみではないという原則をとっているので、フロート ... read more

@IT:連載:【改訂版】初歩のUML 第8回

2003年7月5日 ... 今回は、だれも書いたことがない視点から、オブジェクト技術者が理解しておくべき ユースケースモデルについての ... ソフトウェアがどのような人に、どう使われるか」を 表すのが、ユースケースモデルなのです。 ... ここまで詳細に書いてしまうと、分析初期 段階からドキュメント過多に陥りやすいので私としては、あまりお勧めしたくありません。 ... また、事前条件(ユースケースを呼び出すために満たすべき条件)や事後条件(ユース ケースが終了される際にシステムが満たしておくべき条件)を書くこともできます。 read more

メガフロートQA

また既存の法体系がメガフロートを想定していないことから法制上の課題も、多種多様 です。 ... 1)事前準備段階で関連する法規 ... メガフロート事業に民間の事業者が参画 する場合、どのような権利が得られるのか、登記して第三者に対抗できるのかどうか、 ... read more

プロジェクトマネジメント用語集

建設管理(CM), PMとは、全く新規な(類似の案件でも、いつ思い掛けないことが起こる か分からない)業務を限られた資源、予算のも ... プロジェクト・ライフ・サイクル, あらゆる システムは生物学的Sカーブを描くと言われる。 ... プラント建設プロジェクトでは、(1) 立 上げ段階:顧客の期待を明らかにしてプロジェクト憲章をまとめる。 .... またネットワーク 図上でタスクの実行に余裕がある場合、これをフロート float またはスラック slack と言う 。 read more

0 件のコメント:

コメントを投稿