Tải bản đầy đủ (.pdf) (67 trang)

Bài giảng Nhập môn công nghệ phần mềm: Chủ đề 4 - Lương Trần Hy Hiến

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.38 MB, 67 trang )

Chủ đề 4: Thiết kế Phần mềm
COMP1026 – Introduction to Software Engneering

CH4 – Part 1 - 1

HIENLTH


Giai đoạn thiết kế
Khảo sát

Nội dung: • Thiết kế dữ liệu
• Thiết kế xử lý

Phân tích
Kết quả:
Hồ sơ thiết kế:

• Thiết kế giao diện
Thiết kế

Cài đặt

• Mơ hình PDM
• Kiến trúc Module
• Hệ thống chức năng

Kiểm tra

Triển khai


• Hệ thống giao diện

COMP1026 – Introduction to Software Engneering

Bảo trì
CH4 – Part 1 - 2

HIENLTH


Thiết kế giao diện

Thiết kế Phần mềm?

Thiết kế xử lý
COMP1026 – Introduction to Software Engneering

Thiết kế dữ liệu (lưu trữ)
CH4 – Part 1 - 3

HIENLTH


Module:

Thiết kế Dữ liệu

COMP1026 – Introduction to Software Engneering

CH4 – Part 1 - 4


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 - 5

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 - 6

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 - 7

HIENLTH


Ví dụ mơ hình vật lý

COMP1026 – Introduction to Software Engneering

CH4 – Part 1 - 8


HIENLTH


Các thành phần trong PDM
Cầu Thủ

• Table
vKetQua

• View

Mã Số
Họ Tên
Ngày Sinh
Địa Chỉ
Vị Trí
Số Áo

int

nvarchar(50)
datetime
nvarchar(150)
nvarchar(30)
tinyint

TEN_CLB
SO_LUONG_CT
CAU_LAC_BO

CAU_THU

• Mối quan hệ giữa các Table
Câu Lạc Bộ
Mã CLB
Mã Tỉnh
Mã Sân
Tên CLB

varchar(7)

varchar(4)
int
<fk>
nvarchar(50)

Sân Bóng
FK_CAULACBO_SANBONG

COMP1026 – Introduction to Software Engneering

Mã Sân int

Tên Sân nvarchar(50)
Địa Chỉ nvarchar(150)

CH4 – Part 1 - 9

HIENLTH



Các thành phần trong PDM
• 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

COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 10

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 - 11

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 - 12

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 - 13


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 - 14

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 - 15

HIENLTH



Convert CDM sang PDM
• Ánh xạ thực thể:
Cầu Thủ
Mã Số
<M>
Họ Tên
<M>
Ngày Sinh
Địa Chỉ
Vị Trí
Số Áo
Cân nặng

Huấn Luyện Viên
Mã HLV
<M>
Họ Tên
<M>
Ngày Sinh
Địa Chỉ
Điện Thoại

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)

COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 16

HIENLTH



Quy tắc chuyển
• Quan hệ 1-1
A

1

1

A

A

AB

MA

B

B


MB


B

MA

A



MA


MA


B

A

B

A
MA
MB


MB
MB
…Software Engneering
… CH4 – Part 1 - 17
COMP1026 – Introduction to

MB


B
MB

MA

HIENLTH


Convert CDM sang PDM
• Ánh xạ quan hệ 1 - 1
Nhân Viên
Mã NV
<M>
Họ
<M>
Tên
Ngày Sinh
Địa Chỉ
Điện thoại

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
1,1
1,1

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

Lý lịch
lịch nhân
nhân viên
viên

NV
varchar(5)

NV
varchar(5)
<fk>
Họ
tên
Cha

varchar(50)
Họ
tên
Cha
varchar(50)
Họ
tên
Mẹ
varchar(50)
Họ
tên
Mẹ
varchar(50)
Q
Qn
varchar(50)
Q
Qn
varchar(50)
Nghề
Nghiệp
varchar(50)
Nghề
Nghiệp
varchar(50)
Hệ
Số
Lương
varchar(50)
Hệ

Số
Lương
varchar(50)
Trình
độđộ
Học
vấn
Trình
Học
vấn varchar(50)
varchar(50)
Trình
độđộ
Ngoại
Trình
Ngoạingữ
ngữ varchar(50)
varchar(50)
Dân
tộc
varchar(50)
Dân
tộc
varchar(50)
Tơn
Giáo
varchar(50)
Tơn
Giáo
varchar(50)


COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 18

HIENLTH


Quy tắc chuyển
• Quan hệ 1-n
A

1

*

B

A
MA


COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 19

B

MA


HIENLTH



Convert CDM sang PDM
• Ánh xạ quan hệ 1 - n
Hoa Don

Khach Hang

So HD
<M>
Ngay HD
<M>
Thanh Tien
VAT
Tong Cong

0,n
0,1

Ma KH
<M>
Ten KH
<M>
Địa Chỉ
Dien Thoai

Hoa Don
So HD
Ma KH
Ngay HD
Thanh Tien
VAT

Tong Cong

varchar(10)
varchar(7) <fk>
datetime
money
tinyint
decimal

Khach Hang
0..*
Ma KH = Ma KH

Ma KH
Ten KH
Địa Chỉ
Dien Thoai

COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 20

varchar(7)
varchar(50)
varchar(50)
varchar(50)

HIENLTH


Convert CDM sang PDM
• Ánh xạ quan hệ 1 - n

1,1

KHOA
MaKhoa
<M>
TenKhoa
<M>
NamThanhLap

BoMon

0,n

MaBM
<M>
TenBM
<M>
SoLuongGV

1,1
0,n
1,1
0,n

BoMon

KHOA
GiangVien
MaGV
<M>

Ho
Ten
NgaySinh
HocHam
HocVi

MaKhoa
varchar(6)
TenKhoa
varchar(50)
NamThanhLap datetime

MaKhoa = MaKhoa

MaKhoa = MaKhoa

MaBM
MaKhoa
TenBM
SoLuongGV

varchar(6)
varchar(6) <fk>
varchar(50)
tinyint

MaBM = MaBM

GiangVien
MaGV

MaBM
MaKhoa
Ho
Ten
NgaySinh
HocHam
HocVi

varchar(15)
varchar(6) <fk2>
varchar(6) <fk1>
varchar(50)
varchar(20)
datetime
varchar(50)
varchar(50)

COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 21

HIENLTH


Quy tắc chuyển
• Quan hệ m-n
A

*

C *


B

A

C
MA


MA
MB


COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 22

B
MB


HIENLTH


Convert CDM sang PDM
• Ánh xạ quan hệ m – n
Hoa Don

Hang Hoa

0,n
0,n


SoHD
<M>
NgayHD
ThanhTien
<M>
VAT
TongCong

Hoa Don
SoHD
<M>
NgayHD
ThanhTien
<M>
VAT
TongCong

Chi tiet hoa don
1,n

SoLuong
Number
1,n
DonGia
Decimal (18,2)
ThanhTien Money (18,2)
...

MaHang
<M>

TenHang
QuiCach
DonViTinh
GiaMua
GiaBan

Hang Hoa
MaHang
<M>
TenHang
QuiCach
DonViTinh
GiaMua
GiaBan

COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 23

HIENLTH


Convert CDM sang PDM
• Ánh xạ quan hệ m – n
SinhVien

0,n

MonHoc

MaSV
<M>

TenSV
<M>
NgaySinh
<M>
NoiSinh

SinhVien
MaSV
<M>
TenSV
<M>
NgaySinh
<M>
NoiSinh

0,n

MaMH <M>
TenMH
<M>
SoTC
<M>

MonHoc

0,n
KetQua
HocKy
NienKhoa
Lan

Diem
...

<M>
<M>
<M>
<M>

0,n

COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 24

MaMH <M>
TenMH
<M>
SoTC
<M>

HIENLTH


Convert CDM sang PDM
• Ánh xạ quan hệ m – n
SinhVien

MonHoc

0,n

MaSV

<M>
TenSV
<M>
NgaySinh
<M>
NoiSinh

KetQua
HocKy
NienKhoa
Lan
Diem
...

<M>
<M>
<M>
<M>

0,n

MaMH <M>
TenMH
<M>
SoTC
<M>

SinhVien
MaSV
TenSV

NgaySinh
NoiSinh

varchar(13)
varchar(50)
datetime
varchar(50)

MonHoc
MaMH varchar(6)
TenMH varchar(50)
SoTC
tinyint
MaSV = MaSV

MaMH = MaMH
KetQua
MaSV
MaMH
HocKy
NienKhoa
Lan
Diem

varchar(13)
varchar(6)
tinyint
tinyint
tinyint
tinyint


COMP1026 – Introduction to Software Engneering CH4 – Part 1 - 25

HIENLTH


×