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

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 44 - 90)

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 đú.

41

Vớ dụ: Sơ đồ trạng thỏi của lớp hệ bỏn hàng:

Hỡnh 2.18. Sơ đồ trạng thỏi của lớp HệBỏnHàng

2.5. C C Mễ HèNH THIẾT Ế TƢƠNG T C 2.5.1. Sơ ồ oạt ộng

Sơ đồ hoạt động (Activity Diagram) trong UML gần giống với lƣu đồ (Flow Chart) mà chỳng ta đó sử dụng trong phõn tớch thiết kế cú cấu trỳc. Nú chỉ ra cỏc bƣớc thực hiện, cỏc hoạt động, cỏc nỳt quyết định và điều kiện rẽ nhỏnh để điều khiển luồng thực hiện của hệ thống.

Sơ đồ hoạt động mụ tả cỏc hoạt động và cỏc kết quả của những hoạt động đú và:

- Nhấn mạnh hơn về cụng việc thực hiện khi cài đặt một thao tỏc của từng đối tƣợng.

- Tƣơng tự nhƣ sơ đồ trạng thỏi, nhƣng khỏc chủ yếu ở chỗ nú tập trung mụ tả về cỏc hoạt động (cụng việc và những thao tỏc cần thực thi) cựng những kết quả thu đƣợc từ việc thay đổi trạng thỏi của cỏc đối tƣợng.

Khỏch đƣa hàng đến quầy trả tiền Nhập tiếp Xử lý kết quả Kết thỳc nhập Nhập cỏc mặt hàng khỏch đó chọn Kết thỳc bỏn hàng Nhập vào TT mặt hàng

Thanh toỏn tiền mặt

Trả thẻ tớn dụng

Trả bằng sộc Kiểm duyệt thẻ/sộc

Chờ thanh toỏn Chờ để mua hàng

42

- Trạng thỏi trong sơ đồ hoạt động là cỏc trạng thỏi hoạt động nú sẽ đƣợc chuyển sang trạng thỏi sau, nếu hoạt động ở trạng thỏi trƣớc đƣợc hoàn thành.

2.5.1.1. Nỳt quyết đ nh và rẽ nhỏnh

Một đối tƣợng khi hoạt động thỡ từ một trạng thỏi cú thể rẽ nhỏnh sạng những trạng thỏi khỏc nhau tựy thuộc vào những điều kiện, những sự kiện xảy ra để quyết định. Điều kiện rẽ nhỏnh thƣờng là cỏc biểu thức Boolean. Trong UML, nỳt quyết định rẽ nhỏnh đƣợc biểu diễn bằng hỡnh thoi cú cỏc đƣờng rẽ nhỏnh với những điều kiện đi kốm để lựa chọn nhƣ sau:

Hỡnh 2.19. Nỳt rẽ nhỏnh trong sơ đồ hoạt động

2.5.1.2. Thanh tương tranh hay thanh đồng bộ

Trong hoạt động của hệ thống, cú thể cú nhiều luồng hoạt động đƣợc bắt đầu thực hiện hay kết thỳc đồng thờị Trong UML, thanh đồng bộ đƣợc vẽ bằng đoạn thẳng đậm đƣợc sử dụng để kết hợp nhiều luồng hoạt động đồng thời và để chia nhỏnh cho những luồng cú khả năng thực hiện song song.

Vớ dụ: Vẽ sơ đồ hoạt động mụ tả cỏc hoạt động “Đun nước và pha tỏch chố Lipton”.

Chỳng ta thấy một số hoạt động cú thể thực hiện song hành nhƣ “đun nước”, “Tỡm một gúi chố Lipton”, “Tỡm tỏch”,…

Sơ đồ hoạt động cho cỏc hoạt động trờn cú thể mụ tả nhƣ sau:

[a > 100]

[a = 100]

[a < 100]

43

Ghi chỳ: hỡnh này biểu diễn một hoạt động

Hỡnh 2.20. Sơ đồ hoạt động “Đun nước và pha chố”

2.5.1.3. Tuyến cụng việc

Tuyến cụng việc (đƣờng bơi) đƣợc sử dụng để phõn hoạch cỏc hoạt động (trạng thỏi) theo cỏc nhúm đối tƣợng hay theo tuyến hoạt động của từng đối tƣợng. Giống nhƣ trong một cuộc thi bơi, trong bể bơi mỗi vận động viờn bơi lội chỉ đƣợc bơi theo một tuyến đó đƣợc xỏc định. Trong hệ thống phần mềm cũng vậy, mỗi đối tƣợng hệ thống theo tuyến đó đƣợc xỏc định, nhƣng cú khỏc là giữa cỏc tuyến này cú sự chuyển đổi thụng tin với nhaụ

Sơ đồ hoạt động sử dụng để thể hiện những hoạt động sẽ thực hiện của mỗi đối tƣợng và chỉ ra cỏch thực hiện cỏc hoạt động nghiệp vụ thụng qua cỏc dũng cụng việc, theo tổ chức của cỏc đối tƣợng.

