Có hai phương pháp để thiết kế phần mềm là thiết kế từ đỉnh xuống và thiết kế từ dưới lên.
Phương pháp thiết kế từ đỉnh xuống (Top Down Design – TDD) Phương pháp này áp dụng để thiết kế phần mềm cho những đơn vị chưa có phần mềm hỗ trợ bất cứ nghiệp vụ nào tức là bắt đầu tiến hành tin học hoá. Nó được áp dụng khá phổ biến ở Việt Nam hiện nay.
Đây là một phương pháp thiết kế giải thuật dựa trên tư tưởng module hoá. Nội dung của phương pháp này như sau: Trước hết người ta xác định các vấn đề chủ yếu nhất mà việc giải quyết bài toán yêu cầu, bao quát được toàn bộ bài toán. Sau đó phân chia nhiệm vụ cần giải quyết thành các nhiệm vụ cụ
thể hơn, tức là chuyển dần từ module chính đến các module con từ trên xuống dưới.
Trong đề tài này em cũng sử dụng phương pháp thiết kế từ trên xuống. Mục đích của đề tài là xây dựng chương trình quản lý hợp đồng xây dựng. Trên cơ sở phân tích chức năng cần có của chương trình, em chia module chính của chương trình thành bốn module nhỏ để có phác thảo thứ nhất về bài toán đặt ra:
Đối với mỗi module nhỏ lại được phân chia ra làm nhiều các module con (phác thảo thứ hai) Phần mềm quản lý hợp đồng xây dựng Quản lí danh mục Quản lý hợp đồng Quản lí thanh toán Báo cáo
Như vậy theo phương pháp thiết kế này thì chương trình sẽ có 15 module cơ sở. Mỗi module là một chương trình con giải quyết một vấn đề cụ thể.
Phương pháp thiết kế từ dưới lên (Buttom Up Design – BTU) Phương pháp này áp dụng cho những đơn vị mà trong tổ chức trước đó đã ứng dụng tin học ở một số bộ phận . Tư tưởng của phương pháp này là: Trước hết người ta 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 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. Tiếp đó 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
Phần mềm quản lý hợp đồng xây dựng
Danh mục Quản lý hợp
đồng thanh toánQuản lí Báo cáo
QL danh mục nhà thầu QL danh mục chủ đầu tư QL danh mục máy móc QL danh mục vật tư Xử lí hợp đồng Xử lí phụ lục hợp đồng Tạo kì hạn thanh toán Xử lí thanh toán hợp đồng
Báo cáo tiến trình hợp
đồng
Báo cáo thanh toán
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.
Để minh hoạ cho tư tưởng thiết kế này ta xem xét ví dụ sau đây:
Giả sử trong một doanh nghiệp, công việc ứng dụng tin học trong quản lý đã được triển khai ở các bộ phận khác nhau và trong từng thời điểm khác nhau. Kết quả là người ta đã thiết kế và đưa vào sử dụng một số chương trình quản lý trong các phòng ban (phòng Tài vụ, phòng cung ứng vật tư, phòng Tổ chức hành chính,…). Danh sách các chương trình như sau:
Prog 1: Vào số liệu cho tệp hồ sơ cán bộ. Prog 2: Sửa chữa, bổ sung, cập nhật hồ sơ. Prog 3: Vào số liệu cho tệp quản lý vật tư.
Prog 4: Vào số liệu cho tệp hoá đơn bán sản phẩm. Prog 5: Tính lương cán bộ quản lý.
Prog 6: Lập bảng dự toán sử dụng vật tư. Prog 7: Quản lý cán bộ.
Prog 8: Lập bảng tính giá trị sản phẩm bán ra.
Các chương trình này đã được sử dụng và có kết quả trong sản xuất kinh doanh đã được thực tế kiểm nghiệm. Bây giờ trên cơ sở các chương trình cụ thể này, lãnh đạo công ty có nhu cầu thiết kế một hệ thống chương trình thống nhất, phục vụ tốt hơn cho việc quản lý doanh nghiệp. Trong trường hợp này, chúng ta phải vận dụng phương pháp thiết kế từ dưới lên. Ta lần lượt được các phác thảo sau đây:
√ Phác thảo thứ nhất: Gộp các module 1, 2, 5, 7 thành phân hệ quản lý nhân
sự:
Quản lý nhân sự
√ Phác thảo thứ hai: Gộp các module 4, 8 thành phân hệ quản lý bán hàng:
√ Phác thảo thứ ba: Gộp các module 3, 6 thành các chức năng quản lý kho hàng:
√ Phác thảo thứ 4: Trên cơ sở chức năng của các phân hệ quản lý trên đây, chúng ta có thể tiến hành thiết kế thêm một số chương trình khác làm phong phú thêm các vấn đề mà hệ thống quản lý (Prog 9 - dự báo mức tiêu thụ hàng hoá, Prog 10 - lập bảng tổng hợp hàng tồn kho). Các chương trình đựơc thiết kế bổ sung phải đảm bảo được yêu cầu phù hợp về mặt chức năng với các chương trình đã được thiết kế bà cài đặt trước đó. Đồng thời phải có sự tương thích với các chương trình đã được kiểm nghiệm trong thực tiễn. Trong ví dụ trên đây ta co thể thiết kế thêm nhiều chương trình trong mỗi phân hệ làm cho khả năng của các phân hệ ngày càng đa dạng, giải quyết được ngày càng hiệu quả các vấn đề mà thực tế quản lý của doanh nghiệp đặt ra. Ở đây là gộp ba phân hệ vừa thiết kế thành một hệ tin học quản lý thống nhất của doanh nghiệp dưới dạng mô hình sau:
Quản trị bán hàng
Prog 4 Prog 8
Quản trị kho hàng