Nội dung của bài giảng trình bày về khủng hoảng phần mềm, công nghệ phần mềm, quy trình công nghệ phần mềm, sơ đồ về mô hình quy trình công nghệ phần mềm và các loại quy trình công nghệ phần mềm, phân tích thiết kế hướng chức năng và phân tích thiết kế hướng đối tượng.
Chủ đề 1: Tổng quan PTTK HĐT OOAD CH1 - HIENLTH • Giảng viên: • Ths Lương Trần Hy Hiến (HIENLTH) • Khoa CNTT, ĐH Sư phạm TpHCM • Email: hienlth@hcmup.edu.vn • Điện thoại: 0125.4774.690 • Web môn học: http://hienlth.info/ooad http://monhoc.weebly.com OOAD CH1 - HIENLTH Tài liệu tham khảo (1/2) • Giáo trình OOAD • Grady Booch (2007), Object-Oriented Analysis and Design with Applications, 3rd Edition, Addison Wesley • Dennis, Wixom, Tegarden (2009), System Analysis & Design with UML version 2.0, An Object-Oriented Approach 3rd Edition, Addison Wesley • Đặng văn Đức (2002), Phân tích thiết kế hướng đối tượng UML, NXB Giáo dục OOAD CH1 - HIENLTH Tài liệu tham khảo (2/2) • http://www.agilemodeling.com/essays/umlDiagrams.htm • http://www.omg.org/spec/UML/ • http://www.tutorialspoint.com/uml/ OOAD CH1 - HIENLTH Thang điểm đánh giá • Điểm danh: 20% • Bài tập lớp + chuyên cần • Thi thực hành lớp : 30% • Cuối kỳ: 50% • Đồ án mơn học OOAD CH1 - HIENLTH Hình thức đánh giá CK - ĐAMH • Cá nhân (20%) • Điểm danh: • Bài tập lớp: 5.0 điểm 5.0 điểm • Đồ án nhóm: (50%) • Q trình thực • Báo cáo • Chương trình • Điểm cộng dành cho đồ án xuất sắc OOAD 4.0 điểm 3.0 điểm 3.0 điểm + 1điểm CH1 - HIENLTH Các chủ đề OOAD Giới thiệu UML Use Case Digram Activity Diagram Class Diagram Behaviour Diagram Design Database Deployment Diagram CH1 - HIENLTH Chủ đề : Giới thiệu OOAD CH1 - HIENLTH Nội dung Khủng hoảng phần mềm Công nghệ phần mềm Quy trình cơng nghệ phần mềm Phân tích thiết kế hướng chức Phân tích thiết kế hướng đối tượng OOAD CH1 - HIENLTH Khủng hoảng phần mềm NATO Software Engineering Conference, Germany, 1968 Thống kê phủ Mỹ dự án SW Bộ quốc phòng, 1970 Project value $M Dự án phần mềm US defence 3.5 2.5 1.5 0.5 Paid for but Delivered but Abandoned Used after not received not used or reworked change Used as delivered Projects OOAD (E Balagurusamy) CH1 - 10 HIENLTH What is OOAD? Analysis Design OOAD Involves both a notation and a process OOAD CH1 - 80 HIENLTH How to OOAD - notation vs process UML is a notation So are English, Elvish, Ku, … But as yet I can’t OOAD CH1 - 81 HIENLTH A Unified Language + A Good Process + A Good Goal, perhaps OOAD CH1 - 82 HIENLTH 82 Introduction to OOAD - Summary Why Once Software Crisis due to Communication and Complexity Languages, Concepts, Models OO for Conceptual Modeling What Fundamental OO Concepts A little taste of UML How OOAD OO development processes & (Design) Patterns CH1 - 83 HIENLTH Phases Core Workflows Inception Elaboration Construction Transition Requirements An iteration in the elaboration phase Analysis Design Implementation Test Preliminary Iteration(s) iter #1 iter #2 iter #n iter #n+1 iter #n+2 iter #m iter #m+1 Ite tio n s OOAD CH1 - 84 HIENLTH Các pha chu trình Inception Elaboration Construction Transition Inception Define the scope of the project and develop business case Elaboration Plan project, specify features, and baseline the architecture Construction Build the product Transition Transition the product to its users OOAD CH1 - 85 HIENLTH Tiến trình lặp Inception Iteration Elaboration Iteration Construction Transition Iteration “Mini-Waterfall” Process Iteration Planning Rqmts Capture Analysis & Design Implementation Test Prepare Release OOAD CH1 - 86 HIENLTH Chu trình lặp: A Mini-Waterfall • Results of previous iterations • Up-to-date risk assessment • Controlled libraries of models, code, and tests Selected scenarios Iteration Planning Requirements Capture Analysis & Design Implementation Test Prepare Release Release description Updated risk assessment Controlled libraries OOAD CH1 - 87 HIENLTH Các hoạt động lặp Kế hoạch lặp Trước lặp bắt đầu thực hiện, mục tiêu lặp cần hình thành sở OOAD Các kết lặp trước (nếu có) Cập nhật đánh giá rủi ro dự án Xác định tiêu chí đánh giá cho lặp Chuẩn bị kế hoạch chi tiết cho lặp Bao gồm intermediate milestones để điều khiển tiến trình Bao gồm walkthroughs reviews CH1 - 88 HIENLTH Các hoạt động vòng đời lặp OOAD Requirements Capture Analysis & Design Implementation Test Prepare the release description CH1 - 89 HIENLTH Các hoạt động vòng đời lặp OOAD Requirements Capture Analysis & Design Implementation Test Prepare the release description CH1 - 90 HIENLTH Ích lợi tiếp cận lặp Compared to the traditional waterfall process, the iterative process has the following advantages: OOAD Risks are mitigated earlier Change is more manageable Higher level of reuse The project team can learn along the way Better overall quality CH1 - 91 HIENLTH – A New Paradigm with Evolving Object Orientation OOP: Object-Oriented Programming OOD: Object-Oriented Design Taxis (1976), Adaplex, …, Grady Booch (1980) OOA: Object-Oriented Requirements Simula (1967), Smalltalk (70’s), C++ (mid 80’s), Eiffel, Ada95, Turing, … RML (1981), James Rumbaugh (late 80’s) OO-Databases (OODBs): 1980-90’s OLE/DCOM, VisualBasic, CORBA, Java: mid 90’s Net, C#, (eb/voice…/-)XML, J2EE: into 2000+ UML: mid 90’s and still evolving OOAD CH1 - 92 HIENLTH Câu hỏi thảo luận OOAD CH1 - 93 HIENLTH Thank you!!! OOAD CH1 - 94 HIENLTH ... - 45 HIENLTH Phân tích thiết kế hướng đối tượng 5.1 Sự phức tạp việc phân tích hệ thống 5.2 Thế hướng đối tượng 5.3 Thế phân tích hướng đối tượng 5.4 Chu trình phát triển hệ thống hướng đối tượng. .. Process OOAD CH1 - 25 HIENLTH Qui trình Cơng nghệ phần mềm Yêu cầu phần mềm Phân tích Phân tích Thiết kế Lập trình Thiết kế Thiết kế Lập trình Lập trình Lập trình Kiểm tra Phần mềm OOAD CH1 - 26... hoảng phần mềm Công nghệ phần mềm Quy trình cơng nghệ phần mềm Phân tích thiết kế hướng chức Phân tích thiết kế hướng đối tượng OOAD CH1 - HIENLTH Khủng hoảng phần mềm NATO Software Engineering Conference,