1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu BÀI 1: GIỚI THIỆU UML ppt

8 649 3
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài 1: Giới thiệu UML
Thể loại Bài giảng ppt
Định dạng
Số trang 8
Dung lượng 591,55 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dung chính trong bài học: + Tại sao UML là cần thiết + UML hình thành như thế nào + Các loại sơ đồ diagram khác nhau của UML + Tại sao cần thiết phải sử dụng nhiều loại diagram khác

Trang 1

BÀI 1:

GIỚI THIỆU UML

UML là viết tắt của Unified Modeling Language (ngôn ngữ mô hình hóa thống nhất) Đó là một trong các công cụ nổi bật nhất trong việc phát triển hệ thống ngày nay Tại sao vậy? UML cho phép người xây dựng hệ thống không chỉ tạo ra các bản thiết kế chứa đựng những cái nhìn/nhận thức của họ theo một cách dễ hiểu và chuẩn xác mà còn có thể truyền đạt với nhau về chúng

Nội dung chính trong bài học:

+ Tại sao UML là cần thiết

+ UML hình thành như thế nào

+ Các loại sơ đồ (diagram) khác nhau của UML

+ Tại sao cần thiết phải sử dụng nhiều loại diagram khác nhau

Thuật ngữ: trong giáo trình này, hệ thống (system) được xem là sự kết hợp giữa phần mềm (software) và phần cứng (hardware) nhằm cung cấp một giải pháp cho một vấn đề Phát

triển hệ thống (system development) là việc tạo ra một hệ thống cho khách hàng, người có

vấn đề cần giải quyết Một phân tích viên (analyst) tài liệu hóa vấn đề của khách hàng và chuyển nó sang người phát triển (developer), lập trình viên (programmer) để xây dựng

phần mềm giải quyết vấn đề và triển khai phần mềm trên phần cứng máy tính

UML hình thành như thế nào

UML là sản phẩm trí óc của Grady Booch, James Rumbaugh và Ivar Jacobson Trong những năm từ 80 đến 90, mỗi người trên làm việc tại những tổ chức khác nhau và phát minh phương pháp phân tích thiết kế hướng đối tượng riêng của mình Những phương pháp của

họ đạt được tính ưu việt hơn so với nhiều phương pháp khác Đến giữa những năm 90, họ bắt đầu mượn ý tưởng của nhau và dần tiến đến hợp tác cùng nhau

Năm 1994, Rumbaugh gia nhập Rational Rose Corporation cùng với Booch và sau đó một năm thì Jacobson cũng cùng gia nhập

Phiên bản khởi đầu của UML bắt đầu được truyền bá khắp ngành công nghiệp phần mềm và đem lại những thay đổi đáng kể Nhiều công ty phần mềm cảm thấy rằng UML đáp ứng được mục tiêu chiến lược của họ, do vậy một liên minh tạm thời được dựng lên Các thành viên của liên minh gồm EDC, Hewlett-Packard, Intellicorp, Microsoft, Oracle, Texas Instruments, Rational và một số khác Đến năm 1997, liên minh cho ra đời version 1.0 của UML và đệ trình nó lên Tổ chức quản lý đối tượng (Object Management Group – OMG) để trở thành ngôn ngữ mô hình hóa chuẩn

Trang 2

Liên minh tiếp tục cho ra version 1.1 và đưa nó đến OMG cuối năm 1997 Vào 1998, có thêm 2 version nữa của UML được tạo ra UML trở thành một tiêu chuẩn trong công nghiệp phần mềm và nó không ngừng phát triển

Các thành phần của của UML

UML bao gồm một số thành phần đồ họa kết hợp với nhau hình thành nên các sơ đồ (diagram) Do là một ngôn ngữ, UML có những qui tắc cho việc kết hợp các thành phần này Việc giới thiệu cho tiết về các thành phần cũng như các qui tắc sẽ thực hiện sau, chúng

