Bài giảng Kỹ nghệ phần mềm - Bài 2: Kỹ nghệ phần mềm - Nguyễn Văn Vỵ
Tóm tắt Bài giảng Kỹ nghệ phần mềm - Bài 2: Kỹ nghệ phần mềm - Nguyễn Văn Vỵ: ... tiến trỡnh i Mô hình (p.pháp) luồng dữ liệu Bộ mụn Cụng nghệ phần mềm – ĐHCN 15 NguyễnVănVỵ Ví dụ: Biểu đồ luồng dữ liệu mức 0 bμi toán trông gửi xe 0 Hệ thống Khách DS thực thể a. xxxx b. xxxx c. xxxx d. xxxx e. xxxx f. xxxx a b c d e f 1 R C U R C 2 R R U C 3 R R 0 1 2...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 25 NguyễnVănVỵ Tiến trình phần mềm Các hoạt độn...? Mỗi ngôn ngữ có 1 năng lực thể hiện Chọn ngôn ngữ tốt sẽ giảm kích cỡ Bộ mụn Cụng nghệ phần mềm – ĐHCN 36 NguyễnVănVỵ Phần mềm kỹ nghệ tốt 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 • Tính đáng tin cậy • Tính ...
Bộ môn Công nghệ phần mềm- Khoa CNTT- ĐHCN Email: vynv@coltech.vnu.vn Kỹ nghệ phần mềm Software Engeneering Nguyễn Văn Vỵ Bộ mụn Cụng nghệ phần mềm – ĐHCN 2 NguyễnVănVỵ Nội dung Bài 2: Kỹ nghệ phần mềm Đị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 3 NguyễnVănVỵ TÀI LiỆU THAM KHẢO 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 4 NguyễnVănVỵ Các định nghĩa kỹ nghệ phần mềm 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]) Kỹ nghệ phần mềm – Software Engineering:SE Bộ mụn Cụng nghệ phần mềm – ĐHCN 5 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. Quy trình/thủ tục 2. Ph−ơng pháp 3. Công cụ Định nghĩa SE 1 ? 3 2 4 1 32 Bộ mụn Cụng nghệ phần mềm – ĐHCN 6 NguyễnVănVỵ Lịch sử của kỹ nghệ phần mềm Đề 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 7 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ê Lịch sử của kỹ nghệ phần mềm Bộ mụn Cụng nghệ phần mềm – ĐHCN 8 NguyễnVănVỵ Lịch sử của kỹ nghệ phần mềm 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 9 NguyễnVănVỵ Lịch sử của kỹ nghệ phần mềm 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 10 NguyễnVănVỵ Các yếu tố cơ bản của - SE 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 11 NguyễnVănVỵ Các thủ tục - Procedures 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 12 NguyễnVănVỵ Các ph−ơng pháp - methods 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 13 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ó Các ph−ơng pháp - methods Bộ mụn Cụng nghệ phần mềm – ĐHCN 14 NguyễnVănVỵ luồng dữ liệu kho dữ liệu tiến trình Vẽ luồng dữ liệu mức 0 từ mô hình nghiệp vụ Vẽ biểu đồ mức i: từ mỗi tiến trình mức i-1 ch−a là cơ sở - Tiến trình l là duy nhất - Các luồng vào 1 tiến trình phải # các luồng ra - Các luồng vào 1 tiến trình đủ để tạo ra các luồng ra - Không có các luồng dữ liệu sau: Kho ặ kho Kho ặ tác nhân • tác nhân Quy trìnhQuy tắcKý phápKhái niệm Các ph−ơng pháp methods tờn tỏc nhõn tờn luồng tờn kho tờn tiến trỡnh i Mô hình (p.pháp) luồng dữ liệu Bộ mụn Cụng nghệ phần mềm – ĐHCN 15 NguyễnVănVỵ Ví dụ: Biểu đồ luồng dữ liệu mức 0 bμi toán trông gửi xe 0 Hệ thống Khách DS thực thể a. xxxx b. xxxx c. xxxx d. xxxx e. xxxx f. xxxx a b c d e f 1 R C U R C 2 R R U C 3 R R 0 1 2 3 3.0 giải quyết sự cố t.t. xe nét đỏ lμ phần thay thế hay thêm vμo 2.0 trả xe khách vé xe "không g.q." phiếu chi biên bản tt sự cố phiếu t.toán phiếu t.toáne biên bản f 1.0 nhận xekhách "hết chỗ" vé xe bảng giáa sổ xevàoc sổ xe rad vé xeb "vé zả" phiếu chig Mô hình nghiệp vụ Bộ mụn Cụng nghệ phần mềm – ĐHCN 16 NguyễnVănVỵ Các công cụ - tools 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 (Oracle Designer, Rational Rose,...) trợ giúp lập trình: compiler, debugger trợ giúp quản lý: project management Ví dụ: Bộ mụn Cụng nghệ phần mềm – ĐHCN 17 NguyễnVănVỵ Các công cụ - tools Biểu đồ mô hình Bộ mụn Cụng nghệ phần mềm – ĐHCN 18 NguyễnVănVỵ Vòng đời phát triển hệ thống phần mềm (systems development life cycle - SDCL) 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 19 NguyễnVănVỵ Vòng đời phát triển phần mềm 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 20 NguyễnVănVỵ Các b−ớc chung nhất phát triển Xác định yêu cầu y phân tích hệ thống y lập kế hoạch y phân tích yêu cầu y đặc tả yêu cầu Tiến hóa y sửa lỗi y thích nghi y nâng cao y bổ sung Phát triển y Thiết kế y Mã hoá y Kiểm thử y Lμm tμI liệu Bộ mụn Cụng nghệ phần mềm – ĐHCN 21 NguyễnVănVỵ Xác định yêu cầu 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 22 NguyễnVănVỵ Phát triển 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 23 NguyễnVănVỵ Vận hμnh, bảo trì 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 24 NguyễnVănVỵ Tiến trình phần mềm 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 25 NguyễnVănVỵ Tiến trình phần mềm 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) Xác định yêu cầu Phát triển Thẩm định Tiến hóa vấn đề, mong đợi Phần mềm file.exe Bộ mụn Cụng nghệ phần mềm – ĐHCN 26 NguyễnVănVỵ Tiến trình phần mềm 1. Xác định yêu cầu (Requirements) KHÁCH HÀNG Khó khăn hệ thống thực, mong đợi về hệ phần mềm Đặc tả yêu cầu phần mềm đội phát triển Bộ mụn Cụng nghệ phần mềm – ĐHCN 27 NguyễnVănVỵ Chức năng hệ thống Ràng buộc hệ thống Tiến trình phần mềm 2. Phát triển phần mềm (Development) Đặc tả yêu cầu Xác định yêu cầu đội phát triển Hệ thống phần mềm vận hành đúng file.exe file.com Bộ mụn Cụng nghệ phần mềm – ĐHCN 28 NguyễnVănVỵ Tiến trình phần mềm 3. Thẩm định phần mềm (Validation) Hệ thống phần mềm vận hành đúng file.exe file.com Phát triển Ng−ời dùng Hệ thống phần mềm đáp ứng yêu cầu file.exe file.com Bộ mụn Cụng nghệ phần mềm – ĐHCN 29 NguyễnVănVỵ 4. Tiến hóa phần mềm (Evolution) đội phát triển Thẩm định Hệ thống phần mềm đáp ứng yêu cầu file.exe file.com Hệ thống phần mềm đ−ợc tiến hóa file.exe file.com file.com môi tr−ờng thay đổi Tiến trình phần mềm Bộ mụn Cụng nghệ phần mềm – ĐHCN 30 NguyễnVănVỵ Mô hình tiến trình phần mềm 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ể. Công việc 1 Công việc 2 Cụng việc 1.1.1 Công việc 1.1 Cụng việc 1.2 Cụng việc 2.1 Cụng việc 2.1.1 TIẾN TRèNH CỤ THỂ Giai đoạn 1 Giai đoạn 2 Giai đoạn 3 Mễ HèNH TIẾN TRèNH Bộ mụn Cụng nghệ phần mềm – ĐHCN 31 NguyễnVănVỵ Chi phí của kỹ nghệ phần mềm ắ 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 32 NguyễnVănVỵ Chi phí của kỹ nghệ phần mềm Chi phớ phỏt triển tiến húa đặc tả thiết kế phỏt triển kiểm thử tớch hợp 0 25 50 75 100 Phõn bố chi phớ phỏt triển (nói chung) 26 23 3813 đặc tả phỏt triển tiến húa kiểm thử hệ thống 0 25 50 75 100 10 60 30 Bộ mụn Cụng nghệ phần mềm – ĐHCN 33 NguyễnVănVỵ Chi phí của kỹ nghệ phần mềm Chi phí hệ có vòng đời dμi phỏt triển hệ thống tiến húa hệ thống 0 25 50 75 100 25 75 đặc tả phỏt triển kiểm thử hệ thống 0 25 50 75 100 chi phớ phỏt triển sản phẩm trực tuyến 35 578 Bộ mụn Cụng nghệ phần mềm – ĐHCN 34 NguyễnVănVỵ Quy mô phần mềm 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 35 NguyễnVănVỵ Số đo ngôn ngữ Ngôn ngữ Dòng lệnh/chức năng Assembly C FORTRAN 77 COBOL 85 Ada 83 C++ Ada 95 Java Visual Basic SQL 320 128 105 91 71 56 55 55 35 ? Mỗi ngôn ngữ có 1 năng lực thể hiện Chọn ngôn ngữ tốt sẽ giảm kích cỡ Bộ mụn Cụng nghệ phần mềm – ĐHCN 36 NguyễnVănVỵ Phần mềm kỹ nghệ tốt 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 • Tính đáng tin cậy • 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 mức −u tiên Bộ mụn Cụng nghệ phần mềm – ĐHCN 37 NguyễnVănVỵ Tính bảo trì đ−ợc 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ả "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: Bộ mụn Cụng nghệ phần mềm – ĐHCN 38 NguyễnVănVỵ Đáng tin cậy Đá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 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ả Bộ mụn Cụng nghệ phần mềm – ĐHCN 39 NguyễnVănVỵ Tính hiệu quả Không sử dụng lãng phí tμi nguyên phần cứng Để tối −u hóa cần: Đòi hỏi bộ nhớ lớn Đòi hỏi tốc độ cao Chiếm không gian đĩa lớ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 Cần tối ưu hợp lý dễ dẫn tới khó bảo trì, giá thành cao. Bộ mụn Cụng nghệ phần mềm – ĐHCN 40 NguyễnVănVỵ Tiện dụng, tinh vi 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 41 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ũ) Giá cả hợp lý hiệu năng g i á t h μ n h Chi phí bỏ ra Hiệu suất đạt Bộ mụn Cụng nghệ phần mềm – ĐHCN 42 NguyễnVănVỵ Kỹ nghệ hệ thống (System Engineering) 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 • tổ chức, quản lý Kỹ nghệ hệ thống bao gồm: • đặc tả • thiết kế • triển khai kỹ nghệ hệ thống kỹ nghệ phần mềm • tích hợp • thẩm định • bảo trì Bộ mụn Cụng nghệ phần mềm – ĐHCN 43 NguyễnVănVỵ Kỹ nghệ hệ thống Đặ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 44 NguyễnVănVỵ Kỹ nghệ hệ thống Tiến trình ký nghệ hệ thống (system engineering process) xỏc định yờu cầu ị tiến húa hệ thống ti t loại bỏ hệ thống l i t thiết kế hệ thống t i t t phỏt triển hệ con t t i Cài đặt hệ thống i t t tớch hợp hệ thống tớ t cỏc hệ cứng cỏc hệ mềm Bộ mụn Cụng nghệ phần mềm – ĐHCN 45 NguyễnVănVỵ Khái niệm liên quan - Khoa học máy tính (Computer Sience) ắ 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 kỹ nghệ phần mềm khoa học máy tính Bộ mụn Cụng nghệ phần mềm – ĐHCN 46 NguyễnVănVỵ Kiến trúc vμ phần cứng máy tính Hạ tầng các hệ thống công nghệ vμ ph. pháp phần mềm Các công nghệ ứng dụng tô chức vμ các HTTT Các lĩnh vực tính toán (computing curricula 11/2004 -ACM, AIS, IEEE) Lý thuyết, ứng dung đổi mới triển khai SECS IT IS Bộ mụn Cụng nghệ phần mềm – ĐHCN 47 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 Phân biệt các lĩnh vực tính toán Bộ mụn Cụng nghệ phần mềm – ĐHCN 48 NguyễnVănVỵ Câu hỏi ôn tập 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 49 NguyễnVănVỵ Câu hỏi ôn tập 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 50 NguyễnVănVỵ Câu hỏi và thảo luận
File đính kèm:
- bai_giang_ky_nghe_phan_mem_bai_2_ky_nghe_phan_mem_nguyen_van.pdf