- Thiết kế phần mềm: thiết kế phần mềm là một trong những cụng
đoạn trung tõm của cụng nghệ phần mềm. Đõy là vấn đề cú ý nghĩa đặc biệt quan trọng cú tớnh quyết định đến chất lượng của cỏc sản phẩm phần mềm
- Vai trũ của thiết kế phần mềm: thiết kế là bước đầu tiờn trong giai
đoạn phỏt triển cho bất kỳ sản phẩm hay hệ thống cụng nghệ nào. Thiết kế cú thể đượ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 ra một thiết bị, một tiến trỡnh hay một hệ thống đủ 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 của một thực thể mà sau này sẽ được xõy dựng. Thiết kế phần mềm là tiến trỡnh khụng thể thiếu trong việc sản xuất phần mềm. Thiết kế mang lại tớnh ổn định cho phần mềm, rỳt ngắn thời gian, giảm thiểu chi phớ sản xuất phần mềm bởi vậy mà tầm quan trọng của nú được đỳc kết bằng một từ “chất lượng”. Thiết kế là cỏch duy nhất giỳp những người xõy dựng phần mềm cú thể dịch một cỏch chớnh xỏc cỏc yờu cầu của khỏch hàng thành sản phẩm hay hệ thống phần mềm cuối cựng. Khi khụng cú thiết kế, hệ thống được xõy dựng sẽ khụng ổn định, ẩn chỳa nhiều rủi ro về sự đổ vỡ của hệ thống khi cú một thay đổi nhỏ. Đồng thời chất lượng của hệ thống cũng khụng được xỏc nhận cho đến khi kết thỳc quỏ trỡnh kiểm thử, lỳc này đó tốn quỏ nhiều cụng sức và chi phớ mà thời gian của dự ỏn lại rất ngắn, khụng đủ để điều chỉnh tất cả cỏc khiếm khuyết.
- Cỏc phương phỏp thiết kế:
Thụng thường, cỏc nhà sản xuất phần mềm thường sử dụng hai phương phỏp thiết kế chủ yếu: thiết kế từ đỉnh xuống (Top Down Design) và thiết kế từ đỏy lờn (Bottom Up Design).
+ Phương phỏp Top Down Design – TDD
Đõy là phương phỏp thiết kế dựa trờn ý tưởng module húa. Phương phỏp này giải quyết cỏc vấn đề đi từ tổng quỏt đến chi tiết. Tức là đầu tiờn 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 đú cỏc vấn đề này lại được phõn ra thành cỏc vấn đề nhỏ hơn, cho đến khi mỗi vấn đề cú thể tương ứng với một module (chương trỡnh con) khụng chia tỏch được nữa. Quy trỡnh này được gọi là quy trỡnh cấu trỳc húa.
Phương phỏp thiết kế từ đỉnh xuống phự hợp với cỏc doanh nghiệp, cỏc tổ chức mà HTTT chưa được tin học húa. Tức là đang ở mụ hỡnh xử lý thủ cụng. Khi đú với phương phỏp thiết kế từ đỉnh xuống sẽ giải quyết triệt để cỏc vấn đề thực tiễn đặt ra và cỏc phần mềm cú tớnh ứng dụng cao.
+ Phương phỏp Bottom Up Design - BUD
Phương phỏp này cú tư tưởng ngược lại với phương phõp thiết kế từ trờn xuống. Nếu như trong phương phỏp thiết kế từ đỉnh xuống, chỳng ta đi từ tổng quỏt đến chi tiết thỡ ở phương phỏp từ đỏy lờn xuất phỏt điểm từ cỏc vấn đề cụ thể rồi mới đến cỏc vấn đề tổng quỏt, bao trựm cỏc vấn đề đú. Lĩnh vực ứng dụng chủ yếu của phương phỏp Bottom Up Design là HTTT thuộc loại tin học húa từng phần. Đối với cỏc hệ thống này, người ta đó tin học húa một số bộ phận và mang lại hiệu quả trong thực tiễn. Khi cú dự ỏn phỏt triển HTTT thỡ cỏc nhà phõn tớch và thiết kế HTTT sẽ khụng ỏp dụng phương phỏp thiết kế từ đỉnh xuống bởi lẽ làm như vậy sẽ xúa bỏ tất cả những gỡ đó tin học
hệ thống mới vừa để đảm bảo vấn đề tiết kiệm chi phớ, vừa đảm bảo tớnh kế thừa và tõm lý quen cỏc thao tỏc trờn phần mềm cũ. Quỏ trỡnh ỏp dụng phương phỏp từ đỏy lờn gồm ba bước:
+ Xuất phỏt từ cụ thể, phõn tớch chức năng cỏc phần mềm và sắp xếp chỳng thành từng nhúm với cựng chức năng.
+ Trong cỏc nhúm, người ta phỏt triển thờm cỏc chức năng mới. + Tớch hợp cỏc nhúm thành một hệ thống thống nhất.