THIẾT KẾ PHẦN MỀM Nội Dung Tổng quan về thiết kế phần mềm I. Tổng quan về thiết kế phần mềmThiết kế kiến trúc 1. Khái niệm và vai trò a. Khái niệm Là quá trình chuyển hóa các đặc tả yêu cầu phần mềm thành 1 biểu diễn thiết kế của hệ thống phần mềm cần xây dựng, sao cho người lập trình có thể ánh xạ nó thành một chương trình vận hành được. Một số hoạt động chính: Nghiên cứu để hiểu vấn đề. Chọn một số giải pháp thiết kế. Mô tả trừu tượng cho mỗi giải pháp thiết kế, các sai sót cần phát hiện và chỉnh sửa trước khi lập tài liệu TK chính thức. b. Vai trò: Là cách duy nhất để chuyển hóa chính xác yêu cầu của KH thành mô hình TKHT phần mềm cuối cùng làm cơ sở cho việc triển khai chương trình phần mềm. Là tài liệu cung cấp đầy đủ các thông tin cần thiết cho để bảo trì HT. Nếu không có TK thì hệ thống không tin cậy Gây nguy cơ thất bại. Thiết kế tốt là chìa khóa cho PM hữu hiệu. c. Các khái niệm trong thiết kế: Trừ tượng : chia ra 3 mức cao nhất, mức vừa, mức thấp, có các dạng trừu tượng như trừu tượng thủ tục, trừu tượng DL. Phân rã: chia nhỏ đối tượng. Làm mịn: chiến lược thiết kế từ trên xuống. Modul: chia các thành phần riêng có tên và địa chỉ. Thủ tục phần mềm (Sofware procedure ). Che dấu thông tin ( information hidding ). 2. Triển khai thiết kế Tiến trình thiết kế : quá trình tăng cường hình thức hóa sự phát triển của phần mềm. Kết quả của hoạt động thiết kế là đặc tả. Thiết kế và đặc tả yêu cầu có quan hệ chặt chẽ với nhau do tiến trình phát triển phần mề là một sự hoàn thiện liên tục. Phương pháp tiếp cận là từ trên xuống. Hình 1: Mô hình tiến trình thiết kế Các hoạt động và sản phẩm thiết kếGồm các hoạt động: Thiết kế kiến trúc Đặc tả trừu tượng Thiết kế giao diện thành phần Thiết kế cấu trúc dữ liệu Thiết kế hệ thống giao diện người dùng Thiết kế các thành phần Thiết kế thủ tục Biểu diễn thiết kếGồm 3 hình thức: Các biểu đồ: Thể hiện các mối quan hệ giữa các thành phần của hệ thống Ngôn ngữ mô tả chương trình: Để kiểm tra và cấu trúc các cơ cấu thiết kế Dạng văn bản không hình thức hóa: Mô tả các thông tin không thể hình thức hóa được Các giai đoạn thiết kế Thiết kế sơ bộ Là thiết kế kiến trúc tổng thể Thiết kế chi tiết Thiết kế lôgic: Mô tả các thành phần và quan hệ của hệ thống Thiết kế vật lý: chọn giải pháp hiện hữu để thực hiện các cấu trúc lôgic 3. Phương pháp thiết kế Có 2 cách tiếp cận phổ biến định hướng cấu trúc và định hướng đối tượng, tương ứng với chúng là 1 chiến lược cho việc phát triển hệ thống phần mềm. Có phương pháp chỉ dùng riêng cho 1 cách tiếp cận nhưng có phương pháp dùng chung cho cả 2 chiến lược như phương pháp thiết kế giao diện, máy trạng thái hữu hạn. a. Phương pháp hướng cấu trúc Hệ thống được phân chia thành các chức năng, ban đầu ở mức cao nhất, và được làm mịn dần. Thường có 2 hoạt động độc lập: thiết kế dữ liệu và thiết kế xử lý. 3 cấu trúc chuẩn là: Tuần tự, chọn và lặp (Bolun 1966 ) Hình 2: Mô hình hệ thống hướng cấu trúc b. Phương pháp hướng đối tượng Hệ thống là 1 bộ các đối tượng tương tác với nhau Một lớp được xác định= thuộc tính +hình thức, có tính thừa kế cao. Các đối tượng liện lạc với nhau bằng các thông điệp. Ví dụ:Rational Rose, Jbuilder là các công cụ hỗ trợ mạnh c. Chiến lược thiết kế hệ thống tương tranh Được thực hiện với các hệ thống thời gian thực, các tính toán đồng thời Đảm bảo việc chia sẻ tài nguyên dùng chung Phương pháp máy trạng thái hữu hạn là công cụ biểu diễn thiết kế cho hệ thời gian thực 4. Chất lượng thiết kế Một thiết kế tốt phải sản sinh mã tốt, tối thiểu công sức để chuyển thành chương trình. Thiết kế phải đảm bảo các tiêu chí sau: Sự kết dính. Sự ghép nối . Tính hiểu được. Tính thích nghi được . II. Thiết kế kiến trúc phần mềm 1 Kiến trúc phần mền và vai trò Định nghĩa kiến trúc : Kiến trúc phần mềm là chỉ một cấu trúc tổng thể của phần mềm và qua đó cung cấp một sự tích hợp về mặt khái niệm của một hệt thống. Vai trò : Công cụ giao tiếp giữa những người liên quan Để phân tích hệ thống Giúp sử dụng lại ở quy mô lớn 2. Các mô hình kiến trúc Các mô hình kiến trúc được phát triển có thể nhìn nhận ở một số mặt: Mô hình kiến trúc tĩnh: chỉ ra các hệ con Mô hình tiến trình động (sơ đồ luồng dữ liệu) Mô hình giao diện (hệ thống giao diện tương tác) Mô hình liên kết chỉ ra mối liên kết giữa các thành phần Tổng Kết Các nội dung cần đạt đượcNắm được các quy trình của mô hình hướng thành phần và mô hình phát triển lặp, tăng lên. Hiểu được các phương pháp để phát triển một phần mềm Hiểu được công cụ & môi trường phát triển p/mềm. |