1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phân tích và thiết kế hướng đối tượng sử dụng uml

77 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phân tích và thiết kế hướng đối tượng sử dụng UML
Tác giả Đỗ Ngọc Đại
Người hướng dẫn GVHD: Nguyễn Quỳnh Mai
Trường học Đại Học Kinh Tế Quốc Dân
Chuyên ngành Công nghệ Thông tin
Thể loại báo cáo chuyên đề tốt nghiệp
Thành phố Hà Nội
Định dạng
Số trang 77
Dung lượng 236,91 KB

Cấu trúc

  • CHƯƠNG 1: TÔNG QUAN VỀ CỞ SỞ THỰC TẬP (3)
    • 1.1. Trụ Sở Của Công Ty (3)
    • 1.2. Giới Thiệu Sơ Lược (4)
      • 1.2.1. Hình thành Và Phát Triển (4)
      • 1.2.2. Cơ Cấu Tổ Chức Và Nhân Sự (5)
    • 2.1. Công Nghệ Nội Dung (Content Management Technology) (7)
    • 2.2. Dịch Vụ Trực Tuyến(On-line Services) (7)
    • 2.3. Bảo Mật và An Toàn Thông Tin (Information Security Technology) (7)
  • CHƯƠNG 2: KHÁI QUÁT VỀ UML (1)
    • 2.1. Trước khi UML ra đời (10)
    • 2.2. Sự ra đời của UML (11)
    • 2.3. Giới thiệu về UML (12)
    • 2.4. Hệ thống ký hiệu trong UML (12)
      • 2.4.1. Ký hiệu các phần tử cấu trúc (12)
      • 2.4.2. Ký hiệu phần tử hành vi (14)
      • 2.4.3. Ký hiệu phần tử nhóm (15)
    • 2.5. Các quan hệ trong UML (15)
    • 2.6. Biểu đồ UML (17)
      • 2.6.1. Biểu đồ trường hợp sử dụng: (USE CASE-UC) (17)
      • 2.6.2. Biểu đồ trình tự (18)
      • 2.6.3. Biểu đồ cộng tác (19)
      • 2.6.4. Biểu đồ lớp (19)
      • 2.6.5. Biểu đồ chuyển trạng thái (20)
      • 2.6.6. Biểu đồ thành phần (20)
      • 2.6.7. Biểu đồ triển khai (21)
    • 2.7. Hướng nhìn ( View) (22)
    • 2.8. UML và các giai đoạn của chu trình phát triển phần mềm (23)
      • 2.8.1. Giai đoạn nghiên cứu sơ bộ (23)
      • 2.8.2. Giai đoạn phân tích (23)
      • 2.8.3. Giai đoạn thiết kế (23)
      • 2.8.4. Giai đoạn lập trình (23)
      • 2.8.5. Thử nghiệm (23)
    • 2.9. Mục tiêu của UML (24)
    • 2.10. Giới thiệu về phần mềm Rational Rose (24)
  • CHƯƠNG 3: MÔ HÌNH HÓA TRƯỜNG HỢP SỬ DỤNG (1)
    • 3.1. Giới thiệu về (USE CASE – UC) (25)
    • 3.2. Tầm quan trọng của UC (26)
    • 3.3. Cách tìm kiếm UC (27)
    • 3.4. Biểu đồ UC (30)
    • 3.5. Quan hệ giữa các UC (31)
  • CHƯƠNG 4: BIỂU ĐỒ LỚP (1)
    • 4.1. Đối tượng và lớp (35)
      • 4.1.1. Đối tượng và tìm kiếm đối tượng (35)
      • 4.1.2. Lớp (35)
    • 4.2. Biểu đồ lớp (37)
      • 4.2.2. Cơ chế phân nhóm lớp (39)
    • 4.3. Thuộc tính lớp (41)
      • 4.3.1. Tìm kiếm thuộc tính (41)
      • 4.3.2. Đặc tả thuộc tính (41)
      • 4.3.3. Quan hệ giữa các lớp (42)
      • 4.3.4. Gán đặc tính cho quan hệ (45)
  • CHƯƠNG 5: MÔ HÌNH HÓA TƯƠNG TÁC ĐỐI TƯỢNG (2)
    • 5.1. Biểu đồ tương tác (51)
      • 5.1.1. Biểu đồ trình tự (53)
      • 5.1.2. Biểu đồ cộng tác (55)
  • CHƯƠNG 6: BIỂU ĐỒ CHUYỂN ĐỔI TRẠNG THÁI (2)
    • 6.1. Biểu đồ chuyển trạng thái (58)
    • 6.2. Biểu đồ hoạt động (63)
  • CHƯƠNG 7: BIỂU ĐỒ THÀNH PHẦN VÀ BIỂU ĐỒ TRIỂN KHAI (2)
    • 7.1. Biểu đồ thành phần (69)
    • 7.2. Biểu đồ triển khai (71)
  • TÀI LIỆU THAM KHẢO (73)

Nội dung

TÔNG QUAN VỀ CỞ SỞ THỰC TẬP

Trụ Sở Của Công Ty

Tên Cơ Sở Thực Tập:Công Ty Cổ Phần Công Nghệ Tinh Vân

Trụ sở chính tại Hà Nội + Tinh Vân Outsourcing Địa chỉ: Tầng 8, KS Thể thao, Làng Sinh viên HACINCO, Quận Thanh Xuân, Hà Nội Điện thoại: +84-4-3558 9970

Tinh Vân MEDIA Địa chỉ: Tầng 3, KS Thể thao, Làng Sinh viên HACINCO Quận Thanh Xuân, Hà Nội Điện thoại: +84-4 - 35575433

Tinh Vân Consulting Địa chỉ: Tầng 8, KS Thể thao, Làng Sinh viên HACINCO, Quận Thanh Xuân, Hà Nội Điện thoại: +84-4-3558 9970

Chi nhánh Tinh Vân Tp Hồ Chí Minh Địa chỉ: 06 Bàu Cát 1, phường 14, Quận Tân Bình, Tp Hồ Chí Minh

Giới Thiệu Sơ Lược

1.2.1.Hình thành Và Phát Triển:

Công ty Cổ phần Công nghệ Tinh Vân (Công ty Tinh Vân) ra đời vào tháng 7 năm 1997, hình thành từ một nhóm các cán bộ của Phòng thí nghiệm Mạng máy tính, thuộc Viện Công nghệ Vi điện tử Ngay từ khi thành lập, Công ty đã định hướng phát triển của mình vào lĩnh vực tích hợp hệ thống và phát triển phần mềm trên mạng, phần mềm bảo mật, những lĩnh vực cho đến lúc đó vẫn ít nhiều còn xa lạ với giới chuyên môn CNTT ở Việt nam.

Xuyên suốt thời gian phát triển của mình, Công ty Tinh Vân không rời xa định hướng ban đầu - phần mềm và hệ thống mạng Có thể nói Tinh Vân là một trong số ít các đơn vị hoạt động trong lĩnh vực CNTT ở Việt Nam đã kiên trì giữ vững định hướng này, và gặt hái được những thành quả đáng khích lệ trên con đường phát triển của mình.

