Ngày nay, công nghệ thông tin đã và đang đóng vai trò quan trọng trong đời sống kinh tế, xã hội của nhiều quốc gia trên thế giới
Trang 1MỤC LỤC
Trang
Lời Mở Đầu 3
I Quá trình hình thành và nguyên nhân ra đời 3
I.1 Quá trình hình thành UML 3
I.2 Nguyên nhân ra đời 4
II Khái quát về UML 4
II.1 Giới thiệu UML 4
II.2 Mô hình khái niệm của UML 5
II.2.1 Phần tử mô hình trong UML 5
II.2.2 Các quan hệ trong UML 8
II.2.3 Kiểu dữ liệu 10
II.3 Biểu đồ UML 10
II.3.1 Biểu đồ trường hợp sử dụng (Use case _ UC) 10
II.3.2 Biểu đồ trình tự (sequence) 11
II.3.3 Biểu đồ cộng tác (collaboration) 12
II.3.4 Biểu đồ lớp (class) 13
II.3.5 Biểu đồ chuyển trạng thái (State transition) 14
II.3.6 Biểu đồ thành phần (component) 15
II.3.7 Biểu đồ triển khai (deployment) 16
II.3.8 Biểu đồ đối tượng 17
II.3.9 Biểu đồ hoạt động 18
II.4 Kiến trúc hệ thống 18
II.4.1 Khung nhìn UC 19
II.4.2 Khung nhìn thiết kế 19
II.4.3 Khung nhìn cài đặt 19
II.4.4 Khung nhìn triển khai 20
II.4.5 Khung nhìn tiến trình 20
III Tiến trình phát triển ứng dụng với UML 20
III.1Các kỹ thuật mô hình hoá hợp nhất (Unified modeling) 20
III.1.1 Xây dựng lược đồ Use case 20
Trang 2III.1.3 Xây dựng lược đồ tuần tự 22
III.1.4 Xây dựng lược đồ cộng tác 23
III.1.5 Xây dựng lược đồ hoạt động 23
III.1.6 Xây dựng lược đồ trạng thái 24
III.1.7 Xây dựng lược đồ thành phần 25
III.2 Công cụ (case tool) mô hình hoá hệ thống Rational Rose 25
IV Xây dựng hệ thống quản lý thư viện trên Rational Rose 27
IV.1 Hệ thống quản lý thư viện 27
IV.1.1 Phát biểu bài toán 27
IV.1.2 Phân tích bài toán 27
IV.2 Xây dưng mô hình bài toán trên Rational Rose 28
IV.2.1 Lược đồ use case mức tổng thể 28
IV.2.2 Lược đồ lớp mức thô 29
IV.2.3 Lược đồ use case chi tiết và các lược đồ tuần tự mô tả các use case 30
Kết luận 37
Tài liệu tham khảo 38
Trang 3Một trong những lĩnh vực quan trọng và có ảnh hưởng rất lớn đến sự thành công củaviệc phát triển phần mềm là việc mô hình hoá phần mềm Có rất nhiều ngôn ngữ môhình hoá hỗ trợ cho việc mô hình hoá phần mềm, nhưng nổi bật là ngôn ngữ UML(Unified Modeling Language) từ hãng phần mềm Rational UML không ngừng đượcphát triển và ngày càng được sử dụng rộng rãi trên thế giới, đa số các công cụ hỗ trợphát triển phần mềm hiện nay đều có hỗ trợ ngôn ngữ UML Ở đây em đã nghiên cứu
đề tài “nghiên cứu ngôn ngữ UML và ứng dụng ” Với sự hướng dẫn tận tình của côgiáo Tống Minh Ngọc cùng với sự tìm tòi nghiên cứu của bản thân em đã thu đượcmột số kết quả Đó là tìm hiểu được các thành phần chính trong ngôn ngữ UML vàmột số ứng dụng của nó Tuy nhiên thời gian nghiên cứu còn hạn hẹp và sự hiểu biếtcòn hạn chế của bản thân nên đề tài còn nhiều thiếu sót, em rất kính mong được sựthông cảm và tận tình chỉ bảo của thầy cô
I Quá trình hình thành và nguyên nhân ra đời
I.1 Quá trình hình thành UML
Khái niệm hướng đối tượng hình thành từ ngôn ngữ lập trình Simula, nhưng nó trởnên quen thuộc khi xuất hiện ngôn ngữ C++ và Small Talk vào cuối những năm 80 củathế kỷ XX Khi các ngôn ngữ hướng đối tượng được sử dụng rộng rãi, nhu cầu cóphương pháp phát triển phần mềm hướng đối tượng trở nên cấp bách Vào đầu nhữngnăm 90 của thế kỷ XX đã xuất hiện các phương pháp hướng đối tượng sau đây:phương pháp Booch, OMT (object modeling Technique), OOSF …Mỗi phương pháp
có ký pháp, tiến trình và công cụ hỗ trợ riêng Chúng đều có ưu điểm và nhược điểmriêng Người sử dụng rất khó khăn để chọn cho mình một phương pháp phù hợp Donhận biết được các vấn đề này, vào năm 1994 các tác giả của các phương pháp này đãhợp tác nhằm tạo ra phương pháp mới Bắt đầu là sự thống nhất phương pháp Boochvới OMT-2 của Rumbaugh để hình thành Unified Method 0.8 tại Rational RoseCorporation Tháng 6 năm 1995, IvarJacobson (tác giả của OOSE / Objectory) ra nhậpvới họ Từ thời điềm này nhóm phát triển phương pháp hướng đối tượng nói trên chorằng nhiệm vụ của họ là tạo ra ngôn ngữ mô hình hoá thống nhất cho cộng đồng hướngđối tượng Do vậy họ đã đổi tên công việc của họ thành Unified Modeling Language_UML (ngôn ngữ mô hình hoá thống nhất) Booch, Rumbaugh và Jacobson đã đưa ranhiều phiên bản UML, trong đó phiên bản UML 0.9 xuất hiện năm 1995, UML 1.0xuất hiện vào năm 1997 Phần lớp UML được xây dựng trên nền tảng của các phươngpháp Booch, OMT va OOSE, nhưng UML còn bao gồm cả các khái niệm có nguồngốc từ các phương pháp khác nhau như David Harel, Gamma-Helm-Johnson-Vlissides
Trang 4và Fusion UML còn là kết quả của sự đóng góp từ các hãng lớn như DEC, HP, IBM
… Phiên bản UML 1.1 đã được đệ trình lên OMG và còn giờ đây có nhiều phiên bảnkhác như UML 1.3, UML 1.4 …
Hiện nay tồn tại rất nhiều phương pháp phân tích thiết kế hướng đối tượng như làOOA (Object Oriented Analys) của Booch, OMT, (Object Modeling Technique) củaDumbaugh… Mỗi một phương pháp tồn tại trong nó các đặc điểm mạnh và điểm yếu
Do vậy bản thân mỗi phương pháp không đáp ứng được một cách đầy đủ đòi hỏi củangười sử dụng Do đó việc ứng dụng 1 ngôn ngữ mô hình hoá chuẩn, tồn tại trong suốtvòng đời phát triển là rất cần thiết UML là ngôn ngữ mô hình hoá hợp nhất, được xemnhư công cụ đồ học nhằm biểu diễn trực quan, đặc tả, xây dựng và lập tài liệu cácthành phần trong hệ thống Nó cung cấp một cách thức chuẩn để tạo ra một sự mô tả
hệ thống, đề cập đến những cái mang tính quan niệm như các tiến trình kinh doanh vàchức năng hệ thống, đồng thời nó cũng đề cập đến những thứ cụ thể như là các lớpđược viết trong một ngôn ngữ lập trình … UML được tạo ra là sự tất yếu khách quan,
nó đáp ứng một cách khá đầy đủ các yêu cầu từ phía người dùng
II Khái quát về UML
UML là ngôn ngữ mô hình hoá , trước hết nó là mô tả ký pháp thống nhất ngữnghĩa và các định nghĩa về metamodel(mô tả và định nghĩa chính ngôn ngữ mô hìnhhoá), nó không mô tả về phương pháp phát triển UML được sử dụng để hiển thị, đặc
tả, xây dựng và làm tài liệu các vật phẩm của phân tích hình thức và thiết kế trong quátrình xây dựng hệ thống phần mềm theo hướng đối tượng UML được sử dụng chomọi tiến trình phát triển phần mềm, xuyên suốt vòng đời phát triển độc lập với cáccông nghệ cài đặt hệ thống
II.1 Giới thiệu UML
UML là ngôn ngữ chuẩn để viết kế hoạch chi tiết phần mềm Nó phù hợp choviệc mô hình hoá các hệ thống như: hệ thống thông tin doanh nghiệp, các ứng dụngphân tán trên nền web, … nó không khó hiểu và dễ sử dụng UML là ngôn ngữ môhình được cả con người và máy sử dụng Cũng như mọi ngôn ngữ mô hình hoá khác,UML có kí pháp và tập các luật sử dụng nó Các luật bao gồm cú pháp, ngữ nghĩa vàluật hình thành câu(pragmatic) Để sử dụng UML có hiệu quả cần nắm được ba nộidung chính:
Các phần tử cơ bản của mô hình trong UML
Các quy định liên kết các phần tử mô hình
Một số cơ chế chung áp dụng cho ngôn ngữ này
UML là ngôn ngữ và nó chỉ là một phần của tiến trình phát triển phần mềm, độc lậpvới tiến trình Tuy nhiên UML rất phù hợp với các tiến trình hướng trường hợp sửdụng (Use case - UC)
-UML là ngôn ngữ:
Ngôn ngữ phải có từ vựng và quy tắc tổ hợp các từ vựng để giao tiếp Ngôn ngữ
mô hình là ngôn ngữ có từ vựng và quy tắc tập trung vào biểu diễn về mặt vật lý vàkhái niệm của hệ thống UML là ngôn ngữ chuẩn công nghiệp để lập kế hoạch chi tiết
Trang 5phần mềm Từ vựng và quy tắc ngôn ngữ UML cho ta cách thức xây dựng mô hìnhnào cần phải được lập và khi nào lập chúng.
-UML là ngôn ngữ hiển thị:
UML giúp ta xây dựng mô hình để dễ dàng giao tiếp Một số công việc phù hợpvới mô hình hoá bằng văn bản, một số công việc khác lại phù hợp với mô hình hoábằng đồ hoạ UML là ngôn ngữ đồ hoạ Với nhiều hệ thống, mô hình trong ngôn ngữ
đồ hoạ dễ hiểu hơn so với ngôn ngữ lập trình Sau mỗi biểu tượng đồ hoạ của UML làngữ nghĩa Nên khi xây dựng mô hình trong UML thì người phát triển khác hay cáccông cụ hỗ trợ mô hình hoá có thể hiểu mô hình một cách rõ ràng
-UML là ngôn ngữ đặc tả:
Đặc tả là mô tả rõ ràng những điểm mấu chốt của vấn đề UML cho phép mô tả
mô hình chính xác, không nhập nhằng và hoàn thiện UML hướng tới đặc tả thiết kế,phân tích và quyết định cài đặt trong quá trình phát triển và triển khai hệ thống phầnmềm
-UML là ngôn ngữ để xây dựng:
Mô hình của UML có thể kết nối trực tiếp với các ngôn ngữ lập trình khác nhau
Có nghĩa là có thể ánh xạ mô hình trong UML tới các ngôn ngữ lập trình khác nhaunhư Java, C++ hay cá bảng CSDL quan hệ, CSDL hướng đối tượng Ánh xạ này chokhả năng biến đổi thuận từ UML sang ngôn ngữ lập trình và cho khả năng biến đổingược lại Có nghĩa là có thể làm việc với văn bản hay đồ hoạ một cách nhất quán
-UML là ngôn ngữ làm tài liệu:
UML hướng tới làm tài liệu kiến trúc hệ thống và các chi tiết của nó UML chokhả năng biểu diễn yêu cầu, thử nghiệm, mô hình hoá các hoạt động lập kế hoạch vàquản lý sản phẩm
UML cho biết giới hạn của hệ thống và các chức năng chính của nó thông qua
UC và tác nhân
Trong UML ,các UC được mô tả bằng biểu đồ logic
Biểu diễn cấu trúc tĩnh của hệ thống nhờ biểu đồ lớp
Mô hình hoá các hành vi đối tượng bằng biểu đồ chuyển trạng thái
Phản ánh kiến trúc cài đặt vật lý bằng biểu đồ thành phần và biểu đồ triển khai
Mở rộng các chức năng bằng Stereotypes
II.2 Mô hình khái niệm của UML
Để hiểu được UML ta cần được mô hình khái niệm của ngôn ngữ Nó gồm ba vấn
đề chính sau:
Các phần tử cơ bản để xây dựng mô hình
Quy tắc liên kết các phần tử mô hình
Một số cơ chế chung để sử dụng ngôn ngữ
II.2.1 Phần tử mô hình trong UML
Các khối để hình thành mô hình UML gồm ba loại sau: phần tử, quan hệ và biểu
đồ Phần tử là trừu tượng căn bản trong mô hình; các quan hệ gắn với các phần tử nàylại với nhau; còn biểu đồ nhóm tập hợp các phần tử
Trong UML có bốn loại phần tử mô hình: cấu trúc, hành vi, nhóm và chú giải.Các phần tử này là các khối để xây dựng hướng đối tượng cơ bản của UML
-Phần tử cấu trúc:
Trang 6Phần tử cấu trúc là các danh từ trong mô hình UML Chúng là bộ phận tĩnh của
mô hình để biểu diễn các thành phần khái niệm hay vật lý Có bảng loại phần tử cấutrúc: lớp, giao diện, phần tử cộng tác, trường hợp sử dụng, lớp tích cực, thành phần,nút
Lớp: Mô tả các đối tượng cùng chung thuộc tính, thao tác, quan hệ và ngữnghĩa Một lớp cài đặt một hay nhiều ghép nối Lớp biểu diễn bằng hình chữnhật, gồm tên, thuộc tính và thao tác
tai khoan
so tai khoan pin
so du mo() rut tien() tru so du() kiem tra so du()
Hình 1.1 Lớp
Giao diện: Là tập hợp các thao tác làm dịch vụ của lớp hay thành phần Giaodiện mô tả hành vi thấy được từ ngoài của thành phần Giao diện biểu diễn toàn
bộ hay một hành vi của lớp Giao diện định nghĩa tập đặc tính thao tác
Phần tử cộng tác: Mô tả ngữ cảnh của tương tác Nó thể hiện một giải pháp thihành bên trong hệ thống, bao gồm các lớp, quan hệ và tương tác giữa chúng đểđạt được một chức năng mong đợi của UC
Trường hợp sử dụng (Use case): mô tả tập trình tự các hành động mà hệ thống
sẽ thực hiện để đạt được một kết quả cho tác nhân nào đó Tác nhân là những gibên ngoài tương tác với hệ thống Tập hợp các UC của hệ thống sẽ hình thànhcác trường hợp mà hệ thống được sử dụng Sử dụng UC để cấu trúc các phần tử
có tính hành vi trong mô hình Nó được hiện thực hoá phần tử cộng tác
Kí pháp đồ hoạ của UC:
Thành phần: Thành phần biểu diễn vật lý mã nguồn các tệp nhị phân trong quátrình phát triển hệ thống
Trang 7
Hình1.6 Thành phần
Nút (Mode): Nút là thành phần biểu hiện vật lý, tồn tại khi chương trình chạy
và biểu diễn các tài nguyên tính toán Có thể đặt tập các thành phần trên nút vàchuyển từ nút này sang nút khác Nút có thể là máy tính, thiết bị phần cứng
Kí pháp đồ hoạ:
may chu
-Phần tử hành vi:
Phần tử hành vi là bộ phận động của mô hình UML Chúng là các động từ của môhình, biểu diễn hành vi theo thời gian và không gian Có hai loại chính là: tương tác vàtrạng thái:
Tương tác: tương tác là hành vi bao gồm tập các thông điệp trao đổi giữa cácđối tượng trong ngữ cảnh cụ thể để thực hiện mục đích cụ thể
Biểu diễn đồ hoạ của thông điệp được thể hiện trên hình sau, bao gồm mũi tên và tên thao tác của nó
Máy trạng thái: máy trạng thái là hành vi chỉ ra trật tự các trạng thái mà đốitượng hay tương tác sẽ đi qua để đáp ứng sự kiện Hành vi của lớp hay cộng táccủa lớp có thể được xác định bằng máy trạng thái Máy này kích hoạt nhiềuphần tử, bao gồm trạng thái, chuyển tiến, sự kiện và hoạt động
-Phần tử nhóm:
Phần tử nhóm là bộ phận tổ chức của mô hình UML, chỉ có một phần tử thuộcnhóm này có tên là gói (pakage) Gọi là cơ chế đa năng để tổ chức các phần tử vàonhóm Các phần tử cấu trúc, hành vi và ngay cả phần tử nhóm có thể cho vào gói.Không giống thành phần (component), phần tử nhóm hoàn toàn là khái niệm, chúngchỉ tồn tại vào thời điểm phát triển hệ thống chứ không tồn tại vào thời gian chạychương trình Gói giúp ta quan sát hệ thống ở mức tổng quát hơn
Kí pháp đồ hoạ của nhóm:
Trang 8
cac luat thuong mai
day la ghi chu
-Chú thích (annotational):
dụng để mô tả các phần tử khác hay mô hình
day la chu thich
Hình1.11 Chú thích
II.2.2 Các quan hệ trong UML
Quan hệ trong UML đại diện cho sự liên hệ giữa các sự vật trong thế giới thực.Quan hệ là sự kết nối giữa hai thành phần trong hệ thống Có bốn loại quan hệ trongUML bao gồm:
Phụ thuộc là quan hệ ngữ nghĩa giữa hai phần tử Trong đó thay đổi phần tử độc
lập sẽ tác động đến ngữ nghĩa của phần tử phụ thuộc
Kí pháp đồ hoạ của nó thể hiện trên hình sau:
Kí pháp đồ hoạ của nó thể hiện trên hình 2.2, chúng có thể chứa tên, nhiệm vụ và tính
nhiều (Multiplicity)
Trang 9-Khái quát hoá (generalization)
Khái quát hoá là quan hệ đặc biệt hoá mà trong đó đối tượng cụ thể kế thừa cácthuộc tính và phương pháp của đối tượng tổng quát Kí pháp đồ hoạ của khái quát hoáthể hiện trên hình 2.4
Hình 2.4.Khái quát hoá
-Hiện thực hoá (realization)
Là quan hệ ngữ nghĩa giữa giao diện và lớp (hay thành phần) hiện thực lớp; giữa
UC và hợp tác hiện thực UC Biểu diễn đồ hoạ của nó được mô tả trên hình 2.5
+employer
* Company
Vehicles
Car Bicycle
Generalization
Trang 10II.2.3 Kiểu dữ liệu
Kiểu dữ liệu không phải là phần tử mô hình trong UML Kiểu dữ liệu cơ sở làkiểu dữ liệu không có cấu trúc UML có các kiểu dữ liệu sau:
Boolean: là kiểu đếm với hai giá trị True và False
Biểu thức (expression): là xâu kí tự có cú pháp
Tính nhiều (multiplicity): là tập không rỗng của các số nguyên dương và kí hiệu
* (để biểu thị tính nhiều vô hạn )
Tên (name): là xâu kí tự cho khả năng đặc tả phần tử
Số nguyên (integer): là kiểu cơ bản và là phần tử của tập vô hạn các số nguyên
âm và dương
Xâu (string): là trật tự của các kí tự ,được sử dụng làm tên
Thời gian (time): xâu kí tự biểu diễn giá trị tuyệt đối hay khoảng tương đối
Không lí giải (uninterpreted): là cái gì đó mà ý nghĩa của nó phụ thuộc vào lĩnhvực
II.3 Biểu đồ UML
Biểu đồ là biểu diễn đồ hoạ tập các phần tử mô hình, vẽ biểu đồ để biểu diễn hệthống đang xây dựng dưói các góc độ quan sát khác nhau UML cho khả năng xâydựng các loại biểu đồ sau:
Biểu đồ triển khai
Biểu đồ chuyển trạng thái
Biểu đồ đối tượng
Biểu đồ hoạt động
II.3.1 Biểu đồ trường hợp sử dụng (Use case _ UC)
Biểu đồ này chỉ ra tương tác giữa các UC và tác nhân UC biểu diễn các chức năngcủa hệ thống Tác nhân là con người hay hệ thống khác cung cấp hay thu nhận thôngtin từ hệ thống đang được xây dựng Biểu đồ UC tập trung vào quan sát trạng thái tĩnhcủa các UC trong hệ thống Nó rất quan trọng trong việc tổ chức và mô hình hoá hệthống Vì UC biểu diễn yêu cầu hệ thống từ góc độ người dùng, cho nên UC là chứcnăng mà hệ thống phải có Biểu đồ này chỉ ra tác nhân nào khởi động UC và khi nàotác nhân nhận thông tin từ hệ thống
Ví dụ: Biểu đồ UC của ATM, chỉ ra tương tác của UC và tác nhân của hệ thống rúttiền Trong đó:
Trang 11nhan vien ngan hang thay doi pin
Hình 2.3 Biểu đồ UC của ATM
Khách hàng (tác nhân) : có khả năng khởi động một số UC như rút tiền, gửutiền, chuyển tiền, xem số dư tài khoản, thay đổi số căn cước cá nhân và thanhtoán
Nhân viên ngân hàng (tác nhân) : có khả năng khởi động UC thay đổi số căncước cá nhân
Trường hợp sử dụng thanh toán có có mũi tên đi đến tác nhân hệ thống tín dụngcho biết UC trả lại thông tin cho tác nhân
II.3.2 Biểu đồ trình tự (sequence)
Biểu đồ nà chỉ ra luồng chức năng xuyên qua các UC Nó là biểu đồ mô tả tương
tác giữa các đối tượng và tập trung vào mô tả trật tự các thông điệp theo thời gian Biểu đồ trình tự trên đã mô tả toàn bộ luồng xử lý cho UC rút tiền thông qua ví dụtrường hợp ông Văn rút 100.000đ Khách hàng có thể thấy được tiến trình tác nghiệp
cụ thể của hệ thống qua biểu đồ Phân tích viên thấy được luồng tiến trình, người pháttriển thấy được các đối tượng cần xây dựng và các thao tác cho các đối tượng này, kỹ
sư kiểm tra chất lượng có thể thấy chi tiết của tiến trình để xây dựng quy trình thửnghiệm, kiểm tra Nói chung biểu đồ này có ích với mọi người tham gia dự án
Ví dụ về biểu đồ trình tự của hệ thống ATM được thể hiện trên hình 2.6
Trang 1217: day the ra
VAN :
khachhang
may doc the man hinh
ATM tai khoan ong VAN may tra tien mat
1: chap nhan the
2: doc so the 3: khoi dong man hinh
4: mo tai khoan 5: yeu cau pin
12: rut tien (100000d)
13: kiem tra tai khoan 14: giam tai khoan (100000d)
15: tra tien (100000d)
16: tra bien nhan
Hình 2.6.Biểu đồ trình tự của hệ thống ATM
II.3.3 Biểu đồ cộng tác (collaboration)
Biểu đồ này chỉ ra các thông tin như biểu đồ trình tự nhưng theo cách khác, nó tậptrung vào tổ chức cấu trúc của các đối tượng gửi và nhận thông điệp Biểu đồ cộng tác
và biểu đồ trình tự thuộc loại biểu đồ tương tác và có thể biến đổi qua lại Trong biểu
đồ cộng tác, đối tượng đặt trong hình chữ nhật, tác nhân là người hình cây Trong khibiểu đồ trình tự biểu diễn tương tác đối tượng và tác nhân theo thời gian thì biểu đồcộng tác không quan tâm đến thời gian
Ví dụ biểu đồ cộng tác ông Văn rút 100.000 đ
Trang 13may doc
the
man hinh ATM
tai khoan ong VAN
may tra tien mat
12: rut tien (100000d)
13: kiem tra tai khoan 14: giam tai khoan (100000d)
15: tra tien (100000d) 16: tra bien nhan
3: khoi dong man hinh
6: nhap pin (1234) 9: chon giao dich rut tien (100000d) 11: nhap so tien (100000d)
1: chap nhan the
Hình 2.7.Sơ đồ cộng tác ông Văn rút 100.000 đ
Tuy cùng chỉ ra các thông tin như biểu đồ trình tự, nhưng biểu đồ cộng tác sử dụng vìmục đích khác Kỹ sư kiểm tra chất lượng và kiến trúc sư hệ thống thấy được việcphân bổ tiến trình giữa các đối tượng thông qua biểu đồ này
II.3.4 Biểu đồ lớp (class)
Biểu đồ chỉ ra tương tác giữa các lớp trong hệ thống Các lớp được xem như kếhoạch chi tiết của các đối tượng Người phát triển sử dụng biểu đồ lớp để xây dựng cáclớp Các công cụ phần mềm như Rose phát sinh mã trình xương sống cho các lớp, sau
đó người phát triển phải chi tiết hoá nó bằng ngôn ngữ lập trình Kiến trúc sư quan sátthiết kế hệ thống thông qua biểu đồ lớp
Trang 14
tai khoan
so tai khoan pin
so du mo() rut tien() kiem tra so du()
may doc the
sothe chap nhan the() tra the()
doc the()
man hinh ATM
nhap dau vao() dau nhac()
may tra tien
so du tai khoan tra tien()
Hình 2.8.Biểu đồ lớp của UC rút tiền
Biểu đồ này chỉ quan hệ giữa các lớp hình thành nên UC rút tiền Nó gồm bốn lớp:máy đọc thẻ, tài khoản, màn hình ATM và máy trả tiền Mỗi lớp trong biểu đồ đượcbiểu diễn bằng hình chữ nhật chia làm ba phần:
Tên lớp (ví dụ trên lớp tài khoản )
Thuộc tính (lớp tài khoản chứa ba thuộc tính:số tài khoản, số căn cước cá PIN và cân đối tài khoản )
nhân- Thao tác (ví dụ lớp tài khoản có bốn thao tác: mở tài khoản, rút tiền, trừ tiềntrong tài khoản và kiểm tra số tiền trong tài khoản )
Đường nối giữa các phần tử biểu đồ lớp là quan hệ giao tiếp giữa chúng Phía tráimột số thuộc tính và thao tác có gắn biểu tượng khoá, có nghĩa là đó là các thuộc tính
và thao tác riêng
II.3.5 Biểu đồ chuyển trạng thái (State transition)
Biểu đồ này mô tả vòng đời của đối tượng, từ khi nó được sinh ra cho đến khi bị
phá huỷ Biểu đồ chuyển trạng thái cung cấp cách thức mô hình hoá các trạng tháikhác nhau của đối tượng Nó được sử dụng để mô hình hoá các hành vi động của hệthống
Trang 15
rut qua
dong kiem tra so du[ so du <0 va > 30 ngay ]
rut tien[ so du <0 ]
khach hang yeu cau dong tai khoan
Biểu đồ chuyển trạng thái chỉ ra hành vi của đối tượng Ví dụ đối tượng tài khoản
trong ngân hàng có thể có một vài trạng thái như: mở, đóng hay rút quá mức Tàikhoản sẽ ứng xử khác nhau với mỗi trạng thái khác nhau
Biểu đồ ở hình 2.9 cho thấy các trạng thái và quá trình chuyển trạng thái của tàikhoản Ví dụ khi tài khoản đang mở và khách hàng yêu cầu đóng tài khoản thì nóchuyển sang trạng thái đóng Yêu cầu của khách hàng gọi là sự kiện Sự kiện là cái gây
ra các biến đổi từ trạng thái này sang trạng thái khác Nếu tài khoản đang mở và kháchhàng rút tiền thì có thể dẫn tới trạng thái rút quá Trạng thái này xảy ra khi khách hàngcòn nợ ngân hàng hay tài khoản < 0.Điều kiện này gọi là điều kiện gác.Điều kiện gácđiều khiển việc xảy ra hay không xảy ra của biến đổi trạng thái Các tiến trình xảy rakhi đối tượng đang trong trạng thái nào đó gọi là hành động Ví dụ tài khoản bị rút quáthì thông báo được gửi tới khách hàng, việc gửi này gọi là hành động
Thông thường chỉ tạo lập biểu đồ chuyển trạng thái cho các lớp phức tạp Biểu đồnày chỉ dành cho việc làm tài liệu Rose không phát sinh mã trình từ biểu đồ này
II.3.6 Biểu đồ thành phần (component)
Biểu đồ này cho ta cái nhìn vật lý của mô hình Cho thấy các thành phần mềm trong
hệ thống và quan hệ giữa chúng Hai loại thành phần trong biểu đồ: thành phần khảthực và thành phần thư viện Trong Rose, mỗi lớp trong mô hình được ánh xạ đến mộtthành phần mã nguồn Có thể có nhiều biểu đồ thành phần cho một hệ thống, số lượngnày phụ thuộc vào các hệ thống con của chúng Mỗi hệ thống con là gói thành phần,gói là tập hợp các đối tượng
Bất kỳ ai có trách nhiệm dịch chương trình đều quan tâm đến biểu đồ này Nó chothấy trình tự dịch của các mođun trong hệ thống Đồng thời nó cũng cho biết rõ thành
Trang 16phần nào được tạo ra khi chạy chương trình Biểu đồ thành phần chỉ ra ánh xạ của lớpvào các thành phần cài đặt.
Dưới đây là một số ví dụ về biểu đồ thành phần:
tai khoan tai khoan
NewTaskSpec
Hình 2.10.Biểu đồ thành phần của máy chủ ATM
may doc the
may doc the
man hinh ATM
may tra tien ATM.exe
may tra tien man hinh ATM
Hình 2.11.Biểu đồ thành phần của ATM client
II.3.7 Biểu đồ triển khai (deployment)
Biểu đồ này chỉ ra bố trí vật lý của mạng và các thành phần hệ thống sẽ đặt ở đâu
Trang 17may in
CSDL ngan hang
may chu ATM vung
so 1 trang
tien
so 2 doi can
Hình 2.12.Biểu đồ triển khai của hệ thống ATM
Biểu đồ này cho thấy máy trạm ATM sẽ chạy trên nhiều địa điểm khác nhau chúnggiao tiếp với máy chủ ATM thông qua mạng riêng Máy chủ ATM sẽ giao tiếp vớimáy chủ CSDL thông qua mạng LAN Như vậy hệ thống ATM có kiến trúc ba tầng:tầng CSDL, tầng máy chủ và tầng máy trạm
II.3.8 Biểu đồ đối tượng
Biểu đồ đối tượng mô hình hoá các thể hiện của các phần tử có trong biểu đồ lớp.
Nó chỉ ra một tập các đối tượng và các mối quan hệ giữa chúng trong một thời điểmnhất định
Ta sử dụng biểu đồ đối tượng để mô hình khung nhìn thiết kế tĩnh và kkhung nhìntiến trình động của một hệ thống Điều này liên quan đến việc mô hình hoá một ảnhtạm thời của hệ thống và biểu diễn tập đối tượng, trạng thái và quan hệ của chúng Trong UML ta sử dụng biểu đồ lớp để mô hình hoá sắc thái tĩnh của các khối cấutrúc của hệ thống Ta cũng sử dụng biểu đồ tương tác để mô hình hoá sắc thái độngcủa hệ thống, bao gồm tập các thể hiện của các khối trên và các thông báo hình thànhgiữa chúng Biểu đồ đối tượng do đó diễn tả phần tĩnh của biểu đồ tương tác, bao gồmcác đối tượng và kết nối giữa chúng nhưng không chứa các thông báo như ở biểu đồtương tác
Thông thường ta mô hình hoá với biểu đồ đối tượng trong khía cạnh của các thểhiện thực và nguyên mẫu Điều đó có nghĩa là cách nhìn này hỗ trợ các yêu cầu vềchức năng hay là dịch vụ mà hệ thống cung cấp tới người sử dụng Biểu đồ đối tượngcho phép ta mô hình các cấu trúc dữ liệu tĩnh
Khi ta mô hình khung nhìn thiết kế tĩnh hoặc khung nhìn tiến trình tĩnh, cách thức ta
sử dụng biểu đồ là mô hình các cấu trúc đối tượng Mô hình cấu trúc đối tượng liên
Trang 18quan đến việc nhận được một ảnh của các đối tượng trong hệ thống tại một thời điểmnhất định Biểu đồ đối tượng biểu diễn một khung ảnh trong một bộ phim được biểudiễn bởi biểu đồ tương tác.
II.3.9 Biểu đồ hoạt động
Biểu đồ hoạt động mô tả luồng từ hoạt động đến hoạt động Một hoạt động là một
sự thực hiện đang diễn ra ở trong máy trạng thái Các hoạt động cuối cùng tạo ra kếtquả ở một số hành động Mỗi hành động tạo thành một sự tính toán nguyên tố có thểthực thi Một sự tính toán nguyên tố có đặc điểm là làm thay đổi trạng thái của hệthống hoặc của giá trị trả về Các hành động bao gồm việc gọi các thao tác khác, gửimột tín hiệu, tạo hoặc phá huỷ một đối tượng hoặc là một vài sự tính toán khác như làđánh giá một biểu thức Biểu diễn của biểu đồ hoạt động là một đồ thị gồm có cáccung và nút
Hình 2.13 Biểu đồ hoạt động
Các phần tử đặc trưng cho biểu đồ hoạt động bao gồm:
Các trạng thái hoạt động (activity state) và trạng thái hành động (action state)
Chuyển dịch (transition)
Đối tượng
II.4 Kiến trúc hệ thống
Kiến trúc hệ thống là trừu tượng hoá các khía cạnh quan trọng nhất của hệ thống
Nó cung cấp khung trong đó thiết kế sẽ được xây dựng Nó mô tả tầm cỡ, sức mạnhcủa hệ thống, thu thập các UC quan trọng nhất và các yêu cầu ứng dụng Nó thể hiệnphần mềm sẽ được tổ chức như thế nào và cung cấp các giao thức trao đổi dữ liệu vàgiao tiếp giữa các mođun Kiến trúc hệ thống là vật phẩm quan trọng nhất, được sử
Trang 19dụng để quản lý các điểm nhìn khác nhau để điều khiển phát triển hệ thống tăng dần vàlặp trong suốt chu kỳ sống.
Kiến trúc là tập các quyết định về:
Tổ chức của hệ thống phần mềm
Lựa chọn các phần tử cấu trúc và giao diện cho hệ thống
Hành vi của chúng thể hiện trong hợp tác giữa các phần tử
Tổ hợp các phần tử cấu trúc và hành vi của con lớn hơn
Kiến trúc phần mềm không chỉ liên quan đến cấu trúc và hành vi mà cả chức năng,tính sử dụng lại, dễ hiểu, ràng buộc công nghệ …
Kiến trúc hệ thống được mô tả bằng các khung nhìn Các khung nhìn ánh xạ vào tổchức và cấu trúc hệ thống, mỗi khung nhìn tập trung vào khía cạnh cụ thể của hệthống
Có 5 khung nhìn sau:
Khung nhìn trường hợp sử dụng (Use case view)
Khung nhìn logic (logical view)
Khung nhìn cài đặt (implennentation view)
Khung nhìn triển khai (deployment view)
Khung nhìn tiến trình (process view)
II.4.2 Khung nhìn thiết kế
Rose gọi khung nhìn này là khung nhìn logic Nó biểu diễn tổ chức của các lớp có ýnghĩa nhất và các quan hệ của chúng với nhau Khung nhìn logic tập trung vào hệthống cài đặt hành vi trong UC như thế nào Nó bao gồm các lớp, biểu đồ lớp, biểu đồđối tượng, biểu đồ tương tác, biểu đồ biến đổi trạng thái và các gói
Thông thường đội ngũ phát triển phần mềm tiếp cận khung nhìn logic theo hai bước:
Bước 1: Là nhận ra các lớp phân tích (analysis class) Các lớp này độc lập vớingôn ngữ
Bước 2: Sau khi đã nhận ra các lớp phân tích thì đội ngũ phát triển phần mềmchuyển chúng sang lớp thiết kế
Khung nhìn logic tập trung vào cấu trúc logic của hệ thống Từ khung nhìn này giúp tanhận ra các bộ phận hệ thống, khảo sát thông tin và hành vi cho lớp, nhóm các lớp …khảo sát quan hệ giữa các lớp và gói để đảm bảo khả năng sử dụng lại
II.4.3 Khung nhìn cài đặt
Rose gọi khung nhìn này là khung nhìn thành phần (component view) Thành phần
là mođun vật lý hay tệp mã trình để lắp ráp thành hệ thống vật lý Khung nhìn thànhphần bao gồm: thành phần, biểu đồ thành phần và gói