Bài giảng Nhập môn công nghệ phần mềm - Bài tập tuần 2 - 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 02  
Vòng đời phần mềm &  
Lập trình với cơ sở dữ liệu  
Giang vien  
Mục tiêu  
• Thực hiện các bài tập (câu hỏi) về nội dung  
Vòng đời phần mềm  
• Xác định các đầu vào (input) và kết quả (output)  
cho nhóm yêu cầu nghiệp vụ của bài toán (case  
study)  
• Lập trình với cơ sở dữ liệu:  
– Xây dựng ứng dụng Java trên công cụ Netbeans  
– Thiết kế, xây dựng cơ sở dữ liệu với phpMyAdmin  
trên MySQL  
– Lập trình ứng dụng Java kết nối MySQL, thực thi các  
truy vấn SQL  
Department of Software Engineering -  
9/23/2020  
2
SOICT/HUST  
Đánh giá  
• Hoàn thành các bài tập về nội dung Vòng đời  
phần mềm, nắm được đặc điểm chính của các  
mô hình phát triển phần mềm khác nhau.  
• Các nhóm sinh viên xác định được thông tin cơ  
bản (input / output) cho nghiệp vụ mà nhóm đã  
lựa chọn để phát triển  
• Hoàn thành bài thực hành lập trình với cơ sở dữ  
liệu  
Department of Software Engineering -  
9/23/2020  
3
SOICT/HUST  
Bài 1.1  
a) Mô hình bản mẫu (prototyping model) của phát triển  
phần mềm là …  
1. Một cách tiếp cận hợp lý khi yêu cầu được định nghĩa rõ ràng  
2. Một cách tiếp cận hữu ích khi khách hàng không thể định nghĩa  
yêu cầu rõ ràng  
3. Cách tiếp cận tốt nhất cho những dự án có đội phát triển lớn  
4. Tất cả các phương án trên đều sai  
Department of Software Engineering -  
9/23/2020  
4
SOICT/HUST  
Bài 1.1  
b) Bước đầu tiên trong vòng đời phát triển phần mềm  
(Software Development Life Cycle) là?  
1. Xác định các nhu cầu và ràng buộc  
2. Viết phần mềm  
3. Vận hành hệ thống để loại bỏ các khiếm khuyết  
4. Nâng cao sản phẩm sau khi đã triển khai  
Department of Software Engineering -  
9/23/2020  
5
SOICT/HUST  
Bài 1.1  
c) Tình huống nào không phù hợp để có thể áp dụng mô  
hình thác nước? (chọn nhiều)  
1. Khó khăn trong việc bổ sung yêu cầu mới trong các pha sau của  
tiến trình  
2. Các yêu cầu được xác định rõ ràng, đầy đủ ngay từ đầu  
3. Khách hàng muốn có sản phẩm vận hành được sớm  
4. Khó thu thập đầy đủ yêu cầu ngay ở giai đoạn đầu của dự án  
Department of Software Engineering -  
9/23/2020  
6
SOICT/HUST  
Bài 1.2 Giải ô chữ  
Bài 1.2 Giải ô chữ  
Các gợi ý cho ô chữ:  
Department of Software Engineering -  
SOICT/HUST  
9/23/2020  
8
Bài 1.2 Giải ô chữ  
Hướng dẫn:  
Department of Software Engineering -  
SOICT/HUST  
9/23/2020  
9
Bài 1.2 Giải ô chữ  
Bài 1.3 So sánh các mô hình phát triển PM  
Các mô hình: Thác nước, Chế thử, Gia tăng, Xoắn ốc, Phát triển dựa trên thành phần  
Tình huống  
Đặc điểm  
Ưu điểm  
Nhược điểm  
áp dụng  
phù hợp  
chính  
Mô hình Thác  
nước  
Mô hình Chế thử  
Mô hình Gia  
tăng  
Mô hình Xoắn ốc  
Mô hình dựa  
thành phần  
Department of Software Engineering -  
SOICT/HUST  
9/23/2020  
11  
Bài 1.3 So sánh các mô hình phát triển PM  
Hướng dẫn  
Tình huống  
Đặc điểm  
Ưu điểm  
Nhược điểm  
áp dụng  
phù hợp  
chính  
Mô hình Thác  
nước  
Tuyến tính,  
không quay  
lui,…  
Lặp, xây  
dựng bản  
mẫu,…  
…
…
…
…
…
…
…
Mô hình Chế  
thử  
…
…
Mô hình Gia  
tăng  
Lặp, tăng  
dần,…  
Mô hình Xoắn  
ốc  
Lặp, quản trị  
rủi ro,…  
…
…
…
…
…
…
Mô hình dựa  
thành phần  
9/23/2020  
Tái sử  
dụng,…  
Department of Software Engineering -  
SOICT/HUST  
12  
Bài 1.4  
• Phân tích thông tin cơ bản (input / output) cho nghiệp vụ  
bài toán (case study)  
– Các nhóm thảo luận để xác định đầu vào (input) và kết quả  
(output) cho nhóm yêu cầu nghiệp vụ của bài toán (case study)  
mà nhóm đã lựa chọn.  
– Phân rã mô tả của nhóm yêu cầu nghiệp vụ thành các nghiệp vụ  
nhỏ hơn.  
– Với mỗi nghiệp vụ nhỏ này thực hiện phân tích các thông tin cụ  
thể  
Department of Software Engineering -  
9/23/2020  
13  
SOICT/HUST  
Bài 1.4  
• Có thể vẽ sơ đồ thể hiện kết quả phân tích:  
Department of Software Engineering -  
9/23/2020  
14  
SOICT/HUST  
Thực hành lập trình với cơ sở dữ liệu  
• JDBC là gì?  
– Là các API Java chuẩn tắc để truy cập CSDL quan hệ  
• Ứng dụng không cần quan tâm tới chi tiết cụ thể của CSDL  
– Nằm trong Java SE (J2SE)  
• Java SE 6 có phiên bản JDBC 4  
Department of Software Engineering -  
9/23/2020  
15  
SOICT/HUST  
Thực hành lập trình với cơ sở dữ liệu  
• JDBC API  
– Định nghĩa một tập các Java Interfaces, được cài đặt bởi  
các vendor khác nhau, thành các JDBC Drivers  
• Các ứng dụng sử dụng tập các giao diện này để thực hiện các  
thao tác với CSDL → Tính portability  
– Phần lớn API của JDBC nằm trong gói java.sql.*  
• DriverManager, Connection, ResultSet, DatabaseMetaData,  
ResultSetMetaData, PreparedStatement, CallableStatement và  
Types  
– Một số chức năng nâng cao khác nằm trong gói javax.sql  
• DataSource  
Department of Software Engineering -  
9/23/2020  
16  
SOICT/HUST  
Thực hành lập trình với cơ sở dữ liệu  
• JDBC Driver  
– Là cài đặt cụ thể của các JDBC interfaces  
• Tất cả các database server đều có JDBC driver(s)  
tương ứng  
Department of Software Engineering -  
9/23/2020  
17  
SOICT/HUST  
Thực hành lập trình với cơ sở dữ liệu  
• Database URL  
– Được sử dụng để tạo một kết nối tới database  
• Có thể chứa server, port, protocol, etc.  
– Cú pháp:  
• jdbc:subprotocol_name:driver_dependant_databasename  
– Ví dụ:  
• Oracle thin driver  
– jdbc:oracle:thin:@machinename:1521:dbname  
• Derby  
– jdbc:derby://localhost:1527/sample  
• Pointbase  
– jdbc:pointbase:server://localhost/sample  
Department of Software Engineering -  
9/23/2020  
18  
SOICT/HUST  
Thực hành lập trình với cơ sở dữ liệu  
• Các bước lập trình với JDBC  
– B1. Load JDBC driver cho từng loại CSDL  
– B2. Lấy đối tượng Connection  
– B3. Lấy đối tượng Statement  
– B4. Thực hiện câu truy vấn, câu lệnh update  
– B5. Đọc kết quả trả về  
– B6. Đọc các Meta-data (tùy chọn)  
– B7. Đóng đối tượng Statement và đối tượng  
Connection  
Department of Software Engineering -  
9/23/2020  
19  
SOICT/HUST  
B1. Load JDBC driver cho từng loại CSDL  
• Để load về driver cho CSDL và đăng ký  
nó với DriverManager, cần load class  
tương ứng  
– Class.forName(<database-driver>)  
try {  
// This loads an instance of the Pointbase DB Driver.  
// The driver has to be in the classpath.  
Class.forName("org.apache.derby.jdbc.ClientDriver");  
}catch (ClassNotFoundException cnfe){  
System.out.println("" + cnfe);  
}
20  
Tải về để xem bản đầy đủ
pdf 34 trang Thùy Anh 23600 Free
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 2 - 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_2_truong.pdf