Trong một thời gian không dài, từ một nhóm nhỏ các chuyên gia về CNTT, Tinh Vân đã phát triển thành một công ty có tên tuổi trong lĩnh vực CNTT Đến nay, Tinh Vân đã có được các sản phẩm phần mềm chất lượng cao, được ứng dụng một cách rộng rãi, thực sự mang lại hiệu quả cho người sử dụng Các hệ thống mạng diện rộng, mạng Intranet do Tinh Vân xây dựng tại các cơ quan Bộ, ngành, địa phương, các tổng công ty lớn đã và đang được khai thác hữu hiệu, góp phần mạnh mẽ vào hoạt động hành chính, sản xuất kinh doanh của các đơn vị này.

Hiện tại, Tinh Vân đã xác lập được chỗ đứng của mình trong nền công nghiệp CNTT còn rất non trẻ của Việt Nam Luôn tìm tòi sáng tạo, tích cực tiếp thu các kiến thức và công nghệ mới, đội ngũ trẻ trung của Tinh Vân đang

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại từng bước vững chắc xây dựng công ty trở thành một công ty phần mềm chuyên nghiệp, góp một phần quan trọng vào công cuộc xây dựng phát triển đất nước.

1.2.2.Cơ Cấu Tổ Chức Và Nhân Sự:

Công ty Tinh Vân được định hướng chiến lược kinh doanh và công nghệ bởi Hội đồng Quản trị, gồm những cổ đông với tỷ lệ vốn góp lớn, được điều hành hoạt động bởi Ban Lãnh đạo, và việc thực hiện các nhiệm vụ cụ thể được giao cho các Ban, Phòng và Nhóm nghiệp vụ.

Trung tâm Giải pháp Chính Phủ TV1

Trung tâm Giải pháp Giáo dục TV2

Trung tâm Dịch vụ GTGT Internet TVI ĐẠI HỘI ĐỒNG CỔ ĐÔNG

HỘI ĐỒNG QUẢN TRỊ BAN KIỂM SOÁT

Phòng Công nghệ & Quản lý tri thức (KM)

Phòng Phát triển Kinh doanh (BD)

Hình1.1 Sơ đồ Cơ cấu tổ chức Công ty Cổ phần Công nghệ Tinh Vân

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại

Không kể một lực lượng đông đảo các công tác viên, các chuyên gia tư vấn và hỗ trợ nghiệp vụ, tổng số nhân viên chính thức trong toàn Công ty là gần 400 người, trong đó 100% tốt nghiệp đại học và trên đại học, 01 người là tiến sĩ chuyên ngành CNTT, 04 thạc sĩ khoa học.

Tinh Vân tập chung vào 3 lĩnh vực then chốt của công nghệ thông tin hiện đại là Công Nghệ Nội Dung,các Dich Vụ Trực Tuyến và Bảo Mật và AnToàn Thông Tin

Công Nghệ Nội Dung (Content Management Technology)

Giải pháp Thư viện điện tử -Thư viện số LIBOL

Bộ Phần mềm Giải pháp Cổng thông tin tích hợp TVIS

Công nghệ thiết kế và xuất bản CD-ROM

Dịch Vụ Trực Tuyến(On-line Services)

Máy tìm kiếm tiếng Việt XALO.VN

Mạng Thư viện Việt nam THUVIEN.NET

Trung tâm từ điển trực tuyến (Web Dictionaries)

KHÁI QUÁT VỀ UML

Trước khi UML ra đời

Đầu những năm 1980, ngành công nghệ phần mềm chỉ có duy nhất một ngôn ngữ hướng đối tượng là Simula Sang nửa sau của thập kỷ 1980, các ngôn ngữ hướng đối tượng như Smalltalk và C++ xuất hiện Cùng với chúng, nảy sinh nhu cầu mô hình hoá các hệ thống phần mềm theo hướng đối tượng.

Và một vài trong số những ngôn ngữ mô hình hoá xuất hiện những năm đầu thập kỷ 90 được nhiều người dùng là:

Grady Booch’s Booch Modeling Methodology James Rambaugh’s Object Modeling Technique – OMT Ivar Jacobson’s OOSE Methodology

Hewlett- Packard’s Fusion Coad and Yordon’s OOA and OOD Mỗi phương pháp luận và ngôn ngữ trên đều có hệ thống ký hiệu riêng, phương pháp xử lý riêng và công cụ hỗ trợ riêng, khiến nảy ra cuộc tranh luận phương pháp nào là tốt nhất Đây là cuộc tranh luận khó có câu trả lời, bởi tất cả các phương pháp trên đều có những điểm mạnh và điểm yếu riêng Vì thế, các nhà phát triển phần mềm nhiều kinh nghiệm thường sử dụng phối hợp các điểm mạnh của mỗi phương pháp cho ứng dụng của mình Trong thực tế, sự khác biệt giữa các phương pháp đó hầu như không đáng kể và theo cùng tiến trình thời gian, tất cả những phương pháp trên đã tiệm cận lại và bổ sung lẫn

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại cho nhau Chính hiện thực này đã được những người tiên phong trong lĩnh vực mô hình hoá hướng đối tượng nhận ra và họ quyết định ngồi lại cùng nhau để tích hợp những điểm mạnh của mỗi phương pháp và đưa ra một mô hình thống nhất cho lĩnh vực công nghệ phần mềm.

Sự ra đời của UML

Trong bối cảnh trên, người ta nhận thấy cần thiết phải cung cấp một phương pháp tiệm cận được chuẩn hoá và thống nhất cho việc mô hình hoá hướng đối tượng Yêu cầu cụ thể là đưa ra một tập hợp chuẩn hoá các ký hiệu (Notation) và các biểu đồ (Diagram) để nắm bắt các quyết định về mặt thiết kế một cách rõ ràng, rành mạch Đã có ba công trình tiên phong nhắm tới mục tiêu đó, chúng được thực hiện dưới sự lãnh đạo của James Rumbaugh, Grady Booch và Ivar Jacobson Chính những cố gắng này dẫn đến kết quả là xây dựng được một Ngôn Ngữ Mô Hình Hoá Thống Nhất (Unifield Modeling Language – UML).

UML là một ngôn ngữ mô hình hoá thống nhất có phần chính bao gồm những ký hiệu hình học, được các phương pháp hướng đối tượng sử dụng để thể hiện và miêu tả các thiết kế của một hệ thống Nó là một ngôn ngữ để đặc tả, trực quan hoá, xây dựng và làm sưu liệu cho nhiều khía cạnh khác nhau của một hệ thống có nồng độ phần mềm cao UML có thể được sử dụng làm công cụ giao tiếp giữa người dùng, nhà phân tích, nhà thiết kế và nhà phát triển phần mềm.

Trong quá trình phát triển có nhiều công ty đã hỗ trợ và khuyến khích phát triển UML có thể kể tới như: Hewlett Packard, Microsoft, Oracle, IBM,Unisys.

Giới thiệu về UML

Ngôn ngữ mô hình hóa thống nhất (Unifield Modeling Language – UML) là một ngôn ngữ để biểu diễn mô hình theo hướng đối tượng

UML là ngôn ngữ chuẩn để viết kế hoạch phần mềm nó phù hợp cho việc mô hình hóa các hệ thống như hệ thống thông tin doanh nghiệp, các ứng dụng phân tán trên web, hệ thống nhúng thời gian thực…UML là ngôn ngữ mô hình được cả người và máy sử dụng Như những ngôn ngữ khác, UML có các ký pháp (các biểu tượng sử dụng trong mô hình) 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 có nghĩa Để sử dụng UML có hiệu quả đòi hỏi phải hiểu được ba vấn đề chính sau:

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

Hệ thống ký hiệu trong UML

