Đại Học Quốc Gia TP.HCM Trường Đại Học Bách Khoa Khoa Khoa học Kỹ thuật máy tính Vietnam National University – HCMC Ho Chi Minh City University of Technology Faculty of Computer Science and Engineering Đề cương môn học CÔNGNGHỆPHẦNMỀMNÂNGCAO (Advanced Software Engineering) Số tín (2.2.5) Số tiết Tổng: 60 Môn ĐA, TT, LV Tỉ lệ đánh giá Hình thức đánh giá MSMH LT: 30 TH: BT: TN: 20% KT: 20% - Kiểm tra: trắc nghiệm, 60 phút - Thi: tự luận, 90 phút CO3065 TN: 30 BTL/TL: BTL/TL: Thi: 60% Môn tiên Môn học trước Côngnghệphầnmềm CO3001 Môn song hành CTĐT ngành Trình độ đào tạo Khoa học máy tính Đại học Cấp độ môn học Ghi khác Mô tả môn học (Course Description) Trang bị kiến thức nângcao tổ chức quản lý thực sản phẩm phần mềm, từ giai đoạn phân tích yêu cầu giai đoạn kiểm thử tiến hoá phầnmềm Tăng cường khả làm việc nhóm sinh viên Tài liệu học tập [ ] Engineering Software as a Service: An Agile Approach Using Cloud Computing, by Armando Fox and David Patterson, Strawberry Canyon Publisher, 2013 [ ] “Introduction to Software Engineering”, Ronald J Leach , CRC Press 2000 Mục tiêu môn học (Course Goals) - L.O.1: Xây dựng mô hình mô tả cấu trúc hành vi sản phẩm phầm mềm từ đặc tả yêu cầu L.O.2: Lựa chọn vận dụng chuẩn viết mã định nghĩa trước dự án phầnmềm nhỏ L.O.3: Tham gia hoạt động nhóm để kiểm tra mã đoạn mã lệnh có độ dài trung bình L.O.4: Xác định nguyên lý việc tiến hoá phầnmềm giải thích độ quan trọng vấn đề chu trình phát triển phầnmềm 1/4 Chuẩn đầu môn học (Course Outcomes) STT L.O.1 L.O.2 L.O.3 L.O Chuẩn đầu môn học Xây dựng mô hình mô tả cấu trúc hành vi sản phẩm phầm mềm từ đặc tả yêu cầu L.O.1.1 – Nắm nguyên lý kỹ nghệ yêu cầu L.O.1.2 – Đặc tả cấu trúc hành vi phầnmềm Lựa chọn vận dụng chuẩn viết mã định nghĩa trước dự án phầnmềm nhỏ L.O.2.1 – Hiểu yêu cầu cách viết mã chuẩn L.O.2.2 – Vận dụng việc viết mã chuẩn dự án phầnmềm nhỏ Tham gia hoạt động nhóm để kiểm tra mã đoạn mã lệnh có độ dài trung bình L.O.3.1 – Biết cách viết unit test cho đoạn mã L.O.3.2 – Thực thi unit test integrationg test cho đoạn mã Xác định nguyên lý việc tiến hoá phầnmềm giải thích độ quan trọng vấn đề chu trình phát triển phầnmềm L.O.4.1 - Phát biểu nguyên lý việc tiến hoá phầnmềm L.O.4.2 - Giải thích vai trò tiến hoá phầnmềm phát triển phầnmềm CDIO 4.6 4.6.1 4.6.2 4.6 4.6.4 4.6.4 4.2 4.2.3 4.2.3 4.6 4.6.3 4.63 Hướng dẫn cách học - chi tiết cách đánh giá môn học Sinh viên cần theo dõi kỹ giảng lớp phân tich case study Cần tham khảo trứơc tài liệu liên quan slide giảng để nắm bắt case study tập Hỏi thắc mắc xuất theo dõi giảng Chuẫn bị trứơc phần liệu cho tập lớn thực hành simulation Tích cực tham gia báo cáo presentation theo nhóm Trang bị kỹ sử dụng internet, để thực nộp tập lớn Hình thức đánh giá kết quả: Bài kiểm tra giửa kỳ thi cuối kỳ thi viết Sinh viên phép sử dụng tài liệu Bài kiểm tra giửa kỳ chiến tỷ lệ 20% Bài tập lớn group project 20% ( tập lớn group project chấm điểm theo nhóm) Bài thi cuối khóa tỷ lệ 60% Dự kiến danh sách Cán tham gia giảng dạy PGS TS Quản Thành Thơ TS Lê Lam Sơn Nội dung chi tiết - K KH&KTMT - K KH&KTMT Tuần Nội dung 1,2 Chương Kỹ nghệ yêu cầu 1.1 Phân tích yêu cầu 1.2 Mô tả liệu hệ thống 1.3 Các yêu cầu phi chức 1.4 Đánh giá sử dụng đặc tả yêu cầu Các yêu cầu tự học đ/v sinh viên (6 giờ) Chuẩn đầu chi tiết L.O.1.1 Hoạt động đánh giá Kiểm tra 2/4 Tuần Nội dung 3,4 Chương Thiết kế phầnmềm 1.1 Quan hệ yêu cầu thiết kế transformation of models design of contracts invariants 1.2 Khái niệm kiến trúc phầnmềm kiến trúc chuẩn 1.3 Refactor thiết kết design pattern 1.4 Sử dụng component design Các yêu cầu tự học đ/v sinh viên (6 giờ) Chương Xây dựng phầnmềm 3.1 Các best practice viết mã 3.2 Chuẩn viết mã 3.3 Các chiến thuật tích hợp 3.4 "Green field” vs existing code base Các yêu cầu tự học đ/v sinh viên (6 giờ) Chương Kiểm thử kiểm chứng phầnmềm 4.1 Các khái niệm kiểm thử kiểm chứng 4.2 Inspection, review, audit 4.3 Các kiểu kiểm thử phầnmềm 4.4 Nguyên lý kiểm thử 4.5 Dò vết theo lỗi 4.6 Giới hạn việc kiểm thử số môi trường Các yêu cầu tự học đ/v sinh viên (6 giờ) Chương Tiến hóa phầnmềm 5.1 Phát triển phầnmềm ngữ cảnh tồn code base lớn 5.2 Tiến hóa phầnmềm 5.3 Các đặc trưng phầnmềm bảo trì 5.4 Các hệ thống reengineering 5.5 Dùng lại phầnmềm Các yêu cầu tự học đ/v sinh viên (6 giờ) Chương Sự ổn định phầnmềm 6.1 Các khái niệm ổn định phầnmềm 6.2 Sự ổn định phần mềm, ổn định hệ thống hành vi lỗi 6.3 Thiết kế liệu 6.4 Các khái niệm chu kỳ lỗi Các yêu cầu tự học đ/v sinh viên (6 giờ) Chương Thiết kế hướng đối tượng 7.1 Hoạt động trình biên dịch thông dịch native code 7.2 Các dạng đặc tả thực thi cấu trúc ngôn ngữ 7.3 Các lớp quản lý vùng nhớ thực thi 5,6 7,8 9,10 11,12 13,14 Chuẩn đầu chi tiết L.O.1.2 Hoạt động đánh giá Bài tập lớn L.O.2.1 L.O.2.2 Kiểm tra L.O.3.1 L.O.3.2 Bài tập lớn L.O.4.1 L.O.4.2 Thi L.O.1.2 Thi L.O.1.1 Thi 3/4 Tuần Chuẩn đầu chi tiết Hoạt động đánh giá 7.4 Quản lý vùng nhớ Các yêu cầu tự học đ/v sinh viên (4 giờ) Tổng kết ôn tập 15 Nội dung Thông tin liên hệ Bộ môn/Khoa phụ trách Khoa Khoa học Kỹ thuật máy tính - Bộ môn Côngnghệphầnmềm Văn phòng 38647256 Ext 5847 Điện thoại 38647256 Ext 5842 Giảng viên phụ trách PGS.TS Quản Thành Thơ TS Lê Lam Sơn Email 4/4 ... hoá phần mềm giải thích độ quan trọng vấn đề chu trình phát triển phần mềm L.O.4.1 - Phát biểu nguyên lý việc tiến hoá phần mềm L.O.4.2 - Giải thích vai trò tiến hoá phần mềm phát triển phần mềm. .. Chương Tiến hóa phần mềm 5.1 Phát triển phần mềm ngữ cảnh tồn code base lớn 5.2 Tiến hóa phần mềm 5.3 Các đặc trưng phần mềm bảo trì 5.4 Các hệ thống reengineering 5.5 Dùng lại phần mềm Các yêu cầu... sản phẩm phầm mềm từ đặc tả yêu cầu L.O.1.1 – Nắm nguyên lý kỹ nghệ yêu cầu L.O.1.2 – Đặc tả cấu trúc hành vi phần mềm Lựa chọn vận dụng chuẩn viết mã định nghĩa trước dự án phần mềm nhỏ L.O.2.1