Cỏc loại lớp trong sơ đồ lớp

Một phần của tài liệu các mô hình trong phân tích thiết kế theo hướng đối tượng và ứng dụng (Trang 36 - 90)

ạ Lớp tham số húa

Lớp tham số húa (Parameterized Class) là lớp đƣợc sử dụng để tạo ra một họ cỏc lớp khỏc. Trong những ngụn ngữ lập trỡnh cú kiểu mạnh nhƣ C++, lớp tham số húa chớnh là lớp mẫu (template class). Trong UML, cú thể khai bỏo lớp tham số húa (lớp mẫu) Set cho họ cỏc lớp cú cỏc phần tử là kiểu T bất kỳ, đƣợc xem nhƣ là tham số.

30 Vớ dụ:

Hỡnh 2.8. Lớp được tham số húa b. Lớp hiện thực

Lớp hiện thực (Instantiated Class) là loại lớp tham số húa mà đối số cú nú là một kiểu trị cụ thể. Nhƣ vậy, lớp tham số húa là khuụn để tạo ra cỏc lớp hiện thực.

Vớ dụ: Lớp Set<Complex> tập cỏc số phức (Complex) là lớp hiện thực đƣợc biểu diễn trong UML:

Hỡnh 2.9. Lớp thực hiện húa c. Lớp tiện ớch

Lớp tiện ớch (Class Utility) là tập hợp cỏc thao tỏc đƣợc sử dụng nhiều nơi trong hệ thống, chỳng đƣợc tổ chức thành lƣớp tiện ớch để cỏc lớp khỏc cú thể cựng sử dụng. Trong sơ đồ, lớp tiện ớch đƣợc thể hiện bằng lớp cú đƣờng viền búng.

Hỡnh 2.10.(a).Lớp tiện ớch (b) Giao diện d. Giao diện

Giao diện (Interface) là tập những thao tỏc quan sỏt đƣợc từ bờn ngoài của một lớp và/hoặc một thành phần, và khụng cú nội dung cài đặt của riờng

Set Insert(T e) Remove(T e) T Set <Complex> Insert(Complex e) Remove(Complex e)

31

lớp đú. Giao diện thuộc quan sỏt logic và cú thể xuất hiện trong cả sơ đồ lớp và sơ đồ thành phần với ký hiệu đồ họạ

ẹ Siờu lớp

Siờu lớp (MetaClass) là lớp để tạo ra cỏc lớp khỏc, nghĩa là thể hiện của nú là lớp chứ khụng phải là đối tƣợng. Lớp tham số húa chớnh là một loại siờu lớp.

2.3.3.2. uy trỡnh phỏt triển cỏc lớp đối tượng và sơ đồ lớp cú mối quan hệ chủ yếu

Cú sỏu cỏch chớnh để tỡm cỏc lớp đối tƣợng”

- Dựa vào văn bản, kịch bản mụ tả bài toỏn: cỏc danh từ cú thể là cỏc đại biểu của lớp.

- Dựa vào danh sỏch phõn loại cỏc phạm trự khỏi niệm. - Dựa vào mục đớch của cỏc ca sử dụng.

- Dựa vào kinh nghiệm và kiến thức của ngƣời phõn tớch, - Dựa vào hồ sơ tài liệu những hệ thống cú liờn quan. - Dựa vào ý kiến tham khảo với cỏc chuyờn gia hệ thống.

Việc phõn tớch dựa vào mục đớch của cỏc ca sử dụng để xỏc định lớp cỏc đối tƣợng đƣợc tiến hành theo năm bƣớc:

Bước 1: Xỏc định mục đớch của mỗi ca sử dụng

Để xỏc định cỏc mục đớch, chỳng ta phải tỡm cỏch trả lời những cõu hỏi sau:

- Mục tiờu của ca sử dụng là gỡ?

- Ca sử dụng này cung cấp những dịch vụ nàỏ

- Những giỏ trị hay những đỏp ứng nào mà ca sử dụng cú thể cung cấp. Vớ dụ: Sơ đồ mụ tả ca sử dụng “Đăng ký mụn học” và hai tỏc nhõn: Bộ phận tiếp nhận và Phũng đào tạọ Mục đớch của Bộ phận tiếp nhận là nhận

32

đƣợc phiếu đăng ký mụn học mới của sinh viờn, cũn mục đớch của Phũng đào tạo là cú bản sao của phiếu đăng ký đú.

