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 đủ
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:
bai_giang_nhap_mon_cong_nghe_phan_mem_bai_tap_tuan_2_truong.pdf