ta cùng hiểu sơ qua về các diagram bởi chúng sẽ được dùng cho phân tích hệ thống

Thuật ngữ: Mục tiêu của các diagram là trình bày những cái nhìn (view) khác nhau về một

hệ thống và tập hợp các view được gọi là mô hình (model) Một mô hình UML của một hệ

thống Chú ý rằng UML mô tả những cái mà một hệ thống được giả định thực hiện Nó không cho biết cách thức thực hiện hệ thống

Sơ đồ đối tượng (Object Diagram)

Thuật ngữ: Các vật được phân chia một cách tự nhiên thành các nhóm (automobile,

furniture, washing machines, …) Chúng ta gọi các nhóm này là lớp (class) Một class là

một nhóm các vật có cùng thuộc tính (attribute) và hành vi (behavior) Ví dụ, Bất cứ máy giặt nào thuộc lớp “washing machines” đều có các thuộc tính như tên hiệu, model, số serial,

và sức chứa Hành vi của chúng gồm “add clothes”, “add detergent”, “turn on” và “remove clothes”

Hình 1.1

Biểu tượng class của UML

Tại sao cần bận tâm về các class và các thuộc tính, hành vi của chúng? Để tương tác với thế giới phức tạp của chúng ta, các phần mềm hiện nay cần mô phỏng một số khía cạnh của thế giới thực Class diagram trợ giúp về mặt phân tích Chúng cho phép các phân tích viên nói chuyện với khách hàng với những ngôn từ của họ và từ đó khuyến khích khách hàng trình bày các chi tiết quan trọng của vấn đề họ gặp phải

Sơ đồ đối tượng (Object diagram)

Thuật ngữ: Một đối tượng (object) là một thể hiện của một class - một vật cụ thể có các giá

trị cụ thể cho các thuộc tính và hành vi Ví dụ, cái máy giặt của bạn có nhãn hiệu là

“Laundatorium”, tên đời là “Washmeister”, số serial là GL57774 và sức chứa là 16 kg Đó chính là một đối tượng

Trang 3

Hình 1.2 cho thấy UML biểu diễn một object Chú ý rằng biểu tượng là một hình chữ nhật như biểu tượng class, nhưng tên gạch dưới Tên của một thể hiện cụ thể nằm bên trái dấu :, còn tên class nằm bên phải

Hình 1.2

Biểu tượng object của UML

Sơ đồ tình huống ứng dụng (Use Case Diagram)

Thuật ngữ: Một tình huống ứng dụng (use case) là một mô tả về một hành vi của hệ thống

từ quan điểm người dùng Đối với người phát triển hệ thống, đây là một công cụ có giá trị:

nó là một kỹ thuật thử-và-đúng (tried-and-true technique) cho việc thu thập yêu cầu hệ thống từ quan điểm người dùng Điều đó rất quan trọng nếu mục tiêu là xây dựng một hệ thống mà con người thực có thể sử dụng

Chúng ta sẽ tìm hiểu sâu hơn về use case sau này Bây giờ, hãy xem ví dụ hình 1.3, chúng ta dùng máy giặt rõ ràng để giặt áo quần

Hình 1.3

Sơ đồ use case của UML

Thuật ngữ: Hình nhân (stick) nhỏ tượng trưng cho người dùng máy giặt được gọi là tác

nhân (actor) Hình ellipse biểu diễn use case Chú ý rằng actor–thực thể kích hoạt use case–

có thể là con người hoặc một hệ thống khác

Sơ đồ trạng thái (State Diagram)

Tại thời điểm nào thì một object cũng phải có một trạng thái xác định Một người có thể là

sơ sinh, đứa bé còn ẵm ngửa, trẻ em, thiếu niên hoặc trưởng thành Một thang máy có thể đang đi lên, đi xuống hoặc đứng yên Một máy giặt có thể đang ngâm (soak), giặt (wash), giũ (rinse), vắt (spin) hoặc không hoạt động