Hỡnh 2.11. Sơ đồ ca sử dụng “Đăng ký mụn học” Bước 2: Dựa vào cỏc mục đớch để xỏc định cỏc thực thể (lớp)

Dựa vào cỏc cõu hỏi sau để xỏc định cỏc thực thể/lớp cho mỗi ca sử dụng:

- Những thực thể nào là cần thiết và quan trọng để thực hiện đƣợc mục đớch của ca sử dụng?

- Những thuộc tớnh nào của thực thể là cần thiết và quan trọng để thực hiện đƣợc mục đớch của ca sử dụng?

Vớ dụ: Để cú phiếu đăng ký mụn học thỡ phải cú sự tham gia của cỏc thực thể: mụn học, sinh viờn và phiếu ghi danh (trả lời cõu hỏi thứ nhất). Mụn học phải cú thuộc tớnh: mó số của khúa học, tờn mụn học, sinh viờn phải cú thuộc tớnh: mó SV, học tờn và phiếu ghi danh cú: mó phiếu, ngày ghi danh,… (trả lời cõu hỏi thứ hai). Từ cỏc mục đớch, chỳng ta xỏc định đƣợc cỏc lớp và cỏc thuộc tớnh tƣơng ứng nhƣ sau:

Hỡnh 2.12. Ca sử dụng “Đăng ký mụn học”và cỏc thực thể liờn quan

Đăng ký mụn học

Bộ phận tiếp nhận

Phiếu đăng ký mụn học mới

Bản sao của phiếu đăng ký mụn học mới Phũng đào tạo Đăng ký mụn học Bộ phận tiếp nhận Phiếu đăng ký mụn học mới

Bản sao của phiếu đăng ký mụn học mới Phũng đào tạo MonHoc maSo monHoc SinhVien maSV hoTen PhienGhiDanh maPhieu ngayGD

33

Bước 3: Xỏc định cỏc mối quan hệ chủ yếu (kết hợp) giữa cỏc lớp

Thụng qua cỏc cõu hỏi tỏc nhõn để xỏc định đƣợc mối liờn quan giữa cỏc lớp:

- Với mỗi thực thể, nú đƣợc sinh ra dựa vào hay bị phụ thuộc vào những thực thể khỏc? Nếu cú, nú phải tham chiếu tới những thực thể đú.

- Với mỗi thực thể, nú cú thể tỏc động vào hay bị tỏc động bởi những thực thể khỏc? Nếu cú nú phải tham chiếu tới những thực thể đú.

Vớ dụ: Phiếu ghi danh đƣợc sinh ra dựa vào sự lựa chọn mụn học của

sinh viờn. Một sinh viờn lại cú thể ghi danh nhiều mụn học, một mụn học

đƣợc nhiều sinh viờn ghi danh. Sự tham chiếu giữa cỏc lớp đƣợc biểu diễn bằng quan hệ kết hợp trong sơ đồ lớp nhƣ sau:

Hỡnh 2.13. Mối quan hệ giữa cỏc lớp

Bước 4: Xỏc định cỏc thao tỏc/hàm thành phần thể hiện sự cộng tỏc của cỏc lớp trong ca sử dụng.

Những thực thể liờn quan đến một ca sử dụng thỡ chỳng cộng tỏc với nhau để thực hiện một số cụng việc nhằm đạt đƣợc mục đớch của ca sử dụng. Những cụng việc đú chớnh là cỏc hàm thành phần của lớp.

Cú thể xỏc định đƣợc cỏc hàm thành phần của lớp thụng qua cỏc cõu hỏi cỏc tỏc nhõn nhƣ sau:

- Ca sử dụng này cần làm gỡ với mỗi thực thể liờn quan với nú? - Ca sử dụng này cần biết gỡ về mỗi thực thể liờn quan với nú?

- Mỗi thực thể liờn quan cú thể đúng gúp đƣợc gỡ trong ca sử dụng nàỷ Vớ dụ: Xột cỏc thực thể ởhỡnh 2.13.. MonHoc maSo monHoc PhieuGhiDanh maPhieu ngayGD MonHoc maSV hoTen 1 1 ..* 1 ..* 1

34

- Ca sử dụng gỏn maSV cho sinh viờn, nú cần biết về họ tờn của sinh viờn. Sinh viờn phải cho ca sử dụng biết học và tờn.

