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)

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

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) trang 1

Trang 1

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) trang 2

Trang 2

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) trang 3

Trang 3

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) trang 4

Trang 4

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) trang 5

Trang 5

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) trang 6

Trang 6

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) trang 7

Trang 7

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) trang 8

Trang 8

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) trang 9

Trang 9

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) trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 26 trang xuanhieu 6160
Bạn đang xem 10 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)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung 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)

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)
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 độ 
 làm phần mềm 3
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 Modul bao gồm một dãy các công việc mà liên 
 khớp 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 
 Thấp
 quan đến nhau một cách logic
 Cố kết thời Modul bao gồm một dãy các công việc mà phải 
 gian 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 Chuyển bt
 cách BT dạng sang dạng
 nhập trung tố hậu tố
 Nhập từ tệp
 BT dạng
 hậu tố
 In ra màn
 hình Chọn
 Giá trị BT Tính giá trị
 cách
 biểu thức
 xuất
 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 Chuyển bt
 cách BT dạng sang dạng
 nhập trung tố hậu tố
 Nhập từ tệp
 BT dạng
 hậu tố
 In ra màn
 hình Chọn
 Giá trị BT Tính giá trị
 cách
 biểu thức
 xuất
 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 từ
nhập BT bàn phím
 Chọn Chuyển bt
 cách BT dạng sang dạng
 nhập trung tố hậu tố
 Nhập từ tệp
 BT dạng
 hậu tố
 In ra màn
 hình Chọn
 Giá trị BT Tính giá trị
 cách
 biểu thức
 xuất
 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
 Chọn cách Chuyển bt
 BT dạng
 nhập sang 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 Giá trị BT Tính giá trị
 xuất 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 
 Thấp
 dữ liệu khác
 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
 Cao Tương liên Là khi một modul sử dụng dữ liệu hay điều 
 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
Bộ môn TBoMon Tên BM, Văn phòng
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ụ
Lớp học TLopHoc Tên lớp, Khóa học, Số Lượng SV
Phòng học TPhong 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 KLGD TKB, Giáo viên
giảng dạy
 20
Ví dụ về TK CSDL
 1 N
 1 N N 1
 Khoa TKB Lớp học
 1 N 1
 N
 1
 Phòng học KLGD
 N
 N 1
 1 N
 Bộ môn Giáo viên
 1
 1 Trưởng Bộ 
 môn
 21
Các bảng được suy ra
 Bảng Khoa
 Thuộc tính Tên khoa, Văn phòng, Điện thoại, Fax
 Ràng buộc & Quy tắc nghiệp vụ Phụ thuộc hàm
 Mỗi khoa có 1 văn phòng Tên khoa Văn 
 Và thường mỗi VP thuộc về một khoa, phòng;
 vì việc chuyển địa điểm làm việc của 
 khoa rất hiếm khi xảy ra
 Mỗi văn phòng có một số fax và có thể Văn phòng Fax
 có nhiều số điện thoại
 Chuẩn hóa: Ghi chú: có thể cân 
 Khóa: K = (Tên khoa, Điện thoại); nhắc việc ghép 2 bảng 
 Vi phạm chuẩn 2 và 3 Khoa và Văn phòng do 
 Tách thành 3 quan hệ: mối qhệ giữa 2 bảng 
 Khoa (Tên khoa, Văn phòng); này.
 VănPhòng (Văn phòng, Fax);
 ĐiệnThoạiKhoa (Tên khoa, Điện thoại);
 22
