Nền tảng thiết kế phần mềm

Một phần của tài liệu Phân tích thiết kế phần mềm quản lý bán hàng (Trang 40 - 43)

3.1. Vai trò của thiết kế trong công nghệ phần mềm

Trong sản xuất qui mô công nghiệp vấn đề thiết kế có vai trò đặc biệt quan trọng vì các lý do:

- Thiết kế chính là nền tảng để phát triển một phần mềm đảm bảo tính ổn định và bền vững.

- Nhờ có thiết kế chúng ta có thể đảm bảo không có sự đổ vỡ của 1 phần mềm khi có sự biến động xảy ra hoặc khi có những thay đổi của phần mềm.

- Đối với một phần mềm không có thiết kế đầy đủ chỉ cần một thay đổi nhỏ trong cấu trúc dữ liệu hoặc chức năng của chương trình cũng có thể dẫn đến sự phá hủy của phần mềm hay làm hỏng những chức năng ban đầu của nó. Người ta thường dùng hình ảnh sau đây so sánh phần mềm có thiết kế và phần mềm không có thiết kế.

3.2. Các phương pháp thiết kế3.2.1 Khái niệm Module hóa 3.2.1 Khái niệm Module hóa

Trong trường phái lập trình cấu trúc người ta dựa trên một ý tưởng gọi là module hoá mà bản chất của nó khá phù hợp với phương pháp phân tích cảu triết học tức là khi nghiên cứu một vấn đề nào đó chúng ta phân rã vấn đề đó thành

Bảo trì Kiểm thử Cài đặt Thiết kế Kiểm thử Cài đặt Bảo trì Có thiết kế Không có thiết kế

những vấn đề nhỏ hơn, chi tiết hơn bao gồm từng bộ phận cấu thành nên vấn đề lớn. Trong tin học, vấn đề module hoá được sử dụng để khi chuyển từ vấn đề thực tế sang giải pháp phần mềm. Trong trường hợp này quá trình phân tích dừng lại ở các module độc lập và thông thường mỗi module tương ứng với một chương trình.

Ta có thể biểu diễn quá trình module hoá thông qua sơ đồ cấu trúc hình cây sau đây.

Nếu ta coi bài toán chính là module bậc 1 thì module này lại được phân chia thành các module bậc 2, bậc 3... theo cấu trúc hình cây.

3.2.2. Phương pháp thiết kế từ trên xuống (Top Down Design)

Ý tưởng tổng quát của phương pháp thiết kế từ đỉnh xuống là dựa vào quá trình module hoá một vấn đề thực tế. Khi giải quyết một vấn đề nào đó trước hết người ta đưa ra các phác thảo tổng quát. Sau đó trên cơ sở của phác thảo này sẽ tiếp tục chi tiết hoá thành các module ngày càng chi tiết và cụ thể hơn. Và dừng lại khi mỗi module tương ứng với một chương trình.

3.2.3. Phương pháp thiết kế từ dưới lên (Bootom Up Design)

Ý tưởng của phương pháp này theo một góc độ nào đó là ngược lại với phương pháp thiết kế từ trên xuống và bao gồm các vấn đề sau:

Trước hết tiến hành giải quyết các vấn đề cụ thể, sau đó trên cơ sở đánh giá mức độ tương tự về chức năng của các vấn đề này trong việc giải quyết bài

P P1 P2 P3 P1 1 P1 2 P1 3 P2 1 P2 2 P3 1 P3 2

toán người ta gộp chúng lại thành từng nhóm cùng chức năng từ dưới lên trên cho đến module chính. Sau đó sẽ thiết kế thêm một số chương trình làm phong phú hơn, đầy đủ hơn chức năng của các phân hệ và cuối cùng là thiết kế một chương trình làm nhiệm vụ tập hợp các module thành một hệ chương trình thống nhất, hoàn chỉnh.

3.3. Tiến trình thiết kế

Tiến trình thiết kế trong công nghệ phần mềm được xem xét từ nhiều góc độ khác nhau. Xuất phát từ quan điểm quản lý dự án thì qui trình thiết kế phần mềm theo hai bước:

- Thiết kế kiến trúc phần mềm: mục đích xác định mô hình kiến trúc và các thành phần trong kiến trúc.

- Thiết kế chi tiết phần mềm: Thiết kế chi tiết từng thành phần, xác định đầy đủ các thông tin tương ứng cho từng thành phần để có thể tiến hành xây dựng phần mềm.

Xuất phát từ góc độ kĩ thuật thì qui trình thiết kế phần mềm bao gồm bốn

loại:

- Thiết kế kiến trúc. - Thiết kế dữ liệu. - Thiết kế thủ tục. - Thiết kế giao diện.

Hai khía cạnh kĩ thuật và quản lý của qui trình thiết kế có mối liên quan mật thiết với nhau và được biểu diễn trong hình vẽ tổng quát dưới đây.

Một phần của tài liệu Phân tích thiết kế phần mềm quản lý bán hàng (Trang 40 - 43)