Đăng ký Đăng nhập
Trang chủ Kinh doanh - Tiếp thị Thương mại điện tử Chuong 1.pham vi cua cong nghe phan mem...

Tài liệu Chuong 1.pham vi cua cong nghe phan mem

.PDF
13
117
113

Mô tả:

P h Ç n 1 giíi thiÖu vÒ chu tr×nh sèng cña phÇn mÒm (INTRODUCTION TO THE SOFTWARE LIFE CYCLE) Huỳnh Xuân Hiệp - CNPM 4 1 ph¹m vi cña c«ng nghÖ phÇn mÒm (SCOPE OF SOFTWARE ENGINEERING) Nội dung:  Lịch sử  Kinh tế  Bảo trì  Đặc tả và thiết kế  Đội ngũ lập trình  Mô hình hương đối tượng  Thuật ngữ Huỳnh Xuân Hiệp - CNPM 5 1.1 1.1LÞch LÞch sö (historical aspects)  Thuật ngữ công nghệ phần mềm (software engineering-SE) được đề xuất bởi một nhóm nghiên cứu của NATO vào năm 1967 Hội nghị về SE được tổ chức tại Garmisch-Đức năm 1968 nhằm giải quyết vấn đề khủng hoảng phần mềm Cuộc khủng hoảng vẫn còn kéo dài đến nay vì hai lý do:  tiến trình sản xuất phần mềm có những thuộc tính và vấn đề riêng  sự trì trệ của phần mềm (software depression) với thời gian kéo dài và những dự đoán nghèo nàn Sự phát triển của phần cứng và hệ điều hành  hệ điều hành đa nhiệm (1960s)  bộ nhớ ảo (1970s)  đa xử lý (multiprocessor)  hệ điều hành phân tán (mạng),... Vấn đề bảo trì phần mềm     Huỳnh Xuân Hiệp - CNPM 6 1.2 1.2Kinh Kinh tÕ (economic aspects)  Sự lựa chọn kỹ thuật thực hiện nhanh hơn để giảm giá thành  Sự ảnh hưởng của kỹ thuật mới lên công ty phần mềm  khó bảo trì  thời gian huấn luyện  kinh nghiệm làm việc trên kỹ thuật mới chưa nhiều  Phụ thuộc vào sự lựa chọn của khách hàng  Luật bản quyền Huỳnh Xuân Hiệp - CNPM 7 1.3 1.3B¶o B¶o tr× (maintenance aspects)  Chu tr×nh sèng cña phÇn mÒm yªu cÇu ®Æc t¶ (ph©n tÝch) thiÕt kÕ cµi ®Æt tÝch hîp b¶o tr× kÕt thóc ho¹t ®éng ViÕt m· lÖnh cho m«-®un 5%       Giai ®o¹n yªu cÇu vµ ®Æc t¶ Yªu cÇu 2% 132 dù ¸n gÇn ®©y nhÊt cña Hewlett-Packard 18% Giai ®o¹n thiÕt kÕ 18 19 Giai ®o¹n cµi ®Æt 36 34 Giai ®o¹n tÝch hîp 24 29 H×nh 1.2 Mét sè so s¸nh trªn c¸c dù ¸n Huỳnh Xuân Hiệp - CNPM TÝch hîp 8% ThiÕt kÕ 6% §Æc t¶ (Ph©n tÝch) 5%  C¸c dù ¸n kh¸c nhau tõ 1976 ®Õn 1981 21% KiÓm thö m«-®un 7% B¶o tr× 67% H×nh 1.1 Gi¸ thµnh cña c¸c giai ®o¹n trong chu tr×nh sèng cña phÇn mÒm 8 1.4 1.4§Æc §Æc t¶ vµ thiÕt kÕ (specification and design aspects)  Sai sãt t¹i c¸c giai ®o¹n tríc sÏ ¶nh hëng ®Õn c¸c giai ®o¹n sau, t¹o ra c¸c lçi. C«ng viÖc söa ch÷a c¸c lçi cµng sím cµng tèt lµ rÊt quan träng Huỳnh Xuân Hiệp - CNPM 9 400 368 350 300 Gi ¸ gÇ n ®ó ng (xÊ p xØ) ®Ó t×m kiÕ m vµ chØ nh sö a mé t lçi 250 200 200 c¸c dù ¸n tõ 1974 ®Õn 1980 150 IBM AS/400 [Kan vµ al., 1994] 100 52 50 30 1 4 10 3 Huỳnh Xuân Hiệp - CNPM 1 Yªu cÇu ThiÕt kÕ §Æc t¶ TÝch hîp Cµi ®Æt B¶o tr× H×nh 1.4 Gi¸ ph¶i tr¶ ®Ó ®iÒu chØnh lçi 1.3 Đội ngũ lập trình (team programming aspects) Hình thành từng nhóm làm việc chuyên biệt trong từng lĩnh vực. Một số vấn đề nảy sinh như:  cách chia xẻ các phần công việc  mối quan hệ, sự giao tiếp giữa các thành viên với nhau  Kỹ thuật tổ chức và quản lý đội ngũ phát triển phần mềm  lập trình viên  đặc tả viên  thiết kế viên,...  Sự ràng buộc lẫn nhau giữa các thành viên cùng nhóm, khác nhóm,...  Cách đánh giá thời gian làm việc  Cách đánh giá hiệu quả công việc  Cách đánh giá về kinh nghiệm thực hiện công việc  Huỳnh Xuân Hiệp - CNPM 1 1.5 1.5M« M« h×nh h híng íng ®èi ttîng îng (the object-oriented paradigm)  D÷ liÖu vµ t¸c ®éng cã vai trß quan träng nh nhau. Mét sè tªn gäi kh¸c: thiÕt kÕ híng tr¸ch nhiÖm (responsibility-driven design)[Wirfs-Brock, Wilkerson vµ Wiener, 1990] thiÕt kÕ theo hîp ®ång [Meyer, 1992a] th«ng b¸o rót tiÒn göi tiÒn tµi kho¶n tiÒn göi x¸c ®Þnh tån kho¶n göi tiÒn rót tiÒn th«ng b¸o tµi kho¶n tiÒn göi x¸c ®Þnh th«ng b¸o tån kho¶n (a) (b) H×nh 1.4 So s¸nh hai ph¬ng ph¸p cµi ®Æt (a) cÊu tróc vµ (b) híng ®èi tîng Híng cÊu tróc Híng ®èi tîng Huỳnh Xuân Hiệp - CNPM 1 1. Yªu cÇu 1. Yªu cÇu 2. §Æc t¶ (ph©n tÝch) 2. (*) §Æc t¶ (ph©n tÝch) híng ®èi tîng 3. ThiÕt kÕ 3. (*)ThiÕt kÕ híng ®èi tîng 4. Cµi ®Æt 4. (*)LËp tr×nh híng ®èi tîng 5. TÝch hîp 5. TÝch hîp 6. B¶o tr× 6. B¶o tr× 7. KÕt thóc ho¹t ®éng 7. KÕt thóc ho¹t ®éng H×nh 1.5 So s¸nh chu tr×nh sèng gi÷a híng cÊu tróc vµ híng ®èi tîng Híng cÊu tróc 2. §Æc t¶ (ph©n tÝch) • x¸c ®Þnh s¶n phÈm ph¶i lµm g× Híng ®èi tîng 2. (*) §Æc t¶ (ph©n tÝch) híng ®èi tîng • x¸c ®Þnh s¶n phÈm ph¶i lµm g× • t¹o c¸c ®èi tîng 3. (*)ThiÕt kÕ híng ®èi tîng • thiÕt kÕ chi tiÕt 3. ThiÕt kÕ • thiÕt kÕ kiÕn tróc (t¹o c¸c m«®un ) • thiÕt kÕ chi tiÕt 4. Cµi ®Æt 4. (*)LËp tr×nh híng ®èi tîng • cµi ®Æt trªn ng«n ng÷ lËp tr×nh • cµi ®Æt trªn ng«n ng÷ lËp tr×nh híng ®èi tîng thÝch hîp thÝch hîp H×nh 1.6 Sù kh¸c nhau gi÷a híng cÊu tróc vµ híng ®èi tîng Huỳnh Xuân Hiệp - CNPM 1 Thuật ngữ (terminology) Phần mềm (software) mã lệnh dưới dạng máy có thể đọc được các dạng tài liệu đặc tả, thiết kế, luật và sổ sách về chi phí kế hoạch quản lý dự án phần mềm và các tài liệu quản lý khác các dạng tài liệu hướng dẫn sử dụng  Chương trình (program), là một đoạn mã lệnh có thể tự thực thi được  Hệ thống (system), là tập hợp các chương trình liên quan với nhau  Sản phẩm (product)  một mẩu bình thường của phần mềm  kết quả đạt được sau một tiến trình (process) phát triển phần mềm  Sản xuất phần mềm (software production) bao gồm hai giai đoạn:  phát triển phần mềm (software development)  bảo trì (maintenance)      Huỳnh Xuân Hiệp - CNPM 1      TËp hîp c¸c kü thuËt (methodology, paradigm) Lçi (error) hay cã lçi (bug) Thuéc tÝnh (attribute), lµ thµnh phÇn d÷ liÖu cña mét ®èi tîng. Cßn gäi lµ: tr¹ng th¸i biÕn (state variable) trong ng÷ c¶nh híng ®èi tîng thÓ hiÖn biÕn (instance variable,field) trong Java trêng (field,member) trong C++ Ph¬ng thøc (method). Cßn gäi lµ: hµm thµnh viªn (member function) trong C++ trêng (field) trong Java Khi mét ph¬ng thøc bªn trong mét ®èi tîng ®îc kÝch ho¹t, ta gäi lµ göi mét th«ng b¸o (sending a message) ®Õn ®èi tîng Huỳnh Xuân Hiệp - CNPM 1 Huỳnh Xuân Hiệp - CNPM 1
- Xem thêm -

Tài liệu liên quan