Giáo trình Kỹ thuật phần mềm - Bài 2: Kỹ nghệ phần mềm - Nguyễn Văn Vy

pdf 50 trang huongle 3180
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Kỹ thuật phần mềm - Bài 2: Kỹ nghệ phần mềm - Nguyễn Văn Vy", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_ky_thuat_phan_mem_bai_2_ky_nghe_phan_mem_nguyen_v.pdf

Nội dung text: Giáo trình Kỹ thuật phần mềm - Bài 2: Kỹ nghệ phần mềm - Nguyễn Văn Vy

  1. Kỹ nghệ phần mềm Software Engeneering Nguyễn Văn Vỵ Bộ môn Công nghệ phần mềm- Khoa CNTT- ĐHCN Email: vynv@coltech.vnu.vn
  2. Bài 2: Kỹ nghệ phần mềm NguyễnVănVỵ Nội dung „ Định nghĩa vμ khái niệm „ Lịch sử phát triển „ Các mô hình tiến trình Bộ mụn Cụng nghệ phần mềm – ĐHCN 2
  3. TÀI LiỆU THAM KHẢO NguyễnVănVỵ 1. Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giỏo trỡnh kỹ nghệ phần mềm. Nhà xuất bản Đại học Quốc gia Hà nội, 2008 2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling language User Guid. Addison-Wesley, 1998. 3. M. Ould. Managing Software Quality and Business Risk, John Wiley and Sons, 1999. 4. Roger S.Pressman, Software Engineering, a Practitioner’s Approach. Fifth Edition, McGraw Hill, 2001. 5. Ian Sommerville, Software Engineering. Sixth Edition, Addison- Wasley, 2001. 6. Nguyễn Văn Vỵ. Phõn tớch thiết kế hệ thống thụng tin hiện đại. Hướng cấu trỳc và hướng đối tượng, NXB Thống kờ, 2002, Hà Nội. Bộ mụn Cụng nghệ phần mềm – ĐHCN 3
  4. Các định nghĩa kỹ nghệ phần mềm NguyễnVănVỵ Kỹ nghệ phần mềm – Software Engineering:SE „ SE lμ thiết lập và sử dụng các nguyên lý công nghệ đúng đắn để đ−ợc phần mềm 1 cách kinh tế, vừa tin cậy vừa lμm việc hiệu quả trên các máy thực (Bauer [1969]) „ SE lμ nguyên lý kỹ nghệ liên quan đến tất cả các mặt lý thuyết, ph−ơng pháp và công cụ của phần mềm (Sommerville [1995]) Bộ mụn Cụng nghệ phần mềm – ĐHCN 4
  5. Định nghĩa SE NguyễnVănVỵ „ SE lμ bộ môn tích hợp cả qui trình, các ph−ơng pháp, các công cụ để phát triển phần mềm máy tính (Pressman [1995]) „ Ba mặt cơ bản của kỹ nghệ phần mềm lμ: 1 1. Quy trình/thủ tục 1 ? 2 2. Ph−ơng pháp 3. Công cụ 3 4 2 3 Bộ mụn Cụng nghệ phần mềm – ĐHCN 5
  6. Lịch sử của kỹ nghệ phần mềm NguyễnVănVỵ „ Đề x−ớng, hình thμnh (70s) Các ph−ơng pháp lập trình vμ cấu trúc dữ liệu  Khái niệm về tính môđun  Khái niệm sơ đồ khối, lập trình top-down  Lập trình có cấu trúc (Dijkstra)  ph−ơng pháp chia môdun một ch−ơng trình  Trừu t−ợng hóa dữ liệu (Liskov) Bộ mụn Cụng nghệ phần mềm – ĐHCN 6
  7. Lịch sử của kỹ nghệ phần mềm NguyễnVănVỵ „ Tăng tr−ởng (nửa đầu 80s) ắ Xuất hiện các ph−ơng pháp phát triển hệ thống ƒ công nghệ CSDL (mô hình quan hệ) ƒ phân tích, thiết kế h−ớng cấu trúc (biểu đồ luồng, ) ắ Các bộ công cụ phát triển ƒ công cụ trợ giúp phân tích, thiết kế ƒ bộ khởi tạo ch−ơng trình, kiểm thử ƒ các ngôn ngữ bậc cao ắ Bắt đầu quan tâm đến quản lý ƒ Các độ do phần mềm ƒ Quản lý theo thống kê Bộ mụn Cụng nghệ phần mềm – ĐHCN 7
  8. Lịch sử của kỹ nghệ phần mềm NguyễnVănVỵ „ Phát triển (từ giữa 80s) ắHoμn thiện công nghệ cấu trúc, ra đời công nghệ đối t−ợng ƒ Nhiều mô hình h−ớng cấu trúc triển khai, chuẩn hóa ƒ CASE hoμn thiện, đạt mức tự động hóa cao ƒ Ngôn ngữ thế hệ 4 ra đời (LIPS, PROLOG, ) ƒ Công nghệ h−ớng đối t−ợng bắt đầu phát triển: Quy trình RUP, UML, Các công cụ đầy đủ (ROSE, JIBULDER, ) ƒ Sử dụng lại chiếm vị trí quan trọng trong phát triển Bộ mụn Cụng nghệ phần mềm – ĐHCN 8
  9. Lịch sử của kỹ nghệ phần mềm NguyễnVănVỵ „ Phát triển (từ giữa 80s) ắPhát triển công nghệ đối t−ợng Kho dữ liệu, CSDL đối t−ợng, đa ph−ơng tiện Định h−ớng sử dụng lại: thμnh phần, mẫu, Framework Công nghệ Web: web services ắPhát triển các mô hình quản lý  Chuẩn quản lý đ−ợc công nhận (CMM, IS9000-03)  Nhiều mô hình tổ chức lμm phần mềm đ−ợc đề xuất  Nhiều công cụ trợ giúp quản lý dự án hoμn thiện Bộ mụn Cụng nghệ phần mềm – ĐHCN 9
  10. Các yếu tố cơ bản của - SE NguyễnVănVỵ „ Tổng hợp: Kỹ nghệ phần mềm  Lμ một quá trình kỹ nghệ tích hợp: y Thủ tục (procedures) y Ph−ơng pháp (methods) y Công cụ (tools)  Nhằm tạo ra phần mềm hiệu quả, với các giới hạn cho tr−ớc Bộ mụn Cụng nghệ phần mềm – ĐHCN 10
  11. Các thủ tục - Procedures NguyễnVănVỵ „ Qui trình phát triển vμ quản lý: ƒ Xác định trình tự thực hiện các công việc ƒ Xác định các tμi liệu, sản phẩm cần bμn giao, vμ cách thức thực hiện ƒ Định các mốc thời gian (millestones) vμ sản phẩn đ−a ra (theo các chuẩn) ắ Có thể ở mức chung cho nhiều dự án ắ Hay cụ thể hoá cho 1 dự án cụ thể Bộ mụn Cụng nghệ phần mềm – ĐHCN 11
  12. Các ph−ơng pháp - methods NguyễnVănVỵ „ Cách lμm cụ thể để xây dựng phần mềm „ Mỗi công đoạn có ph−ơng pháp riêng: • Phân tích (xác định, đặc tả yêu cầu) • Thiết kế (đặc tả kiến trúc, giao diện, dữ liêu, thủ tục) • Lập trình (cấu trúc, h−ớng đối t−ợng) • Kiểm thử (hộp đen, hộp trắng, áp lực, hồi quy, luồn sợi) • Quản lý dự án (PERT, GANTT, COCOMO) Bộ mụn Cụng nghệ phần mềm – ĐHCN 12
  13. Các ph−ơng pháp - methods NguyễnVănVỵ „ Nội dung ph−ơng pháp th−ờng bao gồm: y Các phân tử mô hình: mô tả khái niệm y Các ký pháp: đặc tả phần tử y Các quy tắc: liên kết các phân tử mô hình y Quy trình xây dựng: trình tự tạo 1 mô hình y Lời khuyên, cách dùng: cho mô hình tốt vμ dùng nó Bộ mụn Cụng nghệ phần mềm – ĐHCN 13
  14. Các ph−ơng pháp  methods NguyễnVănVỵ Mô hình (p.pháp) luồng dữ liệu Khái niệm Ký pháp Quy tắc Quy trình ƒ tờn tỏc nhõn -Tiến trình l là duy nhất Vẽ luồng dữ liệu tác nhân -Các luồng vào 1 tiến mức 0 từ mô hình trình phải # các nghiệp vụ i luồng ra ƒ Vẽ biểu đồ mức i: tiến trình tờn tiến -Các luồng vào 1 tiến từ mỗi tiến trình trỡnh trình đủ để tạo ra các luồng ra mức i-1 ch−a là cơ sở - Không có các luồng kho dữ liệu tờn kho dữ liệu sau: Kho ặ kho Kho ặ tác nhân tờn luồng luồng dữ liệu • Bộ mụn Cụng nghệ phần mềm – ĐHCN 14
  15. Ví dụ: Biểu đồ luồng dữ liệu mức 0 bμi toán trông gửi xe NguyễnVănVỵ 0 t.t. xe Khách Hệ thống "hết chỗ" 1.0 b vé xe 2.0 nhận xe khách vé xe trả xe 0 a bảng giá phiếu t.toán vé "vé 1 2 3 xe c sổ xevào d sổ xe ra zả" DS thực thể a. xxxx e phiếu t.toán b. xxxx c. xxxx khách d. xxxx e. xxxx g phiếu chi 3.0 tt sự cố f. xxxx giải "không g.q." biên bản f quyết sự biên bản a b c d e f phiếu chi 1 R C U R cố 2 R R U C 3 R R C nét đỏ lμ phần thay thế hay thêm vμo Mô hình nghiệp vụ Bộ mụn Cụng nghệ phần mềm – ĐHCN 15
  16. Các công cụ - tools NguyễnVănVỵ „ Trợ giúp tự động/bán tự động ph−ơng pháp „ Computer Aided Software Engineering  CASE các công cụ trợ giúp các công đoạn khác nhau tiến trình phát triển phần mềm „ Các ngôn ngữ lập trình công cụ sinh giao diện (C Builder, ) hỗ trợ phân tích, thiết kế (Rwin, Modeler Ví dụ: (Oracle Designer, Rational Rose, ) trợ giúp lập trình: compiler, debugger trợ giúp quản lý: project management Bộ mụn Cụng nghệ phần mềm – ĐHCN 16
  17. Các công cụ - tools NguyễnVănVỵ Biểu đồ mô hình Bộ mụn Cụng nghệ phần mềm – ĐHCN 17
  18. Vòng đời phát triển hệ thống phần mềm (systems development life cycle - SDCL)NguyễnVănVỵ „ Lμ các hoạt động từ khi đ−ợc đặt hàng, phát triển, sử dụng đến khi bị loại bỏ nó „ Vòng đời chia thμnh các giai đoạn chính : ắ xác định yêu cầu, ắ triển khai, ắ kiểm thử, ắ Vận hành, bảo trì và lặp lại Phạm vi, thứ tự, nội dung khác nhau tùy theo từng sản phẩm vμ dự án Bộ mụn Cụng nghệ phần mềm – ĐHCN 18
  19. Vòng đời phát triển phần mềm NguyễnVănVỵ „ Tùy mô hình áp dụng, phân chia các pha, các b−ớc có thể khác nhau : từ 3 đến 20 b−ớc Xác định yêu cầu Triền khai Kiểm thử Vận hành - Bảo trì Các pha chính của vòng đời Bộ mụn Cụng nghệ phần mềm – ĐHCN 19
  20. Các b−ớc chung nhất phát triển NguyễnVănVỵ Xác định yêu cầu Phát triển y phân tích hệ thống y Thiết kế y lập kế hoạch y Mã hoá y phân tích yêu cầu y Kiểm thử y đặc tả yêu cầu y Lμm tμI liệu y sửa lỗi Tiến hóa y thích nghi y nâng cao y bổ sung Bộ mụn Cụng nghệ phần mềm – ĐHCN 20
  21. Xác định yêu cầu NguyễnVănVỵ Xác định: Hệ thống lμm gi? Những rμng buộc gì nó cần tuân thủ? Phân tích hệ thống  vai trò phần mềm trong hệ thống  phác hoạ & chọn ph−ơng án khả thi Lập kế hoạch −ớc l−ợng, lập lịch, tổ chức, b−ớc đi, sản phẩm Phân tích yêu cầu ƒ các yêu cầu cụ thể (chức năng, rμng buộc) ƒ đặc tả yêu cầu (kiến trúc, giao diện, xử lý, dữ liệu) Bộ mụn Cụng nghệ phần mềm – ĐHCN 21
  22. Phát triển NguyễnVănVỵ Tạo ra phần mềm nh− thế nào? Thiết kế (design) dịch yêu cầu thμnh bản thiết kế HT nh− nó tồn tại (môi tr−ờng, kiến trúc, dữ liệu, xử lý, giao diện) M∙ hóa (coding) Chuyển thiết kế thμnh ch−ơng trình (của1 ngôn ngữ) Kiểm thử (testing) sửa lỗi, hoμn thiện ch−ơng trình (kiểm thử đơn vị, tích hợp, hệ thống, chấp nhận), lμm tμi liệu Bộ mụn Cụng nghệ phần mềm – ĐHCN 22
  23. Vận hμnh, bảo trì NguyễnVănVỵ Hòan thiện hệ thống sau khi đ−a vào hoạt động? Sửa lỗi: để vận hμnh thông suốt Thích nghi: với môi tr−ờng (kỹ thuật, nghiệp vụ) đã thay đổi để hoạt động hiệu quả Nâng cao: Hoμn thiện chức năng, phát triển dự phòng Thêm mới: thêm các chức năng mới Bộ mụn Cụng nghệ phần mềm – ĐHCN 23
  24. Tiến trình phần mềm NguyễnVănVỵ „ Tiến trình phần mềm (software process) lμ một tập các hoạt động có cấu trúc nhằm phát triển vμ tiến hóa 1 phần mềm „ Một tiến trình cụ thể phải trả lời đ−ợc các câu hỏi: lμm gì? khi nμo? ai lμm? nh− thế nμo? bằng gì? ở đâu? kết quả? tiêu chí đánh giá? Đặc tr−ng  Gắn với mỗi dự án  Có cấu trúc xác định (công việc, trình tự, công cụ, ph−ơng pháp )  Sản phẩm cuối cùng lμ phần mềm bμn giao Bộ mụn Cụng nghệ phần mềm – ĐHCN 24
  25. Tiến trình phần mềm NguyễnVănVỵ Các hoạt động chính của mọi tiến trình ƒ Xác định yêu cầu: định rõ yêu cầu sản phẩm ƒ Phát triển: tạo ra sản phẩm ƒ Thẩm định: phần mềm đáp ứng đ−ợc yêu cầu không? ƒ Tiến hóa phần mềm: thay đổi nhằm đáp ứng yêu cầu thay đổi (người dùng, môi trường) file.exe vấn đề, mong Xác định Phát Thẩm Tiến đợi yêu cầu triển định hóa Phần mềm Bộ mụn Cụng nghệ phần mềm – ĐHCN 25
  26. Tiến trình phần mềm NguyễnVănVỵ 1. Xác định yêu cầu(Requirements) Khó khăn hệ thống thực, mong đợi về hệ phầnmềm Đặc tả yêu cầu phần mềm đội phát triển KHÁCH HÀNG Bộ mụn Cụng nghệ phần mềm – ĐHCN 26
  27. Tiến trình phần mềm NguyễnVănVỵ 2. Phát triểnphầnmềm(Development) file.com Đặc tả yêu cầu file.exe ƒ Chức năng hệ thống ƒ Ràng buộc Hệ thống hệ thống phần mềm vận hành đội phát triển đúng Xác định yêu cầu Bộ mụn Cụng nghệ phần mềm – ĐHCN 27
  28. Tiến trình phần mềm NguyễnVănVỵ 3. Thẩm định phầnmềm(Validation) file.com file.com file.exe file.exe Hệ thống Hệ thống phần mềm phần mềm vận hành đáp ứng yêu đúng cầu Phát triển Ng−ời dùng Bộ mụn Cụng nghệ phần mềm – ĐHCN 28
  29. Tiến trình phần mềm NguyễnVănVỵ 4. Tiến hóa phầnmềm(Evolution) môi tr−ờng thay đổi file.com file.com file.exe file.com file.exe Hệ thống Hệ thống phần mềm phần mềm đ−ợc tiến đáp ứng yêu đội phát triển hóa cầu Thẩm định Bộ mụn Cụng nghệ phần mềm – ĐHCN 29
  30. Mô hình tiến trình phần mềm NguyễnVănVỵ „ Mô hình tiến trình (software process model) lμ cách biểu diễn trừu t−ợng tiến trình phần mềm theo cách nhìn cụ thể. TIẾN TRèNH CỤ THỂ Công việc1.1 Cụng việc 1.1.1 Công việc1 Cụng việc1.2 Công việc2 Cụng việc 2.1.1 Cụng việc2.1 Giai đoạn1 Giai đoạn2 Giai đoạn3 Mễ HèNH TIẾN TRèNH Bộ mụn Cụng nghệ phần mềm – ĐHCN 30
  31. Chi phí của kỹ nghệ phần mềm NguyễnVănVỵ ắ Chi phí kỹ nghệ phần mềm: lμ các khoản chi liên quan đến toμn bộ sự phát triển ắ Chi phí phụ thuộc: ƒ Loại hệ thống (đơn giản, phức tạp) ƒ Yêu cầu đặt ra (nhiều, ít, cao, thấp) ƒ Mức độ hoμn thiện (hiệu năng, độ tin cây, an toμn, ) ƒ Năng lực của tổ chức (nhân lực, công nghệ, công cụ, kỹ năng có đ−ợc) ƒ Loại tiến trình sử dụng Bộ mụn Cụng nghệ phần mềm – ĐHCN 31
  32. Chi phí của kỹ nghệ phần mềm NguyễnVănVỵ 0 25 50 75 100 13 26 23 38 đặc tả thiết kế phỏt triển kiểm thử tớch hợp Phõn bố chi phớ phỏt triển(nói chung) 0 25 50 75 100 10 60 30 đặc tả phỏt triển tiến húa kiểm thử hệ thống Chi phớ phỏt triển tiến húa Bộ mụn Cụng nghệ phần mềm – ĐHCN 32
  33. Chi phí của kỹ nghệ phần mềm NguyễnVănVỵ 0 25 50 75 100 25 75 phỏt triển hệ thống tiến húa hệ thống Chi phí hệ có vòng đời dμi 0 25 50 75 100 8 35 57 đặc tả phỏt triển kiểm thử hệ thống chi phớ phỏt triển sản phẩm trực tuyến Bộ mụn Cụng nghệ phần mềm – ĐHCN 33
  34. Quy mô phần mềm NguyễnVănVỵ „ Kích cỡ phần mềm ảnh h−ởng lớn đến chi phí „ Kích cỡ th−ờng đo bằng số dòng lệnh „ Kích cỡ phần mềm phụ thuộc: • Bμi toán • Thiết kế • Ngôn ngữ lập trình (& trình độ ng−ời lập) ắ Với cùng thiết kế, dùng ngôn ngữ khác nhau cho kích cỡ khác nhau Bộ mụn Cụng nghệ phần mềm – ĐHCN 34
  35. Số đo ngôn ngữ NguyễnVănVỵ „ Mỗi ngôn ngữ có 1 Ngôn ngữ Dòng lệnh/chức năng năng lực thể hiện Assembly 320 „ Chọn ngôn ngữ tốt C 128 sẽ giảm kích cỡ FORTRAN 77 105 COBOL 85 91 Ada 83 71 C++ 56 Ada 95 55 Java 55 Visual Basic 35 SQL ? Bộ mụn Cụng nghệ phần mềm – ĐHCN 35
  36. Phần mềm kỹ nghệ tốt NguyễnVănVỵ „ Phần mềm kỹ nghệ tốt đ−ợc xét theo quan điểm nhμ phát triển „ Thuộc tính phần mềm cần có: • Tính bảo trì đ−ợc mức −u • Tính đáng tin cậy tiên • Tính hiệu quả • Tính tiện dụng • Giá cả phải chăng • Một số tiêu chí khác Bộ mụn Cụng nghệ phần mềm – ĐHCN 36
  37. Tính bảo trì đ−ợc NguyễnVănVỵ "Phần mềm luôn có yêu cầu sửa đổi“ Để sửa đổi (bảo trì) đ−ợc phần mềm cần:  Kiến trúc tốt: kết dính chặt, ghép nối lỏng (dễ đọc, dễ sửa, dễ phát triển, ảnh h−ởng cục bộ)  cμi đặt bằng ngôn ngữ bậc cao (dễ đọc, viết nhanh)  tμi liệu đầy đủ, tốt (dễ theo dõi, dễ hiểu, có cơ sở sửa, )  Có tuổi thọ cao, phụ vụ nhiều  Chi phí bảo trì thấp ặ cho hiệu quả Bộ mụn Cụng nghệ phần mềm – ĐHCN 37
  38. Đáng tin cậy NguyễnVănVỵ „ Phần mềm có ít khiếm khuyết về:  lỗi lập trình  lỗi phân tích, thiết kế: sai, thiếu chức năng,  hoạt động không hiệu quả „ Đáp ứng đ−ợc nhu cầu ng−ời sử dụng  Đảm bảo các chức năng cần  Ôn định, thời gian lμm việc không lỗi lớn  Cho kết quả xác đáng Bộ mụn Cụng nghệ phần mềm – ĐHCN 38
  39. Tính hiệu quả NguyễnVănVỵ „ Không sử dụng lãng phí tμi nguyên phần cứng  Đòi hỏi bộ nhớ lớn  Đòi hỏi tốc độ cao Cần tối ưu hợp lý  Chiếm không gian đĩa lớn, Để tối −u hóa cần:  dùng ngôn ngữ bậc thấp  truy cập trực tiếp đến thiết bị  sử dụng thuật toán viết gọn dễ dẫn tới khó bảo trì, giá thành cao. Bộ mụn Cụng nghệ phần mềm – ĐHCN 39
  40. Tiện dụng, tinh vi NguyễnVănVỵ „ Giao diện phù hợp với trình độ của ng−ời dùng „ Học nhanh, nhớ lâu, dễ thao tác „ Có đủ tμi liệu & nhiều tiện ích, trợ giúp thông minh Giao diện quyết định thμnh công của sản phẩm Bộ mụn Cụng nghệ phần mềm – ĐHCN 40
  41. Giá cả hợp lý NguyễnVănVỵ Cần cân đối, thỏa hiệp giữa các yêu cầu • Khó tối −u đồng thời các thuộc tính giá cả, hiệu quả >>> <<< dễ bảo trì, sử dụng, sự tinh vi  Chi phí cho tối −u không tuyến tính (lμ hμm mũ) Chi phí bỏ ra nh μ giá th hiệu năng Hiệu suất đạt Bộ mụn Cụng nghệ phần mềm – ĐHCN 41
  42. Kỹ nghệ hệ thống (System Engineering) NguyễnVănVỵ „ Kỹ nghệ hệ thống lμ toμn bộ công việc phát triển hệ thống dựa trên máy tính (computer based system): • phần cứng • phần mềm kỹ nghệ kỹ nghệ • tổ chức, quản lý hệ phần mềm thống „ Kỹ nghệ hệ thống bao gồm: • đặc tả • tích hợp • thiết kế • thẩm định • triển khai • bảo trì Bộ mụn Cụng nghệ phần mềm – ĐHCN 42
  43. Kỹ nghệ hệ thống NguyễnVănVỵ „ Đặc tính nổi trội của hệ thống dựa trên máy tính • Thuộc tính chức năng: điều khiển 1 hệ • Thuộc tính phi chức năng: độ tin cậy, an toμn Mμ:  từng bộ pbận không thể có đ−ợc  quyết định đến toμn hệ thống „ Kỹ nghệ hệ thống liên quan đến: • áp dụng các nguyên lý tích hợp • giảm chi phí lμm lại toμn hệ thống Bộ mụn Cụng nghệ phần mềm – ĐHCN 43
  44. Kỹ nghệ hệ thống NguyễnVănVỵ „ Tiến trình ký nghệ hệ thống (system engineering process) xỏcxỏc địđịnhnh loloạạii bbỏỏ yờuyờu ccầầuu hhệệ ththốốngng cỏc hệ thithiếếtt kkếế titiếếnn húahúa hhệệ ththốốngng cứng hhệệ ththốốngng phỏtphỏt tritriểểnn CàiCài đặđặtt hhệệ concon hhệệ ththốốngng tớchtớch hhợợpp hhệệ ththốốngng cỏc hệ mềm Bộ mụn Cụng nghệ phần mềm – ĐHCN 44
  45. Khái niệm liên quan - Khoa học máy tính (Computer Sience) NguyễnVănVỵ ắ Khoa học máy tính liên quan đến những vấn đề lý thuyết vμ nền tảng cho máy tính vμ phần mềm ắ Kỹ nghệ phần mềm liên quan đến thực tiễn của việc phát triển vμ xuất ra các phần mềm hiệu quả ™ Lý thuyết khoa học máy tính còn ch−a đủ cho các hoạt động của kỹ nghệ phần mềm khoa học máy kỹ nghệ tính phần mềm Bộ mụn Cụng nghệ phần mềm – ĐHCN 45
  46. Các lĩnh vực tính toán (computing curricula 11/2004 -ACM, AIS, IEEE) NguyễnVănVỵ tô chức vμ các HTTT IS Các công nghệ ứng dụng IT công nghệ vμ ph. pháp CS SE phần mềm Hạ tầng các hệ thống Kiến trúc vμ phần cứng Lý thuyết, ứng dung máy tính đổi mới triển khai Bộ mụn Cụng nghệ phần mềm – ĐHCN 46
  47. Phân biệt các lĩnh vực tính toán NguyễnVănVỵ „ Mỗi lĩnh vực tínnh toán đ−ợc giới hạn bằng một vùng với biên có màu sau:  CS  Khoa học máy tính:  IS  Hệ thống thông tin  IT  Công nghệ thông tin  SE  Kỹ nghệ phần mềm „ Kỹ nghệ phần mềm chiếm phần lớn ở trung tâm - Đó là lý do nó là ngành phức tạp và quan trọng Bộ mụn Cụng nghệ phần mềm – ĐHCN 47
  48. Câu hỏi ôn tập NguyễnVănVỵ 1) Định nghĩa kỹ nghệ phần mềm -SE? 2) Các giai đoạn lịch sử phát triển SE? đặc tr−ng của mỗi giai đoạn (sản phẩm, ph−ơng pháp, công cụ, quản lý vμ tổ chức lμm việc)? 3) Giải thích nội dung các yếu tố cơ bản trong SE? Lấy ví dụ minh hoạ về ph−ơng pháp, công cụ? 4) Tiến trình phần mềm lμ cái gì? Các b−ớc chung nhất của tiến trình lμ gì? 5) Mô hình tiến trinh lμ gì? Các mô hình có thể nhận đ−ợc từ những cách nhìn nhận nμo? Bộ mụn Cụng nghệ phần mềm – ĐHCN 48
  49. Câu hỏi ôn tập NguyễnVănVỵ 6) Trình bμy một số mô hình tiến trình cơ bản (nội dung, −u, nh−ợc, thích hợp khi nμo)? 7) Chi phí của SE gồm những thμnh phần nμo? nó phụ thuộc vμo những cái gì? 8) Kỹ nghệ hệ thống lμ gì? Quan hệ với kỹ nghệ phần mềm ra sao? 9) Các thuộc tính của phần mềm đ−ợc kỹ nghệ tốt? 10)Khoa học máy tính lμ gì? Quan hệ giữa nó vμ kỹ nghệ phần mềm nh− thế nμo? Bộ mụn Cụng nghệ phần mềm – ĐHCN 49
  50. Câu hỏi và thảo luận NguyễnVănVỵ Bộ mụn Cụng nghệ phần mềm – ĐHCN 50