1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo Trình Công Nghệ Phần Mềm part 5 pot

13 461 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 321,46 KB

Nội dung

Các giai ñ o ạ n 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 ñoạn 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

Trang 1

Thi ế t k ế (6)

Nguyn Thanh Bình

Trường ðại hc Bách khoa

ðại hc ðà Nng

Thi ế t k ế ?

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

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

 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 ấ ñị 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 ể

Trang 2

Các giai ñ o ạ n 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 ñoạn 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ầ

• ñịnh nghĩa giao diện giữa các thành phầ

• ñịnh nghĩa phần vấn ñề ñược giải quyết bởi mỗi thành phầ

• 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

Các giai ñ o ạ n thi ế t k ế

Architectural

design

Abstract

specificatio

n

Interface design

Component design

Data structure design

Algorithm design

System

architecture

Software

specification specificationInterface specificationComponent

Data structure specification

Algorithm specification

Requirements

specification

Design activities

Design products

Trang 3

Các giai ñ o ạ n 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ầ

 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

T ạ i sao ph ả i thi ế t k ế ?

 có một 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ử dụng / dễkeỉem thử/ dễbảo trì

 thiết kế hướng ñến sự thay ñổi (design for

change)

Trang 4

Thi ế t k ế và s ự thay ñổ i

 Thay ñổi = tích chất ñặc trưng của phần

mềm

 Dự báo thay ñổi là cần thiết

 giảm chi phí bảo trì

 Dự báo thay ñổi là khó khăn

 sự thay ñổi thường không ñược xác ñịnh

trước

 nhiều yếu tố thay ñổi cùng lúc

 thời ñiểm thay ñổi là khó có thể biết trước

Thi ế t k ế và s ự thay ñổ i

thu ậ t toán

c ấ u 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

Trang 5

Thi ế t k ế hướ ng mô- ñ un

 Phần mềm là tập 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

 Mục ñí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

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á một 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)

Trang 6

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

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

ñể tạo nên các hệthống mới

 có mối quan hệchặt chẽvới tính tái sử dụng

 tính tổng hợp có thể xung ñột với tính phân

• phân rã thành các mô-ñun chuyên biệt thay vì các

mô-ñun tổng quát

Trang 7

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ể

 tính chất mỗi mô-ñun

• m ỗ i mô- ñ un có d ễ hi ể u ?

• các tên s ử d ng có ý ngh ĩ a ?

• cso s ử d ng thu ậ t toán ph ứ c t ạ p ?

 Ví dụ

 s ử d ng “goto”

 ch ươ ng trình vài nghìn dòng l ệ nh, nh ư ng không s ử

d ng hàm/th ủ t ụ

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)

 một sự thay ñổi trong ñặc tảyêu cầu chỉdẫn

ñến sự thay ñổi trong một (hoặc một sốít)

mô-ñun

 Ví dụ

☺ không sử d ng số hoặc chuỗi ký tự trong chương

trình, chỉ ñược sử d ng các hằng ñã ñịnh nghĩa

 sử d ng mảng

Trang 8

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 ñiều

kiện bất thường xảy ra, chỉmột (hoặc một số

ít) mô-ñun bị ảnh hưởng

Thi ế t k ế ki ế n trúc

các thành ph ầ n/mô- ñ un

• hàm / nhóm các hàm / lớp

quan h ệ

• sửdụng / gọi / thừa kế

Trang 9

Ch ấ t l ượ ng c ủ a ki ế n trúc

 mỗi mô-ñun có tính kết cố cao (high

cohesion)

 một mô-ñun là một ñơn vịlô-gíc

 toàn bộ mô-ñun cùng ñóng góp thực hiện

một 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

Các lo ạ i ki ế n trúc

 Ba loại mô hình kiến trúc thường ñược sử

dụng

 chia sẽ dữliệu: mô hình “Repository”

 chia sẽ dịch vụ, servers: mô hình

“Client-Server”

 mô hình lớp (layered model)

Trang 10

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ửdụng

Mô hình “Repository”

Trang 11

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

 Hạn chế

 các hệthống con phải thống nhất trên mô

hình dữliệu “repository”

 khó khăn khi phân tán dữliệu

Mô hình “Client-Server”

 Nguyên tắc

 mô hình phân tán: dữliệu và xử lý ñượ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

• mạng hay trên một máy tính

Trang 12

Mô hình “Client-Server”

 Ví d ụ

Mô hình “Client-Server”

 Ư u ñ i ể m

 sử d ng hiệu quả mạng

 d dàng thêm server mới hoặc nâng cấp server hiện

tại

 phân tán dữ liệu dễ dàng

 H ạ n ch ế

 mỗi hệ thống con quan lý dữ liệu riêng của nó

• có th ể d n ñế 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 ử d ng

Trang 13

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

 mỗi lớp cung cấp tập hợp các dịch vụ

 ñược sử dụng ñể 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ỉ lớp

kế cận bị ảnh hưởng

 hỗ trợ mô hình phát triển tăng trưởng

Mô hình l ớ p

Ngày đăng: 06/07/2014, 20:20

HÌNH ẢNH LIÊN QUAN

Hình phát triển khác nhau - Giáo Trình Công Nghệ Phần Mềm part 5 pot
Hình ph át triển khác nhau (Trang 2)
Hình dữ liệu “repository” - Giáo Trình Công Nghệ Phần Mềm part 5 pot
Hình d ữ liệu “repository” (Trang 11)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w