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

UML và ứng dụng xây dựng mô hình hệ thống quản lý đào tạo

118 830 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

Định dạng
Số trang 118
Dung lượng 1,55 MB

Nội dung

Để làm được điều đó người ta phải sử dụng hệ thống mô hình các đối tượng với các đặc trưng cơ bản sau đây: - Tính trừu tượng hoá cao - Tính bao gói thông tin - Tính mô đun hoá có thể đạt

Trang 2

Vũ Thị Tâm

UML VÀ ỨNG DỤNG XÂY DỰNG

MÔ HÌNH HỆ THỐNG QUẢN LÝ ĐÀO TẠO

Chuyên ngành: Công nghệ thông tin

Trang 3

1.1 Quá trình chung để phát triển phần mềm hướng đối tượng.

1.2 Các ưu điểm của tiếp cận hướng đối tượng

1.3 Những vấn đề đặt ra trong việc khai thác phần mềm hướng đối tượng CHƯƠNG 2 CÁC CÔNG CỤ HỖ TRỢ PHÁT TRIỂN HƯỚNG ĐỐI

2.1 Khái quát về UML.

2.2 Kiến trúc trong UML

2.2.1 Mô hình khái niệm của UML(conceptional model)

2.2.2 Các khối xây dựng

2.2.3 Các quan hệ:

2.2.4 Các biểu đồ trong UML

2.3 Các quy tắc của UML

2.4.Các cơ chế chung

2.5 Ứng dụng của UML

3.1 Phát biểu bài toán

3.3.3 Mô hình các ca sử dụng và mô tả các ca sử dụng, mô hình miền

4.1 Mô hình liên kết giữa các lớp

Trang 4

4.5 Mô tả chi tiết các lớp

4.6 Một số giao diện của chương trình

Trang 5

Mở đầu

Trong quá trình phát triển của công nghệ phần mềm, nhiều dự án, nhiều chương trình phát triển phần mềm đã được thực hiện, nhưng hoặc là không kết thúc, hoặc xây dựng xong nhưng không thực hiện được hoặc đã xây dựng xong nhưng còn nhiều lỗi không đáp ứng được yêu cầu của người sử dụng Vì để xây dựng một phần mềm tốt cần phải chú ý tới các vấn đề chính sau:

- Dữ liệu, đối tượng và cấu trúc của chúng

- Những hành vi thể hiện các chức năng và quá trình trong hệ thống

- Điều khiển hành vi tổng thể của hệ thống

Trong thực tế, cấu trúc dữ liệu và hành vi của hệ thống phải thường xuyên thay đổi theo yêu cầu của người sử dụng Do vậy, việc khảo sát, phân tích, thiết kế hệ thống

là một công việc rất phức tạp và quan trọng trong quá trình xây dựng một hệ thống phần mềm Phải phân tích kỹ bài toán, lựa chọn phương pháp phát triển hệ thống thích hợp để cho hệ thống có tính mở, dễ thích nghi, chất lượng cao, giúp cho công việc bảo trì hệ thống đỡ tốn kém

Trong tất cả các giải pháp phát triển phần mềm hiện nay, giải pháp hướng đối tượng đã được xem như là giải pháp tốt cho những hệ thống phần mềm có qui mô lớn,

độ phức tạp cao, có nhiều ưu điểm so với phương pháp hướng chức năng truyền thống

Có thể giải pháp hướng đối tượng sẽ còn được tiếp tục được cải tiến cùng với mô hình phát triển phần mềm Nhưng hiện nay đây là một giải pháp tốt đang được sự quan tâm đặc biệt và nhiều công ty đã triển khai

Cùng với phương pháp luận, phương pháp phát triển phần mềm hướng đối tượng, công cụ UML (Unifiel Modelling Language) và các phần mêm được xây dựng trên nó ( Rational Rose, ) đã cung cấp một phương tiện mạnh cho phép triển khai phương pháp trên trong môi trường công nghiệp UML là một ngôn ngữ mô hình hoá dùng để đặc tả, mô hình hoá, xây dựng và làm tài liệu cho một hệ thống phần mềm [3] hướng đối tượng Ngôn ngữ này thể hiện trực quan được những quyết định và sự hiểu biết của chúng ta về hệ thống cần xây dựng Nó là một công cụ mạnh và đầy đủ được dùng để phân tích, thiết kế, cài đặt, bảo trì và kiểm soát thông tin của hệ thống phần mềm lớn và

Trang 6

phức tạp UML hiện là chuẩn công nghiệp của thế giới về ngôn ngữ đặc tả cho ngành công nghệ phần mềm và đang được những hãng sản xuất phần mềm nổi tiếng trên thế giới sử dụng như: Microsoft, Oracle, HP, …

Vì vậy việc nghiên cứu phương pháp phân tích, thiết kế hướng đối tượng và sử dụng UML để phát triển phần mềm đang là một xu hướng trong kỹ nghệ phần mềm Những nội dung chính của đề tài:

 Tổng quan phương pháp phát triển phần mềm theo định hướng đối tượng

 Giới thiệu về hệ công cụ UML

 Vận dụng phương pháp và công cụ nêu trên tiến hành phân tích, thiết kế hệ thống đào ạo ở một trường đại học

Luận văn này gồm bốn chương Chương 1 và 2 giới thiệu tổng quan về phương pháp hướng đối tượng và các công cụ hỗ trợ Chương 3 và chương 4 xây dựng mô hình cho hệ thống quản lý đào tạo sử dụng UML Quản lý đào tạo là một công việc không thể thiếu được trong tất cả các hệ thống trường học, việc xây dựng một hệ thống quản lý tự động sẽ giúp hệ thống các trường học quản lý được hiệu quả, chính xác và

đỡ tốn thời gian , sức lực của nhiều người

Thực hiện đề tài này giúp em hiểu sâu hơn các bước để phân tích, thiết kế một ứng dụng và phương pháp mô hình hoá hệ thống phần mềm hướng đối tượng bằng công cụ UML Vì vấn đề được xét là rộng lớn và phức tạp, kết quả của luận văn mới dừng lại ở bước phân tích tổng thể bài toán và thiết kế chi tiết cho một phần quan trọng của bài toán Tuy vậy, những vấn đề lý thuyết, phương pháp luận và công cụ phát triển phần mềm hướng đối tượng đã được sử dụng, vận dụng khá toàn diện Đây là kết quả bước đầu nghiên cứu khoa học, chắc chắn còn rất nhiều hạn chế, rất mong được ý kiến đóng góp quý báu của các thầy cô và các bạn Em cũng xin gửi lời cảm ơn chân thành đến PGS TS Nguyễn Văn Vỵ, người đã giúp đỡ em rất nhiều để em có thể hoàn thành luận văn này

Hà nội, ngày 5 tháng 2 năm 2004

Trang 7

Vũ Thị Tâm

chương 1 Phương pháp hướng đối tượng

Hiện nay thông tin thực sự trở thành nguồn tài nguyên quan trọng, nguồn của cải to lớn của xã hội Trong mọi lĩnh vực, các dữ liệu, các mối quan hệ của mọi hệ thống kinh tế xã hội đều được xử lý một cách nhanh chóng nhất trên máy tính Hệ thống càng phát triển, tức là càng nhiều yếu tố hợp thành thì mối quan hệ giữa chúng càng trở nên phức tạp Để xử lý lượng thông tin lớn như vậy, cần phải có những phương pháp và các công cụ hiện đại

1.1 Quá trình chung để phát triển phần mềm hướng đối tượng

Tiến trình thực hiện một bước lặp bao gồm xác định yêu cầu của hệ thống, phân tích, thiết kế, triển khai và kiểm thử, chính là nội dung cơ bản của tiến trình phát triển phần mềm hướng đối tượng Trong các hoạt động đó, hoạt động phân tích và thiết kế đặt ra nhiều vấn đề nan giải hơn cả.[3]

Những vấn đề đặt ra trong phân tích thiết kế hướng đối tượng

Đặc điểm của phân tích và thiết kế hướng đối tượng là nhìn nhận hệ thống như một tập các đối tượng tương tác với nhau để tạo ra một hành động cho một kết quả ở mức cao hơn Để làm được điều đó người ta phải sử dụng hệ thống mô hình các đối tượng với các đặc trưng cơ bản sau đây:

- Tính trừu tượng hoá cao

- Tính bao gói thông tin

- Tính mô đun hoá

có thể đạt được sự nhất trí giữa khách hàng và những người phát triển về những gì mà

hệ thống cần làm, không nên làm và những điều kiện ràng buộc đặt ra cho chúng Mục

Trang 8

tiêu của bước này là để hiểu đúng và đầy đủ về hệ thống mà ta cần phải tin học hoá thuần tuý về mặt nghiệp vụ Muốn vậy, trước hết cần xác định phạm vi và chức năng