Sơ đồ trạng thái hình 1.4 cho thấy máy giặt dịch chuyển giữa các trạng thái Biểu tượng tại đầu diagram là trạng thái bắt đầu (start state) còn ở cuối là trạng thái kết thúc (end state)

Trang 4

Hình 1.4

Sơ đồ trạng thái của UML

Sơ đồ trình tự (Sequence Diagram)

Class diagram và object diagram biểu diễn thông tin tĩnh Trong một hệ thống chức năng, các object luôn tương tác lẫn nhau Sơ đồ trình tự của UML (sequence diagram) biểu diễn

sự tương tác theo thời gian

Tiếp tục với ví dụ máy giặt, các thành phần của máy gồm một ống cấp nước (cấp nước sạch), một trống giặt (chứa áo quần) và một ống thoát Chúng dĩ nhiên cũng là các object Điều gì xảy ra khi ta kích hoạt use case “wash clothes”? Giả sử ta đã hoàn tất các hoạt động

“add clothes”, “add detergent” và “turn on”, chuỗi các bước tiến hành sẽ như sau:

1 Nước vào trống thông qua ống cấp

2 Trống đứng yên trong 5 phút

3 Nước ngừng cấp

4 Trống quay ngược và xuôi trong 15 phút

5 Nước xà phòng thoát ra thông qua ống thoát

6 Nước sạch được cấp lại

7 Trống tiếp tục quay ngược và xuôi

8 Nước ngừng cấp

9 Nước vắt thoát ra thông qua ống thoát

10 Trống quay 1 chiều nhanh dần trong vòng 5 phút

11 Trống ngừng quay và việc giặt hoàn tất

Hình 1.5 biểu diển sequence diagram ghi nhận các tương tác giữa cấp nước, trống giặt và ống thoát (biểu diễn bằng các hình chữ nhật phía trên) diễn ra theo thời gian Thời gian trong diagram trôi theo chiều từ trên xuống

Trang 5

Hình 1.5

Sơ đồ trình tự của UML

Trở lại ý tưởng về trạng thái, chúng ta có thể phân chia các bước 1 và 2 là trạng thái ngâm, các bước 3 và 4 là trạng thái giặt, các bước 5-7 là trạng thái giũ và bước 8-10 là trạng thái vắt

Sơ đồ hoạt động (Activity Diagram)

Các hoạt động xuất hiện trong một use case hoặc trong một hành vi của object thường diễn

ra theo một trình tự như 11 bước ở ví dụ trên Hình 1.6 cho thấy cách sơ đồ hoạt động UML biểu diễn các bước 4-6 của trình tự

Hình 1.6

Sơ đồ hoạt động của UML

Sơ đồ cộng tác (Collaboration Diagram)

Các thành phần của hệ thống làm việc với nhau để hoàn thành mục tiêu đặt ra và một ngôn ngữ mô hình hóa cần có cách biểu diễn sự hợp tác này Sơ đồ cộng tác UML được thiết kế cho mục tiêu trên, như hình 1.7 Ví dụ này thêm bộ đếm thời gian (internal timer) trong tập class tạo nên máy giặt Sau một khoảng thời gian nhất định, timer dừng việc cấp nước và trống giặt xoay ngược xuôi

Hình 1.7

Sơ đồ cộng tác của UML

Trang 6

Sơ đồ thành phần (Component Diagram)

Sơ đồ này và tiếp theo thoát khỏi máy giặt bởi sơ đồ thành phần (component diagram) và sơ

đồ triển khai (deployment diagram) hướng biểu diễn sang các hệ thống máy tính

Việc phát triển các phần mềm ngày nay tiến hành thông qua các thành phần phù hợp với cách thức lập trình theo nhóm

Hình 1.8

Sơ đồ thành phần của UML

Sơ đồ triển khai (Deployment Diagram)

