II. Kỹ nghệ phần mềm
6. Kỹ nghệ hệ thống và tạo nguyờn mẫu
I.3.1 Cỏc hoạt động thiết kế
Quỏ trỡnh thiết kế là quỏ trỡnh tăng cường hỡnh thức hoỏ trong sự tiến triển của thiết kế và phải luụn quay trở lại cỏc thiết kế đỳng đắn ớt hỡnh thức cú trước đõy của quỏ trỡnh đú. Nhà thiết kế phải bắt đầu với một phỏc thảo hết sức khụng hỡnh thức rồi sau đú tinh chế nú, thờm cỏc thụng tin để thiết kế trở nờn hỡnh thức hơn. Quỏ trỡnh thiết kế thể hiện như sau:
Quan hệ giữa thiết kế và đặc tả là rất chặt chẽ. Mặc dầu quỏ trỡnh đưa ra một đặc tả yờu cầu được xem như một phần tử cơ bản của hợp đồng là một hoạt động riờng biệt song việc hỡnh thức hoỏ đặc tả yờu cầu hẳn là một phần của quỏ trỡnh thiết kế. Thực tế, người làm thiết kế sẽ lặp đi lặp lại giữa đặc tả và thiết kế.
Quỏ trỡnh thiết kế liờn quan mật thiết đến việc mụ tả hệ thống ở một số mức trừu tượng khỏc nhau. Khi một thiết kế được phõn chia thành nhiều thành phần thỡ người ta thường phỏt hiện được cỏc sai sút của cỏc giai đoạn trước, do đú phải quay trở lại cỏc giai đoạn trước để tinh chế lại. Thụng thường là người ta bắt đầu giai đoạn này ngay trước khi giai đoạn trước kết thỳc, đơn giản là để lui lại quỏ trỡnh tinh chế.
Hỡnh vẽ dưới đõy nờu cỏc hoạt động của quỏ trỡnh thiết kế và cỏc thành phẩm của nú. Cỏc giai đoạn là khỏ tuỳ ý, nhưng nú làm cho quỏ trỡnh thiết kể trở nờn nhỡn thấy được và do đú quản lý được. Phỏc thảo thiết kế phi hỡnh thức Thiết kế phi hỡnh thức Thiết kế hỡnh thức Thiết kế kết thỳc
Thành quả của mỗi hoạt động thiết kế là một đặc tả. Đặc tả này cú thể là một đặc tả trừu tượng, hỡnh thức và được tạo ra để làm rừ cỏc yờu cầu, nú cũng cú thể là một đặc tả về một phần nào đú của hệ thống, sẽ phải được thực hiện như thế nào. Khi quỏ trỡnh thiết kế tiờn triển thỡ cỏc chi tiết ngày càng được bổ xung vào đặc tả đú. Cỏc kết quả cuối cựng là cỏc đặc tả về cỏc thuật toỏn và cỏc cấu trỳc dữ liệu được dựng làm cơ sở cho việc thực hiện hệ thống.
Thực tế cỏc hoạt động thiết kế diễn ra song song với cỏc sản phẩm thiết kế khỏc nhau. Cỏc sản phẩm này đó được triển khai ở cỏc mức chi tiết khỏc nhau trong diễn biến của quỏ trỡnh thiết kế,
Cỏc hoạt động rất cốt yếu trong việc thiết kế một hệ thống phần mềm lớn:
o Thiết kế kiến trỳc: cỏc hệ con tạo nờn hệ tổng thể và cỏc quan hệ của chỳng là được minh định và ghi thành tài liệu
o Đặc tả trừu tượng: đối với mỗi hệ con, một đặc tả trừu tượng cỏc dịch vụ mà nú cung cấp và cỏc rằng buộc tuõn theo phải cung cấp
o Thiết kế giao diện: giao diện của từng hệ con với cỏc hệ con khỏc là được thiết kế và ghi thành tài liệu, đặc tả giao diện khụng được mơ hồ và cho phộp sử dụng hệ con đú mà khụng cần biết về phộp toỏn hệ con.
o Thiết kế cỏc thành phần: Cỏc dịch vụ được cung cấp bởi một hệ con là được phõn chia qua cỏc thành phần hợp thành của hệ con đú.
o Thiết kế cấu trỳc dữ liệu: cỏc cấu trỳc dữ liệu/CSDL được dựng trong việc thực hiện hệ thống là được thiết kế chi tiết và được đặc tả.
o Thiết kế thuật toỏn: cỏc thuật toỏn được dựng để cung cấp cho cỏc dich vụ được thiết kế chi tiết và được đặc tả.
Đặc tả yờu cầu
Thiết kế giao diện Đặc tả trừu tượng
Thiết kế thành phần Thiết kế cấu trỳc dữ liệu
Thiết kế kiến trỳc
Thiết kế thuật toỏn
Đặc tả cỏc yờu cầu Kiến trỳc hệ thống Đặc tả phần mềm Đặc tả giao diện Đặc tả thành phần Đặc tả cấu trỳc dữ liệu Đặc tả thuật toỏn Đặc tả cỏc yờu cầu
Hoạt dộng Tài liệu
Cỏc hoạt động thiết kế và sản phẩm thiết kế
Quỏ trỡnh này được lặp lại cho mỗi hệ con sao cho đến khi cỏc thành phần hợp thành được minh định đều cú thể ỏnh xạ trực tiếp vào cỏc thành phần ngụn ngữ lập trỡnh, chẳng hạn như cỏc gúi, cỏc thủ tục và cỏc hàm.
Phương phỏp tiếp cận thường xuyờn khuyờn dựng là phương phỏp tiếp cận từ trờn xuống – Top Down - vấn đề được phõn chia một cỏch đệ quy thành cỏc vấn đề con cho tới khi cỏc vấn đề dễ giải quyết được xỏc định. Trong quỏ trỡnh này, người thiết kế sẽ nhận ra cỏc thành phấn cú thể dựng lại được. Chỳ ý rằng người thiết kế khụng nhất thiết phải phõn chia tất cả cỏc thành phần trừu tượng khi mà bằng kinh nghiệm đó biết chắc rằng thành phần nào là chắc chắn xõy dựng được. Do đú họ cú thể tập trung sức lực cho phần đỏng xột nhất.
Chỳ ý rằng, khi mà phương phỏp hướng đối tượng được chấp nhận thỡ phương phỏp từ trờn xuống ớt cú hiệu quả. Khi đú người thiết kế sử dụng cỏc đối tượng sẵn cú thể làm khung để thiết kế.
Theo quan điểm quản lý dự ỏn, thiết kế phần mềm được tiến hành theo hai bước
1. Thiết kế sơ bộ : quan tõm tới việc chuyển húa cỏc yờu cầu thành sản phẩm phần mềm ở mức khỏi quỏt
2. Thiết kế chi tiết: chi tiết húa cỏc cụng đọan , cỏc thuật toỏn tớnh túan và thuật túan xử lý dữ liệu và thiết kế giao diện cho phần mềm.
Mối quan hệ giữa cỏc kỹ thuật và quản lý của thiết kế được minh hoạ trong hỡnh vẽ sau.