Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 76 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
76
Dung lượng
1,58 MB
Nội dung
Học phần: Công nghệ phần mềm Chương Tổng quan Công nghệ phần mềm TS ĐÀO DUY TUẤN Nội dung slide dựa vào slides Ian Sommerville Cấu trúc môn học 30 tiết Bài tập lớp + Bài tập nhóm + Kiểm tra kỳ + cuối kỳ Cần kiến thức CNTT Cung cấp nguyên lý chung Công nghệ Phần mềm (CNPM) Cung cấp kiến thức Phân tích thiết kế phần mềm bản, Xây dựng đánh giá phần mềm, Kiểm thử Quản trị dự án phần mềm, Định hướng cho việc tiếp cận kiến thức liên quan Nội dung khóa học Tổng quan Các hoạt động quy trình phần mềm Yêu cầu phần mềm Phân tích yêu cầu Phát triển phần mềm linh hoạt (Agile) Thiết kế cài đặt Kiểm thử phần mềm Quản lý dự án Mục tiêu khóa học Nhằm cung cấp cho sinh viên kiến thức liên quan lĩnh vực công nghệ phần mềm Biết qui trình xây dựng phần mềm với số phương pháp xây dựng phần mềm Nội dung môn học Tổng quan phần mềm công nghệ phần mềm Vai trò tầm quan trọng phần mềm Khó khăn thách thức phát triển phần mềm Tổng quan công nghệ phần mềm Các hoạt động quy trình phần mềm Các mơ hình phần mềm Nội dung mơn học (tiếp) Phân tích đặc tả u cầu Vai trị phân tích đặc tả yêu cầu Các hoạt động phân tích, đặc tả u cầu Phương pháp, cơng cụ để phân tích, đặc tả yêu cầu Thiết kế phần mềm Khái niệm, nguyên lý, chất lượng thiết kế phần mềm Thiết kế kiến trúc, thiết kế giao diện Một số phương pháp, công cụ thiết kế Nội dung mơn học (tiếp) Lập trình Lập trình tránh lỗi Lập trình hướng hiệu Quản lý dự án phát triển phần mềm Khái niệm, vai trò, mục tiêu quản lý dự án Các yếu tố quản lý Các hoạt động quản lý (phương pháp, công cụ hỗ trợ) Nội dung môn học (tiếp) Kiểm thử Khái niệm, loại kiểm thử Quy trình, cơng cụ trợ giúp kiểm thử Viết tài liệu kiểm thử Tích hợp, chuyển giao bảo trì Khái niệm Các nguyên lý, hoạt động tích hợp Các hoạt động chuyển giao, bảo trì Các vấn đề hoạt động bảo trì Tài liệu tham khảo Bài giảng Kỹ nghệ phần mềm (Nguyễn Việt Hà, website môn học) Nguyễn Văn Vỵ, Nguyễn Việt Hà, Giáo trình Kỹ nghệ phần mềm, Khoa CNTT, ĐH Cơng nghệ (có môn Công nghệ phần mềm – Khoa Công nghệ thông tin – Trường ĐHCN) R Pressman, Software Engineering: A Practioner’s Approach 6th Ed., McGraw-Hill, 2004 R Pressman, Kỹ nghệ phần mềm Tập 1, 2, NXB Giáo dục, Hà Nội, 1997 (Người dịch: Ngô Trung Việt) I Sommerville, Software Engineering 7th Ed., Addison-Wesley, 2004 K Kawamura, Nhập môn Công nghệ học Phần mềm NXB KinkiKagaku, Tokyo, 2001 (Tiếng Nhật) Yêu cầu Yêu cầu Nắm nguyên lý / khái niệm kỹ nghệ phần mềm Vận dụng kiến thức vào tập nhóm Hiểu q trình làm phần mềm Minh họa nguyên lý / kỹ thuật Tìm hiểu số chủ đề mở rộng 10 Những thử thách Tính khơng đồng Càng ngày, hệ thống yêu cầu hệ phân tán qua mạng bao gồm nhiều loại thiết bị di động máy tính Sự thay đổi xã hội thương mại Xã hội thương mại không ngừng thay đổi kinh tế phát triển cơng nghệ đời Chính vậy, việc thay đổi phần mềm có sẵn phát triển phần mềm cách nhanh chóng cần thiết Bảo mật tin cậy Vì phần mềm liên quan đến tất mặt đời sống 62 62 Tính đa dạng CNPM Có nhiều loại hệ thống phần mềm Khơng có kỹ thuật phù hợp với tất loại hệ thống phần mềm Việc sử dụng công cụ phương pháp CNPM phụ thuộc vào loại ứng dụng phát triển, yêu cầu khách hàng kỹ đội ngũ phát triển phần mềm 63 63 Các loại ứng dụng Ứng dụng độc lập Những hệ thống ứng dụng chạy máy tính cục PC Những hệ thống gồm tất tính cần thiết không cần kết nối mạng Ứng dụng dựa vào giao dịch tương tác Những ứng dụng chạy máy tính từ xa truy cập người dùng từ máy tính họ Ví dụ: ứng dụng ecommerce Ứng dụng điều khiển nhúng Những hệ thống sử dụng phần mềm để điều khiển quản lý thiết bị phần cứng 64 64 Các loại ứng dụng Hệ thống xử lý khối • Hệ thống thiết kế để xử lý liệu khối lớn (batch) Những hệ thống xử lý số lượng lớn liệu đầu vào đơn lẻ tạo đầu tương ứng Hệ thống giải trí • Những hệ thống phục vụ cho việc giải trí người dùng Hệ thống mơ mơ hình hóa • Những hệ thống phát triển kỹ sư nhà khoa học để mơ quy trình vật lý, gồm nhiều đối tượng rời rạc hay tương tác với 65 65 Các loại ứng dụng Hệ thống thu thập liệu • Hệ thống thu thập liệu từ môi trường sử dụng cảm biến gởi liệu tới hệ thống khác để xử lý Hệ thống hệ thống • Những hệ thống chứa số hệ thống phần mềm khác 66 66 Những nguyên tắc Một số nguyên tắc áp dụng cho tất loại phần mềm, không phân biệt kỹ thuật phát triển sử dụng: • Hệ thống nên phát triển sử dụng quy trình phát triển dễ hiểu quản lý • Hiệu (performance) độ tin cậy quan trọng tất loại hệ thống • Việc hiểu quản lý yêu cầu đặc tả phần mềm quan trọng • Nếu có thể, nên sử dụng lại phần mềm viết hồn tồn 67 67 Các mơ hình sản xuất phần mềm Tùy theo quy mô công nghệ phát triển, có mơ hình sản xuất khác Mơ hình tuyến tính- waterfall Mơ hình thứ tự tăng dần Mơ hình xoắn ốc – Boehm’s Spiral Model MƠ HÌNH NÀO TỐT HƠN Mỗi mơ hình phù hợp với trình độ phát triển, quy mơ sản phẩm yêu cầu ràng buộc cụ thể thời gian tính chất hệ thống 68 Nội dung Phần mềm Cơng nghệ phần mềm Quy trình phần mềm Công nghệ phần mềm Web 69 69 CNPM web Web tảng để chạy ứng dụng Ngày nhiều tổ chức sử dụng hệ thống dựa vào web hệ thống cục Các dịch vụ Web (Web service) cho phép tính ứng dụng truy cập thơng qua web Cloud computing phương pháp cung cấp dịch vụ máy tính để chạy ứng dụng từ xa ‘cloud’ 70 70 CNPM cho Web Tái sử dụng phần mềm phương pháp để xây dựng hệ thống dựa vào web Xây dựng hệ thống cách tập hợp component hệ thống phần mềm có sẵn Những hệ thống dựa vào Web nên phát triển phân phối Sẽ không thực tế đặc tả tất yêu cầu phần mềm trước Giao diện người dùng bị ràng buộc khả web browser 71 71 CNPM cho Web Những hệ thống dựa vào web hệ thống phân tán phức tạp Những nguyên tắc CNPM áp dụng cho hệ thống dựa vào Web 72 72 Website and Web app Website Web app Nhiều chức năng: đăng thông Ít chức năng: xem, đọc, click tin, upload file, xuất báo qua link,… tương tác cáo,… đồng thời tính tương thấp tác cao Được tạo từ HTML Được tạo bời HTML dối tượng: văn bản, âm thanh, code back end: PHP, C#, hình ảnh Java,… Được dùng để thực Được dùng để lưu trữ hiển công việc hay chức thị thông tin ứng dụng 73 Tổng kết Công nghệ phần mềm lĩnh vực cơng nghệ liên quan đến tất khía cạnh việc sản xuất phần mềm Tiêu chí sản phẩm phần mềm tính bảo trì được, tính tin cậy được, tính hiệu tính chấp nhận Những hoạt động quy trình phần mềm đặc tả, phát triển, thẩm định cải tiến phần mềm Những khái niệm CNPM hồn tồn áp dụng cho tất loại phát triển hệ thống Có nhiều loại hệ thống khác loại cần công cụ kỹ thuật CNPM phù hợp để phát triển 74 74 Source: http://stevereads.com/img/tire_swing_software_design.jpg 75 Câu hỏi? 76 76 ... liên quan lĩnh vực công nghệ phần mềm Biết qui trình xây dựng phần mềm với số phương pháp xây dựng phần mềm Nội dung môn học Tổng quan phần mềm công nghệ phần mềm Vai trò tầm quan trọng phần. .. (20-30%) 11 Chương 1: Tổng quan Phần mềm Công nghệ phần mềm Quy trình phần mềm Cơng nghệ phần mềm Web 12 12 Phần mềm Định nghĩa - Vai trị Phân loại Tiêu chí phần mềm tốt 13 13 Lập trình... software): Là phần mềm mà mã nguồn công bố rộng rãi, công khai cho phép người tiếp tục phát triển phần mềm Thường loại phần mềm miễn phí 28 Phân biệt phần mềm ứng dụng Phần mềm gì? Phần mềm tập hợp