hệ thống cần nghiên cứu bằng cách liệt kê các chức năng mà hệ thống thực hiện, chỉ ra mối quan hệ của nó với môi trường thông qua việc sử dụng các chức năng của hệ thống Tiếp đó cần tìm các ca sử dụng nghiệp vụ từ các chức năng của hệ thống mà qua

sử dụng Sau đó, ta sẽ xác định các ca sử dụng có ý nghĩa về mặt kiến trúc và sắp thứ

tự ưu tiên các ca sử dụng sẽ được triển khai trong bước lặp hiện thời.[4]

Phân tích

Nhiệm vụ của pha phân tích là làm mịn dần các yêu cầu đã nhận được từ pha trước và tạo cấu trúc cho chúng Thông qua đó, các yêu cầu được hiểu chính xác hơn,

từ đó đưa ra cấu trúc cho toàn bộ hệ thống

Nhiệm vụ của pha phân tích là tìm ra cách thức để thực hiện các yêu cầu của hệ thống đã được xác định trong các ca sử dụng Cụ thể là, cần phân tích mô hình ca sử dụng bằng cách tìm ra cách tổ chức các thành phần bên trong của hệ thống để thực hiện mỗi ca sử dụng Những thành phần cấu trúc bên trong hệ thống ở đây chính là ba loại lớp phân tích Công việc xác định các lớp không phải làm tuỳ tiện mà thực hiện theo từng ca sử dụng, trước hết cho các ca sử dụng theo thứ tự ưu tiên được sắp Sau đó, cấu trúc lại cách tổ chức các thành phần này của hệ thống Để đạt mục tiêu này cần tiến hành các hoạt động:

- Phân tích kiến trúc hệ thống

- Phân tích một ca sử dụng

Trang 9

Trong thiết kế, chúng ta định hình hệ thống và tìm hình thức thể hiện về mặt vật

lý của nó (kể cả kiến trúc) để thực hiện mọi yêu cầu được đặt ra cho hệ thống Một đầu vào cho thiết kế là mô hình phân tích Khi thiết kế ta sẽ cố gắng bảo tồn được càng nhiều càng tốt cấu trúc của hệ thống được định hình từ mô hình phân tích Kết quả của thiết kế là mô hình thiết kế và mô hình triển khai được thể hiện ra dưới dạng một loạt các mô hình cụ thể Mô hình thiết kế là sự thực thi mô hình phân tích khi tính đến các điều kiện của môi trường để thực thi hệ thống

Để nhận được mô hình thiết kế ta cần thực hiện các công việc sau:

Đặc điểm của cách tiếp cân hướng đối tượng

Sử dụng kết hợp cả hai cách thiết kế: trên - xuống (top-down) và dưới-lên (bottom-up) Kỹ thuật phân rã chức năng trên-xuống được áp dụng để thiết kế các lớp, còn cấu trúc cả hệ thống được xây dựng dựa trên kiến trúc đơn thể được đặc tả trong miền ứng dụng và hỗ trợ một phần trong việc sử dụng lại - cách tiếp cận dưới - lên và nguyên lý che dấu thông tin cho phép sử dụng lại một cách tối đa

1.2 Các ưu điểm của tiếp cận hướng đối tượng

Trang 10

 Những đối tượng được thiết kế tốt trong hệ thống hướng đối tượng là cơ sở để kết hợp các đơn thể (module) được sử dụng lại thành hệ thống có chất lượng cao hơn

 Cơ chế tương tác bằng cách truyền thông điệp giữa các đối tượng đảm bảo cho việc

mô tả các giao diện giữa các modul bên trong hệ thống và hệ thống bên ngoài trở nên dễ dàng hơn

 Việc phân tích và thiết kế theo cách phân bài toán thành các đối tượng là hướng tới lời giải của thế giới thực, là tự nhiên hơn so với cách phân rã theo chức năng từ trên xuống (Top-down)

 Nguyên lý che dấu thông tin hỗ trợ cho việc xây dựng các hệ thống thông tin an toàn

 Nguyên lý thiết kế dựa vào sự bao gói cả dữ liệu và xử lý trong một đối tượng rất phù hợp với ngữ nghĩa của mô hình trong cài đặt

 Lập trình hướng đối tượng và kỹ thuật kế thừa cho phép xác định các modul và sử dụng ngay sau khi chúng chưa thực hiện đầy đủ các chức năng và sau đó mở rộng các đơn thể đó mà không ảnh hưởng tới các đơn thể đã có

 Tiếp cận hướng đối tượng cung cấp cho ta công cụ hỗ trợ giải quyết độ phức tạp của bài toán bằng việc phân rã thành các thành phần độc lập tương đối với nhau

 Hệ thống hướng đối tượng dễ dàng mở rộng thành các hệ thống có quy mô lớn hơn nhờ tương tác giữa các đối tượng thông qua việc gửi và nhận thông báo

 Về vấn đề phát triển và bảo trì hệ thống đơn giản hơn do có sự phân hoạch rõ ràng,

là kết quả của việc bao gói thông tin và sự kết nối giữa các đối tượng thông qua giao diện, là việc sử dụng lại các thành phần tin cậy

 Xoá bỏ được hố ngăn cách giữa các bước phát triển, thiết kế và cài đặt trong quá trình phát triển phần mềm.[2]

1.3 Những vấn đề đặt ra trong việc khai thác phần mềm hướng đối tượng

- Xác định các lớp và đối tượng

- Gán trách nhiệm

- Giao tiếp với cơ sở dữ liệu

- Cần có công cụ thích hợp: UML

Trang 11

Chương 2 Các công cụ hỗ trợ phát triển hướng đối tượng

Phương pháp phân tích thiết kế hướng đối tượng với việc sử dụng ngôn ngữ UML cung cấp cho chúng ta phương tiện đủ mạnh để xác định các đối tượng và xây dựng các đơn thể của hệ thống cần phát triển

2.1 Khái quát về UML

UML là một ngôn ngữ chuyên dụng

UML được đưa vào sử dụng từ năm 1997, và đã nhanh chóng được công nghiệp

phần mềm chấp nhận làm ngôn ngữ đồ hoạ chuẩn để đặc tả, xây dựng và làm tài liệu cho các hệ thống phần mềm chuyên sâu

UML là ngôn ngữ mô hình hoá, ngôn ngữ chuẩn thống nhất để viết ra bản kế hoạch chi tiết phần mềm Nó mô tả ký pháp thống nhất, ngữ nghĩa và các định nghĩa chính mô hình hoá Các khung nhìn của ngôn ngữ cho phép nhìn nhận hệ thống được phát triển khác nhau, nó không khó hiểu và dễ sử dụng Như mọi ngôn ngữ mô hình hoá khác, UML có ký pháp (các biểu tượng sử dụng trong mô hình)và tập các quy tắc

sử dụng nó để mô hình hoá các hệ thống của thế giới thực

 UML là một ngôn ngữ

Là một ngôn ngữ UML có từ vựng và quy tắc tổ hợp các từ vựng đó nhằm mục đích 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 Vì vậy, UML là ngôn ngữ chuẩn công nghiệp để viết ra kế hoạch chi tiết phần mềm

 UML là ngôn ngữ để biểu diễn đồ hoạ

Đối với nhiều lập trình viên, không có khoảng cách giữa ý tưởng cài đặt và chuyển nó thành mã, họ suy nghĩ vấn đề và viết ngay mã trình cho nó Tuy nhiên, việc giao tiếp giữa mô hình khái niệm với những cái khác trong vòng đời phát triển phần mềm sẽ gặp khó khăn khi mọi người không sử dụng chung một ngôn ngữ cho dự án Đặc biệt có những dự án và tổ chức phát triển phần mềm theo ngôn ngữ riêng của họ

Trang 12

và khó có thể hiểu được đối với những người mới tham gia dự án Hơn nữa một số vấn

đề của hệ thống phần mềm sẽ được hiểu rõ ràng hơn thông qua mô hình thay cho ngôn ngữ lập trình văn bản Cuối cùng, nếu người viết mã không bao giờ viết thành các mô hình thì thông tin có thể mất hoặc không thể viết lại một cách đầy đủ nếu chỉ xem mã lệnh trong trường hợp người viết mã chuyển đi nơi khác làm việc

Để khắc phục những nhược điểm trên, ta sẽ sử dụng ngôn ngữ UML để xây dựng các mô hình khác nhau:

- Mỗi ký pháp trong UML mang một ngữ nghĩa rõ ràng, nên nếu một người trong đội phát triển viết mô hình UML thì những người khác có thể hiểu được, thậm chí các công cụ khác cũng có thể dịch được những mô hình đó một cách rõ ràng

- Các cấu trúc mô tả dưới dạng các mô hình đồ hoạ nên dễ dàng nắm bắt

