Chủ đề 4: Thiết kế Phần mềmThiết kế Cài đặt Kiểm tra Triển khai Bảo trì Kết quả: Nội dung: •Thiết kế dữ liệu •Thiết kế xử lý •Thiết
Post on 06-Jul-2020
6 Views
Preview:
Transcript
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 1 HIENLTH
Chủ đề 4: Thiết kế Phần mềm
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 2 HIENLTH
Khảo sát
Phân tích
Thiết kế
Cài đặt
Kiểm tra
Triển khai
Bảo trì
Kết quả:
Nội dung: • Thiết kế dữ liệu
• Thiết kế xử lý
• Thiết kế giao diện
Hồ sơ thiết kế:
• Mô hình PDM
• Kiến trúc Module
• Hệ thống chức năng
• Hệ thống giao diện
Giai đoạn thiết kế
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 3 HIENLTH
Thiết kế Phần mềm?
Thiết kế giao diện
Thiết kế xử lý Thiết kế dữ liệu (lưu trữ)
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 4 HIENLTH
Module:
Thiết kế Dữ liệu
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 5 HIENLTH
Nội dung
• Thiết kế dữ liệu mức vật lý (PDM)– Qui tắc chuyển đổi mô hình từ mức quan
niệm (CDM/ERD) sang mức vật lý (PDM)
– Bổ sung yêu cầu phi chức năng
• Sử dụng Power Designer để vẽ mô hình PDM, phát sinh và tạo CSDL trong SQLServer 2008/2012
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 6 HIENLTH
Giới thiệu
• Mục tiêu: mô tả cách thức lưu trữ dữ liệu của phần mềm bên trong máy tính.
• Kết quả:
– Danh sách các bảng dữ liệu (table)
– Mối quan hệ giữa các bảng
– Thông tin chi tiết của từng bảng với danh sách các thuộc tính: khóa chính, khóa ngoại, kiểu dữ liệu, mô tả của từng thuộc tính, ràng buộc (nếu có) giữa cácthuộc tính.
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 7 HIENLTH
Physical Data Model - PDM
• Mô hình dữ liệu ở mức vật lý (Physical Data Model) biểu diễn cấu trúc dữ liệu sẽ được cài đặt trong các hệ quản trị cơ sở dữ liệu như: SQL server, Oracle, MS Access, DB2, MySQL,…
• Mô hình vật lý có thể được ánh xạ từ mô hình quan niệm dữ liệu (Conceptual Data Model)
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 8 HIENLTH
Ví dụ mô hình vật lý
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 9 HIENLTH
Các thành phần trong PDM
• Table
• View
• Mối quan hệ giữa các Table
Cầu Thủ
Mã Số
Họ Tên
Ngày Sinh
Địa Chỉ
Vị Trí
Số Áo
int
nvarchar(50)
datetime
nvarchar(150)
nvarchar(30)
tinyint
<pk>
vKetQua
TEN_CLB
SO_LUONG_CT
CAU_LAC_BO
CAU_THU
FK_CAULACBO_SANBONG
Sân Bóng
Mã Sân
Tên Sân
Địa Chỉ
int
nvarchar(50)
nvarchar(150)
<pk>
Câu Lạc Bộ
Mã CLB
Mã Tỉnh
Mã Sân
Tên CLB
varchar(7)
varchar(4)
int
nvarchar(50)
<pk>
<fk>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 10 HIENLTH
• Table:
SINHVIEN (MASV, TENSV, NAM, MAKHOA)
MASV TENSV NAM MAKHOA
K29.102.001 Trần Văn Thành 3 VLY
K30.103.022 Lý Chánh 3 HOA
K31.102.101 Hán Quốc Việt 2 VLY
K31.103.017 Phan Sào Nam 2 TOAN
K32.101.001 Nguyễn Công Khế 1 TOAN
Các thành phần trong PDM
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 11 HIENLTH
Các thành phần trong PDM
• Mỗi Table có 3 thành phần:– Tên Table (Name)– Mã (Code)– Thuộc tính (Attribute/Field)
• Khóa chính (tăng tự động?)• Khóa ngoại• Bắt buộc (NOT NULL)
Cầu Thủ
Mã Số
Họ Tên
Ngày Sinh
Địa Chỉ
Vị Trí
Số Áo
int
nvarchar(50)
datetime
nvarchar(150)
nvarchar(30)
tinyint
<pk>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 12 HIENLTH
Các thành phần trong PDM
• Thuộc tính của Table:
– Kiểu dữ liệu
• Lưu ý: char, varchar, nchar, nvarchar, datetime
– Kích thước/Độ dài
• Lưu ý: phần thập phânCầu Thủ
Mã Số
Họ Tên
Ngày Sinh
Địa Chỉ
Vị Trí
Số Áo
Cân nặng
int
nvarchar(50)
datetime
nvarchar(150)
nvarchar(30)
tinyint
double precision
<pk>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 13 HIENLTH
Xây dựng mô hình PDM
• Convert từ mô hình CDM
– Từ tập thực thể
– Từ mối kết hợp
• Bổ sung từ yêu cầu phi chức năng
– Mở rộng
– Tốc độ
– Tương thích
– Bảo mật
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 14 HIENLTH
Convert CDM sang PDM
• Ánh xạ các thành phần từ CDM sang PDM (Physical Data Model)
– Tập thực thể
– Quan hệ 1-1
– Quan hệ 1-n
– Quan hệ m-n
– Quan hệ kế thừa
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 15 HIENLTH
Convert CDM sang PDM
• Ánh xạ tập thực thể
– Mỗi thực thể trong CDM sẽ được chuyển thành 1 table trong PDM
– Tất cả các thuộc tính của thực thể sẽ được chuyển thành các thuộc tính (hoặc Fields) của table tương ứng
– Thuộc tính Primary Identifier của thực thể sẽ được chuyển thành primary key (khóa chính)của table tương ứng
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 16 HIENLTH
Convert CDM sang PDM
• Ánh xạ thực thể:Cầu Thủ
Mã Số
Họ Tên
Ngày Sinh
Địa Chỉ
Vị Trí
Số Áo
Cân nặng
int
varchar(50)
datetime
varchar(150)
varchar(30)
tinyint
double precision
<pk>
Huấn Luyện Viên
Mã HLV
Họ Tên
Ngày Sinh
Địa Chỉ
Điện Thoại
int
varchar(50)
datetime
varchar(150)
varchar(15)
<pk>
Cầu Thủ
Mã Số
Họ Tên
Ngày Sinh
Địa Chỉ
Vị Trí
Số Áo
Cân nặng
<pi> <M>
<M>
Huấn Luyện Viên
Mã HLV
Họ Tên
Ngày Sinh
Địa Chỉ
Điện Thoại
<pi> <M>
<M>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 17 HIENLTH
Quy tắc chuyển
• Quan hệ 1-1
A B1 1
A B
MA
…
…
MA
…
A B
…
MB
…
MB
…
A B
MA
MB
…
MB
MA
…
A B
MA
…
MA
…AB
A B
MB
…
MB
…
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 18 HIENLTH
Convert CDM sang PDM
• Ánh xạ quan hệ 1 - 1
1,1
1,1
Nhân Viên
Mã NV
Họ
Tên
Ngày Sinh
Địa Chỉ
Điện thoại
<M>
<M>
Lý lịch nhân viên
Họ tên Cha
Họ tên Mẹ
Quê Quán
Nghề Nghiệp
Hệ Số Lương
Trình độ Học vấn
Trình độ Ngoại ngữ
Dân tộc
Tôn Giáo
Nhân Viên
Mã NV
Họ
Tên
Ngày Sinh
Địa Chỉ
Điện thoại
varchar(5)
varchar(40)
varchar(20)
datetime
varchar(50)
varchar(15)
<pk>
Lý lịch nhân viên
Mã NV
Họ tên Cha
Họ tên Mẹ
Quê Quán
Nghề Nghiệp
Hệ Số Lương
Trình độ Học vấn
Trình độ Ngoại ngữ
Dân tộc
Tôn Giáo
varchar(5)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
<fk>
Nhân Viên
Mã NV
Họ
Tên
Ngày Sinh
Địa Chỉ
Điện thoại
varchar(5)
varchar(40)
varchar(20)
datetime
varchar(50)
varchar(15)
<pk>
Lý lịch nhân viên
Mã NV
Họ tên Cha
Họ tên Mẹ
Quê Quán
Nghề Nghiệp
Hệ Số Lương
Trình độ Học vấn
Trình độ Ngoại ngữ
Dân tộc
Tôn Giáo
varchar(5)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
<fk>
Nhân Viên
Mã NV
Họ
Tên
Ngày Sinh
Địa Chỉ
Điện thoại
varchar(5)
varchar(40)
varchar(20)
datetime
varchar(50)
varchar(15)
<pk>
Lý lịch nhân viên
Mã NV
Họ tên Cha
Họ tên Mẹ
Quê Quán
Nghề Nghiệp
Hệ Số Lương
Trình độ Học vấn
Trình độ Ngoại ngữ
Dân tộc
Tôn Giáo
varchar(5)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
varchar(50)
<pk,fk>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 19 HIENLTH
Quy tắc chuyển
• Quan hệ 1-n
A B1 *
A B
MA
…
…
MA
…
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 20 HIENLTH
Convert CDM sang PDM
• Ánh xạ quan hệ 1 - n
0,1
0,n
Hoa Don
So HD
Ngay HD
Thanh Tien
VAT
Tong Cong
<M>
<M>
Khach Hang
Ma KH
Ten KH
Địa Chỉ
Dien Thoai
<M>
<M>
Ma KH = Ma KH
0..*
Hoa Don
So HD
Ma KH
Ngay HD
Thanh Tien
VAT
Tong Cong
varchar(10)
varchar(7)
datetime
money
tinyint
decimal
<pk>
<fk>
Khach Hang
Ma KH
Ten KH
Địa Chỉ
Dien Thoai
varchar(7)
varchar(50)
varchar(50)
varchar(50)
<pk>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 21 HIENLTH
Convert CDM sang PDM
• Ánh xạ quan hệ 1 - n1,1
0,n
1,1
0,n
1,1
0,n
KHOA
MaKhoa
TenKhoa
NamThanhLap
<pi> <M>
<M>
GiangVien
MaGV
Ho
Ten
NgaySinh
HocHam
HocVi
<pi> <M>
BoMon
MaBM
TenBM
SoLuongGV
<pi> <M>
<M>
MaKhoa = MaKhoa
MaKhoa = MaKhoaMaBM = MaBM
KHOA
MaKhoa
TenKhoa
NamThanhLap
varchar(6)
varchar(50)
datetime
<pk>
GiangVien
MaGV
MaBM
MaKhoa
Ho
Ten
NgaySinh
HocHam
HocVi
varchar(15)
varchar(6)
varchar(6)
varchar(50)
varchar(20)
datetime
varchar(50)
varchar(50)
<pk>
<fk2>
<fk1>
BoMon
MaBM
MaKhoa
TenBM
SoLuongGV
varchar(6)
varchar(6)
varchar(50)
tinyint
<pk>
<fk>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 22 HIENLTH
Quy tắc chuyển
• Quan hệ m-n
A B* C *
A C
MA
…
MB
…
B
MA
MB
…
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 23 HIENLTH
Convert CDM sang PDM
• Ánh xạ quan hệ m – n
1,n
1,n
Chi tiet hoa don
SoLuong
DonGia
ThanhTien...
Number
Decimal (18,2)
Money (18,2)
Hoa Don
SoHD
NgayHD
ThanhTien
VAT
TongCong
<pi> <M>
<M>
Hang Hoa
MaHang
TenHang
QuiCach
DonViTinh
GiaMua
GiaBan
<pi> <M>
0,n
0,n
Hoa Don
SoHD
NgayHD
ThanhTien
VAT
TongCong
<pi> <M>
<M>
Hang Hoa
MaHang
TenHang
QuiCach
DonViTinh
GiaMua
GiaBan
<pi> <M>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 24 HIENLTH
Convert CDM sang PDM
• Ánh xạ quan hệ m – n 0,n
0,n
SinhVien
MaSV
TenSV
NgaySinh
NoiSinh
<pi> <M>
<M>
<M>
MonHoc
MaMH
TenMH
SoTC
<pi> <M>
<M>
<M>
0,n
0,n
SinhVien
MaSV
TenSV
NgaySinh
NoiSinh
<pi> <M>
<M>
<M>
MonHoc
MaMH
TenMH
SoTC
<pi> <M>
<M>
<M>
KetQua
HocKy
NienKhoa
Lan
Diem...
<M>
<M>
<M>
<M>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 25 HIENLTH
Convert CDM sang PDM
• Ánh xạ quan hệ m – n
MaSV = MaSV MaMH = MaMH
SinhVien
MaSV
TenSV
NgaySinh
NoiSinh
varchar(13)
varchar(50)
datetime
varchar(50)
<pk>
MonHoc
MaMH
TenMH
SoTC
varchar(6)
varchar(50)
tinyint
<pk>
KetQua
MaSV
MaMH
HocKy
NienKhoa
Lan
Diem
varchar(13)
varchar(6)
tinyint
tinyint
tinyint
tinyint
<pk,fk1>
<pk,fk2>
0,n
0,n
SinhVien
MaSV
TenSV
NgaySinh
NoiSinh
<pi> <M>
<M>
<M>
MonHoc
MaMH
TenMH
SoTC
<pi> <M>
<M>
<M>
KetQua
HocKy
NienKhoa
Lan
Diem...
<M>
<M>
<M>
<M>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 26 HIENLTH
Convert CDM sang PDM
• Ánh xạ quan hệ m – n
0,n 0,n
SACH
MaSach
TenSach
<pi> Variable characters (10)
Variable characters (50)
<M>
<M>
DocGia
MaDG
TenDG
<pi> Variable characters (10)
Variable characters (50)
<M>
<M>
MuonTra
NgayMuon
NgayTra
TienPhat
...
Date & Time
Date & Time
Decimal
<M>
MuonTra
MaSach
MaDG
NgayMuon
NgayTra
TienPhat
varchar(10)
varchar(10)
datetime
datetime
decimal
<pk,fk1>
<pk,fk2>SACH
MaSach
TenSach
varchar(10)
varchar(50)
<pk>
DocGia
MaDG
TenDG
varchar(10)
varchar(50)
<pk>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 32 HIENLTH
VD minh họa quy tắc chuyển đổi
• Xét hệ thống “Quản lý sinh viên” với tập thực thể– Sinh Viên
– Khoa
– Ngành
– Quận huyện
– Tỉnh thành
– Môn học
Và mối quan hệ được mô tả trong mô hình E-R sau
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 33 HIENLTH
VD minh họa quy tắc chuyển đổi
0,n
0,n
0,n
0,n
SinhVien
MaSV
HoTenSV
NgaySinh
NoiSInh
<pi> <M>
MonHoc
MaMon
TenMon
<pi> <M>
Nganh
MaNganh
TenNganh
<pi> <M>
Khoa
MaKhoa
TenKhoa
<pi> <M>
Mon hoc nganh
SoTinChi
Dang Ky Hoc Mon
Lan
HocKy
NienKhoa
Diem...
Quan Huyen
MaQuan
TenQuan
<pi> <M>
<M>
Tinh Thanh
MaTinh
TenTinh
<pi> <M>
<M>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 34 HIENLTH
VD minh họa quy tắc chuyển đổi
SinhVien
MaSV
MaQuan
MaKhoa
MaNganh
HoTenSV
NgaySinh
NoiSInh
<pk>
<fk3>
<fk1>
<fk2>
MonHoc
MaMon
TenMon
<pk>
Nganh
MaNganh
MaKhoa
TenNganh
<pk>
<fk>
Khoa
MaKhoa
TenKhoa
<pk>
Mon hoc nganh
MaMon
MaNganh
SoTinChi
<pk,fk1>
<pk,fk2>
Dang Ky Hoc Mon
MaSV
MaMon
Lan
HocKy
NienKhoa
Diem
<pk,fk1>
<pk,fk2>
Quan Huyen
MaQuan
MaTinh
TenQuan
<pk>
<fk>
Tinh Thanh
MaTinh
TenTinh
<pk>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 35 HIENLTH
VD minh họa quy tắc chuyển đổi
• Xét hệ thống “Quản lý bán hàng” với tập thực thể:– Hàng hóa– Hóa đơn– Khách hàng– Đơn đặt hàng– Nhà cung cấp– Nhân viên– ….
và mối quan hệ được mô tả trong mô hình E-R sau
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 36 HIENLTH
VD minh họa quy tắc chuyển đổi
1,n1,n
1,n 1,n
Hoa Don
SoHD
NgayHD
ThanhTien
VAT
TongCong
<pi>Hang Hoa
MaHang
TenHang
QuiCach
DonViTinh
GiaMua
GiaBan
<pi>
Khach hang
MaKH
TenKH
DiaChi
DienThoai
<pi>
Nha Cung cap
MaNCC
TenNCC
DiaChi
DienThoai
<pi>
Don dat hang
SoDDH
NgayDH
ThanhTien
VAT
TongCong
<pi>
Nhan vien
MaNV
Ho
Ten
NgaySinh
DiaChi
DienThoai
<pi>
Ly lich nhan vien
HoTenCha
HoTenMe
QueQuan
NgheNghiep
HeSoLuong
TrinhDoHV
TrinhDoNN
DanToc
TonGiao
Chi tiet hoa don
SoLuong
DonGia
ThanhTien...
<M>
<M>
<M>
Chi tiet DDH
SoLuong
DonGia
ThanhTien...
<M>
<M>
<M>
ThanNhan
MaTN
TenTN
NgaySinh
DiaChi
DienThoai
<pi>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 37 HIENLTH
VD minh họa quy tắc chuyển đổi
SoHD = SoHD
MaHang = MaHang MaHang = MaHangSoDDH = SoDDH MaNCC = MaNCC
MaKH = MaKH
MaNV = MaNV
MaNV = MaNV
MaNV = MaNV
MaNV = MaNVMaNV = MaNV
Hoa Don
SoHD
MaKH
MaNV
NgayHD
ThanhTien
VAT
TongCong
<pk>
<fk1>
<fk2>
Hang Hoa
MaHang
TenHang
QuiCach
DonViTinh
GiaMua
GiaBan
<pk>
Khach hang
MaKH
TenKH
DiaChi
DienThoai
<pk>
Nha Cung cap
MaNCC
TenNCC
DiaChi
DienThoai
<pk>
Don dat hang
SoDDH
MaNV
MaNCC
NgayDH
ThanhTien
VAT
TongCong
<pk>
<fk2>
<fk1>
Nhan vien
MaNV
Ho
Ten
NgaySinh
DiaChi
DienThoai
<pk,fk>
Ly lich nhan vien
MaNV
HoTenCha
HoTenMe
QueQuan
NgheNghiep
HeSoLuong
TrinhDoHV
TrinhDoNN
DanToc
TonGiao
<pk,fk>
Chi tiet hoa don
SoHD
MaHang
SoLuong
DonGia
ThanhTien
<pk,fk1>
<pk,fk2>
Chi tiet DDH
MaHang
SoDDH
SoLuong
DonGia
ThanhTien
<pk,fk1>
<pk,fk2>
ThanNhan
MaTN
MaNV
TenTN
NgaySinh
DiaChi
DienThoai
<pk>
<fk>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 38 HIENLTH
VD minh họa quy tắc chuyển đổi
Hoa Don
SoHD
MaKH
MaNV
NgayHD
ThanhTien
VAT
TongCong
<pk>
<fk1>
<fk2>
Hang Hoa
MaHang
TenHang
QuiCach
DonViTinh
GiaMua
GiaBan
<pk>
Khach hang
MaKH
TenKH
DiaChi
DienThoai
<pk>
Nha Cung cap
MaNCC
TenNCC
DiaChi
DienThoai
<pk>
Don dat hang
SoDDH
MaNV
MaNCC
NgayDH
ThanhTien
VAT
TongCong
<pk>
<fk2>
<fk1>
Nhan vien
MaNV
Ho
Ten
NgaySinh
DiaChi
DienThoai
<pk>
Ly lich nhan vien
MaNV
HoTenCha
HoTenMe
QueQuan
NgheNghiep
HeSoLuong
TrinhDoHV
TrinhDoNN
DanToc
TonGiao
<pk,fk>
Chi tiet hoa don
SoHD
MaHang
SoLuong
DonGia
ThanhTien
<pk,fk1>
<pk,fk2>
Chi tiet DDH
MaHang
SoDDH
SoLuong
DonGia
ThanhTien
<pk,fk1>
<pk,fk2>
ThanNhan
MaTN
MaNV
TenTN
NgaySinh
DiaChi
DienThoai
<pk>
<fk>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 39 HIENLTH
Tạo mô hình PDM trong Power Designer
• Tạo mới mô hình PDM ?
• Tạo table
• Mô tả thuộc tính cho table
• Tạo relationship
• Phát sinh report
• Phát sinh DB Script
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 40 HIENLTH
Xây dựng mô hình PDM
• Convert từ mô hình CDM
– Từ tập thực thể
– Từ mối kết hợp
• Bổ sung từ yêu cầu phi chức năng
– Mở rộng
– Tốc độ
– Tương thích
– Bảo mật
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 41 HIENLTH
Mở rộng mô hình PDM
Yêu cầu phi chức năng:• Mở rộng
– Thuộc tính có miền giá trị rời rạc– Thuộc tính đa trị– Thuộc tính là đối tượng phụ– Thuộc tính tính toán– Thông tin về cấu hình hệ thống
• Số sản phẩm trên mỗi trang màn hình• Số lượng dòng trong mỗi grid• Thông tin khách hàng• Tham số trong các công thức
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 42 HIENLTH
Mở rộng mô hình PDM
• Thuộc tính có giá trị rời rạcNhan vien
MaNV
Ho
Ten
NgaySinh
DiaChi
DienThoai
TonGiao
GioiTinh
LoaiNV
<pi>
+LoaiNV:
-NV San Xuat
-NV Ban Hang
-NV Quan Ly
+TonGiao:
-Thien Chua
-Cao Dai
-Hoa Hao
1,1
0,n
0,1
0,nNhan vien
MaNV
Ho
Ten
NgaySinh
DiaChi
DienThoai
GioiTinh
<pi>
TonGiao
MaTG
TenTG
<pi>
LoaiNhanVien
MaLoai
TenLoaiNV
<pi>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 43 HIENLTH
Mở rộng mô hình PDM
Tiền mặt
Chuyển khoản
Trao đổi
Mã Diễn giải
1 Tiền mặt
2 Chuyển khoản
3 Trao đổi
… …
Bảng dữ liệu
Tiền mặt
Chuyển khoản
Trao đổi
Bộ nhớ
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 44 HIENLTH
Mở rộng mô hình PDM
• Thuộc tính là đối tượng phụ
Nhan vien
MaNV
Ho
Ten
NgaySinh
DiaChi
DienThoai
TonGiao
GioiTinh
LoaiNV
<pi>
0,1
0,n
0,1
0,n
Nhan vien
MaNV
Ho
Ten
NgaySinh
DiaChi
DienThoai
TonGiao
GioiTinh
LoaiNV
<pi>
Tinh Thanh
MaTinh
TenTinh
<pi>
Quan Huyen
MaQuan
TenQuan
<pi>
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 45 HIENLTH
Mở rộng mô hình PDM
• Số sản phẩm trên màn hình
Option = 6 sản
phẩm trên một trang
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 46 HIENLTH
Mở rộng mô hình PDM
• Số sản phẩm trên màn hình
Option = 3 sản phẩm trên một trang
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 47 HIENLTH
Mở rộng mô hình PDM
• Số sản phẩm trên màn hình
Option = 6 sản phẩm trên 1 trang
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 48 HIENLTH
Mở rộng mô hình PDM
Yêu cầu phi chức năng:
• Tốc độ:– Bổ sung thuộc tính tính toán
– Backup/Archive Data
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 49 HIENLTH
Bổ sung từ yêu cầu tốc độ
Xét hệ thống quản lý bán hàng tại siêu thị Coopmart:
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 50 HIENLTH
Bổ sung từ yêu cầu tốc độ
Xét hệ thống quản lý bán hàng tại siêu thị COOP MART (30 chi nhánh), giả sử:
• Mỗi ngày siêu thị bán được khoảng 1000 hóa đơn, mỗi hóa đơn có khoảng 10 mặt hàng và mỗi ngày phát sinh khoảng 10.000 record chi tiết hóa đơn
• Dữ liệu chi tiết hóa đơn mỗi năm 365 x 10.000 = 3.650.000 record.
• Dữ liệu lưu trữ trong 10 năm = 3.650.000 x 10 = 36.500.000 record chi tiết hóa đơn
• Hệ thống siêu thị có khoảng 1.000 mặt hàng– Cho biết số lượng mặt hàng bán trong tháng hiện hành
– Chọn trong danh sách 1.000 x 36.500.000 = 36.500.000.000 record !!!
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 51 HIENLTH
Bổ sung từ yêu cầu bảo mật
• Đăng nhập hệ thống
• Phân quyền
– Theo chức năng
• Tĩnh
• Động
– Theo dữ liệu
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 52 HIENLTH
Bổ sung từ yêu cầu bảo mật
• Đăng nhập hệ thống
Cần lưu trữ
thông tin gì?
Cần lưu trữ danh sách người dùng (User)
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 53 HIENLTH
Bổ sung từ yêu cầu bảo mật
• Đăng nhập hệ thống
Cần lưu trữ danh sách người dùng (User)
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 54 HIENLTH
Bổ sung từ yêu cầu bảo mật
• Đăng nhập hệ thống
Cần lưu trữ danh sách người dùng (User)
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 55 HIENLTH
Bổ sung từ yêu cầu bảo mật
• Đăng nhập hệ thống
Cần lưu trữ danh sách người dùng (User)
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 56 HIENLTH
Bổ sung từ yêu cầu bảo mật
• Phân quyền
– Theo chức năng
• Tĩnh
– Phân quyền theo Module
– Phân quyền theo hệ thống Menu/Toolbar
• Động
– Phân quyền theo Module
– Phân quyền theo hệ thống Menu/Toolbar
– Theo dữ liệu
– Phân quyền user/group
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 57 HIENLTH
Bổ sung từ yêu cầu bảo mật
• Tham số các công thức
– Tạo bảng tham số/chuỗi: chứa những giá trị hằng trong bài toán
Mã Diễn giải Giá trị Hiệu lực
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 58 HIENLTH
Bài tập
• Xây dựng mô hình PDM cho các ứng dụng sau:– Quản lý giải bóng đá vô địch quốc gia
– Quản lý bình chọn bài hát hay Làn sóng xanh
– Quản lý giáo vụ trường đại học
– Quản lý giáo vụ trường phổ
– Quản lý bán hàng
– Quản lý học viên trung tâm tin học, ngoại ngữ
– Quản lý nhân sự - tiền lương
– Quản lý bán hàng trực tuyến
– Quản lý nhà trẻ
– …
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 59 HIENLTH
Ví dụ 1
• Xét phần mềm quản 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ơ đồ dữ liệu
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 60 HIENLTH
Ví dụ 1 (tt)
• Cách 0: dùng 1 bảng
• Cách 1: dùng 2 bảng (PHIEU_THU,
LYDO_THU)
• Cách 2: dùng 2 bảng (PHIEU_THU,
KHACH_HANG)
• Cách 3: dùng 4 bảng
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 61 HIENLTH
Ví dụ 1 (tt)
PHIEU_THU
MA_PT
MA_KH
MA_LDT
Ngay_Thu
SoTien_Thu
KHACH_HANG
MA_KH
Ho_Ten
CMND
Dia_Chi
LYDO_THU
MA_LDT
Ten_LDT
THAM_SO
Ma_Tham_So
Ten_Tham_So
Gia_Tri
Table THAM_SO dùng để lưu những qui định
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 62 HIENLTH
Ví dụ 2
• Xét phần mềm quản lý nhân sự với nghiệp vụ
tiếp nhận nhân viên
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 63 HIENLTH
Ví dụ 2 (tt)
Hãy lập sơ đồ dữ liệu cho yêu cầu nghiệp vụ
trên trong các trường hợp sau:
a. Không yêu cầu theo dõi quá trình chuyển nhân
viên từ đơn vị này sang đơn vị khác
b. Có yêu cầu theo dõi quá trình chuyển nhân viên
c. Bổ sung qui định: Đơn vị X chỉ nhận các nhân
viên có trình độ đại học và sau đại học
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 64 HIENLTH
Ví dụ 2 (tt)
NHAN_VIEN
MA_NV
MA_Don_Vi
Ho_Ten
Gioi_Tinh
Ngay_Sinh
Dien_Thoai
Dia_Chi
Ma_Trinh_Do
DON_VI
MA_Don_Vi
Ten_Don_Vi
TRINH_DO
MA_Trinh_Do
Ten_Trinh_Do
a.
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 65 HIENLTH
Ví dụ 2 (tt)
• Table THAM_SO có thể thiết kế theo nhiều cách
– Cách 1
Khóa ThamSố#1 ThamSố#2 … ThamSố#N
… … … … …
Mỗi tham số tương ứng với một cột trong bảng tham số
Bảng tham số thường chỉ gồm 1 dòng (chứa giá trị các
tham số hiện hành)
?Cần bổ sung tham số mới?
Cần vô hiệu hóa tác dụng của một tham số?
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 66 HIENLTH
Ví dụ 2 (tt)
– Cách 2MãThamSố TênThamSố Kiểu GiáTrị TìnhTrạng
… … … … …
Mỗi tham số tương ứng với một dòng trong bảng tham số
Giá trị hiện tại của tham số được lưu bằng dạng chuỗi
Mỗi tham số cần lưu trữ kiểu giá trị để phần mềm “hiểu”
đúng nội dung giá trị hiện tại của tham số
? Cần bổ sung tham số mới?
Cần vô hiệu hóa tác dụng của một tham số?
Được lưu
dạng chuỗi
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 67 HIENLTH
Ví dụ 2 (tt)
b.
NHAN_VIEN
MA_NV
Ho_Ten
Gioi_Tinh
Ngay_Sinh
Dien_Thoai
Dia_Chi
Ma_Trinh_Do
DON_VI
MA_Don_Vi
Ten_Don_Vi
TRINH_DO
MA_Trinh_Do
Ten_Trinh_Do
PHAN_CONG
MA_PC
MA_NV
MA_Don_Vi
Ngay_PhanCong
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 68 HIENLTH
Ví dụ 2 (tt)
c. Bổ sung qui định: Đơn vị X chỉ nhận các
nhân viên có trình độ đại học và sau đại
học
???
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 69 HIENLTH
Bài tập
1. Xét phần mềm quản lý học sinh với chức
năng ghi nhận bảng điểm danh
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 70 HIENLTH
Bài tập
2. Xét phần mềm quản lý bán hàng với chức năng
lập hóa đơn bán hàng. Hãy lập sơ đồ dữ liệu
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 71 HIENLTH
Bài tập
3. Xét phần mềm quản lý tiết kiệm với chức năng
mở sổ tiết kiệm. Hãy lập sơ đồ dữ liệu
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 72 HIENLTH
Câu hỏi và thảo luận
top related