b) Lập trình đơi
3.1 Khái niệm về thiết kế phần mềm
3.1.5 Mô tả thiết kế
Một bản thiết kế phần mềm là một mơ hình mơ tả một đối tượng của thế giới thực có nhiều thành phần và các mối quan hệ giữa chúng với nhau. Việc mô tả thiết kế cần đảm bảo thực hiện được các yêu cầu:
- Làm cơ sở cho việc triển khai chương trình
- Làm phương tiện giao tiếp giữa các nhóm thiết kế các hệ con - Cung cấp đủ thơng tin cho những người bảo trì hệ thống
Thiết kế thường được mơ tả ở hai mức: thiết kế mức cao (high level design) và thiết kế chi tiết (low level design). Thiết kế mức cao hay thiết kế kiến trúc chỉ ra:
- Mơ hình tổng thể của hệ thống
- Cách thức hệ thống được phân rã thành các môđun - Mối quan hệ (gọi nhau) giữa các môđun
- Cách thức trao đổi thông tin giữa các môđun (giao diện, các dữ liệu dùng chung, các thông tin trạng thái)
Số mô đun C hi p hí Tăng chi phí
Tuy nhiên thiết kế mức cao khơng chỉ ra được thứ tự thực hiện, số lần thực hiện của môđun, cũng như các trạng thái và hoạt động bên trong của mỗi môđun.
Nội dung của các môđun được thể hiện ở mức thiết kế chi tiết. Các cấu trúc cơ sở của thiết kế chi tiết hay cịn gọi là thiết kế thuật tốn là:
- Cấu trúc tuần tự - Cấu trúc rẽ nhánh - Cấu trúc lặp
Mọi thuật tốn đều có thể mơ tả dựa trên 3 cấu trúc trên. Có ba loại hình mơ tả thường được sử dụng trong thiết kế:
- Dạng văn bản phi hình thức: Mơ tả bằng ngơn ngữ tự nhiên các thơng tin khơng thể
hình thức hóa được như các thơng tin phi chức năng. Bên cạnh các cách mô tả khác, mô tả văn bản thường được bổ sung để làm cho thiết kế được đầy đủ và dễ hiểu hơn.
- Các biểu đồ: Các biểu đồ được dùng để thể hiện các mối quan hệ giữa các thành phần
lập lên hệ thống và là mơ hình mơ tả thế giới thực. Việc mô tả đồ thị của các thiết kế là rất có lợi vì tính trực quan và cho một bức tranh tổng thể về hệ thống. Trong thời gian gần đây, người ta đã xây dựng được một ngôn ngữ đồ thị dành riêng cho các thiết kế phần mềm với tên gọi: ngơn ngữ mơ hình hóa thống nhất (Unified Modeling Model - UML). Tại mức thiết kế chi tiết, có một số các dạng biểu đồ hay được sử dụng là flow chart, JSP, NassiưShneiderman diagrams.
- Giả mã (pseudo code): Hiện nay, giả mã là công cụ được ưa chuộng để mô tả thiết kế ở
mức chi tiết. Các ngôn ngữ này thuận tiện cho việc mơ tả chính xác thiết kế, tuy nhiên lại thiếu tính trực quan. Dưới đây là một ví dụ sử dụng giả mã:
Procedure Write Name if sex = male write "Mr." else write "Ms." endif write name end Procedure
Nói chung thì cả ba loại biểu diễn trên đây đều được sử dụng trong thiết kế hệ thống. Thiết kế kiến trúc thường được mô tả bằng đồ thị (structure chart)và được bổ sung văn bản phi hình thức, thiết kế dữ liệu lơgic thường được mô tả bằng các bảng, các thiết kế giao diện, thiết kế cấu trúc dữ liệu chi tiết, thiết kế thuật tốn thường được mơ tả bằng pseudo code.