bai giang th phan tich thiet ke he thong
TRANSCRIPT
Bài giảng Thực hành PTTK HTTT
1
MỤC LỤC
CHƢƠNG 1: THIẾT LẬP MÔ HÌNH ER ................................................................................... 3
1.1. Giới thiệu: ........................................................................................................................ 3
1.1.1. Khởi động Power Designer 16.................................................................................... 3
1.1.2. Tạo mới 1 mô hình quan niệm dữ liệu ........................................................................ 3
1.1.3. Thanh công cụ ........................................................................................................... 5
1.2. Thiết lập mô hình CDM ................................................................................................... 6
1.2.1 Tạo thực thể ................................................................................................................ 6
1.2.2. Tạo mối kết hợp ......................................................................................................... 8
1.2.3 Tạo thực thể yếu ....................................................................................................... 12
1.2.4. Biểu diễn mối kết hợp đệ quy ................................................................................... 14
1.2.5. Biểu diễn mối kết hợp 1-1 ........................................................................................ 14
1.2.6. Biểu diễn cấu trúc phân cấp ( tổng quát hóa và chuyên biệt hóa) ............................... 15
1.2.7. Biểu diễn mối kết hợp mở rộng ................................................................................ 18
1.3. Chuyển đổi từ mô hình CDM sang mô hình PDM ........................................................... 23
1.4. Chuyển đổi từ mô hình PDM sang SQL Server ............................................................... 26
1.5. Bài tập: ........................................................................................................................... 35
CHƢƠNG 2. THIẾT LẬP MÔ HÌNH DFD............................................................................... 38
2.1. Giới thiệu ....................................................................................................................... 38
2.2. Tạo ô xử lý, kho dữ liệu, tác nhân và dòng dữ liệu .......................................................... 40
2.3. Tạo mô hình phân cấp..................................................................................................... 51
2.3.1. Tạo mô hình một cấp ............................................................................................... 51
2.3.2. Tạo mô hình nhiều cấp ............................................................................................. 52
2.4. Một số lƣu ý khi thiết kế mô hình xử lý........................................................................... 56
2.5. Bài tập ............................................................................................................................ 58
CHƢƠNG 3: THIẾT KẾ GIAO DIỆN ...................................................................................... 62
3.1. Giới thiệu: ...................................................................................................................... 62
3.2. Khởi tạo dự án: ............................................................................................................... 62
3.3. Thiết kế các thành phần GUI: ......................................................................................... 63
3.3.1. Tạo lập một màn hình mới: ...................................................................................... 63
3.3.2. Tạo lập cửa sổ ứng dụng chính: ................................................................................ 69
3.4. Thiết kế Prototype các ứng dụng tƣơng tác: .................................................................... 71
3.4.1 Gộp tất cả lại:............................................................................................................ 71
Bài giảng Thực hành PTTK HTTT
2
3.4.2 Thiết lập mối liên kết giữa các đối tƣợng: .................................................................. 72
3.5. Bài tập: ........................................................................................................................... 74
Bài giảng Thực hành PTTK HTTT
3
CHƢƠNG 1: THIẾT LẬP MÔ HÌNH ER
1.1. Giới thiệu:
1.1.1. Khởi động Power Designer 16
Start/All Programs/ Sybase/ PowerDesigner 16/ PowerDesigner
Object Browser Window: hiện nội dung của vùng làm việc
(workspace) trong tree view. Bạn có thể dùng Object Browser để tổ
chức các đối tƣợng trong mỗi mô hình của bạn.
Workspace là tên của PowerDesigner session hiện hành. CDM mới sẽ
đƣợc mở và lƣu trong workspace.
Output Window: hiển thị progression của các process mà bạn chạy từ
PowerDesigner, Ví dụ tiến trình tạo PDM từ CDM sẽ đƣợc hiển thị
trong window này.
1.1.2. Tạo mới 1 mô hình quan niệm dữ liệu
File/ New Model. Hộp thoại New Model xuất hiện.
Chọn Model types là Conceptual Data Model.
Gõ tên mô hình vào ô Model name
Click nút OK
Bài giảng Thực hành PTTK HTTT
4
Tên mô hình xuất hiện trong cửa sổ Workspace
Bài giảng Thực hành PTTK HTTT
5
1.1.3. Thanh công cụ
Cách bật Association và Association link:
Vào menu: tools-> Model options-> Notation, chọn "E/R+Merise"
Mối quan hệ giữa 2 thƣc thể
Cấu trúc phân cấp
Thực thể
Mối kết hợp
Liên kết giữa thực thể và mối kết hợp
Bài giảng Thực hành PTTK HTTT
6
1.2. Thiết lập mô hình CDM Hệ thống quản lý sinh viên của trƣờng đại học công nghiệp Thực phẩm cần
quản lý các thông tin sau:
Trƣờng có nhiều lớp, mỗi lớp có nhiều sinh viên. Mỗi sinh viên học nhiều môn
học, ứng với mỗi môn học có 1 điểm số. Thông tin lớp học gồm: mã lớp và tên
lớp (mã lớp là khóa chính). Thông tin sinh viên gồm: mã sinh viên, họ tên,
ngày sinh và địa chỉ (mã sinh viên là khóa chính). Thông tin môn học gồm: mã
môn học, tên môn học và số tín chỉ (mã môn học là khóa chính). Ngoài ra, mỗi
sinh viên còn đƣợc cấp 1 thẻ thƣ viện. Thông tin thẻ thƣ viện gồm: mã thẻ,
ngày cấp, ngày hết hạn.
SINHVIEN
Thuộc tính Kiểu dữ liệu Kích thƣớc Ghi chú
MASV Character 10 Thuộc tính khóa
TENSV Character 30
NGAYSINH Datetime
DIACHI Character 30
LOPHOC
Thuộc tính Kiểu dữ liệu Kích thƣớc Ghi chú
MALOP Character 10 Thuộc tính khóa
TENLOP Character 30
MONHOC
Thuộc tính Kiểu dữ liệu Kích thƣớc Ghi chú
MAMH Character 10 Thuộc tính khóa
TENMH Character 30
SOTC Integer
THETHUVIEN
Thuộc tính Kiểu dữ liệu Kích thƣớc Ghi chú
MATHE Character 10 Thuộc tính khóa
NGAYCAP Date
NGAYHETHAN Date
1.2.1 Tạo thực thể
Click chuột vào biểu tƣợng thực thể trên Toolbox, sau đó click vào nơi muốn
đặt thực thể trong lƣợc đồ.
Khai báo thông tin của thực thể:
Double-click vào thực thể, một cửa sổ mới mở ra cho phép chúng ta chỉnh sửa
thông tin của thực thể nhƣ: tên của thực thể, thuộc tính của thực thể, các rule,….
Thẻ General:
Name Tên thực thể. Tên này hiển thị trên mô hình
Code Tên tắt của thực thể. Tên này đƣợc dùng khi chuyển sang
CSDL vật lý
Bài giảng Thực hành PTTK HTTT
7
Comment Diễn giải về thực thể
Number Số mẫu tin sẽ lƣu trữ trong thực thể
Generate table Đƣợc chọn nếu entity sẽ đƣợc chuyển thành table trong
PDM
Thẻ Attributes : Khai báo thuộc tính của thực thể
Name: nhập tên thuộc tính của thực thể
Bài giảng Thực hành PTTK HTTT
8
Code: phát sinh một mã tƣơng ứng một thuộc tính (không cần quan
tâm)
Data Type: cho phép chọn kiểu dữ liệu cho thuộc tính, click vào dấu
“…” bên cạnh, cửa sổ các kiểu dữ liệu mở ra, ta chọn kiểu dữ liệu
phù hợp cho các thuộc tính, bên dƣới cho có text box cho phép ta
chọn kích thƣớc chiều dài của từng kiểu dữ liệu.
M (Mandatory): thuộc tính có bắt buộc hay không?
P(Primary Indentifier): thuộc tính có phải là khóa chính hay không?
D(Displayed): có hiển thị thuộc tính này hay không?
1.2.2. Tạo mối kết hợp
Cách 1: không sử dụng biểu tƣợng mối kết hợp ở giữa:
Giả sử ta xét mối quan hệ giữa hai thực thể SINHVIEN và LOPHOC
Chọn biểu tƣợng mối quan hệ của hai thực thể từ thanh công cụ.
Click vào thực thể SINHVIEN và kéo qua thực thể LOP.
Để thay đổi thông tin của mối kết hợp: nhƣ tên của mối kết hợp, bản
số của mối kết hợp(1-1, 1-n, n-1, ….) ta double click vào mối quan
hệ:
Bài giảng Thực hành PTTK HTTT
9
Nhập tên mối quan hệ vào mục Name
Chọn bản số của mối kết hợp trong thẻ Cardinalities. Ta có các mối
quan hệ: 1-1, 1-n, n-1, n-n.
Dependent cho phép ta có sử dụng phụ thuộc khóa hay không?
Mandatory: cho biết lƣợng số tối thiểu ở mỗi đầu của mối kết hợp là
1 (chọn Mandatory) hoặc 0 (không chọn Mandatory)
Sau khi tạo xong, kết quả nhƣ sau:
o
Cách 2: sử dụng biểu tƣợng mối kết hợp ở giữa:
Bƣớc 1: tạo ra 1 mối kết hợp trong lƣợc đồ:
Bài giảng Thực hành PTTK HTTT
10
Chọn biểu tƣợng Association từ thanh công cụ và đặt vào trong
lƣợc đồ.
Double Click vào mối kết hợp vừa tạo : Khai báo thông tin của mối
kết hợp: giống nhƣ khai báo thông tin của thực thể. Chú ý: mối kết hợp không có thuộc tính khóa
Bƣớc 2: Tạo liên kết giữa thực thể với mối kết hợp
Click chọn biểu tƣợng Link, kéo thả từ thực thể đến mối kết hợp.
Chỉnh sửa các thông tin của liên kết:
Role :Nhãn diễn giải vai trò của mối liên kết
Cardinality: Bản số mỗi nhánh của mối kết hợp.
Bài giảng Thực hành PTTK HTTT
11
o Kết quả như sau:
Tƣơng tự, sinh viên tự tạo mối kết hợp giữa thực thể SINHVIEN và
MONHOC: Mối kết hợp giữa SINHVIEN và MONHOC đặt tên là KETQUA, thuộc tính điểm
thuộc về mối kết hợp này.
Bài giảng Thực hành PTTK HTTT
12
o Kết quả như sau:
1.2.3 Tạo thực thể yếu
Mối kết hợp KETQUA trong ví dụ trên có thể chuyển thành một thực thể.
Thuộc tính Diem trở thành thuộc tính của thực thể KETQUA. Thực thể này
là thực thể yếu, nó phụ thuộc vào 2 thực thể SINHVIEN và MONHOC. Do đó,
khóa của nó kế thừa từ khóa của hai thực thể SINHVIEN và MONHOC.
Vậy làm cách nào để 1 thực thể kế thừa khóa từ 1 thực thể
khác?
Bài giảng Thực hành PTTK HTTT
13
Trong lúc tạo mối quan hệ giữa hai thực thể ta chỉ cần check vào checkbox
Dependent nhƣ hình bên dƣới:
Kết quả như sau:
Bài giảng Thực hành PTTK HTTT
14
1.2.4. Biểu diễn mối kết hợp đệ quy
Giả sử ta có mối kết hợp đệ quy:
Cách làm nhƣ sau:
Bƣớc 1: vẽ thực thể Nhân viên
Bƣớc 2: vẽ mối kết hợp Quản lý
Bƣớc 3: Tạo 2 liên kết giữa thực thể Nhân viên và mối kết hợp Quản lý
Kết quả nhƣ sau:
1.2.5. Biểu diễn mối kết hợp 1-1
Ta thấy rằng bản số của mối kết hợp giữa 2 thực thể SINHVIEN và
THETHUVIEN là 1-1 theo hình sau:
Khi chuyển sang PDM, mô hình có dạng:
Giả sử ta chỉ muốn đƣa MaSV vào table THETHUVIEN mà không muốn đƣa
Mathe vào table SINHVIEN, ta double click vào đƣờng link của mối kết hợp,
chọn mục Dominant role nhƣ hình dƣới đây:
Bài giảng Thực hành PTTK HTTT
15
Kết quả sau khi chuyển sang PDM nhƣ sau:
1.2.6. Biểu diễn cấu trúc phân cấp ( tổng quát hóa và chuyên biệt hóa)
(1) Click công cụ Inheritance link trong thanh Palette
(2) Drag and drop từ thực thể con đến thực thể cha. Sẽ sinh ra MKH kế
thừa có tên là Inhr_n.
(3) Nếu muốn khai báo thêm thực thể con thì drag and drop từ ký hiệu hình
bán nguyệt tới thực thể con đƣợc thêm.
Nếu muốn thay đổi tên và khai báo các đặc tính của nó thì bấm đúp vào
hình bán nguyệt, sẽ xuất hiện hộp thoại inheritance properties.
Bài giảng Thực hành PTTK HTTT
16
Ví dụ: Nhân viên trong trƣờng đại học đƣợc chia làm 2 loại: giảng viên và
nhân viên hành chính. Giảng viên và nhân viên hành chính cùng có các thông
tin: Mã nhân viên, họ tên, ngày sinh, địa chỉ. Riêng giảng viên có thêm thông
tin: khoa làm việc, còn nhân viên hành chính có thêm thông tin: phòng ban làm
việc.
Để thay đổi thông tin của mối kết hợp thừa kế, ta double click vào mối kết hợp cần
thay đổi. Các thông tin chỉnh sửa gồm:
Trang General:
Name : tên của mối kết hợp
Code : phát sinh mã tƣơng ứng với tên vừa nhập
Bài giảng Thực hành PTTK HTTT
17
Trang Generation: Chỉ định cách thức chuyển đổi cấu trúc kế thừa sang
mô hình PDM
Genarate parent: tạo hay không tạo thực thể cha
Genarate children: tạo hay không tạo thực thể con
Trƣờng hợp chỉ chọn Generate Parent mà không chọn Generate Children: tạo ra
một Table tƣơng ứng với thực thể cha và chứa thêm các thuộc tính của thực thể
con. Kết quả khi chuyển sang mô hình PDM nhƣ sau: NHANVIEN
MaNV
TenNV
Khoa
Phong
char(10)
char(30)
char(10)
char(10)
<pk>
Trƣờng hợp chỉ chọn Generate Children mà không chọn Generate Parent:
Khi chuyển sang PDM, Power Designer sẽ tạo các table tƣơng ứng với các thực
thể con. Khi đó cần chỉ định cách thức kế thừa:
Inherit all attributes: kế thừa tất cả các thuộc tính của thực thể cha
Inherit only primary attributes: chỉ kế thừa các thuộc tính khóa của thực thể
cha
Bài giảng Thực hành PTTK HTTT
18
Trƣờng hợp chọn cả 2:
1.2.7. Biểu diễn mối kết hợp mở rộng
Ví dụ bạn cần biểu diễn mối kết hợp mở rộng cho hệ thống thông tin quản
lý khách sạn nhƣ sau: Mỗi lần khách đến ở thì lập một phiếu đăng ký, mỗi phiếu
đăng ký đƣợc đăng ký nhiều phòng. Khách sạn cũng có các dịch vụ để phục vụ
khách hàng, các dịch vụ này chỉ phục vụ sau khi khách đã đăng ký và đến ở. Hệ
thống cũng lƣu lại số lƣợng sử dụng dịch vụ của từng phòng trong một lần ở.
Bài giảng Thực hành PTTK HTTT
19
Trong ví dụ này, giả sử ta có 2 mối kết hợp CTPHONG và CTDICHVU, rõ
ràng mối kết hợp CTDICHVU đƣợc nghĩa trên mối kết hợp CTPHONG nhƣ hình
vẽ tay dƣới đây:
Cách biểu diễn mô hình trong mô hình CDM của Power Designer
Đầu tiên các mối kết hợp và kểt hợp mở rộng ta điều tạo là các thực thể.
Kết quả nhƣ sau:
Bài giảng Thực hành PTTK HTTT
20
Việc tạo các thực thể đơn giản nhƣ đã làm ở phần bài tập trên, ở đây ta quan
tâm đến mối kết hợp và mối kết hợp mở rộng là làm sao chúng kế thừa đƣợc
khóa từ những thực thể của chúng. Cụ thể, thực thể CTPHONG là thực thể
yếu phụ thuộc vào 2 thực thể PHIEUDANGKY và PHONG, thực thể
CTDICHVU là thực thể yếu phụ thuộc vào 2 thực thể CTPHONG và
DICHVU.
Cách tạo mối quan hệ phụ thuộc thực hiện nhƣ hƣớng dẫn ở phần 4.3
Giả sử hệ thống cần lƣu lại chi tiết ngày sử dụng và giờ sử dụng cho mỗi lần
khách sử dụng dịch vụ để phân biệt các lần sử dụng khác nhau trong ngày.
Lúc này mối kết hợp CTDICHVU có thêm 2 thuộc tính NgaySD và GioSD.
Hai thuộc tính này là thuộc tính khóa, đƣợc vẽ bằng tay nhƣ sau:
Bài giảng Thực hành PTTK HTTT
21
Ta không thể thiết lập thuộc tính khóa cho mối kết hợp, hơn nữa mối kết
hợp CTDICHVU lúc này có định danh riêng nên phải chuyển thành thực
thể. Sau khi chuyển, kết quả nhƣ sau:
Bài giảng Thực hành PTTK HTTT
22
Bài giảng Thực hành PTTK HTTT
23
1.3. Chuyển đổi từ mô hình CDM sang mô hình PDM
Bƣớc 1: Kiểm tra mô hình:
Chọn Tool/Check Model hoặc ta có thể nhấn phím tắt F4
Xuất hiện hộp Check Conceptual Data Model
Chọn hay bỏ chọn những đối tƣợng cần kiểm tra lỗi và chú ý
o Click OK. Kết quả kiểm tra sẽ hiện trong khung “Output”. Đối tƣợng và
thuộc tính bị lỗi sẽ hiện trong khung Result List.
Trƣờng hợp mô hình có lỗi, bạn có thể xem chi tiết thông báo lỗi hoặc chuyển
nhanh đến đối tƣợng bị lỗi bằng cách: click phải vào dòng thông báo trong hộp
thoại “Result List” và chọn:
(1) Detail để xem chi tiết lỗi
(2) Correct mở cửa sổ thuộc tính của đối tƣợng bị lỗi để chỉnh sửa.
(3) Recheck để kiểm tra lại mô hình sau khi hiệu chỉnh
Bài giảng Thực hành PTTK HTTT
24
Bƣớc 2: Chuyển mô hình quan niệm sang mô hình vật lý:
Chọn
Tools
Generate
Physical
Data
Model
hoặc sử
dụng
phím tắt
Ctrl+Shif
t+P.
Trang
General,
Chọn Hệ
quản trị
(DBMS)
dùng để
lƣu trữ
database
sau này
Bài giảng Thực hành PTTK HTTT
25
Trang
Detail,
chỉnh các
tùy chọn
Trang
Selection,
chọn các
đối tƣợng
cần
chuyển
đổi sang
PDM.
Click OK
để thực
hiện
Bài giảng Thực hành PTTK HTTT
26
Nhấn OK ta đƣợc mô hình vật lý nhƣ sau:
1.4. Chuyển đổi từ mô hình PDM sang SQL Server
Bƣớc 1: Tạo CSDL mới trong SQL Server, giả sử Database mới trong SQL Server
là QLKS
Bƣớc 2: Tạo kết nối từ Power Designer đến CSDL trên SQL Server.
Từ mô hình vật lý:
Bài giảng Thực hành PTTK HTTT
27
(1) Chọn Database Connect.
Một cửa sổ connect xuất hiện
nhƣ sau:
(2) Ở đây chúng ta phải
thực hiện kết nối
qua một ODBC, do
vậy chúng ta phải
tạo một kết nối
ODBC, để tạo kết
nối ta nhấn vào nút
Configure, màn
hình sau xuất hiện:
Click vào biểu
tƣợng Add Data
Source trên hình
Bài giảng Thực hành PTTK HTTT
28
(3) Chọn loại Data
Source, nhấn nút
Next
(4) Cửa sổ Create New
Data Source xuất
hiện, chọn trong
listbox SQL
Server, nhấn nút
Next
Bài giảng Thực hành PTTK HTTT
29
(5) Nhấn nút Finish,
xuất hiện cửa sổ
Create a new data
source to SQL
Server
(6) Trong phần Name
ta gõ tên bất kỳ tùy
thích, phần
Description không
cần phải điền, phần
Server bạn phải
chọn tên server đã
connect bên SQL
nhƣ hình minh họa
sau:
Sau đó nhấn nút
Next
Bài giảng Thực hành PTTK HTTT
30
(7) Một cửa sổ khác
xuất hiện, cho phép
bạn chọn kiểu kết
nối đến SQL
Server:
(8) Nhấn nút Next, ta
sang màn hình cho
phép chỉ định
CSDL cần kết nối,
Sau đó nhấn nút
Next
Bài giảng Thực hành PTTK HTTT
31
(9) Để mặc định các
giá trị ta tiếp tục
nhấn Finish, thì
(10) Cửa sổ ODBC
Microsoft SQL
Server Setup xuất
hiện nhƣ sau:
Bài giảng Thực hành PTTK HTTT
32
(11) Nhấn vào Test
Data Source, một
màn hình thông
báo kết quả
connect có thành
công hay không?
Sau đây là màn
hình thông báo
connect đã thành
công
Sau đó ta nhấn nút OK liên tiếp nhau để quay về màn hình Connect ban đầu. Lúc này ta
đã tạo đƣợc 1 kết nối
Bƣớc 3: Ở màn hình connect ban đầu chúng ta chọn lại kết nối ODBC đã tạo là QL
KHACH SAN trong phần Machine Data Source. Nếu kết nối với giấy phép của
SQL Server thì trong phần Login ta gõ User ID và Password để login vào
SQL(chẳng hạn sa) và sau đó ta nhấn vào nút Connect.
Ta có hình minh họa sau:
Bài giảng Thực hành PTTK HTTT
33
Bƣớc 4: Ta chọn DatabaseGenerate Database (Ctrl + G), cửa sổ Database
Generation xuất hiện, cửa sổ này cho phép chúng ta lựa chọn một số tham số cần
thiết trƣớc khi tạo database:
Bài giảng Thực hành PTTK HTTT
34
Sau khi lựa chọn tham số xong, ta nhấn vào nút OK, hộp thoại sau xuất
hiện:
Nhấn nút Run, lúc này các Table đã đƣợc tạo trong Database QLKS của SQL
Server.
Đoạn
Script
Bài giảng Thực hành PTTK HTTT
35
1.5. Bài tập: Bài tập 1: vẽ mô hình thực thể kết hợp cho bài toán quản lý thƣ viện dƣới đây
docgia
nguoilon treem
bao lanh 1..10..n
dausach
cuonsach
tuasach
co
1..n
1..1
cua 1..1
1..n
dangky
0..n
0..n
phieumuon
lien quan
lien quan0..n
1..1
1..1
0..n
phieutra
co
1..1
1..1
thedocgia
cua
1..1
1..1
Thuyết minh cho mô hình dữ liệu Thuộc tính mô tả cho các thực thể
Thực thể docgia: ma_docgia, ho, tenlot, ten, hinh
Thực thể thedocgia: ma_docgia, ngaylapthe, ngayhethan
Thực thể nguoilon: ma_docgia, sonha, duong, quan, dienthoai, ngaysinh
Thực thể treem: ma_docgia, ngaysinh.
Thực thể tuasach: ma_tuasach, tuasach, tacgia, tomtat
Thực thể dausach: isbn, ngonngy, bia, trangthai
Thực thể cuonsach: ma_cuonsach, tinhtrang
Mối kết hợp dangky: ngay_dk,ghichu
Thực thể phieumuon: ngaymuon, ngaytra
Thực thể phieutra: ngaytrathatsu, tienphat
Về cách qui định đặt thuộc tính tham gia làm khóa chính cho các thực thể
Thực thể tuasach có ma_tuasach là khóa chính
Thực thể dausach có isbn là khóa chính
Thực thể cuonsach lấy khóa chính của thực thể dausach và thuộc tính
ma_cuonsach của nó để làm khóa chính
Thực thể docgia co ma_docgia là khóa chính
Bài giảng Thực hành PTTK HTTT
36
Thực thể phieumuon sẽ lấy khóa chính của các thực thể docgia, cuonsach và
thuộc tính ngaymuon của nó để làm khóa chính
Mối kết hợp dangky sẽ lấy khóa chính của thực thể docgia, dausach và thuộc
tính ngaydangky của nó để làm khóa chính
Bài tập 2:
Vẽ mô hình thực thể kết hợp cho đề tài nhóm mà anh(chị) thực hiện trong môn
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN
Bài tập 3: Vẽ mô hình thực thể kết hợp cho các bài toán sau đây:
Bài 1: QUẢN LÝ NHÀ HÀNG
Một nhà hàng cần xây dựng một hệ thống quản lý công việc của nhà hàng. Nhà
hàng bán nhiều món ăn. Mỗi món ăn có các thông tin nhƣ tên món ăn, đơn vị tính,
đơn giá. Các món ăn đƣợc xếp theo từng loại nhƣ cơm, phở, hải sản, nƣớng, lẩu,…
Mỗi loại món ăn có các thông tin loại món ăn, giá thấp nhất, giá cao nhất. Nhà
hàng còn bán các loại thức uống nhƣ bia, rƣợu, nƣớc ngọt, nƣớc suối,…Mỗi loại
thức uống bao gồm nhiều thức uống và có các thông tin nhƣ loại thức uống, giá
thấp nhất, giá cao nhất. Mỗi thức uống có các thông tin nhƣ tên thức uống, đơn vị
tính, đơn giá. Mỗi thức uống chỉ do một nhà sản xuất sản xuất ra. Thông tin về nhà
sản xuất là tên nhà sản xuất, địa chỉ, số điện thoại.
Các thực khách sẽ đến ăn uống tại nhà hàng. Mỗi thực khách có các thông tin nhƣ:
số CMND, họ tên, địa chỉ, phái. Nếu các thực khách đi theo nhóm thì chỉ tính là
một thực khách và chọn một ngƣời trong nhóm là đại diện. Mỗi lần đến ăn uống
tại nhà hàng, thực khách sẽ nhận đƣợc hóa đơn thanh toán có các thông tin: mã
hóa đơn, ngày lập, họ tên thực khách, các món ăn, các thức uống, giá tiền.
Bài 2: QUẢN LÝ CỬA HÀNG VẬT LIỆU XÂY DỰNG
Một cửa hàng vật liệu xây dựng muốn xây dựng CSDL để quản lý hoạt động kinh
doanh của cửa hàng. Cửa hàng mua nguyên vật liệu từ các nhà cung cấp. Mỗi lần
cần mua nguyên vật liệu, cửa hàng cần lập đơn đặt hàng ghi rõ các mặt hàng cần
mua, số lƣợng. Thông tin về nguyên vật liệu là mã vật liệu, tên vật liệu, đơn vị tính.
Trong đơn đặt hàng cần ghi rõ mã hóa đơn, ngày lập và nhân viên lập. Khi nhà
Bài giảng Thực hành PTTK HTTT
37
cung cấp giao hàng, cửa hàng sẽ lập phiếu nhập hàng gồm các thông tin mã phiếu
nhập, ngày giờ nhập, nhập theo đơn hàng nào, các mặt hàng nhập, số lƣợng và đơn
giá nhập. Một đơn đặt hàng có thể phải nhập hàng nhiều lần nhƣng mỗi lần nhập
hàng chỉ nhập theo một đơn đặt hàng. Các mặt hàng đƣợc phân theo loại hàng để
tiện quản lý. Thông tin của loại hàng gồm mã loại, tên loại.
Các khách hàng sẽ đến cửa hàng mua vật liệu. Mỗi lần khách hàng mua vật liệu
nhân viên của cửa hàng sẽ lập phiếu xuất hàng, trong đó ghi rõ ngày xuất, xuất cho
khách hàng nào, nhân viên lập, danh sách chi tiết các mặt hàng cùng số lƣợng, đơn
giá xuất, tổng thành tiền.
Bài 3: QUẢN LÝ MUA BÁN HÀNG TẠI SIÊU THỊ
Một siêu thị cần xây dựng một hệ thống quản lý hàng hóa đang bày bán tại siêu thị.
Siêu thị hiện đang có những hoạt động nhƣ sau:
Siêu thị nhập hàng từ nhà cung cấp. Các nhà cung cấp cung cấp nhiều mặt hàng
với số lƣợng khác nhau. Mỗi mặt hàng cần ghi nhận thông tin mã hàng, tên hàng,
đơn vị tính. Mỗi mặt hàng chỉ do một nhà sản xuất làm ra. Những thông tin về nhà
sản xuất là: mã nhà sản xuất, tên nhà sản xuất, quốc tịch. Các mặt hàng thuộc cùng
chủng loại nhƣng khác nhà sản xuất sẽ đƣợc đánh mã khác nhau. Mỗi lần nhập
hàng cần lƣu lại phiếu nhập hàng gồm các thông tin nhƣ: mã phiếu nhập, các mặt
hàng nhập, nhập từ nhà cung cấp nào, số lƣợng, đơn giá nhập, ngày giờ nhập. Các
thông tin về nhà cung cấp là mã nhà cung cấp, họ tên, địa chỉ.
Siêu thị có rất nhiều quầy hàng bán các mặt hàng, tuy nhiên mỗi mặt hàng chỉ
đƣợc bày bán ở một quầy nhất định nào đó. Thông tin về quầy hàng bao gồm số
quầy, tên quầy, vị trí.
Các khách hàng sẽ đến siêu thị mua hàng. Mỗi lần khách mua hàng, hệ thống sẽ in
ra phiếu bán hàng gồm các thông tin mã phiếu bán, khách hàng, các mặt hàng, số
lƣợng, đơn giá bán. Thông tin của khách hàng bao gồm mã khách hàng, tên khách
hàng, địa chỉ.
Bài giảng Thực hành PTTK HTTT
38
CHƢƠNG 2. THIẾT LẬP MÔ HÌNH DFD
2.1. Giới thiệu
Phân tích xử lý đƣợc bao gồm trong việc mô hình hóa hệ thống thông tin. Đối
tƣợng quan tâm của phân tích xử lý là các hoạt động hay xử lý thông tin và các
dòng thông tin giữa các hoạt động xử lý này. Kết quả của giai đoạn phân tích xử lý
này là lƣợc đồ xử lý (Process Schemal) của hệ thống thông tin ngƣợc lại với mô
hình tĩnh của hệ thống thông tin là mô hình thực thể kết hợp.
Trong thực tế tồn tại nhiều loại mô hình xử lý khác nhau:
Một số tập trung vào dữ liệu và dòng dữ liệu giữa các hoạt động.
Một số tập trung vào tính đồng bộ của các hoạt động bằng cách định rõ điều
kiện trƣớc và điều kiện sau của hoạt động.
Chúng ta chỉ quan tâm đến loại mô hình đơn giản nhƣng hiệu quả và khá
phổ biến cho giai đoạn phân tích xử lý là mô hình dòng dữ liệu (Data Fow
Diagram-DFD).
Hướng dẫn cách tạo mô hình DFD trong Power Designer
Khởi động Power Designer 16
Start/All Programs/ Sybase/ PowerDesigner 16/ PowerDesigner
Hình 3.1. Màn hình khởi động Power Designer 16
Bài giảng Thực hành PTTK HTTT
39
Tạo mới một mô hình DFD
Vào File New Model Chọn Model type Business Process Diagram
nhƣ màn hình 3.2.
Hình 3.2. Tạo mới một mô hình DFD
- Tại Model Name: Đặt tên mô hình DFD
- Tại Process language: Chọn Data Flow Diagram
Bài giảng Thực hành PTTK HTTT
40
Hình 3.3. Màn hình làm việc tạo mô hình DFD
2.2. Tạo ô xử lý, kho dữ liệu, tác nhân và dòng dữ liệu Các đối tƣợng trên mô hình DFD tại hộp Toolbox Data Flow Diagram.
Bài giảng Thực hành PTTK HTTT
41
Xử lý (tiến trình)
1
Process_1
Dòng dữ liệu
Tác nhân
External Entity_1
Kho dữ liệu
1 Data Store_1
Hình 3.4. Các đối tƣợng trong mô hình DFD
Minh họa các đối tƣợng trong mô hình DFD.
Hình 3.5. Minh hoạ mô hình DFD đơn giản
Bài giảng Thực hành PTTK HTTT
42
Ghi chú:
Xử lý (Process):
o Chức năng: Là một quá trình biến đổi thông tin
o Đặt tên: Động từ + bổ ngữ (nếu cần). Ví dụ: Ghi hoá đơn, nhập hồ
sơ,…
Dòng dữ liệu:
o Chức năng: Là luồng thông tin vào hoặc ra của 1 chức năng xử lý
o Đặt tên: Danh từ + tính từ (nếu chạy). Ví dụ: Hồ sơ đã kiểm tra, đơn
hàng đã duyệt,…
Tác nhân ngoài:
o Chức năng: Nhân tố bên ngoài là phần sống còn của hệ thống, chúng
là nguồn gốc cung cấp thông tin cho hệ thống và là nơi nhận các sản
phẩm của hệ thống
o Đặt tên: Danh từ . Ví dụ: Sinh viên, giáo viên, phòng đào tạo,…
Kho dữ liệu:
o Một kho dữ liệu là tập hợp các dữ liệu đƣợc lƣu lại để có thể đƣợc
truy nhập nhiều lần về sau.
o Đặt tên: Danh từ + tính từ (nếu cần). Ví dụ: Hồ sơ cán bộ, Danh sách
giá,…
Phân rã sơ đồ DFD
Right Click vào xử lý muốn thực hiện phân rã, chọn Decompose Process
Bài giảng Thực hành PTTK HTTT
43
Hình 3.6. Phân rã mô hình DFD
Trong trƣờng hợp muốn thay đổi các loại ký pháp, vào Tool Model Option. (Từ
ký pháp của Demarco Yourdon sang Gane Sarson và ngƣợc lại)
Bài giảng Thực hành PTTK HTTT
44
Hình 3.7. Chọn ký pháp cho mô hình DFD
Ví dụ: Tạo mô hình DFD cho quá trình thanh toán hoá đơn
Mô hình xử lý cấp 1.
Thong tin hoa don
Thong tin thanh toan
Nha cung cap1
Thanh toan hoa
don
Hình 3.8. Mô hình DFD cấp 1 – Thanh toán hoá đơn
Hướng dẫn cách tạo
Chọn biểu tƣợng tác nhân ngoài, giữ chuột và kéo thả vào trong lƣợc đồ
Để thay đổi thông tin của tác nhân ngoài ta double-click vào thực thể đối
tƣợng cần thay đổi “Nha cung cap”, một cửa sổ mới mở ra cho phép
chúng ta chỉnh sửa thông tin của thực thể nhƣ: tên của thực thể, các rule,
mô tả …
Bài giảng Thực hành PTTK HTTT
45
Hình 3.9.Màn hình thay đối thông tin thực thể ngoài
Chọn biểu tƣợng xử lý, giữ chuột và kéo thả vào trong lƣợc đồ. Xử lý
“Thanh toan hoa don” đƣợc đánh số 1. Để thay đổi số thứ tự, ta thay đổi
giá trị trong ô Number.
Để thay đổi thông tin của xử lý ta double-click vào xử lý cần thay đổi,
một cửa sổ mới mở ra cho phép chúng ta chỉnh sửa thông tin của xử lý
nhƣ: tên của xử lý, các rule, mô tả …
Bài giảng Thực hành PTTK HTTT
46
Hình 3.10. Màn hình thay đổi thông tin xử lý
Chọn biểu tƣợng dòng dữ liệu, giữ chuột và kéo thả nối từ thực thể đến xử
lý trong lƣợc đồ
Để thay đổi thông tin của dòng dữ liệu ta double-click vào dòng dữ liệu
cần thay đổi, một cửa sổ mới mở ra cho phép chúng ta chỉnh sửa thông tin
của dòng dữ liệu nhƣ: tên của dòng dữ liệu, dữ liệu chuyển, các rule, mô
tả …
Bài giảng Thực hành PTTK HTTT
47
Hình 3.11 Màn hình thay đổi thông tin dòng dữ liệu
Bài giảng Thực hành PTTK HTTT
48
Hình 3.12. Màn hình thay đổi thông tin dòng dữ liệu
Mô hình xử lý cấp 2.
Phát triển mô hình xử lý Thanh toán hóa đơn: có nghĩa là phân rã ô xử lý số
1 – Thanh toán hóa đơn được mô hình như sau:
Bài giảng Thực hành PTTK HTTT
49
Thong tin hoa don
Nha cung cap
1.1
Xac nhan hoa don
1.2
Kiem tra du no
1.3
Lap sec thanh toan
Nha CungCap
1 Don dat hang
2 Cong no NCC
Thong tin don dat hang
Hoa don da xac nhan
Thong tin thanh toan
Don da xac nhan va
kiem tra
Thong tin cong no
Hình 3.13. Mô hình cấp 2- Thanh toán hoá đơn
Hướng dẫn cách tạo:
Chọn biểu tƣợng phân rã xử lý, giữ chuột và kéo thả đè lên xử lý “Thanh
toán hóa đơn” trong lƣợc đồ. Power Designer sẽ tự động tạo một lƣợc đồ
xử lý ở cấp chi tiết hơn cho xử lý “Thanh toán hóa đơn” (đánh số 1.1).
Các đối tƣợng còn lại thực hiện vẽ giống nhƣ mô hình cấp 1.
Lƣu ý: Để chuyển đổi giữa các lƣợc đồ chọn menu Window (hay phím
nóng Alt-W)
Nếu xử lý cha bị xóa hay thay đổi số thứ tự thì xử lý con sẽ bị xóa và thay
đổi số thứ tự theo.
Mô hình xử lý cấp 3.
Tiếp tục phát triển mô hình xử lý Lập sec thanh toán: nghĩa là ta phân rã ô
xử lý 1.3- Lập séc thanh toán sẽ được mô hình như sau:
Bài giảng Thực hành PTTK HTTT
50
Thong tin nha cung cap
Nha CungCap
1.3.1
LapSec thanh toan
1.3.2
Dang ky vao so sec
1.3.3
Lap bang ke thanh
toan
1.3.4
Trinh ky sec
3 Nha cung cap
4 Cong no Nha CC
5 So du tien gui
6 So cai7 Nhat ky chi tien
Kiem tra du no
[Hoa don da xac nhan va
kiem tra]
Cong no
So du
Thong tin ve sec
So caiNhat ky
[Thong tin thanh toan]
Thong tin sec da vao bang ke
Thong tin sec
da ghi so
Hình 3.14. Mô hình cấp 3 - Lập sec thanh toán
Hướng dẫn cách tạo
Chọn biểu tƣợng phân rã xử lý, giữ chuột và kéo thả đè lên xử lý “Lap sec
thanh toan” trong lƣợc đồ. Power Designer sẽ tự động tạo một lƣợc đồ xử
lý ở cấp chi tiết hơn cho xử lý “Lap sec thanh toan” (đánh số 1.3.1).
Các đối tƣợng còn lại thực hiện vẽ giống nhƣ mô hình cấp 1.
Một số quy tắc khi vẽ mô hình DFD
- Các luồng dữ liệu vào của một xử lý cần khác với các luồng dữ liệu ra của
nó. Tức là các dữ liệu qua một xử lý phải có thay đổi.
- Các đối tƣợng trong một mô hình luồng dữ liệu phải có tên duy nhất.
- Vì lí do trình bày cùng một tác nhân trong, tác nhân ngoài và kho dữ liệu có
thể đƣợc vẽ lặp lại.
- Các luồng dữ liệu đi vào một xử lý phải đủ để tạo thành các luồng dữ liệu
đi ra. Nói chung tên luồng thông tin vào hoặc ra kho trùng với tên kho vì
vậy không cần viết tên luồng. Nhƣng khi ghi hoặc lấy thông tin chỉ tiến
hành một phần kho thì lúc đó phải đặt tên cho luồng dữ liệu.
Bài giảng Thực hành PTTK HTTT
51
- Không có một xử lý nào chỉ có cái ra mà không có cái vào. Đối tƣợng chỉ
có cái ra thì có thể là tác nhân ngoài (nguồn).
- Không một xử lý nào mà chỉ có cái vào. Một đối tƣợng chỉ có cái vào thì
chỉ có thể là tác nhân ngoài (đích).
- Tác nhân ngoài không trao đổi với kho dữ liệu mà phải thông qua chức
năng xử lý.
Lưu ý: Không có các trƣờng hợp sau:
Hình 3.15. Các trƣờng hợp không hợp lệ
2.3. Tạo mô hình phân cấp
2.3.1. Tạo mô hình một cấp
Bài giảng Thực hành PTTK HTTT
52
Mô hình DFD mô tả hoạt động mƣợn, trả sách của thƣ viện.
(1)(2)
(3)
(7)
(5)(6)
(4)
(8)
(9)(10)
(11)
(12)
(13)
(14)
1
Lap the doc gia
2
Muon sach
3
Dang ky giu cho
4
Tra sach
5
Thong ke muon tra
Thu ThuDoc Gia
Hình 3.16. Mô hình DFD mô tả hoạt động mƣợn trả sách
Giải thích các dòng dữ liệu lưu chuyển:
Số Diễn giải Số Diễn giải
1
Thông tin độc giả 8
Thông tin sách mƣợn
2
Thẻ độc giả 9
Thông tin sách trả
3
Thẻ độc giả 10
Thông báo sách đƣợc trả + phiếu
thanh toán tiền phạt nếu có
4
Cuốn sách muốn mƣợn 11
Phiếu mƣợn sách
5
Thông tin cuốn sách giữ chỗ 12
Phiếu trả sách
6
Thông tin cuốn sách giữ chỗ
đã giữ chỗ
13
Yêu cầu thống kê
7
Cuốn sách đƣợc mƣợn 14
Thông tin thống kê
2.3.2. Tạo mô hình nhiều cấp
Mô hình cấp 1 mô tả hoạt động mƣợn trả sách của thƣ viện.
Bài giảng Thực hành PTTK HTTT
53
Yêu cầu mượn trả sách
Thông tin mượn trả sách
Yêu cầu thông tin tình hình mượn trả
Kết quả
thống kê
1
Quan ly thu vien
Doc Gia
Thu Thu
Hình 3.17.Mô hình cấp 1 quản lý thƣ viện
Chức năng
Mô hình cấp 1, quản lý thƣ viện chỉ có một chức năng xử lý duy nhất thể
hiện toàn hệ thống, chức năng này đƣợc nối với mọi tác nhân ngoài của
hệ thống.
Các luồng dữ liệu giữa chức năng và tác nhân ngoài chỉ thông tin vào, ra
của hệ thống
Hướng dẫn cách tạo
Chọn biểu tƣợng tác nhân ngoài, giữ chuột và kéo thả vào trong lƣợc đồ
Để thay đổi thông tin của tác nhân ngoài ta double-click vào thực thể đối
tƣợng cần thay đổi “Doc gia”, một cửa sổ mới mở ra cho phép chúng ta
chỉnh sửa thông tin của thực thể nhƣ: tên của thực thể, các rule, mô tả …
Tƣơng tự cho tác nhân ngoài “Thu thu”
Chọn biểu tƣợng xử lý, giữ chuột và kéo thả vào trong lƣợc đồ
Để thay đổi thông tin của xử lý ta double-click vào đối tƣợng cần thay đổi
“Quan ly thu vien”, một cửa sổ mới mở ra cho phép chúng ta chỉnh sửa
thông tin của thực thể nhƣ: tên của thực thể, các rule, mô tả …
Chọn biểu tƣợng luồng dữ liệu, giữ chuột và kéo thả vào trong lƣợc đồ
Đặt tên cho các luồng dữ liệu này cho phù hợp.
Bài giảng Thực hành PTTK HTTT
54
Mô hình cấp 2 mô tả hoạt động mƣợn trả sách.
[Yeu cau lap the]
Doc Gia
Thu Thu
DocGia
1.1
Lap The
1.2
Muon Sach
1.3
Tra Sach
1.4
Thong Ke
The doc gia
Yeu cau muon sach
Thong tin muon sach
Yeu cau tra sach
Thong tin ket qua tra sach
Thong tin phieu muon
Thong tin tra sach
Thong tin muon sach
[Ket qua thong ke]
[Yeu cau thong ke tinh
hinh muon tra]
The doc gia
Hình 3.18. Mô hình cấp 2
Chức năng
Mô hình cấp 2, các tác nhân ngoài của hệ thống cấp 1 đƣợc giữ nguyên
với các luồng thông tin vào, ra.
Hệ thống đã đƣợc phân rã thành các chức năng là các xử lý bên trong hệ
thống theo mô hình phân rã chức năng.
Hướng dẫn cách tạo
Chọn biểu tƣợng phân rã xử lý, giữ chuột và kéo thả đè lên xử lý “Quan
ly thu vien” trong lƣợc đồ. Power Designer sẽ tự động tạo một lƣợc đồ xử
lý ở cấp chi tiết hơn cho xử lý “Quan ly thu vien” (đánh số 1.1).
Các đối tƣợng còn lại thực hiện vẽ giống nhƣ mô hình cấp 1.
Bài giảng Thực hành PTTK HTTT
55
Mô hình cấp 3 cho ô xử lý mƣợn sách.
DocGia
1.1
Lap The
(Quan ly thu vien)
1.3
Tra Sach
(Quan ly thu vien
1.4
Thong Ke
DocGia2 DocGia3
1.2.1
Kiem tra the
1.2.2
Gia han the
1.2.3
Kiem tra sach
1.2.4
Dang ky giu cho
1.2.5
Xu ly cho muon sach
1 The doc gia
2 Cuon sach
3Cuon sach dang giu
cho
4 Phieu muon
The doc gia
[Yeu cau muon sach]
Thong bao the het han hoac
sap het han
The gia hanYeu cau gia han the
Thong bao ket qua gia han
Thong bao sach dang bi
muonThong tin sach giu
cho
Dang ky giu cho muon
sach
Thong bao ket qua giu
cho
Ghi nhan thong tin
sach giu cho Thong tin sach
dang giu cho
[Sach da
duoc muon]
[thong tin muon
sach]
[thong tin phieu
muon]
Ghi phieu
muon
Ghi nhan tinh trang moi cuon
sach
Thong tin tinh trang cuon
sach
Thong tin the doc gia
Thong tin sach muon
Hình 3.19. Mô hình cấp 3 - Mƣợn sách
Chức năng
Mô hình này xuất hiện thêm các kho dữ liệu và luồng thông tin trao đổi
giữa các chức năng trong mô hình cấp 2.
Ở mức này thể hiện phân rã chức năng trong mô hình cầp 2. Khi thực hiện
phân rã này phải căn cứ vào mô hình phân rã chức năng để xác định các
chức năng con sẽ xuất hiện trong mô hình luồng dữ liệu.
Khi phân rã các chức năng phải đảm bảo tất cả các luồng thông tin vào, ra
ở chức năng mức cao phải có mặt trong các chức năng mức thấp và nguợc
lại.
Bài giảng Thực hành PTTK HTTT
56
Hướng dẫn cách tạo
Chọn biểu tƣợng phân rã xử lý, giữ chuột và kéo thả đè lên xử lý “Muon
sach” trong lƣợc đồ. Power Designer sẽ tự động tạo một lƣợc đồ xử lý ở
cấp chi tiết hơn cho xử lý “Muon sach” (đánh số 1.2.1).
Các đối tƣợng còn lại thực hiện vẽ giống nhƣ mô hình cấp 1.
2.4. Một số lƣu ý khi thiết kế mô hình xử lý
Khi xây dựng một mô hình xử lý nên tuân theo một số hướng dẫn sau
Mọi dòng dữ liệu ra của ô xử lý phải dựa trên dòng dữ liệu vào của ô xử
lý đó (đây là điều kiện cần)
Chỉ những dữ liệu nào thật cần cho ô xử lý mới đƣa vào (điều kiện đủ)
Một ô xử lý nên độc lập chức năng với ô xử lý khác
Các ô xử lý luôn ở trạng thái sẵn sàng hoạt động
Quá trình phân cấp xử lý nên tuân theo các qui định sau
Quá trình phân cấp sẽ đƣợc phân cấp đến một chi tiết nào đó mà ngƣời
thiết kế xem là đủ.
Mỗi cấp chỉ chứa từ 3 đến 7 ô xử lý, nếu nhiều hơn thì khó quan sát một
cách tổng quát.
Ở cấp trên ta chỉ đặc biệt quan tâm đến nội dung của quá trình xử lý,
còn các hoạt động hoặc xử lý thì chúng ta nên để từ cấp 3 trở đi
Nếu đi vào một cấp chi tiết mà có thêm kho dữ liệu mới hay đầu cuối
mới thì vẫn là hợp lý.
Chất lượng của lược đồ xử lý
Trong phần này chúng ta sẽ xem xét các đặc trƣng để đánh giá chất lƣợng
của lƣợc đồ xử lý là: Độc lập chức năng, đầy đủ, tính đúng đắn, dễ đọc và tối
thiểu:
Tính độc lập chức năng:
Bài giảng Thực hành PTTK HTTT
57
Đặc trƣng này đƣợc xét khi ô xử lý có tính tự trị đầy đủ (ví dụ nó có thể
thực hiện các chức năng của nó một cách độc lập). Tính chất này chi tiết
nhƣ sau:
o Cách biệt: Mỗi ô xử lý có thể đƣợc phân tích độc lập chi tiết.
o Dễ tích hợp: Khi tinh chế một ô xử lý sẽ dễ dàng tích hợp vào
phần còn lại của lƣợc đồ xử lý.
o Uyển chuyển: Một ô xử lý dễ thay đổi mà không kéo theo sự thay
đổi của các ô xử lý khác.
Tính đầy đủ: Một lƣợc đồ xử lý đầy đủ là khi nó biểu diễn đầy đủ tất cả
các đặc trƣng của lĩnh vực ứng dụng ở cấp chi tiết.
Tính đúng đắn: Một lƣợc đồ xử lý là đúng đắn khi nó chỉ sử dụng các
khái niệm của mô hình xử lý để biểu diễn lĩnh vực ứng dụng
Tính dễ đọc: Một lƣợc đồ xử lý mang tính dễ đọc khi nó biểu diễn lĩnh
vực ứng dụng một cách tự nhiên và có thể dễ dàng hiểu đƣợc mà không
cần giải thích gì thêm.
Tính tối thiểu: Một lƣợc đồ xử lý là tối thiểu nếu mọi khái niệm trong
lĩnh vực ứng dụng chỉ xuất hiện một lần trong lƣợc đồ.
Các lỗi hay gặp khi thiết kế mô hình DFD
Khi đã hoàn thành sơ đồ luồng dữ liệu cần kiểm tra về tính đầy đủ và nhất
quán của nó. Phải làm cho sơ đồ đơn giản, chính xác và logic nhất có thể
đƣợc. Có thể xảy ra các tình huống sau nên tránh:
- Hiệu ứng mặt trời bừng sáng: Một chức năng có quá nhiều dòng vào ra.
- Khắc phục: Gom nhóm hoặc phân rã tiếp một số chức năng chƣa hợp lý.
- Thông tin đi qua một chức năng mà không bị thay đổi.
Bài giảng Thực hành PTTK HTTT
58
Du tru1
Dat hang
2
Ghi du tru
1 Du tru/Don hang
Du tru
- Khắc phục: xoá bỏ chức năng không biến đổi thông tin.
- Xuất hiện một chức năng có các chức năng con không có liên quan về dữ
liệu (không có dòng thông tin nội bộ gắn với nhau hoặc không sử dụng kho dữ liệu
chung).
2.5. Bài tập
Bài 1: Cho mô hình xử lý cấp 1 nhƣ sau. Vẽ mô hình phân rã chức năng xử lý Đặt
hàng, Giao hàng.
Du tru
Phan xuong Nha cung cap
1
He cung ung vat tu
Phieu phat hang
Don hang
Hoa don/Phieu
giao hang
Bài 2: Vẽ mô hình DFD cho đề tài nhóm mà anh (chị) thực hiện trong môn PHÂN
TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN
Bài 3: Nhà hàng Perfect Pizza muốn xây dựng một hệ thống để ghi nhận các đơn
đặt hàng bánh Pizza và cánh gà Buffalo. Khi một khách hàng gọi đến nhà hàng,
nhà hàng sẽ hỏi số điện thoại. Khi nhập số điện thoại vào máy tính, tên, địa chỉ và
ngày đặt hàng trƣớc đó hiện ra trên màn hình. Khi ngƣời ta đồng ý đặt hàng sẽ tự
Bài giảng Thực hành PTTK HTTT
59
động tính toán tổng giá trị đặt hàng (giá tiền + thuế + phí chuyên chở). Sau đó đơn
đặt hàng sẽ chuyển cho nhà bếp và in hóa đơn. Đặc biệt một số khách hàng có đơn
đặt hàng lớn hơn một giá trị nào đó thì sẽ có một phiếu giảm giá. Tài xế giao hàng
sẽ đƣa cho khách hàng bản sao hóa đơn và phiếu giảm giá (nếu có). Hàng tuần sẽ
tính tổng số giá trị đơn đặt hàng để so sánh với năm trƣớc.
Xây dựng DFD cho hệ thống.
Bài 4:
a. Hãy vẽ Mô hình DFD mô tả một hệ thống đáp ứng yêu cầu mua sách của user.
Bất kỳ lúc nào hệ thống nhận đƣợc yêu cầu mua sách của user, hệ thống sẽ tiến
hành tìm kiếm để xác định sách đó có trong kho chứa hay không. Nếu có, hệ thống
sẽ cung cấp sách đó cùng với bảng báo giá. Ngƣợc lại, sẽ gửi thông báo không có
sách đến user.
b. Mở rộng DFD đã vẽ để thêm vào các mục:
o Liên hệ với nhà cung cấp để xem có thể lấy ngay các sách không có trong
kho hay không.
o Khi cần có thể lập đơn đặt hàng đối với nhà cung cấp.
o Phải kiểm tra lại số lƣợng kiểm kê và thực hiện việc lập đơn đặt hàng khi số
lƣợng sách tồn kho của một loại sách thấp hơn số lƣợng tối thiểu đa quy
định trƣớc.
Bài 5: Hãy vẽ Mô hình DFD ở mức chi tiết mô tả một hệ thống đại lý đáp ứng các
yêu cầu sau :
o Những khách bán (selling customer) sẽ yêu cầu đại lý này bán thay cho họ
một số mặt hàng.
o Những khách mua (buying customer) sẽ yêu cầu đại lý này bán hàng cho họ
o Nếu các mặt hàng thỏa mãn yêu cầu của user sẽ tiến hành một cuộc mua
bán.
o Trong khi mua bán các mặt hàng :
+ Chuẩn bị một bảng báo giá cho khách mua hàng và giữ lại một bảng lƣu
+ Một đơn đặt hàng sẽ đƣợc gửi đến khách bán hàng
Bài giảng Thực hành PTTK HTTT
60
+ Số tiền sau khi trừ hoa hồng sẽ đƣợc gửi đến cho khách bán hàng.
Bài 6: Một nhà xuất bản sách cần xây dựng một hệ thống quản lý thông tin. Nhà
xuất bản gồm có các bộ phận: Ban giám đốc, Bộ phận kỹ thuật, Bộ phận tài vụ, Bộ
phận thƣơng mại và xƣởng in. Nhà xuất bản có một đội ngũ tác giả viết những tựa
sách mà nhà xuất bản sẽ xuất bản ra. Mỗi tác giả có thể chỉ viết một tựa sách hoặc
có thể viết nhiều tựa sách. Ngoài ra có thể nhiều tác giả cùng hợp tác viết chung
một tựa sách. Những thông tin về tác giả bao gồm: Mã tác giả, Họ tên, địa chỉ.
Những thông tin về tựa sách bao gồm: Mã sách, tựa đề, số trang, năm xuất bản, giá
tiền, các bản in của một tựa sách sẽ có cùng một mã sách.
Sau khi các tác giả viết xong một tựa sách, họ sẽ đem bản thảo đến bộ phận kỹ
thuật của nhà xuất bản để bộ phận này dàn trang, làm chế bản rồi đƣa ra xƣởng in.
Ngoài ra bộ phận kỹ thuật còn nhận những thông tin sửa đổi, đính chính của tác
giả về tựa sách để kịp thời sửa chữa hoặc in đính chính. Trƣớc khi chuyển chế bản
sách sang xƣởng in, bộ phận kỹ thuật sẽ thống kê số trang sách trong một tựa sách,
kích thƣớc sách, số bản in rồi gửi báo cáo này cho Ban giám đốc và Bộ phận tài vụ
và xƣởng in. Bộ phận tài vụ sẽ tính tiền nhuận bút cho các tác giả, sau đó các tác
giả sẽ đến phòng tài vụ nhận tiền. Phòng tài vụ sẽ lập phiếu chi (Mã phiếu chi,
ngày lập, số tiền) cho mỗi tác giả đến nhận tiền (một tác giả có thể nhận đƣợc
nhiều phiếu chi nếu có cùng lúc nhiều tựa sách đƣợc in).
Nhà xuất bản có nhiều xƣởng in sách, mỗi xƣởng in (Mã xƣởng, tên xƣởng, địa
chỉ) trực thuộc quản lý của một giám đốc xƣởng in (Mã giám đốc, Họ tên, địa chỉ),
và mỗi giám đốc xƣởng in chỉ quản lý một xƣởng in. Một xƣởng in có thể in hiều
tựa sách, nhƣng tựa sách chỉ in hoàn chỉnh tại một xƣởng in. Sau khi in xong các
tựa sách sẽ đƣợc xếp vào kho trƣớc khi giao cho nhà sách. Nhà xuất bản có các
khách hàng là những nhà sách (Mã nhà sách, tên nhà sách, địa chỉ) đặt mua các tựa
sách. Một nhà sách có thể mua nhiều sách và mỗi tựa sách có thể bán cho nhiều
nhà sách. Bộ phận thƣơng mại của nhà xuất bản sẽ thực hiện công việc bán các tựa
sách đa in cho các nhà sách. Mỗi lần giao sách, Bộ phận thƣơng mại sẽ lập phiếu
bán sách (Mã phiếu bán, ngày lập, tên tựa sách, số lƣợng, thành tiền). Các nhà
Bài giảng Thực hành PTTK HTTT
61
sách có thể trả tiền mặt hoặc chuyển khoản vào tài khoản ngân hàng của nhà xuất
bản. Cuối mỗi tháng, Bộ phận tài vụ có nhiệm vụ tính khoản công nợ (tiền thiếu)
của các nhà sách để lập giấy báo nợ và gửi cho họ. Bộ phận tài vụ cũng sẽ thống
kê tổng thu chi mỗi tháng và gửi bản thống kê này cho Ban giám đốc nhà xuất bản.
Yêu cầu: Lập DFD ở mức chi tiết nhất (toàn bộ hệ thống trên một hình vẽ DFD)
Bài giảng Thực hành PTTK HTTT
62
CHƢƠNG 3: THIẾT KẾ GIAO DIỆN
3.1. Giới thiệu:
GUI (Graphical User Interface) – Hệ giao diện ngƣời dùng đồ họa, đƣợc dùng để
mô tả một môi trƣờng làm việc thân thiện với ngƣời sử dụng. Phần mềm sử dụng
những hình tƣợng đồ họa để thay thế những dòng lệnh tƣơng tác với máy tính, là
công cụ để thiết kế giao diện ngƣời dùng cho hệ điều hành Windows mà không
cần viết mã.
GUI design studio có thể giúp ngƣời sử dụng vẽ từng màn hình sử dụng những
công cụ chuẩn, sau đó kết nối chúng với nhau thành quá trình xảy ra theo kịch
bản.
3.2. Khởi tạo dự án:
Start/All Programs/ GUI design Studio/ GUI design Studio
Bài giảng Thực hành PTTK HTTT
63
Gõ tên Project vào ô Name và đƣờng dẫn tới thƣ mục chứa Project vào ô
Location
Nhấn phím OK. Dự án đƣợc tạo lập và mở ra trên màn hình.
Để điều chỉnh vị trí hiển thị của công cụ thiết kế Design Bar, vào menu View/Design
Bar Position
3.3. Thiết kế các thành phần GUI:
3.3.1. Tạo lập một màn hình mới:
Bƣớc 1: vào menu Project/ New Design hoặc nhấn chuột vào biểu tƣợng
New Project trên panel thiết kế theo hình sau:
Bài giảng Thực hành PTTK HTTT
64
Bƣớc 2: Nhập tên tài liệu thiết kế mới và nhấn Enter hoặc nhấn nút để
hoàn tất thêm tài liệu thiết kế mới.
Một ô cửa sổ mở ra là một vùng trống hình chữ nhật, là nơi thiết kế các bộ
phận của một giao diện phần mềm.
Bƣớc 3: Chuyển chế độ làm việc sang panel Elements, chọn đến mục
Windows and Dialogs, chọn loại Windows and Dialog phù hợp kéo thả vào
vùng thiết kế.
Bƣớc 4: Thêm vào Dialog ở bƣớc 3 các đối tƣợng theo thiết kế của bản mẫu,
sử dụng các nhóm công cụ sau, mỗi nhóm công cụ có nhiều đối tƣợng
tƣơng ứng:
Bài giảng Thực hành PTTK HTTT
65
Chú ý: Để thay đổi thông tin của đối tƣợng, đúp chuột vào đối tƣợng:
Điền tên của đối tƣợng vào ô Title.
Chỉnh kích thƣớc và vị trí đối tƣợng ở Tab Position.
Ví dụ 1: Giả sử ta cần thiết kế một Form Đăng nhập nhƣ sau:
Bƣớc 1: Project/ New Design hoặc nhấn chuột vào biểu tƣợng New Project
trên panel thiết kế
Bƣớc 2: Nhập tên tài liệu thiết kế mới là “Dang nhap”
Bƣớc 3: chọn đối tƣợng Dialog trong nhóm Windows and Dialogs và kéo
thả vào vùng thiết kế. Nhấn đúp chuột vào Dialog vừa tạo, điền “Đăng
nhập” vào ô Title.
Bài giảng Thực hành PTTK HTTT
66
Bƣớc 4: thêm vào Form Đăng nhập các đối tƣợng theo nhƣ thiết kế:
Chọn mục “Text and Edit Boxs” trong panel Elements, chọn 1 cặp đối
tƣợng “Left Text” và 1 cặp đối tƣợng “Edit Box – Left Aligned” kéo thả
vào vùng thiết kế.
Bài giảng Thực hành PTTK HTTT
67
Đổi tên Left Text 1 thành “Tên tài khoản”, Left Text 2 thành “Mật
khẩu”. Xóa dòng chữ trong 2 Edit Box.
Chọn mục Buttons trong panel Elements, kéo đối tƣợng OK và Cancel
vào vùng thiết kế.
Ví dụ 2: tƣơng tự, sinh viên tự thiết kế các màn hình sau:
- Màn hình Danh mục độc giả:
Bài giảng Thực hành PTTK HTTT
68
- Màn hình Danh mục sách:
Bài giảng Thực hành PTTK HTTT
69
3.3.2. Tạo lập cửa sổ ứng dụng chính:
Thông thƣờng cửa sổ ứng dụng chính là cửa sổ MDI với thanh menu, thanh
công cụ và thanh trạng thái.
Chọn panel Elements, mục “Windows and Dialogs”, đối tƣợng Application
“Frame Window” vào vùng thiết kế. Đổi tên Dialog thành “Quản lý thƣ
viện”.
3.3.2.1 Tạo Menu bar :
Bổ sung “Menu bar” từ nhóm “Toolbars and Menus” vào mép trên của
Dialog, chỉnh vị trí sao cho phù hợp.
Đúp chuột vào menu bar, xuất hiện hộp thoại sau để chỉnh sửa thông tin:
Thêm menu: nhấn nút Insert
Xóa menu: nhấn nút Delete
Di chuyển lên: nhấn Move Up
Di chuyển xuống: nhấn Move Down
3.3.2.2 Tạo Pull - Down Menu
Bổ sung “Popup Menu” từ nhóm “Toolbars and Menus” vào cửa sổ ứng
dụng, chỉnh vị trí sao cho phù hợp.
Đúp chuột vào Popup Menu, chỉnh sửa các thông tin:
Bài giảng Thực hành PTTK HTTT
70
3.3.2.3 Tạo thanh công cụ:
Bổ sung “Docked Bar” vào phía dƣới thanh “Menu Bar”, ta có thanh công
cụ trống. Sau đó, bổ sung lần lƣợt các Buttons vào thanh công cụ bằng cách
chọn “Toolbar Button” trong cùng thành phần “Tool Bars and Menus”. Lúc
đầu các Button này không có ảnh.
Để bổ sung các Icon vào trong Button trên thanh công cụ, ta làm nhƣ sau:
Chọn panel “Icon”. Trong danh sách các icon mà GUI Design studio cung
cấp, chọn biểu tƣợng tƣơng ứng với chức năng ta đang xây dựng, kéo thả
vào đúng vị trí các “Toolbar Button” đã tạo. Nếu muốn chọn 1 icon khác,
click vào nút “New icon”.
3.3.2.4 Tạo thanh trạng thái:
Bổ sung “Status Bar” vào đáy cửa sổ ứng dụng.
Bổ sung các phần tử “Status Indicator” vào thanh trạng thái
Chỉnh sửa các thuộc tính của chỉ báo thành các chỉ báo chuẩn nhƣ “CAP”,
“NUM”, “SCRL” tƣơng ứng cho Caps Lock, Num Lock và Scroll Lock.
Chỉ báo nào tích cực thì chọn mục Active nhƣ hình dƣới.
New
Icon
Bài giảng Thực hành PTTK HTTT
71
Kết quả nhƣ sau:
3.4. Thiết kế Prototype các ứng dụng tƣơng tác:
3.4.1 Gộp tất cả lại:
Để quan sát đƣợc ứng dụng khi chạy sẽ nhƣ thế nào, ta cần gộp tất cả các thành
phần thiết kế lại để có đƣợc toàn cảnh các màn hình.
Các bƣớc thực hiện nhƣ sau:
- Mở Panel “Project” và tạo lập một tài liệu thiết kế mới với tên “Screenshot”.
- Kéo thả các thiết kế đã tạo từ cây dự án vào vùng thiết kế của “Screenshot”
nhƣ hình sau:
Tích cực
Bài giảng Thực hành PTTK HTTT
72
3.4.2 Thiết lập mối liên kết giữa các đối tƣợng:
- Nhấn chọn cửa sổ “Dang nhap”, nhấn phím F10 trên bàn phím hoặc chọn
lệnh Design/Set Representative Element để chọn cửa sổ này làm phần tủ
đại diện. Đƣờng viền xanh xuất hiện xung quanh phần tử vừa chọn.
- Nhấn phím F4 trên bàn phím hoặc nút chức năng “Make Connection
Mode” trên thanh công cụ:
- Nhấn chuột vào nút OK của cửa sổ “Dang nhap”, giữ chuột kéo tới cửa sổ
“menu” và thả chuột. Lúc này sẽ có một kết nối dạng mũi tên một chiều nối
giữa 2 đối tƣợng trên nhƣ hình sau:
Bài giảng Thực hành PTTK HTTT
73
- Tƣơng tự nhƣ vậy, ta tạo liên kết cho các đối tƣợng khác mà ta muốn. Ví dụ
từ menu Danh mục độc giả tới Form Danh mục độc giả, từ menu Danh mục
sách tới Form Danh mục sách. Kết quả nhƣ sau:
- Tới đây chúng ta đã kết thúc công việc thiết kế các thành phần GUI và các
tƣơng tác cho phần mềm Quản lý thƣ viện. Để chạy thử Prototype, sử dụng
nút công cụ trên thanh công cụ hoặc nhấn phím F9 trên bàn phím.
- Chú ý: để liên kết giữa các chức năng chính trên thanh Menu bar với các
chức năng con trên Popup menu, ta thực hiện nhƣ sau:
Vào cửa sổ thiết kế Form menu
Thiết lập liên kết giữa chức năng chính và popup menu chứa các
chức năng con của nó.
Bài giảng Thực hành PTTK HTTT
74
Chọn mục Navigation Type trong hộp thoại Connection Properties là
Modal Choice Popup, sự kiện kích hoạt là Left Click
3.5. Bài tập: Anh/chị hãy tự thiết kế giao diện cho đề tài nhóm mà anh/chị thực hiện trong môn lý
thuyết.