Thực hành Phân tích thiết kế hướng đối tượng - Bài thực hành 02: Thực hành xây dựng biểu đồ lớp, biểu đồ trạng thái

13 227 0
Thực hành Phân tích thiết kế hướng đối tượng - Bài thực hành 02: Thực hành xây dựng biểu đồ lớp, biểu đồ trạng thái

Đ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

Nội dung của tài liệu trình bày về các thành phần của biểu đồ lớp, biểu đồ trạng thái, xác định các lớp cơ bản, các phương thức và thuộc tính của các lớp cơ bản đó, sử dụng thành thạo phần mềm để biểu diễn biểu đồ lớp của hệ thống, xây dựng biểu đồ lớp thực thể, xây dựng biểu đồ lớp phân tích cho từng Use case dựa vào kịch bản Use case, và xây dựng biểu đồ trạng thái của một lớp trong ứng dụng, trong một Use case.

Thực hành Phân tích thiết kế hướng đối tượng Bài thực hành 02: THỰC HÀNH XÂY DỰNG BIỂU ĐỒ LỚP, BIỂU ĐỒ TRẠNG THÁI Mục tiêu:  Trình bày thành phần biểu đồ lớp, biểu đồ trạng thái  Xác định lớp bản, phương thức thuộc tính lớp  Sử dụng thành thạo phần mềm để biểu diễn biểu đồ lớp hệ thống  Xây dựng biểu đồ lớp thực thể  Xây dựng biểu đồ lớp phân tích cho Use case dựa vào kịch Use case  Xây dựng biểu đồ trạng thái lớp ứng dụng, Use case Cơ sở lý thuyết: 2.1 Các thành phần vẽ Class Trước tiên, xem vẽ Class: Classes (Các lớp): Class thành phần vẽ Class Diagram Class mơ tả nhóm đối tượng có tính chất, hành động hệ thống Ví dụ mơ tả khách hàng “Customer” Class mô tả gồm tên Class, thuộc tính phương thức ThS Dương Thành Phết – Khoa CNTT HUTECH Trang Thực hành Phân tích thiết kế hướng đối tượng Trong đó:  Class Name: tên lớp  Attributes (thuộc tính): mơ tả tính chất đối tượng Ví dụ khách hàng có Mã khách hàng, Tên khách hàng, Địa chỉ, Ngày sinh v.v…  Method (Phương thức): hành động mà đối tượng thực hệ thống Nó thể hành vi đối tượng lớp tạo Relationship (Quan hệ): Relationship thể mối quan hệ Class với quan hệ thường sử dụng sau:  Association  Aggregation  Composition  Generalization + Association: Association quan hệ hai lớp với nhau, thể chúng có liên quan với Association thể qua quan hệ “has: có”, “Own: sở hữu” v.v… Ví dụ quan hệ thể Khách hàng nắm giữ Tài khoản Tài khoản sở hữu Khách hàng + Aggregation: Aggregation loại quan hệ Association mạnh Nó thời gian sống (cùng sinh chết đi) ThS Dương Thành Phết – Khoa CNTT HUTECH Trang Thực hành Phân tích thiết kế hướng đối tượng Ví dụ quan hệ thể lớp Window(cửa sổ) lắp Khung cửa hình chữ nhật Nó sinh lúc + Composition Composition loại mạnh Aggregation thể quan hệ class phần class nên dẫn đến tạo chết Ví dụ class Mailing Address phần class Customer nên có đối tượng Customer phát sinh đối tượng Mailing Address +Generalization Generalization quan hệ thừa kế sử dụng rộng rãi lập trình hướng đối tượng Các lớp cuối Short Term, Long Term, Curent a/c, Savings a/c gọi lớp cụ thể (concrete Class) Chúng tạo đối tượng đối tượng thừa kế toàn thuộc tính, phương thức lớp Các lớp Account, Term Based, Transaction Based lớp trừu tượng (Abstract Class), lớp không tạo đối tượng 2.2 Cách xây dựng vẽ Class Class Diagram vẽ khó xây dựng so với vẽ khác OOAD UML Bạn phải hiểu hệ thống cách rõ ràng có kinh nghiệm lập trình hướng đối tượng xây dựng thành công vẽ ThS Dương Thành Phết – Khoa CNTT HUTECH Trang Thực hành Phân tích thiết kế hướng đối tượng Thực theo bước sau để xây dựng Class Diagram Bước 1: Tìm Classes dự kiến Entity Classes(các lớp thực thể) thực thể có thật hoạt động hệ thống, bạn dựa vào nguồn sau để xác định chúng  Requirement statement: Các yêu cầu Chúng ta phân tích danh từ yêu cầu để tìm thực thể  Use Cases: Phân tích Use Case cung cấp thêm Classes dự kiến  Previous Similar System: cung cấp thêm cho bạn lớp dự kiến  Application Experts: chuyên gia ứng dụng giúp bạn Xem xét, ví dụ ATM thấy đối tượng Entity Class sau:  Customers: khách hàng giao dịch thực thể có thật quản lý hệ thống  Accounts: Tài khoản khách hàng đối tượng thực tế  ATM Cards: Thẻ dùng để truy cập ATM quản lý hệ thống  ATM Transactions: Các giao dịch lưu giữ lại, đối tượng có thật  Banks: Thơng tin ngân hàng bạn giao dịch, có nhiều nhà Bank tham gia vào hệ thống bạn phải quản lý Lúc Bank trở thành đối tượng bạn phải quản lý  ATM: Thông tin ATM bạn giao dịch Nó quản lý tương tự Banks Lưu ý: Chỉ thực thể bên hệ thống xem xét, thực bên hệ thống khơng xem xét Ví dụ Customers người khách hàng quản lý hệ thống khơng phải người dùng máy ATM bên ngồi Bạn phải lưu ý điều để phân biệt Class Actor ThS Dương Thành Phết – Khoa CNTT HUTECH Trang Thực hành Phân tích thiết kế hướng đối tượng Bước 2: Tìm thuộc tính phương thức cho lớp  Tìm thuộc tính: phân tích thơng tin từ form mẫu có sẵn, bạn tìm thuộc tính cho đối tượng lớp Ví dụ thuộc tính lớp Customer thể Form đăng ký thơng tin khách hàng  Tìm phương thức: phương thức hoạt động mà đối tượng lớp thực Chúng ta bổ sung phương thức đầy đủ cho lớp phân tích Sequence Diagram sau Bước 3: Xây dựng quan hệ lớp phát lớp phát sinh Phân tích quan hệ lớp định nghĩa lớp phát sinh quan hệ sinh Chúng ta phân tích thực thể nhận thấy  Lớp Accounts chia thành nhiều loại tài khoản Current Accounts Saving Accounts có quan hệ thừa kế với  Lớp ATM Transactions chia thành nhiều loại giao dịch Deposit, Withdraw, Transfer v.v chúng có quan hệ thừa kế với  Tách vẽ chúng lên vẽ, có Class Diagram cho hệ thống ATM sau: 2.3 Đặc tả Class Nhìn vào Class Diagram thấy cấu trúc hệ thống gồm lớp để cài đặt chúng, phải đặc tả chi tiết Trong đó, cần mơ tả:  Các thuộc tính: Tên, kiểu liệu, kích thước  Các phương thức: ThS Dương Thành Phết – Khoa CNTT HUTECH Trang Thực hành Phân tích thiết kế hướng đối tượng + Tên + Mô tả + Tham số đầu vào: Tên, kiểu liệu, kích thươcs + Kết đầu ra: Tên, kiểu liệu, kích thước + Luồng xử lý + Điều kiện bắt đầu + Điều kiện kết thúc 2.4 Sử dụng vẽ Class Có thể tóm tắt số ứng dụng vẽ Class Diagram sau:  Hiểu cấu trúc hệ thống  Thiết kế hệ thống  Sử dụng để phân tích chi tiết chức (Sequence Diagram, State Diagram v.v…)  Sử dụng để cài đặt (coding) Bài tập 1: “Một công ty chuyên kinh doanh thiết bị điện tử công nghệ thông tin nhiều năm có lượng khách hàng định.Để mở rộng hoạt động kinh doanh mình, cơng ty mong muốn xây dựng hệ thống thương mại điện tử nhằm mở rộng phạm vi kinh doanh mạng Internet Hệ thống phải đảm bảo cho khách hàng viếng thăm Website dễ dàng lựa chọn sản phẩm, xem khuyến mua hàng Việc tốn thực qua mạng tốn trực tiếp cửa hàng Khách hàng nhận hàng cửa hàng sử dụng dịch vụ chuyển hàng có phí cơng ty Ngồi ra, hệ thống cần có phân hệ để đảm bảo cho công ty quản lý hoạt động kinh doanh số lượng hàng có kho, quản lý đơn đặt hàng, tình trạng giao hàng, tốn v.v… Thơng tin chi tiết chức bạn tham khảo thêm Website bán hàng Xây dựng Class Diagram cho hệ thống eCommerce Bước 1: Tìm Classes dự kiến Nghiên cứu kỹ yêu cầu, Use Case nghiên cứu kỹ hệ thống tương tự để xác định lớp dự kiến thông qua việc xác định đối tượng có hệ thống Xem xét Use Case Diagram hệ thống: ThS Dương Thành Phết – Khoa CNTT HUTECH Trang Thực hành Phân tích thiết kế hướng đối tượng  Phân tích Use Case “Xem sản phẩm” xác định thực thể sản phẩm (Products) Sản phẩm phân loại theo chủng loại (Product Types) Nhà sản xuất (Providers) nên lớp có quan hệ với class Products  Xem xét Use Case “Xem khuyến mãi” xác định Class Chương trình khuyến (Promotions)  Use Case “Quản lý giỏ hàng” -> Class giỏ hàng (Shopping Carts)  Use Case Chat -> Class Chat session Những người dùng tham gia Chat Sales Guest hai class dự kiến  Use Case “Đăng ký thành viên” -> Khách hàng (Customers)  Use Case “Quản lý đơn hàng” -> Class đơn hàng (Orders), class thu tiền (Payments) Quản lý chuyển hàng (Shipping Orders) lớp có liên quan với Class Orders Tạm thời vẽ xác định quan hệ sơ có vẽ Class dự kiến sau: Bản vẽ giúp có nhìn cấu trúc hệ thống để tiếp tục phân tích Tất nhiên, phân tích tất Use Case cịn lại tìm hiểu thêm hệ thống để bổ sung đầy đủ Class dự kiến cho hệ thống Bước 2: Xác định thuộc tính quan hệ cho lớp Chúng ta bổ sung thuộc tính cho lớp phân tích quan hệ chúng  Products: xem xét tài liệu mô tả sản phẩm hệ thống thấy Class Products cần thuộc tính sau: Tên sản phẩm, mơ tả, cấu hình, Giá bán, khuyến mãi, bảo hành (xem mơ tả chi tiết sản phẩm Website)… Trong đó, thuộc tính giá thay đổi theo thời gian nên nên tách thành lớp riêng Giá (Prices) Tương tự thuộc tính khuyến tách thành lớp Promotions  Prices: có thuộc tính Mã sản phẩm, Giá, ngày bắt đầu, ngày hết hạn ThS Dương Thành Phết – Khoa CNTT HUTECH Trang Thực hành Phân tích thiết kế hướng đối tượng  Promotions: tương tự giá cần có lớp riêng với thuộc tính Mã sản phẩm, Mơ tả khuyến mãi, Giá trị khuyến mãi, Ngày bắt đầu, Ngày hết hạn  ProductTypes: chứa loại sản phẩm  Providers: chưa tên nhà sản xuất  ShoppingCarts: chứa thông tin như: cartID, ngày, mã sản phẩm, số lượng, đơn giá Chúng ta nhận thấy để nguyên lớp tạo đối tượng chúng lặp thông tin cartID ngày mua nên tách chúng thành ShoppingCarts với thuộc tính CartID, ngày CartDetails với thuộc tính ProductID, số lượng, đơn giá  Tương tự có class Orders với OrderID, ngày, customerID class Orderdetails với ProductID, số lượng, đơn giá  Payments: chứa thông tin PaymentID, OrderID, ngày trả, số tiền, hình thức tốn  Shippings: chứa ShippingID, OrderID, Ngày chuyển, ngày đến, số tiền, phương thức vận chuyển  Customers: CustomerID, Họ tên, địa chỉ, điện thoại, ngày đăng ký v.v…  Guests: chứa sessionID để xác định thơng tin chat  Sales: gộp với lớp người dùng (Users) chứa UserID, Name  ChatSessions: ChatsessionID, tên người bán hàng, mã khách, mã tin nhắn, nội dung tin nhắn, ngày Nhập đầy đủ thuộc tính vẽ, có vẽ sau: Bước 3: Bổ sung phương thức cho lớp ThS Dương Thành Phết – Khoa CNTT HUTECH Trang Thực hành Phân tích thiết kế hướng đối tượng Phương thức hành động mà đối tượng sinh từ lớp thực hệ thống Ví dụ đối tượng lớp Customers đăng ký mới, thay đổi mật (password), kích hoạt người dùng (Active) v.v Bước 4: Thiết kế chi tiết thuộc tính phương thức cho lớp Khi có Class Diagram, bạn cần thiết kế chi tiết lớp cách đặc tả thuộc tính phương thức  Đặc tả thuộc tính: xác định kiểu liệu kích thước  Đặc tả phương thức: xác định liệu đầu vào, liệu đầu Việc sử dụng kiểu liệu mô tả phương thức lớp học lập trình hướng đối tượng Bài tập 2: Mô tả chức yêu cầu HỆ THỐNG QUẢN LÝ THƯ VIỆN Xây dựng hệ thống quản lý thư viện cho trường Đại học gồm hoạt động quản lý thông tin sách, quản lý thông tin độc giả, quản lý hoạt động mượn trả sách:  Sinh Viên trường muốn mượn sách thư viện trước tiên phải đăng ký làm thẻ thư viện theo lớp, thông tin thẻ thư viện gồm (Mã độc giả, họ tên, lớp, ngày sinh, giới tính), thủ thư thực nhập thông tin thẻ thư viện vào hệ thống in thẻ thư viện giao cho sinh viên, thơng tin thẻ thư viện có sai sót hệ thống cho phép thủ thư sửa, độc giả bị loại bỏ khỏi thư viện hệ thống cho phép xóa thẻ thư viện ThS Dương Thành Phết – Khoa CNTT HUTECH Trang Thực hành Phân tích thiết kế hướng đối tượng  Các sách thư viện quản lý thông tin theo đầu sách, đầu sách thư viện có nhiều khác Thơng tin đầu sách gồm (Mã đầu sách, tên đầu sách, nhà xuất bản, số trang, kích thước, tác giả, số lượng sách), thông tin đầu sách gồm (mã đầu, mã sách, tình trạng, ngaynhap) Khi thư viện nhập sách thủ thư có nhiệm vụ nhập thông tin sách vào thư viện, thơng tin sách có thay đổi loại bỏ khỏi thư viện, thủ thư thực sửa thông tin sách xóa sách  Thư viện quản lý đầu sách theo chuyên ngành, đầu sách phân thành chuyên ngành khác Thông tin chuyên ngành gồm (Mã chuyên ngành, tên chuyên ngành, mô tả)  Mỗi độc giả lần mượn mượn sách, độc giả muốn mượn sách vào tìm sách thư viện ghi thơng tin vào phiếu mượn gồm mã sách, mã độc giả gửi cho thủ thư Thủ thư tiến hành ghi nhận thông tin phiếu mượn vào hệ thống, giữ lại thẻ độc giả giao sách cho độc giả Thông tin phiếu mượn gồm (Mã sách, mã độc giả, mã thủ thư cho mượn sách, ngày mượn, tình trạng)  Khi độc giả trả sách thủ thư thực chức trả sách để ghi nhận tình trạng trả sách cho phiếu mượn  Định kỳ thủ thư phải làm báo cáo thống kê gửi lên lãnh đạo thư viện báo cáo gồm: Thông tin đầu sách cho mượn nhiều nhất, thông tin độc giả chưa trả sách  Để quản lý người dùng hệ thống, thư viện có nhân viên đóng người quản trị vai trị làm Nhân viên có quyền quản lý thơng tin người dùng hệ thống Khi có nhân viên thư viện người quản trị cập nhật thông tin thủ thư vào hệ thống, tạo tài khoản cấp quyền cho nhân viên thư viện Khi thơng tin nhân viên thư viện có sai sót loại bỏ khỏi hệ thống người quản trị sửa xóa thơng tin nhân viên thư viện khỏi hệ thống  Người dùng hệ thống phải đăng nhập trước thực Yêu cầu: Dựa vào đặc tả trên, xác định lớp thực thể gồm (tên lớp, thuộc tính bản, phương thức bản) Xác định mối quan hệ lớp, sử dụng Rational Rose để biểu diễn lớp ThS Dương Thành Phết – Khoa CNTT HUTECH Trang 10 Thực hành Phân tích thiết kế hướng đối tượng Phân tích Use case dựa vào kịch bản, ví dụ Use case thêm đầu sách xác định lớp Use case Xây dựng biểu đồ trạng thái lớp DocGia ứng dụng dựa vào đặc tả phần mềm Xây dựng biểu đồ trạng thái lớp DocGia Use case trả sách Phân tích Use case cịn lại hệ thống xây dựng biểu đồ lớp phân tích cho Use case Xem xét lớp lại, xây dựng biểu đồ chuyển trạng thái có Hướng dẫn thực hiện: Dựa vào đặc tả trên, xác định lớp bao gồm (tên lớp, thuộc tính bản, phương thức bản) Phân tích tốn: - Bước 1: Xem xét kỹ lại đặc tả hệ thống, kịch Use case, sử dụng phương pháp trích chọn danh từ: Sinh viên, lớp, thẻ thư viện, Mã độc giả, họ tên, lớp, ngày sinh, giới tính, thủ thư, sách, đầu sách, sao, mã đầu, mã sách, tình trạng, chuyên ngành, Mã chuyên ngành, tên chuyên ngành, mô tả, độc giả, phiếu mượn, Mã sách, mã độc giả, mã thủ thư cho mượn sách, ngày mượn, tình trạng, tài khoản, người dùng - Bước 2: Loại bỏ danh từ trung khơng có giá trị Ví dụ danh từ Sinh viên, thẻ thư viện, bạn đọc, độc giả đối tượng người tham gia mượn sách thư viện độc giả - Bước 3: Xác định thuộc tính cho lớp Các danh từ trở thành lớp, danh từ khác trở thành thuộc tính lớp Ví dụ danh từ phiếu mượn thành lớp PhieuMuon danh từ Mã sách, mã độc giả, mã thủ thư cho mượn sách, ngày mượn, tình trạng thành thuộc tính lớp PhieuMuon - Bước 4: Xác định quan hệ lớp Xác định liên kết lớp có Minh họa: ThS Dương Thành Phết – Khoa CNTT HUTECH Trang 11 Thực hành Phân tích thiết kế hướng đối tượng Sau xây dựng biểu đồ lớp dựa vào danh từ, phân tích kịch cho Use case để xây dựng biểu đồ lớp cho Use case Hướng dẫn: Phân tích: Dựa vào kịch người sử dụng phân tích Use case tìm lớp - B1 Tìm lớp Bound, theo nguyên tắc Actor Use case có lớp Bound - B2 Xác định lớp Control, theo nguyên tắc Use case có lớp Control - B3 Xác định lớp thực thể, Đọc kịch xác định danh từ tham gia Use case để tìm lớp thực thể Minh họa: ThS Dương Thành Phết – Khoa CNTT HUTECH Trang 12 Thực hành Phân tích thiết kế hướng đối tượng Xây dựng biểu đồ trạng thái Hướng dẫn: Phân tích  B1: Đọc đặc tả phần mềm, đặc tả chi tiết dựa vào nghiệp vụ hệ thống  B2: Xác định trạng thái lớp  B2: Xác định chuyển trạng thái, kiện, điều kiện chuyển, hành động để chuyển trạng thái Minh họa: Bài tập tự thực hiện: Phân tích Use case lại hệ thống xây dựng biểu đồ lớp phân tích cho Use case Xem xét lớp lại, xây dựng biểu đồ chuyển trạng thái có Hết Lab 02 ThS Dương Thành Phết – Khoa CNTT HUTECH Trang 13 ... mềm Xây dựng biểu đồ trạng thái lớp DocGia Use case trả sách Phân tích Use case lại hệ thống xây dựng biểu đồ lớp phân tích cho Use case Xem xét lớp lại, xây dựng biểu đồ chuyển trạng thái có Hướng. .. 12 Thực hành Phân tích thiết kế hướng đối tượng Xây dựng biểu đồ trạng thái Hướng dẫn: Phân tích  B1: Đọc đặc tả phần mềm, đặc tả chi tiết dựa vào nghiệp vụ hệ thống  B2: Xác định trạng thái. .. CNTT HUTECH Trang 10 Thực hành Phân tích thiết kế hướng đối tượng Phân tích Use case dựa vào kịch bản, ví dụ Use case thêm đầu sách xác định lớp Use case Xây dựng biểu đồ trạng thái lớp DocGia ứng

Ngày đăng: 11/05/2021, 08:07

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan