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)

pdf 26 trang Gia Huy 17/05/2022 2620
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)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_ky_thuat_phan_mem_ung_dung_chuong_2_cac_pha_trong.pdf

Nội dung text: 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)

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. Modul hóa Quan hệ giữa modul hóa và chi phí phần mềm 8
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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