Các thành phần của mẫu thiết kế

Một phần của tài liệu Phân tích thiết kế Hệ thống quản lý thiết bị và sự cố tin học theo hướng đối tượng (Trang 45)

Mỗi mẫu thiết kế trước tiên mô tả một bài toán mà ta gặp nhiều lần, rồi mô tả những yếu tố căn bản nhất để giải quyết bài toán theo cách mà ta có thể áp dụng lại

nhiều lần. Dựa trên mô tả như trên về các mẫu thiết kế, ta thấy chúng bao gồm những thành phần cơ bản như sau:

- Tên mẫu (Design pattern name): là tên gọi qua đó ta có thể mô tả bài toán cần giải quyết, giải pháp thực hiện kết quả. Việc đặt tên mẫu thiết kế cho phép mô tả các bài toán và giải pháp một cách ngắn gọn. Tạo thành một ngôn ngữ trong cộng đồng những người thiết kế. Ví dụ, khi nói đến mẫu thiết kế “Facade”, ta hình dung ngay đến mô hình thiết kế một đối tượng với vai trò “interface” của một tập các thành phần nhỏ.

- Bài toán: Cho phép xác định trong trường hợp nào thì áp dụng mẫu thiết kế thông qua mô tả bài toán và ngữ cảnh của bài toán đó.

- Giải pháp giải quyết bài toán: Mô tả những thành phần tạo nên mẫu thiết kế (các lớp, các đối tượng) cùng mối quan hệ, vai trò và cách thức phối hợp giữa chúng (cấu trúc, thừa kế). Giải pháp không đề cập đến cách thức thiết kế hay thực hiện cụ thể nào vì nó được áp dụng trong rất nhiều tình huống khác nhau. Thay vào đó, giải pháp của mẫu thiết kế được mô tả với tính khái quát cao với cách thức tổ chức chung nhất của các thành phần trong việc giải quyết bài toán. Ví dụ như mẫu thiết kế được gọi như một thành ngữ (mẫu GRASP), mẫu thiết kế có thể mô tả bằng lời hoặc mô hình thiết kế hay bằng mã nguồn.

- Hệ quả: Là những gì thu nhận được cùng với những yếu tố cần cân nhắc khi áp dụng mẫu thiết kế để giải quyết bài toán. Hệ quả thường không được đề cập khi nói đến một mẫu thiết kế nhưng đây là yếu tố quyết định khi cần chọn lựa hoặc phân tích chi phí và lợi ích khi áp dụng các mẫu thiết kế.

2.4.2. Phân tích và thiết kế hƣớng mẫu trong công nghệ hƣớng đối tƣợng

Phân tích và thiết kế hướng mẫu (Pattern – Oriented Analysis and Design - POAD) là một cách tiếp cận kiến trúc cấu thành nhằm gắn kết các mẫu ở mức thiết kế. Nó sử dụng các khái niệm của cấu trúc các mẫu thiết kế như là các thành phần thiết kế với các giao diện.

Phân tích và thiết kế hướng mẫu dựa trên tiền đề là: tại một mức thiết kế nào đó, người ta biết các mẫu có thể sử dụng được trong ứng dụng và nó thực sự không lấn át công việc của người thiết kế với những chi tiết của thiết kế bên trong mỗi mẫu.

2.4.2.1. Vai trò của mẫu trong phát triển phần mềm

Các mẫu thiết kế hứa hẹn sớm đem lại lợi ích của việc tái sử dụng trong vòng đời phát triển. Để có được lợi ích trong quá trình triển khai những giải pháp thiết kế, chúng ta cần phải định nghĩa các kỹ thuật cấu thành thiết kế để xây dựng ứng dụng sử dụng các mẫu. Những mô hình thiết kế linh hoạt cần phải được phát triển để hỗ trợ cho kỹ thuật này.

Các mẫu thiết kế có tác dụng thúc đẩy trong việc sử dụng lại các sản phẩm trong pha thiết kế, bởi vì chúng cung cấp một tập hợp các từ vựng thông thường cho thiết kế. Chúng còn cung cấp một ngữ nghĩa giúp cho việc hiểu các thiết kế và chúng chỉ ra các khối xây dựng từ các ứng dụng phức tạp hơn đã được xây dựng. Sự tập hợp từ nhiều danh mục mẫu sẵn có đã khuyến khích hình thành các ý tưởng xa hơn về việc

làm sao để sử dụng những giải pháp có thể tin cậy được để phát triển các ứng dụng. Các nhà nghiên cứu và thiết kế có kinh nghiệm đã mất nhiều công sức trong việc làm tài liệu có chất lượng cao trong thiết kế phần mềm như những mẫu thiết kế.