- Ca sử dụng cần phải biết mó số và tờn mụn học.

- Ca sử dụng tạo lập phiếu ghi danh mới với ngày ghi danh của sinh viờn và với số ghi danh (mó phiếu) duy nhất.

Từ những phõn tớch trờn chỳng ta sẽ xỏc định đƣợc sơ đồ biểu diễn mối quan hệ kết hợp giữa cỏc lớp với cỏc hàm thành phần đƣợc bổ sung.

Hỡnh 2.14. Sơ đồ lớp Bước 5: Kiểm tra cỏc sơ đồ ca sử dụng

Chỳng ta cú thể kiểm tra cỏc sơ đồ đƣợc xõy dựng theo cỏc quy tắc sau: - Kiểm tra cỏc yờu cầu chức năng xem:

+ Tất cả cỏc ca sử dụng cú thực hiện đƣợc hết cỏc yờu cầu chƣả

+ Mục đớch của mỗi ca sử dụng cú đỳng nhƣ cỏc tỏc nhõu yờu cầu khụng?

- Kiểm tra cỏc thực thể của cỏc ca sử dụng.

+ Cỏc thực thể trong sơ đồ lớp cú cần và đủ để thực hiện cỏc mục đớch của mọi ca sử dụng hay khụng?

+ Cỏc thuộc tớnh của mỗi thực thể cú phải là những cỏi mà ca sử dụng cần biết hay khụng?

Cỏc hàm thành phần của lớp cú cần và đủ để thực hiện cỏc mục đớch của mỗi ca sử dụng hay khụng?

MonHoc maSo monHoc getMaSo() getMonHoc() PhieuGhiDanh maPhieu ngayGD lapPhieuGD() MonHoc maSV hoTen getHoTen() setMaSo() 1 1 ..* 1 ..* 1

35

2.4. C C Mễ HèNH PHÂN TÍCH ĐỘNG TH I 2.4.1. Sơ ồ trỡn tự

Sơ đồ trỡnh tự (sequence diagram) là sơ đồ tƣơng tỏc theo trỡnh tự thời gian của cỏc giao tiếp bằng thụng điệp giữa cỏc đối tƣợng đang hoạt động trong hờ thống. Mỗi ca sử dụng cú nhiều luồng dữ liệụ Mỗi sơ đồ trỡnh tự biểu diễn một luồng dữ liệụ

2.4.1.1. Cỏc thành phần của sơ đồ trỡnh tự

Sơ đồ trỡnh tự bao gồm cỏc phần tử biểu diễn đối tƣợng, thụng điệp và thời gian. Sơ đồ trỡnh tự đƣợc thể hiện theo hai trục:

- Trục dọc trờn xuống chỉ thời gian xảy ra cỏc sự kiện hay sự truyền thụng điệp, đƣợc biểu diễn bằng cỏc đƣờng gạch – gạch thẳng đứng bắt đầu từ đỉnh đến đỏy của sơ đồ.

- Trục ngang từ trỏi qua phải là dóy cỏc đối tƣợng tham gia vào việc trao đổi cỏc thụng điệp với nhau theo chiều ngang, cú thể cú cả cỏc tỏc nhõn.

Đối tƣợng đƣợc biểu diễn bằng hỡnh chữ nhật trong đú cú tờn đối tƣợng cụ thể và/hoặc tờn lớp cựng đƣợc gạch dƣới (hoặc tờn lớp đƣợc gạch dƣới biểu diễn cho một đối tƣợng bất kỳ của lớp đú).

Sơ đồ trỡnh tự đƣợc đọc từ trờn xuống dƣới, từ trỏi sang phảị Thứ tự cỏc đối tƣợng trong sơ dồ phải đƣợc sắp xếp sao cho đơn giản nhất cú thể để dễ quan sỏt. Thời gian thực hiện một thụng điệp của một đối tƣợng, hay cũn gọi là hoạt động của đối tƣợng đƣợc biểu diễn bằng hỡnh chữ nhất hẹp dọc theo trục thẳng đứng của đối tƣợng đú.

36 Vớ dụ:

Hỡnh 2.15. Cỏc thành phần cơ bản của sơ đồ trỡnh tự

