intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

UML – OOAD phân tích thiết kế phần mềm - Chương 1

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:6

156
lượt xem
32
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Trong thập kỷ vừa qua có nhiều phương pháp và ngôn ngữ phân tích và thiết kế hướng đối tượng đã được pháp triển. Mặc dù các phương pháp này đều có một mục đích chung tuy nhiên chúng đều có thuật ngữ và ký hiệu khác nhau nên gây nhiều khó khăn khi so sánh các mô hình và dùng lại các thiết kế. Các phương pháp này không có phương pháp nào nổi bật hơn những phương pháp khác. Trong tình hình đó UML ra đời, và đưa ra một ngôn ngữ chuẩn cho mô hình hoá hướng...

Chủ đề:
Lưu

Nội dung Text: UML – OOAD phân tích thiết kế phần mềm - Chương 1

  1. Software Engineering Departmnet – Hanoi University of Technology Faculty of Information Technology UML – OOAD ph©n tÝch thiÕt kÕ phÇn mÒm h−íng ®èi t−îng vµ h−íng thµnh phÇn 1. §ç V¨n Uy 2. NguyÔn Ngäc B×nh 3. Th¹c B×nh C−êng 4. L−¬ng M¹nh B¸ 5. Huúnh QuyÕt Th¾ng 6. Bïi ThÞ Hoµ 7. Lª TÊn Hïng 8. Lª §øc Trung C¸c nghiªn cøu ®−îc hç trî kinh phÝ tõ ®Ò tµi nghiªn cøu khoa häc c¬ b¶n KHCB 230701 LUu HANH NOI BO Hµ néi 2001
  2. Ch−¬ng 1. Tæng quan vÒ UML 1.1. Giíi thiÖu Trong thËp kû võa qua cã nhiÒu ph−¬ng ph¸p vµ ng«n ng÷ ph©n tÝch vµ thiÕt kÕ h−íng ®èi t−îng ®· ®−îc ph¸p triÓn. MÆc dï c¸c ph−¬ng ph¸p nµy ®Òu cã mét môc ®Ých chung tuy nhiªn chóng ®Òu cã thuËt ng÷ vµ ký hiÖu kh¸c nhau nªn g©y nhiÒu khã kh¨n khi so s¸nh c¸c m« h×nh vµ dïng l¹i c¸c thiÕt kÕ. C¸c ph−¬ng ph¸p nµy kh«ng cã ph−¬ng ph¸p nµo næi bËt h¬n nh÷ng ph−¬ng ph¸p kh¸c. Trong t×nh h×nh ®ã UML ra ®êi, vµ ®−a ra mét ng«n ng÷ chuÈn cho m« h×nh ho¸ h−íng ®èi t−îng. UML - Unified Modeling Language - lµ ng«n ng÷ m« h×nh hîp nhÊt. Nã lµ mét ph−¬ng tiÖn gióp cho c¸c tæ chøc cã thÓ nhËn thøc mét c¸ch tèt nhÊt lîi thÕ c¹nh tranh th«ng qua viÖc n¾m b¾t, truyÒn ®¹t, trao ®æi vµ n©ng cao tri thøc trong lÜnh vùc c«ng nghÖ phÇn mÒm. ChÝnh x¸c h¬n UML lµ mét ng«n ng÷ m« h×nh hãa dïng ®Ó ®Æc t¶, trùc quan hãa, x©y dùng vµ lµm s−u liÖu cho c¸c hÖ thèng phÇn mÒm Unified (hîp nhÊt) UML ®−îc ®−a ra lÇn ®Çu tiªn bëi h·ng Rational vµ ba chuyªn gia vÒ ph−¬ng ph¸p luËn hµng ®Çu trong lÜnh vùc hÖ thèng th«ng tin/ kü thuËt c«ng nghÖ Grady Booch, James. Rumbaugh, Ivar Jacobson. Nã lµ sù hîp nhÊt gi÷a nh÷ng ph−¬ng ph¸p cò (Booch, OMT, OOSE ), kÕt hîp víi nh÷ng kinh nghiÖm, nh÷ng kiÕn thøc thùc tÕ. (m« h×nh hãa) gióp chóng ta hiÓu ®−îc thÕ giíi thùc, m« h×nh hãa Modeling thÕ giíi thùc ®Ó cã thÓ hiÓu ®−îc nh÷ng ®Æc tr−ng, tÝnh to¸n c¸c th«ng sè vµ dù ®o¸n kÕt qu¶ sÏ ®¹t ®−îc. Language (ng«n ng÷) chøc n¨ng cña UML nh− lµ mét ph−¬ng tiÖn ®Ó bµy tá vµ trao ®æi tri thøc. Nã cã bèn ®Æc ®iÓm chñ yÕu cã thÓ ph©n biÖt víi c¸c ng«n ng÷ m« h×nh hãa kh¸c • General-purpose - ®a môc ®Ých • Broadly applicable - cã thÓ øng dông réng r·i • Tool-supported - ®−îc hç trî bëi c¸c c«ng cô • Industry standardized - chuÈn c«ng nghiÖp UML lµ mét ng«n ng÷ m« h×nh hãa chuÈn nh−ng kh«ng ph¶i lµ mét qui tr×nh ph¸t triÓn phÇn mÒm chuÈn. MÆc dï UML ph¶i ®−îc ¸p dông trong ph¹m vi mét qui tr×nh cô thÓ, c¸c qui tr×nh ph¸t triÓn nµy th−êng kh¸c nhau ë c¸c tæ chøc ph¸t triÓn phÇn mÒm, ë c¸c vÊn ®Ò thuéc c¸c lÜnh vùc kh¸c nhau. Do ®ã, c¸c nhµ ph¸t triÓn UML ®· cè g¾ng tËp trung vµo ®Þnh nghÜa møc siªu m« h×nh (metamodel) ®Ó thèng nhÊt c¸c kh¸i niÖm vÒ ng÷ nghÜa vµ ký hiÖu, cã thÓ hç trî cho nhiÒu ng«n ng÷ lËp tr×nh vµ qui tr×nh ph¸t triÓn phÇn mÒm kh¸c nhau. UML lµ tæng hîp c¸c ph−¬ng ph¸p cña Booch, OMT vµ OOSE t¹o thµnh mét ng«n ng÷ m« h×nh hãa chung vµ cã thÓ sö dông réng r·i cho nh÷ng ng−êi tr−íc ®©y ®· quen víi ba ph−¬ng ph¸p trªn hay c¸c ph−¬ng ph¸p kh¸c. Ngoµi ra, UML http://www.ebook.edu.vn 2
  3. më réng ph¹m vi m« h×nh hãa cña c¸c ph−¬ng ph¸p hiÖn cã vµ cã thÓ m« h×nh hãa ®Çy ®ñ c¸c hÖ thèng ®ång thêi hay ph©n t¸n. UML lµ ng«n ng÷ cã thÓ ®−îc sö dông cho nhiÒu môc ®Ých kh¸c nhau. UML cung cÊp c¬ chÕ tæ chøc vµ ph©n lo¹i tri thøc theo ng÷ c¶nh cña vÊn ®Ò cÇn gi¶i quyÕt. C¸c tri thøc nµy ®−îc n¾m b¾t ®Çy ®ñ bëi m« h×nh bao gåm nhiÒu thµnh phÇn vµ ®−îc thÓ hiÖn qua tËp c¸c biÓu ®å kh¸c nhau cã liªn hÖ chÆt chÏ víi nhau. H¬n n÷a, mçi biÓu ®å n¾m b¾t vÊn ®Ò ë nh÷ng khÝa c¹nh kh¸c nhau qua c¸c kh¸i niÖm, cÊu tróc, c¸c thµnh phÇn m« h×nh thÓ hiÖn nh÷ng ng÷ nghÜa vµ tri thøc kh¸c nhau. C¸c biÓu ®å nµy m« t¶ néi dung giao tiÕp gi÷a c¸c thµnh viªn trong qui tr×nh ph¸t triÓn phÇn mÒm vµ ®−îc tÝch hîp víi nhau ®Ó t¹o nªn tri thøc m« t¶ hÖ thèng, nh÷ng vÊn ®Ò còng nh− c¸ch thøc thùc hiÖn ®Ó gi¶i quyÕt chóng. C¸c lîi Ých cña UML • Cã thÓ m« h×nh hãa nhiÒu lo¹i hÖ thèng, cã thÓ dïng trong nh÷ng giai ®o¹n kh¸c nhau cña qui tr×nh ph¸t triÓn phÇn mÒm. UML lµ sù thèng nhÊt c¸c kh¸i niÖm m« h×nh hãa cña nh÷ng nhµ nghiªn cøu vµ ph¸t triÓn c«ng nghÖ h−íng ®èi t−îng. UML cung cÊp mét sè tÝnh n¨ng sau §Çy ®ñ ng÷ nghÜa vµ ký hiÖu ®Ó gi¶i quyÕt trùc tiÕp c¸c vÊn ®Ò hiÖn t¹i trong m« h×nh hãa. §Çy ®ñ ng÷ nghÜa ®Ó gi¶i quyÕt mét sè khã kh¨n t−¬ng lai trong m« h×nh hãa ®Æc biÖt cã liªn quan ®Õn c«ng nghÖ thµnh phÇn, xö lý ph©n t¸n, framework vµ executability. C¬ chÕ më réng siªu m« h×nh cho m« h×nh hãa c¸c øng dông ®Æc biÖt. C¬ chÕ nµy còng khiÕn cho c¸c h−íng tiÕp cËn m« h×nh hãa t−¬ng lai cã thÓ ph¸t triÓn dùa trªn nÒn t¶ng UML. §Çy ®ñ ng÷ nghÜa ®Ó dÔ dµng chuyÓn ®æi m« h×nh gi÷a c¸c c«ng cô hç trî ph©n tÝch thiÕt kÕ kh¸c nhau còng nh− ®Þnh râ giao tiÕp víi c¸c repository ®Ó l−u tr÷ vµ chia xÎ c¸c thµnh phÇn m« h×nh. • §èi víi ng−êi sö dông UML cung cÊp mét ng«n ng÷ m« h×nh hãa trùc quan mang tÝnh diÔn ®¹t cao ®Ó ph¸t triÓn vµ trao ®æi gi÷a c¸c m« h×nh. Mét ng«n ng÷ m« h×nh hãa nãi chung ®−îc cÊu tróc dùa trªn c¸c thµnh phÇn c¬ b¶n nhÊt ë møc siªu-siªu m« h×nh. NÕu cÊu tróc nµy thay ®æi theo mét tËp c¸c kh¸i niÖm m« h×nh hãa kh¸c nhau theo c¸c ph−¬ng ph¸p kh¸c nhau th× viÖc chuyÓn ®æi gi÷a c¸c m« h×nh sÏ kh«ng tr¸nh khái mÊt th«ng tin. §Ó kh¾c phôc vÊn ®Ò nµy, UML ®· tËp hîp c¸c kh¸i niÖm m« h×nh hãa cèt lâi (core modeling concepts) ®−îc sö dông trong nhiÒu ph−¬ng ph¸p vµ c«ng cô m« h×nh hãa kh¸c nhau. C¸c kh¸i niÖm nµy cã thÓ hç trî cho ph¹m vi lín c¸c øng dông. Ngoµi ra, c¸c kh¸i niÖm m« h×nh hãa ë møc thÊp h¬n vµ cô thÓ h¬n cho viÖc giao tiÕp còng ®−îc ®Þnh nghÜa cho ng−êi sö dông ®Ó m« h×nh hãa mét hÖ thèng cô thÓ. • UML cung cÊp c¬ chÕ më réng vµ ®Æc biÖt hãa ®Ó më réng c¸c kh¸i niÖm c¬ së. • Dùa trªn nh÷ng kh¸i niÖm ®· ®−îc ®Þnh nghÜa nµy, OMG mong ®îi ë UML kh¶ n¨ng biÕn ®æi ®Ó ®¸p øng c¸c yªu cÇu míi cña nh÷ng ph¹m vi http://www.ebook.edu.vn 3
  4. øng dông ®Æc biÖt. C¸c nhµ ph¸t triÓn UML kh«ng muèn r»ng mçi khi cã thay ®æi. th× c¸c kh¸i niÖm cèt lâi ph¶i ®−îc ®Þnh nghÜa l¹i. V× vËy, hä tin r»ng viÖc ®−a ra c¬ chÕ më réng cho UML sÏ hç trî nh÷ng xu h−íng ph¸t triÓn míi. Ng−êi sö dông cã thÓ khai th¸c c¸c tÝnh n¨ng sau cña UML X©y dùng m« h×nh b»ng c¸ch sö dông nh÷ng thµnh phÇn c¬ b¶n ®· ®−îc ®Þnh nghÜa kh«ng sö dông c¬ chÕ më réng cho hÇu hÕt c¸c øng dông th«ng th−êng. Thªm c¸c kh¸i niÖm vµ ký hiÖu míi cho nh÷ng v−íng m¾c kh«ng gi¶i quyÕt ®−îc víi c¸c kh¸i niÖm c¬ b¶n. §Æc biÖt hãa c¸c kh¸i niÖm, ký hiÖu vµ rµng buéc cho mét ph¹m vi øng dông (application domain) cô thÓ. • UML ®Èy m¹nh t¸i sö dông trong nÒn c«ng nghÖ phÇn mÒm. T¸i sö dông lµ mét trong nh÷ng vÊn ®Ò ®−îc quan t©m hµng ®Çu trong c«ng nghÖ phÇn mÒm. Nguyªn t¾c cña t¸i sö dông lµ dùa trªn c¸c thµnh phÇn hiÖn cã ®· ®−îc kiÓm chøng vÒ chÊt l−îng vµ chØ x©y dùng c¸c thµnh phÇn míi khi thùc sù cÇn thiÕt. §iÒu nµy kh«ng nh÷ng gióp ®−¬ng ®Çu víi møc ®é phøc t¹p ngµy cµng cao cña øng dông mµ cßn gi¶m chi phÝ, gi¶m thêi gian ph¸t triÓn vµ t¨ng kh¶ n¨ng c¹nh tranh cña nhµ ph¸t triÓn phÇn mÒm. UML cho phÐp t¸i sö dông hiÖu qu¶ c¸c thµnh phÇn cña mét hÖ thèng v× ®−îc x©y dùng trªn nÒn t¶ng h−íng ®èi t−îng. Ngoµi ra, UML cßn hç trî c¸c kh¸i niÖm ph¸t triÓn phÇn mÒm møc cao nh− collabarations, frameworks, patterns vµ components. Ng÷ nghÜa cña chóng ®−îc ®Þnh nghÜa rÊt râ rµng vµ ®iÒu nµy gióp ®¹t ®−îc nh÷ng gi¸ trÞ thùc sù ®Çy ®ñ cña h−íng ®èi t−îng vµ t¸i sö dông. 1.2. KiÕn tróc cña UML Siªu m« h×nh UML ®Þnh nghÜa c¸c ng÷ nghÜa ®Çy ®ñ ®Ó biÓu diÔn c¸c m« h×nh sö dông UML. Nã sö dông tËp con kh¸i niÖm cña UML vµ c¸c ng÷ nghÜa ®Ó x¸c ®Þnh b¶n th©n nã. siªu m« h×nh UML ®−îc ®Þnh nghÜa nh− lµ mét trong c¸c tÇng cña kiÕn tróc siªu m« h×nh bèn tÇng, ®−îc minh ho¹ trong h×nh 4.1. TÇng M« t¶ VÝ dô Siªu-siªu m« h×nh Lµ c¬ së ®Ó m« h×nh MetaClass, ho¸ kiÕn tróc. §Þnh nghÜa MetaAttribute (meta-metamode) ng«n ng÷ x¸c ®Þnh c¸c siªu m« h×nh Siªu m« h×nh Mét thÓ hiÖn cña siªu- Class, Attribute siªu m« h×nh. §Þnh nghÜa (metamode) ng«n ng÷ ®Ó x¸c ®Þnh m« h×nh. M« h×nh (model) Mét thÓ hiÖn cña siªu m« h×nh. §Þnh nghÜa ng«n ng÷ ®Ó m« t¶ lo¹i th«ng tin. http://www.ebook.edu.vn 4
  5. §èi t−îng ng−êi sö Mét thÓ hiÖn cña m« dông (User object) h×nh. §Þnh nghÜa mét lo¹i th«ng tin cô thÓ. H×nh 4.1. KiÕn tróc UML • TÇng siªu-siªu m« h×nh gåm cã c¸c thµnh phÇn c¬ b¶n nhÊt trªn ®ã UML dùa vµo kh¸i niÖm “Thing” ®Ó biÓu diÔn bÊt cø nh÷ng g× cã thÓ ®Þnh nghÜa. Møc trõu t−îng nµy ®−îc sö dông ®Ó h×nh thøc ho¸ kh¸i niÖm vµ ®Þnh nghÜa mét ng«n ng÷ ®Ó x¸c ®Þnh c¸c siªu m« h×nh. • TÇng siªu m« h×nh gåm nh÷ng thµnh phÇn cÊu t¹o nªn UML, bao gåm c¸c kh¸i niÖm tõ c¸c biÓu ®å h−íng ®èi t−îng vµ h−íng thµnh phÇn. Mçi kh¸i niÖm trong tÇng nµy ®Òu lµ mét thÓ hiÖn cña kh¸i niÖm siªu - siªu m« h×nh “Thing”. TÇng trõu t−îng nµy ®−îc sö dông ®Ó h×nh thøc ho¸ c¸c kh¸i niÖm cña biÓu ®å vµ ®Þnh nghÜa ra mét ng«n ng÷ ®Ó x¸c ®Þnh c¸c m« h×nh. • TÇng m« h×nh gåm cã c¸c m« h×nh UML. §©y lµ tÇng mµ t¹i ®ã viÖc m« h×nh ho¸ c¸c bµi to¸n, c¸c lêi gi¶i hay c¸c hÖ thèng ®−îc thùc hiÖn. Mçi kh¸i niÖm trong tÇng nµy lµ mét thÓ hiÖn cña kh¸i niÖm trong tÇng siªu m« h×nh. TÇng trõu t−îng nµy ®−îc sö dông ®Ó h×nh thøc ho¸ c¸c kh¸i niÖm vµ ®Þnh nghÜa mét ng«n ng÷ ®Ó trao ®æi c¸c tõ ng÷ vÒ mét chñ ®Ó cho tr−íc. C¸c m« h×nh trong tÇng nµy th−êng ®−îc gäi lµ c¸c m« h×nh líp hay m« h×nh kiÓu. • TÇng c¸c ®èi t−îng ng−êi sö dông bao gåm c¸c thµnh phÇn ®Ó minh ho¹ c¸c m« h×nh UML. Mçi kh¸i niÖm trong tÇng nµy lµ mét thÓ hiÖn cña kh¸i niÖm trong tÇng m« h×nh. TÇng trõu t−îng nµy ®−îc sö dông ®Ó h×nh thøc ho¸ c¸c tõ ng÷ cô thÓ vÒ mét chñ ®Ò cho tr−íc. C¸c m« h×nh trong tÇng nµy th−êng ®−îc gäi lµ c¸c m« h×nh ®èi t−îng hay m« h×nh thÓ hiÖn. Trong ng÷ c¶nh nµy, kh¸i niÖm “siªu” ®−îc sö dông ®Ó biÓu thÞ mèi quan hÖ gi÷a mét tËp c¸c phi-siªu kh¸i niÖm (non-metaconcepts) vµ siªu kh¸i niÖm cña chóng. Kh¸i niÖm “siªu” kh«ng ph¶i lµ ®Æc tÝnh cña m« h×nh, nh−ng l¹i cã vai trong trong mèi quan hÖ gi÷a c¸c m« h×nh: mét siªu - siªu m« h×nh quan hÖ víi mét siªu m« h×nh theo c¸ch gièng nh− mét siªu m« h×nh quan hÖ víi mét m« h×nh vµ còng gièng nh− c¸ch mµ mét m« h×nh quan hÖ víi ®èi t−îng ng−êi sö dông. VÒ c¬ b¶n th× biÓu diÔn siªu kh¸i niÖm cña siªu kh¸i niÖm trong ®ã kh¸i niÖm trõu t−îng bao gåm viÖc ®−a vµo siªu kh¸i niÖm vµ biÓu diÔn bao gåm thÝ dô minh ho¹ (hay dÉn chøng cô thÓ) mét siªu kh¸i niÖm lµ sù trõu t−îng mét tËp c¸c phi - siªu kh¸i niÖm. http://www.ebook.edu.vn 5
  6. http://www.ebook.edu.vn 6
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2