2.4.2.2. Mục đích của việc phân tích thiết kế hướng mẫu

Khi yêu cầu về các hệ thống phần mềm tăng, các nhà nghiên cứu cũng như các nhà thực hành đã tìm kiếm các phương pháp luận và công nghệ để tự động hóa quá trình sản xuất phần mềm và làm thuận lợi quá trình bảo trì hệ thống. Những công nghệ này xuất hiện gần đây bao gồm các mẫu thiết kế và các khung làm việc. Trường hợp đặc biệt, trong cùng một khoảng thời gian chúng ta nhận thấy sự cần thiết của một phương pháp luận phát triển để phát triển các hệ thống phức tạp với qui mô lớn và học được kinh nghiệm của các nhà thiết kế hệ thống khác trong việc giải quyết các vấn đề lặp lại của thiết kế.

Mục đích của phân tích và thiết kế hướng mẫu là đẩy mạnh quá trình phát triển trên nền mẫu. Chúng ta đang tìm kiếm những cách sao cho nhiều nhà thiết kế sử dụng nhiều các mẫu hơn. Chúng ta muốn thu hút những nhà thiết kế mới để giúp họ sử dụng các mẫu một cách đơn giản theo từng tiến trình của họ. Đẩy mạnh sự phát triển trên nền mẫu, chúng ta cần định nghĩa những cách tiếp cận cấu thành dễ sử dụng.

Phát triển các cách tiếp cận có hệ thống để gắn kết các mẫu: một nhu cầu ngày càng cấp thiết là phát triển những cách tiếp cận các thành phần một cách hệ thống nhằm làm đơn giản hóa quá trình kết hợp các mẫu. Các mô hình làm đơn giản quá trình kết hợp giữa các mẫu trong pha thiết kế phải được phát triển để hỗ trợ cho cách tiếp cận này.

Các mẫu thiết kế là những thiết kế có chất lượng tốt. Việc sử dụng lại những mẫu trong một thiết kế được định trước để cải thiện chất lượng thiết kế của các ứng dụng phần mềm được xây dựng nhờ sử dụng những mẫu như những khối hợp nhất cơ bản của họ.

2.4.2.3. Những vấn đề thiết kế hướng mẫu

Để thúc đẩy sự phát triển của các mẫu cơ sở và xây dựng các cách tiếp cận mới để biên soạn các mẫu thì chúng ta còn phải đương đầu với rất nhiều thách thức. Để sử dụng các mẫu như là một khối hợp nhất chúng ta cần phải tìm ra các đặc trưng mà mẫu được phân loại như một thành phần thiết kế. Làm sao chúng ta có thể định nghĩa những giao diện mẫu cho mục đích hợp nhất với các mẫu khác. Chúng ta có thể biên soạn những ứng dụng đơn độc từ các mẫu thiết kế? Nhiều ứng dụng sử dụng một hoặc nhiều mẫu trong thiết kế. Thách thức ở đây là liệu các ứng dụng có thể xây dựng bằng cách kết hợp các mẫu thiết kế không? Giao diện của các mẫu này như thế nào? Giao diện của các mẫu là gì? và giao diện nào không thích ứng với những vấn đề có thể xuất hiện? Các loại mẫu gì được sử dụng? Chúng ta phát triển các ứng dụng có sử dụng các mẫu thiết kế một cách hệ thống như thế nào? Có tiến trình thiết kế tốt để phát triển các ứng dụng sử dụng các mẫu đã thiết kế như những khối hợp nhất không?

2.4.3. Phân loại mẫu thiết kế

Erich Gamma và các đồng sự của ông đề xuất 23 mẫu thiết kế và đã đưa ra hai tiêu chí để phân loại các mẫu thiết kế này. Đó là phân loại theo mục đích sử dụng và phạm vi áp dụng của mẫu.

2.4.3.1. Phân loại theo mục đích sử dụng

Các mẫu thiết kế được phân thành 3 nhóm: mẫu kiến tạo, mẫu cấu trúc, mẫu hành vi.

- Mẫu kiến tạo (Creational Patterns): mẫu kiến tạo trừu tượng hóa quá trình khởi tạo đối tượng. Các mẫu này giúp hệ thống không phải phụ thuộc vào cách một đối tượng được tạo ra, xây dựng và thể hiện. Mẫu thiết kế kiến tạo bao gồm các mẫu sau: Abstract Factory, Builder, Factory Method, Prototype, Singleton.