2.4.1 Ký hiệu các phần tử cấu trúc

Phầ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ó 7 loại phần tử cấu trúc như sau:

Lớp: Là mô tả các đối tượng cùng chung thuộc tính, thao tác, quan hệ và ngữ nghĩa Hình 2.1 biểu diễn ký pháp đồ họa của lớp.

Giao diện: Giao diện là tập hợp các thao tác làm nhiệm vụ của lớp hay thành phần Giao diện mô tả hành vi thấy được từ ngoài của thành phần Giao diện

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại

Sinh viên masv hoten diachi dienthoai biểu diễn toàn bộ hay một phần của hành vi lớp Kí pháp đồ họa của nó được biểu diễn như hình 2.2

Phần tử cộng tác: Phần tử cộng tác mô tả ngữ cảnh của tương tác Kí hiệu đồ họa của nó là hình elips với đường vẽ nét đứt như hình 2.3.

Hình 2.3 Phần tử cộng tác

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ẽ phải thực hiện để đạt được một kết quả cho tác nhân nào đó Tập các

UC của hệ thống sẽ hình thành các trường hợp mà hệ thống được sử dụng. Hình 2.4 là ký pháp đồ họa 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 Hình 2.5 là ký pháp đồ họa của nó.

Nút: Nút là thể hiện hành vi 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 Nút có thể là máy tính hoặc thiết bị phần cứng Hình 2.6 là ký pháp đồ họa của nó.

Lớp tích cực: Lớp tích cực là lớp có đối tượng làm chủ một hay nhiều tiến trình hay luồng

2.4.2 Ký hiệu 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: 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ể Hình 2.7 là biểu diễn đồ họa của nó.

Trạng thái: Là hành vi chỉ ra trật tự các trạng thái mà đối tượ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ác của lớp có thể xác định được bằng máy trạng thái Ký pháp đồ họa của nó biếu diễn ở hình 2.8.

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại myfile.cpp may chu

2.4.3 Ký hiệu phần tử nhóm

Gói: Gói là cơ chế đa năng để tổ chức các phần tử vào nhóm Ký pháp đồ họa của gói được biểu diễn ở hình 2.9.

Chú thích: Phần tử chú thích là bộ phận chú giải của mô hình UML Đó là lời giải thích áp dụng để mô tả các phần tử khác trong mô hình Ký pháp đồ họa của chú thích được thể hiện như hình 2.10.

Các quan hệ trong UML

Quan hệ 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 đồ họa của nó được biểu diễn ở hình 2.11

Hình 2.11 Quan hệ phụ thuộc

Quan hệ kết hợp: Là quan hệ cấu trúc để mô tả tập liên kết (một liên kết là kết nối giữa các đố tượng) Khi đối tượng của lớp này gửi/nhận thông điệp đến từ đối tượng của lớp kia Ký pháp đồ họa của nó được biểu diễn ở hình 2.12 Tụ hợp là dạng đặc biệt của kết hợp, nó biểu diễn quan hệ cấu trúc giữa toàn thể và bộ phận Ký pháp đồ họa của nó được biểu diễn ở hình 2.13 Quan hệ hợp thành cũng là một dạng đặc biệt của quan hệ kết hợp, trong đó nếu đối

1 6 tượng toàn thể bị hủy bỏ thì các đối tượng bộ phận của nó cũng bị hủy bỏ theo Ký pháp đồ họa của nó được biểu diễn ở hình 2.14

Hình 2.12 Quan hệ kết hợp

Quan hệ khái quát hóa: Là quan hệ đặc biệt hóa/ khái quát hóa mà trong đó đối tượng cụ thể sẽ kế thừa thuộc tính và phương pháp của đối tượng tổng quát Ký pháp đồ họa của nó được biểu diễn ở hình 2.15

Hiện thực hóa: Là quan hệ ngữ nghĩa giữa giao diện và lớp, giữa UC và hợp tác thực hiện UC Ký pháp đồ họa của nó được biểu diễn ở hình 2.16

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại

Biểu đồ UML

Biểu đồ là biểu diễn đồ họa 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 nhìn khác nhau Một phần tử có thể xuất hiện trong nhiều biểu đồ khác nhau UML cho phép xây dựng một vài biểu đồ trực quan để biểu diễn các khía cạnh khác nhau của hệ thống bao gồm biểu đồ trường hợp sử dụng, biểu đồ trình tự, biểu đồ cộng tác, biểu đồ lớp, biểu đồ chuyển trạng thái, biểu đồ thành phần và biểu đồ triển khai Sau đây ta trình tóm tắt từng loại biểu đồ:

2.6.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ăng hệ thống Tác nhân là con người hay hệ thống khác cung cấp hay thu nhập thông tin từ hệ thống đang được xây dựng Biểu đồ UC đặc biệt quan trọng trong việc tổ chức và mô hình hóa hệ thống Biểu đồ loại này chỉ ra tác nhân nào khởi động UC và khi nào tác nhân nhận thông tin từ hệ thống. Biểu đồ trên hình 2.17

Thể hiện sự di chuyển của một khách hàng trên website thương mại điện tử của một hiệu sách Thồn thường khách hàng đầu tiên tìm và chọn sách sau đó cho sách vào giỏ sách và cuối cùng là thực hiện đơn mua hàng.

Hình 2.17 Biểu đồ Use case của khách hàng

Biểu đồ trình tự trình bày một số đối tượng với các thông điệp được chuyển giao giữa chúng, đặc biệt là làm rõ trình tự các thông điệp chuyển giao này dọc theo trục thời gian thẳng đứng Biểu đồ trình tự 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í dụ như hình 2.18

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại

Tìm nhanh Tìm theo tác gia Tìm theo giá

Thuc hiên mot don hang

Hình 2.18 Biểu đồ trình tự

Biểu đồ cộng tác chỉ ra các thông tin như biểu đồ trình tự nhưng theo cách khác, nó tập chung vào tổ chức cấu trúc của các đối tượng gửi và nhận thông tin Trong biểu đồ cộng tác đối tượng đặt trong hình chữ nhật. Biểu đồ cộng tác không quan tâm đến thời gian Các thông điệp trong biểu đồ cộng tác được đánh số để phân biệt trước sau.

Biểu đồ lớp phơi bày cấu trúc tĩnh của hệ thống Biểu đồ lớp 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 Thông thường thì hệ thống được miêu tả bằng một số biểu đồ lớp và một lớp có thể tham gia vào nhiều biểu đồ Người phát triển sử dụng biểu đồ lớp để xây dựng các lớp.

Hình 2.19 biểu diễn quan hệ giữa các lớp Biểu đồ này gồm có ba lớp là Sinh viên, Điểm, Lớp.

Sinh viên masv diachi ngaysinh hoten

2.6.5 Biểu đồ chuyển trạng thái

Biểu đồ chuyển trạng thái mô tả vòng đời của đối tượng từ khi nó được sinh ra cho đến khi bị phá hủy Nó cung cấp cách thức mô hình hóa các trạng thái khác nhau của đối tượng Nó còn chỉ ra hành vi của đối tượng Thí dụ biểu đồ biến đổi trạng thái của lớp tài khoản trong ngân hàng.

Hình 2.20 Biểu đồ biến đổi trạng thái của lớp tài khoản

Biểu đồ trên cho thấy các trạng thái và quá trình chuyển trạng thái của tài khoản thí dụ tài khoản đang mở khách hàng yêu cầu đóng tài khoản thì nó chuyển sang trạng thái đóng.

