Bài giảng Nhập môn Công nghệ phần mềm: Chương 1 do ThS. Phạm Thi Vương biên soạn nhằm mục đích phục vụ cho việc giảng dạy. Nội dung bài giảng gồm: Một số khái niệm cơ bản, các phương pháp xây dựng phần mềm, công cụ và môi trường phát triển phần mềm.
Tổng quan Công nghệ phần mềm GVLT: ThS Phạm Thi Vương PTV Tài liệu tham khảo • Trần Minh Triết, giảng Nhập môn CNPM, ĐH KHTN, ĐH QG TPHCM • Nguyễn Tấn Trần Minh Khang, giảng Nhập môn CNPM, ĐH KHTN, ĐH QG TPHCM • Nguyễn Văn Vỵ, giảng Kỹ nghệ phần mềm, ĐH Công nghệ, ĐH QG HN • Nguyễn Việt Hà, giảng Kỹ nghệ phần mềm, ĐH Cơng nghệ, ĐH QG HN • Vũ Diệu Hương, giảng Kỹ nghệ phần mềm, ĐH Công nghệ, ĐH QG HN 17-Sep-09 SE - PTV Nội dung Một số khái niệm Công nghệ phần mềm Quy trình cơng nghệ phần mềm Add Your Text in here Add Your Text in here 17-Sep-09 SE - PTV Khái niệm phần mềm • Ví dụ: xét số phần mềm sau – Phần mềm quản lý học sinh cấp – Phần mềm quản lý thư viện – Phần mềm quản lý nhà sách – Phần mềm quản lý khách sạn – Phần mềm quản lý phòng mạch tư – Phần mềm quản lý sổ tiết kiệm – Phần mềm quản lý bán vé chuyến bay – Phần mềm xếp thời khóa biểu – ………………… 17-Sep-09 SE - PTV Khái niệm phần mềm Phần mềm gì? • Được xem xét hai góc độ – Góc nhìn người dùng – Góc nhìn chuyên viên tin học 17-Sep-09 SE - PTV Khái niệm phần mềm • Phần mềm góc nhìn người sử dụng – Chương trình thực thi máy tính thiết bị chuyên dụng khác – Nhằm hỗ trợ cho nhà chuyên môn lĩnh vực chuyên ngành thực tốt thao tác nghiệp vụ 17-Sep-09 SE - PTV Khái niệm phần mềm • Mơi trường triển khai phần mềm: – Máy tính: Desktop, Laptop, Tablet PC… – Thiết bị chuyên dụng: • Thiết bị di động: PDA, Pocket PC, ĐTDĐ • Các thiết bị chuyên dụng khác: set-top box, router, • Hỗ trợ làm tốt thao tác nghiệp vụ: – Tin học hóa nghiệp vụ làm thủ công – Cải tiến chức nghiệp vụ thực máy tính – Đề ra, xây dựng triển khai chức nghiệp vụ 17-Sep-09 SE - PTV Khái niệm phần mềm • Phần mềm góc nhìn chuyên viên Tin học – Đây hệ thống bao gồm thành phần bản: • Thành phần giao tiếp • Thành phần xử lý • Thành phần lưu trữ Cần xây dựng để thực theo yêu cầu người sử dụng 17-Sep-09 SE - PTV Khái niệm phần mềm • Thành phần giao tiếp (Giao diện): – Cho phép nhập/xuất thơng tin với hình thức trình bày/giao tiếp tương ứng – Nhằm đưa thông tin từ giới thực bên phần mềm (người sử dụng, thiết bị, phần mềm khác…) vào bên trong, ngược lại – Cho phép tiếp nhận yêu cầu việc sử dụng phần mềm từ người sử dụng, từ thiết bị thu thập liệu, từ phần mềm khác – Cho phép trình bày kết việc thực yêu cầu cho người dùng điều khiển hoạt động thiết bị điều khiển 17-Sep-09 SE - PTV Khái niệm phần mềm • Thành phần xử lý: – Kiểm tra tính hợp lệ thông tin nguồn cung cấp từ người dùng theo quy định ràng buộc giới thực – Tiến hành xử lý cho kết mong đợi theo quy định tính tốn có sẵn giới thực – Hoặc tiến hành xử lý theo thuật giải tự đề xuất 17-Sep-09 SE - PTV 10 Công nghệ phần mềm • Các đối tượng nghiên cứu Cơng nghệ phần mềm • Cơng cụ Mơi trường phát triển phần mềm – Hệ thống phần mềm trợ giúp lĩnh vực xây dựng phần mềm – Hỗ trợ chuyên viên tin học bước xây dựng phần mềm theo phương pháp với quy trình chọn trước 17-Sep-09 SE - PTV 32 Qui trình Cơng nghệ phần mềm u cầu phần mềm Phân tích Phân tích Thiết kế Lập trình Thiết kế Thiết kế Lập trình Lập trình Lập trình Kiểm tra Phần mềm 33 Qui trình Cơng nghệ phần mềm • Phân tích: Mơ tả mức phát thảo thành phần phần mềm (đã có u cầu) • Thiết kế: Mơ tả mức chi tiết thành phần phần mềm (đã phân tích) • Lập trình: Thực thành phần phần mềm (đã thiết kế) • Kiểm tra: kiểm chứng thành phần phần mềm (đã thực hiện) 17-Sep-09 SE - PTV 34 Quy trình thác nước Các hoạt động Khảo sát giới Hiện trạng thực Các yêu cầu Xác định u cầu Mơ hình Thế giới thực Phân tích Mơ hình phần mềm Thiết kế Cài đặt Phần mềm Kiểm chứng Phần mềm “chất lượng” Triển khai Waterfall 35 Quy trình thác nước cải tiến Khảo sát Hiện trạng Xác định Yêu cầu Phân tích Thiết kế Cài đặt Kiểm chứng Triển khai 36 Quy trình Prototype Xác định yêu cầu “Thiết kế nhanh” Xây dựng Prototype Đánh giá xác định rõ yêu cầu Phát triển phần mềm 37 Quy trình xoắn ốc Lập kế hoạch Tiếp xúc Khách hàng Đánh giá khách hàng Phân tích rủi ro Phân tích, thiết kế Xây dựng triển khai 38 Quy trình phát triển lặp Chúng ta chia nhỏ phần mềm làm nhiều giai đoạn thay làm lần từ đầu đến cuối 39 Vịng đời phần mềm Lập trình viên đưa đoạn mã mà tin lỗi Kiểm tra chất lượng sản phẩm, phát 20 lỗi Lập trình viên sửa 10 lỗi gửi e-mail tới phòng Thử nghiệm sản phẩm 10 "vấn đề" lại mà định cho lỗi 17-Sep-09 SE - PTV 40 Vòng đời phần mềm(tt) Phòng thử nghiệm sản phẩm e-mail lại số 10 đoạn sửa lỗi khơng hoạt động đính kèm danh sách 15 lỗi Phịng tiếp thị gởi thơng báo họ hoàn tất khâu quảng bá cho sản phẩm Giám đốc gọi điện xuống hỏi tiến độ cơng việc củng cố tinh thần "chiến sỹ" Phịng phát hành cử nhân viên đến nhận đĩa nguồn phần mềm Phịng tiếp thị thơng báo truyền hình báo chí việc hỗn lại ngày phát hành sản phẩm vài tuần 17-Sep-09 SE - PTV 41 Vòng đời phần mềm(tt) Ơn trời! Cuối sản phẩm phát hành Trong vòng tuần, người sử dụng phát 137 lỗi Lập trình viên phụ trách phát triển sản phẩm xin nghỉ phép 17-Sep-09 SE - PTV 42 Vòng đời phần mềm(tt) Một nhóm "cứu nạn" gồm nhiều lập trình viên kỳ cựu thành lập khẩn cấp Sau tuần làm việc cật lực, họ "thanh toán" hết 137 lỗi, lại thông báo 456 lỗi 10 Mọi người tổng kết 783 lỗi chương trình 17-Sep-09 SE - PTV 43 Vịng đời phần mềm(tt) 11.Giám đốc ngồi bàn giấy xem xét báo cáo định thuê lập trình viên toanh để xây dựng lại phần mềm từ đống đổ nát ban đầu 17-Sep-09 SE - PTV 44 Vòng đời phần mềm(tt) • Lập trình viên đưa đoạn mã mà tin khơng có lỗi • Kiểm tra chất lượng sản phẩm, phát 20 lỗi • ……………… 17-Sep-09 SE - PTV 45 Thank You! PTV ... giảng Kỹ nghệ phần mềm, ĐH Cơng nghệ, ĐH QG HN • Vũ Diệu Hương, giảng Kỹ nghệ phần mềm, ĐH Công nghệ, ĐH QG HN 17 -Sep-09 SE - PTV Nội dung Một số khái niệm Công nghệ phần mềm Quy trình cơng nghệ. .. tương tự 17 -Sep-09 SE - PTV 16 Mục tiêu ngành Công nghệ Phần mềm • Xây dựng phần mềm có chất lượng • Dễ dàng xây dựng phần mềm từ phần mềm có sẵn lớp 17 -Sep-09 SE - PTV 17 Chất lượng phần mềm... đổi phần mềm Giai đoạn (từ 19 60 đến 19 70) • Hệ thống đa chương trình đa nguời dùng • Bắt đầu “khủng hoảng” phần mềm Giai đoạn (từ 19 70 đến 19 80) 17 -Sep-09 SE - PTV 26 Phát triển Công nghệ phần