Đổ nƣớc vào ấm đun nƣớc Tỡm một gúi chố Lipton Tỡm tỏch Đun nƣớc sụi Bỏ gúi chố Vào tỏch Đổ nƣớc vào tỏch cú chố Pha thờm sữa Đổ nƣớc vào ấm đun nƣớc Tỡm một gúi chố Lipton Tỡm tỏch Đun nƣớc sụi Bỏ gúi chố Vào tỏch Đổ nƣớc vào tỏch cú chố Pha thờm sữa

44

:KhachHang :NguoiBanHang :BoPhanKiemDuyetThe :HeThong

Ghi chỳ: hỡnh này biểu diễn một hoạt động

Hỡnh 2.21. Cỏc tuyến cụng việc trong sơ đồ hoạt động

2.5.2. Sơ ồ ộng tỏ

Sơ đồ cộng tỏc (collaboration diagram) gần giống nhƣ sơ đồ trỡnh tự, mụ tả sự tƣơng tỏc của cỏc đối tƣợng với nhau, nhƣng khỏc với sơ đồ trỡnh tự là ở đõy tập trung vào ngữ cảnh và khụng gian thực hiện cụng việc.

Sơ đồ cộng tỏc chớnh là một đồ thị chỉ ra một số cỏc đối tƣợng và những sự liờn kết giữa chỳng, trong đú cỏc đỉnh là cỏc đối tƣợng cũn cạnh thể hiện sự trao đổi thụng điệp giữa cỏc đối tƣợng.

2.5.2.1. Cỏc cấu phần trong sơ đồ cộng tỏc

Tổng quỏt, sơ đồ cộng tỏc chứa cỏc thành phần sau: - Đối tƣợng

- Liờn kết: thể hiện của kết hợp

- Thụng điệp: giỳp lớp hay đối tƣợng cú thể yờu cầu lớp hay đối tƣợng khỏc thực hiện chức năng cụ thể. Trỡnh thẻ tớn dụng Nhận thẻ tớn dụng Kiểm duyệt Trừ tiền thẻ tớn dụng Nhận lại thẻ tớn dụng

45

2.5.2.2. Thiết kế cỏc sơ đồ cộng tỏc và cỏc lớp đối tượng

Nhiệm vụ chớnh của pha thiết kế là xõy dựng cỏc sơ đồ cộng tỏc mụ tả chớnh xỏc cỏc hoạt động của hệ thống và từ đú thiết kế chi tiết cỏc lớp. Một trong những khú khăn chớnh của cụng việc trờn là gỏn trỏch nhiệm cho cỏc đối tƣợng nhƣ thế nàọ Nguyờn lý tổng quỏt để gỏn giỏ trị cho cỏc đối tƣợng đƣợc gọi là mẫu (pattern) gỏn trỏch nhiệm.

Việc tạo lập cỏc sơ đồ cộng tỏc phụ thuộc vào cỏc kết quả trong pha phõn tớch:

- Mụ hỡnh khỏi niệm: từ những mụ hỡnh này, ngƣời thiết kế cú thể chọn để định nghĩa cỏc lớp ứng với từng khỏi niệm trong hệ thống. Cỏc đối tƣợng của những lớp này tƣơng tỏc với nhau và đƣợc thể hiện trong cỏc sơ đồ tƣơng tỏc nhƣ sơ đồ trỡnh tự, sơ đồ trạng thỏị

- Cỏc hợp đồng/đặc tả hoạt động của hệ thống: từ những đặc tả này, ngƣời thiết kế xỏc định đƣợc cỏc trỏch nhiệm và cỏc điều kiện (Pre-condition, Post-condition) trong cỏc sơ đồ tƣơng tỏc.

- Cỏc ca sử dụng cốt yếu và thực tế: từ những trƣờng hợp này, ngƣời thiết kế cú thể lƣợm lặt đƣợc những thụng tin về những nhiệm vụ mà cỏc sơ đồ tƣơng tỏc phải thỏa món.

ạ Ca sử dụng thực tế

Ca sử dụng thực tế là một thiết kế cụ thể về một ca sử dụng, trong đú đó xỏc định kỹ thuật vào/ra và hỗ trợ cài đặt.

Vớ dụ: Mụ tả ca sử dụng thực tế cho ca sử dụng Thanh toỏn tiền mặt. Ca sử dụng: Thanh toỏn tiền mặt (Buy Items with Cash)

Tỏc nhõn: Ngƣời mua (khỏch hàng), ngƣời bỏn hàng

Mục đớch: Ghi nhận cỏc thụng tin về phiờn bỏn hàng và thu tiền hàng Mụ tả túm tắt: Sau khi chọn đủ hàng, ngƣời mua đƣa giỏ hàng (xe hàng) đến quầy trả tiền. Ngƣời bỏn ghi nhận thụng tin về cỏc mặt hàng và thu tiền bỏn

