Bài giảng Công nghệ phần mềm - Chủ đề 4: Thiết kế Phần mềm

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 SQL

Server 2008/2012

pdf 67 trang yennguyen 1960
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công nghệ phần mềm - Chủ đề 4: Thiết kế Phần mềm", để 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 Công nghệ phần mềm - Chủ đề 4: Thiết kế Phần mềm

Bài giảng Công nghệ phần mềm - Chủ đề 4: Thiết kế Phần mềm
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 SQL
Server 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ác
thuộ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
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)
Câu Lạc Bộ
Mã CLB
Mã Tỉnh
Mã Sân
Tên CLB
varchar(7)
varchar(4)
int
nvarchar(50)
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
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ân
Cầ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
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
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)
Cầu Thủ
Mã Số
Họ Tên
Ngày Sinh
Địa Chỉ
Vị Trí
Số Áo
Cân nặng
Huấn Luyện Viên
Mã HLV
Họ Tên
Ngày Sinh
Địa Chỉ
Điện Thoại
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 17 HIENLTH
Quy tắc chuyển
• Quan hệ 1-1 
A B
1 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
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)
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)
i
i
ị ỉ
i i
i
l ị i
i
i
i
 i
 t
r r( )
r r( )
r r( )
t t
r r( )
r r( )
ý lịc vi
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)
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 19 HIENLTH
Quy tắc chuyển
• Quan hệ 1-n 
A B
1 *
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
Khach Hang
Ma KH
Ten KH
Địa Chỉ
Dien Thoai
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
Khach Hang
Ma KH
Ten KH
Địa Chỉ
Dien Thoai
varchar(7)
varchar(50)
varchar(50)
varchar(50)
COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 21 HIENLTH
Convert CDM sang PDM
• Ánh xạ quan hệ 1 - n
1,1
0,n
1,1
0,n
1,1
0,n
KHOA
MaKhoa
TenKhoa
NamThanhLap
GiangVien
MaGV
Ho
Ten
NgaySinh
HocHam
HocVi
BoMon
MaBM
TenBM
SoLuongGV
MaKhoa = MaKhoa
MaKhoa = MaKhoa
MaBM = MaBM
KHOA
MaKhoa
TenKhoa
NamThanhLap
varchar(6)
varchar(50)
datetime
GiangVien
MaGV
MaBM
MaKhoa
Ho
Ten
NgaySinh
HocHam
HocVi
varchar(15)
varchar(6)
varchar(6)
varchar(50)
varchar(20)
datetime
varchar(50)
varchar(50)
BoMon
MaBM
MaKhoa
TenBM
SoLuongGV
varchar(6)
varchar(6)
varchar(50)
tinyint
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
Hang Hoa
MaHang
TenHang
QuiCach
DonViTinh
GiaMua
GiaBan
0,n
0,n
Hoa Don
SoHD
NgayHD
ThanhTien
VAT
TongCong
Hang Hoa
MaHang
TenHang
QuiCach
DonViTinh
GiaMua
GiaBan
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
MonHoc
MaMH
TenMH
SoTC
0,n
0,n
SinhVien
MaSV
TenSV
NgaySinh
NoiSinh
MonHoc
MaMH
TenMH
SoTC
KetQua
HocKy
NienKhoa
Lan
Diem
...
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)
MonHoc
MaMH
TenMH
SoTC
varchar(6)
varchar(50)
tinyint
KetQua
MaSV
MaMH
HocKy
NienKhoa
Lan
Diem
varchar(13)
varchar(6)
tinyint
tinyint
tinyint
tinyint
0,n
0,n
SinhVien
MaSV
TenSV
NgaySinh
NoiSinh
MonHoc
MaMH
TenMH
SoTC
KetQua
HocKy
NienKhoa
Lan
Diem
...
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
 Variable characters (10)
Variable characters (50)
DocGia
MaDG
TenDG
 Variable characters (10)
Variable characters (50)
MuonTra
NgayMuon
NgayTra
TienPhat
...
Date & Time
Date & Time
Decimal
MuonTra
MaSach
MaDG
NgayMuon
NgayTra
TienPhat
varchar(10)
varchar(10)
datetime
datetime
decimal
SACH
MaSach
TenSach
varchar(10)
varchar(50)
DocGia
MaDG
TenDG
varchar(10)
varchar(50)
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
MonHoc
MaMon
TenMon
Nganh
MaNganh
TenNganh
Khoa
MaKhoa
TenKhoa
Mon hoc nganh
SoTinChi
Dang Ky Hoc Mon
Lan
HocKy
NienKhoa
Diem
...
Quan Huyen
MaQuan
TenQuan
Tinh Thanh
MaTinh
TenTinh
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
MonHoc
MaMon
TenMon
Nganh
MaNganh
MaKhoa
TenNganh
Khoa
MaKhoa
TenKhoa
Mon hoc nganh
MaMon
MaNganh
SoTinChi
Dang Ky Hoc Mon
MaSV
MaMon
Lan
HocKy
NienKhoa
Diem
Quan Huyen
MaQuan
MaTinh
TenQuan
Tinh Thanh
MaTinh
TenTinh
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,n
1,n
1,n 1,n
Hoa Don
SoHD
NgayHD
ThanhTien
VAT
TongCong
Hang Hoa
MaHang
TenHang
QuiCach
DonViTinh
GiaMua
GiaBan
Khach hang
MaKH
TenKH
DiaChi
DienThoai
Nha Cung cap
MaNCC
TenNCC
DiaChi
DienThoai
Don dat hang
SoDDH
NgayDH
ThanhTien
VAT
TongCong
Nhan vien
MaNV
Ho
Ten
NgaySinh
DiaChi
DienThoai
Ly lich nhan vien
HoTenCha
HoTenMe
QueQuan
NgheNghiep
HeSoLuong
TrinhDoHV
TrinhDoNN
DanToc
TonGiao
Chi tiet hoa don
SoLuong
DonGia
ThanhTien
...
Chi tiet DDH
SoLuong
DonGia
ThanhTien
...
ThanNhan
MaTN
TenTN
NgaySinh
DiaChi
DienThoai
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 = MaHang
SoDDH = SoDDH MaNCC = MaNCC
MaKH = MaKH
MaNV = MaNV
MaNV = MaNV
MaNV = MaNV
MaNV = MaNV
MaNV = MaNV
Hoa Don
SoHD
MaKH
MaNV
NgayHD
ThanhTien
VAT
TongCong
Hang Hoa
MaHang
TenHang
QuiCach
DonViTinh
GiaMua
GiaBan
Khach hang
MaKH
TenKH
DiaChi
DienThoai
Nha Cung cap
MaNCC
TenNCC
DiaChi
DienThoai
Don dat hang
SoDDH
MaNV
MaNCC
NgayDH
ThanhTien
VAT
TongCong
Nhan vien
MaNV
Ho
Ten
NgaySinh
DiaChi
DienThoai
Ly lich nhan vien
MaNV
HoTenCha
HoTenMe
QueQuan
NgheNghiep
HeSoLuong
TrinhDoHV
TrinhDoNN
DanToc
TonGiao
Chi tiet hoa don
SoHD
MaHang
SoLuong
DonGia
ThanhTien
Chi tiet DDH
MaHang
SoDDH
SoLuong
DonGia
ThanhTien
ThanNhan
MaTN
MaNV
TenTN
NgaySinh
DiaChi
DienThoai
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
Hang Hoa
MaHang
TenHang
QuiCach
DonViTinh
GiaMua
GiaBan
Khach hang
MaKH
TenKH
DiaChi
DienThoai
Nha Cung cap
MaNCC
TenNCC
DiaChi
DienThoai
Don dat hang
SoDDH
MaNV
MaNCC
NgayDH
ThanhTien
VAT
TongCong
Nhan vien
MaNV
Ho
Ten
NgaySinh
DiaChi
DienThoai
Ly lich nhan vien
MaNV
HoTenCha
HoTenMe
QueQuan
NgheNghiep
HeSoLuong
TrinhDoHV
TrinhDoNN
DanToc
TonGiao
Chi tiet hoa don
SoHD
MaHang
SoLuong
DonGia
ThanhTien
Chi tiet DDH
MaHang
SoDDH
SoLuong
DonGia
ThanhTien
ThanNhan
MaTN
MaNV
TenTN
NgaySinh
DiaChi
DienThoai
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ạc
Nhan vien
MaNV
Ho
Ten
NgaySinh
DiaChi
DienThoai
Email
TonGiao
GioiTinh
LoaiNV
+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
Email
GioiTinh
TonGiao
MaTG
TenTG
LoaiNhanVien
MaLoai
TenLoaiNV
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
Email
TonGiao
GioiTinh
LoaiNV
0,1
0,n
0,1
0,n
Nhan vien
MaNV
Ho
Ten
NgaySinh
DiaChi
DienThoai
TonGiao
Email
GioiTinh
LoaiNV
Tinh Thanh
MaTinh
TenTinh
Quan Huyen
MaQuan
TenQuan
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 2
Mã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

File đính kèm:

  • pdfbai_giang_cong_nghe_phan_mem_chu_de_4_thiet_ke_phan_mem.pdf