Bài giảng Kỹ thuật phần mềm ứng dụng - Chương 2: Các pha trong phát triển phần mềm - Phần 5: Pha thiết kế (Thiết kế cơ sở dữ liệu)

Kꢀ thuꢁt phꢂn mꢃm  
ꢄng dꢅng  
Chương 2  
Cꢀc pha trong phꢀt triꢁn phꢂn mꢃm  
(Phꢀn 5)  
Pha thiꢄt kế (TK cơ sở dữ liꢅu)  
9/5/2017  
Nội dung chính  
. Mục đích của thiết kế  
. Các nguyên tắc thiết kế  
. Các phꢀn cꢀn thiết kế  
– Thiết kế CSDL CSDL ít nhất ở dạng chuẩn 3  
– Thiết kế kiến trúc Lược đồ cấu trúc chương trình  
– Thiết kế giao diện các menu, form nhập, mẫu báo cáo,  
thông báo  
2
Mục đích của giai đoạn Thiết kế  
. Là quá trình chuyển các y/c của phꢀn mềm sang dạng  
biểu diễn của phꢀn mềm mà nó có thể được đánh giá  
về chất lượng trước khi cài đặt.  
. Thiếu thiết kế, việc cài đặt có thể gặp các vấn đề:  
– Thiꢄu kꢄ hoạch cài đặt: không biết rõ thứ tự cài đặt các  
thành phꢀn, do đó gây ra sự lộn xộn và khó khăn trong việc  
ước lượng và phân công công việc  
– Không rõ ràng: chưa hiểu rõ các y/c sẽ được cài đặt thế nào  
– Khó nâng cấp và bảo trì: khi có lỗi, rất khó xác định nó  
nằm ở phꢀn nào. Khi muốn nâng cấp cũng không biết cꢀn  
nâng cấp ở đâu, ảnh hưởng của nó đến hệ thống hiện tại thế  
nào  
Ảnh hưởng xấu đꢄn chất lượng và tiꢄn độ  
3
làm phꢂn mꢃm  
Các nguyên tắc thiết kế  
. Sự trừu tượng (abstraction)  
. Làm mịn (tinh chỉnh từng bước - refinement)  
. Modul hóa (modularity)  
4
Các nguyên tắc thiết kế  
. Sự trừu tượng:  
– Là sự tập trung vào một vấn đề ở một mức khái quát nào đó,  
và bỏ qua các chi tiết không liên quan  
– Quá trình thiết kế hệ thống đòi hỏi nhiều mức trừu tượng  
khác nhau  
– Với phꢀn mềm thì có 3 loại trừu tượng  
Trừu tượng thủ tục  
Trừu tượng dữ liệu  
Trừu tượng điều khiển  
5
Các nguyên tắc thiết kế  
. Làm mịn (tinh chỉnh từng bước - refinement)  
– Là quá trình làm chi tiết hóa từng thành phꢀn của một biểu  
diễn nào đó, để dꢀn đưa nó sang biểu diễn ở dạng chi tiết  
hơn (giảm mức độ trừu tượng)  
– Việc làm mịn giúp cho việc chuyển đổi này diễn ra một cách  
không đột ngột và dễ dàng quản lý.  
6
Các nguyên tắc thiết kế  
. Modul hóa (modularity):  
– Là quá trình phân chia hệ thống/phꢀn mềm thành các thành  
phꢀn riêng rẽ có tên và tương đối độc lập  
– Là một kỹ thuật cơ bản nhất để quản lý một cách hiệu quả  
độ phức tạp của hệ thống  
– Modul hóa tốt có thể giúp giảm thiểu thời gian và chi phí  
phát triển hệ thống  
7
Modul hóa  
Quan hệ giữa modul hóa và chi phí phần mềm  
8
Module hóa hiệu quả  
. Che dấu thông tin  
– Là cách thiết kế làm sao để thông tin trong một  
modul (cả chức năng và dữ liệu) là không nhìn  
thấy và không truy nhập được từ các thành phꢀn  
bên ngoài mà không có nhu cꢀu về thông tin đó  
. Độc lập chức năng (functional independence)  
– Là tính chất phản ánh mức độ đơn nhất về chức  
năng và đơn giản về giao diện của một modul. Nó  
được đo lường theo 2 tiêu chuẩn:  
Mức độ cố kết (cohesion)  
Mức độ tương liên (coupling)  
9
Mức độ cố kết  
. Khái niệm:  
Mức độ cố kết của một modul là một đơn vị đo về sức  
mạnh chức năng của modul đó. Mức độ này càng cao  
thì tính độc lập chức năng cũng càng cao.  
10  
Các loại cố kết và mức độ của  
chúng  
Mức độ Loại cố kết  
Ý nghĩa  
Cố kết trùng  
khớp  
Modul bao gồm một dãy các công việc mà liên  
quan rất ít đến nhau  
Cố kết logic  
Modul bao gồm một dãy các công việc mà có liên  
quan đến nhau một cách logic  
Thấp  
Cố kết thời  
gian  
Modul bao gồm một dãy các công việc mà phải  
hoàn thành trong cùng một khoảng tg.  
Cố kết thủ tục Các công việc trong modul đó liên quan đến nhau  
và phải được thực hiện theo một trật tự nhất định  
Vừa  
Cố kết truyền  
Khi các công việc trong một modul cùng sử dụng  
thông  
một phần nào đó của một cấu trúc dữ liệu  
Cao  
Cố kết thủ tục Khi modul đó chỉ thực hiện một công việc  
rõ ràng  
11  
Ví dụ về mức độ cố kết  
. Bài toán: viết một chương trình tính giá trị một biểu  
thức số học mà có thể được nhập từ bàn phím hay từ  
một tệp văn bản. Kết quả đưa ra cũng có thể đưa ra  
màn hình hoặc ghi vào tệp văn bản.  
. Sơ đồ cho giải thuật của bài toán trên được cho ở hình  
sau:  
12  
Ví dụ về mức độ cố kết  
Nhập từ  
bàn phím  
Chọn  
cách  
nhập  
Chuyển bt  
sang dạng  
hậu tố  
BT dạng  
trung tố  
Nhập từ tệp  
BT dạng  
hậu tố  
In ra màn  
hình  
Chọn  
cách  
xuất  
Giá trị BT  
Tính giá trị  
biểu thức  
Ghi ra tệp  
13  
Mức độ cố kết thấp: trùng khớp  
Nhập từ  
bàn phím  
Chọn  
cách  
nhập  
Chuyển bt  
sang dạng  
BT dạng  
trung tố  
hậu tố  
Nhập từ tệp  
BT dạng  
hậu tố  
In ra màn  
hình  
Chọn  
cách  
xuất  
Giá trị BT  
Tính giá trị  
biểu thức  
Ghi ra tệp  
Một modul làm toàn bộ các công việc  
14  
Mức độ cố kết vừa: thủ tục  
modul  
nhập BT  
Nhập từ  
bàn phím  
Chọn  
Chuyển bt  
sang dạng  
BT dạng  
trung tố  
cách  
nhập  
hậu tố  
Nhập từ tệp  
BT dạng  
hậu tố  
In ra màn  
hình  
Chọn  
cách  
xuất  
Giá trị BT  
Tính giá trị  
biểu thức  
Ghi ra tệp  
modul tính  
giá trị BT  
modul xuất BT  
15  
Mức độ cố kết cao: thủ tục rõ  
ràng  
Nhập từ  
bàn phím  
Chuyển bt  
sang dạng  
Chọn cách  
BT dạng  
trung tố  
nhập  
hậu tố  
Nhập từ tệp  
BT dạng  
hậu tố  
In ra màn  
hình  
Giá trị BT  
Chọn cách  
xuất  
Tính giá trị  
biểu thức  
Ghi ra tệp  
16  
Mức độ tương liên  
. Khái niệm:  
Mức độ tương liên của một modul đơn vị đo lường  
mức độ kết nối của modul đó với các modul khác.  
Điều này phụ thuộc vào độ phức tạp của giao diện,  
điểm truy nhập hay tham chiếu của modul.  
17  
Mức độ tương liên  
Mức độ Loại  
Ý nghĩa  
Tương liên Là khi một modul truyền tham số đến modul  
dữ liệu khác  
Thấp  
Tương liên Là khi một modul truyền một thông tin điều  
điều khiển khiển (cờ điều khiển) đến modul khác  
Vừa  
Tương liên Là khi một modul phụ thuộc vào một thiết bị  
ngoài  
bên ngoài (như các t/b nhập/xuất)  
Tương liên Là khi một số modul tham chiếu/chia sẻ đến  
chung dữ cùng một đối tượng dữ liệu toàn cục  
liệu  
Tương liên Là khi một modul sử dụng dữ liệu hay điều  
Cao  
nội dung  
khiển thông tin trong phạm vi của một modul  
khác;  
Nó cũng xuất hiện khi có tồn tại lệnh rẽ nhánh  
trong modul  
18  
Thiết kế Cơ sở dữ liệu  
1. Chuyển từ mô hình thực thể liên kết sang mô hình  
quan hệ.  
2. Xác định các phụ thuộc hàm từ các ràng buộc dữ  
liệu và các quy tắc nghiệp vụ.  
3. Chuẩn hóa các lược đồ quan hệ, đưa chúng về các  
lược đồ ở dạng chuẩn 3.  
4. Bổ sung thêm các thuộc tính khóa nếu cꢀn, nhất là  
khi quan hệ có nhiều thuộc tính khóa.  
5. Xác định chi tiết các miền giá trị cho các thuộc tính,  
từ đó xác định kiểu dữ liệu cho chúng. Lập bảng mô  
tả chi tiết các kiểu dữ liệu của từng thuộc tính cho  
từng quan hệ (bảng)  
19  
Ví dụ về TK CSDL  
Tên thực Tên sử  
Các thuộc tính  
thể  
dụng  
Khoa  
TKhoa  
Tên khoa, Văn phòng, Điện thoại, Fax  
Tên BM, Văn phòng  
Bộ môn  
TBoMon  
Giáo viên  
TGiaoVien  
TênGV, Ngày sinh, Địa chỉ, Chức danh,  
Chức vụ, Ngày chức danh, Ngày chức vụ  
Tên lớp, Khóa học, Số Lượng SV  
Lớp học  
TLopHoc  
TPhong  
Phòng học  
Tên phòng, SL chỗ ngồi  
Trưởng BM  
TTrBM  
Gồm các thuộc tính của Giáo viên, Ngày  
nhậm chức, Ngày thôi chức  
Thời khóa biểu TKB  
Năm học, Học kỳ, Khoa, Lớp học, Phòng  
học, Môn học, Tiết học  
Khối lượng  
giảng dạy  
KLGD  
TKB, Giáo viên  
20  
Tải về để xem bản đầy đủ
pdf 26 trang yennguyen 14920 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ thuật phần mềm ứng dụng - Chương 2: Các pha trong phát triển phần mềm - Phần 5: Pha thiết kế (Thiết kế cơ sở dữ liệu)", để 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_ky_thuat_phan_mem_ung_dung_chuong_2_cac_pha_trong.pdf