Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
5,3 MB
Nội dung
Công nghệ Phần mềm (Software Engineering) Tài liệu tham khảo Software Engineering - A practitioner’s approach, R.S Pressman, McGraw-Hill (ebook) Ian Sommerville’s , “Software Engineering 7th Ed.” Nhập môn kỹ nghệ phần mềm; Ngô Trung Việt, Nguyễn kim Ánh; NXB Khoa học kỹ thuật http://www.mhhe.com/pressman CNPM/NN Mục tiêu Những luồng công việc kiện nỗ lực phát triển phần mềm Vai trò kỹ sư phần mềm việc xây dựng phần mềm Cung cấp kiến thức tảng, tạo điều kiện cần thiết để sinh viên vận dụng thực tế sản xuất phần mềm: phân tích, thiết kế, tạo code, kiểm thử bảo trì, công việc hỗ trợ như: Quản lý chất lượng, quản lý dự án… CNPM/NN Kế hoạch học Thời gian: 45 tiết (9 tuần x 5) Kiểm tra Điểm học kỳ tính 20% (tuần – tự luận) Điểm tiểu luận tính 30% (nhận vào tuần thứ 2) Điểm thi kết thúc học phần tính 50% (trắc nghiệm) CNPM/NN u cầu Có kiến thức ngơn ngữ lập trình lập trình ứng dụng bản, cấu trúc liệu giải thuật Có hiểu biết mạng máy tính, Cơ sở liệu CNPM/NN TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM MÔN HỌC CÔNG NGHỆ PHẦN MỀM Chương Tổng quan CNPM/NN Nội dung CNPM/NN Phần mềm Công nghệ Phần mềm Lịch sử phát triển Công nghệ Phần mềm Những thách thức Công nghệ phần mềm Một số thuật ngữ công nghệ phần mềm Nghề nghiệp Các nhận thức sai lầm Phần mềm (Software)? Sản phẩm phần mềm chương trình điều khiển máy tính để thực chức hữu ích, thường bao gồm tài liệu hướng dẫn Trong sản xuất phần mềm, tài liệu theo với phần mềm cần thiết Các tài liệu là: tài liệu phân tích, tài liệu kiến trúc phần mềm, liệu kiểm thử (testing), tài liệu thành phần sử dụng lại, tài liệu theo dõi phiên bản… Ngoài việc cung cấp phần mềm, đơn vị sản xuất thường kèm theo công việc như: cài đặt, bảo trì, nâng cấp, huấn luyện… CNPM/NN Phần mềm dùng làm gì? Phần mềm sản phẩm Dùng cho tính tốn Tạo, quản lý, thu nhận, biến đổi, thể truyền thông tin Phần mềm phương tiện tạo sản phẩm CNPM/NN Hỗ trợ hay cung cấp trực tiếp chức cho hệ thống Điều khiển chương trình khác (HĐH) Thực truyền thơng (PM Mạng) Giúp cho việc tạo chương trình khác (Tool, Framework) Phần mềm gồm gì? Phần mềm tập hợp mục đối tượng mà hình thành cấu hình bao gồm: • Chương trình • Tài liệu • Dữ liệu… CNPM/NN Phần mềm gồm gì? source codes documents reports manuals CNPM/NN object codes plans test suites test results data prototypes 10 CNPM Khoa học máy tính, Cơng nghệ hệ thống Khoa học máy tính đề cập tới lý thuyết vấn đề bản; cịn cơng nghệ phần mềm đề cập tới hoạt động xây dựng đưa phần mềm hữu ích Khi phát triển phần mềm trở lên mạnh mẽ lý thuyết khoa học máy tính khơng đủ để đóng vai trị tảng hồn thiện cho công nghệ phần mềm Công nghệ hệ thống liên quan tới tất khía cạnh trình phát triển hệ thống dựa máy tính bao gồm: phần cứng, phần mềm, công nghệ xử lý Công nghệ phần mềm phần Công nghệ hệ thống CNPM/NN 41 Nghề nghiệp Kỹ sư phần mềm Các kỹ sư phần mềm nên tuân theo phương pháp luận có hệ thống có tổ chức công việc họ Đồng thời, họ nên sử dụng cơng cụ kỹ thuật thích hợp với vấn đề cần giải quyết, ràng buộc tài nguyên sẵn có CNPM/NN 42 Kỹ CNPM/NN Phân tích thiết kế hệ thống, mơ hình hóa Sử dụng mẫu (prototype) Chọn phần cứng, phần mềm Quản lý cấu hình, lập sơ đồ kiểm sốt tiến trình Lựa chọn ngơn ngữ phát triển chương trình Xác định, đánh giá, cài đặt, chọn phương pháp, công cụ CASE Kiểm tra, kiểm Thử (testing) Lựa chọn sử dụng kỹ thuật bảo trì phần mềm Đánh giá định loại bỏ nâng cấp ứng dụng 43 Contemporary IS Services Organization Tester (Người kiểm thử) Nghiên cứu yêu cầu khách hàng, chi tiết yêu cầu phần mềm cách đánh giá Lập kế hoạch kiểm thử (test plan) dựa phân tích rủi ro, mức độ quan trọng, tần suất sử dụng xác định yếu tổ liên quan như: phương pháp, đo lường, nguồn lực, điều kiện kiểm tra… Tạo test cases/specs/scripts Tiến hành test dựa test case ghi báo cáo (Thành cơng Lỗi) Log lỗi tìm lập báo cáo (test report) Phân tích biến đổi (change), cập nhật tài liệu kiểm thử (Test plan, test cases…) CNPM/NN 45 …Tester Đối với Kiểm thử phần mềm có năm kinh nghiệm trở lên (Senior Tester): CNPM/NN Lập kế hoạch kiểm thử Phụ trách nhóm tester, xem xét test case tester tạo ra, tính tốn phân tích số liên quan đến việc kiểm thử Nghiên cứu automation test tools áp dụng vào test dự án Đề xuất cải tiến qui trình kiểm thử, lập lưu đồ, hướng dẫn, biểu mẫu… để thực quản lý việc kiểm thử 46 QA (Quality Assurance - bảo đảmchất lượng) Các nhân viên QA kiểm tra chất lượng công việc trình sản xuất, ví dụ xem xét tài liệu u cầu, tài liệu thiết kế hay xem xét mã nguồn Họ xem xét ý kiến phản hồi khách hàng cách thức đội dự án xử lý vấn đề QA thu thập thông tin dự án, báo chất lượng dự án, từ vẽ nên tranh chung tình hình chất lượng sản xuất công ty Công việc QA vừa mang tính chất giám sát, vừa mang tính hỗ trợ cho hoạt động dự án CNPM/NN 47 Người Quản lý dự án (Project Manager) Thỏa mãn mục tiêu phạm vi, thời gian, chi phí chất lượng dự án Thỏa mãn nhu cầu mong đợi người có liên quan bị ảnh hưởng dự án PM thực nhiệm vụ sau: lập kế hoạch, tạo lịch biểu, cộng tác, giao tiếp để đạt mục tiêu dự án 97% thành công dự án nhờ vào PM CNPM/NN 48 49 Các kỹ cần thiết người Quản lý Dự án Kỹ giao tiếp: lắng nghe, thuyết phục Kỹ tổ chức: lập kế hoạch, xác định mục tiêu, phân tích Kỹ xây dựng nhóm: thấu hiểu, thúc đẩy, tinh thần đồng đội Kỹ lãnh đạo: động, có tầm nhìn, biết giao nhiệm vụ, lạc quan Kỹ đối phó: linh hoạt, sáng tạo, kiên trì, chịu đựng Kỹ cơng nghệ: kinh nghiệm, kiến thức dự án CNPM/NN 50 Các khu công nghiệp tập trung (2005) Sài gòn Software Park – SSP: thành lập năm 2000, 15 doanh nghiep thành viên, 500 người làm việc Đà Nẵng Software Park – DSP: 2001, doanh nghiệp, 200 chuyên viên IT Công viên phần mềm Quang Trung (QTSC): 2000, 61 doanh nghiệp, 3800 chuyên viên Cần Thơ Software Park – CSP: 2001, doanh nghiệp, 60 người E-Town: 2001, 20 doanh nghiệp IT, 1000 làm IT Huế Software Park: 2001 Unisoft: 2003, doanh nghiệp thành viên, 100 người CNPM/NN 51 Các nhận thức sai lầm Tôi dễ dàng biến đổi phần mềm Tơi giải vấn đề lịch biểu cách thêm người Thực tế: Những thay đổi yêu cầu nguyên nhân làm giảm giá trị phần mềm Thực tế: Nó địi hỏi gia tăng nỗ lực phối hợp làm giảm hiệu suất Định luật Brooks: “Thêm người vào Dự án phần mềm bị chậm làm cho chậm hơn” Chỉ cần xem xét sơ lược u cầu, chúng tơi bắt đầu viết code CNPM/NN Thực tế: thường nguyên nhân gây lỗi 52 Những sai lầm Tơi khơng thể nói chúng tơi làm tốt đến thực thi phần CNPM/NN Kiểm tra hình thức cho thông tin tốt đưa tới thành công cho dự án tốt 53 Những sai lầm Phần quan tâm mã Lập trình giỏi tạo phần mềm chất lượng Tài liệu, thông tin kiểm thử cấu hình phần mềm phần then chốt việc chuyển giao Những dự án phần mềm hồn tất nhóm, khơng phải cá nhân, để thành công cần nhiều tạo mã Tạo mã công việc nặng nhọc CNPM/NN Tạo mã: 10% cơng sức 54 CNPM/NN 55