1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Công nghệ phần mềm - Chương 1 pdf

15 366 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 15
Dung lượng 139,11 KB

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

Nội dung

Schach, Classical and Object-Oriented Software Engineering, NXB IRWIN, 1996.. Ronald Leach, Introduction to Software Engineering, CRC Press, 1999.. Myers, The art of software testing,

Trang 1

Công ngh ệ ph ầ n m ề m

(0)

Nguyn Thanh Bình

Khoa Công nghệ Thông tin

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

ðại hc ðà Nng

 Hi ể u và n ắ m ñượ c

 Khái niệm công nghệphần mềm

 Các mô hình phát triển phần mềm

 Các hoạt ñộng phát triển phần mềm

 Các kỹthuật và phương pháp cơ bản trong

phát triển phần mềm

 Áp d ụ ng công ngh ệ ph ầ n m ề m trong phát

tri ể n ph ầ n m ề m

Trang 2

 Chương 1: Giớ i thi ệ u Công ngh ệ ph ầ n m ề m

 Chương 2: Các mô hình phát triể n ph ầ n m ề m

 Chương 3: Phân tích và ñặ c t ả yêu c ầ

 Chương 4: Các kỹ thu ậ ñặ c t ả

 Chương 5: Thiế t k ế

 Chương 6: Lậ p trình và ngôn ng ữ l ậ p trình

 Chương 7: Kiể m th ử

 Chương 8: Quả n tr ị d ự án ph ầ n m ề m

4

 Ian Sommerville, Software Engineering, 7th edition, Pearson

Education, 2004.

 M Gaudel, B Marre, F Schlienger, G Bernot, Précis de

génie logiciel, Masson, 2001.

 Stephen R Schach, Classical and Object-Oriented Software

Engineering, NXB IRWIN, 1996.

 Ronald Leach, Introduction to Software Engineering, CRC

Press, 1999.

 G Booch, J Rumbaugh, I Jacobson, The Unified Modeling

Language User Guide, Addision-Wesley, 1999.

 Craig Larman, Applying UML and Patterns: An Introduction

to Object-Oriented Analysis and Design and Iterative

Development, Third Edition, Addision-Wesley, 2004.

 Glenford J Myers, The art of software testing, Wiley, 2004.

 Boris Beizer, Software Testing Techniques, Second Edition.

Trang 3

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 4

 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”

4

 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 5

 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 6

 ð 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%

8

Trang 7

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 8

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)

12

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 9

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 10

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

16

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 11

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 12

 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

20

 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 13

 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 14

 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

24

 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 15

 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: 22/07/2014, 05:20

TỪ KHÓA LIÊN QUAN

w