1. Trang chủ
  2. » Giáo Dục - Đào Tạo

phân tích thiết kế hướng đối tượng

64 256 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 64
Dung lượng 1,33 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Biết được cách thiết kế class diagram• Biết được các thành phần trong Class diagram • Biết được cách sử dụng Power Designer để tạo Class Diagram • Biết được cách sử dụng Power Design

Trang 1

Đại Học Sư Phạm Tp Hồ Chí Minh

ầu người dùng

Trang 2

• Biết được cách thiết kế class diagram

• Biết được các thành phần trong Class

diagram

• Biết được cách sử dụng Power Designer

để tạo Class Diagram

• Biết được cách sử dụng Power Designer

để convert Class Diagram sang PDM

Trang 3

• Các thành phần trong Class diagram

• Quy tắc chuyển đổi từ class diagram sang

Physical Data Model

• Xây dựng class diagram của ứng dụng quản lý

thời khóa biểu

• Tạo Class diagram trong Power Designer

Trang 4

• Các thành phần trong Class diagram

• Quy tắc chuyển đổi từ class diagram sang

Physical Data Model

• Xây dựng class diagram của ứng dụng quản lý thời khóa biểu

• Tạo Class diagram trong Power Designer

• Convert Class diagram sang PDM trong Power Designer

Trang 5

• Mô tả cấu trúc tĩnh của các Class và

mối quan hệ giữa các lớp trong hệ thống

• Một class là một tập hợp các đối

tượng có cùng cấu trúc, cùng hành vi…

• Có thể xác định các class dựa vào

Trang 6

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

Trang 7

Ví dụ: Xét ứng dụng quản lý TKB

Thời khóa biểu lớp: Toán 4C

Trang 8

Ví dụ: Xét ứng dụng quản lý TKB

Thời khóa biểu giảng viên:

Trang 9

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:

Trang 10

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:

Trang 11

Ví dụ minh họa

• Class diagram mô tả hệ thống quản lý

thời khóa biểu

0 1

0 *

0 1 0 *

0 1

0 *

0 1 0 * 0 1

0 *

0 1 0 *

0 1 0 *

0 1 0 *

1 1 0 *

1 1

CBoMon +

+ +

BMID MaBM TenBM

: long : string : string

CGiangVien +

+ + + + + + + + +

GVID MaGV HocVi ChucDanh TenVT Ho Ten DiaChi DienThoai Email

: long : string : string : string : string : string : string : string : string : string

CKhoa +

+ +

KhoaID MaKhoa TenKhoa

: int : string : string

CLOP +

+ + + +

LOPID MALOP TENLOP NAMTS TenVT

: long : string : string : short : string

CLOPNK +

+ +

LOPNKID NAM NAMHOC

: long : short : short

CNganh +

+ + +

NganhID MaNganh TenNganh TenVT

: long : string : string : string

CTKB +

+ + + + +

TKBID TKB HOCKY NAMHOC NGAYBD NGAYKT

: long : string : short : short : DateTime : DateTime

CTKBLOP + TKBLOPID : long

Trang 12

• Các thành phần trong Class diagram

• Quy tắc chuyển đổi từ class diagram sang

Physical Data Model

• Xây dựng class diagram của ứng dụng quản lý thời khóa biểu

• Tạo Class diagram trong Power Designer

• Convert Class diagram sang PDM trong Power Designer

Trang 13

MonIDMaMonTenMonTinChiSoTietLTSoTietBTTenVT

: long: string: string: short: short: short: string+

+++

Them ()Xoa ()Sua ()LayDL ()

: void: void: void: void

CGiangVien+

++++

GVIDMaGVHocViChucDanhTenVT

: long: string: string: string: string

CKhoa

Trang 14

++++++

MonIDMaMonTenMonTinChiSoTietLTSoTietBTTenVT

: long: string: string: short: short: short: string+

+++

Them ()Xoa ()Sua ()LayDL ()

: void: void: void: void

Tên lớp (Class Name) Thuộc tính (Attribute) Hành động (Operation)

Trang 15