Mỗi thụng điệp đều cú tờn gọi thể hiện đƣợc ý nghĩa của thụng tin cần gửi và cỏc tham số về dữ liệu liờn quan. Thụng thƣờng đú là cỏc lời gọi hàm. Khi định nghĩa cỏc lớp sau này thỡ mỗi thụng điệp nhận đƣợc sẽ trở thành một phƣơng thức. Một đối tƣợng cú thể gửi thụng điệp tới chớnh nú. Những thụng điệp này gọi là phản thõn, nú chỉ ra rằng đối tƣợng gọi chớnh cỏc thao tỏc của mỡnh để thực hiện.

Hỡnh 2.16. Scripts trong sơ đồ trỡnh tự

:MyComputer :Printer Print(aFile) :DoiTuongA While B begin :DoiTuongB msg() :DoiTuongA If(ĐK) then :DoiTuongB msg() msg()

37 Vớ dụ:

Hỡnh 2.17. Sơ đồ trỡnh tự mụ tả hoạt động “Gọi điện thoại”

2.4.1.2. Xõy dựng sơ đồ trỡnh tự cho một luồng dữ liệu trong mỗi ca sử dụng

Cỏc bước xõy dựng sơ đồ trỡnh tự:

- Xỏc định cỏc tỏc nhõn, cỏc đối tƣợng tham gia vào ca sử dụng và vẽ chỳng theo hàng ngang trờn cựng theo đỳng cỏc ký hiệụ

- Xỏc định những thụng điệp (lời gọi hàm) mà tỏc nhõn cần trao đổi với một đối tƣợng nào đú, hoặc giữa cỏc đối tƣợng tƣơng tỏc với nhau theo trỡnh tự thời gian và vẽ lần lƣợt cỏc hoạt động đú từ trờn xuống theo thứ tự thực hiện trong thực tế. Cần xỏc định chớnh xỏc cỏc loại thụng điệp trao đổi giữa cỏc đối tƣợng là đơn gian, đồng bộ hay dị bộ.

2.4.1.3. Cỏc hợp đồng/cỏc đặc t về hoạt động của hệ thống

2.4.1.3.1. Cỏc bước xõy dựng cỏc hợp đồng/đặc tả

- Từ cỏc sơ đồ trỡnh tự, xỏc định cỏc thao tỏc, hàm, hoạt động của cỏc lớp trong hệ thống.

- Với mỗi thao tỏc trờn hóy xõy dựng một hợp đồng/đặc tả.

- Mụ tả túm tắt những trỏch nhiệm chớnh mà hệ thống phải thực hiện khi thực thi thao tỏc nàỵ

: System liftReceiver() dialsPhoneNumber() answerPhone() hangUp() hangUp() Caller Callee

38

- Trong Post-conditions phải nờu đƣợc cỏc trạng thỏi của cỏc đối tƣợng sau khi kết thỳc thao tỏc.

2.4.1.3.2. Đặc tả cỏc thao tỏc của lớp Hệ Thống

ạ Hợp đồng/đặc tả thao tỏc nhập cỏc thụng tin về cỏc mặt hàng

Bảng 2.2. Hợp đồng/ đặc tả thao tỏc enterItems()

Tờn gọi thao tỏc: enterItems(upc: UPC, n:Int) (UPC – mó sản phẩm)

Trỏch nhiệm: Nhập lần lƣợt cỏc thụng tin về những mặt hàng mà khỏch đó chọn mua và đƣa chỳng vào phiờn bỏn hàng. Hiển thị cỏc thụng tin mụ tả và giỏ bỏn của từng mặt hàng.

Kiểu/Lớp System (Hệ thống)

Tham chiếu tới: R1.1, R1.3, R1.9 và ca sử dụng Bỏn hàng

Chỳ ý Sử dụng phƣơng phỏp truy nhập nhanh vào CSDL

Ngoại lệ Nếu upc khụng hợp lệ thỡ cú lỗi

Kết quả (Output):

Pre-conditions: UPC đƣợc biết trƣớc

Post-conditions: + Nếu mặt hàng nhập vào là đầu tiờn thỡ phải tạo ra một đối tƣợng phienBanHang của lớp PhienBanHang và kết hợp nú vào hệ thống.

+ Tạo ra một đối dongBanHang của lớp DongBanHang

cho mặt hàng vừa nhập vào và gỏn

dongBanHang.soLuomg = n (đối số của hàm),

+ dongBanHang đƣợc liờn kết với moTaMatHang dựa vào mó upc.