Một biểu đồ thành phần chỉ ra cấu trúc vật lý của các dòng lệnh (code) theo khái niệm thành phần code Biểu đồ thành phần cho ta cái nhìn vật lý của mô hình Biểu đồ thành phần cũng chỉ ra những sự phụ thuộc giữa các thành phần với nhau, trợ giúp cho công việc phân tích hiệu ứng mà một thành phần được thay đổi sẽ gây ra đối với các thành phần khác Hai loại thành phần trong biểu đồ đó là thành phần khả thực và thành phần thư viện Biểu đồ loại

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại

DongKhach hang yeu cau dong tai khoan này là sự quan tâm của những người dịch chương trình Hình 2.21 mô tả biểu đồ thành phần của máy chủ ATM.

Hình 2.21 - Biểu đồ thành phần của máy chủ ATM

Biểu đồ triển khai chỉ ra hướng nhìn triển khai, miêu tả kiến trúc vật lý thật sự của hệ thống Nó cũng chỉ ra kiến trúc vật lý của phần cứng cũng như phần mềm trong hệ thống Nó cho thấy các máy tính và các thiết bị và cùng các kết nối giữa chúng Thông qua biểu đồ triển khai mà người quản lý dự án, người sử dụng, kiến trúc sư và đội ngũ triển khai hiểu phân bổ vật lý của hệ thống và các hệ thống con sẽ được đặt ở đâu.

Hình 2.22 Biểu đồ triển khai của hệ thống ATM.

Sô 1 Dai La Sô 2 Trân

Biểu đồ trên hình 2.22 cho thấy máy trạm ATM có thể chạy trên nhiều địa điểm khác nhau Chúng giao tiếp với máy chủ ATM qua mạng riêng Máy chủ ATM giao tiếp với máy chủ CSDL thông qua mạng Lan Như vậy hệ thống ATM này có kiến trúc ba tầng.

Hướng nhìn ( View)

Hướng nhìn chỉ ra những khía cạnh khác nhau của hệ thống cần phải được mô hình hóa Nó mô tả tầm cỡ, sức mạnh của hệ thống, cần thu thập các

UC quan trọng nhất và các yêu cầu ứng dụng Nó thể hiện phần mềm sẽ được tổ chức như thế nào và cung cấp các giao thức trao đổi giữ liệu, giao tiếp giữa các mođun Chỉ qua việc định nghĩa một loạt các hướng nhìn người ta mới có thể tạo dựng nên một bức tranh toàn diện về hệ thống.

Các loại hướng nhìn trong UML

Hướng nhìn Use case: Miêu tả những chức năng hệ thống cung cấp mà tác nhân ngoài mong đợi Nó mô tả hành vi hệ thống theo cách nhìn của khách hàng phân tích viên và kỹ sư kiểm tra, thử nghiệm Hướng nhìn UC tập trung vào mức cao của cái hệ thống sẽ làm, không quan tâm đến hệ thống làm như thế nào.

Hướng nhìn Logic: Chỉ ra chức năng sẽ được thiết kế bên trong hệ thống 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 Hầu hết mọi người trong dự án đều quan tâm đến khung nhìn logic.

Hướng nhìn thành phần: 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ý Hướng nhìn thành phần bao gồm: thành phần, biểu đồ thành phần và gói

Hướng nhìn triển khai: Khung nhìn triển khai liên quan đến triển khai vật lý của hệ thống nó bao gồm tiến trình, bộ xử lý và thiết bị Khung nhìn triển khai chỉ ra các tiến trình và thiết bị trên mạng và các kết lối vật lý giữa chúng.

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại

Hướng nhìn song song: Phản ánh các lộ trình điều khiển, các quá trình thực hiện, cho thấy sự hoạt động song hành hay đồng bộ của hệ thống, với UML thì góc nhìn này được thể hiện cùng các biểu đồ như hướng nhìn logic, nhưng tập chung chú ý vào các lớp chủ động, là các lớp biểu diễn cho các lộ trình điều khiển và quá trình thực hiện.

UML và các giai đoạn của chu trình phát triển phần mềm

2.8.1 Giai đoạn nghiên cứu sơ bộ:

UML đưa ra khái niệm Use Case để lắm bắt các yêu cầu của khách hàng (người sử dụng) UML sử dụng biểu đồ Use Case để nêu bật mối quan hệ cũng như sự giao tiếp với hệ thống.

Giai đoạn phân tích quan tâm đến quá trình trừu tượng hóa đầu tiên (các lớp và các đối tượng) Trong giai đoạn phân tích chỉ những lớp nằm trong phạm vi bài toán mới đáng quan tâm

Kết quả của giai đoạn phân tích được phát triển thành giải pháp kỹ thuật Các lớp được mô hình hóa chi tiết để cung cấp hạ tầng kỹ thuật như giao diện, nền tảng cho database,… Kết quả của giai đoạn phân tích là các đặc tả chi tiết cho giai đoạn xây dựng phần mềm.

Trong giai đoạn lập trình các lớp của giai đoạn thiết kế sẽ được biến thành những dòng code cụ thể trong một ngôn ngữ lập trình hướng đối tượng cụ thể.

Một hệ thống phần mềm được thử nghiệm qua nhiều giai đoạn và nhiều nhóm thử nghiệm khác nhau: Thử nghiệm đơn vị sử dụng biểu đồ lớp và đặc tả lớp, thử nghiệm tích hợp sử dụng biểu đồ thành phần và biểu đồ cộng tác,

2 4 và giai đoạn thử nghiệm hệ thống sử dụng biểu đồ Use Cace để đảm bảo hệ thống có phương thức hoạt động đúng như đã được định nghĩa từ ban đầu trong các biểu đồ này.

Mục tiêu của UML

Cung cấp cho người sử dụng một ngôn ngữ mô hình hoá trực quan có sẵn và gợi tả, để người sử dụng có thể phát triển và thay đổi các mô hình một cách hiệu quả

Cung cấp các kỹ thuật chuyên môn mở rộng để mở rộng các khái niệm cốt lõi (core concepts) Độc lập với các ngôn ngữ lập trình riêng biệt (particular) và các tiến trình phát triển

MÔ HÌNH HÓA TRƯỜNG HỢP SỬ DỤNG

Giới thiệu về (USE CASE – UC)

Trong giai đoạn phân tích, người sử dụng cộng tác cùng nhóm phát triển phần mềm tạo nên một tổ hợp thông tin quan trọng về yêu cầu đối với hệ thống Không chỉ là người cung cấp thông tin, bản thân người sử dụng còn là một thành phần hết sức quan trọng trong bức tranh toàn cảnh đó và nhóm phát triển cần phải chỉ ra được phương thức hoạt động của hệ thống tương lai theo hướng nhìn của người sử dụng Hiểu được điểm quan trọng này là chìa khóa để tạo dựng được những hệ thống vừa thoả mãn các yêu cầu đặt ra vừa dễ dàng sử dụng, thậm chí tạo niềm vui thích trong sử dụng Như vậy công cụ giúp ta mô hình hoá hệ thống từ hướng nhìn của người sử dụng gọi là UseCase UC mô tả ai đó sử dụng hệ thống và sử dụng như thế nào.

Use Case là một công cụ trợ giúp cho công việc của nhà phân tích cùng người sử dụng quyết định tính năng của hệ thống Một tập hợp các Use Case sẽ làm nổi bật một hệ thống theo phương diện những người dùng định làm gì với hệ thống này.

