Bài giảng Nhập môn công nghệ phần mềm - Bài tập tuần 4 - Trường Đại học Bách khoa Hà Nội

Nhập môn Công nghệ phần mềm  
Introduction to Software Engineering  
(IT3180)  
Bài tập tuần 04  
Quản lý dự án phần mềm &  
Lập trình với giao diện đồ hoạ người dùng  
(GUI)  
Thông tin GV  
Mục tiêu  
• Thực hiện các bài tập (câu hỏi) về nội dung  
Quản lý dự án phần mềm  
• Phân rã các chức năng đã xác định thành các  
nhiệm vụ (task) để xây dựng một kế hoạch dự  
án phần mềm đơn giản  
• Lập trình với giao diện đồ hoạ người dùng:  
– Làm quen với mô hình MVC các thành phần giao  
diện người dùng  
– Thiết kế giao diện GUI trên công cụ Netbeans  
– Viết mã xử lý sự kiện  
Department of Software Engineering -  
10/6/2020  
2
SOICT/HUST  
Đánh giá  
• Hoàn thành các bài tập về nội dung Quản  
lý dự án phần mềm, cơ bản nắm được  
nguyên lý, quy trình và các kỹ năng / kỹ  
thuật trong quản lý dự án  
• Các nhóm sinh viên xây dựng được biểu  
đồ Cấu trúc phân chia công việc (Work  
Breakdown Structure - WBS)  
• Hoàn thành bài thực hành lập trình với  
giao diện đồ hoạ người dùng  
Department of Software Engineering -  
10/6/2020  
3
SOICT/HUST  
Bài 1.1  
a) Dự án kết thúc khi? (chọn nhiều)  
1. Thiếu kinh phí  
2. Hết kinh phí trước thời hạn (Kết thúc thất bại)  
3. Không khả thi  
4. Quá hạn dự kiến (có làm tiếp cũng không có ý nghĩa  
gì)  
5. Hoàn thành mục tiêu đề ra, nghiệm thu (kết thúc tốt  
đẹp) trước thời hạn  
6. Người quản lý kém  
Department of Software Engineering -  
10/6/2020  
4
SOICT/HUST  
Bài 1.1  
b) Một dự án phát triển phầm mềm là thành công  
khi?  
1. Sản phẩm đáp ứng yêu cầu chất lượng  
2. Không vượt quá kinh phí dự kiến  
3. Hoàn thành trong thời gian dự kiến  
4. Tất cả các phương án trên  
Department of Software Engineering -  
10/6/2020  
5
SOICT/HUST  
Bài 1.1  
c) … là một yếu tố không biết trước mà khi nó xảy  
ra thì có thể ảnh hưởng tiêu cực hoặc tích cực đến  
việc hoàn thành các mục tiêu của dự án.  
1. Rủi ro dự án  
2. Lập kế hoạch dự án  
3. Quản lý nhân sự  
4. Yêu cầu người dùng  
Department of Software Engineering -  
10/6/2020  
6
SOICT/HUST  
Bài 1.2  
a) Chúng ta thấy rằng các hệ thống phần mềm  
lớn, phức tạp thường được phát triển bởi rất nhiều  
cá nhân, rất ít người có được bức tranh toàn cảnh  
về toàn bộ dự án. Vậy, đối với một người làm công,  
tham gia vào một dự án mà không biết về toàn bộ  
chức năng của dự án đó thì có hợp lý không? Vì  
sao?  
Department of Software Engineering -  
10/6/2020  
7
SOICT/HUST  
Bài 1.2  
a) Chúng ta thấy rằng các hệ thống phần mềm  
lớn, phức tạp thường được phát triển bởi rất nhiều  
cá nhân, rất ít người có được bức tranh toàn cảnh  
về toàn bộ dự án. Vậy, đối với một người làm công,  
tham gia vào một dự án mà không biết về toàn bộ  
chức năng của dự án đó thì có hợp lý không? Vì  
sao?  
• Gợi ý:  
– Vai trò của các thành viên tham gia vào một dự án?  
– Với mỗi vai trò, các thành viên cần nắm được những thông tin gì của  
dự án?  
– Việc thiếu hụt hoặc có đầy đủ thông tin sẽ ảnh hướng đến công việc  
của các cá nhân trong dự án như thế nào?  
Department of Software Engineering -  
10/6/2020  
8
SOICT/HUST  
Bài 1.2  
b) Nếu không áp dụng các mô hình vòng đời phần  
mềm thì có phát triển được phần mềm không? Tại  
sao?  
Department of Software Engineering -  
10/6/2020  
9
SOICT/HUST  
Bài 1.2  
b) Nếu không áp dụng các mô hình vòng đời phần  
mềm thì có phát triển được phần mềm không? Tại  
sao?  
• Gợi ý:  
– Trong bài tập lớn các môn học trước, em hoặc nhóm em có tạo ra  
sản phẩm phần mềm? Hoạt động này có phải là phát triển phần  
mềm?  
– Nhóm em có biết đến và áp dụng một mô hình vòng đời phần mềm  
nào không? Nếu không áp dụng bất kỳ mô hình nào hãy thử liên hệ  
với 5 mức của CMM?  
– Hãy thử đối sánh các hoạt động xây dựng phần mềm cho bài tập lớn  
một môn học với các pha trong vòng đời phần mềm?  
– Áp dụng một số tiêu chí đánh giá chất lượng phần mềm cho sản  
phẩm phần mềm bài tập lớn môn học mà nhóm em đã thực hiện?  
Department of Software Engineering -  
10/6/2020  
10  
SOICT/HUST  
Bài 1.2  
c) Trong phương pháp Agile, việc luôn có đại diện  
của khác hàng trong nhóm phát triển thì có ưu  
điểm gì?  
Department of Software Engineering -  
10/6/2020  
11  
SOICT/HUST  
Bài 1.2  
c) Trong phương pháp Agile, việc luôn có đại diện  
của khác hàng trong nhóm phát triển thì có ưu  
điểm gì?  
• Gợi ý:  
– Sự thay đổi yêu cầu / yêu cầu mới?  
– Các phản hồi cho nhóm phát triển được cung cấp như thế nào?  
– …  
Department of Software Engineering -  
10/6/2020  
12  
SOICT/HUST  
Phần II: Xây dựng biểu đồ WBS  
• WBS là một phân rã phân cấp (hierarchical decomposition)  
của toàn bộ phạm vi công việc sẽ được nhóm dự án thực  
hiện để hoàn thành các mục tiêu của dự án và tạo ra các  
sản phẩm bàn giao được yêu cầu.  
• Các thành phần phân rã ở mức cuối cùng – mức lá nên  
thoả mãn các tiêu chí:  
– Tình trạng / tính hoàn tất của công việc có thể đo được hoặc có sản  
phẩm cụ thể  
– Thời gian, tài nguyên / chi phí có thể ước lượng được  
– Thời gian hoàn thành công việc trong giới hạn  
– Công việc được phân công độc lập (nghĩa là công việc không bị  
ngừng giữa chừng để chờ kết quả của công việc khác)  
Department of Software Engineering -  
10/6/2020  
13  
SOICT/HUST  
Phần II: Xây dựng biểu đồ WBS  
• Ví dụ:  
Department of Software Engineering -  
SOICT/HUST  
10/6/2020  
14  
Phần II: Xây dựng biểu đồ WBS  
a) Yêu cầu: Nhóm sinh viên thảo luận và xây  
dựng WBS đối với dự án phát triển phần mềm  
trong bài tập môn học. Có thể phân tích theo  
các chức năng nghiệp vụ hoặc theo các pha  
trong quá trình phát triển.  
Department of Software Engineering -  
10/6/2020  
15  
SOICT/HUST  
Phần II: Xây dựng biểu đồ WBS  
• Trên cơ sở biểu đồ WBS phía trên hãy xây dựng một bản  
kế hoạch đơn giản như sau:  
Công việc  
Thời gian (số giờ làm  
việc)  
Số người  
1. Công việc 1  
1.1 Công việc 1.1  
1.2 Công việc 1.2  
2. Công việc 2  
2.1 Công việc 2.1  
2.2 Công việc 2.2  
Department of Software Engineering -  
SOICT/HUST  
10/6/2020  
16  
Phần II: Xây dựng biểu đồ WBS  
b) Yêu cầu: Xây dựng một bảng quản lý đơn giản các rủi  
ro với dự án phát triển phần mềm trong bài tập môn học:  
Công việc /  
Hoạt động  
Mua hàng  
Xác định rủi ro  
Quản lý rủi ro  
Chiến lược Biện pháp  
Mối nguy  
Rủi ro  
Mức độ  
Hàng bị hư Không có Trung bình Giảm  
Xây dựng  
tồn kho  
tối thiểu  
hại khi vận  
chuyển  
nguyên  
liệu sản  
xuất  
thiểu  
Department of Software Engineering -  
SOICT/HUST  
10/6/2020  
17  
Phần III: Thực hành lập trình giao diện đồ hoạ người dùng GUI  
Background: Model View – Controller (MVC) là một khuôn  
mẫu kiến trúc phần mềm. Mẫu thiết kế này cho phép phân  
tách giữa logic ứng dụng và giao diện người dùng.  
• MVC giúp cho người phát triển phần mềm cô lập các xử lý  
nghiệp vụ và giao diện người dùng một cách rõ ràng hơn.  
Phần mềm phát triển theo mẫu MVC tạo nhiều thuận lợi cho  
việc bảo trì.  
Department of Software Engineering -  
10/6/2020  
18  
SOICT/HUST  
Phần III: Thực hành lập trình giao diện đồ hoạ người dùng GUI  
• MVC chia một ứng dụng thành ba phần tương tác được với  
nhau để tách biệt giữa cách thức mà thông tin được xử lý  
nội hàm và phần thông tin được trình bày và tiếp nhận từ  
phía người dùng:  
model thành phần dữ liệu của chương trình  
view bao gồm các thành phần của giao diện người dùng  
controller quản lý sự trao đổi giữa dữ liệu và các xử lý  
nghiệp vụ trong các thao tác liên quan đến mô hình  
Department of Software Engineering -  
10/6/2020  
19  
SOICT/HUST  
Phần III: Thực hành lập trình giao diện đồ hoạ người dùng GUI  
• Java APIs cho lập trình giao diện đồ họa:  
AWT (Abstract Windowing Toolkit)  
• Được giới thiệu trong JDK 1.0  
• Không nên dùng, dùng Swing thay thế  
Swing  
• Mở rộng AWT  
• Tích hợp vào Java từ JDK 1.2  
JavaFX  
• Thư viện Java, phát triển ứng dụng đa nền tảng (Desktop,  
mobile, TV, tablet)  
– Các thư viện khác  
Eclipse's Standard Widget Toolkit (SWT)  
Google Web Toolkit (GWT)  
3D Graphics API:DJepaarvtmaenOt ofpSoeftnwaGreLEng(iJneOeriGng -L), Java3D.  
10/6/2020  
20  
SOICT/HUST  
Tải về để xem bản đầy đủ
pdf 27 trang Thùy Anh 27/04/2022 9040
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn công nghệ phần mềm - Bài tập tuần 4 - Trường Đại học Bách khoa Hà Nội", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_bai_tap_tuan_4_truong.pdf