- Mô hình rõ ràng sẽ làm cho việc trao đổi, giao tiếp trở nên dễ dàng

 UML là ngôn ngữ đặc tả

Đặc tả là mô tả rõ ràng nhất những điểm mấu chốt của vấn đề UML cho phép

mô tả chính xác, không nhập nhằng và hoàn thiện UML tập trung đặc tả toàn bộ các quyết định phân tích, thiết kế và cài đặt quan trọng trong quá trình phát triển và triển khai hệ thống phần mềm

 UML là ngôn ngữ để tạo mã

UML không phải là ngôn ngữ lập trình trực quan, những mô hình của nó có thể kết nối trực tiếp tới các ngôn ngữ lập trình khác nhau Điều đó có nghĩa là có thể ánh

xạ từ mô hình trong UML sang một ngôn ngữ lập trình như Java, C++

hoặc Visual Basic, thậm chí có thể sang các bảng trong cơ sở dữ liệu quan hệ hoặc cơ sở dữ liệu hướng đối tượng Đồng thời có thể thực hiện ngược lại từ cài đặt về mô hình UML Điều đó có nghĩa là nó cho phép chúng ta có thể làm việc với văn bản, chương trình, hay đồ hoạ một cách nhất quán

 UML là ngôn ngữ làm tài liệu

Trang 13

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 cho khả 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 của nó thông qua các trường hợp sử dụng (Use case) và tác nhân (Actor)

- Trong UML các trường hợp sử dụng được mô tả bằng biểu đồ lôgic

- 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 khả năng mô tả các chức năng và hành vi hệ thống bằng khuôn mẫu (stereotypes) [4]

2.2 Kiến trúc trong UML

Kiến trúc phần mềm cho ta một cái nhìn khái quát nhất về hệ thống phần mềm

ở các góc độ khác nhau Mỗi khung nhìn phản ánh về một khía cạnh của tổ chức và cấu trúc của hệ thống mà tập trung vào từng mặt cụ thể giúp cho ta hiểu và sử dụng hệ thống tốt nhất

Khung nhìn ca sử dụng cho ta cách sử dụng chức năng để mô tả hành vi của hệ

thống khi nhìn nhận hệ thống dưới góc độ của người dùng cuối cùng, của các nhà phát triển

Khung nhìn thiết kế bao gồm các lớp, các giao diện, các cộng tác tạo nên từ

vựng để đặc tả các vấn đề và các giải pháp cho nó Khung nhìn này hỗ trợ việc xác định các yêu cầu chức năng của hệ thống, nghĩa là các dịch vụ mà hệ thống sẽ cung cấp cho người dùng

Hình 2.1: Mô hình hoá kiến trúc hệ thống

Trang 14

Khung nhìn tiến trình của hệ thống chứa đựng các luồng và tiến trình công việc

tạo nên cơ chế hoạt động tương tranh

Khung nhìn triển khai của hệ thống bao gồm các thành phần và các file được

kết hợp lại cho ra các hệ thống vật lý Khung nhìn này hướng đến việc quản lý cấu hình của hệ thống

Khung nhìn bố trí bao gồm các nút tạo nên kết cấu phần cứng mà trên đó hệ

thống vận hành Khung nhìn này chủ yếu hướng đến sự phân tán và cài đặt cụ thể của

hệ thống [4]

2.2.1 Mô hình khái niệm của UML(conceptional model)

Hình 2.2: Các cấu trúc thành phần của UML

Ba khối chính tạo nên UML là các khối xây dựng, các quy tắc ngữ nghĩa và một

số cơ chế chung được áp dụng cho việc mô hình hoá

2.2.2 Các khối xây dựng

Các sự vật là các trừu tượng hoá và là những phần tử lớp đầu tiên để xây dựng nên các mô hình trong UML Các quan hệ gắn kết các sự vật lại với nhau, các biểu đồ nhóm các sự vật được quan tâm lại tạo nên ngữ nghĩa của nó (cho một mô hình)

a Các sự vật cấu trúc (structural things): Bao gồm

Sự vật nhóm gộp

Sự vật chú thích

Phụ thuộc Liên kết Tổng quát hoá

Ca sử dụng Lớp Đối tượng Tuần tự Cộng tác Trạng thái Hoạt động Thành phần

Gói

Mô hình

Hệ thống con Khung làm việc

Ghi chú

Trang 15

Lớp (class): Một lớp mô tả một tập hợp các đối tượng có chung các thuộc tính,

các tác vụ, các mối quan hệ và ngữ nghĩa Một lớp có trách nhiệm thực hiện một hay nhiều giao diện Một lớp được biểu diễn bằng một hình chữ nhật bên trong có tên, các thuộc tính và các tác vụ (phương thức)

Hình 2.3 Lớp Một lớp có ba thành phần như sau: tên lớp, các thuộc tính, các phương thức (ứng xử) của lớp

Tên lớp thường là danh từ, ví dụ: sinh viên

Các thuộc tính được coi là đúng nếu nó bao gồm các thông tin để mô tả và nhận dạng một thực thể cụ thể của một lớp Tuy nhiên chỉ nên đưa vào các thuộc tính mà hệ thống quan tâm Mỗi một thuộc tính đều thuộc một kiểu dữ liệu nào đó Kiểu dữ liệu nguyên thuỷ bao gồm các kiểu như: Integer, Boolean, Real Ngoài ra các thuộc tính còn có khả năng nhìn thấy được (Visibility) bao gồm public, private và protected Nếu một thuộc tính là public nghĩa là một lớp khác có thể tham chiếu đến và sử dụng thuộc tính đó Nếu là private thì các lớp khác không thể tham chiếu đến thuộc tính này

Các phương thức trong một lớp mô tả cái mà lớp đó có thể làm Các phương thức thường được gọi là các hàm (funtion) nhưng chúng chỉ thuộc vào lớp đó và áp dụng đối với các đối tượng của lớp đó Cũng giống như các thuộc tính, các phương thức cũng có phạm vi và khả năng nhìn thấy được

Đối tượng là khái niệm dùng để mô hình hoá một vật hoặc một khái niệm trong

thế giới thực, có thể là một phần của bất kỳ loại hệ thống nào như máy móc hay một tổ chức Có một số đối tượng (ví dụ như các đối tượng thực thi trong hệ thống phần mềm)

Trang 16

không tồn tại một cách trực tiếp trong thế giới thực nhưng nó phát sinh bắt nguồn từ việc nghiên cứu cấu trúc và hành vi của các đối tượng trong thế giới thực Vì thế các đối tượng liên quan đến hiểu biết của chúng ta về thế giới thực bởi đối tượng là thể hiện của một lớp nào đó

Ký pháp: trong UML đối tượng được thể hiện bởi một hình chữ nhật với tên ở bên trong Tên đối tượng được gạch chân

Hình 2.4: Đối tượng

Giao diện (interface): Một giao diện là một tập hợp các tác vụ đặc tả một dịch

vụ của một lớp hoặc một thành phần Một giao diện biểu diễn bằng một hình tròn với tên của nó:

Ispenlling Hình 2.5: Giao diện

Sự cộng tác (collaboration): Sự cộng tác xác định các hoạt động bên trong hệ

thống và là một bộ các nguyên tắc và các phần tử khác nhau cùng làm việc để cung cấp một hành vi hợp tác lớn hơn tổng hành vi của tất cả các phần tử đó Một sự cộng tác được biểu diễn bằng một hình elip với đường nét đứt và thường chỉ gồm có tên

Hình 2.6: Sự cộng tác

Ca sử dụng (Use case): Một ca sử dụng mô tả một tập hợp các dãy hành động

mà hệ thống thực hiện để cho một kết quả quan sát được các giá trị đối với một tác nhân Một ca sử dụng được biểu diễn bằng một hình elip nét liền, thường chỉ bao gồm

có tên:

Hình 2.7: Ca sử dụng

Dãy các trách nhiệm

Sửa hồ sơ sinh viên Hình tròn

Trang 17

Những chức năng mà hệ thống cung cấp sẽ được mô tả trong mỗi ca sử dụng Trong đó mô tả những chức năng, những thành phần ở bên ngoài - tác nhân (Actor) tương tác với hệ thống và mối quan hệ giữa ca sử dụng và tác nhân (biểu đồ ca sử dụng) Nói một cách chính xác hơn, ca sử dụng mô tả trình tự các hành động của một tác nhân nào đó, sử dụng một phần chức năng của hệ thống để hoàn thành một tiến trình Vì thế, đối với người sử dụng, ca sử dụng mô tả một cách để họ sử dụng hệ thống: nó mô tả các tương tác giữa một số tác nhân và hệ thống thông qua dịch vụ mà