UC là nền tảng của phân tích hệ thống Việc tìm ra đầy đủ các UC đảm bảo rằng hệ thống sẽ xây dựng đáp ứng mọi yêu cầu của người sử dụng Mỗi UC là tập hợp hành động Mỗi hành động là cái gì đó hệ thống làm.

Tầm quan trọng của UC

Use Case là một công cụ để người dùng nói về hệ thống từ hướng nhìn của họ Một hiện thực có thật là người sử dụng thường biết nhiều hơn những gì mà họ có thể diễn tả ra Công cụ UC se giúp cho nhóm phát triển hiểu được những gì người dụng muốn nói.

UC hình thành quyết định và mô tả yêu cầu chức năng hệ thống Là kết quả của sự hợp tác giữa người phát triển hệ thống phần mềm và khách hàng.

UC cho phép mô tả rõ ràng và nhất quán cái hệ thống sẽ làm trong suốt quá trình phát triển.

UC cung cấp cơ sở để kiểm tra, thư nghiệm hệ thống.

UC cho khả năng mở rộng, thay đổi yêu cầu hệ thống.

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại

Hình 3.1 Những ai quan tâm đến hệ thống

Cách tìm kiếm UC

Thông thường thì việc xác định và hiểu rõ các yêu cầu của hệ thống là khó khăn vì khối lượng thông tin liên quan là khá lớn Do vậy các yêu cầu sẽ dễ bị mô tả một cách lộn xộn, mâu thuẫn với nhau, thiếu nhiều vấn đề quan trọng, không chính xác… Khái niệm UC được đưa ra để tập trung vào biểu thị các yêu cầu từ phía người sử dụng, xuất phát từ quan điểm đơn giản là hệ thống xây dựng trước hết là cho người sử dụng chúng.

Trước khi bắt đầu một dự án câu hỏi đặt ra đầu tiên là tìm kiếm UC như thế nào? Cách tốt nhất để tìm kiếm UC là phỏng vấn người sử dụng và khảo sát tài liệu của họ vì khách hàng là người hiểu rõ nhất hệ thống sẽ được thực hiện như thế nào Khi phân thích lĩnh vực ứng dụng phân tích viên còn phải hợp tác chặt chẽ với các chuyên gia lĩnh vực và người quản lý dự án Các chuyên

2 8 gia lĩnh vực có nhiều kinh nghiệm sử dụng và thiết kế các sản phẩm tương tự, họ có thể giúp chúng ta hiểu chi tiết về người sử dụng tương tác với hệ thống như thế nào Chất lượng phân tích bị ảnh hưởng nhiều bởi các chuyên gia lĩnh vực vì vậy phải ưu tiên giao tiếp trao đổi với họ Việc trao đổi với người sử dụng và các chuyên gia lĩnh vực thường được thực hiện độc lập để có thể so sánh cách nhận thức và cách diễn đạt khác nhau của họ Nếu có sự khác biệt thì có cuộc họp thảo luận chung để đạt được sự nhất trí hay làm rõ các vấn đề còn mâu thuẫn Kết quả của cuộc thảo luận này là tìm ra tác nhân và UC được hình thành Trong thực tế không phải người sử dụng nào cũng có khả năng mô tả rõ ràng cách mà họ sử dụng hệ thống Những cái họ biết thường là nhiều hơn những cái mà họ diễn giải Chính UC và biểu đồ UC là công cụ tốt nhất để người sử dụng nói về hệ thống từ góc nhìn của họ.

Thông thường tiến trình tìm kiếm UC bắt đầu sau khi tìm kiếm tác nhân Tác nhân là một thực thể bên ngoài tác động vào hệ thống Một tác nhân là một người hoặc một vật nào đó tương tác với hệ thống, sử dụng hệ thống Trong khái niệm "tương tác với hệ thống", ý chúng ta muốn nói rằng tác nhân sẽ gửi thông điệp đến hệ thống hoặc là nhận thông điệp xuất phát từ hệ thống, hoặc là thay đổi các thông tin cùng với hệ thống Nói một cách ngắn gọn, tác nhân thực hiện các Use Case Thí dụ trong hệ thống ATM thì khách hàng và người bảo trì hệ thống là tác nhân Một tác nhân là một dạng thực thể (một lớp), chứ không phải một thực thể.

Tìm kiếm tác nhân bằng cách trả lời nhưng câu hỏi sau.

Ai sẽ sử dụng những chức năng chính của hệ thống?

Ai giúp hệ thống làm việc hàng ngày?

Ai quản trị, bảo dưỡng để hệ thống làm việc lien tục?

Hệ thống đang xây dựng tương tác với hệ thống khác nào?

Ai hay cái gì quan tâm đến kết quả hệ thống đem lại?

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại Để có thể nhận dạng được tốt nhiều tác nhân khác nhau, hãy tiến hành nghiên cứu những người sử dụng của hệ thống hiện thời, hỏi xem họ đóng những vai trò nào khi thực thi công việc hàng ngày của họ với hệ thống Cũng người sử dụng đó có thể thực thi nhiều vai trò khác nhau tại nhiều thời điểm khác nhau, tùy thuộc vào việc chức năng nào trong hệ thống đang được sử dụng.

Sau khi tìm kiếm tác nhân, hãy trả lời các câu hỏi sau đây để tìm ra các UC: Tác nhân yêu cầu hệ thống thực hiện chức năng nào?

Tác nhân cần đọc, tạo lập, bãi bỏ, lưu trữ, sửa đổi các thông tin nào trong hệ thống?

Có cần thông báo cho các tác nhân về sự kiện xảy ra trong hệ thống? Có cần tác nhân thông báo cái gì đó cho hệ thống?

Hệ thống cần vào/ ra nào? Vào/ ra đi đến đâu hay từ đâu? Đối với nhóm câu hỏi cuối không có nghĩa là Use Case ở đây không có tác nhân, mà tác nhân sẽ được nhận ra chỉ khi chúng ta nhận diện ra các Use Case này và sau đó xác định tác nhân dựa trên cơ sở là Use Case Một Use Case bao giờ cũng phải được liên kết với ít nhất một tác nhân.

Sau khi tìm được UC thì đặt tên cho chúng khi đặt tên phải đặt theo khái niệm tác nghiệp không dùng khái niệm chuyên môn, kỹ thuật Phải có khởi đầu UC-sự kiện khởi động UC và kết thúc UC-sự kiện dừng UC Mỗi UC cần phải biểu diễn trọn vẹn một giao dịch giữa người sử dụng và hệ thống để cho lại kết quả nào đó Sau khi xác định xong UC cho hệ thống thì phải kiểm tra xem liệu chúng đã được phát hiện hết chưa Công việc này thực hiện bằng cách trả lời các câu hỏi sau.

Mỗi yêu cầu chức năng ở trong ít nhất một UC?

Đã xem mọi tác nhân tương tác với hệ thống?

Tác nhân cung cấp cho hệ thống thông tin nào?

Tác nhân nhận thông tin nào từ hệ thống?

Đã nhận biết mọi hệ thống bên ngoài mà hệ thống này tương tác?

Thông tin nào hệ thống bên ngoài nhận và gửi cho hệ thống này?

Các UC vừa nhận ra từ hệ thống có các đặc trưng như sau:

