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

Slied giáo trình phân tích thiết kế hướng đối tượng DH UML10

39 247 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

VIỆN KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM VIỆN CÔNG NGHỆ THÔNG TIN PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG PGS.TS Đặng Văn Đức Email: dvduc@ioit.ac.vn Nội dung Tiến trình phát triển phần mềm theo hướng đối tượng Giới thiệu Ngôn ngữ mô hình hóa thống UML Mô hình hóa nghiệp vụ Mô hình hóa trường hợp sử dụng Mô hình hóa tương tác đối tượng Biểu đồ lớp gói Biểu đồ chuyển trạng thái biểu đồ hoạt động Biểu đồ kiến trúc vật lý phát sinh mã trình Mô hình hóa liệu  Bài học thực nghiệm Bài 10 - 10 nghiệm Bài học Bài thực Hệ thống quản lý thư viện Các bước xây dựng ứng dụng  Mục đích:    Xây dựng hệ thống phần mềm với khả quản lý việc mượn sách tạp chí thư viện Hệ thống xây dựng đơn giản dễ dàng mở rộng sau Các bước  Hình thành mô hình phân tích kết phân tích mô tả ứng dụng    Phân tích lĩnh vực vấn đề Mở rộng mô hình phân tích thành mô hình thiết kế Lập trình để có chương trình chạy Bài 10 - Đặc tả yêu cầu hệ thống   Đây hệ thống hỗ trợ quản lý thư viện Thư viện cho đọc giả mượn sách, tạp chí   Thư viện mua sách, tạp chí        Sách, tạp chí thông dụng mua nhiều Huỷ bỏ sách tạp chí cũ hạn hay rách nát Thủ thư nhân viên thư viện giao tiếp với đọc giả hệ thống hỗ trợ công việc Độc giả đặt trước sách hay tạp chí mà chưa có thư viện   Đọc giả, sách tạp chí đăng ký trước hệ thống Khi người khác trả hay mua độc giả thông báo Độc giả hay thủ thư có khả huỷ bỏ đặt trước Có khả tạo lập, cập nhật, huỷ bỏ thông tin đầu sách, độc giả, việc cho mượn (loan) đặt trước hệ thống Hệ thống chạy Unix, Windows giao diện đồ họa dễ sử dụng Dễ dàng mở rộng chức cho hệ thống tương lai Bài 10 - Phân tích hệ thống  Nhiệm vụ phân tích   Thu thập mô tả toàn yêu cầu để hình thành mô hình phân tích Xác định lớp lĩnh vực vấn đề (các khái niệm)   Xác định hệ thống quản lý Các bước phân tích hệ thống  Phân tích yêu cầu     Xác định UC để mô tả mà hệ thống thư viện cần có mặt chức -> yêu cầu chức hệ thống Tìm kiếm tác nhân: Thủ thư Độc giả Giả sử: Độc giả không trực tiếp sử dụng hệ thống Mô tả tác nhân   Độc giả (Borrower): người mượn, đặt trước sách hay tạp chí Tác nhân người hay thư viện khác Thủ thư (Librarian): người thực sử dụng hệ thống Họ trì hệ thống, thực chức cho mượn, đặt trước thông báo thông tin khác thư viện Bài 10 - Phân tích hệ thống  Xác định UC Return of item Librarian Librarian Lend item Add Title Remove Reservation Remove or Update Title Borrower Add Item Make reservation Maintenance Remove Item Add Borrower Remove or Update Borrower Bài 10 - Phân tích hệ thống  Mô tả UC  UC Cho mượn tài liệu (Lend Item)  Nếu độc giả không đặt trước để mượn  Nếu độc giả đặt trước  Tìm tên sách Tìm thấy sách thư viện Nhận danh độc giả Thư viện cho mượn sách Đăng ký mượn Nhận danh độc giả Nhận danh sách mượn Nhận thấy sách thư viện Thư viện cho mượn Đăng ký mượn Huỷ bỏ đặt trước UC Trả tài liệu (Return Item) Người mượn trả tài liệu Nhận danh độc giả trả sách Nhận danh tài liệu mượn Nhận biết việc cho mượn thông qua tên tài liệu tài liệu Huỷ bỏ việc cho mượn Bài 10 - Phân tích hệ thống  Mô tả UC  UC Đặt trước (Make Reservation)   UC Huỷ đặt trước (Remove Reservation) UC Bổ sung tên tài liệu (Add Title)   Nhận biết tên tài liệu Nhận biết tên người mượn Đăng ký mượn theo tên tài liệu với số lượng tên người mượn Bổ sung vào hệ thống tên tài liệu bao gồm tên tài liệu, tác giả số ISBN UC Cập nhật hay huỷ bỏ tên tài liệu (Update or Remove Title)  Cập nhật tên tài liệu:  Xác định tên tài liệu cập nhật Hiển thị thông tin tên tài liệu, tên tác giả, ISBN để cập nhật Cập nhật thông tin tài liệu Huỷ bỏ tên tài liệu: Xác định tên tài liệu huỷ Huỷ toàn tài liệu có tên kèm theo tài liệu cho mượn liên quan Huỷ bỏ tên tài liệu Bài 10 - Phân tích hệ thống  Mô tả UC  UC Bổ sung tài liệu (Add Item)  Nhận biết tên tài liệu Kiểm tra xem tên tài liệu đăng ký hệ thống? Nếu chưa cần đăng ký trước bổ sung tài liệu Đòi hỏi thông tin tài liệu (gán id cho tài liệu, thông thường mã vạch hay số dán sau bìa sách) Bổ sung tài liệu vào hệ thống UC Huỷ bỏ tài liệu (Remove Item) Nhận biết tên tài liệu Đòi hỏi id tài liệu Nếu tìm thấy tài liệu huỷ bỏ khỏi hệ thống, sau huỷ bỏ đăng ký mượn tài liệu Bài 10 - 10 Thiết kếThiết kế chi tiết  Chi tiết nội dung gói   Các lớp mô tả chi tiết đủ cho lập trình Mô tả lớp kỹ thuật bổ sung (trong gói UI gói CSDL)   Để mở rộng, chi tiết hóa lớp nghiệp vụ phác họa pha phân tích Thực cách tạo các phần tử biểu đồ bao gồm biểu đồ lớp, biểu đồ trạng thái biểu đồ hoạt động Bài 10 - 25 Thiết kếThiết kế chi tiết  Gói CSDL  Bổ sung dịch vụ lưu trữ đối tượng   Cho tệp phẳng, CSDL thương mại CSDL quan hệ hay CSDL hướng đối tượng Thí dụ với giải pháp lưu trữ đối tượng tệp     Chi tiết lưu trữ tệp ẩn với đối tượng nghiệp vụ Các đối tượng nghiệp vụ việc gọi thao tác chung chúng store(), update(), delete(), find() Hình thành lớp mới: Persistent  Là lớp cha lớp có nhu cầu lưu trữ đối tượng  Nó lớp trừu tượng  Các lớp kế thừa từ Persistent cần cài đặt read(), write() Sử dụng lớp ObjId gói tiện ích Persistent objid : integer $iterfile : RandomAccessFile Persistent() getObjId() $getObject() store() delete() update() $iterate() write() read() Khi thay đổi cách lưu trữu CSDL thay đổi lớp Persistent Bài 10 - 26 Thiết kếThiết kế chi tiết  Gói Business objects package  Bổ sung chi tiết lớp đối tượng nghiệp vụ biểu đồ lớp    Định nghĩa đối số, giá trị cho lại hàm thành phần Bổ sung hàm read(), write() cho lớp kế thừa từ Persistent gói CSDL Not reserved addReservation( R : Reservation ) / reservations.add( R ) removeReservation( R : Reservation )[ reservations.size() == ] / reservations.remove( R ) Reserved Bổ sung chi tiết biểu đồ trạng thái   addReservation(R : Reservation) / reservations.add( R ) removeReservation( R : trạngReservation )[ reservations.size() > ] / reservation.remove ( R ) Trong thiết kế lớp Title: thái xác định nhờ véc tơ reservations Các đối tượng khác làm thay đổi trạng thái Title gọi hàm addReservation() hay removeReservation() Lớp Title Bài 10 - 27 Thiết kế Title Loan BorrowerInformation lastname : String firstname : String address : String city : String zip : String state : String loans : ObjId[] reservations : ObjId[] item : ObjId borrower : ObjId has / have BorrowerInformation() $getBorrowerInformation() $iterateBorrower() addLoan() removeLoan() getLoan() getNoLoans() addReservation() removeReservation() getNoReservations() write() read() $findOnLastName() setLastName() setFirstName() setAddress() setCity() setZip() setState() getLastName() getFirstName() getCity() getZip() getState() getReservation() n Loan() getBorrower() getTitleName() getItem() getItemId() write() read() name : String author : String isbn : String type : int items : ObjId[] reservations : ObjId[] Persistent (from Database Package) objid : integer $iterfile : RandomAccessFile Persistent() getObjId() $getObject() store() delete() update() $iterate() write() read() refer to / may be loaned i has copy of Item itemid : Integer title : ObjId loan : ObjId Item() getTitleName() getId() setLoan() getLoan() isBorrowed() write() read() refer to / may be reserved in a Reservation n n n title : ObjId borrower : ObjId Reservation() getTitle() getBorrower() write() read() Title() $findOnName() $findOnAuthor() $findOnISBN() $iterateTitle() $getTitle() getTitle() getAuthor() getISBN() getType() getTypeAsString() setTitle() setAuthor() setISBN() setType() getNoItems() addItem() removeItemAtIndex() getItem() getItemWithId() getNoReservations() getReservation() addReservation() removeReservation() write() read() Bài 10 - 28 Thiết kếThiết kế chi tiết  Gói UI     Là gói trên đỉnh gói khác Trình diễn thông tin cho người sử dụng nhập liệu cho hệ thống Các lớp gói xây dựng sở thư viện ngôn ngữ lập trình bậc cao hay công cụ thương mại Mô hình động (thí dụ biểu đồ trình tự) thiết kế đặt gói   Trên sở biểu đồ trình tự phân tích UC -> chi tiết Có thể sử dụng biểu đồ cộng tác để thiết kế giao diện Bài 10 - 29 Thiết kếThiết kế chi tiết- Gói UI – Biểu đồ trình tự Add Title $UNNAMED$229 : Librarian $UNNAMED$230 : TitleFrame $UNNAMED$231 : Title $UNNAMED$232 : Item 1: TitleFrame ( ) 2: addButton_Clicked( ) Check if already exist 3: $findOnName (String) Create Title and item objects Store items and title 5: Title (String, String, String, int) 4: $findOnISBN (String) 6: Item (ObjId, int) 7: store ( ) 8: addItem (ObjId) 9: store ( ) Bài 10 - 30 Thiết kếThiết kế chi tiết- Gói UI – Biểu đồ cộng tác Add Title 1: TitleFrame ( ) 2: addButton_Clicked ( ) $UNNAMED$230 : TitleFrame $UNNAMED$229 : Librarian 6: Item (ObjId, int) 7: store ( ) $UNNAMED$231 : Title 3: $findOnName (String) 4: $findOnISBN (String) 5: Title (String, String, String, int) 8: addItem (ObjId) 9: store ( ) $UNNAMED$232 : Item Bài 10 - 31 Thiết kếThiết kế giao diện người sử dụng   Có thể thực riêng rẽ song song với công việc khác pha phân tích Dựa sở UC, hệ thống chia thành chức   Thí dụ     Mỗi chúng có thực đơn riêng thực đơn Functions: Thiết kế cửa sổ để thực chức hệ thống Cho mượn, Trả tài liệu, Đặt trước Informations: Các cửa sổ liên qaun đến trình diễn thông tin hệ thống thông tin liên quan đến tên sách, độc giả Maintenance: Các cửa sổ cho phép bảo trì hệ thống cập nhật, hủy bỏ tài liệu, độc giả Có thể sử dụng IDE để thiết kế cửa sổ, bổ sung controls Bài 10 - 32 Thiết kế UI  Thiết kế giao diện người sử dụng MainWindow StartClass $main() MessageBox okButton_Clicked() MessageBox() paint() LendingItem_Action() ReturningItem_Action() ReserveTitle_Action() RemoveReservation_Action() Title_Action() AboutDialog paint() okButton_Clicked() AboutDialog() Borrower_Action() BrowseAll_Action() InsertTitle_Action() UpdateTitleItems_Action() InsertBorrower_Action() UpdateBorrower_Action() About_Action() Exit_Action() resultTitle() resultBorrower() QuitDialog yesButton_Clicked() noButton_Clicked() QuitDialog() MainWindow() Bài 10 - 33 Thiết kế Gói UI/Functions MainWindow LendItemFrame borrower : BorrowerInformation title : Title findTitleButton_Clicked() findBorrowerInformation_Clicked() okButton_Clicked() cancelButton_Clicked() itemList_ListSelect() resultTitle() resultBorrower() checkStatus() LendingItemFrame() paint() LendingItem_Action() ReturningItem_Action() ReserveTitle_Action() RemoveReservation_Action() Title_Action() Borrower_Action() BrowseAll_Action() InsertTitle_Action() UpdateTitleItems_Action() InsertBorrower_Action() UpdateBorrower_Action() About_Action() Exit_Action() resultTitle() resultBorrower() MainWindow() >> Title ReturnItemFrame title : Title Item findTitleButton_Clicked() findBorrowerButton_Clicked() okButton_Clicked() cancelButton_Clicked() itemList_Selected() resultTitle() checkStatus() ReturnItemFrame() BorrowerInformation Loan CancelReservationFrame borrower : BorrowerInformation title : Title findTitleButton_Clicked() okButton_Clicked() cancelButton_Clicked() borrowerList_Selected() resultTitle() checkStatus() CancelReservationFrame() ReservationFrame borrower : BorrowerInformation title : Title findTitleButton_Clicked() findBorrowerButton_Clicked() okButton_Clicked() cancelButton_Clicked() resultTitle() resultBorrower() checkStatus() ReservationFrame() BorrowerInformation Reservation Title Bài 10 - 34 Thiết kế Gói UI/Information MainWindow TitleInfoWindow findButton_Clicked() okButton_Clicked() resultTitle() TitleInfoWindow() Loan Item FindTitleDialog reswindow : ResultOfFindTitle current : Title findButton_Clicked() okButton_Clicked() cancelButton_Clicked() FindTitleDialog()

Ngày đăng: 22/08/2017, 21:06

Xem thêm: Slied giáo trình phân tích thiết kế hướng đối tượng DH UML10

TỪ KHÓA LIÊN QUAN

Mục lục

    PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG

    Các bước xây dựng ứng dụng

    Đặc tả yêu cầu hệ thống

    Phân tích hệ thống

    Phân tích lĩnh vực vấn đề

    Thiết kế Gói UI/Functions

    Thiết kế Gói UI/Information

    Thiết kế Gói UI/Maintenance

    Kiểm thử và triển khai

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

TÀI LIỆU LIÊN QUAN