hệ thống cung cấp cho các tác nhân Mỗi ca sử dụng là một bộ phận các yêu cầu chức năng cho một số người sử dụng Kết hợp tất cả các ca sử dụng lại với nhau ta có được

mô tả về toàn bộ các yêu cầu chức năng của hệ thống Tất cả các ca sử dụng cho phép những người phát triển phần mềm và khách hàng thoả thuận được về các yêu cầu, các điều kiện cũng như các khả năng mà hệ thống phải tuân theo

Tác nhân: Một tác nhân thể hiện một tập hợp các vai trò mà các thực thể ngoài

(đối với hệ thống) có thể thực hiện khi sử dụng hệ thống Một tác nhân thể hiện một nhóm người, một bộ phận, một tổ chức hoặc các hệ thống nào khác có tương tác với hệ thống đó Tương tác của tác nhân với hệ thống có thể:

 Cung cấp thông tin cho hệ thống

 Lấy thông tin từ hệ thống

 Nhận thông tin từ hệ thống và cung cấp thông tin cho hệ thống

Một số đặc điểm của tác nhân:

 Một tác nhân có tên và tên đó nên phản ánh vai trò của tác nhân Tên không nên phản ánh một thực thể đặc trưng của tác nhân và cũng không phản ánh chức năng của tác nhân

 Các tác nhân tương tác với hệ thống bằng cách gửi và nhận thông báo với hệ thống như nó thực hiện các ca sử dụng

 Nếu có nhiều hơn một tác nhân trong một ca sử dụng thì tác nhân kích thích được gọi là “tác nhân khởi tạo” hay “tác nhân chủ động” và các tác nhân còn lại được gọi là “tác nhân tham dự” hay “tác nhân bị động”

Trang 18

 Các tác nhân tương tác trực tiếp với hệ thống được gọi là các tác nhân chính hay các tác nhân trực tiếp, các tác nhân còn lại được gọi là các tác nhân thứ yếu

Cách xác định các tác nhân: dựa vào việc nhận dạng các tác nhân, là các thực thể quan tâm đến việc sử dụng và tương tác với hệ thống, tức là phải xác định xem nó đòi hỏi gì ở hệ thống và cần đến những ca sử dụng nào để sử dụng hệ thống?

Khi mô tả một tác nhân cần chỉ rõ vai trò của tác nhân khi tương tác với hệ thống Ví dụ, với hệ thống bán hàng có một tác nhân là nhân viên bán hàng, ta có thể

mô tả một cách ngắn gọn như sau:

Nhân viên bán hàng: là những người bán hàng cho khách khi có khách đến mua hàng

Tác nhân được biểu diễn bằng hình tượng sau:

Xác định ca sử dụng:

Có hai cách xác định ca sử dụng trong hệ thống

 Xác định thông qua các tác nhân:

Xác định các tác nhân nào có liên quan tới hệ thống hoặc tổ chức: tìm và

mô tả tất cả các tác nhân bằng cách xem người dùng nào sẽ sử dụng hệ thống và hệ thống nào khác phải tương tác với nó

Với mỗi tác nhân, xác định các quá trình mà nó khởi tạo hoặc tham gia vào bằng cách xem tác nhân trao đổi/ tương tác hoặc sử dụng với hệ thống để làm việc như thế nào

 Xác định thông qua các sự kiện

Những sự kiện nào hệ thống phải có đáp ứng lại hoặc có hành vi ứng xử tương ứng

Mối quan hệ giữa các sự kiện với tác nhân, sự kiện với hệ thống Khi xác định các ca sử dụng cần thảo luận, trao đổi với người dùng hệ thống và nên xem xét lại các dữ liệu đặc tả yêu cầu đã có để có thể trả lời một số câu hỏi sau:

Nhiệm vụ chính của tác nhân là gì?

Trang 19

Có phải tác nhân sẽ phải đọc, viết hay thay đổi thông tin hệ thống?

Có phải tác nhân sẽ phải cung cấp tin tức cho hệ thống về những thay đổi bên ngoài hệ thống?

Có phải tác nhân mong muốn được cung cấp tin tức về sự thay đổi không?

Thành phần (Component): Thành phần là một bộ phận vật lý có thể thay thế

được của một hệ thống được làm phù hợp với những điều kiện cụ thể và cung cấp phương tiện (tác vụ) thực hiện một tập các giao diện Một thành phần biểu diễn một gói vật lý các phần tử lôgic khác nhau như các lớp, các giao diện và sự cộng tác Một thành phần được biểu diễn bằng một hình chữ nhật với các bảng và thường bao gồm chỉ có tên của nó:

Lớp chủ động (active class): Một lớp chủ động là một lớp mà các đối tượng của

nó sở hữu một hay một số tiến trình hoặc các dãy thao tác Bởi vậy nó có thể khởi động hoạt động điều khiển Một lớp chủ động được biểu diễn như một lớp nhưng có đường viền đậm:

Hình 2.9 Lớp hoạt động

Nút (node): Một nút là một phần tử vật lý tồn tại trong thời gian thực và biểu

diễn một tài nguyên tính toán, thường có ít nhất bộ nhớ và khả năng xử lý Một nút biểu diễn bằng một hình hộp thường bao gồm tên của nó:

Trang 20

Hình 2.10: Một nút

b Các sự vật hành vi (behavioral things): các sự vật hành vi là những bộ phận động

của các mô hình UML, mô tả hành vi của hệ thống theo thời gian và không gian Có hai loại hành vi sơ cấp của sự vật:

Sự tương tác (interaction): sự tương tác là một hành vi bao gồm một tập các

thông báo được trao đổi giữa một tập các đối tượng trong một khung cảnh cụ thể nhằm thực hiện một mục tiêu xác định Một thông báo được biểu diễn bằng một đường thẳng

có hướng, gồm tên

Hiển thị Thông báo

Máy trạng thái (state machine): một máy trạng thái gồm một số các phần tử

biểu diễn các trạng thái, các chuyển dịch (từ một trạng thái sang một trạng thái khác), các sự kiện (các sự vật kích hoạt một chuyển dịch) Một trạng thái được biểu diễn bằng một hình chữ nhật góc tròn trong đó có tên trạng thái và các trạng thái con của nó (nếu có)

Hình 2.11 Trạng thái

Các sự vật nhóm gộp ( grouping thinks): Có một loại sự vật nhóm gộp duy

nhất là gói (package) Nó là công cụ để tổ chức các thành phần của một mô hình thành các nhóm: một mô hình có thể được phân chia vào trong các gói Một gói đơn thuần là một khái niệm

Gói cung cấp một cơ chế nhóm gộp để:

 Chỉ ra bức tranh lớn không quá đi sâu vào chi tiết

 Chỉ ra sự phụ thuộc giữa các lớp

Máy dịch vụ

Trả lại bản sao

Trang 21

 Chỉ ra chi tiết các tập hợp con cô lập

Thông thường một gói là tập hợp của các lớp nhưng nó cũng có thể chứa các gói khác Một lớp chỉ thuộc vào duy nhất một gói Một gói có thể tham chiếu đến các gói khác hoặc phụ thuộc vào các gói, các lớp khác Tham chiếu của một gói chỉ ra rằng có một số lớp thuộc gói đó phụ thuộc vào một số lớp thuộc vào gói mà nó tham chiếu đến

Một gói được biểu diễn như một bảng thường chỉ gồm có tên, và đôi khi có nội dung của nó

Hình 2.12: Gói

Sự vật giải thích (Annontional things): sự vật gải thích là phần giải thích của

mô hình UML Nó có thể sử dụng để mô tả, giải thích và đánh dấu một phần tử bất kì trong một mô hình [4]

Dù cho một ngôn ngữ có mức độ bao quát đến đâu thì vẫn còn những thứ chưa được định nghĩa trong ngôn ngữ đó Để có thể thể hiện được hết mọi điều trong mô hình, UML cung cấp khả năng lập chú thích Một chú thích có thể được đặt bất cứ chỗ nào trong biểu đồ và có thể chứa bất kỳ loại thông tin nào Loại thông tin mà nó chứa không được UML thông dịch Chú thích được gắn vào một vài phần tử trong biểu đồ với đường đứt nét chỉ ra phần tử nào được giải thích thêm hay chi tiết hoá với thông tin trên chú thích Một chú thích thường chứa các thông tin dẫn giải hay các câu hỏi từ người làm mô hình như lời nhắc nhở để giải quyết các tình trạng khó xử sau này Một chú thích có thể có các khuôn mẫu (stereotype) mô tả kiểu chú thích Một chú thích biểu diễn một lời chú giải không có ảnh hưởng về ngữ nghĩa, nghĩa là nội dung của nó không làm thay đổi nghĩa của mô hình mà nó gắn vào Điều này giải thích tại sao các chú thích thường được sử dụng để đặc tả các thứ như các yêu cầu, các nhận xét, các sự giải thích và các ràng buộc

Một chú thích có thể chứa bất kỳ sự phối hợp văn bản hay đồ thị nào Ta có thể đưa vào một URL, thậm chí liên kết hay nhúng vào một tài liệu khác

Các quy tắc nghiệp vụ

Trang 22

Một chú thích là một biểu tượng đồ hoạ để diễn tả các ràng buộc hoặc các lời chú giải gắn vào một hay một tập hợp các phần tử Một chú thích được biểu diễn như một hình chữ nhật với một nếp quăn ở góc, cùng với chú giải bằng văn bản hoặc đồ hoạ ở bên trong

Trả lại bản sao

Hình 2.13: Chú thích

2.2.3 Các quan hệ:

a Quan hệ giữa ca sử dụng và tác nhân:

Quan hệ giữa ca sử dụng và tác nhân thường gọi là quan hệ tương tác vì nó thể hiện sự tương tác giữa một tác nhân và một ca sử dụng Thông thường đây là quan hệ 1

- 1 không có hướng để chỉ ra rằng tác nhân có thể liên lạc với ca sử dụng theo cả hai hướng Quan hệ này thể hiện bằng một đường thẳng nối giữa tác nhân và ca sử dụng.[7]

b Quan hệ giữa ca sử dụng với ca sử dụng

Các ca sử dụng quan hệ với nhau theo ba kiểu quan hệ là: mở rộng, bao gồm và

tổng quát hoá

Quan hệ mở rộng: là một quan hệ tổng quát hoá trong đó một ca sử dụng mở

rộng một ca sử dụng khác bằng cách đưa thêm các hành động vào ca sử dụng tổng quát Ca sử dụng mở rộng có thể bao gồm các hành vi từ ca sử dụng được mở rộng thêm, phụ thuộc vào các điều kiện mở rộng Nó không phải bao gồm toàn bộ hành vi,

nó có thể chọn một phần hành vi của ca sử dụng tổng quát mà nó muốn dùng lại Ca sử dụng được mở rộng phải là ca sử dụng hoàn thiện Thông thường các ca sử dụng được

mô tả dưới dạng văn bản nên cần xác định phần nào trong ca sử dụng mở rộng là được

sử dụng lại từ ca sử dụng tổng quát, phần nào là được định nghĩa lại, phần nào là được thêm vào Một ca sử dụng mở rộng là một cách để có thể kiểm soát các ngoại lệ, là trường hợp đặc biệt của ca sử dụng tổng quát Quan hệ mở rộng giữa hai ca sử dụng được biểu diễn bằng mũi tên đứt nét nối giữa hai ca sử dụng hướng vào ca sử dụng được mở rộng và ký pháp khuôn mẫu “extends” ở bên cạnh.[2]

Trang 23

Hình 2.14: Quan hệ mở rộng

Quan hệ tổng quát hoá: Khi một số các ca sử dụng kiểm soát các chức năng

tương tự nhau có liên hệ với nhau theo một cách nào đó, chúng có thể được gói lại thành một gói trong UML Các nhóm gói liên hệ với các phần tử mô hình, có thể được

mở rộng hoặc thu bớt lại thành một biểu tượng, cho phép người phát triển nhìn một gói tại một thời điểm Gói không mang ý nghĩa nào khác, nó chỉ một tập hợp các ca sử dụng có các chức năng tương tự hoặc có các liên hệ với nhau

Quan hệ sử dụng (uers): là một quan hệ tổng quát hoá mà trong đó một số ca sử

dụng có cùng những ứng xử chung, thì phần chung này được tách thành một ca độc lập

và các ca sử dụng ban đầu chứa nó bây giờ sẽ “sử dụng” nó Người ta dùng mũi tên với hình tam giác rỗng để nối từ mỗi ca sử dụng đến ca sử dụng chung được sử dụng và trên mỗi mũi tên này ghi thêm chữ “users” Khi một ca sử dụng “sử dụng” ca sử dụng này nó cần phải sử dụng “đầy đủ”, tức là mọi chức năng của nó Tuy nhiên không đòi hỏi các chức năng đó được “sử dụng” theo một trật tự xác định nào[7]

c Các quan hệ giữa các lớp:

Các lớp và các đối tượng cùng với biểu đồ lớp, biểu đồ đối tượng cho ta cái nhìn tĩnh về hệ thống Khía cạnh động hay ứng xử của hệ thống thể hiện qua sự hợp tác của một tập hợp các đối tượng Trong hệ thống, một đối tượng luôn luôn có các mối quan

hệ với các đối tượng khác Vì vậy, khi mô hình hoá hệ thống ta không chỉ mô hình các đối tượng mà còn phải mô hình hoá quan hệ các đối tượng đó với các đối tượng khác UML cung cấp một số loại quan hệ chính như sau

d Quan hệ liên kết (Assocition):

Trong UML, liên kết là một quan hệ giữa hai lớp để xác định xem các đối tượng của các lớp này được liên kết và thực hiện công việc cùng nhau như thế nào Giữa các đối tượng thuộc các lớp khác nhau phải có sự liên kết để chúng có thể tương tác và công tác với nhau nhằm thực hiện các tiến trình

extends

A

B

Trang 24

Quan hệ liên kết mô hình hoá mỗi liên kết ngữ nghĩa giữa các lớp

Biểu diễn:

Tên liên kết

Ví dụ:

Tham gia

Bản số: Đối với một liên kết giữa hai lớp A và B, một thông tin quan trọng liên

quan đến việc có bao nhiêu đối tượng của lớp A có thể được liên kết với một đối tượng của lớp B tại một thời điểm Ta sử dụng lực lượng của A để mô tả thông tin này.[8]

Quy tắc để xác định các liên kết: Đối với bước phân tích, ta sử dụng quy tắc sau:

- Một quan hệ liên kết hữu ích thường mang một hiểu biết về mối quan hệ mà nó cần

- Một liên kết quan trọng giữa hai đối tượng phải thoả mãn vai trò cung cấp một phương tiện cho phép đối tượng này công tác hay tương tác với đối tượng kia

Trang 25

Các quan hệ liên kết thường được ứng với một động từ hoặc một danh động từ Mỗi liên kết thường có một số ngữ nghĩa trong các quan hệ sau:

- Trật tự vật lý: tiếp theo (next to), là một phần của (part of), chứa trong (contained in),…

- Hành động định hướng: lái (drive),…

- Tương tác: nói tới (talk to),…

- Sử hữu: có (have), là một phần của (part of),…

- Hoặc thoả mãn điều kiện: làm việc cho (work for), quản lý (manage),…

Quan hệ giữa liên kết và cài đặt: Trong bước phân tích, một quan hệ liên kết

không phải là một phát biểu về dòng dữ liệu và các biến đối tượng hay các liên kết đối tượng trong giải pháp phần mềm Quan hệ liên kết có thể được cài đặt bằng nhiếu cách, nhưng các quyết định đó không thực hiện trong bước phân tích để đảm bảo tính tự do của thiết kế sau này

Khi tạo ra một mô hình khái niệm, ta có thể định nghĩa nhiều quan hệ liên kết không cần thiết cho quá trình xây dựng Ngược lại, có thể phát hiện các quan hệ liên kết cần thiết cho cài đặt nhưng không có trong pha phân tích Trong các trường hợp đó,

mô hình khái niệm phải được cập nhật lại

e Quan hệ kết tập (Shared Aggregation)[6]

Quan hệ kết tập là một dạng đặc biệt của quan hệ liên kết, biểu diễn mối quan hệ toàn thể – bộ phận Nếu như quan hệ liên kết giữa hai lớp chỉ ra một mối quan hệ mang tính cấu trúc giữa hai thành phần ngang hàng, có nghĩa là cả hai lớp ở cùng một cấp độ, không lớp nào quan trọng hơn lớp nào Đôi khi chúng ta muốn mô hình hoá một đối tượng toàn thể và các thành phần của nó, chẳng hạn ta muốn thể hiện Sinh viên là thành viên của lớp học, hay các khoa là các bộ phận của một trường Kiểu quan

hệ này gọi là kết tập, thể hiện mối quan hệ “có”, “chứa trong”, “bao gồm”, “là một phần của”

Trang 26

Biểu diễn quan hệ bao gồm được thể hiện bằng một đường thẳng nối giữa hai lớp, một đầu đường thẳng là một hình thoi rỗng để chỉ ra rằng lớp đó bao gồm của lớp kia

Hai tính chất của quan hệ kết tập:

Phản đối xứng (Antisymmtry): Nếu một đối tượng A quan hệ với một đối tượng B bằng một quan hệ kết tập thì B không thể quan hệ với A bằng quan hệ kết tập

đó Nói cách khác nếu B là một thành phần của A thì A không thể là một phần của B.[4]

