Thiết kế phần mềm là một quá trình chuyển đổi các yêu cầu của người sử dụng sang một dạng phù hợp nào đó, giúp lập trình viên mã hóa và triển khai phần mềm.
Để đánh giá các yêu cầu của người dùng, một tài liệu SRS (Đặc tả yêu cầu phần mềm) được tạo trong khi để mã hóa và triển khai, cần có các yêu cầu cụ thể và chi tiết hơn về điều khoản phần mềm. Đầu ra của quá trình này có thể được sử dụng trực tiếp để triển khai trong các ngôn ngữ lập trình.
Thiết kế phần mềm là bước đầu tiên trong SDLC (Vòng đời thiết kế phần mềm), chuyển sự tập trung từ miền vấn đề sang miền giải pháp. Nó cố gắng chỉ định cách thực hiện các yêu cầu được đề cập trong SRS.
Cấp độ thiết kế phần mềm
Thiết kế phần mềm mang lại ba cấp độ kết quả:
- Thiết kế kiến trúc – Thiết kế kiến trúc là phiên bản trừu tượng cao nhất của hệ thống. Nó xác định phần mềm là một hệ thống có nhiều thành phần tương tác với nhau. Ở cấp độ này, các nhà thiết kế có được ý tưởng về miền giải pháp được đề xuất.
- Thiết kế mức cao- Thiết kế mức cao phá vỡ khái niệm ‘một thực thể-nhiều thành phần’ của thiết kế kiến trúc thành dạng xem ít trừu tượng hơn của các hệ thống con và mô-đun và mô tả sự tương tác của chúng với nhau. Thiết kế cấp cao tập trung vào cách hệ thống cùng với tất cả các thành phần của nó có thể được triển khai dưới dạng các mô-đun. Nó nhận ra cấu trúc mô-đun của từng hệ thống con và mối quan hệ và tương tác của chúng với nhau.
- Thiết kế chi tiết – Thiết kế chi tiết liên quan đến phần triển khai của cái được coi là hệ thống và các hệ thống con của nó trong hai thiết kế trước. Nó chi tiết hơn đối với các mô-đun và việc triển khai chúng. Nó xác định cấu trúc logic của từng mô-đun và giao diện của chúng để giao tiếp với các mô-đun khác.
mô đun hóa
Mô-đun hóa là kỹ thuật phân chia một hệ thống phần mềm thành nhiều mô-đun riêng biệt và độc lập, những mô-đun này được cho là có khả năng thực hiện (các) nhiệm vụ một cách độc lập. Các mô-đun này có thể hoạt động như các cấu trúc cơ bản cho toàn bộ phần mềm. Các nhà thiết kế có xu hướng thiết kế các mô-đun sao cho chúng có thể được thực thi và/hoặc biên dịch một cách riêng biệt và độc lập.
Thiết kế mô-đun vô tình tuân theo các quy tắc của chiến lược giải quyết vấn đề ‘chia để trị’, điều này là do có nhiều lợi ích khác đi kèm với thiết kế mô-đun của một phần mềm.
Lợi thế của mô đun hóa:
- Các thành phần nhỏ hơn dễ bảo trì hơn
- Chương trình có thể được phân chia dựa trên các khía cạnh chức năng
- Mức độ trừu tượng mong muốn có thể được đưa vào chương trình
- Các thành phần có độ kết dính cao có thể được tái sử dụng lại
- Có thể thực hiện đồng thời
- Mong muốn từ khía cạnh bảo mật
đồng thời
Quay ngược thời gian, tất cả các phần mềm đều được thực thi tuần tự. Bằng cách thực hiện tuần tự, chúng tôi muốn nói rằng lệnh được mã hóa sẽ được thực hiện lần lượt, ngụ ý chỉ một phần của chương trình được kích hoạt tại bất kỳ thời điểm nào. Giả sử, một phần mềm có nhiều mô-đun, thì chỉ một trong số tất cả các mô-đun có thể được tìm thấy đang hoạt động tại bất kỳ thời điểm thực thi nào.
Trong thiết kế phần mềm, tính đồng thời được triển khai bằng cách chia phần mềm thành nhiều đơn vị thực thi độc lập, chẳng hạn như các mô-đun và thực thi chúng song song. Nói cách khác, đồng thời cung cấp khả năng cho phần mềm thực thi nhiều phần mã song song với nhau.
Các lập trình viên và nhà thiết kế cần phải nhận ra các mô-đun đó để có thể thực hiện song song.
Ví dụ
Tính năng kiểm tra chính tả trong trình xử lý văn bản là một mô-đun của phần mềm chạy dọc theo chính trình xử lý văn bản.
Khớp nối và sự gắn kết
Khi một chương trình phần mềm được mô đun hóa, nhiệm vụ của nó được chia thành nhiều mô đun dựa trên một số đặc điểm. Như chúng ta biết, các mô-đun là tập hợp các hướng dẫn được đặt cùng nhau để đạt được một số nhiệm vụ. Mặc dù, chúng được coi là một thực thể đơn lẻ nhưng có thể đề cập đến nhau để làm việc cùng nhau. Có các biện pháp để đo lường chất lượng của một thiết kế các mô-đun và sự tương tác giữa chúng. Các biện pháp này được gọi là khớp nối và sự gắn kết.
Sự gắn kết
Sự gắn kết là thước đo xác định mức độ tin cậy nội bộ trong các phần tử của một mô-đun. Sự gắn kết càng lớn thì thiết kế chương trình càng tốt.
Có bảy loại gắn kết, cụ thể là –
- Sự gắn kết ngẫu nhiên – Đó là sự gắn kết ngẫu nhiên và không có kế hoạch, có thể là kết quả của việc chia chương trình thành các mô-đun nhỏ hơn để mô đun hóa. Bởi vì nó không được lập kế hoạch, nó có thể gây nhầm lẫn cho các lập trình viên và thường không được chấp nhận.
- Sự gắn kết logic – Khi các phần tử được phân loại theo logic được đặt cùng nhau thành một mô-đun, nó được gọi là sự gắn kết logic.
- Sự gắn kết theo thời gian – Khi các thành phần của mô-đun được tổ chức sao cho chúng được xử lý tại một thời điểm tương tự, nó được gọi là sự gắn kết theo thời gian.
- Sự gắn kết theo thủ tục – Khi các phần tử của mô-đun được nhóm lại với nhau, được thực thi tuần tự để thực hiện một tác vụ, nó được gọi là sự gắn kết theo thủ tục.
- Sự gắn kết giao tiếp – Khi các thành phần của mô-đun được nhóm lại với nhau, được thực thi tuần tự và hoạt động trên cùng một dữ liệu (thông tin), nó được gọi là sự gắn kết giao tiếp.
- Sự gắn kết tuần tự – Khi các phần tử của mô-đun được nhóm lại vì đầu ra của một phần tử đóng vai trò là đầu vào của phần tử khác, v.v., nó được gọi là sự gắn kết tuần tự.
- Sự gắn kết chức năng – Nó được coi là mức độ gắn kết cao nhất, và nó được kỳ vọng cao. Các phần tử của mô-đun trong sự gắn kết chức năng được nhóm lại vì tất cả chúng đều đóng góp vào một chức năng được xác định rõ ràng. Nó cũng có thể được tái sử dụng.
khớp nối
Khớp nối là thước đo xác định mức độ tin cậy lẫn nhau giữa các mô-đun của chương trình. Nó cho biết các mô-đun can thiệp và tương tác với nhau ở cấp độ nào. Khớp nối càng thấp, chương trình càng tốt.
Có năm cấp độ khớp nối, cụ thể là –
- Khớp nối nội dung – Khi một mô-đun có thể truy cập trực tiếp hoặc sửa đổi hoặc tham chiếu đến nội dung của một mô-đun khác, nó được gọi là khớp nối mức nội dung.
- Khớp nối chung- Khi nhiều mô-đun có quyền truy cập đọc và ghi vào một số dữ liệu toàn cầu, nó được gọi là khớp nối chung hoặc khớp nối toàn cầu.
- Ghép nối điều khiển- Hai mô-đun được gọi là ghép nối điều khiển nếu một trong số chúng quyết định chức năng của mô-đun kia hoặc thay đổi luồng thực thi của nó.
- Khớp nối tem- Khi nhiều mô-đun chia sẻ cấu trúc dữ liệu chung và hoạt động trên các phần khác nhau của nó, nó được gọi là khớp nối tem.
- Khớp nối dữ liệu- Ghép nối dữ liệu là khi hai mô-đun tương tác với nhau bằng cách truyền dữ liệu (dưới dạng tham số). Nếu một mô-đun chuyển cấu trúc dữ liệu làm tham số, thì mô-đun nhận sẽ sử dụng tất cả các thành phần của nó.
Lý tưởng nhất là không có khớp nối nào được coi là tốt nhất.
Xác minh thiết kế
Đầu ra của quy trình thiết kế phần mềm là tài liệu thiết kế, mã giả, sơ đồ logic chi tiết, sơ đồ quy trình và mô tả chi tiết về tất cả các yêu cầu chức năng hoặc phi chức năng.
Giai đoạn tiếp theo, đó là triển khai phần mềm, phụ thuộc vào tất cả các đầu ra được đề cập ở trên.
Sau đó, cần phải xác minh đầu ra trước khi chuyển sang giai đoạn tiếp theo. Lỗi nào được phát hiện càng sớm thì càng tốt hoặc có thể không được phát hiện cho đến khi thử nghiệm sản phẩm. Nếu đầu ra của giai đoạn thiết kế ở dạng ký hiệu chính thức thì nên sử dụng các công cụ liên quan để xác minh, nếu không thì có thể sử dụng đánh giá thiết kế kỹ lưỡng để xác minh và xác nhận. Bằng phương pháp xác minh có cấu trúc, người đánh giá có thể phát hiện các lỗi có thể do bỏ qua một số điều kiện. Một đánh giá thiết kế tốt là rất quan trọng để thiết kế phần mềm tốt, chính xác và chất lượng.
xem thêm : Công cụ phân tích & thiết kế phần mềm