You are on page 1of 32

Bài 1: Khái niệm chung

1.1 Tiếp cận hệ thống


1.2 Thiết kế kiến trúc
1.3 Quyết định kiến trúc
1.4 Các quan điểm trong kiến trúc phần mềm.
1.1 Tiếp cận hệ thống

- Phần mềm là: một hệ thống bao gồm các thành


phần được gọi là các cấu phần và các mối liên hệ
giữa các cấu phần đó.

Từ quan niệm này ta thấy để xác định được kiến trúc của
một phần mềm ta cần chỉ rõ hai nhóm đối tượng trong hệ
thống đó là:
 Các cấu phần, hay các thành phần tạo nên hệ thống
 Các mối liên hệ giữa các cấu phần.
1.1 Tiếp cận hệ thống

Lưu ý:
Trong giáo trình kiến trúc và thiết kế phần
mềm này thì các thuật ngữ Phần mềm, hệ thống
phần mềm, hệ thống được xem là tương đương.
1.1 Tiếp cận hệ thống

Ví dụ:
HỌC TẠI TRƯỜNG CAO ĐẲNG
Cử nhân CNTT
Tốt nghiệp THPT KINH TẾ KỸ THUẬT
Giải phương trình bậc 2 Nghiệm của phương trình
Dữ liệu đầu vào
1.1 Tiếp cận hệ thống

Ví dụ:
1.1 Tiếp cận hệ thống

Ví dụ:
1.1 Tiếp cận hệ thống

Cấu phần là thành phần cấu trúc nên hệ thống.


Một cấu phần có chức năng tương đối độc lập
được gọi là hệ thống con của hệ thống.
1.1 Tiếp cận hệ thống

Bài tập:
1.2 Thiết kế kiến trúc

Thiết kế kiến trúc phần mềm là qui trình xác


định các cấu phần và các mối liên hệ giữa các cấu
phần trong hệ thống phần mềm.

 Thiết kế kiến trúc đòi hỏi sự thấu hiểu về hệ thống.


Mục tiêu cuối cùng là xây dựng một cấu trúc tổng thể
cho hệ thống. Trong mô hình qui trình phát triển phần
mềm, thiết kế kiến trúc là pha đầu tiên của quá trình
thiết kế phần mềm
1.2 Thiết kế kiến trúc

Giữa thiết kế và kĩ nghệ có mối liên hệ chặt chẽ với nhau.


Vì chúng cùng chỉ rõ các cấu phần chính của hệ thống và
các mối liên hệ giữa các cấu phần đó.
 Đầu vào của thiết kế kiến trúc là các yêu cầu đối với hệ
thống.
Đầu ra của thiết kế kiến trúc là mô hình kiến trúc phản
ánh tổ chức của hệ thống như một tập các cấu phần có liên
hệ với nhau.
Toàn bộ sản phẩm đầu ra tạo thành một bộ hồ sơ thiết kế
kiến trúc.
1.2 Thiết kế kiến trúc

Kĩ nghệ yêu cầu bao gồm hai bước chính:


- Lấy yêu cầu;
- Đặc tả yêu cầu.
Đầu ra: Bản đặc tả các yêu cầu đặt ra cho hệ
thống.
Thiết kế kiến trúc cho phần mềm quản lý sinh
viên Trường Cao đẳng kinh tế kỹ thuật Bạc Liêu
 Lấy yêu cầu:
+ Quản lý được hồ sơ sinh viên
+ Quản lý điểm sinh viên: Học tập, rèn luyện
… ….
 Đặc tả yêu cầu:
+ Để quản lý hồ sơ sinh viên gồm: Mã số sinh viên, họ tên, giới tính, tuổi, quê quán, chuyên
ngành học, Khóa học, số điện thoại, căn cước công dân ……..
1.2 Thiết kế kiến trúc

+ Phân rã kiến trúc:


Phân rã kiến trúc hệ thống thường đòi hỏi sự phối hợp tinh
tế giữa hai tiến trình: viết đặc tả và thiết kế cấu trúc.
1.2 Thiết kế kiến trúc

+ Trong qui trình kĩ nghệ yêu cầu, ta cần tổ chức trước hết,
một kiến trúc trừu tượng (hiểu theo nghĩa bao quát), trong
đó ta liên kết các chức năng hoặc công cụ thành từng cấu
phần hoặc hệ thống con. Sau đó ta có thể dựa trên kiến
trúc khởi thuỷ này để thảo luận với những người có thẩm
quyền về các yêu cầu và công cụ cho hệ thống.
1.2 Thiết kế kiến trúc

ợn g h o á
Trừu t ư
Hai kĩ thuật quan trọng nhất
thường được vận dụng trong
thiết kế cấu trúc Phân rã
1.2 Thiết kế kiến trúc

Trừu tượng hoá: Bỏ qua các chi tiết để tập trung


vào những yếu tố chung nhất, quan trọng nhất.
1.2 Thiết kế kiến trúc

Ví dụ về trừu tượng: Muốn tạo 1 ứng dụng cho


ngân hàng, chúng ta chỉ cần l lượng thông tin cần
thiết nhất định chứ không cần biết hết tất cả thông
tin về khách hàng.
1.2 Thiết kế kiến trúc