- Mẫu cấu trúc (Structural Patterns): mẫu thiết kế cấu trúc đề cập đến cách mà các đối tượng và lớp đối tượng kết hợp để tạo nên một cấu trúc lớn hơn và hữu dụng hơn. Việc thiết kế các lớp đối tượng là nhằm đáp ứng các ràng buộc cụ thể của hệ thống. Mẫu cấu trúc mô tả mối quan hệ giữa các lớp này và sắp xếp sao cho nếu có bất kì sự thay đổi nào với hệ thống đều không làm thay đổi những quan hệ đó. Mẫu thiết kế cấu trúc bao gồm các mẫu sau: Adapter, Bridge, Composite, Decorator, Façade, Flyweight, Proxy.

- Mẫu hành vi (Behavioral Patterns): mẫu hành vi mô tả sự tương tác giữa các đối tượng và cách chúng phân phối, cộng tác, để giải quyết một hay một nhóm trách nhiệm nào đó. Mẫu hành vi bao gồm các mẫu sau: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor.

2.4.3.2. Phân loại theo phạm vi sử dụng

Các mẫu thiết kế được chia làm 2 nhóm: Phạm vi được nói đến khi ta quyết định nên áp dụng mẫu thiết kế vào các lớp hay các đối tượng.

- Mẫu thiết kế áp dụng cho lớp (Class): Các mẫu này mô tả và giải quyết mối quan hệ giữa các lớp đối tượng và lớp con của chúng. Các mối quan hệ này được thiết lập qua cơ chế kế thừa và chỉ xảy ra ở thời điểm biên dịch chương trình. Các mẫu thuộc loại này bao gồm: Factory Method, Adapter (Class), Interpreter, Template Method.

- Mẫu thiết kế áp dụng cho đối tượng (Object): Các mẫu này mô tả và giải quyết mối quan hệ giữa các đối tượng. Các mối quan hệ này có thể thay đổi tại thời điểm chạy chương trình. Các mẫu thuộc loại này bao gồm: Abstract Factory, Builder, Prototype, Singleton, Adapter (Object), Bridge, Composite, Decorator, Façade, Flyweight, Proxy, Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Visitor. (adsbygoogle = window.adsbygoogle || []).push({});

CHƢƠNG 3

ỨNG DỤNG CÁCH TIẾP CẬN HƢỚNG ĐỐI TƢỢNG ĐỂ PHÂN TÍCH THIẾT KẾ HỆ THỐNG QUẢN LÝ THIẾT BỊ

VÀ SỰ CỐ TIN HỌC

3.1. Bài toán Quản lý thiết bị và sự cố tin học tại Trung tâm tin học - Bộ Kế hoạch và Đầu tƣ Bộ Kế hoạch và Đầu tƣ

3.1.1. Mục tiêu và yêu cầu khi xây dựng Hệ thống Quản lý thiết bị và sự cố tin học tin học

3.1.1.1. Mục tiêu tổng quát

Hệ thống Quản lý thiết bị và sự cố tin học được xây dựng nhằm thực hiện các mục tiêu chủ yếu sau:

- Đáp ứng yêu cầu của công tác quản lý thiết bị và hỗ trợ xử lý sự cố tin học trong Bộ Kế hoạch và Đầu tư.

- Xây dựng một cơ sở dữ liệu thống nhất, tập trung về các thiết bị tin học và quá trình hỗ trợ xử lý Sự cố tin học trong Bộ Kế hoạch và Đầu tư.

3.1.1.2. Mục tiêu và yêu cầu cụ thể

Các nội dung sẽ thực hiện và triển khai:

- Khảo sát, xây dựng, chuẩn hoá và đưa vào áp dụng các quy trình quản lý Thiết bị và Sự cố tin học tại Bộ Kế hoạch và Đầu tư dựa trên hệ thống thiết bị tin học hiện có của Bộ.

- Trên cơ sở các quy trình đã được xây dựng, tiến hành phân tích thiết kế chi tiết hệ thống và từ đó xây dựng hệ thống Quản lý thiết bị và sự cố tin học.

- Thực hiện triển khai hệ thống Quản lý thiết bị và sự cố tin học tại Trung tâm Tin học.

- Tại các máy, tùy theo quyền của người sử dụng mà có thể xem các thông tin về Thiết bị và Sự cố tin học, quá trình hỗ trợ xử lý sự cố tin học hay cập nhật các thông tin về Thiết bị và Sự cố tin học. Các thông tin về Thiết bị và Sự cố tin học được cập nhật sẽ được lưu trên một máy chủ cơ sở dữ liệu.

Việc xây dựng và triển khai hệ thống Quản lý thiết bị và sự cố tin học phải đảm bảo được các yêu cầu cơ bản sau:

- Xây dựng quy trình quản lý Thiết bị và Sự cố tin học chính xác, đảm báo phù hợp với việc quản lý Thiết bị và Sự cố tin học tại Bộ Kế hoạch và Đầu tư.