39

b. Hợp đồng/ đặc tả thao tỏc kết thỳc nhập hàng

Bảng 2.3. Hợp đồng thao tỏc kết thỳc nhập hàng

Tờn gọi: endSale()()

Trỏch nhiệm: Ghi nhận những mặt hàng đó đƣợc nhập. Hiển thị tổng số tiền bỏn hàng.

Kiểu/Lớp System (Hệ thống)

Tham chiếu tới: R1.2 và ca sử dụng Bỏn hàng Chỳ ý

Ngoại lệ Nếu phiờn bỏn hàng khụng thực hiện đƣợc thỡ cú lỗi

Kết quả (Output):

Pre-conditions: UPC đƣợc biết trƣớc

Post-conditions: PhienBanHang.ketThuc nhận giỏ trị truẹ

2.4.2. Sơ ồ trạng t ỏ

Sơ đồ trạng thỏi (State Diagram, State Machine Diagram, State Chart Diagram) mụ tả 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 từ trạng thỏi này sang trạng thỏi khỏc nhƣ thế nào, hoạt động của đối tƣợng trong mỗi trạng thỏi ra saọ Sơ đồ trạng thỏi thể hiện chu kỳ hoạt động của đối tƣợng, cỏc hệ thống con và của cả hệ thống, từ khi chỳng đƣợc tạo ra cho đến khi kết thỳc.

Sơ đồ trạng thỏi mụ tả:

- Cỏc trạng thỏi mà cỏc đối tƣợng cú thể cú,

- Cỏc sự kiện: cỏc thụng điệp nhận đƣợc, cỏc lỗi cú thể xuất hiện, điều kiện nào đú cú thể trở thành đỳng (true), khoảng thời gian đó qua, … tỏc động lờn trạng thỏi để làm biến đổị

40

2.4.2.2. Xỏc đ nh cỏc trạng thỏi và cỏc sự kiện

Để xỏc định đƣợc cỏc trạng thỏi và cỏc sự kiện chỳng ta cần trả lời cho cỏc cõu hỏi sau:

- Một đối tƣợng cú thể ở những trạng thỏi nàỏ Liệt kờ tất cả cỏc trạng hỏi cú thể cú trong hệ thống của mỗi đối tƣợng.

- Những sự kiện nào cú thể xuất hiện? Bởi vỡ sự kiện cú thể làm biến đổi trạng thỏi, do vậy, từ cỏc sự kiện cú thể xỏc định đƣợc cỏc trạng thỏi của đối tƣợng.

- Những trạng thỏi mới nào sẽ xuất hiện? Từ một trạng thỏi, đối tƣợng cú thể chuyển sang trạng thỏi mới khi một số sự kiện xỏc định xuất hiện.

- Ở mỗi trạng thỏi, hoạt động của đối tƣợng là gỡ?

- Sự tƣơng tỏc giữa cỏc đối tƣợng là gỡ? Sự tƣơng tỏc giữa cỏc đối tƣợng thƣờng gắn chặt với cỏc trạng thỏi của đối tƣợng.

- Những sự kiện, hay chuyển đổi trạng thỏi nào là khụng thể xảy rả Một số sự kiện, hay trạng thỏi khụng thể chuyển đổi sang trạng thỏi khỏc đƣợc, vớ dụ khi mua hoàng trả bằng thẻ tớn dụng khụng hợp phỏp thỡ phiến đú khụng thực hiện đƣợc.

- Cỏi gỡ làm cho đối tƣợng đƣợc tạo rả Đối tƣợng thƣờng đƣợc tạo ra bởi một, hay một số sự kiện.

- Cỏi gỡ làm cho đối tƣợng bị hủy bỏ? Đối tƣợng thƣờng đƣợc loại bỏ khi khụng cũn cần thiết nữả

2.4.2.3. Xõy dựng sơ đồ trạng thỏi

Sơ đồ trạng thỏi đƣợc sử dụng để chỉ ra cỏch cỏc đối tƣợng phản ứng lại đối với cỏc sự kiện và cỏch biến đổi cỏc trạng thỏi theo cỏc sự kiện đú.

Một phần của tài liệu các mô hình trong phân tích thiết kế theo hướng đối tượng và ứng dụng (Trang 36 - 90)

Tải bản đầy đủ (PDF)

(90 trang)