II. Kỹ nghệ phần mềm
6. Kỹ nghệ hệ thống và tạo nguyờn mẫu
1.3.2 Việc mụ tả thiết kế
a. Thiết kế phần mềm tạo ra một mụ hỡnh của thế giới thực mụ tả cỏc thực thể và cỏc mối quan hệ của chỳng với nhau
b. Thiết kế cần mụ tả sao đạt mức
o Làm cơ sở cho thực hiện chi tiết
o Làm phương tiện liờn lạc giữa cỏc nhúm thiết kế cỏc hệ con o Cung cấp đủ thụng tin cho những người bảo trỡ hệ thống
c. Người ta thường dựng cỏc kỹ thuật đồ hoạ, cỏc ngụn ngữ mụ tả chương trỡnh, văn bản khụng hỡnh thức để tạo dựng cỏc tài liệu thiết kế
Thiết kế chi tiết
Thiết kế sơ bộ
Thiết kế dữ liệu Thiết kế kiến trỳc,cỏc thành phần
chức năng chương trỡnh Thiết kế thủ tục,thuật túan
Thiết kế giao diện Khớa cạnh quản
lý
Khớa cạnh kỹ thuật
1.4 Phương phỏp thiết kế
1.4.1 Phương phỏp thiết kế
Trong nhiều tổ chức việc thiết kế phần mềm vẫn cũn là quỏ trỡnh tự học, với tập hợp cỏc yờu cầu (thường được mụ tả bằng ngụn ngữ tự nhiờn) người ta xõy dựng một bản thiết kế khụng hỡnh thức. Sau đú bắt tay ngay vào việc mó hoỏ và bản thiết kế được cải biờn trong khi hệ thống được thực hiện. Khi giai đoạn thực hiện kết thỳc thỡ so với đặc tả ban đầu, sản phẩm đó thay đổi hoàn toàn.
Một cỏch tiếp cận cú phương phỏp hơn là: “phương phỏp cấu trỳc”. Đú là cỏc phương phỏp làm mịn kiến trỳc phần mềm theo kiến trỳc từ trờn xuống. Cỏc khớa cạnh thủ tục của định nghĩa thiết kế đó tiến hoỏ thành một triết lý là lập trỡnh cú cấu trỳc.
Phương phỏp cấu trỳc được dựng rộng rói trong những năm đầu của thập kỷ 80. Nú đó được dựng thành cụng trong nhiều dự ỏn lớn, nú làm giảm giỏ thành đỏng kể, sử dụng được cỏc khỏi niệm chuẩn và đảm bảo rằng cỏc thiết kế tuõn theo một chuẩn. Cỏc cụng cụ CASE đó được dựng để trợ giỳp cho phương phỏp này.
Trong những năm sau này, phương phỏp hướng đối tượng được đề cập tới, được phỏt triển và được dựng phổ biến hiện nay.
Cỏc phương phỏp thiết kế thường trợ giỳp một vài cỏch nhỡn nhận hệ thống như sau:
o Nhỡn nhận cấu trỳc: Cho cỏi nhỡn cấu trỳc thụng qua Biểu đồ cấu trỳc
o Nhỡn nhận quan hệ thực thể: mụ tả cỏc cấu trỳc dữ liệu logic được dựng, núi đến đặc tả dữ liệu, mụ hỡnh quan hệ thực thể
o Nhỡn nhận dũng dữ liệu: thụng qua Biểu đồ dũng dữ liệu
Người ta cũn dựng lược đồ chuyển trạng thỏi để bổ sung cho cỏc phương phỏp trờn
Để đảm bảo chất lượng cao cho một biểu diễn thiết kế, cần cú cỏc tiờu chuẩn cho thiết kế tốt. Song về mặt phương phỏp, chỳng ta đưa ra cỏc hướng dẫn sau:
1. Thiết kế nờu ra cỏch tổ chức theo cấp bậc để dựng cỏch kiểm soỏt thụng minh
2. Thiết kế nờn theo cỏc module, tức là phần mềm nờn được phõn hoạch một cỏch logic thành cỏc thành phần thực hiện những chức năng xỏc định
3. Thiết kế nờn chứa cỏc biểu diễn phõn biệt và tỏch biệt giữa dữ liệu và thủ tục
4. Thiết kế nờn dẫn tới (như chương trỡnh con hay thủ tục) nờu ra cỏc đặc trưng chức năng đặc biệt
5. Thiết kế nờn dẫn tới giao diện giỳp rỳt gọn độ phức tạp của việc nối ghộp giữa cỏc module và với mụi trường bờn ngoài.
6. Thiết kế nờn được hướng theo phương phỏp lặp lại, được điều khiển bởi cỏc dữ liệu cú trong bản phõn tớch cỏc yờu cầu phần mềm.
Cỏc đặc trưng trờn của một thiết kế tốt cú được khi thực hiện đỳng tiến trỡnh thiết kế kỹ nghệ phần mềm thụng qua việc ỏp dụng cỏc nguyờn lý thiết kế cơ bản, phương phỏp luận hệ thống và việc xột duyệt thấu đỏo.
Như vậy mỗi phương phỏp thiết kế phần mềm đều đưa vào những cỏch biểu diễn trực cảm, ký phỏp thống nhất cũng như một cỏch nhỡn đặc trưng
Tuy vậy mỗi phương phỏp đều cú cỏc đặc trưng sau:
1. Một cơ chế để chuyển húa từ biểu diễn miền thụng tin thành biểu diễn thiết kế 2. Một bộ ký phỏp để biểu diễn cỏc thành phần chức năng và giao diện của chỳng 3. Cỏch trực cảm để làm mịn phõn hoạch
4. Cỏc hướng dẫn về định giỏ chất lượng
Bất kể phương phỏp luận thiết kế nào được dựng, cụng trỡnh sư phần mềm phải ỏp dụng một tập cỏc khỏi niệm nền tảng cho thiết kế dữ liệu, kiến trỳc và thủ tục bao gồm:
Trừu tượng, làm mịn, module, kiến trỳc phần mềm, cấp bậc điều khiển, cấu trỳc dữ liệu, thủ tục phần mềm, che dấu thụng tin
Tập hợp cỏc khỏi niệm thiết kế nền tảng đó thiết kế hơn 3 thập kỷ. Mỗi khỏi niệm đều cung cấp cho người thiết kế phần mềm một nền tảng để từ đú người ta cú thể ỏp dụng nhiều phương phỏp thiờt kế phức tạp.
M.A.JACKSON núi: ”điểm bắt đầu của một kỹ sư phần mềm khụn ngoan là thừa nhận sự khỏc biệt giữa việc bắt tay vào làm chương trỡnh hay trước khi bắt tay vào làm phải hiểu vấn đề một cỏch đỳng đắn”. Cỏc khỏi niệm thiết kế phần mềm nền tảng cung cấp một khuụn khổ cần thiết để hiểu vấn đề một cỏch đỳng đắn.