Bài giảng Nhập môn công nghệ phần mềm - Lương Trần Hy Hiến - Chủ đề 3: Phân tích phần mềm (Phần 1)

Tài liệu đặc tả kiến trúc hệ thống:

• Yêu cầu chức năng

• Yêu cầu phi chức năng

• Kiến trúc hệ thống

pdf40 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1783 | Lượt tải: 5download
Tóm tắt nội dung Bài giảng Nhập môn công nghệ phần mềm - Lương Trần Hy Hiến - Chủ đề 3: Phân tích phần mềm (Phần 1), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
tual Data Model or ERD
• Mô hình thực thể kết hợp (Entity 
Relationship Diagram) mô tả mối liên hệ 
giữa các thực thể. 
• Mỗi thực thể là một đối tượng tồn tại bên 
ngoài thế giới thực
• Mô hình thực thể kết hợp (Entity 
Relationship Diagram) được dùng để thiết 
kế CSDL ở mức quan niệm nên còn gọi là 
mô hình quan niệm dữ liệu (Conceptual 
Data Model)
COMP1026 – Introduction to Software Engneering Chapter 3 - 13 HIENLTH
Xét ứng dụng quản lý TKB
• Hệ thống cho phép bộ phận giáo vụ Khoa 
nhập thời khóa biểu, cập nhật thời khóa 
biểu của tất cả các lớp.
• Hệ thống cho phép sinh viên tra cứu thời 
khóa biểu theo từng học kỳ của lớp.
• Hệ thống cho phép giảng viên tra cứu thời 
khóa biểu giảng dạy trong học kỳ
COMP1026 – Introduction to Software Engneering Chapter 3 - 14 HIENLTH
Xét ứng dụng quản lý TKB
• Ví dụ: 
TKB lớp Tin 3
COMP1026 – Introduction to Software Engneering Chapter 3 - 15 HIENLTH
Xét ứng dụng quản lý TKB
• Ví dụ: TKB của giảng viên
COMP1026 – Introduction to Software Engneering Chapter 3 - 16 HIENLTH
Ví dụ: Xét ứng dụng quản lý TKB
• Hệ thống quản lý thời khóa biểu bao gồm các 
thông tin sau:
– Thứ
– Tiết
– Môn
– Giảng viên
– Phòng
– Lớp (theo môn)
– Học kỳ
– Năm học
– Khoa
Có bao nhiêu thực thể ?
Thuộc tính của mỗi thực thể ?
Mối liên hệ giữa các thực thể ?
COMP1026 – Introduction to Software Engneering Chapter 3 - 17 HIENLTH
Ví dụ minh họa
CBoMon
BoMonID
MaBM
TenBM
CKhoa
KhoaID
MaKhoa
TenKhoa
CNganh
NganhID
MaLop
TenLop
TenVietTat
CMonHoc
MonID
MaMon
TenMon
SoTC
SoTietLT
SoTietTH
CGiangVien
GVID
MaGV
TenV
NgaySinh
DiaChi
CLop
LopID
MaLop
TenLop
TenVietTat
CThoiKhoaBieu
MaTKB
TenTKB
Phong
TuTiet
DenTiet
CoSo
LopTheoMon
LopMonID 
COMP1026 – Introduction to Software Engneering Chapter 3 - 18 HIENLTH
Ví dụ minh họa
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
...
COMP1026 – Introduction to Software Engneering Chapter 3 - 19 HIENLTH
Ví dụ minh họa
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 Chapter 3 - 20 HIENLTH
Các thành phần trong CDM
• Thực thể
• Mối kết hợp
• Mối liên hệ giữa các thực thể
• Mối liên hệ giữa thực thể với mối kết hợp
CKhoa
KhoaID
MaKhoa
TenKhoa
Mon hoc nganh
SoTinChi
0,1
0,n
CKhoa
KhoaID
MaKhoa
TenKhoa
CNganh
NganhID
MaLop
TenLop
TenVietTat
0,n
0,n
MonHoc
MaMon
TenMon
Nganh
MaNganh
TenNganh
Mon hoc nganh
SoTinChi
COMP1026 – Introduction to Software Engneering Chapter 3 - 21 HIENLTH
Các thành phần trong CDM
• Mỗi thực thể/mối kết hợp có 3 thành 
phần:
– Tên (Name)
– Mã (Code)
– Thuộc tính (Attribute)
COMP1026 – Introduction to Software Engneering Chapter 3 - 22 HIENLTH
Các thành phần trong CDM
• Thuộc tính:
– Đặc trưng mô tả về đối tượng
• Thực thể và tập thực thể:
– Thực thể là một đối tượng tồn tại bên ngoài 
thế giới thực, có giá trị cụ thể
– Tập hợp các thực thể giống nhau tạo thành 
một tập thực thể
Khoa
MaKhoa
TenKhoa
Thực thể
Toan:Khoa
MaKhoa: KTOAN
TenKhoa: TOAN
Hoa:Khoa
MaKhoa: KHOA
TenKhoa: HOA
COMP1026 – Introduction to Software Engneering Chapter 3 - 23 HIENLTH
Các thành phần trong CDM
• Phân loại thuộc tính:
– Thuộc tính khóa (Primary Identifier)
– Thuộc tính có 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 (*)
COMP1026 – Introduction to Software Engneering Chapter 3 - 24 HIENLTH
Các thành phần trong CDM
• Thuộc tính khóa:
– Giá trị của thuộc tính khóa hai thực thuộc 
cùng một tập thực thể không được phép 
trùng nhau
COMP1026 – Introduction to Software Engneering Chapter 3 - 25 HIENLTH
Các thành phần trong CDM
• Thuộc tính có giá trị rời rạc:
– Thuộc tính phái của Sinh viên chỉ có 2 giá trị: 
Nam hoặc Nữ
– Thuộc tính điểm học phần chỉ có các giá trị 0, 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10.
– Thuộc tính loại nhân viên chỉ có cá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.
– ….
COMP1026 – Introduction to Software Engneering Chapter 3 - 26 HIENLTH
Các thành phần trong CDM
• Thuộc tính loại nhân 
viên chỉ có cá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.
COMP1026 – Introduction to Software Engneering Chapter 3 - 27 HIENLTH
Các thành phần trong CDM
• Thuộc tính đa trị
– Thuộc tính điện thoại của nhân viên là thuộc 
tính đa trị: 081234567, 01234567890,…
– Thuộc tính email của sinh viên cũng là một 
thuộc tính đa trị: 
• hienlth@hcmup.edu.vn
• hienlth@math.hcmup.edu.vn
• hpt7777@gmail.com
COMP1026 – Introduction to Software Engneering Chapter 3 - 28 HIENLTH
Các thành phần trong CDM
• Thuộc tính là đối tượng phụ:
– Thuộc tính địa chỉ của sinh viên, nhân viên là 
một đối tượng phụ, bao gồm các thông tin: 
• Số nhà
• Đường
• Phường/xã
• Quận/huyện
• Tỉnh thành
– Thuộc tính ngày sinh của sinh viên, nhân viên 
cũng là một đối tượng phụ gồm các thông tin: 
ngày, tháng, năm
COMP1026 – Introduction to Software Engneering Chapter 3 - 29 HIENLTH
Các thành phần trong CDM
• Thuộc tính tính toán:
– Thuộc tính thành tiền trong hóa đơn là một 
thuộc tính tính toán, được tính bằng tổng số 
lượng * đơn giá của các mặt hàng
– Thuộc tính điểm trung bình của học sinh, sinh 
viên cũng là một thuộc tính tính toán
COMP1026 – Introduction to Software Engneering Chapter 3 - 30 HIENLTH
Quan hệ giữa các thực thể
• Phân loại:
– Relationship
– Inheritance
1,1
0,nQuan Huyen
MaQuan
TenQuan
Tinh Thanh
MaTinh
TenTinh
1,1
1,1
Nhan vien
MaNV
Ho
Ten
NgaySinh
DiaChi
DienThoai
Ly lich nhan vien
HoTenCha
HoTenMe
QueQuan
NgheNghiep
HeSoLuong
TrinhDoHV
TrinhDoNN
DanToc
TonGiao
COMP1026 – Introduction to Software Engneering Chapter 3 - 31 HIENLTH
Quan hệ giữa các thực thể
• Phân loại dựa trên bản số:
– Quan hệ “1-1”
– Quan hệ “1-nhiều”
– Quan hệ “nhiều-nhiều”
1,1
1,1
Nhan vien
MaNV
Ho
Ten
NgaySinh
DiaChi
DienThoai
Ly l ich nhan vien
HoTenCha
HoTenMe
QueQuan
NgheNghiep
HeSoLuong
TrinhDoHV
TrinhDoNN
DanToc
TonGiao
1,1
0,nQuan Huyen
MaQuan
TenQuan
Tinh Thanh
MaTinh
TenTinh
0,n
0,n
Hang Hoa : 2
MaHang
TenHang
QuiCach
DonViTinh
GiaMua
GiaBan
Hoa Don : 2
SoHD
NgayHD
ThanhTien
VAT
TongCong
COMP1026 – Introduction to Software Engneering Chapter 3 - 32 HIENLTH
Quan hệ giữa các thực thể
• Quan hệ nhiều – nhiều:
0,n
0,n
Hang Hoa : 2
MaHang
TenHang
QuiCach
DonViTinh
GiaMua
GiaBan
Hoa Don : 2
SoHD
NgayHD
ThanhTien
VAT
TongCong
1,n
1,n
Hoa Don
SoHD
NgayHD
ThanhTien
VAT
TongCong
Hang Hoa
MaHang
TenHang
QuiCach
DonViTinh
GiaMua
GiaBan
Chi tiet hoa don
SoLuong
DonGia
ThanhTien
...
COMP1026 – Introduction to Software Engneering Chapter 3 - 33 HIENLTH
Quan hệ giữa thực thể và mối kết hợp
• Association link:
– Loại mối kết hợp
• 1 – 1
• 1 – nhiều
– Bản số
• 0,1; 1,1; 0,n; 1,n;…
– Vai trò
1,n
1,n
Hoa Don
SoHD
NgayHD
ThanhTien
VAT
TongCong
Hang Hoa
MaHang
TenHang
QuiCach
DonViTinh
GiaMua
GiaBan
Chi tiet hoa don
SoLuong
DonGia
ThanhTien
...
COMP1026 – Introduction to Software Engneering Chapter 3 - 34 HIENLTH
Quan hệ giữa thực thể và mối kết hợp
• Quan hệ phản thân
– Reflexive association
– Recursive association
0..1
0..*
Quản lý
Được quản lý bởi
Quản lý Được quản lý bởi
COMP1026 – Introduction to Software Engneering Chapter 3 - 35 HIENLTH
Quan hệ giữa thực thể và mối kết hợp
• Quan hệ phản thân
Quản lý Được quản lý bởi
Nguyen C:CNhanVien
MaNV = NV05
TenNV = Nguyen C
Tran B:CNhanVien
MaNV = NV02
TenNV = Tran B
Nguyen A:CNhanVien
MaNV = NV03
TenNV = Nguyen A
Tran A:CNhanVien
MaNV = NV01
TenNV = Tran A
Nguyen B:CNhanVien
MaNV = NV04
TenNV = Nguyen B
COMP1026 – Introduction to Software Engneering Chapter 3 - 36 HIENLTH
Xây dựng mô hình CDM
• Từ yêu cầu chức năng
– Từ danh sách mẫu biểu, thống kê
– Từ qui trình xử lý nghiệp vụ (DFD, BPM)
• Từ yêu cầu phi chức năng
COMP1026 – Introduction to Software Engneering Chapter 3 - 37 HIENLTH
Các bước xây dựng mô hình CDM
• Xác định tập thực thể
• Xác định mối kết hợp
• Xác định thuộc tính cho tập thực thể và 
mối kết hợp
• Xác định miền giá trị cho từng thuộc tính
• Xác định thuộc tính khóa, thuộc tính bắt 
buộc, thuộc tính Unique.
• Xác định bản số (Min, max) cho quan hệ, 
mối kết hợp
COMP1026 – Introduction to Software Engneering Chapter 3 - 38 HIENLTH
Tạo mô hình CDM trong Power 
Designer
• Tạo mới mô hình CDM ?
• Tạo thực thể
• Mô tả thuộc tính cho thực thể
• Tạo mối kết hợp
• Mô tả thuộc tính cho mối kết hợp
• Tạo mối quan hệ giữa các thực thể, mối 
kết hợp
• Phát sinh report
COMP1026 – Introduction to Software Engneering Chapter 3 - 39 HIENLTH
Bài tập
• Đặc tả yêu cầu và xây dựng CDM 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ổ thông
– 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 Chapter 3 - 40 HIENLTH
Câu hỏi ôn tập
• Phương án triển khai hệ thống?
• Conceptual Data Model - CDM?
• Các thành phần trong CDM?
• Data Flow Diagram – DFD?
• Các thành phần trong DFD?

File đính kèm:

  • pdfBài giảng Nhập môn công nghệ phần mềm - Lương Trần Hy Hiến - Chủ đề 3 Phân tích phần mềm (Phần 1).pdf