DANH SÁCH ĐỀ TÀI BÀI TẬP LỚN MÔN HỌC: Nhập môn Công nghệ phần mềm 1 Tìm hiểu về kỹ nghệ phần mềm phòng sạch Cleanroom software engineering - Khái niệm cleanroom SE - Sử dụng / phạm vi
Trang 1DANH SÁCH ĐỀ TÀI BÀI TẬP LỚN MÔN HỌC: Nhập môn Công nghệ phần mềm
1
Tìm hiểu về kỹ nghệ
phần mềm phòng
sạch
(Cleanroom software
engineering)
- Khái niệm cleanroom SE
- Sử dụng / phạm vi áp dụng
- Các nội dung của cleanroom SE
- Hiện trạng phát triển và nghiên cứu
- Các công cụ hỗ trợ
- Ví dụ: tìm hiểu hoặc áp dụng một ví dụ cụ thể về cleanroom SE
2
Tìm hiểu về tái kỹ
nghệ phần mềm
(Software
re-engineering)
- Khái niệm về tái kỹ nghệ phần mềm
- Phạm vi, mục tiêu của tái kỹ nghệ phần mềm
- Các khái niệm trong Software Re-engineering
- Quy trình tái kỹ nghệ phần mềm
- Các phương pháp tiếp cận, các giai đoạn và nhiệm vụ
- Hiện trạng phát triển và nghiên cứu
- Các công cụ hỗ trợ
- Ví dụ: tìm hiểu hoặc áp dụng một ví dụ cụ thể về Software Re-engineering
3
Tìm hiểu về bộ ISO
9000, ISO 9126,
ISO/IEC 15504, ISO
9001,… cho công
nghệ phần mềm
- Giới thiệu chung về ISO là gì
- Các tiêu chuẩn trong công nghệ phần mềm
- Trình bày về các bộ tiêu chuẩn: ISO 9000, ISO 9126, ISO/IEC 15504, ISO 9001
- So sánh với các tiêu chuẩn khác như CMM và CMMI
- Ví dụ: tìm hiểu hoặc áp dụng trình bày một ví dụ cụ thể
4 Tìm hiểu về UML và
RUP
- UML và phân tích thiết kế hướng đối tượng
- Quy trình phát triển phần mềm RUP
- Các công cụ hỗ trợ phân tích thiết kế hướng đối tượng và UML
- Trình bày cụ thể về một công cụ
Trang 2- Áp dụng công cụ đã tìm hiểu xây dựng các nội dung UML theo phân
tích thiết kế hướng đối tượng cho một ứng dụng cụ thể (có thể áp dụng
vào phân tích thiết kế phần mềm cho bài tập lớn một môn học khác)
5
Tìm hiểu về các
phương pháp
Z-method, B-method
rCOS method trong
phát triển phần mềm
- Trình bày về các phương pháp: Z-method, B-method rCOS method trong phát triển phần mềm: giới thiệu tổng quan, nội dung phương pháp, các khái niệm có liên quan
- Các công cụ hỗ trợ của mỗi phương pháp
- Lựa chọn một phương pháp và lấy ví dụ cụ thể áp dụng phương pháp
đó để phát triển một phần mềm
6
Tìn hiểu về real-time
process algebra
(RTPA)
- Real-time process algebra (RTPA): tập các ký pháp toán học sử dụng
để mô tả kiến trúc hệ thống, cả khía cạnh tĩnh và động
- Trình bày về các khái niệm và nội dung có liên quan đến RTPA
- Ví dụ: tìm hiểu hoặc lấy một ví dụ cụ thể cho việc áp dụng RTPA
7
Tìm hiểu về các mẫu
thiết kế trong phát
triển phần mềm
(Design patterns)
- Giới thiệu tổng quan về mẫu thiết kế
- Hệ thống các mẫu thiết kế
- Cấu trúc của một mẫu thiết kế
- Với mỗi nhóm trình bày cụ thể về một số mẫu thiết kế hay sử dụng trong nhóm đó
- Trình bày việc áp dụng các mẫu thiết kế vào một ứng dụng cụ thể (có thể lấy bài tập lớn của môn học khác để minh hoạ cho việc áp dụng các mẫu thiết kế như thế nào)
8
Các chỉ số đo chất
lượng phần mềm
(Software metrics)
- Khái niệm về chỉ số đo chất lượng phần mềm
- Chỉ số chất lượng cấu trúc: DSQI
- Chỉ số trưởng thành phần mềm: SMI
- Khoa học phần mềm của Halstead
- Số đo độ phức tạp của McCabe
- Đảm bảo chất lượng thống kê
- Tiếp cận hình thức cho SQA Tổng hợp và so sánh, lấy ví dụ minh hoạ cụ thể
Trang 39 XP (Extreme
programming)
- Khái niệm về quy trình phát triển phần mềm nhanh
- Phương pháp lập trình XP (Extreme programming)
- Đặc điểm
- Quy trình, cách thực hiện
- Trình bày một ví dụ cụ thể về áp dụng lập trình XP (Extreme programming)
10 Các công cụ trợ giúp
thiết kế tự động
- Khái niệm về thiết kế / xây dựng phần mềm tự động
- Các khái niệm có liên quan
- Tìm hiểu về các công cụ trợ giúp
- Trình bày một ví dụ cụ thể về áp dụng một công cụ tự động để xây dựng / thiết kế phần mềm
11 Kiểm thử ứng dụng web
- Khái niệm kiểm thử, phân loại các kỹ thuật kiểm thử
- Các quy trình kiểm thử chung
- Đặc điểm của ứng dụng Web
- Quy trình kiểm thử cho ứng dụng Web
- Các công cụ hỗ trợ kiểm thử cho ứng dụng Web (bao gồm cả các công
cụ kiểm thử tự động)
- Các biểu mẫu / tài liệu cho kiểm thử ứng dụng Web
- Ví dụ: tìm ứng dụng web có sẵn hoặc xây dựng một ứng dụng web cụ thể và áp dụng các công cụ tìm hiểu được theo quy trình kiểm thử cho ứng dụng đó (có thể áp dụng vào bài tập lớn một môn học khác)
12
Quản lí rủi ro trong
dự án phần mềm
(Risk management)
- Khái niệm rủi ro phần mềm
- Sự cần thiết của quản lý rủi ro
- Các hoạt động trong quản lý rủi ro phần mềm
- Các loại rủi ro trong dự án phần mềm
- Quy trình quản lý rủi ro / đánh giá rủi ro
- Biện pháp phòng ngừa và hạn chế
- Các công cụ hỗ trợ lên kế hoạch và quản lý rủi ro
- Ví dụ: tìm hiểu hoặc áp dụng một ví dụ cụ thể về quản lý rủi ro trong
dự án phát triển phần mềm (có thể áp dụng vào quá trình xây dựng phần
Trang 4mềm của bài tập lớn một môn học khác)
13
Quản lý cấu hình
trong dự án phần
mềm
(Configuration
management)
- Khái niệm quản lý cấu hình
- Các thành phần trong quản lý cấu hình
- Lập kế hoạch quản lý cấu hình trong dự án phần mềm
- Phân loại quản lý cấu hình trong dự án phần mềm
- Kiểm tra / đánh giá
- Các công cụ hỗ trợ quản lý cấu hình (CVS: Concurrent Versions System, VSS: Microsoft Visual SourceSafe, Subversion, IBM Rational ClearCase, StarTeam của Borland, các công cụ mã nguồn mở - open source,…)
- Ví dụ: tìm hiểu hoặc áp dụng một công cụ cụ thể về quản lý cấu hình trong dự án phát triển phần mềm (có thể áp dụng vào quá trình xây dựng phần mềm của bài tập lớn một môn học khác)
14
Mạng Petri (lưới Petri
– Petri nets) trong
công nghệ phần mềm
- Khái niệm mạng Petri (lưới Petri)
- Mô hình xây dựng mạng lưới từ mẫu
- Phân tích bằng đồ thị, biến thiên và mô hình kiểm tra
- Áp dụng vào các giai đoạn trong phát triển phần mềm (phân tích yêu cầu phần mềm, thiết kế phần mềm (thiết kế cơ sở dữ liệu, thiết kế giao diện giao tiếp người dùng, thiết kế thủ tục giao tiếp,…), kiểm thử phần mềm, triển khai phần mềm,…)
Tham khảo: Petri nets in sofsware engineering (von Prof Dr Robert Gold)
15 Quản lý cấu hình
phần mềm
- Khái niệm, các tiêu chuẩn và mô hình trong quản lý cấu hình phần mềm
- Tìm hiểu về một công cụ quản lý cấu hình cụ thể
16 Tái sử dụng trong
Công nghệ phần mềm
- Thổng quan về tài sử dụng: Khái niệm về tính tái sử dụng, Các tài nguyên có thể tái sử dụng, Phân loại tái sử dụng, Các đặc điểm của tính tái sử dụng,
- Quy trình tái sử dụng
Trang 5- Lợi ích và khó khăn
- Áp dụng vào tìm hiểu một ứng dụng cụ thể hoặc bài tập lớn môn học
đã thực hiện
17 Các kỹ thuật bảo trì
phần mềm
18 Tìm hiểu về độ tin
cậy phần mềm
19 Tìm hiểu về mẫu thiết
kế (design pattern)
Giải thích:
Số lượng sinh viên cho một đề tài từ 3 đến 5 sinh viên
Yêu cầu:
+ Báo cáo: Mỗi đề tài phải có 1 quyển báo cáo in nộp cho giáo viên
+ Thuyết trình: Sinh viên có thời gian từ 15 – 20 phút để thuyết trình kết quả đạt được, yêu cầu xây dựng slide trình chiếu
Đề tài do nhóm thuyết trình, giáo viên sẽ chiếu theo bản phân công công việc để hỏi và đánh giá điểm cho sinh viên
Mỗi nhóm nộp 01 báo cáo in có bảng phân công công việc
Mẫu đăng kí đề tài:
TỔNG HỢP DANH SÁCH ĐĂNG KÍ ĐỀ TÀI MÔN HỌC: XÂY DỰNG WEBSITE BẰNG PHẦN MỀM NGUỒN MỞ
1 CMM and
CMMI
Nguyễn Văn A Hoàng Thị B Trần Văn V
Trưởng nhóm:
Nguyễn Văn A
2
3
Ngày…tháng…năm
TM Lớp
LT Nguyễn Văn A