Bài 03: Tổng quan về OOAD

Nhiều người phát triển dự án Cho rằng phần mềm chủ yếu được xây dựng bằng cách gõ “code” từ bàn phím Không dành đủ thời gian cho quá trình phân tích và thiết kế phần mềm  Họ phải “cày bừa” để hoàn thành chương trình vì Không hiểu hoặc hiểu sai yêu cầu Giao tiếp với các thành viên không tốt Không tích hợp được với module của đồng nghiệp  Họ nhận ra rằng “Phân tích” và “Thiết kế” cần được coi trọng hơn, nhưng đã quá muộn

ppt29 trang | Chia sẻ: lylyngoc | Lượt xem: 2444 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài 03: Tổng quan về OOAD, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
* OBJECT-ORIENTED ANALYSIS AND DESIGN WITH UML 2.0 Bé m«n C«ng nghÖ phÇn mÒm KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Bài 03: Tổng quan về OOAD * Nội dung Mục đích của OOAD Phương pháp OOAD Case study Công cụ UML * 1.1. Tầm quan trọng của OOAD Nhiều người phát triển dự án Cho rằng phần mềm chủ yếu được xây dựng bằng cách gõ “code” từ bàn phím Không dành đủ thời gian cho quá trình phân tích và thiết kế phần mềm  Họ phải “cày bừa” để hoàn thành chương trình vì Không hiểu hoặc hiểu sai yêu cầu Giao tiếp với các thành viên không tốt Không tích hợp được với module của đồng nghiệp…  Họ nhận ra rằng “Phân tích” và “Thiết kế” cần được coi trọng hơn, nhưng đã quá muộn * 1.1. Tầm quan trọng của OOAD (2) Cần thiết lập một cơ chế hiệu quả để nắm bắt yêu cầu, phân tích thiết kế Cơ chế này phải như là một “ngôn ngữ thống nhất” giúp cho quá trình hợp tác hiệu quả giữa các thành viên trong nhóm phát triển phần mềm.  OOAD * 1.2. Mục đích của OOAD Chuyển các yêu cầu của bài toán thành một bản thiết kế của hệ thống sẽ được xây dựng Tập trung vào quá trình phân tích các YÊU CẦU của hệ thống và thiết kế các MÔ HÌNH cho hệ thống đó trước giai đoạn lập trình Được thực hiện nhằm đảm bảo mục đích và yêu cầu của hệ thống được ghi lại một cách hợp lý trước khi hệ thống được xây dựng * 1.2. Mục đích của OOAD (2) Cung cấp cho người dùng, khách hàng, kỹ sư phân tích, thiết kế nhiều cái nhìn khác nhau về cùng một hệ thống Chọn lựa thiết kế để phù hợp với môi trường phát triển Là thiết kế khả thi cho từng hệ thống con, thành phần của kiến trúc Ở mức chi tiết, thiết kế sẽ phụ thuộc vào nền tảng, ngôn ngữ lập trình, hay cơ sở dữ liệu. * Nội dung Mục đích của OOAD Phương pháp OOAD Case study Công cụ UML * 2. Phương pháp OOAD OOAD được chia thành 2 giai đoạn Phân tích hướng đối tượng (OOA) Thiết kế hướng đối tượng (OOD) OOA là giai đoạn nhằm tạo ra các mô hình cơ bản (mô hình khái niệm) của hệ thống dựa theo những gì khách hàng yêu cầu về hệ thống của họ OOD sẽ bổ sung thêm các thông tin thiết kế chi tiết cho các mô hình nói trên * 2. Phương pháp OOAD (2) Phân tích (Analysis) Tập trung vào tìm hiểu bài toán: CÁI GÌ Thiết kế theo mô hình lý tưởng hóa Hành vi (Behavior) Cấu trúc hệ thống Các yêu cầu chức năng Mô hình nhỏ Thiết kế (Design) Tập trung vào thiết kế giải pháp: NHƯ THẾ NÀO Thao tác và thuộc tính (Operations and attributes) Hiệu năng Gần với việc lập trình thực tế Vòng đời của các đối tượng Các yêu cầu phi chức năng Mô hình lớn * Mô hình Phân tích Phân tích tập trung vào việc trừu tượng hóa các vấn đề nghiệp vụ Xây dựng mô hình bằng cách tìm kiếm các lớp, các đối tượng chính có trong hệ thống Các lớp, đối tượng này chỉ là những khái niệm nghiệp vụ cơ bản nhằm tìm hiểu hệ thống Tránh cung cấp các khái niệm, thông tin cài đặt quá chi tiết (cho dù có thể đã tìm được tại thời điểm đó) * Mô hình Thiết kế Bao gồm các lớp, đối tượng ở mức cao Nên đóng thành các gói Chỉ rõ và mô hình hóa mối quan hệ tương tác giữa chúng Chỉ rõ hành động và thuộc tính của các đối tượng Đơn giản hoá của việc phát triển mã nguồn Ví dụ như thuật toán, sơ đồ khối… Thể hiện được bản thiết kế mã nguồn sẽ được cấu trúc và phát triển như thế nào * Các bước trong OOAD 1. Mô hình hóa yêu cầu sử dụng UC (Requirement modeling using UC) 2. Phân tích use case (Use case analysis) 3. Xác định phần tử thiết kế và thiết kế UC 5. Mô hình hóa E-R, Chuẩn hóa và thiết kế CSDL 6. Thiết kế đặc tả ngoài (External Specification Design) 4. Thiết kế lớp (Class design) 7. Thiết kế trường hợp kiểm thử (Test case design) * Các bước trong OOAD 1. Mô hình hóa yêu cầu sử dụng UC (Requirement modeling using UC) 2. Phân tích use case (Use case analysis) 3. Xác định phần tử thiết kế và thiết kế UC 5. Mô hình hóa E-R, Chuẩn hóa và thiết kế CSDL 6. Thiết kế đặc tả ngoài (External Specification Design) 4. Thiết kế lớp (Class design) 7. Thiết kế trường hợp kiểm thử (Test case design) Mô hình hóa yêu cầu người dùng thành các biểu đồ use case, đặc tả use case, biểu đồ hoạt động *  Nguyễn Thị Thu Trang, SE-FIT-HUT Các bước trong OOAD 1. Mô hình hóa yêu cầu sử dụng UC (Requirement modeling using UC) 2. Phân tích use case (Use case analysis) 3. Xác định phần tử thiết kế và thiết kế UC 5. Mô hình hóa E-R, Chuẩn hóa và thiết kế CSDL 6. Thiết kế đặc tả ngoài (External Specification Design) 4. Thiết kế lớp (Class design) 7. Thiết kế trường hợp kiểm thử (Test case design) Tìm các lớp phân tích và xây dựng các biểu đồ tương tác *  Nguyễn Thị Thu Trang, SE-FIT-HUT Các bước trong OOAD 1. Mô hình hóa yêu cầu sử dụng UC (Requirement modeling using UC) 2. Phân tích use case (Use case analysis) 3. Xác định phần tử thiết kế và thiết kế UC 5. Mô hình hóa E-R, Chuẩn hóa và thiết kế CSDL 6. Thiết kế đặc tả ngoài (External Specification Design) 4. Thiết kế lớp (Class design) 7. Thiết kế trường hợp kiểm thử (Test case design) Ánh xạ các phần tử thiết kế từ các lớp phân tích và thiết kế UC *  Nguyễn Thị Thu Trang, SE-FIT-HUT Các bước trong OOAD 1. Mô hình hóa yêu cầu sử dụng UC (Requirement modeling using UC) 2. Phân tích use case (Use case analysis) 3. Xác định phần tử thiết kế và thiết kế UC 5. Mô hình hóa E-R, Chuẩn hóa và thiết kế CSDL 6. Thiết kế đặc tả ngoài (External Specification Design) 4. Thiết kế lớp (Class design) 7. Thiết kế trường hợp kiểm thử (Test case design) Tinh chỉnh các lớp phân tích để thiết kế lớp và tạo biểu đồ lớp *  Nguyễn Thị Thu Trang, SE-FIT-HUT Các bước trong OOAD 1. Mô hình hóa yêu cầu sử dụng UC (Requirement modeling using UC) 2. Phân tích use case (Use case analysis) 3. Xác định phần tử thiết kế và thiết kế UC 5. Mô hình hóa E-R, Chuẩn hóa và thiết kế CSDL 6. Thiết kế đặc tả ngoài (External Specification Design) 4. Thiết kế lớp (Class design) 7. Thiết kế trường hợp kiểm thử (Test case design) Ánh xạ các lớp và các mối liên kết thành mô hình thực thể liên kết - Chuẩn hóa mô hình thực thể liên kết thành dạng chuẩn 3 để thiết kế CSDL *  Nguyễn Thị Thu Trang, SE-FIT-HUT Các bước trong OOAD 1. Mô hình hóa yêu cầu sử dụng UC (Requirement modeling using UC) 2. Phân tích use case (Use case analysis) 3. Xác định phần tử thiết kế và thiết kế UC 5. Mô hình hóa E-R, Chuẩn hóa và thiết kế CSDL 6. Thiết kế đặc tả ngoài (External Specification Design) 4. Thiết kế lớp (Class design) 7. Thiết kế trường hợp kiểm thử (Test case design) Thiết kế biểu đồ chuyển đổi giữa các giao diện người dùng và thiết kế chi tiết các giao diện ấy *  Nguyễn Thị Thu Trang, SE-FIT-HUT Các bước trong OOAD 1. Mô hình hóa yêu cầu sử dụng UC (Requirement modeling using UC) 2. Phân tích use case (Use case analysis) 3. Xác định phần tử thiết kế và thiết kế UC 5. Mô hình hóa E-R, Chuẩn hóa và thiết kế CSDL 6. Thiết kế đặc tả ngoài (External Specification Design) 4. Thiết kế lớp (Class design) 7. Thiết kế trường hợp kiểm thử (Test case design) Thiết kế trường hợp kiểm thử dựa trên các use case đã phân tích và thiết kế * Chương 2. Tổng quan về phân tích thiết kế hướng đối tượng Mục đích của OOAD Phương pháp OOAD Case study Công cụ UML * 3. Case study Case study mẫu: Course Registration Case study bài tập: Library System * Course Registration CS The system manages course registration in university. It manages course information for semesters of past one year and next semester. Course registration can be done for only next semester. Course information for past one year is only for viewing. Registrars, lecturers, and students have to login to use the system. After completing their work, they can log out the system because of security. Admistrators can manage users in the system (including search, add, delete and update). * Course Registration CS Registrars manage course information through registrar GUI. Registrars add, delete, and update basic information of courses for preparing course information of the next semester. Information about each course, such as lecturers, department and prerequisites will be included to help students make informed decisions. A course will have a maximum of 30 students and minimum 3 students * Course Registration CS After completion of preparation for all course information of the next semester, registrars open course information to students for registration. After that, students can register for courses. At the end of course registration period, registrars close course registration. After closing course registration, students cannot register nor cancel registration. A course with fewer than 3 students will be canceled. If a course is canceled, system must notifies students who registered the course about this cancellation. * Course Registration CS Lecturers make input and update detail of course information of corresponding course through lecturer GUI. Registrars and lecturers can view lists of students who registered for courses after registration period. Registrars can view all lists. Lecturers can view only lists for corresponding courses. * Course Registration CS Students make registration for courses through student GUI. Students browse course list for the next semester and register for the course after choosing it. If the course to be registered is full or its time is the same as the course he/she has registered or he/she does not satisty the prerequisites, the student must be notified. * Course Registration CS Students can view the list of own registration courses. Students can cancel course registration from registration list GUI. Registrars, lecturers, students can view course list for all semesters and search course information using keyword. * Course Registration CS Multiple users must be able to perform their work concurrently. The system shall support up to 500 simultaneous users at any one time. The system shall be available 24 hours a day, 7 days a week, with no more than 10% down time. * Nội dung Mục đích của OOAD Phương pháp OOAD Case study Công cụ UML * 4. Công cụ UML Xem chi tiết trên: Công cụ mã nguồn mở: EclipseUML UmlDesigner ArgoUML... Công cụ thương mại: Enterprise Architect IBM Rational Software Architect Microsoft Visio Visual Paradigm for UML SmartDraw...