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

Giới thiệu công nghệ phần mềm (1) ppt

13 359 0

Đ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 100,34 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tính ñúng ñắn correctness thực hiện ñúng các ñặc tảvềchức năng functional specification Tính tin cậy reliability ñáp ứng ñược những yêu cầu ñặt ra Tính bền vững robustness hoạt ñộng

Trang 1

Gi ớ i thi ệ u

(1)

Nguyn Thanh Bình

Khoa Công nghệ Thông tin

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

ðại hc ðà Nng

 L ị ch s ử phát tri ể n ph ầ n m ề m và

kh ủ ng ho ả ng ph ầ n m ề m ?

 Công ngh ệ ph ầ n m ề m

Khái ni ệ m

M ụ c ñ ích

Nguyên t ắ c

 Ch ấ t l ượ ng ph ầ n m ề m

 Phân lo ạ i ph ầ n m ề m

Trang 2

 1946, máy tính ñ i ệ n t ử ra ñờ i

 1950, máy tính ñượ c th ươ ng m ạ i hóa

 Ph ầ n m ề m b ắ ñầ u ñượ c phát tri ể

 Nh ữ ng n ă m 1960

 nh ữ ng th ấ t b ạ i v ề phát tri ể n ph ầ n m ề m

• s ả n ph ẩ m ph ầ n m ề m ph ứ c t ạ p

• nhi ề u l ỗ i

• t ổ ch ứ c s ả n xu ấ t: giá thành, ti ế n ñộ ,

 Ng ườ i ta nói ñế n “Kh ủ ng ho ả ng ph ầ n m ề m”

 T ừ th ủ công ñế n công ngh ệ

Chương trình nh

• không chuyên nghi ệ

• 1 ng ườ i làm

• ngườ i s ử d ng = ng ườ i phát tri ể

• 1 s ả n ph ẩ m = mã ngu ồ

• ti ế n trình phát tri ể n ñơ n gi ả

Dán ln

• chuyên nghi ệ

• nhi ề u ng ườ i làm

• khách hàng & nhà cung c ấ

• nhi ề u s ả n ph ẩ m

• ti ế n trình phát tri ể n ph ứ c t ạ

 1968, h ộ i th ả o khoa h ọ c ñầ u tiên v ề “Công ngh ệ ph ầ n m ề m”

Trang 3

 V ề m ặ t s ả n ph ẩ m

ch ấ t l ượ ng s ả n ph ẩ m ph ầ n m ề m

• không ñáp ứng yêu cầu thực tế

• khó sửdụng

• không tin cậy

• khó bảo trì

• khách hàng không hài lòng

 V ề m ặ t qu ả n lý

 Kếhoạch

• không ñ ánh giá ñ úng giá thành

• không ñ úng ti ế n ñộ

• chi phí phát tri ể n / chi phí b ả o trì

 Vềmặt pháp lý

• h ợ p ñồ ng không r ỏ ràng, không ch ặ t ch ẽ

 Nhân lực

• ñ ào t ạ

• giao ti ế

 Thiếu tiêu chuẩn ñánh giá sản phẩm

 Thiếu quy trình quản lý

Trang 4

 ð i ề u tra c ủ a General Acounting Office

(1982) trên nhi ề u s ự án v ớ i t ổ ng v ố n ñầ u t ư

$68.000.000

 Không giao sản phẩm: 29%

 Không ñược sử dụng: 47%

 Bỏcuộc: 19%

 ðược sửdụng sau khi ñã chỉnh sửa: 3%

 Tốt: 2%

Trang 5

Khái ni ệ m

 Công ngh ệ ph ầ n m ề m

 nghiên cứu và phát triển các phương pháp,

kĩthuật và công cụnhằm xây dựng các

phần mềm một cách kinh tế, có ñộ tin cậy

cao và hoạt ñộng hiệu quả

 thiết kế, xây dng, và bo trì các phn mm

phc tp, bn vng và cht lưng

M ụ c ñ ích

 M ụ c ñ ích

 áp d ụ ng th ự c t ế

