Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình

Thiết kế ?

 phân tích bài toán/vấn đề

 xuất phát từ yêu cầu

 mô tả một hoặc nhiều giải pháp

 đánh giá các giải pháp, chọn giải pháp tốt nhất

 ở một mức trừu tượng nhất định

 sử dụng các mô hình

 3 tính chất

 trả lời câu hỏi “như thế nào”

 mô tả chủ yếu là cấu trúc

 bỏ qua các chi tiết cài đặt

• giải pháp trừu tượng ≠ giải pháp cụ thể

Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình trang 1

Trang 1

Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình trang 2

Trang 2

Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình trang 3

Trang 3

Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình trang 4

Trang 4

Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình trang 5

Trang 5

Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình trang 6

Trang 6

Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình trang 7

Trang 7

Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình trang 8

Trang 8

Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình trang 9

Trang 9

Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 13 trang xuanhieu 3560
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình

Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình
 Thi t k  (6)
 Nguy n Thanh Bình
 Khoa Công ngh Thôngtin
 Tr ưng ði h c Bách khoa
 ði h c ðà Nng
Thi t k  ?
 phân tích bài toán/v n ñ
  xu t phát t  yêu c u
 mô t  mt ho c nhi u gi i pháp
  ñánh giá các gi i pháp, ch n gi i pháp t t nh t
  mt m c tr u t ưng nh t ñnh
  s dng các mô hình
 3 tính ch t
  tr  li câu h i “nh ư th  nào”
  mô t  ch  yu là cu trúc
  b qua các chi ti t cài ñt
 • gi i pháp tr u t ưng ≠ gi i pháp c  th 
2
 1
 Các giai ñon thi t k 
  Ho t ñng thi t k  xu t hi n trong các mô 
 hình phát tri n khác nhau
  Hai giai ñon thi t k  chính
  Thi t k  ki n trúc
 • phân tích gi i pháp thành các thành ph n
 • ñnh ngh ĩa giao di n gi a các thành ph n
 • ñnh ngh ĩa ph n v n ññưc gi i quy t b i m i 
 thành ph n
 • có th ñưc th c hi n b i nhi u m c tr u t ưng
  Thi t k  chi ti t
 • thi t k  thu t toán, c u trúc d  li u...
 3
 Các giai ñon thi t k 
 Requirements
 specification
 Design activities
Architectural Abstract Interface Component Data Algorithm
 design specificatio design design structure design
 n design
 Data
 System Software Interface Component Algorithm
 structure
architecture specification specification specification specification
 specification
 Design products
 4
 2
Các giai ñon thi t k 
 Architectural design
  xác ñnh các h  th ng con
 Abstract specification
  ñc t  các h  th ng con
 Interface design
  mô t  giao di n các h  th ng con
 Component design
  phân tích h  th ng con thành các thành ph n
 Data structure design
  các c u trúc d  li u l ưu tr  d li u c a bài toán
 Algorithm design
  thi t k  thu t toán cho các hàm/mô-ñun
5
Ti sao ph i thi t k  ?
 có mt ki n trúc t t
  làm ch ñưc c u trúc h  th ng
  “chia ñ tr ”
 ñt ñưc các tiêu chu n ch t l ưng
  tái s  dng / d  ke em th  / d  bo trì...
 thi t k hưng ñn s thayñi (design for 
 change)
6
 3
Thi t k  và sthayñi
 Thay ñi = tích ch t ñc tr ưng c a ph n 
 mm
 D báo thay ñi là cn thi t
  gi m chi phí bo trì
 D báo thay ñi là khókhăn
  sthayñi th ưng không ñưc xác ñnh 
 tr ưc
  nhi u y u t thayñi cùng lúc
  th i ñim thay ñi là khó có th  bi t tr ưc
7
Thi t k  và sthayñi
 Các y u t  có th thayñi
  thu t toán
  cu trúc d  li u
  bi u di n d  li u bên ngoài
  thi t b  ngo i vi
  môi tr ưng xã h i
  yêu c u khách hàng
8
 4
Thi t k hưng mô-ñun
 Ph n m m là tp h p g m các mô-ñun 
 tươ ng tác v i nhau
 Mô-ñun hóa ñóng vai trò quan tr ng ñ có
 ñưc ph n m m ch t l ưng v i chi phí th p
 Mc ñích thi t k  h th ng
  xác ñnh các mô-ñun có th 
  xác ñnh t ươ ng tác gi a các mô-ñun
9
Các tiêu chu n c a m t 
ph ươ ng pháp thi t k 
 Các tiêu chu n ññ ánh giá mt ph ươ ng 
 pháp thi t k hưng mô-ñun
  tính phân rã (modular decomposability)
  tính t ng h p (modular composability)
  tính d  hi u (modular understandability)
  tính liên t c (modular continuity)
  tính b o v  (modular protection)
10
 5
Các tiêu chu n c a m t 
ph ươ ng pháp thi t k 
 tính phân rã (modular decomposability)
  phân rã v n ñ thành các v n ñ con nh 
 hơn
  có th  gi i quy t các v n ñ con m t cách 
 ñc l p
  các ph ươ ng pháp thi t k  t trên xu ng (to-
 down design) th a mãn tiêu chu n này