Bắc cầu (Transitivity): Nếu A quan hệ với B bằng một quan hệ kết tập và

B quan hệ với C cũng bằng quan hệ kết tập đó thì A cũng có quan hệ với C

Khi nào cần chỉ ra quan hệ kết tập?

Thời gian “sống” của đối tượng bộ phận bị giới hạn trong thời gian sống của đối tượng kết tập nó Đây là phụ thuộc tạo/ xoá bỏ của đối tượng bộ phận trong đối tượng toàn bộ Đối tượng bộ phận không thể tồn tại bên ngoài thời gian tồn tại của đối tượng toàn bộ

Đây là một nhóm có quan hệ “toàn bộ - bộ phận” logic hoặc vật lý một cách rõ ràng

Một thuộc tính của đối tượng hợp được các đối tượng bộ phận thừa kế Các phép toán được áp dụng đối với đối tượng hợp cũng được thừa kế ở các đối tượng bộ phận như: huỷ bỏ, di chuyển, lưu trữ,…

Nếu không chắc chắn khi nào sử dụng quan hệ kết tập thì không để ý đến

nó mà chú trọng vào các quan hệ liên kết đơn giản Hầu hết lợi ích của việc phát hiện

và chỉ ra các quan hệ kết tập là dể liên hệ tới giải pháp cài đặt phần mềm

Quan hệ tụ hợp (Composition aggregation)[2]

Là một dạng đặc biệt của quan hệ kết tập nhưng nó chỉ ra rằng nếu đối tượng gộp (Aggregation) bị huỷ bỏ thì các đối tượng thành phần cũng bị huỷ bỏ Trong khi ở

1 n

Trường học

Khoa

Trang 27

quan hệ kết tập thì khi đối tượng gộp bị huỷ bỏ thì chỉ có các liên kết đến các thành phần của nó bị huỷ bỏ, các đối tượng thành phần khác vẫn tồn tại

Biểu diễn: Quan hệ tụ hợp được biểu diễn bằng một đường thẳng nối giữa hai lớp, một đầu là một hình thoi đặc để chỉ ra rằng lớp kia là một thành phần và phụ thuộc vào lớp này

g Quan hệ phụ thuộc (Dependency):[4]

Là quan hệ giữa hai phần tử mô hình có thể là các lớp hoặc các gói, nó chỉ ra rằng sự thay đổi của lớp này sẽ ảnh hưởng đến lớp kia

Quan hệ phụ thuộc thường được dùng trong các trường hợp sau:

- Một lớp sử dụng một biến toàn cục là đối tượng của lớp khác

- Trong phương thức của một lớp có khai báo một biến cục bộ là đối tượng của một lớp khác

- Trong phương thức của một lớp có tham số là đối tượng của một lớp khác

Biểu diễn: quan hệ phụ thuộc được biểu diễn bằng một đường nét đứt nối giữa hai phần tử mô hình với đầu mũi tên hướng vào phần tử phụ thuộc (phần tử mà phần tử kia phụ thuộc vào nó)

h Quan hệ tổng quát hoá (Generalization):

Là quan hệ mô tả mối quan hệ kế thừa Một lớp ở mức tổng quát hơn và các lớp chi tiết hơn kế thừa các thuộc tính và phương thức của nó, đồng thời có thêm các đặc điểm riêng của chúng

Quan hệ này còn được gọi là quan hệ “is - a- kind - of” Dùng quan hệ này khi muốn mô tả quan hệ cha - con Một lớp có thể không có cha, hay có một hoặc nhiều cha Một lớp không có cha và có một hoặc nhiều lớp con được gọi là lớp gốc hay lớp

cơ sở Lớp không có con được gọi là lớp lá Một lớp có đúng một cha được gọi là kế thừa đơn Lớp có nhiều cha được gọi là kế thừa bội

Ký pháp: Quan hệ tổng quát hoá được biểu diễn bằng một đường liền nét nối liền hai lớp, với một hình tam giác rỗng hướng vào lớp cha

Trang 28

i Quan hệ hiện thực (Realization)[9]

Quan hệ hiện thực dùng để mô tả quan hệ giữa A và B, trong đó A chỉ ra các ứng xử đặc trưng còn B sẽ thực hiện các ứng xử đó

Quan hệ này thường được dùng để thể hiện mối quan hệ giữa giao diện và lớp hoặc thành phần cung cấp phương thức hoặc dịch vụ cho nó hay mối quan hệ giữa một

ca sử dụng và một sự cộng tác để thực hiện ca sử dụng đó Một giao diện là một tập hợp các thuộc tính chỉ ra dịch vụ của lớp hoặc thành phần phải thực hiện nó

2.2.4 Các biểu đồ trong UML

Một biểu đồ là một biểu diễn đồ thị của một tập các phần tử (các từ vựng) thường được thể hiện như một đồ thị liên thông với các đỉnh (là các sự vật) và các cung (là các mối quan hệ) Có một số loại biểu đồ thường gặp trong thực tế phát triển phần mềm hướng đối tượng như sau:[4]

a Biểu đồ ca sử dụng (Use case diagram)

Biểu đồ ca sử dụng chỉ ra một số tác nhân và kết nối chúng với các ca sử dụng

mà hệ thống cung cấp Nó mô tả về chức năng mà hệ thống cung cấp, thể hiện bằng lời hoặc bằng biểu đồ ca sử dụng Như vậy nó định nghĩa các yêu cầu chức năng của hệ thống Các tác nhân không nhất thiết phải là con người mà cũng có thể là một hệ thống ngoài cần lấy hay truyền thông tin từ hệ thống hiện thời

Biểu đồ ca sử dụng là một công cụ cần thiết trong việc nắm bắt các yêu cầu, lên

kế hoạch và kiểm soát dự án lặp lại

b Biểu đồ lớp (class diagram)

Biểu đồ lớp chỉ ra tập hợp các lớp, các giao diện, các sự cộng tác và các mối quan hệ của chúng Người ta sử dụng biểu đồ lớp để mô hình hoá khung nhìn thiết kế

Trang 29

tĩnh của hệ thống Các lớp biểu diễn cho các sự vật được xử lý bên trong hệ thống Ta thường dùng biểu đồ lớp để:

 Mô hình hoá bảng từ vựng của hệ thống

 Mô hình hoá các sự cộng tác đơn giản

 Mô hình hoá cơ sở dữ liệu logic

Các lớp có thể có quan hệ với nhau theo một số cách như sau:

 Liên kết (lớp nọ nối với lớp kia)

 Phụ thuộc (1 lớp này phụ thuộc hay sử dụng lớp kia)

 Đặc biệt hoá (lớp này là một phần tử chuyên biệt của lớp kia)

 Đóng gói (nhiều lớp gộp lại)

Một hệ thống có nhiều biểu đồ lớp và ngược lại một biểu đồ lớp có thể có mặt ở nhiều hệ thống

c Biểu đồ đối tượng (object diagram)

Biểu đồ đối tượng chỉ ra tập hợp các đối tượng và các mối quan hệ của chúng Người ta sử dụng biểu đồ đối tượng để minh hoạ các cấu trúc dữ liệu, các thực thể của các lớp trong biểu đồ lớp Có thể coi biểu đồ đối tượng là một biến thể của biểu đồ lớp,

nó dùng các biểu diễn hầu hết giống biểu đồ lớp Biểu đồ đối tượng chỉ ra một số thể hiện đối tượng của lớp

d Biểu đồ tương tác (interaction diagram)

Biểu đồ tuần tự (sequece diagram) và biểu đồ cộng tác (collaboration diagram)

là hai dạng của biểu đồ tương tác

Biểu đồ tuần tự (sequence diagram)

Biểu đồ tuần tự chỉ ra sự tương tác giữa một số đối tượng Biểu đồ này nhấn mạnh đến trình tự thời gian của các thông báo được gửi đi giữa các đối tượng

Biểu đồ hợp tác (collaboration diagram)

Biểu đồ cộng tác chỉ ra sự hợp tác hành động, nó giống như biểu đồ tuần tự nhưng thường là sự lựa chọn để biểu thị sự tổ chức hợp tác của các đối tượng Nó là

Trang 30

một cách khác để thể hiện một tình huống có thể xảy ra trong hệ thống nhưng tập trung vào việc thể hiện việc trao đổi qua lại các thông báo giữa các đối tượng hơn là quan tâm đến thứ tự của thông báo đó Biểu đồ cộng tác nhấn mạnh tới tổ chức cấu trúc của các đối tượng gửi và nhận thông báo Qua biểu đồ này ta sẽ nhanh chóng biết được giữa hai đối tượng cụ thể nào đó có trao đổi những thông báo gì cho nhau

