You are on page 1of 27

4.2.

1 Thiết kế kiến trúc
4.2.1.1 Khái niệm
4.2.2.2 Các bước thiết kế kiến trúc
4.2.1.3. Một số mô hình kiến trúc
1) Kiến trúc dữ liệu tập trung
2) Kiến trúc khách/dịch vụ
3) Kiến trúc phân tầng
4) Kiến trúc gọi và trả lại
5) Kiến trúc luồng dữ liệu
6) Kiến trúc hướng đối tượng

4.2.1.1. Khái niệm
• Kiến trúc phần mềm chỉ cấu trúc tổng thể của một
phần mềm và cách tổ chức qua đó cho ta một sự tích
hợp về mặt khái niệm của một hệ thống.
• Thiết kế kiến trúc là quá trình xác định các hệ con
lập thành hệ thống và khung làm việc để điều khiển và
giao tiếp giữa các hệ con với nhau.
• Modul là các thủ tục, chức năng, thuật toán và các
chương trình con để cấu thành một hệ thống

Mô hình hóa điều khiển: xác lập mô hình điều khiển giữa các thành phần khác nhau của hệ thống đã được xác định 3.2. Phân rã thành các modul: phân rã các hệ con thành các modul . Cấu trúc hóa hệ thống: phân chia hệ thống thành các hệ con (sub-system) độc lập và xác định trao đổi thông tin giữa các hệ con.2. xác định các giao diện của chúng.1.4. 2. Các bước thiết kế kiến trúc 1.

1. Một số mô hình kiến trúc 1. Kiến trúc hướng đối tượng (object-oriented architectures). . Kiến trúc luồng dữ liệu (data flow architectures) 6. Kiến trúc khách/dịch vụ (client-server architectures) 3. Kiến trúc phân tầng ( layered architectures). Kiến trúc dữ liệu tập trung (data-centered architectures). 2. Kiến trúc gọi và trả lại (call and return architectures) 5.2. 4.3.4.

1. Kiến trúc dữ liệu tập trung PHẦN MỀM KHÁCH PHẦN MỀM KHÁCH PHẦN MỀM KHÁCH PHẦN MỀM KHÁCH KHO DỮ LIỆU PHẦN MỀM KHÁCH PHẦN MỀM KHÁCH PHẦN MỀM KHÁCH PHẦN MỀM KHÁCH .

. – Mỗi hệ thống con bảo trì CSDL của chính nó và truyền dữ liệu một cách tường minh cho các hệ thống con khác. Kiến trúc dữ liệu tập trung (tiếp) • Các hệ thống con phải trao đổi dữ liệu và làm việc với nhau một cách hiệu quả. Việc trao đổi dữ liệu được thực hiện theo hai cách: – Dữ liệu chia sẻ được lưu ở CSDL trung tâm hoặc kho dữ liệu và được tất cả các hệ thống con truy nhập.1.

Kiến trúc dữ liệu tập trung (tiếp) Ưu điểm  Tiện lợi cho chia sẻ dữ liệu lớn  Sự độc lập giữa các phân hệ Nhược điểm  Khó thay đổi cấu trúc dữ liệu .1.

2. Kiến trúc khách/dịch vụ (tiếp) • Ví dụ: Mô hình client/server của hệ thống thư viện phim và ảnh MÁY KHÁCH 1 MÁY KHÁCH 2 MÁY KHÁCH 3 MÁY KHÁCH 4 MẠNG BĂNG THÔNG RỘNG SERVER DANH MỤC SERVER SERVER SERVER FIRM ẢNH SỐ WED .

– Hệ thống mạng cho phép client truy cập tới dịch vụ mà server cung cấp . Kiến trúc khách/dịch vụ (tiếp) • Mô hình kiến trúc client-server là mô hình hệ thống trong đó hệ thống bao gồm một tập hợp các server cung cấp dịch vụ và các client truy nhập và sử dụng các dịch vụ đó.2. quản lý dữ liệu… – Tập hợp các client truy nhập đến server để yêu cầu cung cấp dịch vụ. • Các thành phần chính của mô hình này bao gồm: – Tập hợp các server sẽ cung cấp những dịch vụ cụ thể như: in ấn.

