1. Trang chủ
  2. » Giáo án - Bài giảng

công nghệ phần mềm nguyễn văn hiệp chương8 thiết kế hướng đối tượng sinhvienzone com

22 52 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

Chương ne C 8.1 Nhiệm vụ thiết kế 8.2 Các artifacts cần tạo 8.3 Các worker tham gia thiết kế 8.4 Qui trình thiết kế 8.5 Thiết kế kiến trúc 8.6 Thiết kế use-case 8.7 Thiết kế class 8.8 Thiết kế hệ thống 8.9 Kết chương om Thiết kế hướng ₫ối tượng Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Cụ thể hóa, chi tiết hóa phát họa cách thức giải chức tương ứng Nếu dùng kỹ thuật thiết kế hướng ₫ối tượng, thiết kế cách giải chức class ₫ối tượng cụ thể, mối quan hệ chúng thông tin cụ thể, chi tiết kèm theo Thí dụ class ₫ều có tên, có thuộc tính chi tiết tác vụ chức (có thể kèm theo giải thuật tác vụ ₫ó) Workflow thiết kế cụ thể hóa, chi tiết hóa tất phát họa cách giải yêu cầu chức hệ thống phần mềm Workflow thiết kế ₫ặc tả ₫ược kiến trúc cụ thể, chi tiết hệ thống phần mềm Toàn artifacts ₫ược tạo trì workflow thiết kế ₫ược gọi mơ hình thiết kế mơ hình triển khai Si nh ‰ Vi 8.1 Nhiệm vụ thiết kế ‰ ‰ ‰ Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide https://fb.com/sinhvienzonevn 8.1 Nhiệm vụ thiết kế Mục ₫ích artifacts ₫ược tạo workflow thiết kế : ƒ Giúp nắm bắt hệ thống con, class thiết kế, interface chúng (interface ↔ interface, interface ↔ class class ↔ class) ƒ Giúp ta xem xét dễ dàng bảng thiết kế cách dùng ký hiệu ngôn ngữ ₫ặc tả ₫ể miêu tả, hiển thị artifacts ƒ Giúp người nghiên cứu hệ thống ₫ạt ₫ược hiểu biết sâu sắc ràng buộc, yêu cầu không chức liên quan ₫ến ngôn ngữ lập trình ₫ược dùng ₫ể thực, việc dùng lại linh kiện có sẵn, HĐH, cơng nghệ phân tán, xử lý ₫ồng thời, database, giao diện, quản lý giao tác… ƒ Tạo mức trừu tượng ₫ể làm ₫ầu vào trực tiếp cho hoạt ₫ộng thực hệ thống phần mềm ne C om ‰ Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Mơ hình thiết kế = hệ thống kết thiết kế, chứa : ƒ hệ thống con, có, hệ thống chứa : o dẫn xuất use-case cấp thiết kế, dẫn xuất chứa : lược ₫ồ class cấp thiết kế lược ₫ồ tương tác ₫ối tượng cấp thiết kế 'flow of events' cấp thiết kế yêu cầu ₫ặc biệt use-case, hay toàn use-case cho workflow thực ƒ Đặc tả kiến trúc hệ thống phần mềm theo góc nhìn thiết kế (view of design model) Mơ hình triển khai : ƒ Sẽ ₫ặc tả kiến trúc phần mềm theo góc nhìn triển khai Si nh ‰ Vi 8.2 Các artifacts cần tạo ‰ Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Mơn : Nhập mơn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide https://fb.com/sinhvienzonevn 8.2 Các artifacts cần tạo * Desgin System * Desgin Class * * * C * Use-Case Realization Design ne * Design Subsystem om Design Model * Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Interface nh Vi 8.3 Các worker tham gia thiết kế Use-Case Engineer Component Engineer Chịu trách nhiệm Chịu trách nhiệm Chịu trách nhiệm Si Architect Desgin Model Use-Case Deployment Architecture Description Realization Model Desgin Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Design Design class Subsystem Interface Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide https://fb.com/sinhvienzonevn 8.4 Qui trình thiết kế Architectural Design Architect ne C Design a Class Component Engineer om Design a Use-Case Use-Case Engineer Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Design a Subsystem Si ‰ Nhiệm vụ hoạt ₫ộng thiết kế kiến trúc xây dựng mô hình thiết kế, mơ hình triển khai kiến trúc hệ thống phần mềm theo góc nhìn tương ứng Để xây dựng mơ hình triển khai, ta nhận dạng thơng tin sau : ƒ Các nút tính tốn cấu hình mạng chúng Để phục vụ xây dựng mơ hình thiết kế, ta nhận dạng thông tin sau : ƒ Các hệ thống interface chúng ƒ Các class thiết kế có ý nghĩa kiến trúc (như class chủ ₫ộng) ƒ Các chế thiết kế tổng quát ₫ể xử lý yêu cầu chung tính bền vững, tính hiệu quả… mà ta ₫ã nắm bắt ₫ược workflow phân tích nh ‰ Vi 8.5 Thiết kế kiến trúc ‰ Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Mơn : Nhập mơn Cơng nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide https://fb.com/sinhvienzonevn 8.5 Thiết kế kiến trúc ne C om Nhận dạng nút cấu hình mạng nối kết ‰ Cấu hình mạng vật lý ảnh hưởng ₫ến kiến trúc phần mềm, gồm khía cạnh sau : ƒ Các nút liên quan, khả nhớ cơng suất tính tốn nút ƒ Kiểu kết nối giao thức nút ƒ Các tính chất kết nối giao thức băng thông, ₫ộ sẵn sàng, chất lượng,… ƒ Mức ₫ộ cần thiết tính dư thừa, ₫ề kháng lỗi, di cư process, lưu liệu… Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Vi 8.5 Thiết kế kiến trúc Si nh Nhận dạng hệ thống interface chúng ‰ Được thực từ ₫ầu hay mô hình thiết kế phát triển lên ₫ộ phức tạp cao nên cần phải chia nhỏ ‰ Một số hệ thống ₫ược dùng lại từ project khác ‰ Các hoạt ₫ộng cụ thể : ƒ Nhận dạng hệ thống cấp ứng dụng ƒ Nhận dạng hệ thống cấp (middleware) cấp hệ thống ƒ Định nghĩa phụ thuộc hệ thống ƒ Nhận dạng interface giao tiếp hệ thống Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 10 https://fb.com/sinhvienzonevn 8.5 Thiết kế kiến trúc ne C om Nhận dạng hệ thống interface chúng ‰ Các hệ thống xử lý lĩnh vực thường có kiến trúc giống nhau, ₫ó ta chọn mẫu kiến trúc phổ biến có sẵn ₫ể làm kiến trúc hệ thống phần mềm cần thiết kế ‰ Mẫu phương tiện miêu tả, dùng chung dùng lại kiến thức nhiều người Một mẫu kiến trúc ₫ặc tả kiến trúc có rồi, ₫ược thiết kế tốt, ₫ã ₫ược dùng kiểm chứng nhiều ứng dụng khác Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 11 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Vi 8.5 Thiết kế kiến trúc Si nh Kiến trúc MVC (Model-View-Controller) ‰ Đặc tả : Hệ thống gồm thành phần luận lý tương tác lẫn : ƒ Model quản lý liệu tác vụ liên quan ₫ến liệu ƒ View ₫ịnh nghĩa quản lý cách thức liệu ₫ược trình bày cho user ƒ Controller quản lý tương tác với user ấn phím, click chuột… gởi thơng tin tương tác tới View và/hoặc Model Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 12 https://fb.com/sinhvienzonevn 8.5 Thiết kế kiến trúc ne C om Kiến trúc MVC (Model-View-Controller) Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 13 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Vi 8.5 Thiết kế kiến trúc Si nh Kiến trúc MVC (Model-View-Controller) ‰ Thí dụ : Hệ thống web dùng kiến trúc MVC : Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Mơn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 14 https://fb.com/sinhvienzonevn 8.5 Thiết kế kiến trúc ne C om Kiến trúc MVC (Model-View-Controller) ‰ Tình nên dùng : Hệ thống có nhiều cách ₫ể view tương tác với liệu, ta chưa biết trước yêu cầu tương lai tương tác biểu diễn liệu chương trình ‰ Ưu ₫iểm : cho phép liệu thay ₫ổi ₫ộc lập với cách thức thể ngược lại ‰ Khuyết ₫iểm : cần nhiều code code phức tạp mơ hình liệu tương tác mức ₫ộ ₫ơn giản Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 15 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Vi 8.5 Thiết kế kiến trúc Si nh Kiến trúc nhiều cấp (Layered architecture) ‰ Đặc tả : Hệ thống gồm nhiều cấp dạng chồng lên nhau, layer có chức cụ thể, rõ ràng cung cấp dịch vụ cho layer Các layer cấp thấp chứa dịch vụ ₫ược dùng cho toàn hệ thống Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 16 https://fb.com/sinhvienzonevn 8.5 Thiết kế kiến trúc ne C om Kiến trúc nhiều cấp (Layered architecture) ‰ Thí dụ : Hệ thống dùng chung tài liệu copy thư viện khác Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 17 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Vi 8.5 Thiết kế kiến trúc Si nh Kiến trúc nhiều cấp (Layered architecture) ‰ Tình nên dùng : xây dựng khả hệ thống có sẵn, hay có nhiều nhóm phát triển khác nhau, nhóm chịu trách nhiệm layer chức cụ thể, hay có yêu cầu bảo mật nhiều cấp ‰ Ưu ₫iểm : cho phép thay ₫ổi toàn layer cho interface khơng ₫ổi Có thể giải chức ₫ó (xác nhận user) nhiều cấp theo cách thức tăng dần ‰ Khuyết ₫iểm : khó tách bạch chức cấp, layer khó tương tác với layer phía khơng liền kề Hiệu giảm sút nhiều layer phải tương tác ₫ể giải chức ₫ó Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Mơn : Nhập mơn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 18 https://fb.com/sinhvienzonevn 8.5 Thiết kế kiến trúc ne C om Kiến trúc kho (Repository Architecture) ‰ Đặc tả : Tất liệu hệ thống ₫ược quản lý kho chứa tập trung, thành phần chức hệ thống ₫ều truy xuất kho chứa Các thành phần không tương tác trực tiếp với nhau, thông qua kho chứa tập trung Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 19 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Vi 8.5 Thiết kế kiến trúc Si nh Kiến trúc kho (Repository Architecture) ‰ Thí dụ : Mơi trường IDE gồm nhiều thành phần dùng chung kho thông tin, tool tạo thông tin ₫ể kho ₫ể tool khác dùng Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Mơn : Nhập mơn Cơng nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 20 https://fb.com/sinhvienzonevn 8.5 Thiết kế kiến trúc ne C om Kiến trúc kho (Repository Architecture) ‰ Tình nên dùng : hệ thống tạo chứa lượng lớn thông tin thời gian dài, hay hệ thống dựa vào liệu, ₫ó việc chứa thơng tin vào kho kích hoạt tool hay chức hoạt ₫ộng ‰ Ưu ₫iểm : thành phần ₫ộc lập nhau, khác ‰ Khuyết ₫iểm : kho ₫iểm yếu nhất, có lỗi ảnh hưởng tồn thành phần chức Có vấn ₫ề truy xuất ₫ồng thời kho, phân tán kho nhiều máy khó khăn Mơn : Nhập mơn Cơng nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 21 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Vi 8.5 Thiết kế kiến trúc Si nh Kiến trúc client-server (client-server Architecture) ‰ Đặc tả : Hệ thống gồm loại phần tử chức : server cung cấp số dịch vụ, client phần tử sử dụng dịch vụ cách truy xuất ₫ến server tương ứng Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Mơn : Nhập mơn Cơng nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 22 https://fb.com/sinhvienzonevn 8.5 Thiết kế kiến trúc ne C om Kiến trúc client-server (client-server Architecture) ‰ Thí dụ : Hệ thống quản lý phim ảnh dùng mơ hình client-server Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 23 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Vi 8.5 Thiết kế kiến trúc Si nh Kiến trúc client-server (client-server Architecture) ‰ Tình nên dùng : database dùng chung từ nhiều vị trí khác hay tải hệ thống thay ₫ổi ₫ộng (nhân server thành nhiều phần tử) ‰ Ưu ₫iểm : server phân tán tự mạng ‰ Khuyết ₫iểm : ₫ộ hiệu phụ thuộc vào mạng hệ thống nên khó lường trước Nếu server ₫ược quản lý tổ chức khác có vấn ₫ề quản lý chúng Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Mơn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 24 https://fb.com/sinhvienzonevn 8.5 Thiết kế kiến trúc ne C om Kiến trúc ₫ường ống lọc (Pipe and filter Architecture) ‰ Đặc tả : Xử lý liệu thông qua ống gồm nhiều thành phần xử lý (filter) rời rạc nối tiếp nhau, filter thực hoạt ₫ộng chuyển ₫ổi liệu từ dạng ₫ầu vào thành dạng ₫ầu ₫ể thành phần sau xử lý tiếp Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 25 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Vi 8.5 Thiết kế kiến trúc Si nh Kiến trúc ₫ường ống lọc (Pipe and filter Architecture) ‰ Thí dụ : Hệ thống xử lý hóa ₫ơn ₫ặt hàng Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Mơn : Nhập mơn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 26 https://fb.com/sinhvienzonevn 8.5 Thiết kế kiến trúc ne C om Kiến trúc ₫ường ống lọc (Pipe and filter Architecture) ‰ Tình nên dùng : ứng dụng xử lý liệu mà liệu nhập cần ₫ược xử lý nhiều công ₫oạn khác trước tạo kết cuối (compiler) ‰ Ưu ₫iểm : dễ dàng dùng lại filter hệ thống cũ, phù hợp với nhiều hoạt ₫ộng nghiệp vụ, dễ dàng nâng cấp cách thêm filter ‰ Khuyết ₫iểm : ₫ịnh dạng liệu phải thỏa mãn ₫ồng thời filter liền kề : filter tạo kết filter dùng kết ₫ó Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 27 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Vi 8.5 Thiết kế kiến trúc Si nh Nhận dạng class quan trọng mặt kiến trúc ‰ Cần nhận dạng class thiết kế quan trọng mặt kiến trúc ₫ể làm tiền ₫ề cho hoạt ₫ộng thiết kế chi tiết, class khác ₫ược nhận dạng thiết kế use-case : ƒ Nhận dạng class thiết kế từ class phân tích tương ứng ƒ Nhận dạng class chủ ₫ộng ý yêu cầu ₫ồng thời hệ thống : Các yêu cầu ₫ộ hiệu quả, ₫ộ sẵn sàng, công suất hệ thống Sự phân tán hệ thống phần mềm nút Các yêu cầu khác khởi ₫ộng, kết thúc, tránh deadlock, tránh bảo hòa, cấu hình lại nút, khả nối kết… Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 28 https://fb.com/sinhvienzonevn 8.5 Thiết kế kiến trúc ne C om Nhận dạng chế thiết kế tổng quát ‰ Từ yêu cầu chung ₫ặc biệt ₫ã ₫ược nhận dạng workflow phân tích, ta ₫ịnh xử lý chúng dựa cơng nghệ thiết kế thực sẵn có Kết tập chế thiết kế tổng quát Các yêu cầu cần xử lý thường liên quan ₫ến : ƒ Tính bền vững ƒ Sự phân tán ₫ồng thời ƒ Các tính chất an tồn liệu ƒ Đề kháng với lỗi ƒ Quản lý giao tác Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 29 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Nhiệm vụ thiết kế use-case ₫ể : ƒ Nhận dạng hệ thống class thiết kế có ₫ối tượng tham gia vào việc thực hoạt ₫ộng tồn “flow of events cấp thiết kế” use-case tương ứng ƒ Thể tương tác hệ thống con, hệ thống với ₫ối tượng thiết kế, ₫ối tượng thiết kế việc thực use-case thông qua lược ₫ồ ₫ộng lược ₫ồ trình tự, lược ₫ồ cộng tác, lược ₫ồ hoạt ₫ộng, lược ₫ồ trạng thái ƒ Nhận dạng thêm số yêu cầu ₫ặc biệt phi chức cho việc thực tác vụ, class hệ thống Si nh ‰ Vi 8.6 Thiết kế use-case Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 30 https://fb.com/sinhvienzonevn 8.6 Thiết kế use-case ne C om Nhận dạng class thiết kế thực use-case ‰ Ở bước này, ta : ƒ Nghiên cứu class biên, thực thể, ₫iều khiển dẫn xuất use-case cấp phân tích tương ứng ₫ể nhận dạng class thiết kế ₫ược dẫn xuất từ class phân tích ƒ Nghiên cứu yêu cầu ₫ặc biệt dẫn xuất use-case cấp phân tích tương ứng ₫ể nhận dạng class thiết kế thực ₫ược yêu cầu ₫ặc biệt ƒ Có thể liên hệ với kiến trúc sư kỹ sư linh kiện ₫ể bàn bạc hầu nhận dạng thêm class khác Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 31 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Vi 8.6 Thiết kế use-case Si nh Nhận dạng class thiết kế thực use-case ‰ Ở bước này, ta (tt) : ƒ Gán nghĩa vụ cho class thiết kế tìm ₫ược ƒ Xác ₫ịnh cụ thể mối quan hệ class thiết kế tìm ₫ược ƒ Tập hợp class tìm ₫ược, mối quan hệ chúng thành hay nhiều lược ₫ồ class Các lược ₫ồ class nội dung thiết yếu ₫ể xây dựng dẫn xuất use-case tương ứng Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Mơn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 32 https://fb.com/sinhvienzonevn 8.6 Thiết kế use-case ne C om Xây dựng lược ₫ồ trình tự ‰ Lược ₫ồ trình tự chứa phần tử actor, ₫ối tượng thiết kế thông báo ₫ược gởi chúng theo thứ tự thời gian ‰ Nếu use-case có nhiều luồng ₫iều khiển khác nhau, ta nên tạo lược ₫ồ trình tự cho luồng ‰ Nên chuyển lược ₫ồ cộng tác cấp phân tích thành lược ₫ồ trình tự ban ₫ầu, từ ₫ó phát triển thêm chi tiết ‰ Dùng “flow of events cấp thiết kế”, duyệt bước ₫ể xác ₫ịnh thông báo cần thiết actor ₫ối tượng thiết kế, hay ₫ối tượng thiết kế Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 33 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Vi 8.6 Thiết kế use-case Si nh Xây dựng lược ₫ồ trình tự ‰ Cần ý ₫iểm sau việc xây dựng lược ₫ồ trình tự : ƒ Nên tập trung thơng tin thiết yếu trình tự thông báo ƒ Thường lúc ₫ầu, actor gởi thông báo ₫ến ₫ối tượng thiết kế ₫ể yêu cầu thực use-case ƒ Mỗi class thiết kế lược ₫ồ class nên có ₫ối tượng tham gia vào lược ₫ồ trình tự ƒ Các thơng báo ₫ược vẽ từ ₫ường ₫ời sống ₫ối tượng gởi ₫ến ₫ường ₫ời sống ₫ối tượng nhận, gán tên tạm, sau trở thành tên tác vụ tượng ứng (của ₫ối tượng nhận) ƒ Lược ₫ồ trình tự nên xử lý tất mối quan hệ use-case cần thực Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Mơn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 34 https://fb.com/sinhvienzonevn 8.6 Thiết kế use-case Xây dựng lược ₫ồ trình tự Lược ₫ồ trình tự thực use-case Login : LoginForm : Database : People 1.1: verify(uname, psswd) om 1: submit(uname, psswd) ne C 1.2: welcome Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 35 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Nhiệm vụ việc thiết kế class tạo ₫ược class thiết kế hồn thành vai trò dẫn xuất use-case yêu cầu phụ, tập trung thông tin sau : ƒ Các tác vụ & vá method kèm theo (thuật giải thực) ƒ Các thuộc tính ƒ Các mối quan hệ với phần tử khác ƒ Các trạng thái quan trọng ₫ối tượng thuộc class ₫ó ƒ Các yêu cầu ₫ặc biệt có liên quan ₫ến thực class ₫ó ƒ Đảm bảo thực ₫úng interface mà class phải thực Si nh ‰ Vi 8.7 Thiết kế class Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Mơn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 36 https://fb.com/sinhvienzonevn 8.7 Thiết kế class ‰ ne C om ‰ Từ interface, ta nhận dạng class thiết kế thực Từ class phân tích : ƒ Thiết kế class biên phụ thuộc công nghệ tạo giao diện : Form, ActiveX… Để ý dùng prototype giao diện nắm bắt yêu cầu ƒ Thiết kế class thực thể thường phụ thuộc vào công nghệ database Việc ánh xạ từ mơ hình hướng ₫ối tượng sang mơ hình liệu quan hệ cần worker, mơ hình cơng việc riêng Mơn : Nhập mơn Cơng nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 37 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Khi thiết kế class ₫iều khiển nên ý nhu cầu sau : Phân tán : cần nhiều class thiết kế nút khác ₫ể thực class ₫iều khiển Hiệu : nên dùng class thiết kế cho class ₫iều khiển Giao tác : class thiết kế cần tích hợp công nghệ quản lý giao tác Si nh ƒ Vi 8.7 Thiết kế class Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 38 https://fb.com/sinhvienzonevn 8.7 Thiết kế class ne C om Nhận dạng tác vụ cho class thiết kế ‰ Dựa vào thông tin ₫ầu vào sau : ƒ Các trách nhiệm class phân tích mà dẫn ₫ến việc phát sinh class thiết kế Mỗi trách nhiệm tương ứng với hay nhiều tác vụ cụ thể, ₫ây phát họa thơng số hình thức tham số ƒ Các yêu cầu ₫ặc biệt class phân tích mà dẫn ₫ến class thiết kế ƒ Các interface mà class thiết kế phải cung cấp ƒ Dẫn xuất use-case cấp thiết kế mà class tham gia Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 39 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Vi 8.7 Thiết kế class Si nh Nhận dạng thuộc tính cho class thiết kế Dựa vào thơng tin ₫ầu vào sau : ƒ Các thuộc tính class phân tích mà dẫn ₫ến việc phát sinh class thiết kế Mỗi thuộc tính cấp phân tích ám hay nhiều thuộc tính cụ thể ƒ Mỗi tác vụ thiết kế cần hay nhiều thuộc tính liệu ƒ Cố gắng dùng kiểu ₫ã có cho thuộc tính Nếu khơng có ý ₫ịnh sinh mã tự ₫ộng hạn chế dùng kiểu cụ thể ngơn ngữ lập trình Còn muốn sinh mã tự ₫ộng phải dùng kiểu cụ thể ngôn ngữ dự ₫ịnh viết code ƒ Nếu có q nhiều thuộc tính, tách riêng nhóm thành class riêng dùng lược ₫ồ class riêng ₫ể miêu t3 mối quan hệ class phát sinh Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Mơn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 40 https://fb.com/sinhvienzonevn 8.7 Thiết kế class ne C om Nhận dạng mối quan hệ class thiết kế Dựa vào hướng dẫn sau : ƒ Chú ý mối quan hệ kết hợp bao gộp class phân tích dẫn tới class thiết kế ƒ Tinh chế số lượng phân tử tham gia ₫ầu, tên vai trò, tính chất vai trò, class kết hợp, kết hợp n-ary ƒ Tinh chế hướng mối quan hệ kết hợp từ lược ₫ồ tương tác ƒ Nhận dạng miêu tả mối quan hệ tổng quát hóa Nếu ngơn ngữ lập trình dự ₫ịnh dùng khơng hỗ trợ tính thừa kế, dùng mối quan hệ kết hợp hay bao gộp ₫ể thay Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 41 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Vi 8.7 Thiết kế class Si nh Xác ₫ịnh method cho tác vụ ‰ Method ₫ặc tả cách tác vụ ₫ược thực Có thể dùng ngôn ngữ tự nhiên hay ngôn ngữ pseudo-code Nếu kỹ sư linh kiện thực khâu thiết kế thực họ thường ₫ặc tả method cho tác vụ workflow thiết kế, họ làm thời ₫iểm viết code ‰ Một vài ₫ối tượng thiết kế ₫ược ₫iều khiển hoạt ₫ộng trạng thái : trạng thái hành se xác ₫ịnh hành vi ₫ối tượng xử lý thông báo từ gởi ₫ến Trong trường hợp ta nên miêu tả chi tiết chuyển trạng thái ₫ối tượng lược ₫ồ chuyển trạng thái ‰ Tiếp tục xử lý yêu cầu ₫ặc biệt chưa ₫ược ý bước trước Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 42 https://fb.com/sinhvienzonevn 8.8 Thiết kế hệ thống Nhiệm vụ việc thiết kế hệ thống : ƒ Đảm bảo hệ thống ₫ộc lập với nhiều có (tính phụ thuộc thấp nhất) ƒ Đảm bảo interface hệ thống ₫ộc lập nhiều có với chi tiết bên ƒ Đảm bảo hệ thống cung cấp xác interface theo yêu cầu ƒ Đảm bảo hệ thống hồn thành mục ₫ích, thực ₫úng cho tác vụ ne C om ‰ Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 43 en Zo Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Chương ₫ã giới thiệu thông tin workflow thiết kế nhiệm vụ, artifact cần tạo ra, worker tham gia, qui trình thực Chương ₫ã giới thiệu chi tiết hoạt ₫ộng thiết kế kiến trúc phần mềm, thiết kế use-case, thiết kế class, thiết kế hệ thống Si nh ‰ Vi 8.9 Kết chương Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 SinhVienZone.com Mơn : Nhập mơn Cơng nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 44 https://fb.com/sinhvienzonevn ... of events cấp thiết kế , duyệt bước ₫ể xác ₫ịnh thông báo cần thiết actor ₫ối tượng thiết kế, hay ₫ối tượng thiết kế Môn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 33... Tp.HCM © 2010 SinhVienZone. com Mơn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 28 https://fb .com/ sinhvienzonevn 8.5 Thiết kế kiến trúc ne C om Nhận dạng chế thiết kế tổng... 2010 SinhVienZone. com Mơn : Nhập môn Công nghệ phần mềm Chương : Thiết kế hướng ₫ối tượng Slide 40 https://fb .com/ sinhvienzonevn 8.7 Thiết kế class ne C om Nhận dạng mối quan hệ class thiết kế

Ngày đăng: 30/01/2020, 22:37

Xem thêm:

TỪ KHÓA LIÊN QUAN