46

hàng bằng tiền mặt. Thanh toỏn xong, khỏch hàng cú thể đƣa hàng ra khỏi cửa hàng.

Kiểu: Thực tế

Tham chiếu: R1.1, R1. R1.1, R1.3, R1.7, R1.9, R2.1 .

Trờn cơ sở khảo sỏt bài toỏn thực tế, ngƣời thiết kế cú thể xõy dựng màn hỡnh thực hiện nhiệm vụ trờn nhƣ sau:

Hỡnh 2.22. Màn hỡnh giao diện của ca sử dụng thực tế “Bỏn hàng”

Kịch bản mụ tả ca sử dụng thực tế trờn đƣợc việc cụ thể nhƣ sau:

Bảng 2.4. Kịch bản mụ tả ca sử dụng thực tế

Hoạt ộng ủa tỏ n õn Hoạt ộng ủa ệ t ống

1. Ca sử dụng bắt đầu khi khỏch đƣa hàng đến quầy trả tiền.

2. Với mỗi mặt hàng, ngƣời bỏn hàng nhập vào cửa số A mó hàng. Nếu số lƣợng mua nhiều hơn 1 thỡ nhập số đú vào cửa số B. Ấn X sau mỗi lần nhập xong một mặt hàng.

3. Bổ sung cỏc thụng tin của từng mặt hàng vào phiờn bỏn hàng. Mụ tả của từng mặt hàng vừa nhập vào đƣợc hiển thị ở ụ D và giỏ bỏn ở ụ C Nhập từng mặt hàng Mã hàng Số l-ợng Tổng tiền Tiền nộp: Tiền trả lại:

Siờu thị MINH CAU - 

Kết thúc nhập tiền Thanh toán E B Y Z X A G F Giá C Mô tả D

47

4. Khi nhập xong cỏc mặt hàng thỡ ấn Y 5. Tớnh toỏn và hiển thị tổng số tiền phải trả ở ụ Ẹ

6. Khỏch hàng đƣa một số tiền để trả tiền mua hàng, ngƣời nhập số đú vào ụ F và ấn Z, số đú khụng nhỏ hơn tổng tiền.

7. Hệ thống xỏc định số tiền trả lại cho khỏch và hiển thị ở ụ G

b. Cỏc bước thiết kế sơ đồ cộng tỏc

Bước 1: Xỏc định cỏc trỏch nhiệm từ cỏc ca sử dụng, mụ hỡnh khỏi niệm (sơ đồ lớp) và cỏc hợp đồng hoạt động của hệ thống.

Bước 2: Gỏn trỏch nhiệm cho cỏc đối tƣợng, quyết định xem đối tƣợng nào phải thực thi những trỏch nhiệm trờn,

Bước 3: Lặp lại hai bƣớc trờn cho đến khi gỏn hết cỏc trỏch nhiệm trong sơ đồ cộng tỏc.

2.6 Mễ HèNH IẾN TRÚC VẬT í 2.6.1. Sơ ồ t n p ần

Sơ đồ thành phần (Component Diagram) là sơ đồ mụ tả cỏc thành phần và sự phụ thuộc của chỳng trong hệ thống. Sơ đồ thành phần đƣợc xem nhƣ là tập cỏc biểu tƣợng thành phần biểu diễn cho cỏc thành phần vật lý trong một hệ thống. í tƣởng cơ bản của sơ đồ thành phần là tạo ra cho những ngƣời thiết kế và phỏt triển hệ thống một bức tranh chung về cỏc thành phần của hệ thống.

2.6.1.1. Cỏc thành phần trong sơ đồ

Cỏc thành phần của hệ thống là:

- Thành phần mó nguồn, cú ý nghĩa vào thời điểm dịch chƣơng trỡnh. Thụng thƣờng nú là tập cỏc chƣơng trỡnh cài đặt cỏc lớp.

48

Vớ dụ: Trong C++, mỗi tệp .cpp và .h là một thành phần. Trƣớc khi phỏt sinh mó chƣơng trỡnh, phải thực hiện ỏnh xạ từng tệp vào thành phần tƣơng ứng, thụng thƣờng mỗi lớp đƣợc ỏnh xạ vào hai tệp (.cpp và.h).

- Thành phần mó nhị phõn là mó trỡnh nhị phõn đƣợc dịch từ mó chƣơng trỡnh nguồn. Nú cú thể là tệp mó đớch (.obj), tệp thƣ viện tĩnh (.Iib) hay tệp thƣ viện động (.dll). Thành phõn nhị phõn đƣợc sử dụng để liờn kết, hoặc để thực thi chƣơng trỡnh (đối với thƣ viện động).

- Thành phần thực thi là tệp chƣơng trỡnh cú thể thực thi đƣợc (cỏc tệ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 44 - 90)

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

(90 trang)