UC luôn được tác nhân kích hoạt, tác nhân ra lệnh trực tiếp hay gián tiếp hệ thống thực hiện UC UC nối với tác nhân bằng quan hệ kết hợp giao tiếp. UC cung cấp giá trị trở lại cho tác nhân

UC hoàn chỉnh, nó được mô tả đầy đủ không chia UC thành các UC nhỏ hơn.

Biểu đồ UC

Use Case được mô tả trong ngôn ngữ UML qua biểu đồ Use Case (Use Case Diagram), và một mô hình Use Case có thể được chia thành một số lượng lớn các biểu đồ như thế Một biểu đồ Use Case chứa các phần tử mô hình biểu thị hệ thống, tác nhân cũng như Use Case và chỉ ra các mối quan hệ giữa các Use Case.

Lời mô tả nội dung Use Case thường được cung cấp dưới dạng văn bản. Trong UML, lời mô tả đó được coi là thuộc tính "văn bản" của Use Case Lời mô tả này bao chứa những thông tin quan trọng, định nghĩa các yêu cầu và chức năng cụ thể Thay cho việc mô tả Use Case bằng văn bản, bạn cũng có thể vẽ một biểu đồ hoạt động (activity diagram) Mặc dầu vậy, nên nhớ rằng một Use Case cần phải được mô tả sao cho dễ hiểu và dễ giao tiếp đối với người sử dụng, mà những cấu trúc phức tạp như một biểu đồ hoạt động có thể gây cảm giác xa lạ đối với những người không quen sử dụng Một vài điều cần chú ý khi tạo lập UC:

Không lên mô hình hóa tác nhân-tác nhân

Không hình thành quan hệ trực tiếp giữa hai UC

Mỗi UC phải được tác nhân khởi động.

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại

CSDL được xem như một lớp dưới toàn bộ biểu đồ UC Có thể nhập dữ liệu vào CSDL bằng một UC và sử dụng UC khác để xâm nhập chúng Không hình thành luồng thông tin giữa các UC.

BIỂU ĐỒ LỚP

Đối tượng và lớp

4.1.1 Đối tượng và tìm kiếm đối tượng Đối tượng

Trong thế giới thực khái niệm đối tượng được xem như một thực thể, nó có thể là người, vật hoặc một bảng dữ liệu cần xử lý trong trương trình,… Trong lập trình hướng đối tượng thí đối tượng là biến thể của lớp Thí dụ: Hệ thống ATM có các đối tượng như màn hình, máy đọc thẻ, giấy biên nhận, tài khoản của khách hàng mỗi đối tượng gói một vài thông tin một vài hành vi.

Cách tốt nhất để tìm ra đối tượng là khảo sát danh từ trong luồng sự kiện, hay tìm trong tài liệu kịch bản Kịch bản là phiên bản cụ thể của luồng sự kiện Thí dụ: một luồng sự kiện của UC rút tiền là ai rút tiền Một kịch bản của nó là ông Minh rút tiền Kịch bản có thể là ông Hạnh nhập mã Pin Kịch bản có thể là ông Toản rút 50 000 đồng nhưng số dư tài khoản của ông chỉ là 10 000 đồng Mỗi biểu đồ trình tự hay biểu đồ cộng tác sẽ mô tả một trong nhưng kịch bản này Nếu tìm ra danh từ trong kịch bản thì một số trong đó có thể là tác nhân và một số khác có thể là đối tượng hay thuộc tính của đối tượng Khi xây dựng biểu đồ tương tác thì danh từ sẽ cho biết cái nào là đối tượng.

Lớp là mô tả các đối tượng cùng chung thuộc tính, thao tác, quan hệ và ngữ nghĩa Nói như thế có nghĩa lớp là một khuôn mẫu để tạo ra đối tượng. Mỗi đối tượng là một thực thể của một lớp nào đó và một đối tượng không thể là kết quả thực thể hóa của nhiều hơn một lớp Lớp là cái gì đó cung cấp kế hoạch chi tiết cho đối tượng

UML biểu diễn lớp bằng một hình chữ nhật có ba ngăn:

Ngăn thứ nhất dành cho tên lớp (tên lớp phải bắt đầu bằng chữ cái viết hoa)

Ngăn thứ hai dành cho các thuộc tính (tên thuộc tính phải bắt đầu bằng chữ cái viết thường)

Ngăn thư ba dành cho thao tác (tên thao tác phải bắt đầu bằng chữ cái viết thường).

Thuộc tính: Là một tính chất có đặt tên của lớp và nó nhận một giá trị cho mỗi đối tượng thuộc lớp đó.

Thao tác: Là một dịch vụ mà đối tượng có thể đáp ứng được khi được yêu cầu.

Việc tìm ra đầy đủ các lớp cho hệ thống là một việc tương đối khó khăn Nơi tốt nhất để tìm lớp là luồng sự kiện UC tìm ra danh từ trong luồng sự kiện sẽ cho ta biết về lớp có một chú ý rằng danh từ tìm ra không nhất thiết là lớp mà có thể là một trong bốn loại sau: tác nhân, lớp, thuộc tính lớp và biểu thức không phải các loại trên.

Lớp có thể tìm thấy trong biểu đồ tương tác Tìm cái chung của đối tượng để hình thành lớp.

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại

Tuy nhiên một số lớp không tìm thể tìm thấy trong biểu đồ luồng sự kiện cũng như biểu đồ tương tác Tốt nhất việc tìm kiếm lớp phải được cùng thực hiện với các chuyên gia lĩnh vực Sau đây là một số câu hỏi giúp ta tìm ra lớp.

Có thông tin nào cần lưu trữ hay phân tích? Nếu có thì nó là ứng viên của lớp. Nếu có thông tin cần lưu trữ, phân tích hay những thông tin cần thiết trong một số trường hợp thì đó có thể là một lớp

Những khái niệm được ghi nhận trong hệ thống hoặc là những sự kiện hay những giao tác xảy ra tại một thời điểm quan trọng

Có hệ thống ngoài không? Nếu có thì nó được xem như những lớp chứa trong hệ thống của ta hay hệ thống của ta tương tác với chúng.

Nếu có thì cần quan tâm đến chúng khi lập mô hình

Hệ thống ngoài có thể xem như là các lớp mà hệ thống bao gồm hoặc tương tác với chúng

Có mẫu, thư viện lớp, thành phần…? nếu có, thông thường chúng chứa các ứng viên lớp.

Nếu các mô hình, các thư viện lớp, các thành phần của các dự án, các đồng nghiệp hay các nhà sản xuất trước thì chúng cũng có thể là lớp

Hệ thống cần quản lý các thiết bị ngoại vi nào? Mọi thiết bị kỹ thuật nối với hệ thống đều là ứng viên lớp.

Các thành phần tổ chức

Lớp có thể miêu tả một tổ chức, đặc biệt là trong các mô hình kinh doanh

Tác nhân đóng vai trò tác nghiệp nào? Các nhiệm vụ này có thể là lớp

Biểu đồ lớp

Có thể tạo ra rất nhiều biểu đồ lớp trong toàn bộ bức tranh hệ thống.các biểu đồ lớp giúp người phát triển phần mềm quan sát và lập kế hoạch cấu

3 8 trúc hệ thống trước khi viết mã trình Nó đảm bảo rằng hệ thống được thiết kế tốt ngay từ đầu.

4.2.1 Các loại lớp trong biểu đồ

