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

Mô hình phân tích và thiết kế hướng đối tượng: Phần 1

144 0 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

M· sè: HT 08 HM 10 THUẬT NGỮ VÀ TỪ VIẾT TẮT Tiếng Anh ATM Automated Teller Machine Máy rút tiền tự động GRASP General Responsibility Assignment Software Pattern Mẫu gán trách nhiệm ID Identifier Định danh ODBMS Object Database Management System Hệ quản trị sở liệu đối tượng OID Object Identifiers Định danh đối tượng OMT Object Modeling Technique Kỹ thuật mơ hình hóa đối tượng OOSE Object-Oriented Software Engineering Cơng nghệ phần mềm hướng đối tượng PC Person Computer Máy tính cá nhân PIN Personal Identification Number Số nhận dạng cá nhân RAD Rapid Application Development Phát triển ứng dụng nhanh RDBMS Relational Database Management System Hệ quản trị sở liệu quan hệ RUP Rational Unified Process Tiến trình hợp Rational UI User Interface Giao diện người dùng UML Unified Modeling Language Ngơn ngữ mơ hình hóa hợp UPC Universal Product Code Mã sản phẩm phổ biến Tiếng Việt CSDL Cơ sở liệu NSD Người sử dụng LỜI NĨI ĐẦU Cách đây khoảng 20 năm, để khắc phục những vấn đề tồn tại trong  cách tiếp cận hướng cấu trúc, người ta đã nghiên cứu một mơ hình mới  thích hợp cho việc phát triển phần mềm lớn và phức tạp, đó là mơ hình  hướng đối tượng. Cách tiếp cận hướng đối tượng đã ngày càng trở nên  phổ  biến.  Trong  các  dự  án  phát  triển  hệ  thống  lớn,  ngôn  ngữ  mơ  hình  hóa hợp nhất ‐ UML đã được ưu tiên cho q trình phân tích thiết kế hệ  thống.  Ngày  nay,  nó  được  coi  là  một  chuẩn  quốc  tế  được  tổ  chức  tiêu  chuẩn  quốc  tế  ISO  chấp  nhận.  Việc  nắm  vững  các  kiến  thức  cơ  bản  về  mơ  hình,  q  trình  mơ  hình  hóa,  các  kỹ  thuật  xây  dựng  mơ  hình  là  những u cầu bắt buộc cho bất cứ ai muốn phân tích và thiết kế một hệ  thống lớn theo hướng đối tượng.   Nhằm giúp  sinh viên, nghiên cứu sinh và các lập trình viên có tài  liệu tham khảo tương đối hệ thống về phân tích và thiết kế theo hướng  đối  tượng,  Nhà  xuất  bản  Thơng  tin  và  Truyền  thơng  trân  trọng  giới  thiệu cuốn sách “Các mơ hình cơ bản trong phân tích và thiết kế hướng  đối tượngʺ do TS. Lê Văn Phùng (Viện Cơng nghệ thơng tin thuộc Viện  Khoa học và Cơng nghệ Việt Nam) biên soạn.  Nội dung cuốn sách gồm 10 chương:  Chương 1: Tổng quan về mơ hình hóa phần mềm  Chương 2: Các khái niệm cơ bản trong phân tích và thiết kế hướng  đối tượng  Chương 3: u cầu hệ thống và mơ hình nghiệp vụ  Chương 4: Mơ hình phân tích đối tượng  Chương 5: Các mơ hình phân tích động thái  Chương 6: Các mơ hình thiết kế tương tác  Chương 7: Mơ hình kiến trúc logic  Chương 8: Mơ hình kiến trúc vật lý  Chương 9: Mơ hình phân tích và thiết kế một ca sử dụng  Chương 10: Mơ hình thiết kế đối tượng   Hy  vọng  cuốn  sách  sẽ  thực  sự  hữu  ích  cho  các  bạn  đọc  yêu  công  nghệ thông tin, ham mê phân tích thiết kế một hệ thống thông tin, các  bạn đồng nghiệp, giáo viên, sinh viên đại học, cao đẳng và học viên cao  học chuyên ngành công nghệ phần mềm hoặc hệ thống thông tin,…  Nhà  xuất  bản  xin  trân  trọng  giới  thiệu  cùng  bạn  đọc  và  rất  mong  nhận được ý kiến đóng góp của q vị. Mọi ý kiến đóng góp xin gửi về  Nhà xuất bản Thơng tin và Truyền thơng ‐ 18 Nguyễn Du, Hà Nội.   Xin trân trọng cảm ơn./.  NXB THƠNG TIN VÀ TRUYỀN THƠNG    CHƯƠNG TỔNG QUAN VỀ MƠ HÌNH HĨA PHẦN MỀM TỔNG QUAN VỀ MƠ HÌNH HĨA PHẦN MỀM 1.1 TỔNG QUAN VỀ MƠ HÌNH HĨA 1.1.1 Khái niệm trừu tượng hóa Để tìm hiểu giới phức tạp, khoa học thực nghiệm phải vận dụng nguyên lý bản, trừu tượng hóa (Abstraction) Trừu tượng hóa nguyên lý nhận thức, đòi hỏi phải bỏ qua sắc thái (chi tiết chủ điểm) không liên quan tới chủ định thời, để tập trung hoàn toàn vào sắc thái liên quan tới chủ định (từ điển Oxford) Theo Liberty J.,1998, trừu tượng nguyên lý bỏ qua khía cạnh chủ thể khơng liên quan đến mục đích để tập trung đầy đủ vào khía cạnh cịn lại Trừu tượng hóa đơn giản hóa giới thực cách thơng minh Nó cho khả tổng qt hóa ý tưởng hóa vấn đề xem xét Chúng loại bỏ chi tiết dư thừa mà tập trung vào điểm chính, Trừu tượng mô tả cách khái quát đối tượng thực bỏ qua nhiều yếu tố, nhiều mặt khơng quan trọng [23] Sử dụng ngun lý trừu tượng hóa có nghĩa thừa nhận giới thực phức tạp, thay cố gắng hiểu biết toàn lựa chọn phần vấn đề CÁC MƠ HÌNH CƠ BẢN TRONG PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Trừu tượng bao gồm nhiều dạng: trừu tượng thủ tục, trừu tượng liệu, trừu tượng điều khiển [11] Trong trừu tượng liệu chế mạnh, dựa sở tổ chức suy nghĩ đặc tả nhiệm vụ hệ thống Trừu tượng liệu nguyên tắc xác định kiểu liệu cho thao tác áp dụng cho đối tượng, với ràng buộc giá trị lưu trữ đối tượng sửa đổi hay quan sát thơng qua thao tác Người thiết kế áp dụng trừu tượng liệu để xác định thuộc tính thao tác, xâm nhập thuộc tính thơng qua thao tác Theo Wasserman, “Ký pháp trừu tượng mang tính tâm lý cho phép ta tập trung vào vấn đề mức khái quát, bỏ qua chi tiết mức thấp liên quan Việc sử dụng trừu tượng cho phép ta làm việc với khái niệm thuật ngữ gần gũi môi trường vấn đề đặt mà chuyển chúng thành cấu trúc không quen thuộc” [11] Nếu mặt, yếu tố đối tượng mô tả bị bỏ qua nhiều mức trừu tượng hóa cao Như ta mơ tả đối tượng thiết kế với nhiều mức trừu tượng khác tùy thuộc vào hiểu biết, nhận thức người phát triển yêu cầu đặt Có nhiều mức trừu tượng: - Mức cao nhất: giải pháp phát biểu theo thuật ngữ đại thể cách dùng ngôn ngữ môi trường vấn đề - Mức vừa: lấy khuynh hướng thủ tục nhiều Thuật ngữ hướng vấn đề thường đôi với thuật ngữ hướng cài đặt mô tả giải pháp - Mức thấp: giải pháp phát biểu theo thuật ngữ chi tiết để cài đặt trực tiếp Mỗi bước tiến trình kỹ nghệ phần mềm làm mịn cho mức trừu tượng phần mềm Trong kỹ nghệ hệ thống, phần mềm dùng phần tử hệ thống dựa máy tính Trong phân tích yêu cầu phần mềm, giải pháp phần mềm CHƯƠNG TỔNG QUAN VỀ MƠ HÌNH HĨA PHẦN MỀM phát biểu dạng "đó quan trọng môi trường vấn đề" Khi chuyển từ thiết kế sơ sang thiết kế chi tiết mức độ trừu tượng giảm dần Quá trình dẫn tới mức trừu tượng thấp sinh chương trình gốc Trừu tượng hóa khả người việc giải vấn đề phức tạp Nó chế dùng để biểu diễn vật phức tạp để trở nên đơn giản cách dùng số loại mơ hình Nếu trừu tượng biểu diễn mức vật lý, chẳng hạn sơ đồ giấy đối tượng vật lý, người ta thường dùng thuật ngữ mơ hình Trong việc phân tích thiết kế hướng đối tượng, người ta sử dụng sơ đồ để đơn giản hóa hệ thống để biểu diễn đặc điểm đó, nghĩa để thực trừu tượng Khi tạo thiết kế, việc dùng sơ đồ có lợi ích để trừu tượng hóa thuộc tính thiết kế Tất nhiên, người ta phải dùng nhiều sơ đồ thể hết phương diện khác đối tượng phức tạp Trừu tượng hóa đặc điểm thích hợp xây dựng mơ hình xác kỹ người phân tích [20] 1.1.2 Khái niệm mơ hình mơ hình hóa Định nghĩa ý nghĩa mơ hình Mơ hình (model) dạng trừu tượng hóa hệ thống thực Mơ hình hình ảnh (một biểu diễn) hệ thống thực, diễn tả mức độ trừu tượng đó, theo quan điểm đó, theo hình thức (hiểu được) phương trình, bảng, đồ thị,… Mơ hình có xu hướng dạng sơ đồ (diagrams) tức đồ thị gồm nút cung [21] Mơ hình mơ tả chất vấn đề cấu trúc phức tạp cách loại bỏ chi tiết khơng quan trọng, làm cho tốn trở nên dễ hiểu dễ nắm bắt Để xây dựng hệ thống Tai lieu Luan van Luan an Do an CHƯƠNG CÁC MƠ HÌNH PHÂN TÍCH ĐỘNG THÁI 127 khiển thay đổi Ngồi bổ sung đối tượng quản lý an toàn, quản lý lỗi hay kết nối CSDL Rất nhiều đối tượng xây dựng lần sử dụng lại ứng dụng khác Có hai chức thường sử dụng CSDL lưu trữ truy xuất Nếu đối tượng biết CSDL tự lưu trữ vào CSDL truy xuất từ CSDL Khi ta nói logic ứng dụng logic CSDL không tách rời Ngược lại chúng tách rời nhau, phải tạo đối tượng có trách nhiệm với CSDL Đối tượng gọi đối tượng quản trị giao dịch (transaction manager) Nó biết cách truy vấn đối tượng liệu cụ thể từ CSDL lưu trữ đối tượng vào CSDL + Sau bổ sung đầy đủ đối tượng, bước ánh xạ đối tượng vào lớp có sẵn hay lớp mới, ánh xạ thông điệp sơ đồ thành thao tác Cuối đặc tả đối tượng đặc tả thông điệp gán đồng bộ, gán tần suất thông điệp cách thức lưu trữ đối tượng… Rose cho khả thiết lập thuộc tính lưu trữ cho đối tượng sơ đồ (đã đề cập chương 4) 5.2.3 Ví dụ xây dựng sơ đồ trình tự cho hệ thống bán hàng Đối với số sơ đồ trình tự mơ tả hành vi hệ thống, hành vi hệ thống thể sơ đồ trình tự thơng qua tương tác đối tượng với Sự tương tác thể lời gọi hàm khai báo công khai (public) lớp Mô tả hoạt động hệ thống bán hàng Người ta mô tả lời hoạt động người bán hàng hệ thống: sau chọn đủ hàng, người mua đưa giỏ (hoặc xe) hàng Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an 128 CÁC MƠ HÌNH CƠ BẢN TRONG PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG đến quầy để trả tiền Người bán hàng phải nhập vào thông tin số lượng mặt hàng Những thông tin mặt hàng thường xác định thông qua mã sản phẩm upc (thuộc lớp UPC) Vậy đối tượng :NguoiBan phải gửi đến cho :HeThong/:HeBanHang (một hệ thống bán hàng) thông điệp enterItems()(upc, n), để nhập vào mã sản phẩm upc n đơn vị Khi nhập xong tất mặt hàng khách muốn mua phải báo cho hệ thống biết nhập xong cách nhấn nút Kết thúc, nghĩa gửi cho hệ thống thông điệp endSale() Hệ thống thông báo cho khách mua hàng biết tổng số tiền phải trả Nếu khách hàng trả tiền mặt :NguoiBan gửi tiếp đến cho :HeThong thông điệp makePayment(soTien) Các hoạt động mơ tả sơ đồ trình tự hình 5.5: Hình 5.5 Sơ đồ trình tự mơ tả tương tác người bán hệ thống Sơ đồ trình tự mơ tả ca sử dụng “Thanh tốn tiền mặt” Khi đối tượng :HeThong nhận yêu cầu tốn khách hàng thơng qua người bán, nghĩa nhận thơng điệp makePayment(soTien) phải gửi cho đối tượng phiên bán hàng: PhienBanHang yêu cầu tương tự Đối tượng phiên bán hàng lại yêu cầu đối tượng tạo đối tượng lần toán: ThanhToan để toán theo soTien mà khách đưa Đối tượng lần toán gửi lại thông điệp balance() cho hệ Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an CHƯƠNG CÁC MƠ HÌNH PHÂN TÍCH ĐỘNG THÁI 129 thống :HeThong biết số tiền dư (soTien khách đưa trừ số tiền mua hàng) phải trả lại cho khách để hiển thị (displayBalance()) lên hình, để người bán thơng báo lại cho khách hàng khách trả tiền mặt Sơ đồ trình tự mơ tả dãy hành động trao đổi đối tượng nêu thiết lập hình 5.6: Hình 5.6 Sơ đồ trình tự mơ tả ca sử dụng “Thanh toán (tiền mặt)” Sơ đồ trình tự mơ tả ca sử dụng “Thanh tốn thẻ tín dụng” Khi tốn tiền hàng, khách hàng trả thẻ tín dụng Thẻ tín dụng xác định thông qua soHieuThe (số hiệu thẻ) hanSD (hạn sử dụng) Điều thể việc gửi thông điệp makeCreditPayment(soHieuThe, hanSD) cho hệ thống Thông thường hệ thống phải gửi yêu cầu kiểm duyệt thẻ requestApproval(yeuCau)) tới phận kiểm duyệt thẻ tín dụng tác nhân ngồi hệ thống Hệ thống dựa vào kết trả lời phận kiểm duyệt để toán với khách hàng cách trừ số tiền mua hàng thẻ tín dụng hợp pháp, nghĩa thực handleCreditReply() (xử lý thẻ kiểm duyệt), dựa vào kết phận kiểm duyệt Sơ đồ trình tự mơ tả tương tác người bán hàng, hệ thống phận kiểm duyệt thẻ thiết lập hình 5.7: Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an CÁC MƠ HÌNH CƠ BẢN TRONG PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG 130 : HeThong NguoiBan makeCreditPayment(soHieuThe, hanSD) displayApproval() NguoiKiemDuyet requestApproval(yeuCau) handleCreditReply() Hình 5.7 Sơ đồ trình tự mơ tả trao đổi người bán, hệ thống phận kiểm duyệt Tương tự trên, tạo sơ đồ trình tự cho ca sử dụng khác hệ thống 5.2.4 Ghi nhận hoạt động lớp đối tượng Khi xây dựng lớp, tập trung chủ yếu vào việc phát thuộc tính chúng Khi xây dựng sơ đồ trạng thái sơ đồ trình tự, hiểu tương tác đối tượng hệ thống Trên sở đó, xác định hành vi ứng xử đối tượng, nghĩa xác định thao tác lớp Nghiên cứu sơ đồ trình tự nhận thấy: Khi có thơng điệp mgs() gửi đến cho đối tượng lớp đối tượng phải có thao tác msg() Dựa vào nguyên lý vào sơ đồ trình tự trên, lớp HeThong có thao tác sau (hình 5.8): Nhận xét: - Mỗi lần xây dựng thêm sơ đồ trình tự có liên quan đến lớp đó, lớp lại bổ sung thêm số thao tác Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an CHƯƠNG CÁC MƠ HÌNH PHÂN TÍCH ĐỘNG THÁI 131 - Để đơn giản, giai đoạn xây dựng sơ đồ, bỏ qua đối số thao tác lớp - Các thao tác có phạm vi truy cập giống thuộc tính lớp đối tượng Do vậy, người thiết kế khai báo chúng cơng khai (public), bảo vệ (protected), sở hữu riêng (private) hay mặc định nêu phần định nghĩa thuộc tính HeThong enterItems() endSale() makePayment() balance() makeCreditPayment() handleCreditReply() Hình 5.8 Các thao tác hệ thống ghi nhận vào lớp HeThong 5.2.5 Các hợp đồng/các đặc tả hoạt động hệ thống Qua phân tích trên, sơ đồ trình tự cho biết tên nhiệm vụ mà đối tượng cần phải thực nhận thông điệp, chưa mô tả cách thực công việc Để hiểu rõ hành vi đối tượng để hỗ trợ cho thiết kế cài đặt lớp sau này, cần xây dựng hợp đồng (Contract) hay đặc tả cho hoạt động (thao tác, hàm) xác định Hợp đồng cho hoạt động hệ thống mô tả thay đổi trạng thái mà bắt đầu thỏa mãn tiền điều kiện (pre-conditions) sau đó, kết thúc thỏa mãn hậu điều kiện (post-conditions) Những hợp đồng lưu tệp khác gán vào sơ đồ tương ứng Một cách hình thức, hợp đồng cho hoạt động Op() viết theo ba Hoare: {Pre-conditions} Op() {Post-conditions} Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an 132 CÁC MƠ HÌNH CƠ BẢN TRONG PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG thể rằng, hoạt động Op() trạng thái thỏa mãn Pre-conditions sau kết thúc thực hiện, hệ thống trạng thái thỏa mãn Post-conditions ♦ Pre-conditions: điều kiện mà trạng thái hệ thống giả thiết thỏa mãn trước thực thao tác, hàm ♦ Post-conditions: điều kiện mà trạng thái hệ thống phải thỏa mãn sau thực xong thao tác, hàm Pre-condition Post-condition mệnh đề boolean (mệnh đề điều kiện logic) Ngoài Pre-conditions Post-coditions, chúng bổ sung thêm mơ tả tóm tắt trách nhiệm, kiểu, lớp nào, tham chiếu tới chức nào, thích, ngoại lệ kết quả, Các bước xây dựng hợp đồng/đặc tả - Từ sơ đồ trình tự, xác định thao tác, hàm, hoạt động lớp hệ thống, - Với thao tác xây dựng hợp đồng/đặc tả, - Mơ tả tóm tắt trách nhiệm mà hệ thống phải thực thực thi thao tác - Trong Post-conditions phải nêu trạng thái đối tượng sau kết thúc thao tác - Để mô tả Post-conditions, vào: + Việc tạo lập, hủy bỏ đối tượng + Những thay đổi thuộc tính + Thiết lập hay hủy bỏ mối liên kết Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an CHƯƠNG CÁC MƠ HÌNH PHÂN TÍCH ĐỘNG THÁI 133 Đặc tả thao tác lớp HệThống a Hợp đồng/đặc tả thao tác nhập thông tin mặt hàng Bảng 5.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 thông tin mặt hàng mà khách chọn mua đưa chúng vào phiên bán hàng Hiển thị thông tin mô tả giá bán mặt hàng Kiểu/Lớp: System (Hệ thống) Tham chiếu tới: R1.1, R1.3, R1.9 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ệ có lỗi Kết quả(Output): Pre-conditions: UPC biết trước Post-conditions: + Nếu mặt hàng nhập vào phải tạo đối tượng phienBanHang lớp PhienBanHang kết hợp vào hệ thống, + Tạo đối tượng dongBanHang lớp DongBanHang cho mặt hàng vừa nhập vào gán dongBanHang.soLuong = n (đối số hàm), + dongBanHang liên kết với moTaMatHang dựa vào mã upc b Hợp đồng/đặc tả thao tác kết thúc nhập hàng Bảng 5.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 mặt hàng 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, ca sử dụng Bán hàng Chú ý: Ngoại lệ: Nếu phiên bán hàng khơng thực có lỗi Kết (Output): Pre-conditions: UPC biết trước Post-conditions: PhienBanHang.ketThuc nhận giá trị true Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an CÁC MƠ HÌNH CƠ BẢN TRONG PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG 134 c Hợp đồng/đặc tả thao tác thực thu tiền mặt Bảng 5.4 Hợp đồng thao tác thực thu tiền mặt Tên gọi: makePayment(soTien: DVT), DVT lớp loại tiền Trách nhiệm: Ghi nhận thông tin liên quan đến việc tốn, tính số tiền dư cần trả lại cho khách Kiểu/Lớp: System (Hệ thống) Tham chiếu tới: R2.1, ca sử dụng Bán hàng Chú ý: Ngoại lệ: Nếu phiên bán hàng không kết thúc có lỗi Nếu soTien nhỏ tongSoTien có lỗi Kết (Output): Pre-conditions: Post-conditions: + Một đối tượng thanhToan tạo lập, + số tiền dư soTien - ThanhToan.tongSoTien + thanhToan liên kết với phienBanHang tạo lập hợp đồng trước để thực việc cập nhật mặt hàng bán, tổng số tiền, Lưu ý: Đối với ca sử dụng có nhiều đối tượng tham gia sơ đồ trình tự phức tạp, khơng thích hợp Muốn hiểu rõ hoạt động đối tượng tốt nên phân tách ca sử dụng phức hợp thành ca sử dụng tương đối đơn giản, dễ hiểu mô tả sơ đồ trình tự cách đơn giản 5.3 SƠ ĐỒ TRẠNG THÁI Sơ đồ trạng thái (State Diagram, State Machine Diagram, State Chart Diagram) mô tả thông tin trạng thái khác đối tượng, thể đối tượng chuyển từ trạng thái sang trạng thái khác nào, hoạt động đối tượng trạng thái Sơ đồ trạng thái thể chu kỳ hoạt động đối tượng, hệ thống hệ thống, từ chúng tạo kết thúc Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an CHƯƠNG CÁC MƠ HÌNH PHÂN TÍCH ĐỘNG THÁI 135 Sơ đồ trạng thái mô tả: - Các trạng thái mà đối tượng có, - Các kiện: thơng điệp nhận được, lỗi xuất hiện, điều kiện trở thành (true), khoảng thời gian qua, tác động lên trạng thái để làm biến đổi Sơ đồ trạng thái giải pháp tốt để mơ hình hóa hành vi động lớp đối tượng Trong dự án, không thiết phải tạo sơ đồ trạng thái cho tất lớp Tuy nhiên, lớp có nhiều hành vi động, có nhiều trạng thái hoạt động khác sơ đồ trạng thái hữu ích, giúp hiểu rõ hệ thống 5.3.1 Trạng thái biến đổi trạng thái Mọi đối tượng hệ thống có chu kỳ sống thời điểm có trạng thái Ví dụ, người bán hàng hệ thống bán hàng bán hàng, phiên bán hàng toán,… Trạng thái điều kiện để đối tượng tồn tại, kết hoạt động trước đối tượng Trạng thái đối tượng thường mô tả hình chữ nhật góc trịn xác định bởi: ♦ Tên gọi trạng thái, thường bắt đầu động từ, ♦ Biến trạng thái mô tả giá trị thời trạng thái, ♦ Hoạt động hành vi mà đối tượng thực vào trạng thái Hoạt động trạng thái mơ tả hình thức sau: event_name argument_list ‘/’ action_exp Trong đó: - event_name: Tên kiện, kiện chuẩn: exit (thoát ra), entry (vào), (thực hiện) Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an CÁC MƠ HÌNH CƠ BẢN TRONG PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG 136 - argument_list: danh sách kiện, - action_exp: hoạt động cần thực bao gồm lời gọi hàm, thao tác biến trạng thái, Ví dụ: trạng thái Login mơ tả UML: Login (tên gọi) LoginTime = CurrentTime (biến trạng thái) entry/type “login” (sự kiện vào) exit/login(UserName, Password) (sự kiện ra) do/get UserName (các hoạt động) do/get Password help/display help Hình 5.9 Trạng thái Login Khi hệ thống trạng thái Login biến LoginTime (thời gian khởi nhập) gán CurrentTime (thời gian thời) máy tính Sự kiện vào trạng thái gõ từ “login” để khỏi trạng thái phải thực lời gọi hàm login (UserName, Password) Các hoạt động đối tượng trạng thái là: Nhận vào UserName (tên người sử dụng), Password (mật khẩu), hiển thị trợ giúp display help Lưu ý: - Khi khơng cần mơ tả chi tiết cần tên gọi để xác định trạng thái sơ đồ - Có hai trạng thái đặc biệt là: + trạng thái bắt đầu ký hiệu: + trạng thái kết thúc, ký hiệu: Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an CHƯƠNG CÁC MƠ HÌNH PHÂN TÍCH ĐỘNG THÁI 137 Sơ đồ trạng thái thường có trạng thái bắt đầu, cịn trạng thái kết thúc có khơng tùy vào chu kỳ hoạt động đối tượng Trong sơ đồ, đường mũi tên biến đổi từ trạng thái sang trạng thái khác có kiện xảy làm thay đổi trạng thái Trạng thái đối tượng bị thay đổi có xảy ra, nghĩa có hay nhiều kiện xuất Sự biến đổi trạng thái hay chuyển trạng thái thể mối quan hệ trạng thái với Sự chuyển trạng thái thể sơ đồ mũi tên có nhãn kiện, thao tác (hàm có đối số), điều kiện thường trực (guard) Sự chuyển trạng thái đệ quy, nghĩa điều kiện định, đối tượng quay lại trạng thái cũ 5.3.2 Xác định trạng thái kiện Để xác định trạng thái kiện cần trả lời cho câu hỏi sau: - Một đối tượng trạng thái nào? Liệt kê tất trạng thái có hệ thống đối tượng - Những kiện xuất hiện? Bởi kiện làm biến đổi trạng thái, vậy, từ kiện xác định trạng thái đối tượng - Những trạng thái xuất hiện? Từ trạng thái, đối tượng chuyển sang trạng thái số kiện xác định xuất - Ở trạng thái, hoạt động đối tượng gì? - Sự tương tác đối tượng gì? Sự tương tác đối tượng thường gắn chặt với trạng thái đối tượng - Những kiện, hay chuyển đổi trạng thái xảy ra? Một số kiện, hay trạng thái chuyển đổi sang trạng Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an 138 CÁC MƠ HÌNH CƠ BẢN TRONG PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG thái khác được, ví dụ khách mua hàng trả thẻ tín dụng khơng hợp pháp phiên bán khơng thực - Cái làm cho đối tượng tạo ra? Đối tượng thường tạo một, hay số kiện - Cái làm cho đối tượng bị hủy bỏ? Đối tượng thường loại bỏ khơng cịn cần thiết nữa? 5.3.3 Xây dựng sơ đồ trạng thái Sơ đồ trạng thái sử dụng để cách đối tượng phản ứng lại kiện cách biến đổi trạng thái theo kiện Ví dụ 1: Mơ tả hoạt động hệ thống thang máy: Hình 5.10 Sơ đồ trạng thái lớp ThangMay Thường thang máy bắt đầu hoạt động từ tầng (OnFirstFloor) Khi OnFirstFloor có người tầng (floorNum) nhấn nút u cầu thang máy (goUp(floorNum)) chuyển sang trạng thái chuyển lên (MovingUp) Khi chuyển đến tầng u cầu (arrived) chuyển sang trạng thái dừng/nghỉ (Idle) để mở cửa cho người vào/ra khỏi thang máy Đang trạng thái nghỉ, có tầng yêu cầu Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an CHƯƠNG CÁC MƠ HÌNH PHÂN TÍCH ĐỘNG THÁI 139 lại chuyển lên, có người tầng yêu cầu thang máy chuyển xuống (MovingDown), cịn hết (time-out) sang trạng thái chuyển tầng (MovingtoFirstFloor) tầng Ví dụ 2: Sơ đồ trạng thái cho lớp HoaDon: Hình 5.11 Sơ đồ trạng thái lớp HoaDon Khi hóa đơn (đối tượng lớp HoaDon) tạo lập trạng thái chưa tốn, sau có kiện khách hàng tốn, nghĩa khách trả tiền cho mặt hành chọn mua chuyển sang trạng thái toán Như đề cập trên, ca sử dụng quan trọng, thể nhiệm vụ mà hệ thống phải thực Vì vậy, thường chúng cần có sơ đồ trạng thái kèm theo để mô tả cho lớp ca sử dụng quan trọng hệ thống Ví dụ Sơ đồ trạng thái lớp hệ bán hàng: Hình 5.12 Sơ đồ trạng thái lớp HệBánHàng Trạng thái đối tượng có trạng thái phức hợp, nghĩa chứa trạng thái lồng bên Một Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an 140 CÁC MÔ HÌNH CƠ BẢN TRONG PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG ĐỐI TƯỢNG số trạng thái, ví dụ trạng thái Kiểm duyệt thẻ sơ đồ tiếp tục làm mịn pha sau Ví dụ Sơ đồ trạng thái lớp Telephone: Trong ca sử dụng “Gọi điện thoại”, Telephone mô tả sơ đồ vết kiện Telephone có hai trạng thái chính: nghỉ (Idle) hoạt động (Active) Trạng thái hoạt động lại phân tách tiếp thành âm hiệu điện thoại mời gọi (PlayingDialTone), quay số (Dialing), kết nối hai đầu dây (Connecting) đàm thoại (Talking) Sơ đồ trạng thái cho hoạt động đặc tả hình 5.13 Hình 5.13 Sơ đồ trạng thái Telephone Máy điện thoại trạng thái nghỉ, người gọi nhấc ống nghe lên (off hook) chuyển sang trạng thái hoạt động sẵn sàng phục vụ đàm thoại hai điểm mạng điện thoại Trạng thái hoạt động lại mô tả dạng sơ đồ trạng thái Bắt đầu trạng thái Có âm hiệu điện thoại mời gọi, người gọi quay số (digit) chuyển sang trạng thái Quay số (Dialing) Khi quay xong (completed), chuyển tiếp sang trạng thái Kết nối đường dây kết nối (connected) hai người đàm thoại với Trạng thái đàm thoại lại mơ tả chi tiết sơ Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn Tai lieu Luan van Luan an Do an Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn

Ngày đăng: 07/07/2023, 01:14

Xem thêm:

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w