Upload
doanhvanluong
View
18
Download
1
Embed Size (px)
DESCRIPTION
trình tự làm môt bài tập lớn
Citation preview
Project 1 – IT3910
Viện CNTT-TTĐH BK Hà Nội
Nội dung
Bài 1. Giới thiệu về môn học Bài 2. Cơ sở dữ liệu Bài 3: Làm BTL (1) Bài 4: Nghiệp vụ ứng dụng Bài 5: Làm bài tập lớn (2) Bài 6: Thiết kế giao diện Bài 7: Làm bài tập lớn (3) Bài 8: Hoàn thiện BTL (1) Bài 9: Hoàn thiện BTL (2) Bài 10: Hoàn thiện BTL (3) Bài 11: Kiểm thử Bài 12: Bảo vệ BTL
2
Bài 1: Giới thiệu về môn học
3
Bài 1: Giới thiệu về môn học
Nội dung: 1. Giới thiệu chung 2. Đánh giá môn học 3. Nhiệm vụ của sinh viên 4. Đề cương chi tiết 5. Danh sách bài tập lớn 6. Cài đặt môi trường làm việc
4
1. Giới thiệu chung
Mã môn học: IT3910 Mục tiêu:
Củng cố và mở rộng kiến thức chuyên môn Liên kết kiến thức của một nhóm học phần. Khuyến khích sinh viên tự nghiên cứu, làm
việc nhóm Vị trí môn học: năm thứ 3. Sinh viên cần có kiến thức về
Kỹ thuật lập trình Lập trình HĐT Nhập môn CSDL
5
2. Đánh giá môn học
Điểm quá trình (20%) Điểm danh (10%) Thái độ làm việc (10%)
Điểm bài tập lớn (80%) Báo cáo (20%) Sản phẩm demo (30%) Trình bày/diễn thuyết (10%)
6
3. Nhiệm vụ của sinh viên
Tham gia đầy đủ các buổi làm việc trên phòng lab Nghỉ >=3 buổi: 0 điểm
Tích cực tự nghiên cứu ở nhà, ở phòng lab Tự hoàn thành các bài tập cho trên Lab.
Làm việc nhóm, cùng hoàn thành các BTL Nên chủ động mang laptop lên phòng Lab.
7
4. Đề cương chi tiết
Buổi 1: Giới thiệu Giới thiệu về môn học Giới thiệu danh sách bài tập lớn Cài đặt môi trường làm việc Yêu cầu tìm hiểu lý thuyết cho buổi 2
Buổi 2: CSDL Sinh viên tự trao đổi kiến thức lý thuyết đã
tìm hiểu (nếu cần) Thực hành (gửi tiến độ công việc)
8
4. Đề cương chi tiết
Buổi 3: Làm bài tập lớn (1) SV thực hiện xử lý phần CSDL cho BTL Gửi tiến độ công việc
Buổi 4: Nghiệp vụ ứng dụng SV làm bài tập theo yêu cầu của NHD. Thiết kế
các lớp, phương thức, … Buổi 5: Làm bài tập lớn (2)
SV thực hiện xử lý phần nghiệp vụ ứng dụng cho BTL (Thiết kế & cài đặt lớp, phương thức)
Gửi tiến độ công việc
9
4. Đề cương chi tiết
Buổi 6: Thiết kế giao diện (Presentation) Sinh viên tự trao đổi kiến thức lý thuyết đã tìm
hiểu (nếu cần) Làm bài tập theo yêu cầu của NHD Gửi tiến độ công việc
Buổi 7: Làm bài tập lớn (3) Sinh viên thực hiện xử lý phần giao diện của BTL
Buổi 8: Hoàn thiện bài tập lớn (1) Sinh viên hoàn thiện code + báo cáo về phần
CSDL của ứng dụng
10
4. Đề cương chi tiết
Buổi 9: Hoàn thiện bài tập lớn (2) Sinh viên hoàn thiện code + báo cáo về phần
nghiệp vụ ứng dụng Buổi 10: Hoàn thiện bài tập lớn (3)
Sinh viên hoàn thiện code + báo cáo về phần giao diện ứng dụng
Đóng gói sản phẩm cho buổi 11 Buổi 11: Kiểm thử
Các nhóm cử 1 đại diện đem sản phẩm đóng gói của mình đi cài đặt ở máy của nhóm khác
Các nhóm nộp lại biên bản kiểm tra/kiểm thử
11
5. Danh sách bài tập lớn
Yêu cầu: Tự thành lập nhóm (3 SV/nhóm). Chỉ định
nhóm trưởng, lớp trưởng. Download mẫu báo cáo, mẫu slide trình
bày, mẫu kiểm tra/kiểm thử (ở buổi 11)
12
6. Cài đặt môi trường
Thống nhất chung: Ngôn ngữ lập trình sử dụng: Java IDE: Eclipse CSDL: MySql/SQL Server
13
CÂU HỎI???
14
Yêu cầu tìm hiểu chuẩn bị cho bài 2
Ngôn ngữ lập trình Java Cài đặt IDE Eclipse: http://www.eclipse.org/downloads/
CSDL Ngôn ngữ SQL Cài đặt MySQL mysql-essential
http://dev.mysql.com/downloads/installer/5.5.html Cài đặt mysql-gui-tools
http://dev.mysql.com/downloads/workbench/5.2.html
JDBC Giúp Java App giao tiếp với CSDL
http://www.roseindia.net/jdbc/jdbc.shtml
15
Bài 2: Cơ sở dữ liệu
16
Nội dung
1. Sinh viên tự trao đổi với nhau về kiến thức tìm hiểu được
2. Bài tập 3. Gợi ý
17
1. Sinh viên tự trao đổi
Kiến thức Công cụ
18
2. Bài tập-Ứng dụng quản lý thư viện
Ứng dụng quản lý thư viện: Quản lý khách hàng (Customer)
Thêm, sửa, xóa id, firstname, lastname, age
Quản lý sách (Book) Thêm, sửa, xóa id, title, author, borrowallowed
Quản lý mượn sách Tạo/xóa 1 quan hệ mượn sách
Lưu ý: Để đơn giản, mỗi sách chỉ có 1 quyển nhiều
nhất 1 người mượn
19
2. Bài tập-Ứng dụng quản lý thư viện (2)
Yêu cầu: 1. Thiết kế CSDL. (Cần bao nhiêu bảng???) 2. Viết script SQL để tạo bảng vào hệ quản
trị CSDL MySql 3. Viết Java App:
Lấy & hiển thị dữ liệu trong từng bảng Thực hiện truy vấn thêm/xóa/sửa dữ liệu
20
3. Gợi ý (Tên CSDL: booklib)
CREATE TABLE customer( id int( 11 ) NOT NULL AUTO_INCREMENT , firstname varchar( 255 ) , lastname varchar( 255 ) , age int( 11 ), CONSTRAINT customer_pk PRIMARY KEY (id)) TYPE=INNODB;
CREATE TABLE book( id int( 11 ) NOT NULL AUTO_INCREMENT , title varchar( 255 ) , author varchar( 255 ) , customer_fk int( 11 ), borrowallowed TINYINT NOT NULL, CONSTRAINT book_pk PRIMARY KEY ( id ), INDEX (customer_fk) ) TYPE=INNODB; ALTER TABLE book
ADD CONSTRAINT book_customer FOREIGN KEY ( customer_fk )REFERENCES customer( id ) ON UPDATE RESTRICT ON DELETE RESTRICT ;
21
Bài 3: Làm BTL (1)
22
Yêu cầu với SV
1. Cả nhóm BTL tự thiết kế CSDL 2. Code phần tương tác với CSDL để
dùng về sau Lưu ý: Test tương tác cho tất cả các bảng,
với tất cả các thao tác (insert, update, delete, select)
23
Bài 4: Nghiệp vụ ứng dụng
24
Nội dung
1. Công việc tại phòng lab của sinh viên 2. Gợi ý
25
1. Công việc tại phòng lab của sinh viên
1. Thiết kế các lớp, phương thức cho bài toán quản lý thư viện đã mô tả ở bài trước Khuyến khích: thiết kế bằng UML. Công cụ:
Enterprise Architecture 2. Code và kiểm thử Unit
26
2. Gợi ý
Có các lớp Beans đóng gói dữ liệu: CustomerBean, BookBean
Các lớp manager: CustomerManager, BookManager: quản lý việc
thêm, xóa, sửa vào CSDL cho từng bảng Lớp Config:
Cung cấp tham số từ file cấu hình db.properties để kết nối với DB (user, password, db name, …)
Lớp DBManager Lấy ra tham số trong file Config Tạo kết nối với CSDL (JDBC) Tạo thực thể cho 2 lớp CustomerManager,
BookManager
27
Bài 5: Làm bài tập lớn (2)
28
Yêu cầu với SV
1. Cả nhóm BTL tự thiết kế các lớp, phương thức cho ứng dụng của mình
2. Code theo đúng thiết kế 3. Làm việc nghiêm túc. Trao đổi nhỏ.
Cuối buổi demo cho NHD nếu được yêu cầu
29
Yêu cầu tìm hiểu chuẩn bị cho bài 6
Các nguyên tắc thiết kế giao diện dễ dùng (HCI – Human computer interaction - Tương
tác người máy) Download và cài đặt phần mềm thiết kế
giao diện/prototype: GUI Design Studio Pro
30
Bài 6: Thiết kế giao diện
31
Nội dung
1. Yêu cầu với sinh viên 2. Gợi ý
32
1. Yêu cầu với sinh viên
Với bài toán quản lý thư viện ở bài trước, SV: 1. Thiết kế xem cần bao nhiêu form 2. Thiết kế giao diện của từng form (sử
dụng GUI design studio pro) Chỉ rõ đã vận dụng được nguyên lý HCI nào???
3. Chỉ rõ luồng điều khiển giữa các form 4. Code các form
33
2. Gợi ý
Form 1: Form chính
Form 2: Danh sách customer
34
2. Gợi ý (2)
Form 3: Sửa Customer
Form 3b: Thêm mới Customer
35
2. Gợi ý (3)
Form 4: Quản lý sách. Hiển thị danh sách Book & các hành động có thể làm
Form 5: Sửa Book
36
2. Gợi ý (4)
Form 5b: Thêm sách
Form 6: Mượn sách
37
2. Gợi ý (5) - Luồng điều khiển
38
Index
bookList.jsp
BookEdit
BookAdd
BorrowBook
CustomerList
CustomerEdit
Edit
Add
Borrow
Delete
Add
Edit
Delete
Bài 7: Làm bài tập lớn (3)
39
Yêu cầu với SV
1. Cả nhóm BTL tự thiết kế giao diện cho ứng dụng của mình
2. Code theo đúng thiết kế 3. Làm việc nghiêm túc. Trao đổi nhỏ.
Cuối buổi demo cho NHD nếu được yêu cầu
40
Bài 8: Hoàn thiện BTL (1)
41
Yêu cầu với SV
1. Sinh viên hoàn thiện code + báo cáo về phần CSDL của ứng dụng
2. Làm việc nghiêm túc. Trao đổi nhỏ. Cuối buổi demo cho NHD nếu được yêu cầu
42
Bài 9: Hoàn thiện BTL (2)
43
Yêu cầu với SV
1. Sinh viên hoàn thiện code + báo cáo về phần nghiệp vụ của ứng dụng
2. Làm việc nghiêm túc. Trao đổi nhỏ. Cuối buổi demo cho NHD nếu được yêu cầu
44
Bài 10: Hoàn thiện BTL (3)
45
Yêu cầu với SV
1. Sinh viên hoàn thiện code + báo cáo về phần giao diện của ứng dụng
2. Đóng gói sản phẩm (nếu có thể, hoặc về nhà)
2. Làm việc nghiêm túc. Trao đổi nhỏ. Cuối buổi demo cho NHD nếu được yêu cầu
46
Bài 11: Kiểm thử
47
Yêu cầu với sinh viên
1. Kiểm tra lại sản phẩm đã đóng gói 2. Cử 1 người đại diện đem sản phẩm
đã đóng gói đi cài đặt ở nhóm khác. Còn lại là 2 tester cho nhóm khác
3. Mỗi team kiểm thử gồm: 2 tester + 1 người đại diện của nhóm khác
4. Hai tester làm biên bản test. Đồng thời nhận xét luôn báo cáo
48
Bài 12: Bảo vệ BTL
49