– Là các đặc trưng mô tả về đối tượng

• Đối tượng và lớp đối tượng

– Đối tượng là một thể hiện của lớp đối

tượng

– Thuộc tính của đối tượng có giá trị cụ

thể

Co so du lieu:CMONHOCMonID

MaMonTenMon

= 01 = TH01 = Co so du lieu

Cau truc du lieu:CMONHOCMonID

MaMonTenMon

= 02 = TH02 = Cau truc du lieu

CMONHOC+

++

MonIDMaMonTenMon

: long: string: string

Trang 16

• 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 (*)

CMONHOC+

++++++

MonIDMaMonTenMonTinChiSoTietLTSoTietBTTenVT

: long: string: string: short: short: short: string+

+++

Them ()Xoa ()Sua ()LayDL ()

: void: void: void: void

Trang 17

– Giá trị của thuộc tính khóa hai đối

tượng thuộc cùng một lớp không được phép trùng nhau

Co so du lieu:CMONHOCMonID

MaMonTenMonTinChiSoTietLTSoTietBTTenVT

= 01 = T H01 = Co so du lieu = 4

= 45 = 30 = CSDL

Cau truc du lieu:CMONHOCMonID

MaMon

T enMon

T inChiSoTietLTSoTietBT

T enVT

= 02 = T H02 = Cau truc du lieu = 4

= 45 = 30 = CTDL

CMONHOC+

++++++

MonIDMaMonTenMonTinChiSoTietLTSoTietBTTenVT

: long: string: string: short: short: short: string

Cau truc du lieu:CMONHOCMonID

MaMon

T enMon

T inChiSoTietLTSoTietBT

T enVT

= 01 = T H02 = Cau truc du lieu = 4

= 45 = 30 = CTDL

Trang 18

Các thành phần trong Class diagram

