Bài giảng Nhập môn công nghệ phần mềm - Tuần 4: Quản lý dự án phần mềm và lập trình với giao diện đồ hoạ người dùng

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ì. • 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

pdf27 trang | Chia sẻ: hachi492 | Ngày: 05/01/2022 | Lượt xem: 390 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Nhập môn công nghệ phần mềm - Tuần 4: Quản lý dự án phần mềm và lập trình với giao diện đồ hoạ người dùng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 210/6/2020 Department of Software Engineering - SOICT/HUST • 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 Đánh giá 310/6/2020 Department of Software Engineering - SOICT/HUST • 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 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 10/6/2020 Department of Software Engineering - SOICT/HUST 4 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 10/6/2020 Department of Software Engineering - SOICT/HUST 5 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 10/6/2020 Department of Software Engineering - SOICT/HUST 6 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? 10/6/2020 Department of Software Engineering - SOICT/HUST 7 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? 10/6/2020 Department of Software Engineering - SOICT/HUST 8 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? 10/6/2020 Department of Software Engineering - SOICT/HUST 9 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? 10/6/2020 Department of Software Engineering - SOICT/HUST 10 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ì? 10/6/2020 Department of Software Engineering - SOICT/HUST 11 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? – 10/6/2020 Department of Software Engineering - SOICT/HUST 12 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) 10/6/2020 Department of Software Engineering - SOICT/HUST 13 Phần II: Xây dựng biểu đồ WBS • Ví dụ: 10/6/2020 Department of Software Engineering - SOICT/HUST 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. 10/6/2020 Department of Software Engineering - SOICT/HUST 15 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: 10/6/2020 Department of Software Engineering - SOICT/HUST 16 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 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: 10/6/2020 Department of Software Engineering - SOICT/HUST 17 Công việc / Hoạt động Xác định rủi ro Quản lý rủi ro Mối nguy Rủi ro Mức độ Chiến lược Biện pháp Mua hàng Hàng bị hư hại khi vận chuyển Không có nguyên liệu sản xuất Trung bình Giảm thiểu Xây dựng tồn kho tối thiểu 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ì. 10/6/2020 Department of Software Engineering - SOICT/HUST 18 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 10/6/2020 Department of Software Engineering - SOICT/HUST 19 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: Java OpenGL (JOGL), Java3D. 10/6/2020 Department of Software Engineering - SOICT/HUST 20 Phần III: Thực hành lập trình giao diện đồ hoạ người dùng GUI • Bước 1: Khởi động Netbeans -> File -> New Project • Chọn Java trong mục Categories và Java Desktop • Nhấn Next 10/6/2020 Department of Software Engineering - SOICT/HUST 21 Phần III: Thực hành lập trình giao diện đồ hoạ người dùng GUI • Bước 2: Tạo JFrame Form - Nhấn chuột phải Project -> chọn New -> chọn JFrame Form -> nhập LoginUI tại Class Name -> chọn Finish - Netbeans cung cấp các điều khiển UI trong cửa sổ Palette, kéo thả các điều khiển này vào khung thiết kế để xây dựng giao diện cho ứng dụng 10/6/2020 Department of Software Engineering - SOICT/HUST 22 Phần III: Thực hành lập trình giao diện đồ hoạ người dùng GUI - Trong bài tập này chúng ta sẽ thiết kế một form đăng nhập đơn giản: - Chú ý đặt tên các điều khiển cho phù hợp để viết mã xử lý dữ liệu trong form. Trong giao diện này có 3 điều khiển: 2 ô textbox và một button. •txtUserName, txtPasswd và btnLogin 10/6/2020 Department of Software Engineering - SOICT/HUST 23 Phần III: Thực hành lập trình giao diện đồ hoạ người dùng GUI • Bước 3: Đăng ký sự kiện - Nhấn chuột phải vào nút Login -> chọn Events -> chọn Action -> chọn actionPerformed - Viết code để xử lý sự kiện 10/6/2020 Department of Software Engineering - SOICT/HUST 24 Phần III: Thực hành lập trình giao diện đồ hoạ người dùng GUI - Xây dựng phương thức login() kết nối cơ sở dữ liệu và kiểm tra đăng nhập 10/6/2020 Department of Software Engineering - SOICT/HUST 25 Phần III: Thực hành lập trình giao diện đồ hoạ người dùng GUI - Bổ sung thêm xử lý khi nhấn phím Enter cũng kiểm tra đăng nhập: • Chạy thử chương trình và kiểm tra kết quả. 10/6/2020 Department of Software Engineering - SOICT/HUST 26 Phần III: Thực hành lập trình giao diện đồ hoạ người dùng GUI • Nội dung bài tập tự làm • Thực hành xây dựng chương trình java với giao diện đồ hoạ: Liệt kê danh sách người dùng sau khi đăng nhập thành công: 10/6/2020 Department of Software Engineering - SOICT/HUST 27

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_tuan_4_quan_ly_du_an_p.pdf