Chương 1. Các nguyên tắc mô hình hoá trực quan và các đặc trưng trong công nghệ hướng đối tượng. Tổng quan về kiến trúc hướng mô hình (MDA – Model Driven Architecture). Phương pháp phân tích và thiết kế hướng đối tượng các phần mềm ứng dụng theo kiến trúc hướng mô hình.
Áp dụng phương pháp phân tích thiết kế hướng đối tượng theo kiến trúc hướng mô hình vào việc phát triển hệ thống “Quản lý tín dụng trong ngân hàng”. So sánh MDA với các phương pháp khác TIEU LUAN MOI download : skknchat@gmail.com 2 Chƣơng 1 - CÁC NGUYÊN TẮC MÔ HÌNH HÓA TRỰC QUAN VÀ CÁC ĐẶC TRƢNG TRONG CÔNG NGHỆ HƢỚNG ĐỐI TƢỢNG 1. Các nguyên tắc mô hình hóa trực quan Mô hình hoá trực quan là việc sử dụng các ngôn ngữ thiết kế có tính chất đồ hoạ và các mô tả ngắn gọn để thể hiện các bản thiết kế phần mềm, ví dụ: ngôn ngữ mô hình hoá hợp nhất UML. Mô hình hóa trực quan cho phép trừu tượng hoá các hệ thống ở mức cao hơn, trong khi đó vẫn duy trì được ngữ nghĩa và cấu trúc căn bản của hệ thống, giúp cho người đọc bản thiết kế dễ nắm bắt cấu trúc tĩnh và ứng xử động của hệ thống.
Mô hình hoá trực quan có bốn nguyên tắc cơ bản như sau: Nguyên tắc 1: Các mô hình được tạo ra chi phối sâu sắc đến cách tiếp cận và định hướng giải quyết một vấn đề. Trong phát triển phần mềm, việc chọn các mô hình có thể ảnh hưởng rất lớn đến thế giới quan của người làm phần mềm. Mỗi thế giới quan sẽ dẫn tới một loại mô hình khác nhau với chi phí và lợi ích khác nhau. Nếu xây dựng hệ thống theo con mắt của người thiết kế CSDL, kết quả nhận được sẽ là mô hình quan hệ thực thể nêu ra cách xử lý trong các thủ tục lưu trữ và các trigger.
Nếu xây dựng hệ thống thông qua con mắt của người phân tích thiết kế hướng đối tượng, kết quả đầu ra sẽ là một hệ thống có kiến trúc xoay quanh nhiều lớp và mẫu tương tác với nhau, điều khiển các lớp đó làm việc với nhau. Các mô hình đúng sẽ làm sáng tỏ những bài toán phát triển phần mềm phức tạp, giúp cho người phát triển hệ thống không bị sa lầy vào những vấn đề không cần thiết. Một mô hình sai sẽ làm cho người phát triển dễ bị lạc hướng vì tập trung vào những vấn đề không liên quan. Nguyên tắc 2: Mỗi mô hình được thể hiện ở mức độ chi tiết khác nhau.
Mỗi mô hình được chọn ở các mức chi tiết khác nhau tùy thuộc vào việc ai là người sử dụng mô hình và tại sao cần sử dụng mô hình. Ví dụ: Người sử dụng sử dụng khung nhìn trường hợp sử dụng (Use Case View) để biết hệ thống có đáp ứng được yêu cầu nghiệp vụ của họ không, người phân tích thiết kế sử dụng khung nhìn logic (Logical View) trong quá trình phân tích thiết kế hệ thống, người triển khai sử dụng khung nhìn triển khai (Deployment View) để chuẩn bị môi trường cho việc triển khai v. Nguyên tắc 3: Các mô hình tốt nhất là các mô hình được liên hệ trong thực tế. TIEU LUAN MOI download : skknchat@gmail.com 3 Tất cả các mô hình đều là sự đơn giản hoá của thực tế.
Một mô hình tốt sẽ phản ánh đầy đủ những đặc trưng không thể thiếu về năng lực hệ thống và không che lấp đi bất kỳ một chi tiết quan trọng nào. Mô hình vật lý của một hệ thống cũng có thể không được đáp ứng trên thực tế do bị hạn chế về nguồn tài nguyên và kinh phí. Vì vậy, mỗi mô hình khi xây dựng cần được xem xét và đặt trong thực tế. Nguyên tắc 4: Không có một mô hình đơn lẻ nào là đầy đủ.
Một hệ thống tốt nhất phải được tiếp cận thông qua một tập các mô hình độc lập tương đối với nhau. “Độc lập tương đối” có nghĩa là các mô hình có thể được xây dựng và xem xét độc lập nhau, nhưng chúng vẫn phải có mối quan hệ tương quan với nhau. Ví dụ: Để hiểu cấu trúc của một hệ thống hướng đối tượng, những người phát triển phần mềm cần kết hợp xem xét trên một số khung nhìn: khung nhìn trường hợp sử dụng (Use Case View), khung nhìn logic (Logical View), khung nhìn xử lý (Process View), khung nhìn thực thi (Implementation View), khung nhìn triển khai (Deployment View). Mỗi khung nhìn được xây dựng từ những góc nhìn khác nhau để thể hiện cấu trúc và ứng xử của hệ thống.
Chúng cùng nhau tạo nên một bản thiết kế đầy đủ, chi tiết cho một hệ thống phần mềm. Các đặc trƣng trong công nghệ hƣớng đối tƣợng Công nghệ hướng đối tượng là một tập các nguyên tắc hướng dẫn xây dựng phần mềm với các ngôn ngữ, các cơ sở dữ liệu và các công cụ hỗ trợ cho các nguyên tắc đó. Có bốn đặc trưng cơ bản trong công nghệ hướng đối tượng như sau: Hình 1. Tổng quan các đặc trưng trong công nghệ hướng đối tượng Đặc trƣng 1: Tính trừu tƣợng hoá (Abstraction) Tính trừu tượng hoá cho phép người phát triển phần mềm giải quyết những bài toán phức tạp bằng cách bỏ qua hay không chú ý đến một số khía cạnh chi tiết TIEU LUAN MOI download : skknchat@gmail.com 4 của thông tin để tập trung vào các đặc trưng cốt yếu của một thực thể, các đặc trưng làm thực thể đó nổi bật so với tất cả các thực thể khác.
Trừu tượng hoá phụ thuộc vào phạm vi và ngữ cảnh, những gì quan trọng trong ngữ cảnh này có thể không quan trọng trong một ngữ cảnh khác. Đặc trƣng 2: Tính đóng gói (Encapsulation) Tính đóng gói cho phép ẩn dấu phần thực thi của các tính năng (các thuộc tính và các ứng xử) theo cơ chế hộp đen, thông qua giao diện dùng chung. Tính chất này không cho phép người sử dụng hoặc hệ thống tương tác tới các đối tượng thay đổi trạng thái nội tại của một đối tượng, chỉ có các phương thức nội tại của đối tượng mới được phép thay đổi trạng thái của nó. Người sử dụng hoặc hệ thống tương tác có thể sử dụng các thao tác, các thuộc tính mà không cần biết bên trong đối tượng được thực thi như thế nào.
Việc cho phép môi trường bên ngoài tác động lên các dữ liệu nội tại của một đối tượng theo cách nào là hoàn toàn tùy thuộc vào người thực thi code. Nếu phần giao diện của tính năng đó không bị thay đổi, người thực thi có thể thay đổi phần code mà không cần thông tin lại cho người sử dụng hoặc hệ thống tương tác bên ngoài. Đặc trƣng 3: Tính mô đun hoá (Modularity) Mô đun hoá là tính chất cho phép chia một mô đun lớn và phức tạp thành một tập các mô đun con và đơn giản hơn để xử lý. Các bài toán này có thể được phân tích, thiết kế, thực thi độc lập và sau đó được tích hợp với nhau thành một hệ thống lớn thông qua các giao diện của các mô đun con, để xử lý toàn bộ vấn đề.
Mô đun hoá làm cho một hệ thống dễ dàng hơn trong việc thiết kế, thực thi, bảo trì và nâng cấp sau này, cũng như thuận lợi hơn cho việc tái sử dụng. Các mô đun của một hệ thống có thể được thực thi, gỡ bỏ, kích hoạt, vô hiệu hóa thông qua hệ thống quản lý mô đun. Đặc trƣng 4: Tính phân cấp (Hierarchy ) Cấu trúc chung của một hệ thống hướng đối tượng là sự phân cấp các thành phần theo các mức độ trừu tượng hoá như phân cấp lớp, phân cấp thừa kế, phân cấp đặc tả v. Các thành phần ở cùng một mức phân cấp thì nên tổ chức trong cùng mức trừu tượng hoá.
TIEU LUAN MOI download : skknchat@gmail.com 5 Chƣơng 2 - TỔNG QUAN VỀ KIẾN TRÚC HƢỚNG MÔ HÌNH (MDA – MODEL DRIVEN ARCHITECTURE) 2. Tổng quan về MDA Kiến trúc hướng mô hình (MDA) là một cách tiếp cận mô hình hoá trực quan trong suốt quá trình tìm hiểu, phân tích, thiết kế, thực thi một hệ thống phần mềm. MDA phân chia các mô hình đặc tả về hệ thống từ mức độ trừu tượng hóa cao cho đến mức chi tiết và cung cấp các luật chuyển đổi cho phép chuyển đổi giữa các mô hình. Các mô hình chính của MDA bao gồm: Mô hình độc lập với thao tác tính toán (CIM - Computation Independent Model) thể hiện hệ thống ở mức nghiệp vụ.
Mô hình độc lập với nền công nghệ (PIM - Platform Independent Model) đặc tả các chức năng hệ thống nhưng độc lập với các nền công nghệ thực thi hệ thống. Mô hình theo nền công nghệ cụ thể (PSM - Platform Specific Model) đặc tả các chức năng hệ thống theo một nền công nghệ cụ thể được lựa chọn để thực thi hệ thống;.1 trình bày một cách tổng quan về sự phân loại các mô hình chính của MDA theo trật tự từ mức độ trừu tượng hóa đến cụ thể hoá. Sự phân loại các mô hình chính trong MDA Ví dụ: Hình 2.2 trình bày ví dụ về một quá trình phát triển phần mềm theo kiến trúc hướng mô hình. TIEU LUAN MOI download : skknchat@gmail.
Các mô hình trong MDA 2. Mô hình độc lập với thao tác tính toán (CIM) Mô hình độc lập với thao tác tính toán (CIM – Computation Model Model) là sự xem xét hệ thống từ góc độ độc lập với các thao tác tính toán. Mô hình CIM tập trung vào sự đặc tả hệ thống bằng các thuật ngữ gần gũi với người làm nghiệp vụ, và được xác định bởi sự kết hợp làm việc giữa người phân tích nghiệp vụ và những người làm nghiệp vụ sẽ sử dụng hệ thống. Và chính vì vậy, mô hình CIM còn được gọi là mô hình phạm vi hay mô hình nghiệp vụ.3 trình bày một ví dụ về mô hình CIM.
Trong mô hình này không có thông tin nào chỉ ra giải pháp dựa trên thao tác tính toán. TIEU LUAN MOI download : skknchat@gmail. Ví dụ về CIM 2. Mô hình độc lập với nền công nghệ (PIM) Mô hình độc lập với nền công nghệ (PIM – Platform Independent Model) tập trung vào việc mô hình hoá các thao tác của hệ thống, nhưng ở góc độ độc lập với các nền công nghệ cho phép thực thi các chức năng hệ thống, tức là chưa chỉ ra những chi tiết cần thiết để thực thi các chức năng hệ thống trên một nền công nghệ cụ thể.
PIM biểu diễn phần đặc tả về hệ thống mà các đặc tả này không bị thay đổi giữa nền công nghệ này với nền công nghệ khác.