• các ki ế n th ứ c khoa h ọ c,

• các nguyên t ắ c kinh t ế ,

• các nguyên t ắ c qu ả n lí,

• các k ỹ thu ậ t và công c ụ thích h ợ p

 ñể s ả n xu ấ t và b ả o trì các ph ầ n m ề m nh ằ m b ả o ñả m

4 yêu c ầ u (FQCD):

• ph ầ n m ề m t ạ o ra ph ả i ñ áp ứ ng ñượ c yêu c ầ u ng ườ i s ử

d ụ ng

• ph ầ n m ề m ph ả i ñạ t ñượ c các tiêu chu ẩ n v ề ch ấ t l ượ ng

• giá thành ph ả i n ằ m trong gi ớ i h ạ n ñặ t ra

• ti ế n ñộ xây d ự ng ph ầ n m ề m ph ả i ñả m b ả o

Trang 6

Nguyên t ắ c

 Các nguyên t ắ c c ơ b ả n

 Chặt chẽ(rigor and formality)

 Chia nhỏ(separation of concerns)

 Mô-ñun hóa (modularity)

 Trừu tượng (abstraction)

 Phòng ngừa sự thay ñổi (anticipation of

change)

 Tổng quát hóa (generality)

 Giải quyết từng bước (incrementality)

Nguyên t ắ c

 Ch ặ t ch ẽ (rigor and formality)

 sửdụng mô hình lý thuyết và toán học

 áp dụng cho tất cảcác bước, tất cảcác sản

phẩm

 Ví dụ

• “ch ọ n z là giá tr ị ớ n nh ấ t c ủ a x và y”

• z = max(x, y)

Trang 7

Nguyên t ắ c

 Chia nh ỏ (separation of concerns)

 Làm chủ ñộphức tạp

• ch ỉ t ậ p trung m ộ t l ĩ nh v ự c cùng m ộ t lúc

 Chia vấn ñề thành các phần nhỏ hơn

• Gi ả i quy ế t m ộ t ph ầ n nh ỏ s ẽ ñơn giả n h ơ n

• “chia ñể tr ị ” (divide and conquer)

 Có thểchia nhỏtheo

• th ờ i gian: l ậ p k ế ho ạ ch

• khái ni ệ m: giao di ệ n / thu ậ t toán

• x ử lý: chia các x ử lý con

Nguyên t ắ c

 Mô- ñ un hóa (modularity)

 Chia nh ỏ ñộ ph ứ c t ạ

• d ễ hi ể u

• d ễ qu ả n lý các h ệ th ố ng ph ứ c t ạ p

 Quan h ệ m ậ t thi ế t v ớ i nguyên t ắ c “chia nh ỏ ”

 Các ph ươ ng pháp mô- ñ un hóa

• chi ế n l ượ c t ừ trên xu ố ng (top-down)

• chi ế n l ượ c t ừ dướ i lên (bottom-up)

 Ch ấ t l ượ ng c ủ a mô- ñ un hóa

• liên k ế t l ỏ ng l ẻ o (low coupling)

• k ế t c ố cao (high cohesion)

Trang 8

Nguyên t ắ c

 Tr ừ u t ượ ng (abstraction)

 Lo ạ i b ỏ nh ữ ng gì không quan tr ọ ng

 Ch ỉ xem xét các y ế u t ố quan tr ọ ng

 S ử d ng các mô hình

• mô hình cho ng ườ i s ử d ụ ng

• mô hình cho ng ướ i phát tri ể n

 Ví d ụ

• ngôn ng ữ l ậ p trình / c ấ u trúc ph ầ n c ứ ng

• xây d ự ng tài li ệ u

• ñặ c t ả b ớ i ñ i ề u ki ệ n tr ướ c và sau

Nguyên t ắ c

 Phòng ng ừ a s ự thay ñổ i (anticipation of

change)

 phần mềm là sản phẩm thường xuyên phải

thay ñổi

 dựbáo các yếu tốcó thể thay ñổi