Lớp tham số (parameterized class): là lớp được sử dụng để tạo ra họ các lớp Nó còn có tên là lớp mẫu (template) Trong UML lớp tham số được biểu diễn như trên hình 4.2.

Lớp hiện thực (instantiated class): là lớp tham số mà đối số của nó có giá trị Trong UML lớp tham hiện thực là lớp có tên đối số trong được biểu diễn như trên hình 4.3.

Hình 4.3 Lớp hiện thực tham số

Lớp tiện ích (class utility): là tập hợp các thao tác Thí dụ có tập hàm toán học như spareroot, cuberroot… sẽ được sử dụng nhiều nơi trong hệ thống, chúng có thể gói vào lớp tiện ích để lớp khác trong hệ thống cùng sử dụng. Trong UML Lớp tiện ích được biểu diễn như trên hình 4.4.

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại list

Lớp tiện ích tham số (parameterizrd class utility): là lớp tham số chứa tập hợp các thao tác Trong UML Lớp tiện ích tham số được biểu diễn như trên hình 4.5.

Hình 4.5 Lớp tiện ích tham số

Lớp tiện ích hiện thực (instantiated class utility): là lớp tiện ích tham số mà đối của chúng có giá trị Trong UML Lớp tiện ích hiện thực được biểu diễn như trên hình 4.6.

Hình 4.6 Lớp tiện ích hiện thực

Metaclass: là lớp mà hiện thực của nó là lớp chứ không phải đối tượng lớp tham số và lớp tiện ích tham số là những thí dụ của nó Trong UML Lớp metaclass được biểu diễn như trên hình 4.7.

4.2.2 Cơ chế phân nhóm lớp

Lớp biên (boundary class): là lớp nằm trên biên hệ thống và phần thế giới còn lại Chúng có thể là biểu mẫu(form), báo cáo (report)… ký pháp của lớp trong UML như sau:

4 0 Để tìm lớp biên hãy khảo sát biểu đồ UC Lớp biên cho phép tác nhân tương tác với hệ thống.

Lớp thực thể (entity class): lưu trữ thông tin mà nó sẽ được ghi vào bộ nhớ ngoài Ký pháp của lớp thực thể trong UML như sau:

Lớp điều khiển (control class): có trách nhiệm điều phối hoạt động của các lớp khác Thông thường mỗi UC có một lớp điều khiển để điều khiển các trình tự sự kiện trong nó Ký pháp của Lớp điều khiển trong UML như sau:

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại

MÔ HÌNH HÓA TƯƠNG TÁC ĐỐI TƯỢNG

BIỂU ĐỒ CHUYỂN ĐỔI TRẠNG THÁI

Biểu đồ chuyển trạng thái

Biểu đồ trạng thái bao gồm các thông tin về các trạng thái khác nhau của đối tượng, thể hiện các đối tượng chuyển đổi từ trạng thái này sang trạng thái khác thế nào, hành vi của đối tượng trong mỗi trạng thái ra sao Biểu đồ trạng thái chỉ ra chu kỳ sống của đối tượng từ khi nó được tạo ra cho đến khi bị phá hủy Biểu đồ này là giải pháp tốt nhất để mô hình hóa hành vi động của lớp Mọi đối tượng đều có trạng thái, trạng thái là kết quả của các hoạt động do đối tượng thực hiện trước đó Đối tượng luôn luôn ở trong một trạng thái xác định vào một thời điểm

Biểu đồ trạng thái sử dụng để chỉ ra đối tượng phản ứng với cá sự kiện như thế nào và trạng thái trong của chúng thay đổi ra sao.

Biểu đồ trạng thái có điểm khởi đầu (hình tròn đen) và vài điểm kết thúc (hình tròn đen có đường bao), các hoạt động trong biểu đồ được đặt trong hình chữ nhật có góc tròn Trong hình chữ nhật có các dòng văn bản để chỉ ra các hành động Giữa các trạng thái là quá độ trạng thái (thể hiện bằng mũi tên) Quá độ có thể có tên sự kiện gây ra biến đổi trạng thái Khi sự kiện xảy ra thì có sự biến đổi từ trạng thái này sang trạng thái khác

Trạng thái đầu Trạng thái kết thúc

Hình 6.1 Biểu diễn trạng thái

Giả sử ai đó thanh toán hóa đơn hàng thì hóa đơn thay đổi từ trạng thái chưa thanh toán sang trạng thái đã thanh toán như hình 6.2.

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại

Hình 6.2 Trạng thái của đơn hàng

Bểu đồ trạng thái là cần thiết bởi vì nó giúp phân tích viên, người thiết kế và người phát triển hiểu hành vi đối tượng trong hệ thống đặc biệt là người phát triển phải hiểu rõ hành vi đối tượng vì họ phải cài đặt hành vi trong phần mềm.

Trạng thái: Trạng thái là một trong những điều kiện có thể để đối tượng tồn tại Trạng thái được xác định từ hai vùng: thuộc tính và quan hệ giữa các lớp ký pháp trạng thái trong UML như sau:

Lần đầu tiên đối tượng được tạo ra thì nó ở trạng thái khởi động trong UML thì trạng thái khỏi động được vẽ bằng hình tròn đen Chỉ có một trạng thái dừng trong biểu đồ Trạng thái dừng khi đối tượng bị phá hủy.

Hoạt động: là hành vi mà đối tượng thực thi khi nó ở trong trạng thái cụ thể.

Thí dụ tài khoản trong trạng thái đóng thì máy đọc thẻ ATM không chấp nhận đọc thẻ Hoạt động đươc biểu diễn trong biểu đồ trạng thái, trước có từ do và dấu : hoặc dấu / Như hình sau:

Thanh toan Lâp hoa don

Tên trang thai do: hoat dong

Hành động vào (entry action): là hành vi xảy ra khi đối tượng đang chuyển đổi trạng thái Hành động vào được biểu diễn như hình sau:

Hành động ra (exit action): tương tự hành động vào Tuy nhiên hành động ra là bộ phận của chuyển đổi ra khỏi trạng thái Hành động ra được biểu diễn như hình sau:

Quá độ: Là chuyển động từ trạng thái này sang trạng thái khác Ký pháp đồ họa của quá độ được biểu diễn như hình 6.3a Qúa độ có thể phản thân, khi xảy ra hiện tượng là đối tượng chuyển tiếp trở lại trạng thái cũ của nó Ký pháp quá độ phản thân được biểu diễn như hình 6.3b. a b

Hình 6.3 Chuyển tiếp trạng thái

Sự kiện: Sự kiện là cái gì đó làm nguyên nhân của chuyển tiếp từ trạng thái này sang trạng thái khác Thí dụ: khách hàng yêu cầu đóng tài khoản sẽ gây ra tài khoản sẽ chuyển từ trạng thái mở sang trạng thái đóng Sự kiện được biểu diễn bằng mũi tên trong biểu đồ Sự kiện có đối số Hầu hết các chuyển tiếp đều có sự kiện.

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại

Tên trang thai entry:action

Tên trang thai exit: action

Trang thaiQua do phan thân Điều kiện canh: Điều kiện canh điều khiển chuyển tiếp để có thể hay không có thể xảy ra

Hành động (action): Hành động là hành vi không ngắt được xảy ra như một phần của chuyển tiếp Hành động vào và hành động ra được thể hiện trong trạng thái Hành động biểu thị trên mũi tên chuyển tiếp được đặt sau tên sự kiện và dấu / như hình 6.4

