Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 87 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
87
Dung lượng
29,08 MB
Nội dung
DẠI HỤC QUỐC iỉlA IIÀ NỘI KHOA CỔN(Ỉ N(ỈHÊ P I I ANT I I Ị HOẢI P Ỉ I UƠNG "QUI TRINH PHÂN TÍCH THIẾT KÊ PHẦN MỂM HƯỚNG ĐỐI TƯỢNG s DỤNG UML VÀ ÚNG DỤNG” LUẬN VAN TH ẠC s ĩ KHOA HỌC IIÀ NỘI - 2002 ĐẠI IIỌC QUỐC GIA HÀ NỘI KHOA CÔNG NGHỆ PIIAN TIIỊ HOẢI PHUƠNG "QUI T R ÌN H P H  N TÍCH T H IẾ T K Ê P H Ầ N M Ể M IIƯỚNG Đ ỐI TƯ ƠNG s D U N G U M L VÀ ÚNG DUNC Chuyên ngành : Công nghệ thúng tin Mă sò : LUẬN VÃN THẠC s ĩ K HO A HỌC Người hướng dẫn khoa học: 1*(ỈS.TS N guyễn Vãn Vỵ, Klioa Công nghệ, Đại học Quốc gia Hà nội IIÀ NỘI - 2002 MỤC LỤC Mò chiu I Đ ìíl vấn đ ề ' I I nil hình nghiên u .6 Mục tlích nghiên cứu nội dung thực a) Mục dích nghiên cứu b) Nội đung thực Phương pháp nghiôn cứu Giới hạn nghicn cứu Ý Iigliìa lliực liễ n Cấu (rúc luận văn Chương Pliuong pháp phát triển phán mềmliuứng dòi tuựng IU I I Tiến trình phái (l ien phần mềm 10 1.1 Các pha lie’ll (lình phái liièn pliần mém 10 1.1.2 Phát triển lặp lăng d ầ n 13 1.2 Phương pháp phân Lích thiơl kêhướng dối tượng 14 1.2.1 Mỏ hình dối lượng 14 1.2.2 Lớ|> dùi luựiig .; 14 V M hình lioií mõ hình liố hướng dổi tượng 20 1.4 Kơì luận chương I 21 Chương Còng cụ UML cách Ihc 22 2.1 Giới thiệu vổ U M L 22 2.2 Báng lừ vựng cùa UML 23 2.2.1 C c s ự v ậ i 23 I 2.2.2 Các mối quail hệ phần lử Irong U M L .30 2.2.3 Các hiểu dỏ Hong UMI 31 2.3 Các qui lắc cư chế chung cùa UML 34 2.3.1 Các qui tắc U M L 34 2.3.2 Các chế chung 35 2.4 Các cách nhìn hệ lliống (Views) 37 2.4.1 Cách nhìn ca sử d ụ ng 37 2.4.2 Cách nhìn logic .38 2.4.3 Cách nhìn thành phần 38 2.4.4 Cách nhìn Irion khai 38 2.5 KỐI luận chương 38 Chng Qui trình pliãn (ích lliiêí kèpỊiiin mềm hướng dối lưựiiỊ» sứ tiling UML 39 Các đục liưng liên trình họp lilial (Unified Process) 39 3.1.1 Tien trình dưực dieu khiên usc-casc 39 1.2 Tic'll trình dựa lien kiên Il lie trung m 40 3.1.3 Tic’ll trình lạp láng dần .41 3.2 PliAn lích thiết kế hệ thống sứ dụng U M L 42 3.2.1 Tìm hiểu yêu cầu hệ thống .42 3.2.2 Xúy dựng ca sứ dụng hệ thống 43 3.2.3 Phân lích (Analysis) 45 3.2.4 Thiel kế (Design) 55 3.3 Kcl luận chương 64 ) Cliuưnị» úiiị* dmij» qui (lìnli |>hán (ícli Iliỉơt kè hương dõi luợiiỊ» xây tlựiiịì hệ ỉ hỏng xú lý gọi í rên (ỏiíị» dài SPC 65 4.1 Đặt vân đ ề ! 65 4.2 'lìm hiểu hệ thống xứ íý g ọ i 66 4.2 í Tống quan vé hệ (hòng xứ lý g ọ i 66 4.2.2 Cúc chức nang cua hệ thơng 67 4.2.3 Các thuộc lính hệ lliống 68 4.2.4 Các Use-case hệ lliống xứ lý g ọ i 68 4.3 Mỏ hình quan niệm hộ thống xử lý gọi 15 4.3.1 Các lứị) (l'ong l)ộ Ihống 75 4.3.2 Mỏ hình quan niệm hộ lliong 76 4.4 Hành vi hệ thông 77 4.4.1 Bicu tlồ tuấn tự hệ thông 77 4.4.2 Các hợp dồng cho ihao lác hệIhống 79 4.5 Biếu dó cộng tác cho thao lúccùa hệ thịng 81 4.5.1 Biểu đổ cộng lác cua thao lác phân lích s ố 81 4.5.2 Biêu đồ cộng lác cùa thao lác hiên dịch .82 4.6 Biổit dồ lứp hệ thống xử lý gọi 83 4.7 Kèi luận chương 84 Kc( h u m 85 lài liệu Ilium kliiio 86 * MỞ ĐẦU Đạt vân dề Phức lạp thuộc lính vỏn cỏ cua họ thong phần mềm Nỏ có lliị xuất phái từ ngun nhân cùa phạm vi vân clé (Jạt Sự phức lạp có lại khó khán qn ỉý tiến trình phát triển Cịn "nhiệm vụ nhóm phát triển hệ thống lạo ảo giác vẻ tính đơn giản, che di tính phức tạp nhiều mặt tuỳ tiện hệ thống" [3] Khi nghiên cứu vổ hộ ihỏng phức tạp, ngưừi la dã rúl năm dạc uưng sau: (i) "Thông thường, tính phức tạp có dạng mội hệ tổ chức phân cấp: Mội hệ thống phức lạp bao gồm hộ thống tương lác lẫn nhau, đến lượt mình, c c h ộ l i n i n g COI1 n y l i b a o g m n h ữ n g h ệ t h ố n g c o n c ủ a l i ê n g I1Ó, v c ứ t i ế p l ụ c vậy, cho liên dạt lới mộl hệ thòng COI1 cáp lliàp nhài chi gồm có thành phần sơ cấp" Ị3J Viộc lổ chức mội họ thong với cấu núc phAn cAp giúp ta có cách nhìn Irực quan lum vỏ hệ thơng, dó Kiên trúc hệ phức lạp (lược bicu diễn thành phần chức Hong hệ dó với mối quan hộ tổ chức phiìn cấp (hành phần v ề hán chái cách lựu chọn thành phẩn sơ cấp ( p r i m i t i v e c o m p o n e n t ) c ủ a m ộ t h ệ p h ứ c t p CÒI1 d u r a l l i ậ l l õ l n g : (ii) "Việc lựa chọn lliàiih phán liong mội liệ lliỏìig làm lliànli phẩn SƯ cáp lưưng dôi tuỳ tiện phần lứn phụ thuộc vào suy xét ngưừi quan sát hệ Ihống ấy".[3] (iii) "Sự liên ket ben Hong thànlì phần lliưừng mạnh mối liên kẽt thành phần Dieu có lác đọng lới việc pliàn loại llùmli phẩn cỏ lần suât dọng cao (bao hàm câu Irúc bên Irong thành phần) với thành phần có tần suâl dộng thấp (hao hàm lương lác giũa thành phần)".[3) Sự khác biệt giũa lương lác bên thành phần vói nrơng tác giũii llìành phiin cho la mộl phiìn biệl lõ làng vổ liCn quan hộ phận liong hệ lliống giúp la có the nghiên cứu lừng họ pliận tló mội cách lương dổi dộc lập (iv) "Các hộ thống có lổ chức phân cấp ihường bao gồm chí số cácloại hệ khác dưực tổ hợp xếp Ihco nhiều cách" [3J Nói cách khác, lìệ phức tạp có kiểu mẫu chung Các kiểu mẫu cho phép sứ dụng lại thành phần nhỏ chung cho nhiều thành phán (V) “ Một hộ phức tạp mà hoại dộng dưực định phái phát triển từ hệ đơn giản hoạt dộng Một hệ thống phức tạp dược thiếl kế từ số khơng không hao hoại dộng được, vá víu dể làm cho hoại dộng dưực, phải bắt đáu từ hệ thống tỉưn gian dang hoạt dộng”!3 Đè dương dầu với vấn Process OutgoingCall c Process IncommingCall ) Process TransitCall ] lình 4.3 Biểu dồ use case hệ thống xử lý gọi 74 4.3 Mơ hình quan Iiiệni hệ thống xử lý Ị»ọi 4.3.1 Các lớp Iroiiịỉ hệ lliốiiịĩ Qua việc tìm hiểu ca sư dụng, cụ the liệu trình xử lý, la l úl dược lớp ilụrc thể sau: Call (cuộc gọi) Subscriber (thuê bao) - TnmslationTable (báng biên dịch) RouteTable (bang định luyến) CircuitsTablc (hang mạch) DiulingPiicpleTablc (báng qui tlịnli quay số) Trong liộ (hống xứ lý gọi, hai lác nhàn Caller Calice tưưng lác với hệ thống ihỏng qua thiêt bị đầu cuối dường dây lliuè bao-STLU (Subscriber Terminale Line Unil) Chúng gửi tín hiệu di nhạn tínhiệu đáp ứngcùa qua hệthống STLU Trong phẩn dã xác định lớp Subscriber,lớp cổ đại tliện cho STLU irong họ lliống xú lv gụi Iilur ỉà lứp biên Xél ca sứ dụng Procès OutgoiugCair, đc diều hành hoại dộng cua ca sử dụng này, cán cỏ mộl lớp dieu khiển chung, dó lớp Call Processing Tuy nhiên, nêu dồn liêl việc (liều khiên cho lớp lliì trớ nên phức lạp, liên ta có the dưa them lớp diều khiển: DigitAnulysis: điều khiến việc phàn lích sị' máy Iihûn dược tir Ihuô bao - Translation: diều khiển việc biên dịch sỏ - Connection: diều khiển việc kốl nôi gọi Chức lớp làm rõ Irong phán thicl kê Mối lien hệ 1ỚỊ) llitiọc lính lớ|) thể mị hình tịuan niộm o phấn tiếp llico 75 4.3.2 M liìnli (|IIHI1 niệm hệ II1ĨI1Ị4 R o u te T a b le T r a n s la lio n i able Ể^íDirNum ber : Long 1k>Equi(>Nuiiiber : Long í^ P o ln t e rt o R o u le ì a b le : Integer - ^ íR o u le C o d e : Integer ^ R o u le D ig it ; Long < % >C hargingC o de : Byte í^ P o ln lo rto C irT a b le : Integer CircullT able á^>í3usyBii Boolean ^ C ir c u it E q u lp N u n ib o r : Integer J () X I lình 4.4 Mơ hình quan niệm cùa hệ tilling 70 4.4 Hành vi 4.4.1 lìiếu Clin hệ tilting dổ tuần tụ hệ thống CallProcessinq Caller Callee liftReceiver ■*0 PhoneNumber ụ hangup ariswerPhone Ir hangUp ợ !lình 4.5 Sơ dồ luần tự hộ lliống xử lý gụi Biêu (Jỏ luần lự hệ llìống mứi chí kiệu vào Ỉ1Ộ lliống, đê làm rõ hưn kiện pliál sinh từ hệ thống, tác giá xin dưa thêm biểu đổ lần vết kiện hệ (hỏng (System etivenl trace diagram): 77 o ( ) X Callee CallProcessinq : Caller LiltReceiver Kl Dial Tone If” I Dials(PlioneNumber) I - - PhoneRing Ringing lone r AnsweiPhone < I StopRinging Ị StopRingingTone _>i I I PhoneCall connected I 10 PhoneCall connected Tl 11 Hangup 12 PhoneCall cleatdowned ,< I I I 13 PhoneCall cleardowned ' 14 Hangup I< I linli 1.6 lỉicti IMil VL'l kiện liỗ lliiig Xằ ly cuc gi 7N 4.4.2 Cỏc hp dổiiịi cho nhũng thao tác liệ thống Các thao lác Iron g ca sứ dụng ProcessOuígoingCall gọi là: Phân tích số Biên dịch Kết nơi 4.4.2.1 llợ p dung chơ íhao lác P hán tích sơ I lợp Tên AnaiyseDigilsOMioneNumbenLong) Các trách nhiệm Phùn lích sơ máy (Jã quay (PhoneNumber) dê xác định kicu gọi mã lổng dài đích Kiổu Hộ Ihơng Các tham kháo R.I.I,RI.2,R1.3, RI.4 Ca sử dụng: ProcessOulgoingCall Ghi Các trường hợp loại trừ Nêu số máy quay không hợp lộ phái sinh mội thơng báo lỏi tới (hue hao chủ gụi Kết qua Kiêu gọi nội lổng dài, nội vùng, ngoại vùng hay quốc tế mã tổng dài đích Tien dieu kiện - Sô máy quay hợp lệ - Dịch vụ sứ dụng diíực lỉăng ký 1lậu dieu kiện -Thiết lập kếl Call Processing Digi (Analysis - Một dối lượng Ihuộc lớp Call dược lạo - Điền ihòiig lin Cal 1er'Subscriber vào Caiierlnfo -Thiết lập kết nối Call va DigilAnalysis - Thiết lập mối liên hộ Call CalleiSubscriber dựa DirNumbcr (sổ danh bạ) Ihuê bao gọi () 4.4.2.2 llọ p dóng cho (hao tác B iên (lịch sò Ị lọp Tên Trans 1ate( In pu lCt )de ) Các trách nhiệm Tìr mã đtỉu vào nhận tlược từ trình phân tích số, Iruy nhập vào Bảng biêu dịch Bâng định luyến dể xác định hướng để tới tống đài dích, mã cước tương ứng Kiốu Các lliani kháo R2.1, R2.2, R2.3 Ca sử dụng: PmccssOulgoingCall Ghi Cúc trường hợp loại trừ Khơng cịn tuyến tổng đài dành cho gọi Kêl quà - Mã tuyên xác định lổng dài dích - Mã cước gọi - Chí số cùa kênh mà dó gọi khỏi lổng dài Tiền điều kiện Tồn lại kênh rỗi irỏn lổng clài danh cho gụi 1lûu diều kiện - Thi cl ỉậ|> kết nòi CallProcessing Translation - Thiết lộp kêl nòi Translation vứi TranslalionTable, RơuteTablc, CircuilTablc 4 H ợp đồng cho th a o í c K ết n ò i ỊỊỤỈ 1lợp tlổllg Ten Ci)nnctlCali(RoiUcCodc,CircuilJit|uipNumbcr, PlioneNimiber) Các trách nhiệm Kiểm Ira dieu kiện thuê bao bị gụi dẻ ihực kết nối gọi Ghi Ihỏng liu gọi lên ghi gọi Kiểu Các lliaiìì kháo R3.I.R3.2 R3.3 Ca sú (lụng: Pl'occssOulgoiiigCall HO Cihi 'long dài (lích lioịic lluiê bao bị gọi kiióng dú diều kiệu Các lrường họp loại Irừ (hực hiÇii gọi Kèl quii Tién diổu kiơn - Tỉiiêi lập kếl nòi CallProcessing Connection l lậu diều kiện - Thièt lập kẽl nối Connection với tác nhân OtherSwilching - Điền thòng tin CalleeSubscribcr vào Calleelnfo - Điền giá trị StartTime EndTime theo hồ hệ thống 4.5 Biểu đồ cộng tác CÍ1 tliao tác liệ thông 4.5.1 Biêu dồ cộng lác ciia lliao lác phân tích sơ CallP ocessing PhoneCode:=AnalyseDigits (PhoneNumber, DirNumber) \/ [new callỊCreate(DirNumber) < — _ _ _ ị CallType:=GetType(PhoneNumber) DigitAnalysis Code:= FindCode(PhoneNumber) V \/ Call : DialingPrincipleTable Hình 4.7 Bien dỏ cộng lác cùa tliao lác phàn lích XI 4.5.2 Biểu dồ cộng tác thao tác biên dịch CircuitOnRoute: = Routing(PhoneCode) CallProcessing Route; =GetRoute(Pointer) — > : RouteTable lình 4.8 Biểu tlổ luẩn tự cùa thao tác biên dịch 82 4.6 Biểu đổ lớp hệ thống xử iý ịỊựi (.) ( // L O IM ertxchange CallP rocessitig ) Translation C a ll ( (ro I>I Use Case V iew ) ♦ R ou tin gO D ig ilA n a ly ã s C on n ectio n 'Jÿ C a lIN u m b e r : Long ^ C a lle rln fo : Subscriber ^ > C a le e ln (o : Subscriber á£>StartTime : string á^>EndTim e : s irin g ♦C te ateO ♦D eslroyO /♦ A n a ly se Digils()() \ ♦ C o n iie c tC a llO D ialin g P rin clp leT able lỉý R rs lD ìg il B yĩẽ 1j^>SecondDigit : Byle ‘Ü ÿT hirdD igil Byte i^>T ypeofC all Subscriber 'ịịỹD iiN um b e r : Long 'jJ^E qiiip N u m ber Long !% >Sem iPetData : Object i% TransO ala O bject ♦ rin d C o d e O ♦ G e lln fu o _2 C a lle rS u b scn b e r C a lle e S u b scn b e r T $ C a lle r C a lle e (from Use C ase View ) (from Use Case View ) 1linli 4.9 Bicu (Jổ lớp hệ thống xử lý gọi