5. DataGrid
1.1 Khái niệm và vai trò của thiết kế
Thiết kế là bước đầu tiên trong giai đoạn phát triển bất cứ một sản phẩm hay hệ thống công nghệ nào. Nó được định nghĩa là ''tiến trình áp dụng nhiều kỹ thuật và nguyên lý với mục đích xác định một thiết bị, một tiến trình hay một hệ thống dù chi tiết để cho phép thực hiện nó về mặt vật lý’’.
Mục tiêu của thiết kế là tạo ra một mô hình hay biểu diễn một thực thể sau này sẽ được áp dụng. Tiến trình phát triển mô hình này dựa trên kinh nghiệm trong việc xây dựng các thực thể tương tự, một tập các nguyên lý và/hoặc các trực cảm hướng dẫn cách tiến triển mô hình này, một tập các tiêu chuẩn để đánh giá chất lượng và một tiến trình lặp lại để sau đó dẫn tới biểu diễn thiết kế chung cuộc.
Thiết kế phần mềm là trung tâm kỹ thuật của tiến trình công nghệ phần mềm và được áp dụng cho khuôn cảnh phát triển phần mềm bất kỳ. Khi các yêu cầu phần mềm được phân tích và đặc tả thì thiết kế phần mềm là một trong 3 hoạt động - thiết kế, lập trình và kiểm thử - những hoạt động cần để xây dựng và kiểm chứng phần mềm.
Luồng thông tin trong giai đoạn kỹ thuật được minh hoạ trên hình 6.1.
Các yêu cầu phần mềm được biểu thị bởi mô hình thông tin, chức năng và hành vi, là đầu vào cho bước thiết kế. Sử dụng một trong các phương pháp thiết kế, tạo thiết kế dữ liệu, thiết kế kiến trúc, thiết kế thủ tục. Thiết kế dữ liệu chuyển mô hình lĩnh vực thông tin đã được tạo ra trong phân tích thành các cấu trúc dữ liệu cần thiết cho việc cài đặt phần mềm sau này. Thiết kế kiến trúc định nghĩa một mối quan hệ giữa các thành phần cấu trúc chính của chương trình. Thiết kế thủ tục biến đổi các thành phần cấu trúc thành mô tả thủ tục phần mềm. Chương trình gốc sẽ được sinh ra sau đó việc kiểm thử được thực hiện để tích hợp và làm hợp lệ phần mềm.
Thiết kế phần mềm là một tiến trình qua đó các yêu cầu được dịch thành một biểu diễn phần mềm. Ban đầu biểu diễn mô tả quan điểm của toàn bộ phần mềm. Việc làm mịn tiếp sau dẫn tới một biểu diễn thiết kế rất gần với chương trình gốc. Theo quan điểm quản lý dự án, thiết kế phần mềm được tiến hành theo hai bước. Thiết kế sơ bộ quan tâm tới việc dịch các yêu cầu thành kiến trúc dữ liệu và phần mềm. Thiết kế chi tiết tập trung vào làm mịn biểu diễn kiến trúc để dẫn tới cấu trúc dữ liệu chi tiết và biểu diễn thuật toán cho phần mềm.
Trong phạm vi thiết kế sơ bộ và chi tiết, xuất hiện các hoạt động khác nhau. Bên cạnh việc thiết kế dữ liệu, kiến trúc và thủ tục, nhiều ứng dụng hiện đại còn có hoạt động thiết kế giao diện phân biệt. Thiết kế giao diện lập ra cách bố trí và cơ chế tương tác cho tương tác người - máy.
Khái niệm thiết kế được định nghĩa theo 2 cách sau:
· Thiết kế là quy trình định nghĩa ra kiến trúc, thành phần, interfaces và các thuộc tính khác của một hệ thống hoặc một thành phần. Trong quy trình này, yêu cầu phần mềm được phân tích để đưa ra một cấu trúc của phần mềm làm cơ sở để làm ra phần mềm.
· Thiết kế là kết quả của một quá trình. Nó mô tả kiến trúc của một phần mềm như là phần mềm được phân rã và tổ chức như thế nào trong các thành phần và các interfaces giữa các thành phần như thế nào. Nó cũng có thể mô tả các thành phần ở mức chi tiết cho phép có thể xây dựng được phần mềm.
Thiết kế phần mềm đóng vai trò quan trọng trong suốt quá trình thiết kế, những kỹ sư phần mềm sẽ đề xuất các mô hình tạo thành loại kế hoạch chi tiết cho giải pháp để có thể thực hiện được. Chúng ta có thể phân tính và đánh giá những mô hình này có hay không phù hợp với những yêu cầu khác nhau. Chúng ta có thể sử dụng kiểm tra và thẩm định thay thế những giải pháp và những đánh đổi (tradeoffs). Cuối cùng chúng ta sử dụng những mô hình kết quả để lên kế hoạch các hoạt động phát triển tiếp theo như là: thẩm định và kiểm thử hệ thống, thêm vào đó sử dụng chúng như là đầu vào hay là điểm bắt đầu của xây dựng và kiểm thử phần mềm.
Trong danh sách chuẩn của vòng đời phát triển phần mềm như ISO/IEC/IEEE Software Life Cycle Process, thiết kế phần mềm bao gồm 2 hoạt động tương ứng với phân tích yêu cầu phần mềm và xây dựng phần mềm:
· Thiết kế kiến trúc (còn được gọi là thiết kế mức cao): là phát triển mức kiến trúc cao nhất và đưa ra cách tổ chức phần mềm và chỉ ra các thành phần khác nhau trong phần mềm
· Thiết kế chi tiết: chỉ ra chi tiết và đầy đủ về thành phần tạo điều kiện xây dựng phần mềm trong pha sau đó
Đầu ra của thiết kế phần mềm sẽ được sử dụng cho quá trình xây dựng và kiểm thử nên việc đánh giá một thiết kế có phù hợp hay không rất quan trọng, nếu một thiết kế sai sẽ dẫn đến tất cả các quá trình sau đó cũng sai và cần phải chỉnh sửa nếu thiết kế được chỉnh sửa.