Hình 6.4 Điều khiển cạnh tranh

Trạng thái ẩn: Để giảm thiểu số lượng trạng thái trong biểu đồ, ta có thể ẩn một số trạng thái trong trạng thái khác Các trạng thái ẩn (nested) được xem như tiểu trạng thái (substates), trong khi trạng thái lớn hơn gọi là siêu trạng thái (superstates) Nếu hai hay nhiều trạng thái có cùng chuyển tiếp thì có thể nhóm chúng vào cung siêu trạng thái Ta xét thí dụ sau Hình 6.5 là biểu đồ chuyển trạng thái của lớp đăng ký môn học Trạng thái mở đầu môn học (Open), kết thúc đăng ký môn học (Closed), bãi bỏ môn học (Cancelled) và hoàn thành môn học (Completed).

Su kiên/ Luu tru ngày dóng tài khoan

Hình 6.5 Bểu đồ chuyển trạng thái của lớp đăng ký môn học.

Hình 6.6 Là biểu đồ trạng thái ẩn của nó.

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại

Course Cancelled end of Sester

Sau đây là biểu đồ trạng thái của lớp đơn xin đi đào tạo của bài tập thí dụ Hình 6.7.

Hình 6.7 Biểu đồ trạng thái của lớp đơn xin đi đào tạo

BIỂU ĐỒ THÀNH PHẦN VÀ BIỂU ĐỒ TRIỂN KHAI

Biểu đồ thành phần

Thành phần: Thành phần là mô đun vật lý mã trình, thành phần phần mềm có thể là thư viện mã nguồn và các tệp chạy được Mặc định mỗi lớp trong mô hình logic sẽ có phần đặc tả và phần thân Đặc tả chứa ghép nối lớp, thân chứa cài đặt của cùng lớp đó

Biểu tượng thành phần trong Rational Rose

Thành phần: Biểu tượng thành phần được sử dụng để biểu diễn mô đun phần mềm có giao diện như hình 7.1a. Đặc tả và chương trình con: Đó là loại biểu tượng được sử dụng cho đặc tả

(SubproSpec) và cài đặt của chương trình con (SubprogBody) Hình 6.1b thể hiện các biểu tượng cho các thành phần này. a) b)

Hình 7.1 Biểu tượng thành phần và chương trình con

Chương trình chính: Là tệp chứa điểm vào chương trình hình 7.2a. Đặc tả thân và gói: Đặc tả gói là tệp header chứa thông tin về nguyên hàm cho lớp Thân gói (PackageBody) chứa mã lệnh của các thao tác của lớp (hình 7.2b).

Hình 7.2 Biểu tượng chương trình và gói

Thư viện động (DLL) như trên hình 7.3a Đặc tả nhiệm vụ và thân: Các biểu tượng này biểu diễn các gói có luồng điều khiển độc lập Đặc tả nhiệm vụ và thân như trên hình 7.3b

Phụ thuộc thành phần như hình 7.4

Hình 7.4 Phụ thuộc thành phần

Biểu đồ thành phần là biểu đồ UML hiển thị các thành phần của hệ thống và phụ thuộc giữa chúng Trên biểu đồ thành phần ta có thể nhìn thấy mã nguồn và thành phần run-time trong hệ thống với biểu đồ này, người phát triển thực hiện dịch, triển khai hệ thống sẽ biết thư viện mã trình nào tồn tại và tệp khả

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại

Thành phân B thi (.exe) sẽ được tao ra khi mã trình được dịch Các phụ thuộc thành phần cho biết các thành phần sẽ được dịch theo thư tự nào Ta xét ví dụ biểu đồ thành phần của hệ thống rút tiền tự động ATM.

Hình 7.5 Biểu đồ thành phần

Biểu đồ triển khai

Biểu đồ triển khai mô tả kiến trúc hệ thống của phần cứng (nút) khác nhau như bộ xử lý, các thiết bị và các thành phần phần mềm thực hiện trên kiến trúc đó Nó mô tả vật lý của toàn bộ hệ thống, mô tả cấu trúc của các đơn vị phấn cứng và phần mềm chạy trên nó Biểu đồ triển khai chỉ ra toàn bộ các nút trên mạng, kết nối giữa chúng và các tiến trình chạy trên chúng.

Nút là đối tượng vật lý có tài nguyên tính toán Chúng có thể là máy tính, máy in, đọc thẻ từ, thiết bị truyền tin…Các nút được kết nối thông qua kết hợp giao tiếp Các nút trao đổi thông điệp hay đối tượng theo đường dẫn kết nối. Biểu đồ triển khai có thể hiển thị các lớp nút hay hiện thực nút

Phần tử mô hình của biểu đồ

Bộ xử lý (prosessor): Bộ xử lý là máy xử lý Các máy chủ, trạm làm việc thuộc loại này Ký pháp trong Rose của bộ sử lý như sau:

Thiết bị: Là máy móc hay thiết bị phần cứng khoonh phải là bộ vi sử lý trung tâm Thiết bị bao gồm màn hình, máy in…Cả thiết bị và bộ xử lý được xem như nút trong mạng Ký pháp của thiết bị trong UML như sau:

Kết nối: là liên kết vật lý giữa hai bộ xử lý, hai thiết bị hay giữa thiết bị và bộ xử lý Thông thường, kết nối biểu diễn kết nối mạng vật lý giữa các nút trong mạng.

Với sự nỗ lực của bản thân và sự hướng dẫn tận tình của cô giáoThS Nguyễn Quỳnh Mai, em đã hoàn thành chuyên đề tốt nghiệp của mình với một số nội dung và kết quả như sau:

GVHD: Nguyễn Quỳnh Mai SV: Đỗ Ngọc Đại

Nghiên cứu sơ bộ về ngôn ngữ mô hình hóa UML và các biểu đồ của nó thông qua các chương:

CHƯƠNG 2: KHÁI QUÁT VỀ UML

CHƯƠNG 3: MÔ HÌNH HÓA TRƯỜNG HỢP SỬ DỤNG

CHƯƠNG 5:MÔ HÌNH HÓA TƯƠNG TÁC ĐỐI TƯỢNG

CHƯƠNG 6: BIỂU ĐỒ CHUYỂN ĐỔI TRẠNG THÁI VÀ BIỂU ĐỒ HOẠT ĐỘNGCHƯƠNG 7: BIỂU ĐỒ THÀNH PHẦN VÀ BIỂU ĐỒ TRIỂN KHAI

Giới thiệu các khái niệm cơ bản của ngôn ngữ mô hình hóa UML và mô hình hóa hệ thống phần mềm theo phương pháp hướng đối tượng Các khái niệm được mô tả, các thí dụ đều thông qua ngôn ngữ chuẩn UML và phần mềm công cụ mô hình hóa Rational Rose

Mặt hạn chế của đề tài: Chuyên đề “Nghiên cứu phân tích thiết kế hướng đối tượng bằng UML” còn nhiều hạn chế về mặt kiến thức vẫn còn thiếu một số biểu đồ Các bài toán áp dụng chỉ là những bài toán nhỏ chưa phải là hệ thống lớn để ta có cái nhìn toàn diện hơn về UML.

Cuối cùng một lần nữa em xin bày tỏ lòng biết ơn chân thành tới cô giáo ThS Nguyễn Quỳnh Mai đã hết lòng chỉ bảo, dìu dắt em trong suốt thời gian qua.

Ngày đăng: 13/07/2023, 16:33

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w