Sơ đồ triển khai cho biết kiến trúc vật lý của một hệ thống dựa trên máy tính Nó vẽ nên các máy tính và thiết bị, cho thấy các kết nối giữa chúng và cho biết phần mềm trên mỗi máy Mỗi máy tính được biểu diễn bởi một khối lập phương với các đường nối giữa các máy tính

Hình 1.9

Sơ đồ triển khai của UML

Một số tính năng khác

UML cung cấp một số tính năng khác cho phép tổ chức và mở rộng các diagram

Gói (package)

Thuật ngữ: Khi cần tổ chức các thành phần của một diagram vào trong một nhóm (group),

ta đưa chúng vào trong một package, biểu diễn như hình 1.10

Hình 1.10

Gói UML cho phép

nhóm các thành phần

của một diagram

Trang 7

Ghi chú (Note)

Thuật ngữ: Ghi chú (note) của UML giúp tránh một thành phần nào đó trong diagram bị

hiểu nhầm

Hình 1.11

Trong bất cứ diagram

nào, ta cũng có thể thêm

các ghi chú

Mẫu (Stereotype)

Thuật ngữ: Mẫu (stereotype) cho phép dùng các thành phần UML sẵn có để chế biến ra

những cái mới

Thuật ngữ: Khái niệm giao diện (interface) là một ví dụ tốt cho stereotype Một interface là

một class chỉ có operation mà không có attribute Nó chính là một tập các hành vi mà ta muốn dùng lại nhiều lần trên khắp mô hình Thay vì nghĩ ra một thành phần mới để biểu diễn một interface, ta có thể dùng một biểu tượng class với <<interface>> gắn phía trên tên class

Hình 1.12

Một stereotype cho phép

tạo một thành phần mới

từ những cái sẵn có

Tại sao cần thiết phải sử dụng nhiều loại diagram khác nhau?

Thuật ngữ: Một hệ thống có nhiều người quan tâm với nhiều khía cạnh khác nhau, họ được

gọi là stakeholder

Việc thiết kế hệ thống liên quan đến tất cả các khía cạnh (viewpoint) có thể có Mỗi UML diagram cho ta một cách tạo nên một cái nhìn cụ thể nhằm thỏa mãn mỗi loại stakeholder

Tóm lược

Việc phát triển hệ thống là một hoạt động mang tính con người Nếu thiếu một hệ thống ký hiệu dễ hiểu thì quá trình phát triển dễ sinh lỗi

UML là một hệ thống ký hiệu đã trở thành một chuẩn trong việc phát triển hệ thống Nó là phát minh của Grady Booch, James Rumbaugh và Ivar Jacobson UML bao gồm một tập

Trang 8

các diagram để cung cấp một chuẩn cho phép các phân tích viên hệ thống xây dựng một bản thiết kế đa diện dễ hiểu đối với khách hàng, lập trình viên hay bất cứ ai liên quan đến quá trình phát triển hệ thống Lý do cần thiết có nhiều loại diagram khác nhau vì mỗi loại dành cho một stakeholder khác nhau trong hệ thống

Câu hỏi:

1 Tại sao cần thiết phải có nhiều diagram khi mô hình hóa một hệ thống?

2 Những diagram nào cung cấp các nhìn tĩnh (static view) về hệ thống?

3 Những diagram nào cung cấp các nhìn động (dynamic view) về hệ thống (biểu diễn

sự thay đổi theo thời gian)?

Bài tập:

1 Giả sử bạn đang xây dựng một chương trình máy tính chơi cờ vui với người Các sơ

đồ UML nào cần thiết trong quá trình thiết kế? Vì sao?

2 Đối với hệ thống ở bài tập trên, liệt kê các câu hỏi mà bạn sẽ đặt ra với những người cần thiết và tại sao bạn lại hỏi họ

Ngày đăng: 19/01/2014, 06:20

TỪ KHÓA LIÊN QUAN

w