Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 53 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
53
Dung lượng
1,23 MB
Nội dung
Nhập môn Công nghệ phần mềm Tuần 10: Thiết kế cài đặt Nội dung của slide này dịch hiệu chỉnh dựa vào slides của Ian Sommerville Nội dung Thiết kế hướng đối tượng sử dụng UML Thiết kế mẫu Các vấn đề cài đặt NGUYỄN Thị Minh Tuyền Nội dung Thiết kế hướng đối tượng sử dụng UML Thiết kế mẫu Các vấn đề cài đặt NGUYỄN Thị Minh Tuyền Phát triển hướng đối tượng £ Phân tích, thiết kế lập trình hướng đối tượng có liên quan với tách rời £ Phân tích hướng đối tượng p liên quan đến việc phát triển mơ hình đối tượng miền ứng dụng £ Thiết kế hướng đối tượng p liên quan đến việc phát triển mô hình hệ thống hướng đối tượng để cài đặt yêu cầu £ Lập trình hướng đối tượng p liên quan đến việc thực hóa thiết kế hướng đối tượng sử dụng ngơn ngữ lập trình hướng đối tượng NGUYỄN Thị Minh Tuyền Đối tượng lớp đối tượng £ Đối tượng thực thể có trạng thái tập thao tác hoạt động trạng thái £ Lớp đối tượng sử dụng template cho đối tượng p Gồm việc khai báo tất thuộc tính dịch vụ liên quan đến đối tượng lớp NGUYỄN Thị Minh Tuyền Quy trình thiết kế hướng đối tượng £ Thiết kế lớp đối tượng quan hệ lớp £ Các hệ thống hướng đối tượng thường dễ thay đổi so với hệ thống phát triển dựa vào phương pháp hướng chức p Đối tượng bao gồm liệu thao tác liệu è dễ hiểu dễ thay đổi thực thể độc lập p Việc thay đổi cài đặt đối tượng hay việc thêm dịch vụ không nên gây ảnh hưởng đến đối tượng khác hệ thống NGUYỄN Thị Minh Tuyền Các giai đoạn quy trình thiết kế £ Để phát triển thiết kế hệ thống từ khái niệm đến chi tiết: • Định nghĩa ngữ cảnh và các tương tác bên ngồi với hệ thống • Thiết kế kiến trúc hệ thống • Nhận diện các đối tượng chính • Phát triển các mơ hình thiết kế • Đặc tả giao diện đối tượng NGUYỄN Thị Minh Tuyền Các giai đoạn quy trình thiết kế • Định nghĩa ngữ cảnh và các tương tác bên ngồi với hệ thống • Thiết kế kiến trúc hệ thống • Nhận diện các đối tượng chính • Phát triển các mơ hình thiết kế • Đặc tả giao diện đối tượng NGUYỄN Thị Minh Tuyền Ngữ cảnh hệ thống tương tác £ Việc hiểu mối quan hệ phần mềm thiết kế mơi trường bên ngồi cần thiết p định việc cung cấp chức hệ thống p cách cấu trúc hoá hệ thống để giao tiếp với mơi trường £ Việc hiểu ngữ cảnh giúp ta p thiết lập ranh giới hệ thống với mơi trường p định xem tính cài đặt hệ thống thiết kế tính nằm hệ thống có liên quan NGUYỄN Thị Minh Tuyền Mơ hình ngữ cảnh mơ hình tương tác £ Mơ hình ngữ cảnh hệ thống p Mơ hình cấu trúc hệ thống khác môi trường hệ thống phát triển £ Mơ hình tương tác hệ thống p Mơ hình động mơ tả cách hệ thống tương tác với mơi trường p Sử dụng use case để tương tác 10 NGUYỄN Thị Minh Tuyền Mẫu Observer Tên mẫu Mô tả Observer Tách rời việc hiển thị trạng thái ra khỏi đối tượng cung cấp các hiển thị thay thế Khi trạng thái của đối tượng thay đổi, tất cả các hiển thị được thơng báo và tự động cập nhật sự thay đổi đó Trong nhiều tình huống, ta phải cung cấp nhiều hiển thị khác nhau về thơng tin trạng thái, ví dụ như một hiển thị đồ họa và một hiển thị bảng Các biểu diễn thay thế nên hỗ trợ tương tác, và khi trạng thái bị thay đổi, tất cả các hiển thị phải được cập nhật Mơ tả vấn đề Mẫu này cũng có thể được sử dụng trong tất cả các tình huống ở đó nhiều hơn một định dạng hiển thị về thơng tin trạng thái được u cầu và ở đó khơng cần thiết phải duy trì thơng tin trạng thái để biết về định dạng hiển thị cụ thể được sử dụng 39 NGUYỄN Thị Minh Tuyền Tên mẫu Observer Mô tả giải pháp Gồm hai đối tượng trừu tượng: Subject Observer, hai đối tượng cụ thể: ConcreteSubject ConcreteObject thừa kế thuộc tính đối tượng trừu tượng liên quan Các đối tượng trừu tượng chứa thao tác chung áp dụng tình Trạng thái hiển thị trì ConcreteSubject, cho phép thêm loại bỏ Observer (mỗi observer tương ứng với hiển thị) đưa thông báo trạng thái bị thay đổi ConcreteObserver trì copy trạng thái ConcreteSubject cài đặt giao diện Update() Observer ConcreteObserver tự động hiển thị trạng thái phản ánh thay đổi trạng thái cập nhật Subject biết Observer chi tiết lớp cụ thể Vì có mối liên hệ đối tượng Vì thiếu thông tin, việc tối ưu để nâng cao hiệu hiển thị không thực tế Thay đổi Hệ Subject gây nên loạt cập nhật Observer NGUYỄNđược phát sinh cách không cần thiết 40 Thị Minh Tuyền Đa hiển thị sử dụng mẫu Observer 50 D A C 25 B A B C D Subject Observer A: 40 B: 25 C: 15 D: 20 Observer 41 NGUYỄN Thị Minh Tuyền Mơ hình UML mẫu Observer Observer Subject Attach (Observer) Detach (Observer) Notify () Update () for all o in observers o -> Update () ConcreteObserver ConcreteSubject GetState () subjectState return subjectState Update () observerState = subject -> GetState () observerState 42 NGUYỄN Thị Minh Tuyền Nội dung Thiết kế hướng đối tượng sử dụng UML Thiết kế mẫu Các vấn đề cài đặt 43 NGUYỄN Thị Minh Tuyền Các vấn đề cài đặt £ Phần không tập trung lập trình, phần lập trình quan trọng, tập trung vào vấn đề liên quan đến cài đặt: p Tái sử dụng p Quản lý cấu hình p Phát triển host-target 44 NGUYỄN Thị Minh Tuyền Tái sử dụng £ Trong khoảng 1960 – 1990, đa phần phần mềm phát triển từ đầu, cách viết tất mã nguồn ngôn ngữ lập trình bậc cao p Việc tái sử dụng chủ yếu sử dụng hàm đối tượng thư viện ngơn ngữ lập trình £ Áp lực chi phí tiến độ dự án phương pháp không thực tế, đặc biệt cho hệ thống dựa vào web thương mại £ Tái sử dụng phương pháp phổ biến việc phát triển phần mềm ngày 45 NGUYỄN Thị Minh Tuyền Các mức tái sử dụng £ Mức trừu tượng p Tái sử dụng kiến thức thiết kế mức trừu tượng £ Mức đối tượng p Sử dụng trực tiếp đối tượng từ thư viện có sẵn £ Mức component p Component tập hợp đối tượng lớp đối tượng mà ta tái sử dụng hệ thống ứng dụng £ Mức hệ thống p Tái sử dụng toàn hệ thống ứng dụng 46 NGUYỄN Thị Minh Tuyền Chi phí việc tái sử dụng £ Chi phí cho thời gian tìm kiếm phần mềm để tái sử dụng đánh giá liệu có đáp ứng u cầu đặt hay khơng £ Chi phí để chỉnh sửa cấu hình lại component/hệ thống phần mềm tái sử dụng để đáp ứng yêu cầu hệ thống phát triển £ Chi phí tích hợp thành phần tái sử dụng mã nguồn mà ta phát triển 47 NGUYỄN Thị Minh Tuyền Quản lý cấu hình £ Quản lý cấu hình tên gọi cho quy trình quản lý hệ thống phần mềm thay đổi £ Mục tiêu: Hỗ trợ quy trình tích hợp hệ thống cho p tất người phát triển truy cập vào tài liệu mã nguồn dự án theo cách kiểm sốt, p tìm thay đổi thực p biên dịch liên kết component để tạo hệ thống 48 NGUYỄN Thị Minh Tuyền Các hoạt động quản lý cấu hình £ Quản lý phiên p hỗ trợ việc theo dõi phiên khác component £ Tích hợp hệ thống p giúp người phát triển định nghĩa phiên component sử dụng để tạo phiên hệ thống £ Theo dõi vấn đề p cho phép người dùng report bugs vấn đề khác; cho phép tất người phát triển thấy giải vấn đề chúng sửa lỗi NGUYỄN Thị Minh Tuyền 49 Phát triển host-target £ Hầu hết phần mềm phát triển máy tính (host) chạy máy tính khác (target) £ Ta đề cập đến tảng (platform) phát triển tảng thực thi p Một tảng khơng phần cứng p Cịn bao gồm hệ điều hành + phần mềm hỗ trợ (hệ quản trị CSDL) hay tảng phát triển (môi trường phát triển tương tác) p Nền tảng phát triển thường có phần mềm khác cài đặt tảng thực thi; tảng có kiến trúc khác NGUYỄN Thị Minh Tuyền 50 Công cụ tảng phát triển £ Bộ biên dịch tích hợp hệ thống chỉnh sửa cú pháp £ Hệ thống debug £ Công cụ chỉnh sửa đồ hoạ, ví dụ cơng cụ chỉnh sửa mơ hình UML £ Các cơng cụ kiểm thử (ví dụ: JUnit) £ Các cơng cụ hỗ trợ dự án 51 NGUYỄN Thị Minh Tuyền Integrated development environments (IDEs) £ Các công cụ phát triển phần mềm thường gom nhóm lại để tạo thành mơi trường phát triển tích hợp (IDE) £ Một IDE tập cơng cụ hỗ trợ nhiều khía cạnh khác việc phát triển phần mềm 52 NGUYỄN Thị Minh Tuyền Các nhân tố triển khai component/hệ thống £ Nếu component thiết kế cho kiến trúc phần cứng cụ thể, dựa vào số hệ thống khác, phải triển khai tảng cung cấp phần cứng phần mềm yêu cầu £ Các hệ thống hỗ trợ đa tảng yêu cầu component triển khai nhiều tảng Nghĩa là, trường hợp triển khai tảng thất bại, phải có cài đặt thay component £ Nếu lượng truy cập thơng tin component lớn, nên triển khai chúng tảng tảng gần mặt vật lý è giảm độ trễ thời gian gởi nhận thông điệp 53 NGUYỄN Thị Minh Tuyền