2. Kiến trúc khách/dịch vụ (tiếp) Ưu điểm  Hiệu quả sử dụng cao  Dễ mở rộng thêm dịch vụ  Dễ nâng cấp Nhược điểm  Số lượng client có thể tăng giảm mà phía server không biết .

Kiến trúc phân tầng Các thành phần Tầng giao diện người dùng Tầng ứng dụng Tầng tiện ích Tầng lõi .3.

3. Kiến trúc phân tầng (tiếp) • Mô hình phân lớp tổ chức hệ thống thành nhiều lớp và mỗi lớp cung cấp một tập các dịch vụ. . • Mô hình phân lớp hỗ trợ phát triển các hệ thống con theo kiểu tăng vòng ở nhiều lớp khác nhau. • Mỗi lớp có thể được coi như một máy trừu tượng (abstract machine) mà ngôn ngữ của máy được định nghĩa bởi các dịch vụ mà lớp đó cung cấp.

thông tin sẽ đi từ lớp thấp nhất đến cao nhất . Mô hình OSI được phân cấp thành 7 tầng: tầng ứng dụng. cuối cùng qua các thiết bị vật lý đến hệ thống máy tính B. tầng trình diễn. tầng liên kết dữ liệu. tầng mạng. Sau đó ở hệ thống B. . tầng phiên.3. tầng vật lí.chính là ứng dụng của hệ thống máy tính B. tầng giao vận. Kiến trúc phân tầng (tiếp) • Ví dụ: Mô hình OSI mô tả phương thức truyền tin Thông tin từ một ứng dụng trên hệ thống máy tính A sẽ đi xuống các lớp thấp hơn.

3. Kiến trúc phân tầng (tiếp) Ưu điểm  Hỗ trợ phát triển tăng dần  Dễ thay đổi ( thay đổi tầng. thêm tầng) Nhược điểm  Vấn đề về hiệu năng  Khó thiết kế theo mô hình này .

Kiến trúc gọi-trả lời • Các thủ tục con được sắp xếp phân cấp • Thủ tục điều khiển nằm ở đỉnh của cấu trúc phân cấp và di chuyển dần xuống dưới. . • Thường được áp dụng cho các hệ thống tuần tự.4.

