49
Project 1 – IT3910 Viện CNTT-TT ĐH BK Hà Nội

trình tự làm 1 project

Embed Size (px)

DESCRIPTION

trình tự làm môt bài tập lớn

Citation preview

Page 1: trình tự làm 1 project

Project 1 – IT3910

Viện CNTT-TTĐH BK Hà Nội

Page 2: trình tự làm 1 project

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

Page 3: trình tự làm 1 project

Bài 1: Giới thiệu về môn học

3

Page 4: trình tự làm 1 project

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

Page 5: trình tự làm 1 project

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

Page 6: trình tự làm 1 project

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

Page 7: trình tự làm 1 project

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

Page 8: trình tự làm 1 project

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

Page 9: trình tự làm 1 project

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

Page 10: trình tự làm 1 project

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

Page 11: trình tự làm 1 project

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

Page 12: trình tự làm 1 project

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

Page 13: trình tự làm 1 project

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

Page 14: trình tự làm 1 project

CÂU HỎI???

14

Page 15: trình tự làm 1 project

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

Page 16: trình tự làm 1 project

Bài 2: Cơ sở dữ liệu

16

Page 17: trình tự làm 1 project

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

Page 18: trình tự làm 1 project

1. Sinh viên tự trao đổi

Kiến thức Công cụ

18

Page 19: trình tự làm 1 project

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

Page 20: trình tự làm 1 project

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

Page 21: trình tự làm 1 project

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

Page 22: trình tự làm 1 project

Bài 3: Làm BTL (1)

22

Page 23: trình tự làm 1 project

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

Page 24: trình tự làm 1 project

Bài 4: Nghiệp vụ ứng dụng

24

Page 25: trình tự làm 1 project

Nội dung

1. Công việc tại phòng lab của sinh viên 2. Gợi ý

25

Page 26: trình tự làm 1 project

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

Page 27: trình tự làm 1 project

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

Page 28: trình tự làm 1 project

Bài 5: Làm bài tập lớn (2)

28

Page 29: trình tự làm 1 project

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

Page 30: trình tự làm 1 project

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

Page 31: trình tự làm 1 project

Bài 6: Thiết kế giao diện

31

Page 32: trình tự làm 1 project

Nội dung

1. Yêu cầu với sinh viên 2. Gợi ý

32

Page 33: trình tự làm 1 project

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

Page 34: trình tự làm 1 project

2. Gợi ý

Form 1: Form chính

Form 2: Danh sách customer

34

Page 35: trình tự làm 1 project

2. Gợi ý (2)

Form 3: Sửa Customer

Form 3b: Thêm mới Customer

35

Page 36: trình tự làm 1 project

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

Page 37: trình tự làm 1 project

2. Gợi ý (4)

Form 5b: Thêm sách

Form 6: Mượn sách

37

Page 38: trình tự làm 1 project

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

Page 39: trình tự làm 1 project

Bài 7: Làm bài tập lớn (3)

39

Page 40: trình tự làm 1 project

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

Page 41: trình tự làm 1 project

Bài 8: Hoàn thiện BTL (1)

41

Page 42: trình tự làm 1 project

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

Page 43: trình tự làm 1 project

Bài 9: Hoàn thiện BTL (2)

43

Page 44: trình tự làm 1 project

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

Page 45: trình tự làm 1 project

Bài 10: Hoàn thiện BTL (3)

45

Page 46: trình tự làm 1 project

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

Page 47: trình tự làm 1 project

Bài 11: Kiểm thử

47

Page 48: trình tự làm 1 project

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

Page 49: trình tự làm 1 project

Bài 12: Bảo vệ BTL

49