ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
NHẬP MÔN
CÔNG NGHỆ PHẦN MỀM
Giảng viên: TS. Đỗ Thị Thanh Tuyền
Email:
NỘI DUNG MƠN HỌC
Tổng quan về Cơng nghệ phần mềm
Xác định và mơ hình hóa u cầu phần mềm
Thiết kế phần mềm: – Thiết kế DỮ LIỆU
Cài đặt phần mềm
Kiểm thử và bảo trì
Đồ án môn học
Nhập môn Công nghệ Phần mềm
2
Jul 26, 2023
THIẾT KẾ DỮ LIỆU
1. Sơ đồ Logic
2. Xác định khóa chính
3. Các kiểu mã hóa
4. Bảng THAMSO
5. Thuật tốn thiết kế dữ liệu
6. Các dạng chuẩn
7. Chuẩn hóa dữ liệu
Nhập môn Công nghệ Phần mềm
3
Jul 26, 2023
Thiết kế dữ liệu
Mục tiêu của việc thiết kế dữ liệu là nhằm mô tả cách thức
tổ chức lưu trữ dữ liệu của phần mềm bên trong máy tính.
Kết quả của quá trình thiết kế dữ liệu là xây dựng được sơ
đồ Logic.
Khi thiết kế dữ liệu, ta quan tâm đến ba vấn đề sau:
Thiết kế dữ liệu với tính đúng đắn;
Thiết kế dữ liệu với tính tiến hóa;
Thiết kế dữ liệu với u cầu hiệu quả về mặt truy suất và
lưu trữ.
Nhập môn Công nghệ Phần mềm
4
Jul 26, 2023
1. Sơ đồ Logic
Bao gồm các bảng dữ liệu và mối quan hệ giữa
chúng.
Các ký hiệu:
Tên Table
Bảng dữ liệu
Liên kết
Nhập môn Công nghệ Phần mềm
5
Jul 26, 2023
1. Sơ đồ Logic (tt)
Các ký hiệu (tt):
A
B
Một phần tử của bảng A xác định duy nhất một
phần tử của bảng B
Ngược lại, một phần tử của bảng B có thể tương
ứng với một hoặc nhiều phần tử của bảng A
Mối quan hệ giữa A và B là quan hệ 1-n
Khi đó, bảng A sẽ chứa khóa chính của bảng B
Nhập mơn Cơng nghệ Phần mềm
6
Jul 26, 2023
1. Sơ đồ Logic (tt)
Nếu quan hệ giữa A và B là quan hệ 1-1 thì có
thể gộp hai table A và B lại thành 1 table duy
nhất chứa tất cả thuộc tính của A và B
Lưu ý: Quan hệ 1-n không làm được việc này.
Nếu quan hệ giữa A và B là quan hệ n-n:
Tách quan hệ này thành 2 quan hệ 1-n bằng cách
thêm vào 1 table trung gian chứa khóa chính của
A và B
Nhập mơn Công nghệ Phần mềm
7
Jul 26, 2023
Ví dụ Quan hệ n-n
MONHOC
SINH VIÊN
Chuyển thành:
SINHVIEN
Nhập mơn Cơng nghệ Phần mềm
8
DANGKY
Jul 26, 2023
MONHOC
Ví dụ Quan hệ n-n (tt)
SINHVIEN
CT_DANGKY
MaSV
MaSV
TenSV
MaMonHoc
NgaySinh
HocKy
GioiTinh
NamHoc
QueQuan
Diem
Email
Nhập mơn Cơng nghệ Phần mềm
9
Jul 26, 2023
MONHOC
MaMonHoc
TenMonHoc
Lưu ý
Tên Table: viết bằng chữ IN tất cả các ký tự, khơng dấu,
khơng có khoảng cách giữa các từ.
Ví dụ: NHANVIEN, KHACHHANG, …
Tên thuộc tính: viết bằng chữ IN ký tự đầu của mỗi từ,
không dấu, không có khoảng cách giữa các từ.
Ví dụ: HoTen, NgaySinh, DiaChi, …
Đặt tên table/tên thuộc tính súc tích, cơ đọng và nhất
qn trong tồn bộ CSDL.
Ví dụ: HOSODAILY -> DAILY
Nhập môn Công nghệ Phần mềm
10
Jul 26, 2023
2. Xác định Khố chính
Tính chất của Khố chính:
Tối thiểu;
NOT NULL;
Không trùng lắp;
Không thay đổi theo thời gian.
Thuộc tính trừu tượng:
Là thuộc tính khơng xuất hiện trong thế giới thực, chỉ có trong
phần mềm.
Sử dụng thuộc tính trừu tượng để làm khố chính cho table.
Ví dụ: MaDaiLy, MaLoaiDaiLy, …
Nhập mơn Cơng nghệ Phần mềm
11
Jul 26, 2023
2. Xác định Khố chính (tt)
Khi nào cần sử dụng thuộc tính trừu tượng?
Khi từ danh sách các thuộc tính đã có của table, khơng
chọn được thuộc tính (hoặc tổ hợp thuộc tính) nào thoả
các tính chất của khóa chính.
Khi khố chính là một tổ hợp có từ hai thuộc tính trở lên.
Lưu ý trong trường hợp này vẫn phải kiểm tra dữ liệu
trùng trên bộ thuộc tính có thể tham gia làm khố
chính (khi insert hoặc update dữ liệu cho table).
Nhập môn Công nghệ Phần mềm
12
Jul 26, 2023
2. Xác định Khố chính (tt)
DAILY
LOAIDAILY
MaDaiLy
MaLoaiDaiLy
MaLoaiDaiLy
TenLoaiDaiLy
TenDaiLy
DiaChi
Gạch dưới thuộc tính làm khóa chính
DienThoai
Email
Nhập mơn Cơng nghệ Phần mềm
13
Jul 26, 2023
2. Xác định Khố chính (tt)
Xác định kiểu dữ liệu cho thuộc tính khóa:
Cân nhắc lựa chọn giữa kiểu số và kiểu chuỗi;
Sử dụng tối ưu chiều dài của mã đồng thời
phải xem xét khả năng mở rộng.
Khi tạo giá trị cho khố chính, khơng nên dùng lại
một mã đã sử dụng cho dù đối tượng có mã đó đã
bị xóa.
Nhập mơn Cơng nghệ Phần mềm
14
Jul 26, 2023
3. Các kiểu mã hóa
Mã hóa liên tiếp: 1,2,3…
Mã hóa theo lát: dùng từng lát cho từng nhóm đối
tượng, trong mỗi lát thường dùng kiểu mã hóa liên tiếp.
Mã hóa phân đoạn: mã được phân thành nhiều đoạn,
mỗi đoạn mang một ý nghĩa riêng.
Mã hóa phân cấp: là mã hóa phân đoạn, mỗi đoạn trỏ
đến một tập hợp các đối tượng và các đối tượng này
được phân cấp theo thứ tự từ trái qua phải.
Mã hóa diễn nghĩa: gán một tên ngắn gọn nhưng hiểu
được cho từng đối tượng.
Ví dụ: HAN (Hà Nội), HCM (Hồ Chí Minh)…
Nhập mơn Cơng nghệ Phần mềm
15
Jul 26, 2023
4. Bảng THAMSO
Chức năng: dùng để lưu các giá trị trong các qui
định mà các giá trị này không liên quan đến bất kỳ
đối tượng nào khác trong CSDL.
Các giá trị này được dùng trong các biểu thức tính
tốn hoặc kiểm tra.
Trên table THAMSO chỉ hỗ trợ cho người dùng
cuối 2 thao tác select và update, không cho phép
insert và delete sau khi đã hoàn tất việc thiết kế.
Nhập môn Công nghệ Phần mềm
16
Jul 26, 2023
4. Bảng THAMSO (tt)
Cấu trúc của bảng THAMSO:
Cách 1: THAMSO(TenThamSo,GiaTri)
- Các tham số là các record của table THAMSO
- Qui đổi giá trị của tham số có kiểu Boolean về kiểu số:
True 1; False 0
- Đặt tên các tham số theo qui định về cách đặt tên thuộc tính.
Cách 2: THAMSO(ThamSo1,ThamSo2,…,ThamSoX)
- Các tham số là các thuộc tính của table THAMSO
- Mỗi thuộc tính có kiểu dữ liệu riêng, vì vậy khơng phải qui đổi
giá trị của tham số có kiểu Boolean về kiểu số.
Nhập môn Công nghệ Phần mềm
17
Jul 26, 2023
5. Thuật toán thiết kế dữ liệu
Thiết kế dữ liệu dựa vào sơ đồ luồng dữ liệu của yêu
cầu phần mềm đang xét.
Các bước thực hiện:
Bước 1: Xét yêu cầu phần mềm thứ I
Thiết kế dữ liệu với tính đúng đắn
Thiết kế dữ liệu với tính tiến hóa
Bước 2: Xét u cầu phần mềm thứ II
…
Bước n: Xét yêu cầu phần mềm cuối cùng
Nhập môn Công nghệ Phần mềm
18
Jul 26, 2023
5. Thuật toán thiết kế dữ liệu (tt)
Thiết kế dữ liệu 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: lần lượt 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 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
Nhập môn Công nghệ Phần mềm
19
Jul 26, 2023
5. Thuật toán thiết kế dữ liệu (tt)
Thiết kế dữ liệu 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: lần lượt bố trí các thuộc tính mới và các
tham số mới vào các bảng đã có, trong trường hợp khơng bố
trí được thì phải tạo bảng mới để chứa các thuộc tính mới và
các tham số mới này.
- Các thuộc tính trừu tượng:
- Sơ đồ Logic
Nhập môn Công nghệ Phần mềm
20
Jul 26, 2023