Ths Nguyễn Văn Nam Email namnv@tlu edu vn 1 Giới thiệu môn học Số tín chỉ 3 tín chỉ (LT 2; TH/BT/TL 1) Giảng viên Ths Nguyễn Văn Nam Ts Trần Mạnh Tuấn Tài liệu Giáo trình Phân tích và Thiế[.]
Ths Nguyễn Văn Nam Email: namnv@tlu.edu.vn Giới thiệu môn học Số tín chỉ: tín (LT: 2; TH/BT/TL: 1) Giảng viên: Ths Nguyễn Văn Nam Ts Trần Mạnh Tuấn Tài liệu: Giáo trình: Phân tích Thiết kế hướng đối tượng – Trương Ninh Thuận – Đặng Đức Hạnh – ĐHQG Hà Nội Ian Sommerville: Software Engineering, 10th Edition, 2015 Software Modeling and Design: UML, Use Cases, Patterns & Software Architectures - H Gomaa Đánh giá kết học tập áp dụng K61 Điểm trình (30%) Chuyên cần, ý thức: 25% Bài tập thực hành: 25% Bài kiểm tra: 50% Điểm cuối kỳ (70%) Thi vấn đáp Dựa tập lớn Bài tập lớn Nhóm tập từ 2–4 sinh viên Phân tích thiết kế đầy đủ đề tài Phân tích – Thiết kế? Lý Hệ thống lớn hơn: Kích cỡ dung lượng Số người dùng Số nhân viên phát triển Vòng đời dự án Sự thay đổi phiên khác Độ phức tạp tăng cao: Cấu trúc Môi trường Kỹ thuật Phần cứng … Lý Giá cho phát triển hoàn thiện sản phẩm Giàng buộc thời gian Bảo trì cho hệ thống Lý Các yêu cầu phi chức Performance Available Security Scalability Extensiblity … Các mơ hình vịng đời HT Mơ hình vịng đời: Tiện ích cho so sánh dự án theo khái niệm chung Không đủ chi tiết cho lên kế hoạch dự án? Ví dụ: Mơ hình tuần tự: Waterfall, V-model, Rapid Prototyping Mơ hình giai đoạn: Incremental, Evolutionary Mơ hình tương tác: Spiral Mơ hình linh hoạt (Agile): eXtreme Programming (XP) Mơ hình Waterfall Mơ hình V-Model 10 Các Framework Bền Vững Thách thức: Những thay đổi không phá vỡ mơ hình Business Object Model Giải pháp: Framework Đối tượng – Quan hệ (object-relational framework), Đóng gói lưu trữ liệu vật lý Cung cấp dịch vụ dịch đối tượng Tầm quan trọng framework 30% thời gian phát triển tiêu tốn vào việc truy cập RDBMS Bảo trị chiếm 60% tổng chi phí •Compact interfaces •Object-relational translation •Encapsulates data store Relationa l Database Framework Đối tượng – Quan hệ: Các đặc điểm Hiệu Phân dã cacs đối tượng thành liệu Tổng hợp lên đối tượng từ liệu Cự tiểu hóa thỏa hiệp thiết kế Giới hạn thay đổi đối tượng mơ hình quan hệ Khả mở rộng 15%-35% framework cần thiết kế framework mở rộng Các Framework Đối tượng - Quan hệ : Các đặc điểm (cont.) Tài liệu hóa API Hỗ trợ object-relational mapping thông thường Các giao diện bền vững Ví dụ lưu, xóa, tìm kiếm 10 Các dịch vụ Đối tượng – Quan hệ thông thường Các mẫu mẫu lên cho ứng dụng Đối tượng – Quan hệ Đặc tả CORBA Services Persistence Query Transactions Concurrency Relationships 11 Ánh Xạ Các Lớp Bền Vững vào Các Bảng Trong sở liệu quan hệ Mỗi hàng xem đối tượng Mỗi cột bảng tương đướng với thuộc tính bền vững lớp Thuộc tính Student - name : String - address : String - studentID : Long Name Student_ID Thomas Stuart 123456 Đối tượng thể 12 Ánh xạ kết hợp đối tượng bền vững Các kết hợp hai đối tượng bền vững thực khóa ngồi với lớp bị kết hợp Một khóa ngồi cột bảng mà có chứa giá trị khóa đối tượng bị kết hợp Course Offering table Number 678 CourseOffering Course_ID 456789 - number : String Foreign Key * Course - name - description - number Primary Key Course table Name Description Number Math 101 Algebra 456789 13 Ánh xạ kết tập (aggregation) vào mơ hình liệu Kết tập (aggregation) mơ hình hóa sử dụng quan hệ khóa ngồi Việc sử dụng quan hệ hợp thành (composition) thực thi ràng buộc xóa theo tầng Student table Student - studentID : int Student_ID 123456 Primary Key * Schedule - semester : Semester Schedule table Student_ID 123456 Foreign Key Semester Spring 2001 14 Mơ hình hóa kế thừa Mơ hình liệu Mơ hình liệu khơng hỗ trợ mơ hình hóa quan hệ kế thừa cách trức tiếp Hai tùy chọn: Sử dụng bảng tách biệt (dữ liệu chuẩn hóa) Sao chép tất kết hợp thuộc tính kế thừa (dữ liệu phi chuẩn) 15 Các bước thiết kế csdl Ánh xạ lớp thiết kế bền vững vào mơ hình liệu Phân phối hành vi lớp vào csdl 16 Thủ tục lưu gì? Một thủ tục lưu mã thực thi chạy bên RDBMS Có hai loại thủ tục lưu Procedures: Được thực thi cách tường minh ứng dụng Triggers: Được gọi cách ngầm định xảy số kiện sở liệu 17 Ánh xạ hành vi lớp vào thủ tục lưu Xác định xem có hoạt động (operation) cài đặt thủ tục lưu Các hoạt động cân nhắc: Các hoạt động làm việc với liệu bền vững Các hoạt động truy vấn gọi tính tốn Các hoạt động cần thiết cho việc truy cập csdl để phê duyệt (validate) liệu 18 Ví dụ: Ánh xạ Hành vi lớp vào thủ tục lưu 19 Checkpoints: Database Design Have all persistent classes been mapped to database structures? Have stored procedures and triggers been defined? Does the persistence mechanism use stored procedures and database triggers consistently? 20 Review: Database Design What is the purpose of the Database Design? What comprises a relational data model? What are the components of an object model? When mapping persistent classes to tables, what is every row in a table regarded as? What is every column equivalent to? What are stored procedures? 21 The End 22