Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 156 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
156
Dung lượng
1,16 MB
Nội dung
Thiết kế phần mềm (Software Design) Khái niệm thiết kế Hệ thống cần làm gì? Phân tích (Khảo sát, xác định, đặc tả yêu cầu) ? Lập trình Tài liệu đặc tả yêu cầu PM Phần mềm Giải pháp? Làm nào? Thiết kế Tài liệu thiết kế Mô tả chi tiết tổ chức, hoạt động thành phần bên phần mềm dựa kết phân tích Là sở cho việc thực phần mềm Vai trò thiết kế Tạo mô hình cài đặt phần mềm Là phương tiện trao đổi thông tin để đảm bảo chất lượng dễ hiểu, dễ sửa đổi mã chương trình có nhiều mức chi tiết; cung cấp nhìn tổng thể Nếu thiết kế; thiết kế tồi Tăng công sức, gây khó khăn cho lập trình, bảo trì Hoạt động thiết kế Người dùng • TK kiến trúc: kiến trúc phần mềm (tập trung, phân tán, đa tầng) Thiết kế xử lý Thiết kế liệu Phần cứng Thiết kế kiến trúc Thiết kế giao diện • TK liệu: mô hình liệu (cách thức tổ chức lưu trữ nhớ chính, phụ) • TK xử lý: danh sách xử lý • TK giao diện: danh sách hình Thiết kế liệu Mục tiêu thiết kế DL? Mô tả cách thức tổ chức, lưu trữ liệu phần mềm bên máy tính (bộ nhớ chính, phụ) Người dùng D1 D2 Xử lý D3 D4 D1, D2 lưu trữ theo cách thức nhớ chính? D3, D4 lưu trữ theo cách thức nhớ phụ? Kết Thiết kế DL? Danh sách bảng (Table) Mối quan hệ bảng Thông tin chi tiết bảng với danh sách thuộc tính, khóa (Sơ đồ logic liệu) Sơ đồ logic liệu Sơ đồ logic liệu: kết trình thiết kế, gồm bảng liệu mối quan hệ chúng Các ký hiệu Sơ đồ logic liệu (tt) Các ký hiệu (tt) Tiêu chí thiết kế liệu Tính đắn: Lưu trữ đầy đủ ngữ nghĩa thông tin có nghiệp vụ liên quan Tính tiến hóa: Lưu trữ thông tin tổ chức qui định có nghiệp vụ liên quan Tính hiệu quả: Lưu trữ tiết kiệm không gian nhớ, truy xuất nhanh thông tin cần thiết Tính bảo mật: Lưu trữ thông tin người sử dụng phần mềm với quyền hạn tương ứng Một số qui ước, lưu ý Thuộc tính khóa Không trùng lắp Bất biến theo thời gian Gạch thuộc tính khóa Xác định thuộc tính khóa: không chọn từ danh sách thuộc tính có bảng thêm thuộc tính trừu tượng để làm thuộc tính khóa Thuộc tính trừu tượng: giới thực, có phần mềm Ví dụ: MaKhachHang, MaDaiLy, MaDaiLy, … Một số qui ước, lưu ý Một số qui ước, lưu ý Kiểu liệu cho thuộc tính khóa Cân nhắc chọn lựa kiểu số chuỗi Sử dụng tối ưu chiều dài mã, xem xét khả mở rộng Đặt mã có tính gợi ý: Ví dụ: Thành phố Hồ chí Minh HCM Hà Nội HAN Không nên dùng lại mã dùng cho dù mã bị xóa Sơ đồ logic liệu (tt) Ví dụ quan hệ n-n SINHVIEN SINHVIEN MONHOC DANGKY MONHOC Ví dụ quan hệ n-n Phân loại quan hệ Quan hệ bảng liệu: Phân loại quan hệ dựa số Quan hệ “1-1” Quan hệ “1-nhiều” Quan hệ “nhiều-nhiều” Phân loại thuộc tính Thuộc tính khóa Thuộc tính có giá trị rời rạc Thuộc tính đa trị Thuộc tính đối tượng phụ Thuộc tính tính toán Phân loại thuộc tính Thuộc tính khóa Thuộc tính có giá trị rời rạc: Thuộc tính phái Sinh viên có giá trị: Nam Nữ Thuộc tính phái Sinh viên có giá trị: (0: Nam, 1: Nữ) Thuộc tính điểm học phần có giá trị 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Thuộc tính loại nhân viên có giá trị: Nhân viên văn phòng, nhân viên bán hàng, nhân viên sản xuất Phân loại thuộc tính Thuộc tính đa trị: Thuộc tính điện thoại nhân viên thuộc tính đa trị: 081234567 09081234567,… Thuộc tính email sinh viên thuộc tính đa trị: xyz@yahoo.com, xyz@gmail.com, Phân loại thuộc tính Thuộc tính đối tượng phụ: Tìm sinh viên có địa Bình Định, Nha Trang, Tp.HCM ??? Phân loại thuộc tính Thuộc tính đối tượng phụ: Thuộc tính địa sinh viên, nhân viên đối tượng phụ, bao gồm thông tin: Số nhà Đường Phường/xã Quận/huyện Tỉnh thành Thuộc tính ngày sinh sinh viên, nhân viên đối tượng phụ gồm thông tin: ngày, tháng, năm Phân loại thuộc tính Thuộc tính tính toán: Thuộc tính thành tiền hóa đơn thuộc tính tính toán, tính tổng số lượng * đơn giá mặt hàng Thuộc tính điểm trung bình học sinh, sinh viên thuộc tính tính toán Mã hóa thuộc tính khóa Mã hóa liên tiếp: 1, 2, Mã hóa phân đoạn: phân thành nhiều đoạn, đoạn mang ý nghĩa riêng Ví dụ: HCMDL001, HCMCN001, … (Mã khách hàng cá nhân, đại lý vùng khác nhau) Mã hóa diễn nghĩa: gán tên ngắn gọn riêng cho đối tượng cụ thể [...]... TenLoaiDaiLy • TenQuan • SoLuongDaiLyToiDa + Thiết kế dữ liệu DAILY SoLuongDaiLyToiDa MaDaiLy TenDaiLy LoaiDaiLy DienThoai DiaChi Quan NgayTiepNhan TenLoaiDaiLy TenQuan DAILY SoLuongDaiLyToiDa MaDaiLy TenDaiLy TenLoaiDaiLy DienThoai DiaChi Quan NgayTiepNhan TenLoaiDaiLy TenQuan DAILY SoLuongDaiLyToiDa MaDaiLy TenDaiLy LoaiDaiLy DienThoai DiaChi Quan NgayTiepNhan TenLoaiDaiLy TenQuan DAILY SoLuongDaiLyToiDa... mẫu liên quan: BM1 + Sơ đồ luồng dữ liệu: Đã có + Các thuộc tính mới: • TenDaiLy • LoaiDaiLy • DienThoai • DiaChi • Quan • NgayTiepNhan + Thiết kế dữ liệu TenDaiLy LoaiDaiLy DienThoai DiaChi Quan NgayTiepNhan TenDaiLy LoaiDaiLy DienThoai DiaChi Quan NgayTiepNhan Tên bảng là gì? DAILY TenDaiLy LoaiDaiLy DienThoai DiaChi Quan NgayTiepNhan DAILY TenDaiLy LoaiDaiLy DienThoai DiaChi Quan NgayTiepNhan Thuộc... LoaiDaiLy DienThoai DiaChi Quan NgayTiepNhan TenLoaiDaiLy TenQuan DAILY SoLuongDaiLyToiDa MaDaiLy TenDaiLy LoaiDaiLy DienThoai DiaChi Quan NgayTiepNhan LOAIDAILY TenLoaiDaiLy TenQuan DAILY SoLuongDaiLyToiDa MaDaiLy TenDaiLy LoaiDaiLy DienThoai DiaChi Quan NgayTiepNhan Email LOAIDAILY MaLoaiDaiLy TenLoaiDaiLy TenQuan ... lý bán hàng với nghiệp vụ lập phiếu thu tiền c a khách hàng Hãy lập sơ đồ logic dữ liệu Ví dụ 1: PHIEU_THU KHACH_HANG MA_PT MA_KH MA_LDT Ngay_Thu SoTien_Thu MA_KH Ho_Ten CMND Dia_Chi THAM_SO MA_Tham_So Ten_Tham_So Gia_Tri LYDO_THU MA_LDT Ten_LDT Table THAM_SO dùng để lưu những qui định Phương pháp Thiết kế DL? D a vào sơ đồ luồng dữ liệu c a yêu cầu đang xét Bước 1: Xét yêu cầu phần mềm thứ 1 (thường... tính kh a là thuộc tính nào? DAILY MaDaiLy TenDaiLy MaLoaiDaiLy DienThoai DiaChi MaQuan NgayTiepNhan Email Bước 01: Xét yêu cầu phần mềm “Tiếp Nhận Đại Lý” − Thiết kế dữ liệu với tính đúng đắn + … + Các thuộc tính trừu tượng: MaDaiLy + Sơ đồ logic: Bước 01: Xét yêu cầu phần mềm “Tiếp Nhận Đại Lý” − − … Thiết kế dữ liệu với tính tiến h a + Qui định liên quan: QĐ1 + Sơ đồ luồng dữ liệu về việc thay đổi... này phải được tự động cập nhật khi có những thay đổi liên quan Hiệu quả về mặt lưu trữ: Tránh dư th a, trùng lắp dữ liệu Chất lượng thiết kế? Đánh giá d a trên các dạng chuẩn? Phương pháp Thiết kế DL? Duyệt các yêu cầu phần mềm (thường là yêu cầu lưu trữ) Nhận diện đối tượng DL Nhận diện thuộc tính liên quan Nhận diện các mối quan hệ gi a các đối tượng dữ liệu Ví dụ 1 Xét phần mềm... với tính tiến h a Qui định liên quan: QĐx Sơ đồ luồng dữ liệu về việc thay đổi qui định: Sđy Các thuộc tính mới: Các tham số mới: Thiết kế dữ liệu: bố trí các thuộc tính mới vào các bảng đã có, trong trường hợp không bố trí được thì phải tạo ra bảng mới để ch a các thuộc tính mới này Các thuộc tính trừu tượng: Sơ đồ Logic Ví dụ 2: Thiết kế DL cho đề tài quản lý đại lý Danh sách yêu cầu... BM1 2 Lập phiếu xuất hàng BM2 3 Tra cứu đại lý BM3 4 Lập phiếu thu tiền BM4 5 Lập báo cáo tháng BM5 6 Thay đổi qui định STT Tên yêu cầu Qui định Ghi chú QĐ1 QĐ2 QĐ4 QĐ6 Ví dụ 2: Thiết kế DL cho đề tài quản lý đại lý Biểu mẫu 1 và qui định Ví dụ 2: Thiết kế DL cho đề tài quản lý đại lý Biểu mẫu 2 và qui định Ví dụ 2: Thiết kế DL cho đề tài quản lý đại lý Biểu mẫu 3 và qui định Ví dụ 2: Thiết kế... Thiết kế DL với tính tiến h a Bước 2: Xét yêu cầu phần mềm thứ 2 … Bước n: Xét yêu cầu phần mềm thứ n Phương pháp Thiết kế DL? Thiết kế DL với tính đúng đắn Biểu mẫu liên quan: BMx Sơ đồ luồng dữ liệu: SĐx Các thuộc tính mới: Thiết kế dữ liệu: bố trí các thuộc tính mới vào các bảng đã có, trong trường hợp không bố trí được thì phải tạo ra bảng mới để ch a các thuộc tính mới này Các