Ta có thể sử dụng hai biểu đồ tương tác thay thế cho nhau và dùng để:

 Mô hình hoá các luồng điều khiển (sự kiện) theo trình tự thời gian

 Mô hình hoá các luồng điều khiển của tổ chức

e Biểu đồ trạng thái (statechart diagram)

Biểu đồ trạng thái biểu diễn một máy trạng thái Nó biểu diễn dòng điều khiển

từ trạng thái này tới trạng thái khác Nó nhấn mạnh dòng điều khiển từ hoạt động này đến hoạt động khác đang xảy ra bên trong một máy trạng thái

g Biểu đồ hoạt động (activity diagram)

Biểu đồ hoạt động là trường hợp đặc biệt của biểu đồ trạng thái Nó chỉ ra dòng điều khiển chính từ hoạt động này đến hoạt động khác, nó cũng bao gồm việc mô hình hoá các bước tuần tự (có thể là đồng thời) trong một tiến trình xử lý Biểu đồ trạng thái

và biểu đồ hoạt động biểu diễn khía cạnh động của hệ thống Chúng có thể dùng cho việc mô hình hoá vòng đời của một đối tượng Ta sẽ dùng biểu đồ hoạt động để:

 Mô hình hoá luồng công việc (có thể có rẽ nhánh, phân nhánh, sát nhập)

 Mô hình hoá một tác vụ (một thủ tục tính toán)

h Biểu đồ thành phần (component diagram)

Biểu đồ thành phần chỉ ra tập hợp các thành phần và các mối quan hệ của chúng Người ta sử dụng biểu đồ thành phần để mô tả cấu trúc phần mềm, các thành phần thực thi tĩnh của hệ thống Ta sử dụng biểu đồ thành phần để

 Mô hình hoá mã nguồn

 Mô hình hoá xuất phẩm có thể thực hiện được

 Mô hình hoá các cơ sở dữ liệu vật lý

 Mô hình hoá các hệ thống có thể làm thích ứng được

Trang 31

Hình 2.14: Một ví dụ về biểu đồ thành phần

i Biểu đồ bố trí (deployment diagram)

Biểu đồ bố trí mô hình hoá các khía cạnh vật lý của một hệ thống hướng đối tượng Nó biểu diễn cấu hình các nút xử lý đang vận hành và các thành phần hoạt động ở trên chúng Nó có thể còn bao gồm các nút và các ràng buộc Nó cũng hướng vào việc mô hình hoá sự phân tán, gửi đi và cài đạt các phần tạo nên hệ thống vật lý

Ta sẽ sử dụng biểu đồ bố trí để:

 Mô hình hoá các hệ thống nhúng

 Mô hình hoá các hệ thống máy khách/ máy dịch vụ

 Mô hình hoá các hệ thống phân tán đầy đủ

Một ví dụ về biểu đồ bố trí:

SQL server

Trang 32

Hình 2.15: Một ví dụ về biểu đồ bố trí

2.3 Các quy tắc của UML

Mô hình hoá một hệ thống không đơn giản là lắp ghép các khối được xây dựng của UML một cách ngẫu nhiên Giống như mọi ngôn ngữ, UML có một số quy tắc chỉ

ra rằng, một mô hình được xây dựng tốt là mô hình có một ngữ nghĩa chắc chắn và đồng bộ với tất cả mô hình có quan hệ với nó

UML đưa ra các quy tắc ngữ nghĩa sau đây:

- Tên gọi: là cái mà ta gọi các sự vật, các mối quan hệ và các biểu đồ

- Phạm vi: là khuôn khổ cho ý nghĩa cụ thể đối với một tên gọi

- Tính trực quan: cái tên này có thể nhìn thấy và được những phần tử khác sử dụng

- Tính tích hợp: các sự vật có thể liên kết với các sự vật khác như thế nào

- Tính thực hiện được: nó có ý nghĩa gì để vận hành và mô phỏng một mô hình động

Những nguyên tắc khác cần biết để xây dựng tốt các mô hình là:

- Sự lược đi: một số phần tử được dấu đi làm đơn giản việc nhìn nhận mô hình

- Sự không đầy đủ: một số phần tử có thể tạm bỏ qua

- Sự không chắc chắn: sự tích hợp của mô hình có thể chưa đảm bảo

2.4.Các cơ chế chung

UML cũng cung cấp bốn cơ chế chung để áp dụng trong khi mô hình hoá, đó là:

Trang 33

- Các đặc tả: UML cung cấp một cách diễn tả vượt trội bằng văn bản theo cú

pháp và ngữ nghĩa của khối đồ hoạ sử dụng, ví dụ như một tập đầy đủ các thuộc tính, các tác vụ và các hành vi mà lớp đó chứa Nhờ vậy ta dùng các kí pháp đồ họa để làm trực quan hoá hệ thống, dùng các đặc tả của UML để chỉ ra các chi tiết của hệ thống

- Các bài trí: hầu hết các phần tử trong UML, đều có biểu diễn đồ họa duy nhất,

trực tiếp để cung cấp một sự thể hiện trực quan về các khía cạnh quan trọng nhất của phần tử đó Ví dụ, biểu diễn về lớp cũng đưa ra các khía cạnh quan trọng nhất của một lớp, như tên, thuộc tính, các tác vụ của nó

- Các phân hoạch chung:

Cách 1: đó là sự phân hoạch của lớp và đối tượng Một lớp là một trừu tượng, đối

tượng là một biểu hiện của lớp đó Hầu hết mọi khối xây dựng trong UML cùng một loại đều thuộc lớp hay đối tượng UML thường phân biệt lớp và đối tượng của lớp đó bằng cách gạch chân tên của đối tượng

Cách 2: Đó là sự phân chia giữa giao diện và triển khai một giao diện, khai báo hợp

đồng và sự thực thi hợp đồng để thể hiện việc thi hành cụ thể của hợp đồng Trong UML, ta có thể mô hình hoá cả giao diện và sự triển khai, như minh hoạ ở hình dưới

đây, có một thành phần được gọi là Spellingwizard.dll thực hiện giao diện IUnknow và

ISpelling

Hình 2.16: Giao diện và sự triển khai

- Các cơ chế khả năng mở rộng: UML cung cấp ngôn ngữ chuẩn để viết các bản

thiết kế phần mềm, nhưng nó không đủ để diễn đạt mọi sắc thái có thể có của các mô hình trong mọi lĩnh vực và trong mọi thời điểm Vì thế, UML được thiết kế mở cho phép nó có khả năng mở rộng theo cách có thể quản lý được Các cơ chế dùng để mở rộng là: các khuôn mẫu, các giá trị thẻ, các ràng buộc

IUnknow

ISpelling

Spellingwizard.dll

Trang 34

Sự mở rộng từ vựng của ngôn ngữ của UML cho phép tạo ra các khối xây dựng mới từ các khối có sẵn để cụ thể cho vấn đề của ta bằng cách thêm vào biểu diễn khuôn mẫu, giá trị thẻ hay ràng buộc

2.5 ứng dụng của UML

UML không chỉ là công cụ mạnh trợ giúp phát triển các hệ thống phần mềm quy

mô lớn, phức tạp mà còn trợ giúp phát triển nhiều các hệ thống khác, tổ chức các

hệ kinh doanh, các hệ kỹ thuật

chương 3 ứng dụng UML để xây dựng mô hình cho

hệ thống quản lý đào tạo

Trang 35

3.1 Phát biểu bài toán

Quản lý đào tạo là một hoạt động không thể thiếu được trong tất cả các trường học Đây là một hoạt động nhằm quản lý hệ thống đào tạo trong các trường Việc quản

lý hàng ngàn thậm chí còn nhiều hơn nữa hồ sơ, sổ sách, giấy tờ là một công việc rất phức tạp mà nếu làm bằng tay thì có thể có rất nhiều sai sót Việc xây dựng một chương trình để quản lý các hồ sơ sinh viên và các hoạt động liên quan đến đào tạo trong một trường đại học là một việc làm cấp thiết Và để có một chương trình tốt, trước hết ta phải nắm bắt một cách chính xác các yêu cầu, từ đó xây dựng nên một mô hình tốt Luận văn này đề cập đến việc sử dụng UML để nắm bắt các yêu cầu và tiến hành các phân tích và thiết kế mô hình cho hệ thống quản lý đào tạo trong một trường đại học

3.2 Mô tả nghiệp vụ

3.2.1 Các chức năng nghiệp vụ

Có thể hình dung công việc quản lý đào tạo đại học bao gồm những công việc

cụ thể như sau:

 Quản lý tuyển sinh: là quản lý thi tuyển đầu vào cho mỗi cơ sở đào tạo Trước

tiên thí sinh nộp hồ sơ xin thi tuyển, bộ phận xử lý hồ sơ phải tiếp nhận và xử lý Trên

