Đăng ký Đăng nhập

Tài liệu Giáo trình công nghệ phần mềm

.PDF
278
100
57

Mô tả:

Khoa Công ngh Thông tin Trư ng ð i h c Bách khoa ð i h c ðà N ng BÀI GI NG PHÂN TÍCH VÀ THI T K H TH NG HƯ NG ð I TƯ NG Nguy n Thanh Bình Công ngh ph n m m (0) Nguy n Thanh Bình Khoa Công ngh Thông tin Trư ng ð i h c Bách khoa ð i h c ðà N ng M c ñích 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 2 1 N i dung 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 u Chương 4: Các k thu t ñ 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 3 Tài li u tham kh o 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. 4 2 Gi i thi u công ngh ph n m m (1) Nguy n Thanh Bình Khoa Công ngh Thông tin Trư ng ð i h c Bách khoa ð i h c ðà N ng N i dung 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 2 1 L ch s phát tri n ph n m m 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 t ñ u ñư c phát tri n 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” 3 L ch s phát tri n ph n m m T th công ñ n công ngh • Chương trình nh • D án l n • không chuyên nghi p • chuyên nghi p • 1 ngư i làm • nhi u ngư i làm • ngư i s d ng = ngư i phát tri n • khách hàng & nhà cung c p • 1 s n ph m = mã ngu n • nhi u s n ph m • ti n trình phát tri n ñơn gi n • ti n trình phát tri n ph c t p 1968, h i th o khoa h c ñ u tiên v “Công ngh ph n m m” 4 2 Kh ng ho ng ph n m m 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 5 Kh ng ho ng ph n m m 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 o • giao ti p Thi u tiêu chu n ñánh giá s n ph m Thi u quy trình qu n lý 6 3 Kh ng ho ng ph n m m ð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% 7 Kh ng ho ng ph n m m 8 4 Công ngh ph n m m 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 d ng, và b o trì các ph n m m ph c t p, b n v ng và ch t lư ng 9 Công ngh ph n m m 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 10 5 Công ngh ph n m m 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) 11 Công ngh ph n m m 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 l n nh t c a x và y” • z = max(x, y) 12 6 Công ngh ph n m m 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 13 Công ngh ph n m m Nguyên t c Mô-ñun hóa (modularity) Chia nh ñ ph c t p • 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) 14 7 Công ngh ph n m m 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 15 Công ngh ph n m m 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 u • trong ng c nh s d ng • kh năng v công ngh 16 8 Công ngh ph n m m 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 n • s d ng design patterns • chi phí có th tăng cao 17 Công ngh ph n m m 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 n ñánh giá b tñ ul 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 n • mô hình l p 18 9 Ch t lư ng ph n m m 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 19 Ch t lư ng ph n m m 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 20 10 Ch t lư ng ph n m m 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 21 Ch t lư ng ph n m m 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 22 11 Ch t lư ng ph n m m 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 n • hi u r nh hư ng c a các quy t ñ nh ñ i v i khách hàng • hi u r ti n ñ phát tri n • hi u r nh hư ng c a các quy t ñ nh 23 Ch t lư ng ph n m m 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 24 12 Phân lo i ph n m m 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 25 Phân lo i ph n m m 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 26 13 Mô hình phát tri n (2) Nguy n Thanh Bình Khoa Công ngh Thông tin Trư ng ð i h c Bách khoa ð i h c ðà N ng N i dung Các ho t ñ ng phát tri n ph n m m Các mô hình phát tri n ph n m m 2 1 Các ho t ñ ng phát tri n ph n m m Phân tích tính kh thi Phân tích và ñ c t yêu c u Thi t k Mã hóa Ki m th B o trì 3 Các ho t ñ ng phát tri n ph n m m Phân tích tính kh thi xác ñ nh v n ñ c n gi i quy t, xem xét các gi i pháp và kĩ thu t khác nhau • thu n l i • b tl i ñánh giá v th i gian, giá thành, ngu n tài nguyên c n thi t S n ph m: tài li u phân tích 4 2 Các ho t ñ ng phát tri n ph n m m Phân tích và ñ c t yêu c u (1) xác ñ nh nhu c u c a khách hàng/ngư i s d ng • xác ñ nh bài toán, ch không ph i là gi i pháp khó khăn • khách hàng không bi t r cái h c n • khách hàng không trình bày r cái h mu n • các thay ñ i S n ph m: tài li u ñ c t yêu c u 5 Các ho t ñ ng phát tri n ph n m m Phân tích và ñ c t yêu c u (2) các bư c • • • • kh o sát, t ng h p yêu c u phân tích yêu c u ñ c t yêu c u h p th c hóa yêu c u 6 3 Các ho t ñ ng phát tri n ph n m m Phân tích và ñ c t yêu c u (3) T ng h p và phân tích yêu c u ð c t yêu c u H p th c hóa yêu c u Mô hình h th ng Yêu c u h th ng c a ngư i s d ng Tài li u ñ c t yêu c u 7 Các ho t ñ ng phát tri n ph n m m Thi t k (1) chuy n t tài li u ñ c t yêu c u thành c u trúc lô-gíc có th cài ñ t ñư c gi i pháp cho v n ñ ñã ñư c ñ c t thi t k ki n trúc • các moñun và giao di n c a các mô-ñun thi t k giao di n thi t k các mô-ñun • c u trúc d li u • thu t toán S n ph m: tài li u thi t k 8 4
- Xem thêm -

Tài liệu liên quan