Các bảng được suy ra
 Bảng Giáo viên
 Thuộc tính TênGV, Ngày sinh, Địa chỉ, Chức danh, 
 Ngày chức danh, Chức vụ, Ngày chức vụ
 Ràng buộc & Quy tắc Phụ thuộc hàm
 nghiệp vụ
 Mỗi GV có 1 ngày sinh TênGV Ngày sinh;
 Mỗi GV có thể có nhiều địa TênGV, Ngày chức danh Chức danh;
 chỉ, nhưng ở mỗi thời điểm TênGV, Ngày chức vụ Chức vụ
 thì chỉ có 1 chức danh và 
 nhiều nhất là 1 chức vụ (có 
 thể không có).
 Chuẩn hóa:
 Khóa duy nhất: K = (TênGV, Địa chỉ, Ngày chức danh, Ngày chức vụ)
 Vi phạm chuẩn 2; Tách thành 4 quan hệ:
 GiáoViên (TênGV, Ngày sinh);
 GV-Địa chỉ (TênGV, Địa chỉ, Ngày chức danh, Ngày chức vụ);
 GV-Chức danh (TênGV, Ngày chức danh, chức danh);
 GV-Chức vụ (TênGV, Ngày chức vụ, chức vụ);
 23
Ghép 2 bảng Bộ môn và 
Trưởng BM
 Bảng Bộ môn
 Thuộc tính TênBM, Văn phòng, Trưởng BM, Ngày 
 nhậm chức, Ngày thôi chức
 Ràng buộc & Quy tắc Phụ thuộc hàm
 nghiệp vụ
 Mỗi Bộ môn có 1 Văn TênBM Văn phòng;
 phòng
 Mỗi trưởng BM có 1 ngày Trưởng BM Ngày nhậm chức, ngày 
 nhậm chức và 1 ngày thôi thôi chức
 chức Tên BM, Ngày nhậm chức Trưởng BM
 Ở mỗi thời điểm thì 1 BM 
 chỉ có 1 trưởng BM
 Chuẩn hóa:
 Khóa: K1 = (TênBM, Trưởng BM); K2 = (Tên BM, Ngày nhậm chức)
 Vi phạm chuẩn 2; Tách thành các quan hệ:
 Bộ môn (Tên BM, Văn phòng);
 TrưởngBM (TrưởngBM, Ngày nhậm chức, Ngày thôi chức);
 BM-TrưởngBM (Tên BM, Ngày nhậm chức, Trưởng môn);
 24
Các bảng được suy ra
 Bảng TKB
 Thuộc tính Năm học, Học kỳ, Tên Khoa , Tên 
 lớp, Tên phòng, Môn học, Tiết học 
 Ràng buộc & Quy tắc Phụ thuộc hàm
 nghiệp vụ
 Mỗi lớp học thuộc một Tên lớp Tên Khoa;
 khoa
 Mỗi môn học của một lớp Năm học, Học kỳ, Tên lớp, Môn học, Tiết 
 trong một năm học và 1 học Tên phòng;
 học kỳ thì học ở 1 tiết học 
 phải học ở 1 phòng 
 Chuẩn hóa:
 Khóa duy nhất: K = (Năm học, Học kỳ, Tên lớp, Tên phòng, Tiết học)
 Vi phạm chuẩn 2; Tách thành các quan hệ:
 Lớp học (Tên lớp, Tên khoa);
 TKB (Năm học, Học kỳ, Tên lớp, Tên phòng, Tiết học, Tên phòng);
 25
 Bổ sung các thuộc tính khóa và 
 xác định miền giá trị cho các 
 thuộc tính
 Bảng Khoa Bảng Văn phòng
Thuộc tính Kiểu dữ liệu Ràng buộc Thuộc Kiểu dữ liệu Ràng buộc
 tính
ID int PK ID int PK
TênKhoa Varchar(200) Not NULL Tên VP Varchar(200) Not NULL
ID_VP Varchar(200) FK to Fax Varchar(20) Dãy các chữ 
 VănPhòng(ID) số liên tiếp
 Bảng ĐiệnThoạiKhoa
 Thuộc tính Kiểu dữ liệu Ràng buộc
 ID int PK
 ID_Khoa Int FK to Khoa(ID)
 ĐiệnThoại Varchar(20) Dãy các chữ số 
 liên tiếp
 26

File đính kèm:

  • pdfbai_giang_ky_thuat_phan_mem_ung_dung_chuong_2_cac_pha_trong.pdf