cơ sở số hồ sơ đã xử lý, tiến hành đánh số báo danh, chuẩn bị phòng thi, xếp phòng Thí sinh thi xong, nộp bài phải có bộ phận kiểm bài, đánh phách, chia túi, khi giáo viên chấm điểm xong thì cần nhập điểm bài thi, tổng hợp kết quả thi theo yêu cầu đề ra Cuối cùng căn cứ vào kết quả điểm thi mà quyết định danh sách tuyển chọn

 Quản lý sinh viên: bao gồm việc lưu trữ, cập nhật, tìm kiếm, thống kê hồ sơ

sinh viên

Hồ sơ sinh viên được quản lý riêng, phân chia thành từng khoá, từng ngành, từng lớp Kho hồ sơ lưu toàn bộ thông tin về sinh viên Các thông tin được phân vùng theo chủ đề Toàn bộ thông tin trong hồ sơ của mỗi học viên có thể được in thành quyển và dùng làm hồ sơ sinh viên khi ra trường Hồ sơ cần tổ chức sao cho có thể cập nhật dễ dàng , tìm kiếm theo yêu cầu một cách nhanh chóng

Trang 36

 Quản lý chương trình đào tạo bao gồm toàn bộ quá trình cập nhật ngành đào

tạo, hệ đào tạo, cập nhật môn học, xác lập chương trình đào tạo cho mỗi lớp và lập lịch thực hiện Những người quan tâm tới chương trình đào tạo có thể xem chương trình đào tạo đó và những chương trình đào tạo có thể được sao lưu lại, in ấn nếu cần thiết

 Quản lý học tập là toàn bộ các hoạt động quản lý quá trình học tập của sinh

viên

Quản lý học tập bao gồm quản lý khoá học, quản lý lớp học, quản lý chương trình học, mở lớp, lập lịch thi, lập danh sách thi, cập nhật điểm thi đi, thi lại, lên danh sách thi lại, giám sát, cập nhật học bạ, duy trì sổ điểm cùng rất nhiều chi tiết khác

 Quản lý tài chính bao gồm thu học phí, phát học bổng, trợ cấp khó khăn

Thu học phí, cấp học bổng, trợ cấp là những công việc mà cơ sở đào tạo nào cũng phải tính tới Với mỗi cơ sở đào tạo đều duy trì một hệ thống quy chế ưu tiên riêng, vì vậy quản lý tài chính phải đảm nhiệm nhiệm vụ quản lý tài chính cơ bản dựa trên một khung quy chế được thiết kế mềm dẻo

 Quản lý tốt nghiệp: dựa vào các tiêu chuẩn để xét tốt nghiệp mà đưa ra danh

sách sinh viên đủ điều kiện tốt nghiệp cũng như danh sách sinh viên không đủ điều kiện tốt nghiệp Tổ chức việc thi tốt nghiệp, làm đồ án khoá luận cuối khoá, làm hồ sơ công nhận tốt nghiệp Khi phát bằng tốt nghiệp cho sinh viên thì lưu thông tin đã phát bằng tốt nghiệp cho học viện

Dưới đây đưa ra một danh sách các chức năng của mỗi hoạt động trên:

Bảng3.1 Hệ thống các chức năng của hoạt động đào tạo

năng

Giải thích

Trang 37

R2.3 CNĐKDT Cập nhật hồ sơ đăng ký dự thi

Trang 38

R5.1.2 PCGD Phân công giảng dạy

nghiệp

Trang 39

hướng dẫn, điểm, )

đăng ký dự thi và nộp cho ban tuyển sinh để làm thủ tục dự thi

thi

thí sinh

phòng thi

thi Mỗi bài thi có một phách để đảm bảo bí mật

sinh

Trang 40

sinh nào đó Khi chưa lên danh sách, điểm thi được xác định bằng môn thi, số phách, cụm thi

trung tại một thời điểm Phòng thi được xác định bằng phòng thi số bao nhiêu, địa điểm,

đào tạo (CTĐT)

CTĐT chỉ ra khối kiến thức của CTĐT, tổng thời lượng của CTĐT, thời lượng của mỗi khối kiến thức, đưa ra những môn học với thời lượng

cụ thể trong từng khối kiến thức cụ thể

chức, tập trung hay từ xa,

kiện tiên quyết, yêu cầu đạt được, thời gian học

một lần

xét cấp học bổng cho sinh viên xuất sắc

địa điểm thi

điểm

cấp

khoá luận tốt nghiệp cũng như các điều kiện khác

Ngày đăng: 18/08/2015, 06:15

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Đoàn Văn Ban (1997), Phân tích thiết kế và lập trình hướng đối tượng, tr23-35 NXB Thống Kê Sách, tạp chí
Tiêu đề: Phân tích thiết kế và lập trình hướng đối tượng, tr23-35
Tác giả: Đoàn Văn Ban
Nhà XB: NXB Thống Kê
Năm: 1997
[3]. Đặng Văn Đức (2002), Phân tích thiết kế hướng đối tượng bằng UML, NXB Giáo dục Sách, tạp chí
Tiêu đề: Phân tích thiết kế hướng đối tượng bằng UML
Tác giả: Đặng Văn Đức
Nhà XB: NXB Giáo dục
Năm: 2002
[4]. Nguyễn Văn Vỵ (2002), Phân tích thiết kế các hệ thống thông tin hiện đại, chương 15, NXB Thống Kê Sách, tạp chí
Tiêu đề: Phân tích thiết kế các hệ thống thông tin hiện đại, chương 15
Tác giả: Nguyễn Văn Vỵ
Nhà XB: NXB Thống Kê
Năm: 2002
[5]. Lê Minh Trí, (2002), JavaScipt, tập 2, NXB trẻ. Tiếng Anh Sách, tạp chí
Tiêu đề: JavaScipt
Tác giả: Lê Minh Trí
Nhà XB: NXB trẻ. Tiếng Anh
Năm: 2002
[6].Grady Booch, James Rumbaugh, Ivar Jacobson, 1999), The Unifiel Modelling Language user Guide, Addison- Wesley, 482pp Sách, tạp chí
Tiêu đề: The Unifiel Modelling Language user Guide
[7]. Boggs, W., and Boggs, W., (1999), Matering UML with Rational Rose, Sybex, 957pp Sách, tạp chí
Tiêu đề: Matering UML with Rational Rose
Tác giả: Boggs, W., and Boggs, W
Năm: 1999
[8]. Craig Larman, (1998), Applying UML and Patterns, Prentice Hall PTR, 507pp Sách, tạp chí
Tiêu đề: Applying UML and Patterns
Tác giả: Craig Larman
Năm: 1998
[9]. Eriksson, H.E., (1998), UML Toolkit, Wiley Computer, 397pp Sách, tạp chí
Tiêu đề: UML Toolkit
Tác giả: Eriksson, H.E
Năm: 1998
[10]. Jacobson, Ivar, Grady Booch, and Jame Rumbaugh, (1999), The Unified Software Development Process, Addison Wesley Longman, 463pp Sách, tạp chí
Tiêu đề: The Unified Software Development Process
Tác giả: Jacobson, Ivar, Grady Booch, and Jame Rumbaugh
Năm: 1999
[11]. Ivar Jacobson, Magnus Christerson, Patrik Jonsson, and Gunnar Evergaard, (2000), Object Oriented Softward Engineering, Use Case Drive Approach, Wokingham, England, Addison Wesley, 245pp Sách, tạp chí
Tiêu đề: Object Oriented Softward Engineering, Use Case Drive Approach
Tác giả: Ivar Jacobson, Magnus Christerson, Patrik Jonsson, and Gunnar Evergaard
Năm: 2000
[12]. Mughal, K.A., and Rasmussen, R.W., (2000), A.Programmer’s Guide to Java TM Certification, Ađion – Wesley Sách, tạp chí
Tiêu đề: A.Programmer’s Guide to Java"TM"Certification
Tác giả: Mughal, K.A., and Rasmussen, R.W
Năm: 2000
[13]. Trainee’s Material, (1997), Internet and Java, First Edition Sách, tạp chí
Tiêu đề: Internet and Java
Tác giả: Trainee’s Material
Năm: 1997
[14] . Zhiming Liu, (2001), Object Oriented Software Development Using UML, The United Nations University UNU/IIST Sách, tạp chí
Tiêu đề: Object Oriented Software Development Using UML
Tác giả: Zhiming Liu
Năm: 2001
[15] Bernd Oestereich, (1999), Developing Software with UML. Object Oriented Analysis and design in practice, Addison Wesley Sách, tạp chí
Tiêu đề: Developing Software with UML. Object Oriented Analysis and design in practice
Tác giả: Bernd Oestereich
Năm: 1999
[2]. Đoàn Văn Ban (2003), Phân tích, thiết kế hướng đối tượng bằng UML,tr19-27 Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w