Bài giảng Phân tích thiết kế hệ điều hành - Chủ đề 1: Tổng quan về Phân tích thiết kế hướng đối tượng - Lương Trần Hy Hiến
Nội dung
1. Khủng hoảng phần mềm
2. Công nghệ phần mềm
3. Quy trình công nghệ phần mềm
4. Phân tích thiết kế hướng chức năng
5. Phân tích thiết kế hướng đối tượng
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích thiết kế hệ điều hành - Chủ đề 1: Tổng quan về Phân tích thiết kế hướng đối tượng - Lương Trần Hy Hiến", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Phân tích thiết kế hệ điều hành - Chủ đề 1: Tổng quan về Phân tích thiết kế hướng đối tượng - Lương Trần Hy Hiến
OOAD - HUTECH CH1 - 1 HIENLTH Chủ đề 1: Tổng quan về PTTK HĐT OOAD - HUTECH CH1 - 2 HIENLTH •Giảng viên: • Ths. Lương Trần Hy Hiến (HIENLTH) • Khoa CNTT, ĐH Công nghệ TpHCM (FIT – HUTECH) • Email: hienlth@hcmup.edu.vn • Điện thoại: 0125.4774.690 •Web môn học: OOAD - HUTECH CH1 - 3 HIENLTH Tài liệu tham khảo (1/2) •Giáo trình OOAD, HUTECH. •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 bằng UML, NXB Giáo dục. OOAD - HUTECH CH1 - 4 HIENLTH Tài liệu tham khảo (2/2) • • • OOAD - HUTECH CH1 - 5 HIENLTH Thang điểm đánh giá •Giữa kỳ: 30% • Bài tập trên lớp + chuyên cần • Thi thực hành trên lớp •Cuối kỳ: 70% • Đồ án môn học OOAD - HUTECH CH1 - 6 HIENLTH Nội dung 1. Khủng hoảng phần mềm 2. Công nghệ phần mềm 3. Quy trình công nghệ phần mềm 4. Phân tích thiết kế hướng chức năng 5. Phân tích thiết kế hướng đối tượng OOAD - HUTECH CH1 - 7 HIENLTH NATO Software Engineering Conference, Germany, 1968 Thống kê của chính phủ Mỹ về các dự án SW của Bộ quốc phòng, 1970. Dự án phần mềm của US defence 0 0.5 1 1.5 2 2.5 3 3.5 Paid for but not received Delivered but not used Abandoned or reworked Used after change Used as delivered P ro je ct v al u e $M Projects (E. Balagurusamy) 1. Khủng hoảng phần mềm OOAD - HUTECH CH1 - 8 HIENLTH Genesis 11:1-9 Acts 2:1-4 The Tower Of Babel 1. Khủng hoảng phần mềm OOAD - HUTECH CH1 - 9 HIENLTH How The Customer Explained It OOAD - HUTECH CH1 - 10 HIENLTH How The Project Leader Understood It OOAD - HUTECH CH1 - 11 HIENLTH How The Analyst Designed It OOAD - HUTECH CH1 - 12 HIENLTH How The Programmer Wrote It OOAD - HUTECH CH1 - 13 HIENLTH How The Business Consultant Described It OOAD - HUTECH CH1 - 14 HIENLTH 14 How The Project Was Documented OOAD - HUTECH CH1 - 15 HIENLTH What Operations Installed OOAD - HUTECH CH1 - 16 HIENLTH How The Customer Was Billed OOAD - HUTECH CH1 - 17 HIENLTH How It Was Supported OOAD - HUTECH CH1 - 18 HIENLTH What The Customer Really Needed OOAD - HUTECH CH1 - 19 HIENLTH 1919 19 OOAD - HUTECH CH1 - 20 HIENLTH 2. Công nghệ phần mềm • Khái niệm: • Công nghệ phần mềm là ngành khoa học nghiên cứu về việc xây dựng các phần mềm có chất lượng với chi phí hợp lý trong khoảng thời gian hợp lý • Đối tượng nghiên cứu: • Quy trình công nghệ • Phương pháp xây dựng phần mềm • Công cụ hỗ trợ phát triển phần mềm Công nghệ phần mềm Phương pháp Công cụ Quy trình OOAD - HUTECH CH1 - 21 HIENLTH 2. Công nghệ phần mềm • Các đối tượng nghiên cứu của Công nghệ phần mềm : • Quy trình phần mềm: • Hệ thống các giai đoạn mà quá trình phát triển phần mềm phải trải qua, • với mỗi giai đoạn cần xác định rõ: • Mục tiêu, kết quả nhận từ giai đoạn trước đó, • Kết quả chuyển giao cho giai đoạn kế tiếp • Phương pháp phát triển phần mềm: • Hệ thống các hướng dẫn cho phép từng bước thực hiện một giai đoạn nào đó trong quy trình phần mềm • Công cụ và Môi trường phát triển phần mềm: • Hệ thống các phần mềm trợ giúp trong lĩnh vực xây dựng phần mềm • Hỗ trợ các chuyên viên tin học trong các bước xây dựng phần mềm theo một phương pháp nào đó với một quy trình được chọn trước OOAD - HUTECH CH1 - 22 HIENLTH 3. Quy trình Công nghệ Phần mềm • Xây dựng phần mềm cần phải thực hiện theo trình tự nào? • Cần bao nhiêu người tham gia? Vai trò của từng thành viên? Tổ chức quản lý các thành viên? • Giao tiếp giữa các thành viên trong hệ thống? Quy trình Công nghệ Phần mềm – Software Development Process OOAD - HUTECH CH1 - 23 HIENLTH 3. Qui trình Công nghệ phần mềm Phần mềm Yêu cầu phần mềm Lập trình Thiết kế Lập trình Phân tích Thiết kế Lập trình Phân tích Thiết kế Lập trình Kiểm tra 1 2 3 4 OOAD - HUTECH CH1 - 24 HIENLTH 3. Quy trình Công nghệ Phần mềm OOAD - HUTECH CH1 - 25 HIENLTH 3. Quy trình Công nghệ Phần mềm Bộ phận tiếp nhận yêu cầu của khách hàng Business Analyst • Làm thế nào để tiếp nhận chính xác yêu cầu của khách hàng? • Làm thế nào để đặc tả đúng yêu cầu của khách hàng? • Làm thế nào để giao tiếp, tương tác với bộ phận phát triển hệ thống? • Làm thế nào để kiểm tra hệ thống phát triển đúng theo yêu cầu trước khi thực hiện triển khai đến khách hàng? OOAD - HUTECH CH1 - 26 HIENLTH 3. Quy trình Công nghệ Phần mềm Bộ phận phát triển phần mềm Developer • Làm thế nào để thiết kế hệ thống đúng với yêu cầu của người dùng? • Làm thế nào để giao tiếp, tương tác với các thành viên trong bộ phận phát triển phần mềm? • Làm thế nào để quản lý, theo dõi tiến trình thực hiện phần mềm? OOAD - HUTECH CH1 - 27 HIENLTH 3. Quy trình Công nghệ Phần mềm Development Business Analyst Bộ phận phát triển phần mềm Bộ phận tiếp nhận yêu cầu của khách hàng OOAD - HUTECH CH1 - 28 HIENLTH 3. Quy trình Công nghệ Phần mềm OOAD - HUTECH CH1 - 29 HIENLTH 3. Qui trình Công nghệ phần mềm •Phân tích: Mô tả mức phát thảo các thành phần của phần mềm (đã có yêu cầu) •Thiết kế: Mô tả mức chi tiết các thành phần của phần mềm (đã phân tích) •Lập trình: Thực hiện các thành phần của phần mềm (đã thiết kế) •Kiểm tra: kiểm chứng các thành phần của phần mềm (đã thực hiện) OOAD - HUTECH CH1 - 30 HIENLTH Mô hình thác nước Khảo sát Phân tích Thiết kế Cài đặt Kiểm tra Triển khai Bảo trì OOAD - HUTECH CH1 - 31 HIENLTH Mô hình thác nước mở rộng Khảo sát Phân tích Thiết kế Cài đặt Kiểm tra Triển khai Bảo trì OOAD - HUTECH CH1 - 32 HIENLTH Quy trình Prototype Xác định yêu cầu “Thiết kế nhanh” Xây dựng Prototype Đánh giá và xác định rõ yêu cầu Phát triển phần mềm OOAD - HUTECH CH1 - 33 HIENLTH Quy trình phát triển lặp Chúng ta có thể chia nhỏ phần mềm ra làm nhiều giai đoạn thay vì làm một lần từ đầu đến cuối. OOAD - HUTECH CH1 - 34 HIENLTH Quy trình phát triển lặp • IBM Rational Unified Process (RUP) OOAD - HUTECH CH1 - 35 HIENLTH Quy trình xoắn ốc Tiếp xúc Khách hàng Lập kế hoạch Phân tích rủi ro Phân tích, thiết kế Xây dựng và triển khai Đánh giá của khách hàng OOAD - HUTECH CH1 - 36 HIENLTH Quy trình xoắn ốc •Qui trình được biểu diễn ở dạng xoắn ốc thay vì một dãy các hoạt động với quay lui. •Mỗi lần lặp trong xoắn ốc biểu diễn một pha trong qui trình. •Không có các pha cố định như đặc tả hay thiết kế - số lần lặp trong xoắn ốc được chọn phụ thuộc vào nhu cầu. •Các rủi ro được đánh giá và giải tỏa một cách rõ ràng xuyên suốt qui trình. OOAD - HUTECH CH1 - 37 HIENLTH Agile methods OOAD - HUTECH CH1 - 38 HIENLTH Agile methods OOAD - HUTECH CH1 - 39 HIENLTH Main function F1 F2 F 1.1 F 1.2 F 2.1 F 2.2 4. Phân tích thiết kế chức năng •Cho đến giữa 1990: Phần lớn các kỹ sư phần mềm sử dụng phương pháp thiết kế chức năng top-down (thiết kế kiến trúc) OOAD - HUTECH CH1 - 40 HIENLTH 4. Phân tích thiết kế chức năng •Tiến trình phát triển tập trung vào thông tin mà hệ thống quản lý •Chỉ tập trung vào thông tin, ít quan tâm đến cái gì thực hiện với thông tin hay hành vi hệ thống •Tiếp cận này gọi là tiếp cận hướng dữ liệu OOAD - HUTECH CH1 - 41 HIENLTH 4. Phân tích thiết kế chức năng •Công nghệ hướng chức năng có các hạn chế sau • Sản phẩm hình thành từ giải pháp này khó bảo trì • Tiến trình phát triển không ổn định • Tiệm cận này không hỗ trợ lập trình bằng ngôn ngữ hướng đối tượng như C++, Java, Smalltalk, Eiffel. OOAD - HUTECH CH1 - 42 HIENLTH Entity-Relationship Model Person Name Age Education School Goes to ID Address Person Name Age . School ID Address . goes to 4. Phân tích thiết kế chức năng OOAD - HUTECH CH1 - 43 HIENLTH 5. Phân tích thiết kế hướng đối tượng 5.1. Sự phức tạp của việc phân tích hệ thống 5.2. Thế nào là hướng đối tượng 5.3. Thế nào là 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 OOAD - HUTECH CH1 - 44 HIENLTH What kind of language can alleviate difficulties with communication & complexity hopefully well? OOAD - HUTECH CH1 - 45 HIENLTH OOAD - HUTECH CH1 - 46 HIENLTH •Tính phức tạp của lĩnh vực vấn đề •Khó khăn trong quản lý tiến trình phát triển •Vấn đề xác định đặc điểm hành vi hệ thống OOAD - HUTECH CH1 - 47 HIENLTH Làm chủ hệ thống phức tạp Nhiệm vụ cơ bản của kỹ nghệ phần mềm là làm chủ độ phức tạp trong tiến trình phát triển phần mềm Thí dụ hệ thống phức tạp Máy vi tính OOAD - HUTECH CH1 - 48 HIENLTH Tính phức tạp có hình thức phân cấp Việc chọn thành phần nào làm cơ sở trong hệ thống là tương đối tùy ý Kết nối bên trong thành phần mạnh hơn kết nối giữa các thành phần Thông thường các hệ thống phân cấp hình thành từ vài loại phân hệ khác nhau, theo các tổ hợp và sắp xếp khác nhau Mọi hệ thống phức tạp được tiến hóa từ hệ thống đơn giản Năm tính chất của hệ thống phức tạp OOAD - HUTECH CH1 - 49 HIENLTH Chiến lược phát triển phần mềm hướng đối tượng là quan sát thế giới như tập các đối tượng Các tính chất của đối tượng Đối tượng có thể là thực thể nhìn thấy được trong thế giới thực (trong pha phân tích yêu cầu) biểu diễn thực thể hệ thống (trong pha thiết kế) Các đối tượng được phân thành class Các đối tượng thuộc cùng lớp đều có đặc tính (thuộc tính và thao tác) chung OOAD - HUTECH CH1 - 50 HIENLTH 50 Tiếp cận hướng đối tượng tập trung vào cả thông tin và hành vi Cho khả năng xây dựng hệ thống mềm dẻo, “co dãn” Phương pháp này dựa trên các nguyên tắc sau Tính gói Kế thừa Đa trị Lake Model Natural Model OOAD - HUTECH CH1 - 51 HIENLTH Thành phần cơ bản của đối tượng • Đối tượng gồm 2 thành phần cơ bản: trạng thái (state) và hành vi (behavior). • Trạng thái (state): • Giúp phân biệt giữa đối tượng này với đối tượng khác • Mô tả cấu trúc cơ bản của đối tượng. • Bao gồm những thuộc tính (attribute) và những giá trị của những thuộc tính đó. • Hành vi (behavior): • Cho biết đối tượng có thể làm được những việc gì. • Bao gồm những phương thức (method) để chúng ta có thể điều khiển đối tượng đó. OOAD - HUTECH CH1 - 52 HIENLTH What is Object-Orientation? - What is Object? A structure that has identity and properties and behavior It is an instance of a collective concept, i.e., a class. OOAD - HUTECH CH1 - 53 HIENLTH Encapsulation a.k.a. information hiding Abstraction Focus on the essential What is Object-Orientation - Abstraction and Encapsulation OOAD - HUTECH CH1 - 54 HIENLTH Sự trừu tượng hóa • Là quá trình bao gồm việc nhận ra và tập trung những tính chất quan trọng của một tình huống hay đối tượng và bỏ qua những chi tiết không quan trọng. • An abstraction is something more general 54 In real world OOAD - HUTECH CH1 - 55 HIENLTH Sự trừu tượng hóa trong quá trình phát triển PM • Sự trừu tượng hóa là khâu quan trọng và cơ bản trong quá trình phát triển phần mềm. • Sự trừu tượng hóa giúp lượt bỏ những chi tiết không cần thiết và tập trung những chi tiết quan trọng trong thế giới thực để từ đó xây dựng phần mềm. 55 THẾ GIỚI THỰC CÔNG VIỆC XỬ LÝ TRÊN MÁY TÍNH TIN HỌC HÓA MỘT NGHIỆP VỤ OOAD - HUTECH CH1 - 56 HIENLTH Một số ví dụ về đối tượng 56 Những quyển sách Những cây bút Những quả bong bóng OOAD - HUTECH CH1 - 57 HIENLTH Relationships of classes •Có 3 mối quan hệ cơ bản: • Association • Dependency • Generalization OOAD - HUTECH CH1 - 58 HIENLTH Behavioral relationships vs Structural relationships • Behavioral relationship between object X and object Y: • object X is temporarily handed a reference to object Y • when X is finished communicating with Y, object X often discards the reference to Y • Structural relationship: • A permanent relationship • In order to keep track of such relationships, an object actually maintains lasting references to its related objects in the form of fields • Behavioral relationships = Dependency relationships • Structural relationships = Association relationships OOAD - HUTECH CH1 - 59 HIENLTH Ví dụ minh họa class Circle { } class Rectangle { protected double w; protected double h; protected double top; protected double left; public bool CheckOverlap(Circle c) { } } class SinhVien { protected string name; protected string id; } class LopHoc { protected SinhVien[] dsSinhVien; } Behavioral relationship between Circle & Rectangle Structural relationship between SinhVien & LopHoc OOAD - HUTECH CH1 - 60 HIENLTH Association relationship (mối quan hệ kết hợp) • Mối quan hệ kết hợp là mối quan hệ trong đó đối tượng lớp này là thành phần dữ liệu của đối tượng lớp kia. • Dựa vào số lượng lớp tham gia mối quan hệ, có 2 loại: bin- ary, n-ary • bin-ary (mối quan hệ 2 ngôi): là mối quan hệ chỉ có 2 lớp tham gia Publisher name:String Book title:String Review rating:int[] assignRating(rating:int):void computeAvgRate():double OOAD - HUTECH CH1 - 61 HIENLTH Association relationship (cont.) •n-ary (mối quan hệ đa ngôi): là mối quan hệ có nhiều hơn 2 lớp đối tượng tham gia ActorFilm Viewer Comment Quan hệ 3 ngôi OOAD - HUTECH CH1 - 62 HIENLTH Association relationship (cont.) • Higher-order associations are possible, but rare. • A ternary association involves three classes. • For example, a Student takes a Course from a particular Professor • However, we usually decompose higher-order associations into an appropriate number of binary associations Course Class Professor Student OOAD - HUTECH CH1 - 63 HIENLTH Multiplicity (bản số) • For a given association type X between classes A and B, the term multiplicity refers to the number of objects of type A that may be associated with a given instance of type B • There are three basic categories: one-to-one, one-to-many, and many-to-many Publisher name:String Book title:String Review rating:int[] assignRating(rating:int):void computeAvgRate():double 0..n 1 0..n 1 OOAD - HUTECH CH1 - 64 HIENLTH Some special forms of association OOAD - HUTECH CH1 - 65 HIENLTH Reflexive Association (quan hệ phản thân) •Đây là trường hợp đặc biệt của quan hệ kết hợp •Là mối quan hệ mà 1 lớp đối tượng có quan hệ với chính nó •Do vậy, người ta còn gọi là recursive association NhanVien ID:string HoTen:string Email:string ▼Quản lý 0..1 0..n OOAD - HUTECH CH1 - 66 HIENLTH Aggregation relationship • Aggregation: • Is normally understood as a "has-a" relationship • Both the entities continue to have their own independent existence • Composition: • Is normally understood as a “part of" relationship • The 'part' entity doesn't have its own independent existence Team Name:string Player Name:string Birthday:Datetime 1 1..n Building Name:string Room RoomNumber:string Capacity:int 1 1..n OOAD - HUTECH CH1 - 67 HIENLTH Generalization relationship OOAD - HUTECH CH1 - 68 HIENLTH Inheritance is the principle that you can apply your knowledge of a general category to more specific objects When you create a class by making it inherit from another class, you are provided with data fields and methods automatically; you can reuse fields and methods that are already written and tested. OOAD - HUTECH CH1 - 69 HIENLTH Khái niệm về kế thừa •Biểu diễn mối quan hệ “cha – con” (hay “1 dạng của”) giữa các lớp đối tượng •Lớp mang ý nghĩa khái quát được gọi là lớp cha, lớp cơ sở (base class) •Lớp mang ý nghĩa chi tiết, cụ thể gọi là lớp con, lớp dẫn xuất (derived class) •Kế thừa tạo khả năng xây dựng lớp mới từ lớp đã có •Kế thừa giúp tận dụng mã nguồn đã có •Kế thừa giúp dễ dàng sửa chữa, nâng cấp, mở rộng hệ thống OOAD - HUTECH CH1 - 70 HIENLTH Phân loại kế thừa •Có 2 loại kế thừa: đơn thừa kế và đa thừa kế • Đơn thừa kế: một lớp chỉ kế thừa từ 1 lớp cơ sở • Đa thừa kế: một lớp được kế thừa từ nhiều lớp cơ sở •Trong C#, không hỗ trợ đa thừa kế (có thể dùng khái niệm interface để khắc phục vấn đề này) Lớp cơ sở Lớp dẫn xuất Đơn thừa kế Lớp dẫn xuất Đa thừa kế Lớp cơ sở 1 Lớp cơ sở 2 OOAD - HUTECH CH1 - 71 HIENLTH Một số nguyên tắc trong kế thừa •Các thành phần của lớp dẫn xuất (lớp con) sẽ bao gồm: •Các thành phần được khai báo ở lớp dẫn xuất •Các thành phần được khai báo ở lớp cơ sở (lớp cha) •Lớp dẫn xuất không được quyền xóa đi những thành phần đã được khai báo ở lớp cơ sở OOAD - HUTECH CH1 - 72 HIENLTH Mô hình biểu diễn Tên lớp cơ sở : {get;set;}: (danh sách tham số): (danh sách tham số): Tên lớp dẫn xuất : {get;set;}: (danh sách tham số): (danh sách tham số): OOAD - HUTECH CH1 - 73 HIENLTH Mối quan hệ kế thừa •Có thể kế thừa lớp đối tượng: • Khi cần bổ sung thêm thành phần cho lớp cơ sở • Khi cần chuyên biệt hóa các phương thức xử lý của lớp cơ sở OOAD - HUTECH CH1 - 74 HIENLTH Một số lời khuyên khi dùng quan hệ kế thừa •Khi kế thừa lớp đối tượng, ĐỪNG: • Thay đổi ngữ nghĩa của các thành phần của lớp cha • Loại bỏ 1 số thành phần của lớp cha OOAD - HUTECH CH1 - 75 HIENLTH What is OOAD? Analysis. Design. OOAD Involves both a notation and a process OOAD - HUTECH CH1 - 76 HIENLTH How to do OOAD - notation vs. process UML is a notation. So are English, Elvish, Ku, But as yet I can’t OOAD - HUTECH CH1 - 77 HIENLTH 77 A Unified Language + A Good Process + A Good Goal, perhaps OOAD - HUTECH CH1 - 78 HIENLTH 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 OO development processes & (Design) Patterns OOAD - HUTECH CH1 - 79 HIENLTH Preliminary Iteration(s) iter. #1 iter. #2 iter. #n iter. #n+1 iter. #n+2 iter. #m iter. #m+1 Inception Elaboration Construction Transition Ite ra tions Phases Core Workflows An iteration in the elaboration phase Requirements Design Implementation Test Analysis OOAD - HUTECH CH1 - 80 HIENLTH Các pha của 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 - HUTECH CH1 - 81 HIENLTH Tiến trình lặp Inception Elaboration Construction Transition Iteration 1 Iteration 2 Iteration 3 Iteration Planning Rqmts Capture Analysis & Design Implementation Test Prepare Release “Mini-Waterfall” Process OOAD - HUTECH CH1 - 82 HIENLTH Chu trình của lặp: A Mini-Waterfall • Results of previous iterations • Up-to-date risk assessment • Controlled libraries of models, code, and tests Release description Updated risk assessment Controlled libraries Iteration Planning Requirements Capture Analysis & Design Implementation Test Prepare Release Selected scenarios OOAD - HUTECH CH1 - 83 HIENLTH Các hoạt động của lặp Kế hoạch lặp Trước khi lặp bắt đầu thực hiện, mục tiêu chính của lặp cần được hình thành trên cơ sở Các kết quả của các lặp trước (nếu có) Cập nhật đánh giá rủi ro của dự án Xác định tiêu chí đánh giá cho lặp này 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 và reviews OOAD - HUTECH CH1 - 84 HIENLTH Các hoạt động của vòng đời lặp Requirements Capture Analysis & Design Implementation Test Prepare the release description OOAD - HUTECH CH1 - 85 HIENLTH Các hoạt động của vòng đời lặp Requirements Capture Analysis & Design Implementation Test Prepare the release description OOAD - HUTECH CH1 - 86 HIENLTH Ích lợi của tiếp cận lặp Compared to the traditional waterfall process, the iterative process has the following advantages: Risks are mitigated earlier Change is more manageable Higher level of reuse The project team can learn along the way Better overall quality OOAD - HUTECH CH1 - 87 HIENLTH – A New Paradigm with Evolving Object Orientation OOP: Object-Oriented Programming Simula (1967), Smalltalk (70’s), C++ (mid 80’s), Eiffel, Ada95, Turing, OOD: Object-Oriented Design Taxis (1976), Adaplex, , Grady Booch (1980) OOA: Object-Oriented Requirements 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 - HUTECH CH1 - 88 HIENLTH Câu hỏi và thảo luận OOAD - HUTECH CH1 - 89 HIENLTH Thank you!!!
File đính kèm:
- bai_giang_phan_tich_thiet_ke_he_dieu_hanh_chu_de_1_tong_quan.pdf