Công nghệ phần mềm
BM HTTT – Khoa CNTT – ĐHCN CÔNG NGHỆ PHẦN MỀM Bộ môn Hệ thống Thông Tin Khoa Công nghệ Thông Tin Trường Đại học Công nghiệp BM HTTT – Khoa CNTT – ĐHCN 2 Tài liệu tham khảo • R. Pressman, "Software Engineering A Practitioner's Approach", 2001 • Ian Sommerville’s , “Software Engineering 7th Ed.”, 2005 • Slide bài giảng môn Công nghệ Phần mềm của Khoa Công nghệ Thông tin BM HTTT – Khoa CNTT – ĐHCN 3 Các vấn đề liên quan • Điều kiện tiên quyết: – Có kiến thức về ngôn ngữ lập trình và đã từng lập trình các ứng dụng cơ bản – Có khả năng áp dụng những cấu trúc dữ liệu và giải thuật. – Có hiểu biết về kiến trúc máy tính, mạng máy tính. BM HTTT – Khoa CNTT – ĐHCN 03/12/13 Các vấn đề liên quan (tt1) • Mục tiêu môn học: giúp sinh viên – Hiểu và giải thích được quy trình phát triển phần mềm – Phân tích được các yêu cầu của người sử dụng – Lựa chọn một mô hình quy trình phát triển phần mềm thích hợp cho một sản phẩm cụ thể. – Giải thích tầm quan trọng của các hoạt động đánh giá chất lượng phần mềm. – Biết được phải tạo ra những kết quả gì trong từng giai đoạn của quy trình phát triển phần mềm. – Áp dụng các mô hình thiết kế hệ thống thích hợp cho từng sản phẩm cụ thể. – Sử dụng các CASE Tool để hỗ trợ quá trình phát triển phần mềm. BM HTTT – Khoa CNTT – ĐHCN 03/12/13 5 Nội dung chương trình • Chương 1 Tổng quan về công nghệ phần mềm – 1.1 Giới thiệu về một số khái niệm cơ bản – 1.2 Thế nào là một phần mềm tốt? • 1.2.1 Thách thức đối với công nghệ phần mềm? – 1.3 Vấn đề về tính chuyên nghiệp và đúng quy tắc – 1.4 Bài tập BM HTTT – Khoa CNTT – ĐHCN 03/12/13 6 Nội dung chương trình (tt1) • Chương 2 Quy trình xây dựng phần mềm – 2.1 Một số mô hình phát triển phần mềm – 2.2 Các hoạt động trong quy trình phần mềm – 2.3 Bài tập BM HTTT – Khoa CNTT – ĐHCN 03/12/13 7 Nội dung chương trình (tt2) • Chương 3 Yêu cầu hệ thống – 3.1 Yêu cầu hệ thống – 3.2 Yêu cầu của người sử dụng – 3.3 Tài liệu đặc tả yêu cầu – 3.4 Bài tập BM HTTT – Khoa CNTT – ĐHCN 03/12/13 8 Nội dung chương trình (tt3) • Chương 4 Quy trình xác định yêu cầu – 4.1 Phân tích khả thi – 4.2 Phát hiện và phân tích yêu cầu – 4.3 Đánh giá yêu cầu – 4.4 Lập kế hoạch quản lý yêu cầu – 4.5 Bài tập BM HTTT – Khoa CNTT – ĐHCN 03/12/13 9 Nội dung chương trình (tt5) • Chương 5 Các mô hình hệ thống – 5.1 Mô hình ngữ cảnh – 5.2 Mô hình ứng xử – 5.3 Mô hình dữ liệu – 5.4 Mô hình đối tượng – 5.5 Phương pháp hướng cấu trúc – 5.6 Bài tập BM HTTT – Khoa CNTT – ĐHCN 03/12/13 10 Nội dung chương trình (tt6) • Chương 6 Thiết kế kiến trúc – 6.1 Thiết kế kiến trúc là gì? – 6.2 Tổ chức hệ thống – 6.3 Phân rã hệ thống – 6.4 Các chiến lược điều khiển – 6.5 Các kiến trúc tham chiếu – 6.6 Bài tập [...]... một kỹ sư phần mềm 03/12/13 19 BM HTTT – Khoa CNTT – ĐHCN Một số khái niệm cơ bản • Khi tìm hiểu về công nghệ phần mềm, chúng ta thường đặt ra một số câu hỏi sau: – Phần mềm là gì? – Công nghệ phần mềm là gì? – Sự khác biệt giữa công nghệ phần mềm và khoa học máy tính? – Sự khác biệt giữa công nghệ phần mềm và công nghệ hệ thống? – Quy trình phần mềm là gì? – Mô hình quy trình phát triển phần mềm là gì?... trình phát triển phần mềm là gì? – Chi phí của công nghệ phần mềm bao gồm những gì? – Các phương pháp công nghệ phần mềm là gì? – CASE (Computer-Aided Software Engineering) là gì? – Thế nào là một phần mềm tốt? – Những thách thức chính đối với công nghệ phần mềm? 03/12/13 20 BM HTTT – Khoa CNTT – ĐHCN Một số khái niệm cơ bản (tt1) • Phần mềm là gì? – Phần mềm là các chương trình máy tính và những tài... thống phần mềm chuyên dụng, hỗ trợ nghiệp vụ cho một doanh nghiệp riêng lẻ … 03/12/13 21 BM HTTT – Khoa CNTT – ĐHCN Một số khái niệm cơ bản (tt2) • Công nghệ phần mềm là gì? – Công nghệ phần mềm là những quy tắc công nghệ (engineering discipline) có liên quan đến tất cả các khía cạnh của quá trình sản xuất phần mềm – Các kỹ sư phần mềm nên tuân theo một phương pháp luận có hệ thống và có tổ chức trong công. .. thống phần mềm Và càng ngày càng có nhiều hệ thống được kiểm soát bởi phần mềm Do đó, việc xây dựng và bảo trì hệ thống phần mềm một cách hiệu quả là yêu cầu cần thiết đối với nền kinh tế toàn cầu và của từng quốc gia • Khái niệm về công nghệ phần mềm được đưa ra lần đầu tiên vào năm 1968 tại hội nghị thảo luận về khủng hoảng phần mềm Công nghệ phần mềm đề cập tới các lý thuyết, phương thức và công cụ... (tt11) • Các chi phí trong công nghệ phần mềm (tt4) • Mô hình công nghệ phần mềm hướng thành phần: – Chi phí phụ thuộc nhiều vào việc tích hợp và kiểm thử hệ thống 03/12/13 • Ngoài chi phí xây dựng, chúng ta còn phải để một phần lớn chi phí phục vụ cho việc thay đổi phần mềm sau khi nó đã được đưa vào sử dụng Chi phí cải tiến phần mềm thay đổi phụ thuộc vào từng loại phần mềm 35 BM HTTT – Khoa CNTT... phần BM HTTT – Khoa CNTT – ĐHCN Một số khái niệm cơ bản (tt7) • Các chi phí trong công nghệ phần mềm – Để xây dựng một hệ thống phần mềm, chúng ta thường phải đầu tư một khoản ngân sách khá lớn Theo thống kê cho thấy, chi phí cho việc xây dựng phần mềm chiếm một phần đáng kể của GNP ở tất cả các nước phát triển – Chi phí phần mềm thường chiếm phần lớn chi phí của cả hệ thống máy tính Chi phí phần mềm. .. một phần mềm hữu ích – Khi sự phát triển của phần mềm trở lên mạnh mẽ thì các lý thuyết của khoa học máy tính vẫn không đủ để đóng vai trò là nền tảng hoàn thiện cho công nghệ phần mềm 03/12/13 23 BM HTTT – Khoa CNTT – ĐHCN Một số khái niệm cơ bản (tt4) • Sự khác biệt giữa công nghệ phần mềm và công nghệ hệ thống? – Công nghệ hệ thống (hay còn gọi là kỹ nghệ hệ thống) liên quan tới tất cả các khía cạnh... HTTT – Khoa CNTT – ĐHCN Một số khái niệm cơ bản (tt12) • Các phương pháp công nghệ phần mềm là gì? – Phương pháp công nghệ phần mềm bao gồm các mô hình hệ thống, các ký pháp, quy tắc, hướng dẫn thiết kế và quy trình để xây dựng phần mềm một cách dễ dàng, đảm bảo chất lượng cao và chi phí hiệu quả – Một số phương pháp công nghệ phần mềm đã được đề xuất như: Phân tích hướng cấu trúc tập trung vào việc xác... trong công nghiệp phần mềm – 11.1 Các quy trình hoạt động – 11.2 Các vai trò trong hoạt động sản xuất phần mềm – 11.2.1 Khái niệm vai trò – 11.2.2 Các vai trò – 11.3 Hệ thống chuẩn trong công nghiệp phần mềm 03/12/13 15 BM HTTT – Khoa CNTT – ĐHCN Chương 1 Tổng quan về công nghệ phần mềm BM HTTT – Khoa CNTT – ĐHCN Giới thiệu • Ngày nay, tất cả các nước phát triển đều phụ thuộc chủ yếu vào các hệ thống phần. .. (tt5) • Quy trình phần mềm là gì? – Quy trình phần mềm là một tập hợp các hành động mà mục đích của nó là xây dựng và phát triển phần mềm Những hành động thường được thực hiện trong các quy trình phần mềm bao gồm • Đặc tả: đặc tả những gì hệ thống phải làm và các ràng buộc trong quá trình xây dựng hệ thống • Phát triển: xây dựng hệ thống phần mềm • Kiểm thử: kiểm tra xem liệu phần mềm đã thoả mãn yêu . – Phần mềm là gì? – Công nghệ phần mềm là gì? – Sự khác biệt giữa công nghệ phần mềm và khoa học máy tính? – Sự khác biệt giữa công nghệ phần mềm và công. • Khái niệm về công nghệ phần mềm được đưa ra lần đầu tiên vào năm 1968 tại hội nghị thảo luận về khủng hoảng phần mềm. Công nghệ phần mềm đề cập tới