Bài 3: Kiến trúc phần mềm. Bài giảng bao gồm các nội dung chủ yếu như: Khái niệm, vai trò của kiến trúc phần mềm, các mô hình kiến trúc phần mềm, chuẩn bị tài liệu cho kiến trúc phần mềm, đánh giá kiến trúc phần mềm... Cuối bài giảng còn có câu hỏi ôn tập giúp các bạn củng cố kiến thức. Mời các bạn cùng tham khảo.
Trang 1Ki n trúc ph n m m ế ầ ề
BM CNPM – Khoa CNTT –
HVKTQS 10/2012
Trang 3Khái ni m ệ
Ki n trúc ph n m m ế ầ ề
(Software Architecture) <> m t c u trúc ph n m m, ộ ấ ầ ềthông qua đó m t s tích h p ch t v m t khái ni m ộ ự ợ ặ ề ặ ệ
c a h th ng đủ ệ ố ược cung c pấ
Qui trình thi t k các h th ng con cũng nh mô ế ế ệ ố ư
hình đi u khi n/giao ti p gi a các h th ng con <> ề ể ế ữ ệ ố
architectural design
K t qu c a qui trình thi t k này chính là ế ả ủ ế ế software architecture.
Trang 4Khái ni m ệ
Ki n trúc ph n m m c a m t h th ng ế ầ ề ủ ộ ệ ố bao g m các thành ph n ph n m m, ồ ầ ầ ề
các thu c tính c a chúng cũng nh m i ộ ủ ư ố quan h gi a các thành ph n ệ ữ ầ
Trang 5 Có vai trò quan tr ng ọ trong p/tri n PM:ể
Công c giao ti p gi a nh ng ng ụ ế ữ ữ ườ i liên quan
(understanding and communication): Tài li u mô t ki n ệ ả ế trúc s đ oc s d ng b i nhi u thành viên liên quan t i d ẽ ự ử ụ ở ề ớ ự
án ph n m m ầ ề
Đ phân tích h th ng/xây d ng h th ng: ể ệ ố ự ệ ố Ki n trúc ế
ph n m m có th đ ầ ề ể ượ c s d ng đ ch ra/d đoán các ử ụ ể ỉ ự thu c tính c a h th ng. Ngoài ra n u ki n trúc ph n m m ộ ủ ệ ố ế ế ầ ề
có phân ho ch t t, thì vi c s d ng phân ho ch đ phát ạ ố ệ ử ụ ạ ể tri n các ch c năng d dàng h n ể ứ ễ ơ
S d ng l i quy mô l n: ử ụ ạ ở ớ Chúng ta có xu h ướ ng s d ng ử ụ
l i các ph n c a ph n m m, do đó, ki n trúc là thông thông ạ ầ ủ ầ ề ế tin quan tr ng trong vi c hi u bi t các ph n c a ph n m m ọ ệ ể ế ầ ủ ầ ề
Trang 6 Ki n trúc không ph i là thành ph n ho t ế ả ầ ạ
đ ng nh ng nó có tác đ ng sâu r ng đ n ộ ư ộ ộ ế quá trình phát tri n PM, nó là m t lo t mô t ể ộ ạ ả
PM mà cho phép các k s PM th c hi n ỹ ư ự ệ công vi c: ệ
Tăng cường hi u bi t v h th ng c n xây d ngể ế ề ệ ố ầ ự
Phân tích hi u quệ ả
Xem xét, s a đ i ki n trúc t s m, gi m r i roử ổ ế ừ ớ ả ủ
Trang 7 Mô hình giao di n – xác đ nh giao di n đ a ra các ệ ị ệ ư
d ch v ị ụ
Mô hình liên k t – ch ra m i liên k t gi a các h ế ỉ ố ế ữ ệcon hay gi a các thành ph nữ ầ
Mô hình phân tán
Trang 8Gi i thích ả
Trang 9Các mô hình ki n trúc ph n ế ầ
m m (Cách nhìn khác) ề
Module
Thành ph n và k t n i (Component & ầ ế ố Connector – C&C)
C p phát (Allocation) ấ
Trang 10 H th ng đ ệ ố ượ c coi nh là t p h p các ư ậ ợ
đ n v mã. M i đ n v s đ m nhi m ơ ị ỗ ơ ị ẽ ả ệ
m t vài ph n ch c năng > Ki n trúc ộ ầ ứ ế tĩnh
Ví d : Package, classes,… ụ
Trang 11Mô hình c p phát ấ
Mô hình xác d nh cách các đ n v ph n ị ơ ị ầ
m m đ ề ượ c c p phát cho các đ n v ấ ơ ị
ph n c ng ầ ứ
Trang 12 Mô hình là t p h p các th c th runtime ậ ợ ự ể > Ki n trúc liên k t ế ế
Ví d : T p h p các đ i t ụ ậ ợ ố ượ ng
Connector cung c p m i liên h gi a ấ ố ệ ữ
các thành ph n ầ
Đây là mô hình ph bi n nh t ổ ế ấ
Trang 13M t s lo i C&C ộ ố ạ
PipeandFilter
Chia s d li u (Shareddata) ẻ ữ ệ
Client Server
Trang 14 Nh n d li u đ u vào và thông qua b ậ ữ ệ ầ ộ
l c và bi n đ i thành d li u đ u ra ọ ế ổ ữ ệ ầ
D li u bi n đ i có th đuwocj g i t ữ ệ ế ổ ể ử ừ
b l c này sang b lóc khác thông qua ộ ọ ộ pipeconnector
Ví d h th ng đ m t trong 1 t p ụ ệ ố ế ừ ệ
Trang 15Chia s d li u (Shareddata) ẻ ữ ệ
Bao g m 2 thành ph n ồ ầ
Kho d li u t p trung (data repositories) ữ ệ ậ
Thành ph n truy nh p (Data accessors) ầ ậ
Trang 16Chia s d li u (Shareddata) ẻ ữ ệ
D li u chia s gi a các thành viên ữ ệ ẻ ữ
D li u riêng cho m i thành ph n. Vi c ữ ệ ỗ ầ ệ chia s thông qua g i thông đi p ẻ ử ệ
Trang 17Ví dụ
Trang 18 Two components: Client và Server
Client ch có th k t n i v i Server ỉ ể ế ố ớ
Ch có m t lo i connector (between CS) ỉ ộ ạ
Trang 19Ví dụ
Trang 20 Mô hình ntier: các tier g i các yêu c u đ n ử ầ ế các l p ti p theo ớ ế
l p th p h nớ ấ ơ
Trang 21M t s mô hình khác ộ ố
Đi u khi n t p trung ề ể ậ : M t h con có trách ộ ệ nhi m đi u khi n, kh i đ ng hay d ng h ệ ề ể ở ộ ừ ệ con khác. G m có: ồ
Mô hình g i – tr l iọ ả ạ
Mô hình qu n lý (manager model)ả
Đi u khi n d a trên s ki n ề ể ự ự ệ : Thông tin
đi u khi n đ ề ể ượ c chuy n đ n m t s h con ể ế ộ ố ệ khác, m i h con có th đáp ng s ki n t ỗ ệ ể ứ ự ệ ừ bên ngoài. G m có: ồ
Mô hình đi u khi n qu ng báề ể ả
Mô hình đi u khi n ng tề ể ắ
Trang 22Mô hình đi u khi n qu ng bá ề ể ả
Trang 23Mô hình đi u khi n ng t ề ể ắ
Trang 24Tài li u cho ki n trúc ph n m m ệ ế ầ ề
Bao g m: ồ
Ng c nh h th ng: nh n d ng các ữ ả ệ ố ậ ạ stakeholders và các m i quan tâm c a ố ủ họ
Mô t mô hình ki n trúc ả ế
Các cách nhìn nh n khác nhau ậ
Trang 25Đánh giá ki n trúc ph n m m ế ầ ề
Ki n trúc ph n m m có nh h ế ầ ề ả ưở ng l n t i ớ ớ các đ c tính ch t l ặ ấ ượ ng phi ch c năng nh ứ ư
hi u su t, đ tin c y, đ an toàn, vv… ệ ấ ộ ậ ộ
Chúng ta s s d ng nh ng đ c tính này đ ẽ ử ụ ữ ặ ể đánh giá ki n trúc ế
Dùng các phương pháp hình th cứ
Dùng phương pháp th t c l y ý ki n t phía ủ ụ ấ ế ừstakeholders
Trang 26Câu h i ỏ
Tài li u ki n trúc ph n m m nên có ệ ế ầ ề
nh ng gì? ữ
Trang 27Tài li u tham kh o ệ ả
R. Pressman, K ngh ph n m m. T p 1, 2, 3. NXB ỹ ệ ầ ề ậGiáo d c, Hà N i, 1997 (Ngụ ộ ười d ch: Ngô Trung ị