• ả nh h ưở ng có th ể

 các thay ñổi thường gặp

• trong ñặ c t ả yêu c ầ

• trong ng ữ c ả nh s ử d ng

• kh ả năng về công ngh ệ

Trang 9

Nguyên t ắ c

 T ổ ng quát hóa (generality)

 xem xét vấn ñềtrong ngữcảnh tổng quát

 giải quyết vấn ñề lớn hơn

 mục ñích

• tái s ử d ng d ễ dàng

• có th ể s ử d ng các công c ụ có s ẵ

• s ử d ụ ng design patterns

• chi phí có th ể tăng cao

Nguyên t ắ c

 Gi ả i quy ế t t ừ ng b ướ c (incrementality)

 Nguyên tắc

• xác ñị nh m ộ t ph ầ n (t ậ p con)

• phát tri ể

• ñ ánh giá

• b t ñầ u l ạ i

 Áp dụng cho

• phát tri ể n m ộ t s ả n ph ẩ m

• mô ñặ c t ả / m ộ t ki ế n trúc /

• mô hình phát tri ể

• mô hình l ặ p

Trang 10

 Tính ñúng ñắn (correctness)

 thực hiện ñúng các ñặc tảvềchức năng

(functional specification)

 Tính tin cậy (reliability)

 ñáp ứng ñược những yêu cầu ñặt ra

 Tính bền vững (robustness)

 hoạt ñộng tốt trong những ñiều kiện sửdụng

khác nhau

 Tính hiệu quả (efficiency)

 sửdụng hiệu quảcác nguồn tài nguyên (bộ

nhớ, CPU, )

 Tính thân thiện (user friendlyness)

 dễ sửdụng

 Tính d ễ ki ể m tra (verifiability)

 dễ kiểm tra chất lượng

Trang 11

 Tính d ễ b ả o trì (maintainability)

 dễ xác ñịnh và sửa lỗi

 dễ tạo ra những phiên bản mới khi có sựmở

rộng

 Tính tái s ử d ụ ng (reusability)

 dễ tái sử dụng trong những phần mềm mới

 Tính kh ả chuy ể n (portability)

 dễ sửdụng trong các môi trường mới

 Tính d ễ hi ể u (understandability)

 dễ hiểu ñối với người sửdụng cũng nhưñối

với người phát triển

 Tính h ợ p tác (interoperability)

 dễ hợp tác với các phần mềm khác

 Sản xuất hiệu quả (productivity)

 tiến trình sản xuất phần mềm phải hiệu quả

Trang 12

 Khả năng giao sản phẩm ñúng hạn

(timeliness)

 giao sản phẩm theo từng gói

 Tính trong suốt (visibility)

 ñối với người phát triển/người quản lý

• hi ể u r ỏ ti ế n ñộ phát tri ể

• hi ể u r ỏ ả nh h ưở ng c ủ a các quy ế ñị nh

 ñối với khách hàng

• hi ể u r ỏ ti ế n ñộ phát tri ể

• hi ể u r ỏ ả nh h ưở ng c ủ a các quy ế ñị nh

 S ự th ỏ a hi ệ p gi ữ a các tiêu chu ẩ n ch ấ t

l ượ ng

tính thân thi ệ n / tính b ề n v ữ ng

tính kh ả chuy ể n / tính hi ệ u qu ả

Trang 13

 Các hệthống thông tin (Information Systems)

 quản lý thông tin

 cơ sởdữliệu + giao tác

 Các hệthống thời gian thực (Real-Time

System)

 các hệthống khi hoạt ñộng cần phải trảlời

các sự kiện với một thời gian ñược quy ñịnh

nghiêm ngặt

 Các hệthống phân tán (Distributed Systems)

 mạng máy tính

 phân tán dữliệu

 phân tán xửlí

 Các hệthống nhúng (Emmbedded Systems)

 giao tiếp với các hệthống/mạch ñiện tử

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

TỪ KHÓA LIÊN QUAN

w