5. . • Kiến trúc luồng dữ liệu sử dụng:  Các biểu đồ dòng dữ liệu (mà nó mô tả việc xử lí dữ liệu logic). Kiến trúc luồng dữ liệu (thiết kế hướng chức năng) • Kiến trúc luồng dữ liệu là một cách tiếp cận thiết kế phần mềm trong đó bản thiết kế được phân giải thành một bộ các đơn thể tác động lẫn nhau. mỗi đơn thể có một chức năng được xác định rõ ràng.  Các lược đồ cấu trúc (chỉ ra cấu trúc của phần mềm  Mô tả PDL ( mô tả thiết kế chi tiết) .

Một khuyên tròn để nói các dòng dữ liệu . Các hình tròn: biểu diễn giao tác của người dùng với hệ thống (cung cấp thông tin vào hoặc thu thập thông tin ra) Giao tác 4. Các từ khóa and và or 6.Biểu đồ dòng dữ liệu Các kí pháp thường dùng: 1. Các mũi tên: chỉ hướng dòng dữ liệu 5. Các hình chữ nhật góc tầy: biểu diễn một phép biến dổi dòng dữ liệu vào thành dòng dữ liệu Phép input biến đổi output 2. Các hình chữ nhật:biểu diễn một kho dữ liệu Kho dữ liệu 3.

toán Giấy nhắc .Biểu đồ dòng dữ liệu (tiếp) Ví dụ: hệ thống xử lí đơn hàng Phiếu thanh toán Đọc đơn hàng Kiểm tra thanh toán Lập hóa đơn Hóa dơn Đơn hàng Tìm tài khoản TT Lập giấy nhắc t.

Nghĩa là các phần tử của biểu đồ dòng dữ liệu có thể được thực hiện như thế nào với tư cách là một thứ bậc của các đơn vị chương trình. .Lược đồ cấu trúc • Lược đồ cấu trúc chỉ ra cấu trúc các thành phần theo thứ bậc của hệ thống.

Thứ bậc này được trình bày bằng cách nối các hình chữ nhật với các đường. • Sau này.Lược đồ cấu trúc (tiếp) • Mỗi thành phần chức năng được biểu diễn bằng một hình chữ nhật. để tránh nhầm các kí pháp đã dùng trong biểu đồ dòng dữ liệu người ta dùng khối trụ biểu diễn kho dữ liệu và hình bình hành biểu diễn thông tin vào. Thông tin vào và thông tin ra cho một thành phần được chỉ bởi các mũi tên có gán tên. Một mũi tên vào một hộp ngầm chỉ thông tin vào còn mũi tên ra từ một hộp ngầm chỉ thông tin ra. . Các kho dữ liệu được chỉ bởi các hình chữ nhật góc tầy và các thông tin vào từ người dùng được chỉ bởi các khuyên tròn.

Với mỗi lối vào đã được minh định trong biểu đồ phải có một lối vào từ điển dữ liệu cung cấp thông tin về kiểu.. chức năng dữ liệu. và trong quá trình thiết kế. • Các từ điển dữ liệu để nối các mô tả thiết kế kiểu biểu đồ và các mô tả thiết kế kiểu văn bản: Mô tả thiết kế kiểu biểu đồ Từ điển dữ liệu Mô tả thiết kế kiểu biểu đồ . và một lí do cơ bản cho việc nó vào.Từ điển dữ liệu • Từ điển dữ liệu có ích trong việc bảo trì hệ thống.

Ưu. nhược điểm của kiến trúc luồng dữ liệu Ưu điểm  Dễ hiểu  Các cụm từ xử lý có thể sử dụng lại  Dễ thấy được tuần tự xử lý tuần tự hay song song Nhược điểm  Định dạng dữ liệu chung .

Thiết kế là biểu thị các dịch vụ được yêu cầu cùng với những hỗ trợ được cung cấp bởi các đối tượng có tương tác với nó.6. . • Các đối tượng có một trạng thái được che dấu và các phép toán trên trạng thái đó. Kiến trúc hướng đối tượng • Kiến trúc hướng đối tượng là dựa trên việc che dấu trông tin nhìn hệ phần mềm như là bộ các đối tương tác với nhau chứ không phải là bộ các chức năng như cách tiếp cận chức năng.

Kiến trúc hướng đối tượng (tiếp) Ví dụ : Các đối tượng trong quản lý hệ thống hóa đơn .6.

dễ thay đổi vì rằng tất cả các trạng thái và các thông tin biểu diễn chỉ ảnh hưởng trong phạm vi chính đối tượng đó thôi. . 2. Các đối tượng liên lạc với nhau bằng cách trao đổi thông báo chứ không phải các biến dùng chung. 3.Ba đặc trưng của kiến trúc hướng đối tượng 1. Các đối tượng là các thực thể độc lập. Các đối tượng có thể phân tán. có thể hoạt động tuần tự hoặc song song. Không có vùng dữ liệu dùng chung. Các thay đổi trong biểu diễn thông tin có thể được thực hiện không cần sự tham khảo tới các đối tượng hệ thống khác.

Đối tượng của một lớp là một thực thể của lớp đó. Lớp là một trừu tượng mô tả của một nhóm sự vật. thủ tục (chức năng)  Giao diện (các chức năng của đối tượng) . • Thiết kế của một lớp bao gồm:  Cấu trúc dữ liệu (thuộc tính)  Hàm.Cơ sở của thiết kế kiến trúc hướng đối tượng • Cơ sở của thiết kế kiến trúc hướng đối tượng là các lớp.

Các đối tượng là các thành phần dùng lại được thích hợp (do tính độc lập của chúng ).Ưu.  Nhược điểm Khó thể hiện được đối tượng phức tạp . 2. nhược điểm của kiến trúc đối tượng  Ưu điểm 1. 3. Dễ bảo trì vì các đối tượng là độc lập. Có một vài lớp hệ thống thực hiện phản ánh quan hệ rõ ràng giữa các thực thể có thực (chẳng hạn như các thành phần phần cứng ) với các đối tượng điều khiển nó trong hệ thống.