11
Các tiêu chu n c a m t 
ph ươ ng pháp thi t k 
 tính t ng h p (modular composability)
  các mô-ñun d  dàng ñưc k t h p v i nhau 
 ñ to nên các h  th ng m i
  có mi quan h  ch t ch  vi tính tái s  dng
  tính t ng h p có th xungñt v i tính phân 
 rã
 • phân rã thành các mô-ñun chuyên bi t thay vì các 
 mô-ñun t ng quát
12
 6
Các tiêu chu n c a m t 
ph ươ ng pháp thi t k 
 tính d  hi u (modular understandability)
  thi t k  các mô-ñun m t cách d  hi u
  tính ch t m i mô-ñun
 • mi mô-ñun có d hi u ?
 • các tên s  dng có ý ngh ĩa ?
 • cso s  dng thu t toán ph c t p ?
  Ví d
  s dng “goto”
  ch ươ ng trình vài nghìn dòng l nh, nhưng không s 
 dng hàm/th  tc
13
Các tiêu chu n c a m t 
ph ươ ng pháp thi t k 
 tính liên t c (modular continuity)
  mt s thayñi trong ñc t  yêu c u ch  dn 
 ñn s thayñi trong m t (ho c m t s  ít) 
 mô-ñun
  Ví d
 ☺không s  dng s  ho c chu i ký t trongchương
 trình, ch ñưc s  dng các h ng ñã ñnh ngh ĩa
 s dng m ng
14
 7
Các tiêu chu n c a m t 
ph ươ ng pháp thi t k 
 tính b o v  (modular protection)
  ki n trúc ñươ c thi t k  sao cho n u m t ñiu 
 ki n b t th ưng x y ra, ch  mt (ho c m t s 
 ít) mô-ñun b  nh h ưng
15
Thi t k  ki n trúc
 Ki n trúc = t p h p các thành 
 ph n/mô-ñun và quan h  gi a chúng
  các thành ph n/mô-ñun
 • hàm / nhóm các hàm / l p ...
  quan h 
 • s dng / g i / th a k  ...
16
 8
Ch t l ưng c a ki n trúc
 mi mô-ñun có tính k t c  cao (high 
 cohesion)
  mt mô-ñun là mt ñơ n v  lô-gíc
  toàn b mô -ñun cùng ñóng góp th c hi n 
 mt m c tiêu
 liên k t l ng l o (low coupling) gi a các mô-
 ñun
  ít ràng bu c, ph  thu c l n nhau
 d hi u
 ñnh ngh ĩa r  ràng
  các mô-ñun và quan h  gi a chúng
17
Các lo i ki n trúc
 Ba lo i mô hình ki n trúc th ưng ñưc s 
 dng
  chia s  d li u: mô hình “Repository”
  chia s  dch v , servers: mô hình “Client-
 Server”
  mô hình l p (layered model)
18
 9
Mô hình “Repository”
 Nguyên t c
  d li u chia s ñưc t p trung trong m t 
 CSDL
  các h  th ng con ñu truy c p vào CSDL 
 chung
 Khi m t l ưng d  li u l n c n chia s  gi a 
 các h  th ng con
  mô hình “Repository”thưng ñưc s  dng
19
Mô hình “Repository”
 Ví d ki n trúc m t công c  CASE
20
 10
Mô hình “Repository”
 Ưu di m
  ñơ n gi n
  hi u qu  khi chia s lưng d  li u l n
  sñc l p c a các h  th ng con
 Hn ch 
  các h  th ng con ph i th ng nh t trên mô 
 hình d  li u “repository”
  khókhănkhiphânt án d  li u
21
Mô hình “Client-Server”
 Nguyên t c
  mô hình phân tán: d  li u và xlýñưc 
 phân tán trên nhi u thành ph n khác nhau
 H th ng bao g m
  các servers cung c p các d ch v 
 • có th  có nhi u servers
  các clients yêu c u các d ch v 
  ph ươ ng th c trao ñi
 • mng hay trên m t máy tính
22
 11
Mô hình “Client-Server”
 Ví d
23
Mô hình “Client-Server”
 Ưu ñim
  s dng hi u qu  mng
  d dàng thêm server m i ho c nâng c p server hi n 
 ti
  phân tán d  li u d  dàng
 Hn ch 
  mi h  th ng con quan lý d  li u riêng c a nó
 • có th  dn ñn d ư th a
  không có ki n trúc t p trung ghi nh n các dich v 
 • khókhănñ xác ñnh d  li u hay d ch v  s dng
24
 12
Mô hình l p
 Nguyên t c
  t ch c h  th ng thành t p h p các l p
  mi l p cung c p t p h p các d ch v 
 ñưc s  dng ñ mô t  quan h  gi a các 
 h th ng con
 khi giao di n c a m t l p thay ñi, ch  lp 
 k cn b  nh h ưng
 h tr  mô hình phát tri n t ăng tr ưng
25
Mô hình l p
 Ví d: h  th ng qu n lý phiên b n
26
 13

File đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_chuong_6_thiet_ke_nguy.pdf