Phân rã: Chia một cấu phần thành các cấu phần
nhỏ hơn dựa theo chức năng, thao tác hoặc tổ
chức dữ liệu.
1.2 Thiết kế kiến trúc

Ví dụ về phân rã: Viết phần mềm quản lý học sinh


tiểu học (quản lý lớp, quản lý điểm, quản lý môn
học …)
1.2 Thiết kế kiến trúc

Bài tập:
1.2 Thiết kế kiến trúc

Tiếp cận hướng chức năng trong thiết kế kiến trúc


phần mềm: Gộp hoặc / và phân rã hệ thống theo chức
năng. Yêu cầu chức năng là yêu cầu mà hệ thống có thể
thực hiện tự động theo một thủ tục định trước.
Thí dụ: nhập liệu, nhập xuất kho, kết toán. Yêu cầu
phi chức năng là yêu cầu đòi hỏi người điều hành hệ
thống khai thác thông tin trong hệ thống trước khi ra
quyết định.
1.3 Quyết định kiến trúc

+ Ta có thể xây dựng quyết định


bằng một câu hỏi chung như sau:
Ta phải quyết định chọn/làm/tổ
chức/tạo ra/xây dựng cái gì?
Những dẫn dắt sau đây thuộc về
hoạt động:
- Ta đặt thực đơn A tại chỗ này,
trên thực đơn B.
- Ta nên đặt màu nền cho tươi
hơn.
- Ta sẽ sửa lại chức năng này…
1.3 Quyết định kiến trúc

+ Mỗi hệ thống phần mềm thường là duy nhất đối với một
ứng dụng cụ thể nên các hệ thống thuộc cùng một lĩnh vực
ứng dụng thường có cùng một kiến trúc thể hiện các quan
niệm cơ bản của lĩnh vực ứng dụng đó.
1.4 Các quan điểm trong kiến trúc phần mềm

- Khi thiết kế và lập hồ sơ cho kiến trúc hệ thống ta vận


dụng các quan điểm nào và dự đoán viễn cảnh của hệ
thống ra sao?
- Khái niệm nào cần thiết cho mô tả kiến trúc hệ thống?
Không thể biểu diễn mọi thông tin về kiến trúc hệ thống
với một tập các mô hình đơn giản và tổng quát lúc đầu,
vì mỗi mô hình chỉ phản ánh một quan điểm và một
viễn cảnh của hệ thống.
1.4 Các quan điểm trong kiến trúc phần mềm

NGUYÊN LÍ KHUNG NHÌN Có thể và nên quan


sát, xem xét, phân tích và xử lí sự vật và hiện tượng theo
các góc nhìn và khung nhìn khác nhau. Xét theo quan
điểm nào thì phải xử lí theo phương thức tương ứng.
1.4 Các quan điểm trong kiến trúc phần mềm

Nếu ta tiếp cận theo hướng đối tượng thì nên sử


dụng UML.
UML (Unified Modeling Language - Ngôn ngữ mô hình
hóa thống nhất) do Booch, Rumbaugh và Jacobson đề
xuất dùng để đặc tả kiến trúc hệ thống theo tiếp cận mô
hình hoá và hướng đối tượng. Các công cụ trực quan
chủ yếu là các biểu đồ: biểu đồ lớp, biểu đồ trình tự,
biểu đồ trạng thái, biểu đồ cộng tác, biểu đồ cấu trúc
(thành phần), biểu đồ triển khai.
1.4 Các quan điểm trong kiến trúc phần mềm

Bài tập:

Bài tập 1.4


1. Hiện nay các thiết bị điện tử được tích hợp rất
nhiều tiện ích. Bạn thử liệt kê một số chức năng mà
bạn muốn tích hợp vào chiếc điện thoại di động của
bạn. Với mỗi chức năng bạn hãy gán một trị số từ 1
đến 10 nhằm xác định ý kiến của bạn về mức độ cần
thiết của chức năng đó: mức 10 là rất cần thiết.
1.4 Các quan điểm trong kiến trúc phần mềm

Bài tập:

Bài tập 1.4


2. Bill Gate đã xây dựng cho mình một ngôi nhà thông minh,
trong đó mọi dịch vụ trong sinh hoạt gia đình được tự động hóa
tối đa thông qua hệ thống các phần mềm. Bạn hãy thử mô tả ước
muốn của bạn về một ngôi nhà thông minh theo gợi ý sau:
Năng lượng:
- Sau t phút chủ nhà không sử dụng thì tự động ngắt;
- Khi sắp có mưa giông, tự động cảnh báo cho chủ nhà về chế độ
ngắt thiết bị khỏi nguồn điện; …..
Bài tập:

Bài tập 1.5


Trường cao đẳng Kinh Tế - Kỹ Thuật cần 1 phần
mềm quản lý học viên, bạn hãy thiết kế kiến trúc
phần mềm cho Trường.
Bài tập:

Bài tập 1.6


Đoàn Trường cao đẳng Kinh Tế - Kỹ Thuật cần 1
phần mềm quản lý đoàn viên, bạn hãy thiết kế kiến
trúc phần mềm đó cho Trường.

You might also like