Xem mẫu

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
nguon tai.lieu . vn