Introduction to Software Engineering Nhập môn Công nghệ phần mềm Software Engineering Department SoICT/HUST Trang 1 / 10 Bài tập tuần 08 Thiết kế phần mềm (Thiết kế kiến trúc & thiết kế chi tiết) Mục[.]
Introduction to Software Engineering - Nhập môn Công nghệ phần mềm Bài tập tuần 08 Thiết kế phần mềm (Thiết kế kiến trúc & thiết kế chi tiết) Mục tiêu - Thực tập (câu hỏi) khái niệm nguyên tắc thiết kế Thiết kế phần mềm - Nắm phân loại thiết kế kiến trúc, khái niệm gắn kết (cohesion) ghép nối (coupling) Xây dựng kiến trúc cho phần mềm tốn casestudy mơn học: c om - o Sử dụng package tổ chức class mã nguồn phần mềm o Thiết kế sở liệu ng o Xây dựng lớp model lớp truy xuất liệu Database - co Đánh giá Hoàn thành tập khái niệm nguyên tắc thiết kế Hoàn thành import project giảng viên cung cấp để tổ chức class mã g nguồn phần mềm th - an Thiết kế phần mềm Thiết kế CSDL hệ quản trị MySQL - Hoàn thành xây dựng lớp model lớp truy xuất liệu Database du on - cu Bài 1.1 u Phần I: a) Kiểu kiến trúc ống dẫn – lọc (pipes and filters) dạng đặc biệt kiểu client-server? Đúng Sai b) Yếu tố có ảnh hưởng đến việc thiết kế kiến trúc phần mềm? Công nghệ sử dụng Yêu cầu thuộc tính chất lượng Chiến lược triển khai hệ thống Tất phương án c) Chọn yếu tố quan trọng tạo nên kiến trúc phần mềm (chọn nhiều)? Software Engineering Department - SoICT/HUST CuuDuongThanCong.com Trang / 10 https://fb.com/tailieudientucntt Introduction to Software Engineering - Nhập môn Công nghệ phần mềm Phần tử phần mềm Mối quan hệ phần tử Thuộc tính mối quan hệ Thuộc tính mơi trường hoạt động Thuộc tính phần tử d) Mẫu thiết kế áp dụng cho lập trình hướng đối tượng? Đúng Sai e) Một số lớp có giai đoạn phân tích lược bỏ giai đoạn thiết kế? c om Đúng Sai f) Trong thiết kế theo phương pháp cấu trúc, tương tác chương trình Biểu đồ cấu trúc co Biểu đồ dòng liệu vật lý (physical DFD) ng (subprogram) thể …? Biểu đồ dòng liệu logic (logical DFD) an Tất phương án sai th Bài 1.2 du on thiết kế cấu trúc? g a) Trình bày ba loại biểu đồ thường dùng phương pháp phân tích b) Cho ba ví dụ ba loại biểu đồ UML khác thường sử dụng phương pháp thiết kế hướng đối tượng? u c) Trình bày mối quan hệ giai đoạn phân tích - thiết kế - thực - kiểm cu thử - bảo trì Hãy liệt kê cơng việc cần thực giai đoạn thiết kế phần mềm Vì nói “Trên thực tế phân tích thiết kế khơng có tách biệt mà hai giai đoạn tiến hành song song bổ sung cho nhau”? Bài 1.3 a) Trình bày khái niệm mơ đun Thơng qua hình dưới, phân tích giải thích phải phân chia mơ đun cách tối ưu (số lượng mô đun nhiều q khơng tốt, yếu tố ảnh hưởng: giá PM, độ phức tạp, công sức thực hiện, )? Software Engineering Department - SoICT/HUST CuuDuongThanCong.com Trang / 10 https://fb.com/tailieudientucntt Introduction to Software Engineering - Nhập môn Công nghệ phần mềm b) Khi thiết kế phần mềm, việc che giấu thơng tin phân chia mơ đun có quan hệ nào? Vì thiết kế phần mềm cần thực việc che giấu thông tin? Hãy liệt kê lợi ích việc che giấu thơng tin .c om c) Trình bày đặc điểm tính ghép nối kết dính phân chia mơ đun Yếu tố ghép nối kết dính mơ đun có ý nghĩa thiết kế? Vì phân ng chia mô đun phải tăng độ kết dính giảm liên kết? co Phần II: Thiết kế cho toán (case study) an Thiết kế sở liệu g th • Từ mơ hình liệu ERD xây dựng thực hành trước, tạo sở liệu bảng liệu tương ứng hệ quản trị MySQL cu u du on • Mơ hình liệu ERD cho nhóm chức số 1: Software Engineering Department - SoICT/HUST CuuDuongThanCong.com Trang / 10 https://fb.com/tailieudientucntt Introduction to Software Engineering - Nhập mơn Cơng nghệ phần mềm • Xây dựng bảng liệu, xác định quan hệ bảng thiết kế chi tiết cho trường (cột) bảng • Một số lưu ý thiết kế trường liệu: Field đơn vị nhỏ liệu Field tương ứng với thuộc tính (attribute) mơ hình liệu logic Quyết định cần làm thiết kế phải chọn kiểu liệu cho field, kiểm sốt tính tồn vẹn liệu Hệ quản trị liệu quản lý giá trị bị thiếu cho field nào? Loại đặc tả Mô tả nội dung Tên trường (field name) Theo quy định cách đặt tên quy ước viết code nhóm Kiểu liệu phù hợp với giá trị cần lưu trữ trường c om Kiểu trường (data type) Kích thước / Khoảng giá trị tối đa tối thiểu Mã hoá thông tin lưu trữ / Khuôn dạng liệu ng Kích cỡ (size) Mã hóa (Coding) co Các quy tắc toàn vẹn liệu (data integrity Đặc tả hạn chế đặt lên giá trị rules) trường: NULL / NOT NULL/ KHỐ CHÍNH,… Các kiểm sốt bảo trì (maintenance controls) Chỉ giá trị phép thay đổi th du on g Toàn vẹn tham chiếu (references integrity) Sở hữu (Ownership) Mô tả công thức tính tốn giá trị với trường cần tính tốn Đặc tả giá trị trường có liên quan đến giá trị trường khác, ví dụ: KHỐ NGOẠI,… an Cơng thức (Formular) Ai có quyền liệu • Xây dựng sơ đồ quan hệ bảng liệu cu u • Đặc tả thiết kế liệu cho bảng theo mẫu sau: Tên bảng: Tên trường Kiểu liệu Kích thước Ràng buộc tồn vẹn Khuôn dạng Ghi Bài tập: Xây dựng sở liệu đặc tả thiết kế bảng liệu cho tốn với nhóm chức chọn Software Engineering Department - SoICT/HUST CuuDuongThanCong.com Trang / 10 https://fb.com/tailieudientucntt Introduction to Software Engineering - Nhập môn Công nghệ phần mềm Ví dụ: Thiết kế sở liệu cho nhóm chức số co ng c om • Sơ đồ quan hệ bảng: an • Đặc tả thiết kế liệu cho bảng: Kiểu liệu Int maHoKhau Varchar(100) du on ID Kích thước g Tên trường th Bảng HoKHau: u cu Khuôn dạng tồn vẹn Khố Ghi Số ngun dương 100 ký tự Int idChuHo Ràng buộc Văn Khoá tham chiếu từ Số nguyên dương bảng NhanKhau maKhuVuc Varchar(100) 100 ký tự Văn diaChi Varchar(100) 100 ký tự Văn ngayLap Date Ngày tháng năm ngayChuyenDi Date Ngày tháng năm lyDoChuyen Text Văn dài Văn Mã tài khoản nguoiThucHien Int thêm thông Số nguyên dương tin Các bảng lại đặc tả tương tự Software Engineering Department - SoICT/HUST CuuDuongThanCong.com Trang / 10 https://fb.com/tailieudientucntt Introduction to Software Engineering - Nhập mơn Cơng nghệ phần mềm • Import sở liệu mẫu vào hệ quản trị sở liệu Bước 1: Mở công cụ phpMyAdmin Bước 2: Tạo CSDL có tên quan_ly_nhan_khau, chọn CSDL để import bảng liệu mẫu Bước 3: Chọn chức Import công cụ ng c om Bước 4: Nhấn vào nút Choose File chọn tệp quan_ly_nhan_khau.sql (giảng viên cung cấp) cu u du on g th an co Bước 5: Hoàn thành việc import sở liệu Các nhóm sử dụng Cơ sở liệu thiết kế thêm bảng cần thiết cho nhóm chức phần mềm thiết kế Database Trong hai cách tiếp cận phải đặc tả thiết kế chi tiết cho liệu hướng dẫn phần Software Engineering Department - SoICT/HUST CuuDuongThanCong.com Trang / 10 https://fb.com/tailieudientucntt Introduction to Software Engineering - Nhập môn Công nghệ phần mềm Kiến trúc phần mềm thiết kế chi tiết lớp th an co ng c om • Import Project mẫu Bước 1: Chọn tệp QuanLyNhanKhau.zip (giảng viên cung cấp) giải nén Bước 2: Mở công cụ NetBeans IDE Bước 3: Chọn menu File Open Project mở project thư mục giải nén • Project chia thành gói (package) sau: cu u du on g o package views: chứa lớp kế thừa từ javax.swing.* định nghĩa hình giao diện người dùng cho ứng dụng o package controllers: chứa lớp điều khiển, xử lý nghiệp vụ o package models: định nghĩa cấu trúc liệu sử dụng phần mềm o package services: chứa lớp tác động đến liệu sở liệu (cung cấp phương thức thực truy vấn SELECT, INSERT, UPDATE, DELETE bảng liệu) o package Bean: chứa lớp Bean đóng gói thực thể liệu o package utility: chứa lớp tiện ích Software Engineering Department - SoICT/HUST CuuDuongThanCong.com Trang / 10 https://fb.com/tailieudientucntt ...Introduction to Software Engineering - Nhập môn Công nghệ phần mềm Phần tử phần mềm Mối quan hệ phần tử Thuộc tính mối quan hệ Thuộc tính mơi trường hoạt động Thuộc tính phần tử d) Mẫu thiết kế áp dụng... Trang / 10 https://fb.com/tailieudientucntt Introduction to Software Engineering - Nhập môn Công nghệ phần mềm Kiến trúc phần mềm thiết kế chi tiết lớp th an co ng c om • Import Project mẫu Bước... nối kết dính phân chia mơ đun Yếu tố ghép nối kết dính mơ đun có ý nghĩa thiết kế? Vì phân ng chia mô đun phải tăng độ kết dính giảm liên kết? co Phần II: Thiết kế cho to? ?n (case study) an Thiết