Có máy phương pháp thiết kế phần mềm

THIẾT KẾ PHẦN MỀM
Nội Dung


Tổng quan về thiết kế phần mềm
Thiết kế kiến trúc
I. Tổng quan về thiết kế phần mềm
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.


Có máy phương pháp thiết kế phần mềm


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 )
Có máy phương pháp thiết kế phần mềm
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 được
Nắ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.