- Chuẩn hoá hệ thống danh mục các Thiết bị và hệ thống báo cáo thống kê về Thiết bị và Sự cố tin học.

- Hệ thống xây dựng phải hỗ trợ font Unicode, có giao diện thân thiện và đặc biệt là dễ dàng sử dụng, thao tác.

- Lưu trữ, quản lý thông tin về Thiết bị và Sự cố tin học trong Bộ.

- Ngoài ra, hệ thống phải mang tính linh hoạt, khi có thay đổi thông tin về các Thiết bị tin học thì có thể cho phép người sử dụng thay đổi. Tránh tình trạng phải sửa

lại mã nguồn của chương trình. Hệ thống vận hành thông suốt, không bị các trục trặc hay sự cố do các lỗi kỹ thuật phần mềm.

- Các chế độ vận hành, quản lý và sử dụng hệ thống cần tuân thủ các nguyên tắc bảo mật và an toàn dữ liệu, chống được sự thâm nhập trái phép vào hệ thống.

3.1.2. Mô tả nghiệp vụ quản lý thiết bị và sự cố tin học

Quản lý thiết bị và sự cố tin học là nhiệm vụ thường xuyên của cán bộ chuyên trách của Trung tâm tin học – Bộ Kế hoạch và Đầu tư. Với việc xây dựng hệ thống Quản lý thiết bị và sự cố tin học, các quy trình nghiệp vụ chính sau đây sẽ được tin học hóa:

- Cập nhật và lưu trữ các thông tin về các Thiết bị và Sự cố tin học .

- Thực hiện việc quản lý Thiết bị, Sự cố tin học và đưa ra các báo cáo thống kê về thiết bị tin học, tình hình sử dụng thiết bị tin học, về sự cố tin học và tình hình hỗ trợ xử lý các sự cố tin học trong Bộ Kế hoạch và Đầu tư.

Trong đó:

Sự cố tin học: là sự cố xảy ra được ghi nhận trên máy tính của cán bộ, hệ thống cơ sở hạ tầng công nghệ thông tin tại Bộ Kế hoạch và Đầu tư liên quan đến các chi tiết trong máy tính, mạng máy tính, các phần mềm ứng dụng, hệ thống thư điện tử, dịch vụ online, các thiết bị chuyển mạch, thiết bị wifi trong và ngoài trung tâm dữ liệu.

Các loại sự cố tin học: (adsbygoogle = window.adsbygoogle || []).push({});

- Sự cố máy tính: là loại sự cố liên quan đến các chi tiết trong máy tính như các linh kiện, hệ điều hành, thiết bị ngoại vi …

- Sự cố mạng: là loại sự cố liên quan đến mạng máy tính được ghi nhận trên máy tính của cán bộ. Ví dụ như: máy tính mất kết nối mạng nội bộ, mạng Internet, …

- Sự cố phát triển ứng dụng: là loại sự cố liên quan đến các ứng dụng được cài đặt trên máy tính của cán bộ (các ứng dụng do Trung tâm tin học phát triển hoặc chuyển giao, quản lý).

- Sự cố dịch vụ online: là loại sự cố liên quan đến các dịch vụ trực tuyến được triển khai trong Bộ Kế hoạch và Đầu tư (các ứng dụng trên nền tảng web).

- Sự cố thư điện tử: là loại sự cố liên quan đến dịch vụ thư điện tử nội bộ của Bộ Kế hoạch và Đầu tư.

- Sự cố hệ thống: là loại sự cố liên quan đến hệ thống cơ sở hạ tầng công nghệ thông tin tại Bộ Kế hoạch và Đầu tư

Mức độ sự cố:

- Bình thường: sự cố xảy ra không ảnh hưởng hoặc ảnh hưởng không nhiều đến hoạt động bình thường của thiết bị, hệ thống. Ví dụ: máy nhiễm virus, máy chạy chậm hơn bình thường, mạng máy tính kết nối chậm …

- Nghiêm trọng: sự cố xảy ra ảnh hưởng nhiều đến hoạt động bình thường của thiết bị, hệ thống. Ví dụ: máy hoạt động không ổn định, xảy ra tình trạng treo máy.

- Rất nghiêm trọng: sự cố xảy ra khiến thiết bị, hệ thống ngừng hoạt động. Những sự cố này thường phải được giải quyết ngay. Ví dụ: máy tính không khởi động.

Thiết bị: là những máy tính được trang bị cho các cán bộ tại Bộ Kế hoạch và Đầu tư.

Linh kiện: là những chi tiết gắn với máy tính, có thể sửa chữa hoặc thay thế.

Một phần của tài liệu Phân tích thiết kế Hệ thống quản lý thiết bị và sự cố tin học theo hướng đối tượng (Trang 45)