• 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 phái của Sinh viên chỉ có 2 giá trị: 0 hoặc 1 ( 0 : Nam , 1 : 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….

– ….

Trang 20

Các thành phần trong Class diagram

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

– 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

Trang 22

Các thành phần trong Class diagram

• 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 (*)

Trang 23

Các thành phần trong Class diagram

• Phân loại thuộc tính

– Thuộc tính private – Thuộc tính protected – Thuộc tính public

Trang 24

++++++

MonIDMaMonTenMonTinChiSoTietLTSoTietBTTenVT

: long: string: string: short: short: short: string+

+++

Them ()Xoa ()Sua ()LayDL ()

: void: void: void: void

Hành động (Operation)

Trang 25

– Nhóm hàm xử lý tính toán – Nhóm hàm kiểm tra tính hợp lệ của

đối tượng

Trang 26

Quan h ệ giữa các l ớp đối tượng

• Phân loại quan hệ

0 10 *

CGiangVien+

+++++++++

GVIDMaGVHocViChucDanhTenVTHoTenDiaChiDienThoaiEmail

: long: string: string: string: string: string: string: string: string: string

CKhoa+

++

KhoaIDMaKhoaTenKhoa

: int: string: string

Trang 27

Quan h ệ giữa các l ớp đối tượng

• Phân loại quan hệ dựa trên bản số

– Quan hệ “1-1”

– Quan hệ “1-nhiều”

– Quan hệ “nhiều-nhiều”

0 10 *

CGiangVien+

+++++++++

GVIDMaGVHocViChucDanhTenVTHoTenDiaChiDienThoaiEmail

: long: string: string: string: string: string: string: string: string: string

CKhoa+

++

KhoaIDMaKhoaTenKhoa

: int: string: string

Trang 28

Thuoc

CGiangVien +

+ + + + + + + + +

GVID MaGV HocVi ChucDanh TenVT Ho Ten DiaChi DienThoai Email

: long : string : string : string : string : string : string : string : string : string

CKhoa +

+ +

KhoaID MaKhoa TenKhoa

: int : string : string

Trang 29

-MaNVHoNV

T enNVDiachiDienThoaiEmailHoTenKhaiSinhHoTenKhacGioiT inhNguyenQuanDanT oc

T onGiaoVanHoaNgoaiNgu

T inHocNhomMauHocViHocHam

: string: string: string: string: string: string: string: string: bool: string: string: string: string: string: string: string: string: string

1 1 1 1CNhanVien

-

-MaNVHoNV

T enNVDiachiDienThoaiEmail

: string: string: string: string: string: string

CLyLichNhanVien-

-

-MaNVHoTenKhaiSinhHoTenKhacGioiT inhNguyenQuanDanToc

T onGiaoVanHoaNgoaiNgu

T inHocNhomMauHocViHocHam

: string: string: string: bool: string: string: string: string: string: string: string: string: string

Trang 30

Thuoc

CGiangVien +

+ + + + + + + + +

GVID MaGV HocVi ChucDanh TenVT Ho Ten DiaChi DienThoai Email

: long : string : string : string : string : string : string : string : string : string

CKhoa +

+ +

KhoaID MaKhoa TenKhoa

: int : string : string

0 1 0 *

CNganh +

+ + +

NganhID MaNganh

T enNganh

T enVT

: long : string : string : string

CKhoa +

+ +

KhoaID MaKhoa

T enKhoa

: int : string : string

Trang 31

- -

-MaHD NgayHD ThanhTien VAT

: string : CDate : double : double

CHangHoa -

- - -

-MaMH TenMH DVT DonGia QuyCach

: string : string : string : double : string

0 *

0 *

CSinhVien -

- - -

-MaSV TenSV NgaySinh DiaChi Email

: string : string : CDate : string : string

CMonHoc -

- - -

-MaMH TenMH SoTC SoTietLT SoTietT H

: string : string : int : int : int

Trang 32

- - -

-MaSV TenSV NgaySinh DiaChi Email

: string : string : CDate : string : string

CMonHoc -

- - -

-MaMH TenMH SoTC SoTietLT SoTietT H

: string : string : int : int : int

0 *

0 *

CSinhVien -

- - -

-MaSV TenSV NgaySinh DiaChi Email

: string : string : CDate : string : string

CMonHoc -

- - -

-MaMH TenMH SoTC SoTietLT SoTietTH

: string : string : int : int : int

CKetQua -

- -

-HocKy NienKhoa Lan Diem

: int : string : int : double

Trang 33

- - -

-MaSV TenSV NgaySinh DiaChi Email

: string : string : CDate : string : string

CMonHoc -

- - -

-MaMH TenMH SoTC SoTietLT SoTietT H

: string : string : int : int : int

1 1

0 *

CSinhVien -

- -

-MaSV TenSV NgaySinh DiaChi

: string : string : CDate : string

CMonHoc -

- -

-MaMH

T enMH SoTC SoTietLT

: string : string : int : int

CKetQua -

- -

-HocKy NienKhoa Lan Diem

: int : string : int : double

Trang 34

- -

-MaHD NgayHD ThanhTien VAT

: string : CDate : double : double

CHangHoa -

- - -

-MaMH TenMH DVT DonGia QuyCach

: string : string : string : double : string

0 *

0 *

CHoaDon -

- -

-MaHD NgayHD ThanhTien VAT

: string : CDate : double : double

CHangHoa -

- - -

-MaMH TenMH DVT DonGia QuyCach

: string : string : string : double : string

CCTHD -

-SoLuong DonGia

: int : double

Trang 35

- -

-MaHD NgayHD ThanhTien VAT

: string : CDate : double : double

CHangHoa -

- - -

-MaMH TenMH DVT DonGia QuyCach

: string : string : string : double : string

CHoaDon -

-

-MaHD NgayHD ThanhTien

: string : CDate : double

CHangHoa -

-MaMH TenMH

: string : string

CCTHD -

-

-SoLuong DonGia ThanhTien

: int : double : double

Trang 36

0 *

Duoc quan ly boi

CNhanVien : 1 -

- - -

-MaNV HoNV TenNV Diachi DienT hoai

: string : string : string : string : string

CNhanVien : 2 -

- -

-MaNV HoNV TenNV Diachi

: string : string : string : string

0 1Quan ly

0 *

Duoc quan ly boiCNhanVien

-

-MaNVHoNVTenNVDiachiDienThoaiEmail

: string: string: string: string: string: string

0 1

0 *

CNhanVien-

-MaNVHoNV

T enNVDiachiDienT hoaiEmail

: string: string: string: string: string: string

Trang 37

Duoc quan ly boi

CNhanVien : 1 -

- - - -

-MaNV HoNV TenNV Diachi DienT hoai Email

: string : string : string : string : string : string

CNhanVien : 2 -

- - - -

-MaNV HoNV TenNV Diachi DienThoai Email

: string : string : string : string : string : string

Nguyen Van A:CNhanVienMaNV

HoNVTenNV

= NV001 = Nguyen Van = A

Nguyen Van B:CNhanVienMaNV

HoNVTenNV

= NV003 = Nguyen Van = B

Nguyen Van C:CNhanVienMaNV

HoNVTenNV

= NV002 = Nguyen Van = C

Trang 38

- - - -

-MaNV HoNV TenNV Diachi DienThoai Email

: string : string : string : string : string

- - - -

-MaNV STT NgayKy NgayHL MucLuong

: string : int : CDate : CDate : double

CQuaTrinhCongTac -

- - -

-MaNV STT NgayKy NgayHL ChucVu

: string : int : CDate : CDate : string

Trang 39

– Nếu đối tượng chính bị hủy thì các đối

tượng bộ phận sẽ bị hủy theo

CNhanVien -

- - - -

-MaNV HoNV

T enNV Diachi DienThoai Email

: string : string : string : string : string : string

CThanNhan -

-

-MaT N

T enTN DiaChi

: string : string : string

Trang 40

Quan h ệ giữa các l ớp đối tượng

• Quan hệ kế thừa - Generalization

– Biểu diễn mối liên hệ “Cha/con” giữa

các lớp đối tượng

CAnimal

Trang 41

– Lớp cha được gọi là lớp cơ sở (Base

class), lớp con gọi là lớp dẫn xuất (Devired class)

CNhanVien-

-MaNVHoT enDiaChiDienT hoai

: string: string: string: string

Trang 42

- -

-MaSV HoTen NgaySinh DiaChi

: int : int : int : int

CSinhVienChinhQuy -

-

-DiemM1 DiemM2 DiemM3

: float : float : float

CSinhVienChuyenTu -

-ChuyenNganh VanBang

: char[50]

: char[50]

Trang 43

– Đa kế thừa CTuGiac

CHinhChuNhat CHinhThoi

Trang 44

• Các thành phần trong Class diagram

• Quy tắc chuyển đổi từ class diagram sang

Physical Data Model

• Xây dựng class diagram của ứng dụng quản lý thời khóa biểu

• Tạo Class diagram trong Power Designer

• Convert Class diagram sang PDM trong Power Designer

Trang 46

– Tất cả các thuộc tính của class 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 class sẽ được chuyển thành primary key (khóa chính) của table tương ứng

– Không chuyển các hành động (xử

lý/hàm) của class qua PDM

Trang 47

TenSV NgaySinh DiaChi Email

varchar(10) varchar(50) datetime varchar(100) varchar(30)

<pk>

CMonHoc

CSinhVien -

- - -

-MaSV TenSV NgaySinh DiaChi Email

: string : string : CDate : string : string +

+ +

Them () Xoa () Sua ()

: int : int : int

Trang 48

-MaNVHoTenKhaiSinhHoTenKhacGioiT inhNguyenQuanDanToc

T onGiaoVanHoaNgoaiNgu

T inHocNhomMau

: string: string: string: bool: string: string: string: string: string: string: string

CNhanVien-

-MaNVHoNV

T enNVDiachiDienThoaiEmail

: string: string: string: string: string: string

MaNV = MaNV

CLyLichNhanVienMaNV

HoTenKhaiSinhHoTenKhacGioiTinhNguyenQuanDanTocTonGiaoVanHoaNgoaiNguTinHoc

stringstringstringbitstringstringstringstringstringstring

<pk,fk>

CNhanVienMaNV

HoNVTenNVDiachiDienT hoaiEmail

stringstringstringstringstringstring

<pk>

Trang 49

+ +

KhoaID MaKhoa TenKhoa

: int : string : string

KhoaID = KhoaID

CNganh

CKhoa KhoaID

MaKhoa TenKhoa

int varchar(20) varchar(150)

<pk>

Trang 50

GVIDMaGVHocViChucDanhTenVTHoTenDiaChi

: long: string: string: string: string: string: string: string

CKhoa+

+

+

KhoaIDMaKhoaTenKhoa

: int: string: string

CBoMon+

++

BMIDMaBMTenBM

: long: string: string

KhoaID = KhoaID BMID = BMID

KhoaID = KhoaID

CGiangVienGVID

KhoaIDBMIDMaGVHocViChucDanh

T enVTHo

T enDiaChi

intintintvarchar(20)varchar(150)varchar(150)varchar(150)varchar(150)varchar(150)varchar(250)

<pk>

<fk1>

<fk2>

CKhoaKhoaID

MaKhoaTenKhoa

intvarchar(20)varchar(150)

<pk>

CBoMonBMID

KhoaIDMaBMTenBM

intintvarchar(20)varchar(150)

<pk>

<fk>

Trang 51

- -

-MaHD NgayHD ThanhTien VAT

: string : CDate : double : double

CHangHoa -

- - -

-MaMH TenMH DVT DonGia QuyCach

: string : string : string : double : string

0 *

0 *

CSinhVien -

- - -

-MaSV TenSV NgaySinh DiaChi Email

: string : string : CDate : string : string

CMonHoc -

- - -

-MaMH TenMH SoTC SoTietLT SoTietT H

: string : string : int : int : int

Trang 52

- -

-MaHD NgayHD ThanhTien VAT

: string : CDate : double : double

CHangHoa -

- - -

-MaMH TenMH DVT DonGia QuyCach

: string : string : string : double : string

CCTHD -

-

-SoLuong DonGia ThanhTien

: int : double : double

CHoaDon -

-

-MaHD NgayHD ThanhTien

: string : CDate : double

CHangHoa -

-

-MaMH TenMH DVT

: string : string : string

CCTHD -

-

-SoLuong DonGia ThanhTien

: int : double : double

Trang 53

- - -

-MaSV TenSV NgaySinh DiaChi Email

: string : string : CDate : string : string

CMonHoc -

- - -

-MaMH TenMH SoTC SoTietLT SoTietTH

: string : string : int : int : int

CKetQua -

- -

-HocKy NienKhoa Lan Diem

: int : string : int : double

Trang 54

varchar(10)varchar(50)datetimevarchar(100)

<pk>

CMonHocMaMH

TenMHSoTCSoTietLT

varchar(10)varchar(50)int

int

<pk>

CKetQuaMaSV

MaMHHocKyNienKhoa

varchar(10)varchar(10)int

- - -

-MaSV TenSV NgaySinh DiaChi Email

: string : string : CDate : string : string

CMonHoc -

- - -

-MaMH TenMH SoTC SoTietLT SoTietTH

: string : string : int : int : int

CKetQua -

- -

-HocKy NienKhoa Lan Diem

: int : string : int : double

Trang 55

- -

-MaHD NgayHD ThanhTien VAT

: string : CDate : double : double

CHangHoa -

- - -

-MaMH TenMH DVT DonGia QuyCach

: string : string : string : double : string

CCTHD -

-

-SoLuong DonGia ThanhTien

: int : double : double

CCTHD

Trang 56

-MaNVHoT enDiaChiDienThoai

: string: string: string: string

CNhanVienQL-

-HSLuongPhuCap

: float: float

HoTenDiaChiDienThoai

stringstringstringstring

<pk>

CNhanVienQL CNhanVienVP CNhanVienSX CNhanVienBH

Ngày đăng: 11/04/2016, 11:24

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w