[UML] ãªããžã§ã¯ãå³ãå®å šã«çè§£ããã
ãœãããŠã§ã¢éçºãããžã§ã¯ãã«ãããŠè€éãªã·ã¹ãã ã®æ§é ã説æããéãã¯ã©ã¹å³ã¯ããããèšèšå³ã®ãããªãã®ã§ãããããããã®èšèšå³ã ãã§ã¯ç¹å®ã®ç¬éã«ã·ã¹ãã ãå®éã«ã©ã®ããã«åäœããŠããããææ¡ããããšãé£ããããšããããŸãããŸãã«ãã®ãããªãšããã·ã¹ãã ã®ã¹ãããã·ã§ããã瀺ã UML ãªããžã§ã¯ãå³ïŒObjectâ¯DiagramïŒã倧ããªå©ãã«ãªããŸãã
ãã®èšäºã§ã¯ãUML ãªããžã§ã¯ãå³ãšã¯äœããäž»èŠãªæ§æèŠçŽ ã¯ã©ã®ãããªãã®ãã確èªããã¯ã©ã¹å³ãšã®éããéããŠãã€ãªããžã§ã¯ãå³ã䜿ãã¹ãããæç¢ºã«çè§£ããŠãããŸãããŸããå®éã®éçºã·ããªãªã«é©çšãããäŸãšãã¹ããã©ã¯ãã£ã¹ãéããŠãçããã®ãœãããŠã§ã¢èšèšèœåãäžæ®µéåŒãäžããæå©ããããããšæããŸãã
UML ãªããžã§ã¯ãå³ãšã¯ïŒ
UML ãªããžã§ã¯ãå³ã¯ãç¹å®ã®æç¹ã®ã·ã¹ãã ç¶æ ãç€ºãæ§é çãªå³ã§ããã¯ã©ã¹å³ãã·ã¹ãã ã®äžè¬çãªæ§é ãšé¢ä¿ãæœè±¡çã«è¡šçŸããã®ã«å¯Ÿãããªããžã§ã¯ãå³ã¯ãã®ã¯ã©ã¹ãã¡ã®å®éã®ã€ã³ã¹ã¿ã³ã¹ïŒãªããžã§ã¯ãïŒãç¹å®ã®ç¬éã«ã©ã®ãããªå€ïŒç¶æ ïŒãæã¡ãã©ã®ããã«æ¥ç¶ãããŠããããå ·äœçã«ç€ºããŸãã
ãã®ç¹åŸŽããã«ããªããžã§ã¯ãå³ã¯ãã€ã³ã¹ã¿ã³ã¹å³ããšãåŒã°ããŸããè€éãªã¯ã©ã¹å³ã ãã§ã¯çè§£ãã«ããã·ã¹ãã ã®åäœæ¹åŒããå ·äœçãªäŸãéããŠæç¢ºã«ææ¡ããã®ã«éåžžã«æçšã§ãã
ãªããžã§ã¯ãå³ã®äž»èŠæ§æèŠçŽ
ãªããžã§ã¯ãå³ã¯æ¯èŒçåçŽãªèŠçŽ ã§æ§æãããŠãããçè§£ããããã§ããäž»èŠãªæ§æèŠçŽ ãèŠãŠã¿ãŸãããã
- ãªããžã§ã¯ã(Object)ïŒãªããžã§ã¯ãã¯ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã§ããåè§åœ¢å
ã«
ãªããžã§ã¯ãå: ã¯ã©ã¹åãšãã圢åŒã§èšè¿°ããäžç·ãåŒãã®ãæšæºã§ããäŸãã°user1:â¯Userã¯Userã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã§ããuser1ãªããžã§ã¯ããæå³ããŸãã - ãªã³ã¯(Link)ïŒãªã³ã¯ã¯ãªããžã§ã¯ãéã®é¢ä¿ã衚ããŸããã¯ã©ã¹å³ã®ãé¢é£(Association)ããå®éã«å®è£ ãããã€ã³ã¹ã¿ã³ã¹ãšèšããŸãããªã³ã¯ã¯ãªããžã§ã¯ããã¡ãå®ç·ã§çµã³ããããããªããžã§ã¯ããã¡ãäºãã«ã¡ãã»ãŒãžãããåãã§ããããšã瀺ããŸãã
- ç¶æ
(State)ãšå±æ§å€ïŒãªããžã§ã¯ããç¹å®ã®æç¹ã§æã£ãŠãã屿§(attribute)ã®å€ã§ãããããã®å€ãéãŸã£ãŠè©²åœãªããžã§ã¯ãã®ç¶æ
ãå®çŸ©ããŸããäŸãã°ã
user1ãªããžã§ã¯ããname = "ê¹ì² ì"ãšãã屿§å€ãæã£ãŠãããªããããããã®ç¬éã®ç¶æ ã衚ããŸãã
ã¯ã©ã¹å³ãšãªããžã§ã¯ãå³ã®éã
äºã€ã®å³ã¯äŒŒãŠèŠããŸããã衚çŸå¯Ÿè±¡ãšç®çã«ãããŠæç¢ºãªéãããããŸãã
| åºå | ã¯ã©ã¹å³ | ãªããžã§ã¯ãå³ |
|---|---|---|
| æœè±¡åã¬ãã« | é«ã (æœè±¡çã¢ãã«) | äœã (å ·äœçã€ã³ã¹ã¿ã³ã¹) |
| 衚çŸå¯Ÿè±¡ | ã¯ã©ã¹ã屿§ãã¡ãœãããé¢ä¿ | ãªããžã§ã¯ãïŒã€ã³ã¹ã¿ã³ã¹ïŒã屿§å€ããªã³ã¯ |
| ç®ç | ã·ã¹ãã ã®å šäœçãªéçæ§é èšèš | ç¹å®æç¹ã®ã·ã¹ãã ç¶æ ã¹ãããã·ã§ãããè€éãªæ§é ã®äŸç€º |
| æé | æéã«äŸåããªã | ç¹å®ã®æç¹ã«äŸå |
ç°¡åã«èšãã°ãã¯ã©ã¹å³ããèšèšå³ããªãããªããžã§ã¯ãå³ã¯ãèšèšå³ã«åºã¥ããŠäœãããã¢ãã«ããŠã¹ã®ç¹å®ã®éšå±ãæ®ã£ãåçããšäŸããããšãã§ããŸãã
ãªããžã§ã¯ãå³ã®å®å掻çšäŸ
ãªããžã§ã¯ãå³ã¯ãè€éãªããŒã¿æ§é ã説æããããç¹å®ã®ã·ããªãªãèŠèŠåããŠããŒã ã¡ã³ããŒã®çè§£ãå©ããããããšãã«éåžžã«å¹æçã§ãã
1. ãŠãŒã¶ãŒãã°ã€ã³ã·ããªãª
ãŠãŒã¶ãŒããã°ã€ã³ã詊ã¿ãŠããç¹å®ã®ç¬éã®ãªããžã§ã¯ãç¶æ ã衚çŸã§ããŸããããã«ãã£ãŠéçºè ã¯ããŒã¿ã®æµããæç¢ºã«çè§£ãããããã°ã«æŽ»çšã§ããŸãã
classDiagram
class user1 {
userId = 101
name = "Kim Cheolsu"
email = "kim@example.com"
}
class auth1 {
sessionId = "xyz-123-abc"
isValid = true
}
user1 --> auth1 : authenticates
äžèšã®å³ã¯ãKim CheolsuããšãããŠãŒã¶ãŒãæåè£ã«ãã°ã€ã³ããæå¹ãªã»ãã·ã§ã³IDãçºè¡ãããç¬éãæç¢ºã«ç€ºããŠããŸãã
2. ã·ã§ããã³ã°ã¢ãŒã«æ³šæã·ã¹ãã
ã²ãšã€ã®é¡§å®¢ãè€æ°ã®ååãæ³šæããè€éãªç¶æ³ããªããžã§ã¯ãå³ã§è¡šçŸãããšãããŒã¿æ§é ãç°¡åã«çè§£ã§ããŸãã
classDiagram
class c1 {
name = "Lee Younghee"
}
class o1 {
orderId = "ORD-001"
date = "2024-05-21"
}
class li1 {
product = "Laptop"
quantity = 1
}
class li2 {
product = "Mouse"
quantity = 1
}
class li3 {
product = "Keyboard"
quantity = 2
}
c1 --> o1 : places
o1 --> li1 : contains
o1 --> li2 : contains
o1 --> li3 : contains
ãã®å³ã¯ c1 顧客㮠o1 泚æã«ãããŒãããœã³ã³ã1å°ããããŠã¹ã1å°ããããŒããŒãã2å°ãå«ãŸããå
·äœçãªç¶æ³ãäžç®ã§ç€ºããŠããŸããã¯ã©ã¹å³ã ãã§ã¯ææ¡ãã¥ããããŒã¿é¢ä¿ãæç¢ºåããã®ã«åœ¹ç«ã¡ãŸãã
广çãªãªããžã§ã¯ãå³äœæã®ããã®ãã¹ããã©ã¯ãã£ã¹
- ç®çãæç¢ºã«ããŸãããïŒå³ãéããŠäœã説æãããã®ããæç¢ºã«ããå¿ èŠããããŸããç¹å®ã®ã·ããªãªã説æããã®ããè€éãªããŒã¿æ§é ãäŸç€ºããã®ããç®çã«ãã£ãŠå³ã®çŠç¹ãå€ãããŸãã
- ã·ã³ãã«ã«ä¿ã¡ãŸãããïŒã·ã¹ãã ã®å šãŠã®ãªããžã§ã¯ãã衚çŸããããšããªãã§ãã ããã説æãããæ žå¿ã®ã·ããªãªã«é¢é£ãããªããžã§ã¯ãã ããå«ãŸããå³ãç°¡æœã«ä¿ã€ããšãéèŠã§ãã
- ã¯ã©ã¹å³ãšäœµçšããŸãããïŒãªããžã§ã¯ãå³ã¯ã¯ã©ã¹å³ã®è£å©è³æãšããŠäœ¿ããããšæã广çã§ããã¯ã©ã¹å³ã§å šäœã®æ§é ãæç€ºããåŸããªããžã§ã¯ãå³ã§å ·äœçãªäŸã瀺ãã°ç解床ã倧ãã«é«ãŸããŸãã
- äžè²«æ§ã®ããè¡šèšæ³ã䜿ããŸãããïŒUMLã®æšæºè¡šèšæ³ãéµå®ããä»ã®ããŒã ã¡ã³ããŒãæ··ä¹±ããã«å³ãçè§£ã§ããããã«ããŸãããã
ããè¯ãèšèšã®ããã®ã¹ãããã·ã§ãã
UML ãªããžã§ã¯ãå³ã¯è€éãªãœãããŠã§ã¢ã·ã¹ãã ã®ãç¹å®ã®ç¬éããæããŠç€ºã匷åãªèŠèŠçããŒã«ã§ããæœè±¡çãªã¯ã©ã¹å³ã ãã§ã¯äŒãã«ããã·ã¹ãã ã®å®éã®åäœæ¹åŒããå ·äœçãªäŸãéããŠæç¢ºã«äŒããããšãã§ããŸãã
次ã®ãããžã§ã¯ãã§ããŒã ã¡ã³ããŒãšè€éãªããŒã¿æ§é ãç¹å®ã®ã·ããªãªã«ã€ããŠè°è«ããéããã¯ã€ãããŒãã«ç°¡åã§ãããã®ã§ãªããžã§ã¯ãå³ãæããŠã¿ãŠãã ããããã£ãšããã¹ã ãŒãºã§æç¢ºãªã³ãã¥ãã±ãŒã·ã§ã³ãå¯èœã«ãªããŸãããã®ããã«ãªããžã§ã¯ãå³ãé©æé©æã§æŽ»çšããã°ãçããã®ã·ã¹ãã èšèšã¯ããå ç¢ã«ãªããããŒã ã®åååãäžæ®µãšæé·ããããšã§ãããã