Transcript
MỤC LỤC
MỤC LỤC.................................................................................................................1Chương 1: ĐẠI CƯƠNG VỀ HỆ THỐNG...............................................................3
1.1. HỆ THỐNG VÀ HỆ THỐNG THÔNG TIN...........................................................31.1.1. Khái niệm hệ thống...........................................................................................31.1.2. Hệ thống thông tin.............................................................................................31.1.3. Hệ thống thực và hệ thống con.........................................................................41.1.4. Các giai đoạn triển khai một dự án xây dựng HTTT........................................5
1.2. XỬ LÝ THÔNG TIN BẰNG MÁY TÍNH..............................................................61.2.1. Các phương thức xử lý thông tin......................................................................61.2.2. Một số loại hệ thống tin học thường gặp..........................................................7
1.3. SỰ PHÁT TRIỂN HỆ THỐNG...............................................................................81.3.1. Vòng đời của hệ thống......................................................................................81.3.2. Các bước xây dựng hệ thống thông tin.............................................................91.3.3. Chu trình phát triển hệ thống..........................................................................111.3.4. Phương pháp mô hình hoá hệ thống...............................................................13
Chương 2: KHẢO SÁT HỆ THỐNG......................................................................162.1. KHẢO SÁT VÀ ĐÁNH GIÁ HIỆN TRẠNG.......................................................16
2.1.1. Mục đích và yêu cầu công tác khảo sát...........................................................162.1.2. Chiến lược và quy trình khảo sát....................................................................16
2.2. NỘI DUNG KHẢO SÁT.......................................................................................172.2.1. Khảo sát công tác nghiệp vụ...........................................................................172.2.2. Khảo sát nhu cầu xử lý thông tin....................................................................182.2.3. Thu thập thông tin, tài liệu..............................................................................182.2.4. Viết báo cáo khảo sát......................................................................................18
2.3. MỘT SỐ PHƯƠNG PHÁP THU THẬP THÔNG TIN THÔNG DỤNG.............192.3.1. Nghiên cứu tài liệu viết...................................................................................192.3.2. Phương pháp quan sát.....................................................................................192.3.3. Phương pháp phỏng vấn..................................................................................202.3.4. Phương pháp sử dụng bảng hỏi, mẫu điều tra.................................................20
2.4. XÂY DỰNG DỰ ÁN.............................................................................................202.4.1. Xác định mục tiêu và phạm vi........................................................................202.4.2. Xây dựng giải pháp.........................................................................................212.4.3. Xây dựng kế hoạch triển khai.........................................................................22
2.5. BÀI TẬP 1..............................................................................................................23Chương 3: PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG.....................................27
3.1. BIỂU ĐỒ PHÂN CẤP CHỨC NĂNG..................................................................273.1.1. Các khái niệm..................................................................................................273.1.2. Kỹ thuật phân rã..............................................................................................29
3.2. BIỂU ĐỒ LUỒNG DỮ LIỆU................................................................................323.2.1. Các khái niệm..................................................................................................323.2.2. Các thành phần của biểu đồ luồng dữ liệu......................................................323.2.3. Phân rã biểu đồ luồng dữ liệu theo mức.........................................................373.2.4. Mô hình vật lý và mô hình logic.....................................................................42
3.3. ĐẶC TẢ TIẾN TRÌNH..........................................................................................443.3.1. Mục đích và yêu cầu đặc tả chức năng...........................................................44
1
3.3.2. Các phương tiện đặc tả chức năng..................................................................453.4. BÀI TẬP.................................................................................................................48
Chương 4: PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU.............................................494.1. CÁC PHƯƠNG TIỆN MÔ TẢ DỮ LIỆU.............................................................49
4.1.1. Mã hoá các tên gọi..........................................................................................494.1.2. Từ điển dữ liệu................................................................................................53
4.2. MÔ HÌNH THỰC THỂ LIÊN KẾT.......................................................................544.2.1. Các khái niệm của mô hình thực thể liên kết..................................................544.2.2. Đặc tả mối quan hệ giữa hai kiểu thực thể......................................................564.2.3. Mô hình thực thể liên kết mở rộng và hạn chế................................................584.2.4. Phương pháp phân tích theo mô hình thực thể liên kết...................................64
4.3. MÔ HÌNH DỮ LIỆU QUAN HỆ...........................................................................724.3.1. Các khái niệm..................................................................................................72a) Domain - Miền.................................................................................................72b) Thuộc tính (Attribute).......................................................................................72c) Quan hệ.............................................................................................................72d) Lược đồ quan hệ...............................................................................................734.3.2. Phụ thuộc hàm.................................................................................................734.3.2.1. Các dạng chuẩn............................................................................................73a) Định nghĩa phụ thuộc hàm...............................................................................73b) Tính chất của các phụ thuộc hàm.....................................................................744.3.3. Khoá tối thiểu..................................................................................................74a) Khoá (Key) và siêu khoá (super key) của quan hệ..............................................74b) Khoá (Key) và siêu khoá (super key) của lược đồ quan hệ..................................754.3.4. Chuẩn hoá.......................................................................................................754.3.4.1. Các dạng chuẩn............................................................................................754.3.4.2. Chuẩn hoá....................................................................................................804.3.5. Phương pháp lập lược đồ dữ liệu theo mô hình quan hệ.................................82
2
Chương 1: ĐẠI CƯƠNG VỀ HỆ THỐNG
1.1. HỆ THỐNG VÀ HỆ THỐNG THÔNG TIN
1.1.1. Khái niệm hệ thống
- Hệ thống: Hệ thống là một tập hợp gồm nhiều phần tử, có các mối quan hệ ràng
buộc lẫn nhau và cùng hoạt động hướng tới một mục đích chung.
- Hệ thống thông tin bao gồm các thành phần:
Các phần tử của hệ thống: Các phần tử rất đa dạng, có thể phần tử là một đối
tượng cụ thể,như trong hệ thống mặt trời phần tử là mặt trời, mặt trăng, trái đất,
sao hoả,…có thể phần tử là đối tượng trừu tượng, như một phương pháp, một
lập luận, một quy tắc,… Như vậy phần tử có thể rất khác biệt về bản chất không
những giữa các hệ thống khác nhau mà ngay cả trong cùng một hệ thống.
Các quan hệ giữa các phần tử: Các phần tử của một hệ thống không phải được
tập hợp một cách ngẫu nhiên, rời rạc mà giữa chúng luôn tồn tại những mối
quan hệ (hay các ràng buộc) tạo thành một cấu trúc (hay tổ chức).
Sự hoạt động và mục đích của hệ thống:
Sự biến động của hệ thống thể hiện trên hai mặt: Sự tiến triển và sự hoạt
động. Sự tiến triển thể hiện là các phần tử và các quan hệ của hệ thống có
thể phát sinh, có tăng trưởng, có suy thoái, có mất đi. Sự hoạt động, tức
là các phần tử của hệ thống, trong các mối ràng buộc đã định, cùng cộng
tác với nhau để thực hiện một mục đích chung của hệ thống.
Mục đích của hệ thống thường thể hiện ở chỗ hệ thống nhận những cái
vào để tạo thành những cái ra nhất định.
1.1.2. Hệ thống thông tin
- Hệ thống thông tin (Information System) là hệ thống sử dụng công nghệ thông tin
để thu thập lưu giữ xử lý, truyền và biểu diễn thông tin.
- Là hệ thống bao gồm các bộ phận sau:
Phần cứng (các thiết bị)
Phần mềm
Con người
Các thủ tục, qui tắc quản lý, tổ chức
3
Các dữ liệu được tổ chức
được hình thành để làm nhiệm vụ thu thập, lưu trữ, xử lý, truyền và biểu diễn thông tin.
- Chức năng của hệ thống thông tin:Hệ thống thông tin có 4 chức năng chính là
đưa thông tin vào, lưu trữ, xử lý và đưa ra thông tin.
Hệ thống thông tin có thể nhận thông tin vào dưới dạng:
Các dữ liệu gốc và một chủ điểm., một sự kiện hoặc một đối tượng nào
đó trong hệ thống.
Các yêu cầu xử lý cần cung cấp thông tin.
Các lệnh
Hệ thống thông tin có thể thực hiện:
Sắp xếp dữ liệu theo một thứ tự nào đó.
Sửa chữa thay đổidữ liệu trong bộ nhớ
Thực hiện các tính toán tạo ra thông tin mới
Thống kê, tìm kiếm, các thông tin thoả mãn một đìều kiện nào đó.
Hệ thống thông tin có thể lưu trữ các loại thông tin khác nhau với các cấu trúc đa
dạng, phù hợp với nhiều loại thông tin và phương tiện xử lý thông tin, để phục vụ
cho các yêu cầu xử lý thông tin và phương tiện xử lý thông tin khác nhau.
Hệ thống thông tin có thể đưa dữ liệu vào các khuôn dạng khác nhau ra các thiết bị
như bộ nhớ ngoài, màn hình, máy in, thiết bị mạng hoặc các thiết bị điều khiển.
1.1.3. Hệ thống thực và hệ thống con
Hệ thống thực: Một hệ thống thực có thể được xem như một mô hình gồm 3 phần
hợp thành là hệ thống quyết định, hệ thống thông tin và hệ thống tác nghiệp. Các thành
phần này chính là các hệ thống con của hệ thống thực.
- Hệ thống quyết định: Bao gồm con người, phương tiện, phương pháp tham gia đề
xuất quyết định.
- Hệ thống thông tin: Bao gồm con người, phương tiện, phương pháp tham gia xử
lý thông tin (hệ quản trị). Hệ thống thông tin đóng vai trò trung gian giữa hệ thống và
môi trường, giữa hệ thống con quyết định và hệ thống con tác nghiệp.
- Hệ thống tác nghiệp: Bao gồm con người, phương tiện, phương pháp tham gia
trực tiếp thực hiện mục tiêu của hệ thống.
4
1.1.4. Các giai đoạn triển khai một dự án xây dựng HTTT
Việc phân giai đoạn tuỳ từng phương pháp và chỉ có tính tương đối. Để triển khai
một dự án xây dựng HTTT ta có thể chia thành các giai đoạn sau:
Giai đoạn 1:
- Khảo sát hiện trạng và xác lập dự án
- Tìm hiểu, phê phán để đưa ra giải pháp
Giai đoạn 2: Phân tích hệ thống. Phân tích sâu hơn các chức năng, các dữ liệu của
hoạt động cũ để đưa ra mô tả hoạt động mới (giai đoạn thiết kế logic).
Giai đoạn 3: Thiết kế tổng thể (Xác lập vai trò của môi trường một cách tổng thể
trong hệ thống).
- Thiết kế tổng thể: Biểu đồ luồng dữ liệu, thực thể liên kết E-R.
Giai đoạn 4: Thiết kế chi tiết.
- Thủ công
- Kiểm soát phục hồi
- Thiết kế cơ sở dữ liệu
- Chương trình
Giai đoạn 5: Cài đặt, lập trình.
Giai đoạn 6: Khai thác và bảo trì.
5
HTThông tin
HTQuyết định
HTTác nghiệp
Thông tin raThông tin vào
- Nguyên vật liệu- Tiền - Thông tin
- Nguyên vật liệu- Tiền - Thông tin
Môi trường
Hình 1.1. Hệ thống thực và các hệ thống con
1.2. XỬ LÝ THÔNG TIN BẰNG MÁY TÍNH
1.2.1. Các phương thức xử lý thông tin
Xử lý thông tin bằng máy tính có thể thực hiện theo nhiều phương thức khác nhau:
a) Xử lý tương tác (interactive processing) và xử lý giao dịch (transactional processing)
- Xử lý tương tác: là xử lý thực hiện từng phần, xen kẽ giữa phần thực hiện bởi con
người và phần thực hiện bởi máy tính. Nói cách khác, trong xử lý tương tác, con người
dẫn dắt các quá trình xử lý, có thể ngắt và tham gia vào các quá trình xử lý. Trong quá
tình xử lý tương tác, máy tính đóng vai trò hỗ trợ cho các quá trình đó.
Xử lý tương tác là phương tiện lựa chọn cho các hệ thống phải xử lý nhiều thông
tin có mối quan hệ phức tạp với nhau, khó mô tả bằng các công thức, các phương trình
toán học. Con người phải thường xuyên vận dụng những kinh nghiệm công tác của
mình vào trong quá trình xử lý.
- Xử lý giao dịch: Trong xử lý giao dịch, xuất phát từ yêu cầu của con người, máy
tính thực hiện cho đến kết quả cuối cùng. Quá trình xử lý chon vẹn như vậy của máy
tính không có sự ngưng ngắt can thiệp từ bên ngoài vào được gọi là một giai dịch.
Ví dụ: Thủ tục rút tiền từ ngân hàng là một ví dụ về xử lý giao dịch. Khởi đầu là
kiểm tra lỗi các thông tin nhập vào, tiếp theo là kiểm tra sự tương thích của các thông
tin này với các dữ liệu đã có trong hệ thống. Trên cơ sở kết quả kiểm tra, hệ thống đáp
ứng các yêu cầu của khách hàng.
b) Xử lý theo lô (batch processing) và xử lý trực tuyến (on - line processing)
- Xử lý theo lô: Trong xử lý theo lô, mỗi khi thông tin đến (hay khi yêu cầu xử lý
xuất hiện), thì chưa được đem xử lý ngay, mà được gom lại tạo thành một nhóm (một lô
hay một mẻ) mới được xử lý một các tập thể.
Phương thức xử lý theo lô thích hợp với những tiến trình xử lý thông tin mà trong đó:
+ Việc truy cập thông tin được diển ra theo định kỳ.
+ Khuôn dạng và kiểu dữ liệu hoàn toàn xác định.
+ Thông tin khá ổn định trong khoảng thời gian giữa 2 tiến trình xử lý liên tiếp
- Xử lý trực tuyến: trong xử lý trực tuyến thì thông tin đến được đem xử lý ngay
trực tiếp, một cách cá thể và bất kể vào lúc nào.
Xử lý trực tuyến thường áp dụng cho việc hiển thị, sửa chữa nội dung các tệp dữ
liệu, cho việc phục vụ các giao dịch với khối lượng thông tin không nhiều, lại cần thực 6
hiện tại chỗ và cần được trả lời ngay. Vídụ, dịch vụ gửi tiền tại ngân hàng, các xử lý tại
phòng bán vé máy bay, tàu hoả , hoặc dịch vụ thông tin tại tổng đài thường là các xử lý
trực tuyến.
c) Xử lý thời gian thực ( real - time processing)
Xử lý thời gian thực là cách tiến trình máy tính phải bảo đảm các yêu cầu rất ngặt
nghẽo của hệ thống về thời gian.
Thông thường các xử lý thời gian thực xuất hiện trong các hệ thống có liên quan
với các hệ thống ngoài như hệ thống điều khiển đường bay của tên lửa hoặc các hệ
thống mô phỏng. Xử lý thời gian thực phải đảm bảo đồng bộ các tiến trình máy tính với
các hoạt động diễn ra trong thực tế
d) Xử lý phân tán (distributed processing)
Các xử lý phân tán có thể diễn ra tại các bộ phận ở những vị trí khác nhau, có
những yêu cầu khác nhau vào những thời điểm cũng có thể khác nhau.
Nói chung, với những hệ thống có xử lý phân tán, dữ liệu thường được bố trí ở
những vị ttrí địa lý khác nhau và được quy định dùng chung. Trong xử lý phân tán, với
một số thành phần dữ liệu, có thể cùng một lúc xảy ra nhiều thao tác như cập nhật sửa
chữa hoặc khai thác khác nhau. Vì vậy, một trong những vấn đề cần quan tâm đối với
các xử lý phân tán là đảm bảo tính đồng bộ trong hệ thống.
1.2.2. Một số loại hệ thống tin học thường gặp
a) Hệ thống thông tin quản lý (Management information systems)
Là hệ thống nhằm cung cấp các thông tin cần thiết cho sự quản lý, điều hành của
một doanh nghiệp. Hạt nhân của hệ thống thông tin quản lý là một CSDL chứa các
thông tin phản ánh tình trạng và hoạt động kinh doanh hiện thời của doanh nghiệp.
Các hệ thống thông tin quản lý thường được phân làm 2 mức:
- Mức thấp, hay còn gọi là mức tác nghiệp, hệ thống chỉ có nhiệm vụ in ra
các bảng biểu, chứng từ giao dịch theo khuôn mẫu của cách xử lý bằng tay
truyền thống. Hệ thống lúc này còn được gọi là các hệ xử lý dữ liệu, như
các hệ: xử lý đơn hàng, hệ quản lý nhân sự, hệ quản lý thiết bị, hệ kế toán,
…
- Mức cao, còn gọi là mức điều hành, hệ thống phải đưa ra các thông tin có
tính chất chiến lược và kế hoạch giúp cho người lãnh đạo doanh nghiệp
7
đưa ra các quyết định đúng đắn trong công tác điều hành. Hệ thống còn
được gọi là hệ hỗ trợ quyết định. Phần lớn các hệ hỗ trợ giúp quyết định
được xây dựng dựa trên CSDL mà còn dựa trên hạt nhân là các mô hình đã
được chon lọc. Từ các dữ liệu đầu vào, hỗ trợ giúp quyết định đưa ra các
phương án và đánh giá về các phương án này, sắp xếp chúng theo một tiêu
chuẩn nào đó. Người sử dụng dựa vào các thông tin gợi ý này để xây dựng
một phương án thực hiện.
b) Hệ thống điều khiển (Process control systems)
Đó là các hệ thống nhằm xử lý và điều khiển tự động các quá trình vận hành các
thiết bị sản xuất, viễn thông, quân sự,…Các hệ thống này phải làm việc theo phương
thức xử lý thời gian thực. Về kiến trúc vật lý , thì bên cạnh phần mềm, hệ thống này bao
gồm nhiều loại thiết bị tin học đa dạng.
c) Hệ thống nhúng thời gian thực (Embedded real - time systems)
Các hệ thống này được thực hiện trên các phần cứng đơn giản và nhúng trong một
thiết bị nào đó, như mobiphone, ô tô, … Các hệ thống này thường được lập trình ở mức
thấp, và cũng được thực hiện xử lý theo thời gian thực.
d) Phần mềm hệ thống (System software)
Các hệ thống này thiết lập nên hạ tầng kỹ thuật của các hệ thống máy tính, phục vụ
cho các phần mềm ứng dụng chạy trên đó. Đó có thể là hệ điều hành, chương trình dịch,
hệ quản trị CSDL,…
e) Các hệ thống tự động hoá văn phòng (Automated office systems)
Tự động hoá văn phòng là cách tiếp cận nhằm đa máy tính vào hoạt động văn
phòng, cho phép thâu tóm mọi việc tính toán, giao lưu, quản lý thông tin bằng máy tính.
Một số hệ thống tự động hoá văn phòng thường bao gồm hai hệ thống con chính,
đó là hệ thống xử lý văn bản, và hệ thống trợ giúp tính toán.
1.3. SỰ PHÁT TRIỂN HỆ THỐNG
1.3.1. Vòng đời của hệ thống
Một hệ thống bất kỳ bao giờ cũng có một vòng đời cùng với các chu kỳ sống có
những đặc trưng riêng. Nó được sinh ra, phát triển và cuối cùng thì bị thay thế (loại bỏ)
bởi một hệ thống khác tiên tiến hơn, hiện đại hơn. Ta có thể chia vòng đời của một hệ
thống ra làm các giai đoạn sau:8
Giai đoạn chuẩn bị: Giai đoạn này tính từ khi trong tổ chức xuất hiện nhu cầu xây
dựng hệ thống thông tin được triển khai thực hiện trong thực tế. Các chuyên gia phân
tích hệ thống, nhà quản lý và các lập trình viên cùng nghiên cứu, khảo sát nghiên cứu,
phân tích thiết kế và xây dựng hệ thống. Hệ thống được thử nghiệm, cài đặt và đưa vào
sử dụng.
Giai đoạn khai thác và xử dụng: Thông thường đây là giai đoạn đoạn dài nhất
trong vòng đời của một hệ thống, trong giai đoạn này hệ thống được vận hành phục vụ
cho nhu cầu khai thác và sử dụng thông tin trong tổ chức, doanh nghiệp. Trong quá
trình sử dụng, hệ thống được bảo trì, sửa chữa để phù hợp với sự thay đổi về thông tin
hoặc nhu cầu thông tin.
Giai đoạn thay thế: Trong quá trình sử dụng và khai thác hệ thống, luôn gặp phải
sự thay đổi về thông tin (thay đổi về dung lượng và về cấu trúc) và thay đổi về nhu cầu
sử dụng (thay đổi nhiệm vụ và quy mô quản lý). Những sửa chữa và thay đổi trong hệ
thống làm cho nó trở nên cồng kềnh. Hoạt động kém hiệu quả phải thay thế bằng
một hệ thống mới tiên tiến hơn, hiện đại hơn.
1.3.2. Các bước xây dựng hệ thống thông tin
Việc xây dựng và phát triển hệ thống thông tin quản lý thông thường phải qua các
bước: lập kế hoạch xây dựng, phân tích, thiết kế, kiểm tra và cài đặt. Các bước này
không nhất thiết phải thực hiện tách rời nhau về thời gian mà có thể được thực hiện xen
kẽ nhau.
a) Lập kế hoạch phát triển hệ thống thông tin quản lý
Nhiệm vụ đặt ra trong giai đoạn này là xác định được mục tiêu của hệ thống,
những thời điểm cùng kết quả cần đạt được của lịch trình khảo sát, phân tích và thiết kế
hệ thống. Trong giai đoạn này phải có được những hình dung cơ bản về hệ thống thông
tin quản lý cần xây dựng.
b) Khảo sát hệ thống
Mục đích của khảo sát hệ thống thực là thu thập thông tin, tài liệu, nghiên cứu hiện
trạng nhằm làm rõ tình trạng hoạt động của hệ thống thông tin cũ trong hệ thống thực và
nhu cầu xây dựng hệ thống thông tin mới. Cần phải làm rõ các yêu cầu đặt ra đối với hệ
thống thông tin cần xây dựng.
9
c) Phân tích hệ thống
Xây dựng các mô hình của hệ thống thông tin quản lý, như sơ đồ chức năng nghiệp
vụ, sơ đồ luồng dữ liệu và mô hình dữ liệu, trên cơ sở các kết quả khảo sát hệ thống
thực, cần làm rõ mô hình hoạt động của tổ chức và hệ thống thông tin. Các công việc
cần thực hiện là :
Phân tích các mẫu biểu, các bảng biểu, các hồ sơ đã thu thập được. Xác định
các phần tử trong hệ thống.
Phân tích các luồng thông tin và các mối quan hệ giữa các phần tử trong hệ thống.
Phân tích quy trình xử lý thông tin hiện có và phác hoạ quy trình xử lý thông tin
cần có đối với hệ thống mới.
Xác định các chức năng nghiệp vụ của hệ thống thực, các thủ tục để từ đó xây
dựng sơ đồ luồng dữ liệu nghiệp vụ của hệ thống thực.
Phân tích dữ liệu để xây dựng mô hình dữ liệu cho hệ thống.
d) Thiết kế hệ thống
Trong thực tế, hai giai đoạn phân tích và thiết kế hệ thống không phải là hai giai
đoạn hoàn toàn riêng rẽ. Trong giai đoạn khảo sát hệ thống, người ta có thể phân tích sơ
bộ hệ thống hoặc phân tích một số hệ thống con nào đó. Căn cứ vào kết quả phân tích
này, có thể tiến hành thiết kế một số phần của hệ thống.
Các công việc thiết kế bao gồm:
Thiết kế dữ liệu: định ra các đối tượng và cấu trúc dữ liệu trong hệ thống.
Thiết kế chức năng: định ra module xư lý thể hiện các chức năng của hệ thống
thông tin.
Thiết kế giao diện: chi tiết hoá hình thức giao tiếp giữa con người với máy tính.
Thiết kế an toàn cho hệ thống thông tin quản lý.
Thiết kế phần cứng: tính toán các yêu cầu kỹ thuật cho hệ thống thông tin quản
lý, hay nói cách khác, là thiết kế hệ thống máy tính.
e) Kiểm tra, thử nghiệm hệ thống
Nói chung với nhiều hệ thống thông tin, việc kiểm tra tính đúng đắn của các
module xử lý trong hệ thống là khó. Vì vậy , thông thường, người ta kiểm tra hệ thống
thông tin quản lý thông qua thử nghiệm. Việc thử nghiệm hệ thống trên một tập hợp
các dữ liệu chuẩn cũng khó thực hiện được trong thực tế, bởi vì không phải hệ thống
thực nào cũng có sẵn một tập hợp các dữ liệu chuẩn như vậy.
10
Người ta thường dùng các thông tin, dữ liệu thực tế đã qua xử lý bằng các phương
pháp khác để vận hành thử nghiệm hệ thống thông tin mới, rồi so sánh kết quả đã xử lý
theo các phương pháp khác hoặc với kết quả trên thực tế rút ra kết luận về tính đúng đắn
của các xử lý trong hệ thống mới
f) Nghiệm thu và cài đặt
Hệ thống được nghiệm thu trên cơ sở những tiêu chuẩn đặt ra trong kế hoạch phát
triển hệ thống ban đầu, Song song với khâu cài đặt cũng cần phải chú ý tới khâu huấn
luyện vận hành sử dụng hệ thống mới.
1.3.3. Chu trình phát triển hệ thống
Có nhiều loại chu trình phát triển khác nhau. Phần này trình bày vắn tắt một số chu
trình phát triển chính. Cũng cần phải lưu ý rằng, số lượng và tên các giai đoạn trong các
chu trình không giống nhau, mặc dù về cơ bản, nội dung của chúng gần như nhau.
a) Chu trình thác nước
Chu trình này mô tả sự phát triển hệ thống trên cơ sở phân chia các giai đoạn riêng
rẽ với nhau về thời gian. Điểm cốt yếu của chu trình phát triển này là các giai đoạn được
tiến hành kế tiếp nhau, giai đoạn sau được bắt đầu khi giai đoạn trước đó đã kết thúc,
không chờm nên nhau về thời gian. Chính vì vậy, chu trình thác nước cong được gọi là
chu trình tuyến tính.
Hình 1.2. Chu trình thác nước
Nhược điểm của chu trình phát triển thác nước không có sự quay lui để chỉnh sửa
khi phát hiện sai sót trong một khâu nào đó.
11
Phân tích
Thiết kế
Mã hoá
Kiểm định
Nghiệm thu
b) Chu trình tăng trưởng
Ý tưởng chính của phương pháp là dựa trên các bước tăng trưởng dần dần, cho
phép hoàn thiện hệ thống từng mảng một. Mỗi bước tăng trưởng thực hiện một tiến
trình tuyến tính để triển khi một phần có thể chuyển giao được của cả hệ thống. Quy
trình này lặp lại nhiều lần cho đến khi có một phương án hoàn chỉnh cho cả hệ thống.
Ví dụ: Trong một trường đại học, người ta dự định phát triển hệ thống quản lý đào
tạo. Các phân hệ được phát triển theo thời gian:
- Hệ thống quản lý tuyển sinh.
- Hệ thống quản lý sinh viên
- Hệ thống quản lý chương trình đào tạo
- Hệ thống quản lý thời khoá biểu, và
- Hệ thống quản lý giáo viên.
Các hệ thống này được phát triển dần dần, bàn giao xong hệ thống này với phát
triển tiếp hệ thống kia.
c) Chu trình xoắn ốc
Phương pháp này duy tri quá trình lặp một dãy các tiến trình mà qua mỗi lần thực
hiện, các tiến trình đó các mẫu được hoàn thiện dần. Theo một số tác giả thì chu trình
xoắn ốc được chia ra thành bốn giai đoạn chính:
Phát hiện các nhu cầu và xác lập các mục tiêu
Đánh giá các phương án
Thiết kế và lậ các nguyên mẫu
Thử nghiệm các mẫu
Các vòng lặp trên được tiếp tục cho đến khi xét thấy nguyên mẫu là tốt để có thể
chuyển sang sản xuất thực sự.
d) Chu trình lắp ráp các thành phần
Chu trình lắp ráp các thành phần dựa trên việc sử dụng các thành phần phần mềm.
Việc tạo lập hệ thống được thực hiện bằng cách lắp ráp các thành phần có sẵn. Vấn đề
quan trọng là cần phải xác định và thu gom các thành phần có khả năng sử dụng lại
càng sớm càng tốt. Các thành phần khác tham gia vào hệ thống có thể được điều chỉnh,
thích ứng từ các thành phần có sẵn hoặc được xây dựng từ số không.
Một số tác giả chia làm các giai đoạn:
12
Nghiên cứu, nhận thức, hình thành các giải pháp và xác định các thành phần
của hệ thống. Các kết quả của giai đoạn này là một tập hợp các thành phần có
khả năng áp dụng cho hệ thống đang tạo lập cùng với các giải pháp dựa trên
chức năng của các thành phần đó.
Đánh giá, lựa chọn các thành phần thích hợp của hệ thống
Tích hợp các thành phần. Kết quả của giai đoạn này là tạo được một thành
phần nào đó (hệ con) của hệ thống toàn thể trên cơ sở lắp ráp các thành phần.
Thử nghiệm và đánh giá kết quả.
1.3.4. Phương pháp mô hình hoá hệ thống
- Mô hình: Mô hình (model) là một dạng trừu tượng hoá của hệ thống thực.
- Mục đích của mô hình hoá:
Mô hình hóa để hiểu hệ thống.
Mô hình hoá để trao đổi,
Mô hình hoá để hoàn chỉnh hệ thống,
- Các thành phần của một phương pháp mô hình hoá hệ thống:
Tập hợp các khái niệm và mô hình: Mỗi phương pháp đều phải dựa trên
một số không nhiều các khái niệm cơ bản, và sử dụng một số dạng mô
hình nhất định kèm với các kỹ thuật để triển khai hay biến đổi mô hình
đó.
Một tiến độ triển khai: bao gồm các bước đi lần lượt, các hoạt động cần
làm, các sản phẩm qua từng giai đoạn, cách điều hành với tiến độ đó và
cách đánh giá chất lượng các kết quả thu được.
Các công cụ trợ giúp: Đó là các phần mềm hỗ trợ cho quá trình mô hình hoá.
- Các bước chính: Quá trình phát triển hệ thống trên cơ sở xây dựng các mô hình
được thực hiện theo một số giai đoạn như sau:
Nghiên cứu sơ bộ hệ thống: Giai đoạn này tập trung vào việc thu thập
các thông tin, tài liệu liên quan tới cấu trúc của hệ thống và các hoạt động
của hệ thống. Mô hình được xây dựng ở giai đoạn này thường ở dạng mô
hình vật lý. Mục tiêu của việc xây dựng mô hình ở giai đoạn này là để mô
tả cách thức thực hiện các công việc trong hệ thống
13
Phân tích hệ thống: Giai đoạn này tập trung vào phân tích chi tiết bản
chất của hệ thống. Các mô hình được xây dựng ở giai đoạn này tập trung
vào các câu hỏi: Hệ thống là gì, và làm những gì. Sản phẩm của giai đoạn
này là các mô hình về chức năng và các mô hình về dữ liệu.
Thiết kế hệ thống: Lựa chọn các giải pháp cài đặt nhằm thực hiện các kết
quả phân tích. Có thể coi việc thiết kế hệ thống là sự cài đặt cho mô hình
có được sau khi phân tích, trên cơ sở dung hoà các yêu cầu, các ràng buộc
và các sự kịên thực thể.
Trong các công việc đã nêu ở đây, xây dựng được coi là khâu có ý nghía quyết
định. Chất lượng của hệ thống cần xây dựng phụ thuộc hoàn toàn vào chất lượng của
mô hình. Cùng một hệ thống thực nhưng mục tiêu nghiên cứu khác nhau sẽ dẫn tới các
mô hình mô tả chúng cũng khác nhau
Do các hệ thống thực rất phức tạp, chúng có thểphức tạp theo mục tiêu, phức tạo
về dữ liệu hoặc phức tạp theo yêu cầu của người sử dụng, mà khó có thể mô tả mọi chi
tiết có liên quan tới hệ thống,. Vì vâỵ, căn cứ vào mục đích nghiên cứu mà tập trung vào
sự chú ý và các yếu tố quan trọng trong hệ thống và lựa chọn một quan điểm xem xét
thích hợp để tiếp cận hệ thống.
- Một số phương pháp mô hình hoá: Người ta thường mô hình hoá theo 2 dạng: mô
hình hoá hướng chức năng và mô hình hoá hướng đối tượng. Ta có một số phương pháp
nổi tiếng sau:
Các phương pháp "hệ thống": MERISE (H. Tardieu, A.Rochfeld 1976)
Các phương pháp chức năng hay cấu trúc:
SA (De Marco 1978)
SADT (Douglas T. Ross, 1977)
SA-RT (Ward-Mellor, 1985; Hatley-Pirbhai, 1987)
Phương pháp theo sự kiện:
State Charts (D. Harel, 1987)
Phương pháp tích hợp (O. Foucaut, O. Thiéry 1996)
Các phương pháp hướng dữ liệu
LCP, LCS (J.D Warnier, 1969-1970)
14
E/A (H. Tardieu, P.Chen, 1976)
Các phương pháp hướng đối tượng:
OOA/RD ( Shlaer - Mellor, 1991-1992)
OOAD (G.Booch, 1992-1993)
OMT (J.Rumbaugh, 1992)
OOA/OOD (P.Coad, E.Yourdon, 1991)
OOSE (I.Jacobson, 1992)
Fusion (D. Coleman, 1994)
SOART (P.Lavret, 1994)
UML+RUP+Rational Rose (G.Booch, J.Rumbaugh, I.Jacobson,
1997)
15
Chương 2: KHẢO SÁT HỆ THỐNG
2.1. KHẢO SÁT VÀ ĐÁNH GIÁ HIỆN TRẠNG
2.1.1. Mục đích và yêu cầu công tác khảo sát.
Thông thường thì một hệ thống mới được xây dựnglà nhằm để thay thế cho một hệ
thống cũ đã bộc lộ nhiều điều bất cập. Việc tìm hiểu nhu cầu của hệ thống mới thường
bắt đầu từ việc khảo sát và đánh giá hệ thống cũ đó.
Việc khảo sát hiện trạng nhằm mục đích là:
Tiếp cận với nghiệp vụ chuyên môn, môi trường hoạt động của hệ thống.
Tìm hiểu các chức năng, nhiệm vụ và cung cách hoạt động của hệ thống.
Chỉ ra các chỗ hợp lý của hệ thống, cần được kế thừa và các chỗ bất hợp lý
của hệ thống cần được nghiên cứu và khắc phục.
Yêu cầu của công tác khảo sát: Việc khoả sát và điều tra cần đảm bảo được các
yêu cầu như sau:
Trung thực, khách quan, phản ánh đúng tình hình thực tại.
Không bỏ sót thông tin,
Các thông tin thu thập phải được đo đếm,
Không trùng lặp, nghĩa là phải tiến hành trong một trật tự, sao cho mỗi
người được điều tra không bị nhiều người điều tra hỏi đi hỏi lại về một việc.
Không gây càm giác xấu hay phản ứng tiêu cực ở người bị điều tra: phải
luôn gợi mở, tế nhị, tuyệt đối không can thiệp vào công việc nội bộ của cơ
quan, hay làm tăng thêm các mâu thuẫn trong cơ quan.
2.1.2. Chiến lược và quy trình khảo sát.
- Chiến lược điều tra: Một cuộc điều tra phải thực hiện theo một chiến lược được
cân nhắc kỹ càng từ trước. Một chiến lược bao gồm các yếu tố sau (Hình 2.1):
Các nguồn thông tin điều tra,
Các phương pháp áp dụng cho mỗi nguồn thông tin điều tra,
Các quy trình điều tra thích hợp.
Các triển khai một chiến lược điều tra:
16
- Quy trình khảo sát: Một quy trình khảo sát là một kế hoạch xác định việc khai
thác các nguồn điều tra cần được tiến hành theo trật tự nào, với các phương pháp nào và
nhằm thu thập những thông tin nào. Khi vạch ra một quy trình điều tra phải tuân thủ ba
nguyên tắc sau:
Quy trình điều tra phải hỗ trợ một cách đắc lực nhất cho phương pháp mô
hình hoá.
Quy trình điều tra phải được tiến hành từ tổng thể đến chi tiết và từ phải
được tiến hành từ trên xuống.
Quá trình điều tra phải được tiến hành lặp đi lặp lại.
2.2. NỘI DUNG KHẢO SÁT
2.2.1. Khảo sát công tác nghiệp vụ.
Mỗi một hệ thống có công tác nghiệp vụ riêng, ví dụ hệ thống kế toán cần phải
đẩm bảo nghiệp vụ kế toán, hệ thống quản lý tuyển sinh phải đảm bảo nghiệp vụ tuyển
sinh.v.v… Do đó khi xây dựng hệ thống ta cần phải nắm bắt được công tác nghiệp vụ
đối với hệ thống đó.
- Tìm hiểu môi trường xã hội, kinh tế và kỹ thuật của hệ thống; nghiên cứu cơ cấu
tổ chức của cơ quan chủ quản hệ thống đó.17
Các nguồn điều tra
Các phương pháp điều tra
Các phương pháp mô hình hoá
Chọn cácnguồn và cácphương pháp
Chọn cácquy trình điềutra thích hợp
Hình 2.1. Triển khai một chiến lược điều tra
- Nghiên cứu các chức trách, nhiệm vụ, các trung tâm ra quyết định và điều hành,
sự phân cấp các quyền hạn.
- Thu thập và mô tả các quy tắc quản lý, tức là các quy định, các công thức do nhà
nước hoặc cơ quan đó đưa ra làm căn cứ cho các quá trình xử lý thông tin…
2.2.2. Khảo sát nhu cầu xử lý thông tin.
- Thu thập các đòi hỏi về thông tin, các ý kiến phê phán, phàn nàn về hiện trạng,
các dự đoán, nguyện vọng và kế hoạch cho tương lai.
- Đánh giá, phê phán hiện trạng và đề xuất ra hướng giải quyết.
2.2.3. Thu thập thông tin, tài liệu.
- Thu thập và nghiên cứu hồ sơ, sổ sách, các tẹp cùng với các phương thức xử lý
các thông tin đó.
- Thu thập các chứng từ giao dịch và mô tả các chu trình lư chuyển và xử lý các
thông tin và tài liệu giao dịch.
2.2.4. Viết báo cáo khảo sát.
Sau khi khảo sát cần viết báo cáo tổng hợp dựa trên những kết quả của khảo sát
hiện trạng để có được những thông tin tổng quát về hệ thống nhằm giúp cho việc đưa ra
những quyết định cho giai đoạn tiếp theo.
Qua các nội dung trên có thể thấy mục tiêu của người phân tích và thiết kế cần đạt
được trong giai đoạn này là :
+ Khảo sát đánh giá sự hoạt động của hệ thống cũ.
+ Đề xuất mục tiêu, ưu tiên cho hệ thống mới.
+ Đề xuất ý tưởng cho giải pháp mới.
+ Vạch kế hoạch cho dự án triển khai hệ thống mới.
2.3. MỘT SỐ PHƯƠNG PHÁP THU THẬP THÔNG TIN THÔNG DỤNG
2.3.1. Nghiên cứu tài liệu viết
Nghiên cứu tài liệu viết giống như quan sát hệ thống một cách gián tiếp. Thông
qua việc nghiên cứu tài liệu viết mà có được hình dung tổng quan về hệ thống. Các tài
liệu viết nghiên cứu có thể là:
Tài liệu giao dịch như: hoá đơn, phiếu thanh toán, thời gian biểu,…
18
Tài liệu lưu trữ như: sổ ghi chép, các tập công văn, các tệp dữ liệu, các hồ sơ
cán bộ, hồ sơ dự án,…
Tài liệu tổng hợp như: các báo cáo tổng kết hàng tuần, hàng tháng, báo cáo
kiểm kê,…
Tài liệu chuẩn bị cho các buổi họp hoặc báo cáo không địng kỳ
Tài liệu quy định, quy chế nghiệp vụ.
Qua đó ta có thể thu thập được nhiều loại thông tin, từ các hoạt động chung của cơ
quan, đến các dữ liệu cơ bản, các dữ liệu cấu trúc. Việc nghiên cứu tài liệu thường kết
hợp với phỏng vấn ở mức thấp.
2.3.2. Phương pháp quan sát
Quan sát nhằm giúp cho phân tích viên có được một bức tranh khái quát về tổ chức
cần tìm hiểu và cách thức quản lý, tổ chức thực hiện các hoạt động trong hệ thống thực.
Ngoài ra, trong một số trường hợp, quan sát có thể giúp cho phân tích viên nắm bắt
được kỹ thuật xử lý công việc bằng các phương pháp truyền thống, để từ đó đưa ra kỹ
thuật xử lý cho hệ thống mới.
Ví dụ: khi theo dõi tiến trình xếp thời khoá biểu, chuyên gia tin học có thể học tập,
đúc rút những kinh nghiệm và tìm cách đưa những kinh nghiệm này vào trong các bảng
phân tích, thiết kế của mình, để cho sao lưu sau này.
Phương pháp quan sát này sử dụng 2 dạng quan sát, đó là quan sát chính thức và
quan sát không chính thức. Ví dụ: khi cần quan sát cách thức làm việc của cán bộ xếp
thời khoá biểu, chuyên gia tin học có thể đề nghị cùng làm việc với nhóm cán bộ này để
từ đó có điều kiện hiểu về công việc được đầy đủ hơn.
Việc quan sát thường đòi hỏi mất khá nhiều thời gian và việc quan sát tỉ mỉ không
phải là phương pháp hữu hiệu để thu thập thông tin cần thiết cho việc phát triển hệ
thống máy tính.
2.3.3. Phương pháp phỏng vấn
Đây là phương pháp rất quan trọng trong công tác khảo sát hệ thống, quá trình
phỏng vấn có thể cho những thông tin mà việc quan sát, nghiên cứu tài liệu viết không
thể cung cấp được.
Để có được chất lượng phỏng vấn tốt cần chú ý tới một số vấn đề sau:
19
Xây dựng kế hoạch phỏng vấn: Điểm quan trọng nhất trong kế hoạch phỏng
vấn là mục tiêu của cuộc phỏng vấn. Ngoài ra cần phải xác định được danh
sách những người sẽ được phỏng vấn và kế phỏng vấn từng người.
Chuẩn bị câu hỏi có chất lượng tốt, phục vụ trực tiếp cho mục đích cuộc
phỏng vấn. Câu hỏi phải phù hợp với phạm vi liên quan của vấn đề đang được
quan tâm, phù hợp với đối tượng được phỏng vấn.
Thiết lập quan hệ tốt, mang tính hợp tác trong quá trình phỏng vấn.
Chuẩn bị tình huống phỏng vấn phải được lưu trong biên bản phỏng vấn và
nói chung phải có xác nhận kết quả phỏng vấn.
Chú ý trong quá trình phỏng vấn, người phỏng vấn dẫn dắt các câu hỏi không được
thể hiện sự áp đặt, một định kiến chủ quan.
2.3.4. Phương pháp sử dụng bảng hỏi, mẫu điều tra
Nội dung chính của phương pháp này là xây dựng hành loạt các câu hỏi và có thể
đưa ra các phương án trả lời sẵn để người học hỏi diễn câu trả lời. Vấn đề quan trọng
nhất đối vớiphương pháp này là xây dựng được danh sách các câu hỏi có chất lượng.
Mỗi câu hỏi phải có phương án trả lời xác định, tránh những câu hỏi khó trả lời hoặc
câu trả lời không xác định. Các câu hỏi phải có tác dụng kiểm tra về độ tin cậy của
thông tin trong câu trả lời.
2.4. XÂY DỰNG DỰ ÁN
2.4.1. Xác định mục tiêu và phạm vi
a) Xác định mục tiêu
Một dự án có thể gắn với nhiều mục tiêu. Tuy nhiên, việc xác định đúng đắn của
các mục tiêu là vô cùng quan trọng, vì đây sẽ là cơ sở xem xét nghiệm thu sau này.
Thông thường thì một hệ thống thông tin được xây dựng là nhằm vào các mục tiêu sau:
+ Khắc phục những yếu kém hiện tại. Đáp ứng được những nhu cầu trong tương
lai, thể hiện chiến lược phát triển lâu dài của cơ quan. Phù hợp với các hạn chế về thời
gian, chi phí, con người.
+ Mang lại lợi ích nghiệp vụ: tăng khả năng xử lý, đáp ứng yêu cầu nghiệp vụ một
cách nhanh chóng, thuận lợi, chính xác, an toàn.
20
+ Mang lại lợi ích kinh tế: giảm biên chế cán bộ, giảm chi phí hoạt động, tăng thu
nhập.
b) Xác định phạm vi
Cần xác định các phạm vi:
- Phạm vi vấn đề cần giải quyết:
Danh mục các vấn đề cần giải quyết, nội dung và phạm vi giải quyết của từng vấn
đề phải được thoả mãn giữa cơ quan chủ quản và những người phát triển hệ thống
Sơ đồ phân cấp của hệ thống thông tin quản lý cần xây dựng là cơ sở chính để lập
danh mục các vấn đề cần giải quyết trong hệ thống
- Phạm vi ảnh hưởng trong tổ chức
Toàn bộ dự án và từng công việc đều có ảnh hưởng tới tổ chức và các bộ phận
trong tổ chức. Cần phải xác định rõ ràng ảnh hưởng của từng công việc đến từng bộ
phận trong tổ chức, đặc biệt là những ảnh hưởng liên quan tới nhân sự, sau đó là ảnh
hưởng liên quan tới tổ chức thực hiện các công việc
- Phạm vi về nhân lực,vật lực tài chính
Phạm vi về nhân lực vật lực và tài chính là vấn đề thường xuyên phải quan tâm.
Cần phải chú ý tới từng khía cạnh của các hạn chế. Ví dụ, hạn chế về nhân lực không
chỉ giới hạn về số lượng người tham gia vào dự án, số người tham gia vận hành sau này,
mà còn là hạn chế về trình độ, về thời gian đào tạo sau này.
2.4.2. Xây dựng giải pháp
Trong giai đoạn khảo sát, chưa có sự phân tích chi tiết các thông tin thu thập được,
có thể đưa ra một giải pháp sơ bộ về phần cứng, phần mềm để có thể xác định được
mức độ đầu tư. Giải pháp sơ bộ cho dự án phải có được các thông tin:
Chiến lược đầu tư: phần cứng, phần mềm đào tạo.
Biện pháp và kỹ thuật giải quyết cho từng vấn đề
Kiến trúc tổng thể của dự án
Khả năng của hệ thống thông tin quản lý
Các chức năng chính của hệ thống thông tin quoản lí
21
Tiếp theo giải pháp sơ bộ là xây dựng giải pháp có tính khả khi. Để làm đựoc việc
này cần có phân tích chi tiết các kết quả khảo sát hệ thống về các nhiệm vụ, chức năng
của hệ thống thông tin, phạm vi giải quyết từng vấn đề và các ràng buộc thực hiện.
Giải pháp khả thi có thể được lựa từ một số giả pháp đề nghị. Các giải pháp này có
thể khác nhau về mức độ tự động hoá hoặc chi phí. Giải pháp khả thi có thể chỉ là dung
máy tính hỗ trợ cho một số công việc phức tạp: Có thể là xây dựng một hệ thống thông
tin hỗ trợ hầu hết các công việc trong tổ chức, kể cả công việc điều hành, nhưng không
gây ra nhiều thay đổi về cơ cấu tổ chức: có thể là tự động hoá ở mức cao, gây nhiều
htay đổi trong tổ chức. Dù là giải pháp nào thì tính khả thi luôn được xem xét trên
nhiều khía cạnh:
Khả thi về nghiệp vụ, tức là phải đáp ứng các yêu cầu về nghiệp vụ
Khả thi về kỹ thuật, tức là đối với yêu cầu nghiệp vụ và ràng buộc thực
hiện, phải đảm bảo về kỹ thuật và công nghệ
Khả năng tài chính , nhân , vật lực
Hình thành các yếu tố đánh giá đối với hệ thống thông tin quản lý
2.4.3. Xây dựng kế hoạch triển khai
Một số thông tin cần thiết để lập kế hoạch triển khai dự án là:
Mục tiêu đặt ra cho hệ thống thông tin
Nhiệm vụ, phạm vi và các ràng buộc thực hiện
Giải pháp có tính khả thi
Trong việc lập kế hoạch triển khai dự án thi khâu thường xuyên được quan tâm
nhiều nhất là dự trù thiết bị, kinh phí và tiến trình của dự án
Một số thông tin thường được sử dụng để dự trù thiết bị:
Thời gian khai thác tối thiểu và dự kiến tối đa
Dung lượng dữ liệu dự kiến
Phương thức xử lý và yêu cầu xủe lý
Số lượng người sử dụng
Nhu cầu kết thúc thông tin
Một số thông tin thường được sử dụng để dự trù kinh phí:
22
Dự trù thiết bị
Khối lượng công việc và số lượng người tham gia thực hiện dự án
Yêu cầu về chất lượng sản phẩm
Thời gian thực hiện
Yêu cầu bảo hành
2.5. BÀI TẬP 1
Bài tập kkhảo sát hệ thống.
Để kết thúc chương, ta hãy xét một ví dụ. Ví dụ này được gọi là Ví dụ QLCƯVT,
Ví dụ này sẽ còn được dùng để minh họa cho các bước phân tích và thiết kế hệ thống
sau này.
Nhà máy X bao gồm các phân xưởng, sản xuất một số sản phẩm nhất định. Trong
quá trình sản xuất các phân xưởng sử dụng vật tư. Nhà máy có bộ phận cung ứng vật tư.
- Nhiệm vụ của bộ phận cung ứng vật tư:
Khi các phân xưởng có yêu cầu vật tư thì bộ phận cung ứng vật tư phải thực hiện
mua hàng ở các nhà cung cấp đáp ứng kịp thời cho các phân xưởng, không để xảy ra sai
sót về nhận hàng và trả tiền.
- Cơ cấu tổ chức và sự phân công trách nhiệm
Bộ phận cung ứng vật tư gồm ba tổ, hoạt động tương đối độc lập với nhau:
+ Tổ thứ nhất đảm nhiệm việc đặt hàng dựa trên các dự trù vật tư của các phân xưởng. Tổ này có sử dụng một máy tính, trên đó có một hệ chương trình gọi là hệ đặt hàng trợ giúp các việc: chọn người cung cấp, làm đơn hàng và theo dõi sự hoàn tất của đơn hàng.
+ Tổ thứ hai đảm nhiệm việc nhận và phát hàng. Tổ này cũng có một máy tính, trên đó có một hệ chương trình gọi là hệ phát hàng trợ giúp các việc: ghi nhận hàng về và làm thủ tục phát hàng cho các phân xưởng.
+ Tổ thứ ba gọi là tổ đối chiếu và kiểm tra. Sở dĩ có tổ này vì hai máy tính ở hai tổ trên là không tương thích nên không ghép nối được với nhau. Vì vậy các thông tin về đặt hàng và nhận hàng quản lý ở hai máy tính đó là hoàn toàn tách rời và do đó hàng về mà không xác định được là hàng cho phân xưởng nào. Tổ đối chiếu sẽ lấy các thông tin của các đợt đặt hàng, của các đợt nhận hàng từ hai tổ nói trên khớp lại để tìm ra phân xưởng có hàng, giúp cho tổ thứ hai phát hàng. Ngoài ra tổ đối chiếu còn có nhiệm vụ
23
phát hiện các sai sót về nhận hàng và trả tiền để khiếu nại với nhà cung cấp nhằm chỉnh sửa lại cho đúng. Tổ đối chiếu làm việc hoàn toàn thủ công.
- Qui trình xử lý và các dữ liệu xử lý
Qua điều tra khảo sát, ta thấy qui trình làm việc cùng các loại chứng từ giao dịch sử dụng trong qui trình đó như sau:
Khi các nhu cầu về vật tư sản xuất, các phân xưởng lập dự trù gửi cho tổ đặt hàng, trong đó có các mặt hàng yêu cầu với số lượng tương ứng. Tổ đặt hàng trước hết chọn nhà cung cấp để dặt mua các mặt hàng nói trên. Muốn thế, nó dùng máy tính để tìm các thông tin về các nhà cung cấp được lưu trong tệp NH_CCAP. Sau đó tiến hành thương lượng với nhà cung cấp được chọn. Sau khi đã thỏa thuận, dùng hệ chương trình đặt hàng để in một đơn hàng và gửi cho nhà cung cấp. Các thông tin trên đơn hàng được lưu trong tệp đơn hàng. Trong đơn hàng mỗi mặt hàng là một yêu cầu về mặt hàng đó của một dự trù. Tuy nhiên một đơn hàng gồm nhiều mặt hàng, có thể đáp ứng yêu cầu của nhiều dự trù. Các mặt hàng yêu cầu trên một bản dự trù có thể được phân bổ lên nhiều đơn hàng khác nhau, gửi đến nhiều nhà cung cấp khác nhau. Đơn hàng gửi tới nhà cung cấp không chứa thông tin về phân xưởng dự trù. Vì vậy cần lưu mối liên hệ giữa các bản dự trù của các phân xưởng với các đơn hàng đã được phát đi trong một tệp gọi là tệp DT_ĐH, ở đó đặt liên hệ mỗi Số hiệu dự trù và mỗi Số hiệu mặt hàng với một Số hiệu đơn hàng.
Nhà cung cấp căn cứ trên đơn đặt hàng sẽ chuyển hàng đến nhà máy, kèm theo
phiếu giao hàng. Tổ nhận và phát hàng tiếp nhận hàng và cất tạm vào một kho (có nhiều
kho). Thông tin trên phiếu giao hàng và địa điểm cất hàng được lưu trong tệp nhận
hàng. Trên phiếu giao hàng, mỗi mặt hàng được giao đều có ghi rõ Số hiệu đơn hàng đã
đặt mặt hàng đó (số lượng giao có thể chưa đủ như số lượng đặt).
Hàng tuần tổ nhận hàng sử dụng hệ chương trình phát hàng, in ra một danh sách nhận hàng trong tuần gửi cho tổ đối chiếu với nội dung như sau:
SH giao hàng, Tên NH_CCAP, SH mặt hàng, Số lượng nhận, Số hiệu đơn hàng.
Cũng hàng tuần tổ Đặt hàng sử dụng hệ chương trình đặt hàng, in ra một danh sách Đặt hàng trong tuần, gửi cho tổ Đối chiếu với nội dung như sau:
SH đơn hàng, Tên NH_CCAP, SH mặt hàng, Số lượng đặt, Số hiệu dự trù, SH phân xưởng.
Tổ Đối chiếu khớp hai danh sách này, tìm ra SH đơn hàng và SH mặt hàng chung
từ đó xác định được lượng hàng nào là cần phát về cho phân xưởng nào. Danh sách các
địa chỉ phát hàng được lập và gửi cho tổ nhận và phát hàng, để tổ này chuyển hàng kèm
theo phiếu phát hàng cho các phân xưởng.24
Tổ đối chiếu và kiểm tra còn có nhiệm vụ tiếp nhận hóa đơn từ nhà cung cấp gửi
đến, đối chiếu với hàng đã nhận, nếu chính xác thì xác nhận chi lên hóa đơn và gửi cho
bộ phận thanh toán để làm thủ tục trả tiền. Nếu phát hiện có sự không khớp giữa hàng
đặt, hàng nhận và tiền phải trả thì khiếu nại với nhà cung cấp để chỉnh sửa lại. Việc
kiểm tra thường có khó khăn, vì nhiều khi nhà cung cấp không đủ hàng, chưa đáp ứng
đủ hàng, mà còn nợ một phần để giao sau. Về phía nhà máy, có khi chưa đủ tiền để trả
theo hoá đơn, mà còn nợ lại một phần để trả sau. Tổ Đặt hàng thì muốn biết đơn hàng
do mình phát ra đã hoàn tất hay chưa nên tổ này đã yêu cầu bộ phận thanh toán mỗi khi
trả tiền cho nhà cung cấp thì gửi cho tổ một bản ghi trả tiền. Thông tin trả tiền này được
cập nhật vào tệp đơn hàng , nhờ đó biết đơn hàng nào là đã hoàn tất.
Qua giai đoạn khảo sát ở trên ta đánh giá hiện trạng của hệ thống.
Yếu kém:o Thiếu : Không có kho hàng thông dụng để lưu tạm thời các mặt hàng nhập về
và tạm thời chưa sử dụngo Kém hiệu lực do:
- Giải quyết đơn hàng, dự trù quá chậm do cách đối chiếu thủ công và cách lấy thông tin
- Theo dõi việc thực hiện đơn hàng không sát, xảy ra nhiều sai sót do phân tán về quản lý.
o Tổn phí: tốn nhân lực ở khâu đối chiếu và kiểm tra bằng tay.
Mục tiêu
o Thêm hàng vào kho thông dụng
o Khắc phục 2 điều kém hiệu lực bằng cách tổ chức lại để rút ngắn quá trình giải
quyết 1 dự trù hàng
o Tổ chức lại để theo dõi thực hiện đơn hàng chặt chẽ, tránh sai sót.
o Cố gắng tận dụng phần mềm và phần cứng đã có.
Phác hoạ các giải pháp:
Ở đây ta đưa ra 5 giải pháp để cân nhắc lựa chọn:
Giải pháp 1: Tạo kênh liên lạc để kết nối hai máy tính, xóa bỏ tổ đối chiếu và kiểm tra. Giải pháp này vi phạm tính khả thi về kỹ thuật vì giả thiết 2 máy không tương thích
Giải pháp 2: Gộp hệ đặt hàng vào hệ phát hàng hay ngược lại nhằm loại bỏ một máy tính , bỏ tổ đối chiếu và kiểm tra.
25
Giải pháp 3: Loại bỏ 2 máy tính đưa các toàn bộ các nhiệm vụ vào trung tâm máy tính của nhà máy.
Giải pháp 4: Thêm một máy tính để giải quyết khâu đối chiếu. Ba máy tính được kết nối
Giải pháp 5: Chuyển nhiệm vụ nhận dự trù từ hệ Đặt hàng sang hệ Phát hàng. Như vậy hệ ĐH làm nhiệm vụ mua hàng và kiểm tra việc thực hiện đơn hàng. Hệ PH vừa quản lý dự trù, vừa nhận và phát hàng, vừa quản lý kho dự trữ.
Cân nhắc tính khả thi và lựa chọn giải pháp
- Các giải pháp 1 và 4 là không khả thi về kỹ thuật vì các máy tính đã có là không
tương thích nên không thể ghép nối được.
- Giải pháp 2 là có thể được, nếu máy tính cũ giữ lại đủ mạnh. Tuy nhiên nếu hai
máy tính là không tương thích đến mức không chạy được chương trình của nhau, thì
như vậy ít ra cũng phải viết lại khoảng một nửa số chương trình ( kém khả thi về kinh
tế)
- Giải pháp 3 là rất có ích nếu thông tin về cung ứng vật tư còn được sử dụng ở
một số bộ phận khác trong cơ quan. Tuy nhiên dường như cung ứng vật tư chỉ là một
công việc đóng khung trong một bộ phận nhỏ, và như vậy sẽ phải tốn kém cho việc viết
lại tất cả các chương trình.
- Giải pháp 5 là một giải pháp có tính chất thỏa hiệp. Hai máy tính cũ cùng hai hệ
chương trình được tận dụng triệt để. Việc đưa thêm kho hàng dự trữ cùng với các cải
tiến mới về khâu phát hiện địa chỉ phát hàng và kiểm tra đã đáp ứng được các mục tiêu,
mà không gây tốn kém nhiều. Do đó giải pháp 5 đã được chọn.
26
Chương 3: PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG
3.1. BIỂU ĐỒ PHÂN CẤP CHỨC NĂNG
3.1.1. Các khái niệm
- Định nghĩa: Biểu đồ phân cấp chức năng (BPC) là công cụ biểu diễn việc phân rã
có thứ bậc đơn giản các công việc cần thực hiện. Mỗi chức năng được ghi trong một
khung và nếu cần sẽ được phân thành những chức năng con, số mức phân ra phụ thuộc
vào kích cỡ và độ phức tạp của hệ thống.
BPC là công cụ khởi đầu để mô tả hệ thống qua chức năng, là một trong những mô
hình tương đối đơn giản, dễ hiểu, thân thiện với người sử dụng mà ký thuật mô hình hoá
lại không quá phức tạp, nó rất có ích cho các giai đoạn sau. Một khâu rất quan trọng
trong khi xây dựng biểu đồ phân cấp chức năng là xác định chức năng.
- Chức năng: là khái niệm dùng để mô tả công việc cần thiết sao cho công tác
nghiệp vụ được thực hiện. Trong chức năng không cần thiết nêu ra rằng nghiệp vụ đó
được thực hiện ở đâu?, như thế nào?, bởi ai? có nghĩa là nó không quan tâm đến các yếu
tố vật lý của vấn đề mà chỉ quan tâm tới khía cạnh hình thức, logic của vấn đề.
Ví dụ: Chức năng lập thời khoá biểu dùng để mô tả cho công tác nghiệp vụ của
một một trường học nào đó có nhiệm vụ thu thập thông tin về số lớp học, sĩ số của từng
lớp, số phòng học, phân công nhiệm vụ giảng dạy của từng giáo viên để từ đó sắp xếp
tạo ra một thời khoá biểu chung cho toàn trường.
Để hiểu rõ hơn các chức năng ta cần phân rã, hay nói cách khác là mô tả chúng chi
tiết hơn nữa. Để làm việc này chúng ta có thể sử dụng BPC.
Thành phần của biểu đồ bao gồm:
+ Các chức năng:
- Tên chức năng: mỗi chức năng phải có một tên duy nhất dưới dạng động từ-
bổ ngữ.
Ví dụ: Lấy đơn hàng, mua hàng, lập thời khoá biểu.
- Ký hiệu: chức năng được ký hiệu bằng hình chữ nhật bên trong có tên chức
năng.
Ví dụ:
27
Mua hàng
+ Kết nối: Kết nối giữa các chức năng mang tính chất phân cấp và được ký hiệu
bằng đoạn thẳng nối chức năng “cha” với các chức năng “con”.
Đặc điểm của BPC
+ Các chức năng được nhìn thấy một cách khái quát nhất, trực quan, dễ hiểu, thể
hiện tính cấu trúc của phân rã chức năng.
+ Dễ thành lập vì tính đơn giản: Nó trình bày hệ thống phải làm gì hơn là hệ thống
làm như thế nào ?
+ Mang tính chất tĩnh vì bỏ qua mối liên quan thông tin giữa các chức năng. Các
chức năng không bị lặp lại và không dư thừa.
+ Rất gần gũi với sơ đồ tổ chức nhưng ta không đồng nhất nó với sơ đồ tổ chức:
phần lớn các tổ chức của doanh nghiệp nói chung thường gắn liền với chức năng.
Vì những đặc điểm trên mà BPC thường được sử dụng làm mô hình chức năng
trong bước đầu phân tích.
Ví dụ: Xét hệ thống quản lý bán hàng tại một công ty cung ứng vật tư. Khi có nhu
cầu mua hàng khách hàng gửi Đơn đặt hàng cho bộ phận nhận đơn hàng. Bộ phận này
xem xét tính hợp lệ của đơn đặt hàng ( xem xét về khách hàng, về mặt hàng trong đơn ).
Nếu đơn hàng được chấp nhận thì sẽ được chuyển sang bộ phận thanh toán và khách
hàng trả tiền cho bộ phận này. Bộ phận giao hàng căn cứ vào đơn hàng đã được chấp
nhận gom hàng từ các kho, đóng gói và giao hàng cho khách hàng.
Biểu đồ phân cấp chức năng của hệ thống này được mô tả như sau:
28
QUẢN LÝ BÁN HÀNG
Nhận đơn hàng hµng
Giao hàng Thanh toán
Tiếp nhận đơn đặt
hàng
Kiểm tra
khách hàng
Kiểm
tra mặt
hàng
Tập trung mặt hàng
Đóng gói
bao bì
Giao hàng cho
khách
3.1.2. Kỹ thuật phân rã
Kỹ thuật phân rã hay còn gọi là “phân tích từ trên xuống” tiến hành sự phân tích
chức năng của hệ thống bằng cách đi dần từ một mô tả cụ thể đến những mô tả chi tiết
thông qua nhiều mức. Sự chuyển dịch từ một mức tới mức tiếp theo thực chất là sự phân
rã chức năng ở mức trên thành một số các chức năng ở mức dưới. Vậy đây là quá trình
triển khai theo một cây, và chính vì vậy mà phương pháp này còn có tên là phương pháp
phân tích có cấu trúc.
Có hai cách vận dụng kỹ thuật phân rã : dùng biểu đồ phân cấp chức năng (BPC)
và dùng biểu đồ luồng dữ liệu (BLD).
Với BPC, thì phân tích trên xuống thực hiện bằng cách triển khai dần cây phân
cấp từ gốc đến ngọn lần lượt qua các mức (mỗi mức bao gồm một tâp hợp các chức
năng). Để triển khai từ một mức đến mức tiếp theo ta xem xét từng chức năng và đặt
câu hỏi: để hoàn thành chức năng đó thì phải hoàn thành các chức năng con nào . Nhờ
đó ta phát hiện các chức năng thuộc mức tiếp theo mà mối liên quan với các chức năng
ở mức trên là quan hệ bao hàm (hay cha-con). Tên của mỗi chức năng (ở mỗi nút của
cây) được chọn lựa để có thể phản ánh một cách ngắn gọn nội dung của chức năng đó.
Chức năng ở gốc (mức 0) thể hiện nhiệm vụ tổng quát của hệ thống.
Ví dụ: Xét hệ thống hoạt động tín dụng của ngân hàng. Đây là một trong lĩnh vực
hoạt động của ngân hàng bên cạnh các hệ thống tiết kiệm, chuyển khoản.
Sơ đồ luân chuyển thông tin của hệ thống
29
Cho vay
Khách hàng Lưu hồ sơ
Thu nợ
Hệ thống tín dụngHồ sơ
Trả nợ
Giấy báo
Trả lời
Đối với khách hàng đến vay tiền ở ngân hàng thì phải có một hồ sơ (gồm: Đơn xin
vay, chứng minh thư) và yêu cầu được vay. Nếu hồ sơ hợp lệ hoặc không hợp lệ thì hệ
thống sẽ trả lời khách hàng.
Đối với ngân hàng nếu yêu cầu và hồ sơ của khách vay hợp lệ tức là yêu cầu của
khách hàng được đáp ứng thì ngân hàng lập một tài khoản tương ứng với khế ước vay
mà ngân hàng quy định về số tài khoản, thời gian vay, mức lãi xuất và ngày hoàn trả.
Khách vay phải thanh toán (gốc + lãi) cho ngân hàng theo đúng hạn ghi trên khế ước
vay, nếu quá hạn khách hàng không đến trả ngân hàng thì hệ thống sẽ thông báo với
khách hàng đồng thời áp dụng mức lãi xuất quá hạn.
Đến kỳ hạn hoản trả khách vay đến thanh toán (trả nợ) bộ phận thu nợ tính ra số
tiền mà khách hàng phải trả, căn cứ vào ngày vay, ngày hoàn trả và lãi xuất.
Sau đó hệ thống đối chiếu với tài khoản gốc, in hoá đơn thanh toán và thông báo
tới khách hàng.
Xây dựng biểu đồ phân cấp chức năng của hệ thống
Hệ thống bao gồm có các mức sau:
Mức 0: Hoạt động của hệ thống tín dụng
Mức 1: Gồm các chức năng sau:
- Cập nhật dữ liệu
- Thu nợ
- Thống kê và tra cứu
- In ấn
Mức 2: gồm các chức năng cập nhật khách hàng, xác định mức lãi xuất, lập khế
ước là các chức năng con của chức năng Cập nhật dữ liệu; Xác nhận hoàn trả, ghi nhận
trả đúng hạn, ghi nhận trả sai hạn là các chức năng con của chức năng Thu nợ; thống kê
khách vay, thống kê nợ quá hạn, tra cứu theo mã khách là các chức năng con của chức
năng tra cứu theo mã khách; In hóa đơn thanh toán, in phiếu báo nợ là các chức năng
con của chức năng In ấn
Qua phân tích các chức năng ở trên ta xây dựng được biều đồ phân cấp chức năng
của hệ thống như sau:
30
Tuy nhiên qua một cách phân tích khác chúng ta có thể nhận được BPC khác như
đưới đây. Điều đó không có mâu thuẫn gì do quan niệm của yêu cầu hệ thống và cách
phân tích.
Dễ thấy quá trình phân tích với BPC , mà thực chất là sự phân rã dần dần các
chức năng là tự nhiên và dễ làm. Tuy nhiên kết qua thu được có thể nói là nghèo nàn: hệ
thống chỉ được diễn tả bằng một tập hợp các chức năng rời rạc (ở một mức của BPC).
Vì vậy cách làm này chỉ thích hợp cho sự phân tích bước đầu, hoặc cho các hệ thống
đơn giản .
31
Làm tín dụng
Cho vay Thu nợ
Xác định kỳ hạn
trả
Xử lý nợ trả trong hạn
Xử lý nợ trả ngoài hạn
Nhận đơn
Duyệt vay
Trả lời đơn
HỆ THỐNG TÍN DỤNG NGÂN HÀNG
Cập nhật Thu nợ Thống kê In ấn
Hồ sơ khách hàng
Mức lãi suất
Kế ước
Xác định hoàn trả
Ghi nhận trả đúng hạn
Ghi nhận trả sai hạn
Thống kê khách vay
Tra cứu khách
Hoá đơn thanh toán
Phiếu báo nợ
3.2. BIỂU ĐỒ LUỒNG DỮ LIỆU
3.2.1. Các khái niệm
Biểu đồ luồng dữ liệu (Data Flow Diagrams - BLD) là một loại biểu đồ nhằm mục
đích diễn tả một qúa trình xử lý thông tin với các yêu cầu sau:
- Sự diễn tả là ở mức logic, nghĩa là nhằm trả lời câu hỏi "Làm gì?" mà bỏ qua câu
hỏi "Làm như thế nào?".
- Chỉ rõ các chức năng (con) phải thực hiện để hoàn tất quá trình xử lý cần mô tả.
- Chỉ rõ các thông tin được chuyển giao giữa các chức năng đó và qua đó phần nào
thấy được trình tự thực hiện của chúng.
BLD là công cụ chính của quá trình phân tích, nhằm mục đích thiết kế trao đổi và
tạo lập dữ liệu. Nó thể hiện rõ ràng và khá đầy đủ các nét đặc trưng của hệ thống trong
các bước phân tích, thiết kế và trao đổi dữ liệu.
Hình thức biểu diễn: Trong một số tài liệu khác nhau với các phương pháp tiếp cận
khác nhau người ta thường dùng các ký hiệu không hoàn toàn giống nhau. Tuy vậy các
thành phần cơ bản không thay đổi và nó được sử dụng nhất quán trong các quá trình
phân tích, thiết kế.
3.2.2. Các thành phần của biểu đồ luồng dữ liệu
BLD gồm có các thành phần sau:
- Chức năng xử lý (Process)
- Luồng dữ liệu (Data Flows)
- Kho dữ liệu (Data Store)
- Tác nhân ngoài (External Entity)
- Tác nhân trong (Internal Entity)
a) Chức năng xử lý (Process)
+ Khái niệm: Chức năng xử lý được hiểu là các quá trình biến đổi thông tin, từ
thông tin vào nó biến đổi, tổ chức lại thông tin, bổ xung thông tin hoặc tạo ra thông tin
mới tổ chức thành thông tin đầu ra phục vụ cho hoạt động của hệ thống như lưu vào kho
dữ liệu hoặc gửi cho các chức năng khác.
+ Biểu diễn: Chức năng xử lý được biểu diễn bằng hình tròn hay hình ôvan, trong
đó có ghi tên của chức năng.
+ Tên chức năng: Bởi vì chức năng là các thao tác nên tên phải được dùng là một
động từ cộng với bổ ngữ nếu cần, cho phép hiểu một cách vắn tắt chức năng làm gì.
32
Ví dụ: Chức năng “Mua hàng”, “Nhận đơn hàng”
Cần chú ý rằng tên của chức năng trong biểu đồ luồng dữ liệu phải trùng với tên đã
được đặt trong biểu đồ phân cấp chức năng. Khi xây dựng biểu đồ luồng dữ liệu nếu có
chức năng nào không tạo ra thông tin mới thì nó chưa phải là chức năng trong biểu đồ
luồng dữ liệu và khi đó cần phải xem xét lại biểu đồ phân cấp chức năng. Thông thường
nên xem xét đến khả năng chức năng này đã bị tách ra khỏi chức năng khác một cách
không hợp lý.
b) Luồng dữ liệu
+ Khái niệm: Luồng dữ liệu là luồng thông tin vào hay ra của một chức năng xử
lý. Bởi vậy luồng dữ liệu được coi như các giao diện giữa các thành phần của biểu đồ.
+ Biểu diễn: Luồng dữ liệu trên biểu đồ được biểu diễn bằng mũi tên có hướng
trên đó có ghi tên là tên luồng thông tin mang theo. Mũi tên để chỉ hướng của luồng
thông tin.
+ Tên luồng dữ liệu: Vì thông tin mang trên luồng, nên tên là danh từ cộng với tính từ
nếu cần thiết, cho phép hiểu một cách vắn tắt nội dung của dữ liệu được chuyển giao.
Các luồng dữ liệu và tên được gán cho chúng là các thông tin “logic” chứ không
phải là các tài liệu vật lý - giá mang thông tin. Tuy nhiên trong một số trường hợp tên
dòng dữ liệu trùng (hoặc ta đã quen dùng) với tên tài liệu vật lý.
Ví dụ: “Hoá đơn”, “Hoá đơn đã kiểm tra”, “Điểm thi”, “Danh sách thi lại” , "Phiếu
nhập", "Hồ sơ dự thi"
Ví dụ về chức năng xử lý và luồng dữ liệu tương ứng
33
Mua hàng
Nhận đơn hàng
Nhận hồ sơ
Hồ sơ dự thi Hồ sơ đã kiểm tra
Hoá đơn
c) Kho dữ liệu
+ Khái niệm: Kho dữ liệu là các thông tin cần lưu giữ lại trong một khoảng thời
gian, để sau đó một hay một vài chức năng xử lý, hoặc tác nhân trong sử dụng.
+ Biểu diễn: Kho dữ liệu được biểu diễn bằng cặp đoạn thẳng song song trên đó có
ghi tên của kho.
+ Tên: Bởi vì kho chứa các dữ liệu nên tên của kho là danh từ kèm theo tính từ nếu
cần thiết, nó nói lên nội dung thông tin chứ không phải là giá mang thông tin.
Ví dụ: Kho “Hồ sơ Cán bộ”, “Độc giả” v.v...
Biểu diễn mối liên quan giữa chức năng xử lý, kho dữ liệu, luồng dữ liệu trong
biểu đồ luồng dữ liệu:
Ví dụ: việc quản lý lương của cán bộ, công nhân viên tại một cơ quan. Khi có
nhân viên mới về cơ quan phải gửi các thông tin về lương của cá nhân cho bộ phận này.
Bộ phận này kiểm tra tính đầy đủ và chính xác của các thông tin và lưu trữ các thông tin
này. Theo định kỳ làm các bảng lương đồng thời thường xuyên cập nhật các thông tin
mới về lương cho cán bộ công nhân viên.
Ta có thể mô tả mô tả các công việc đó của bộ phận quản lý lương như sau:
34
Cập nhật kho Lấy thông tin từ kho
Vừa lấy thông tin vừa cập nhật
Hồ sơ
Cập nhật hồ
sơ
Hồ sơ
Làm bảng lương
Hồ sơ
Hiệu chỉnh lương
Một số chú ý khi xác định các kho dữ liệu:
- Không có luồng dữ liệu giữa hai kho dữ liệu
- Nói chung kho đã có tên nên luồng dữ liệu vào ra kho không cần tên chỉ khi việc
cập nhật, hoặc trích từ kho chỉ một phần thông tin ở kho, người ta mới dùng tên cho
luồng dữ liệu
- Đối với kho dữ liệu phải có ít nhất một luồng dữ liệu vào và ít nhất một luồng ra.
Nếu kho chỉ có luồng vào mà không có luồng ra là kho “vô tích sự”, nếu kho chỉ có
luồng ra mà không có luồng vào là kho “rỗng”.
-Trong biểu đồ luồng dữ liệu ta có thể đặt một kho dữ liệu ở nhiều nơi để thuận lợi
cho việc theo dõi. (nhưng phải hiểu chỉ là một).
d) Tác nhân ngoài
Tác nhân ngoài còn được gọi là Đối tác, là một người, một nhóm người hay một tổ
chức ở bên ngoài lĩnh vực nghiên cứu của hệ thống nhưng có tiếp xúc, trao đổi thông tin
với hệ thống. Sự có mặt của các nhân tố này trên sơ đồ chỉ ra giới hạn của hệ thống, và
định rõ mối quan hệ của hệ thống với thế giới bên ngoài. Điều đáng chú ý là hiểu nghĩa
“ngoài lĩnh vực nghiên cứu” không có nghĩa là bên ngoài tổ chức, chẳng hạn như với
hệ thống xử lý đơn hàng thì bộ phận kế toán, bộ phận mua hàng và các bộ phận kho
tàng vẫn là tác nhân ngoài. Đối với hệ thống tuyển sinh đại học thì tác nhân ngoài vẫn
có thể là thí sinh, giáo viên chấm thi và hội đồng tuyển sinh.
Tác nhân ngoài là phần sống còn của hệ thống, chúng là nguồn cung cấp thông tin
cho hệ thống cũng như chúng nhận các sản phẩm thông tin từ hệ thống.
+ Biểu diễn: Bằng hình chữ nhật có tên
+ Tên: Được xác định bằng danh từ kèm theo tính từ nếu cần thiết
Ví dụ:
35
Thí sinh Khách hàng
Một số chú ý với tác nhân ngoài khi xây dựng biểu đồ
- Trong biểu đồ không có luồng dữ liệu giữa hai tác nhân ngoài .
- Trong một biểu đồ luồng dữ liệu ta có thể đặt một tác nhân ngoài ở nhiều chỗ để
dễ đọc, dễ hiểu (nhưng phải hiểu chỉ là một).
Trong biểu đồ luồng dữ liệu không có luồng dữ liệu giữa tác nhân ngoài với kho
dữ liệu
e) Tác nhân trong
+ Khái niệm: Tác nhân trong là một chức năng hay một hệ thống con của hệ thống
được mô tả ở trang khác của biểu đồ, nhưng có trao đổi thông tin với các phần tử thuộc
trang hiện tại của biểu đồ. Thông thường mọi biểu đồ có thể bao gồm một số trang, đặc
biệt là trong các hệ thống phức tạp và với khuôn khổ giấy có hạn thông tin được truyền
giữa các quá trình trên các trang khác nhau được chỉ ra nhờ ký hiệu này. ý nghĩa của tác
nhân trong với ký hiệu tương tự như nút tiếp nối của sơ đồ thuật toán.
+ Biểu diễn: Tác nhân trong biểu diễn bằng hình chữ nhật hở một phía và trong có
ghi tên.
+ Tên tác nhân trong: Được biểu diễn bằng Động từ kèm bổ ngữ nếu cần.
Khi xây dựng biểu đồ một tác nhân trong có thể được đặt ở nhiều nơi trong biểu
đồ cho dễ đọc, dễ hiểu.
Ví dụ: BLD diễn tả hệ thống cung ứng vật tư trong Ví dụ QLCƯVT ở phần trước.
4 chức năng chính:
Đặt hàng
36
Quản lý kho Tính lương
Nhận, phát hàng
Đối chiếu và kiểm tra
Thanh toán
Tác nhân ngoài
Phân xưởng
Nhà cung cấp
Ta có biểu đồ lường dữ liệu sau:
3.2.3. Phân rã biểu đồ luồng dữ liệu theo mức
Với BLD thì quá trình phân rã từ trên xuống lại là quá trình thành lập dần dần các
BLD diễn tả các chức năng của hệ thống theo từng mức.
Mỗi mức là một tập hợp các BLD:
Mức bối cảnh hay khung cảnh (còn gọi là mức 0) chỉ có một BLD, trong
đó chỉ có một chức năng duy nhất - chức năng tổng quát của hệ thống và các
luồng thông tin trao đổi với các tác nhân ngoài.
Mức đỉnh (còn gọi là mức 1) cũng chỉ có một BLD gồm các các chức
năng chính của hệ thống.
Các mức dưới đỉnh( còn gọi là các mức 2,3,4,...) , mỗi mức gồm nhiều
BLD được thành lập như sau:
37
Đơn hàng
Hệđặt hàng Nhà cung cấp
Hệphát hàngPhân xưởng
Thương lượng mua hàng
Đơn hàng
Dự
trù
Hàng nhận
Phiếu giao hàng
Thanhtoán
Đối chiếu & Kiểm tra
ĐH/Dự trù
Danh sách hàng về
Địa chỉ phát hàng
Với mỗi chức năng mức trên, ta thành lập một BLD ở mức dưới, gọi là BLD định
nghĩa (hay giả thích, diễn tả), chức năng đó, theo cách sau:
Phân rã chức năng đó nthành nhiều chức năng con.
Vẽ tại các luồng dữ liệu vào và ra chức năng trên nhưng nay phải vào hay
ra ở các chức năng con thích hợp;
Nghiên cứu các quan hệ về dữ liệu giữa các chức năng con, nhờ đó bổ
xung các luồng dữ liệu nội bộ hoặc các kho dữ liệu nội bộ.
Cách đánh số các chức năng
Các chức năng được đánh số theo ký pháp chấm theo dõi vệt triển khai từ trên
xuống.
Các chức năng ở mức đỉnh được đánh số 1.2.3,....
Các chức năng ở các mức dưới đỉnh, chẳng hạn các chức năng mức 2
được đánh số là: 1.1, 1.2,...,2.1, 2.2,... Các chức năng mức 3 được đánh số là:
1.1.1, 1.1.2,...,2.1.1, 2.1.2,...
Khi triển khai dần các mức như trên ta phải tuân thủ một số quy tắc sau đây, gọi là
các quy tắc về sự tương hợp giữa các mức:
Khi định nghĩa một chức năng ở mức trên thành một BLD ở mức dưới thì
các luồng dữ liệu vào và ra chức năng đó phải được bảo toàn, nghĩa là phải
được vẽ lại đầy đủ trong BLD định nghĩa. Khi bảo toàn từ mức trên xuống
mức dưới như vậy thì một luồng dữ liệu có thể phân rã ra thành nhiều luồng
con, nếu cần.
Các tác nhân ngoài phải xuất hiện toàn bộ trong BLD khung cảnh, và
không được phát sinh mới ở các mức dưới. Tuy nhiên có thể vẽ lại một tác
nhân ngoài ở mức dưới nếu thấy cần (chẳng hạn để thấy nơi xuất phát hoặc
nơi đến của một luồng dữ liệu nào đó).
Các kho dữ liệu không xuất hiện trong BLD bối cảnh. Tuy nhiên chúng
dần dần phát sinh ở các mức dưới khi cần đến .
Ví dụ 1: Trở lại Ví dụ về hệ thống thông tin ở cơ sở tín dụng thì quá trình phân tích
trên xuống là như sau:
- Mức khung cảnh (mức 0): chức năng tổng quát của hệ thống là: Làm tín dụng.
Tác nhân ngoài của hệ thống là khách vay(cũng có thể con có những đối tác khác như là
38
Ngân hàng, chính quyền địa phương v.v., song ta tạm thời lược bỏ cho đơn giản ). Bổ
sung các luồng dữ liệu trao đổi giữa hệ thống và tác nhân ngoài, ta có biểu đồ luồng dữ
liệu khung cảnh như sau:
- Mức đỉnh (mức 1): Chức năng làm tín dụng có thể phân rã thành hai chức năng
con là Cho vay và thu nợ. Ngoài ba luồng dữ liệu vào / ra ở mức khung cảnh được bảo
toàn, thì ta thấy luồng thông tin trao đổi giữa hai chứcc năng cho vay và thu nợ là
không trực tiếp, mà phải thông qua một kho dữ liệu , là sổ nợ. Từ đó có BLD mức đỉnh
như sau:
- Mức dưới đỉnh (mức 2) Chức năng 1 được phân rã thành ba chức năng: Nhận
đơn, duyệt vay và trả lời đơn . Còn chức năng 2 thì được phân rã thành 3 chức năng:
Xác đinh kỳ hạn trả , xử lý nợ trả trong hạn và xử lý trả nợ ngoài hạn. Bảo toàn các
luồng DL vào/ra và thêm các luồng DL nội bộ, ta lập được hai BLD định nghĩa hai chức
năng 1 và 2 như sau:
Định nghĩa chức năng 1
39
Khách vayHệ thốngtín dụng
Đơn vay
Phiếu thu
1.Cho vay
Khách vay
Hoàn trả
Sổ ghi nợ
2.Thu nợ
Trả lời đơn vay
Định nghĩa chức năng 2
Ví dụ 2: Biểu đồ luồng dữ liệu của hệ thống quản lý thư viện
- Mức khung cảnh:
- Mức đỉnh:
40
1.1Cho vay
Khách vay
Từ chối/Đáp
ứng vay
Sổ ghi nợ
1.3Trả lời
đơn
Đơn vay
1.2Duyệt vay
Đơn đã kiểm tra
Đơn đã duyệt
2.2XL nợ
trong hạn
Khách vay
2.3XL nợ sai hạn
Hoàn trả 2.1Xác địnhloại trả
Phiếu thu
Nợ trả trong hạn
Sổ ghi nợ
Phiếu thu
Nợ trả ngoài hạn
Nguồn c/cấp sáchĐộc giả
Hệ thốngQL thư viện
Kiểm tra và
đáp ứng yêu cầu
Cung cấp sách
Yêu cầu cung cấp sách
Làm thẻ
Yêu cầu mượn
CChú ý:
Nếu cùng một hệ thống, mà ta tiến hành phân tích bằng cả hai cách:
dùng BPC và dùng BLD thì đương nhiên giữa hai mô hình phải có mối liên
quan ăn khớp: Luôn luôn phải có ánh xạ 1-1 giữa các chức năng trong BPC
với các chức năng trong các BLD tương ứng.
41
Nguồn c/cấp sách
Độc giả
QL sách và tài liệu
Yêu cầu
Cung cấp
Yêu cầu làm thẻ
QL Mượn
Trả
Sách & tài liệu
Cập nhật
Thông tin sách & tài liệuThẻ +Yêu cầu
Thẻ +sách/tài liệu
Sách mượn
Sách trả
Xét và cấp thẻ
Độc giảQL sách và tài liệu
Quá trình triển khai trên xuống không thể kéo dài mãi, mà phải dừng
sau một số mức. Ta quyết định dừng quá trình, khi có những biểu hiện sau:
Các chức năng đã là khá đơn giản .
Với các hệ thống vừa và nhỏ số mức thường là 3, với các hệ thống
lớn số mức cũng chỉ khoảng 6
Khi dừng việc triển khai bằng BLD, thì mỗi chức năng trong các BLD ở mức cuối
cùng, ta phải cho một đặc tả trực tiếp.
Quá trình triển khai đã làm phát sinh rất nhiều tên gọi: tên chức năng, tên luồng dữ
liệu, tên kho dữ liệu. Các tên đó rất dễ gây lầm lẫn cho các người dùng cũng như các
người thiết kế sau này. Vậy phải lập một từ điển dữ liệu để giải thích các tên gọi đó.
3.2.4. Mô hình vật lý và mô hình logic
Việc phân tích thường được bắt đầu từ các mô hình chứa nhiều yếu tố vật lý mà
mục đích của phân tích là đi tới một mô hình lôgic của hệ thống . Quá trình phân mức
nói ở mục trên chỉ có thể dẫn ta vào những mô tả chi tiết, chứ không phải là đã đưa đến
những mô tả lôgic. Bởi vì trong mô tả mà ta thu được(dưới dạng các BLD) thì vãn còn
lẫn các yếu tố vật lý nào đó. Nhất là khi sự mô tả mà ta thành lập lại dựa trên sự khảo
sát một hệ thống đang tồn tại , đang hoạt động , thì các yếu tố vật lý vốn đầy dẫy trong
thực tế, sẽ có nhiều cơ hội lọt qua sự sàng lọc của người phân tích để đi vào các BLD
được thành lập.
Có ba loại yếu tố vật lý có thể lẫn vào các BLD:
(1) Các yếu tố vật lý xuất hiện tường minh trong ngôn từ hay hình vẽ ở ttrong
biểu đồ như là:
Các phương tiện, phương thức được dùng để thực hiện các chức
năng (như máy tính, bàn phím, máy in, xủ lý thủ công v.v…)
Các giá mang thông tin (như đĩa từ, sổ sách, chứng từ trên giấy ,
đường điện thoại ...)
Các tác nhân thực hiện chức năng (như giám đốc, kế toán viên, thủ
kho ...)
(2) Các chức năng vật lý, đó là những chức năng gắn liền với một công cụ hay
một biện pháp xử lý nhất định , và sẽ không còn lý do tồn tại khi công cụ hay biện pháp
đó bị thay đổi; chẳng hạn chức năng nhập dữ liệu vào máy tính sẽ không tồn tại nữa khi
ta không dùng máy tính, và đó là một chức năng vật lý.
42
(3) Cấu trúc vật lý, ấy là cấu trúc chung của biểu đồ đang còn phản ánh trực tiếp
cách bố trí, tổ chức hay cài đặt hiện tại, mà chưa phản ánh rõ bản chất lôgic của hệ
thống , chưa thoát ra ngoài mọi cách cài đặt cụ thể, chẳng hạn ở hệ CƯVT ở nhà máy Z
có 3 tổ công tác là: đặt hàng, nhận hàng/phát hàng và đối chiếu. Do đó một cách tự
nhiên, BLD mức đỉnh được thành lập với 3 chức năng tương ứng với 3 tổ chức đó. Cấu
trúc như vậy là cấu trúc chủ quan ,vì nó bị áp đăt bởi một hình thức tổ chức công việc
có thể là còn tạm thời và chưa hẳn đúng thực chất .
Các yếu tố vật lý nói trên xen lẫn vào BLD, làm cho BLD phản ánh không thật
trúng bản chất của hệ thống, cần phải gạt bỏ chúng ra khỏi biểu đồ .
Để loại bỏ các yếu tố vật lý loại (1), ta chỉ cần loại bỏ ra khỏi biểu đồ các phần
ngôn từ hay hình vẽ biểu thị phương tiện, giá mang thông tin hay tác nhân, và chỉ giữ lại
sự diễn tả nội dung của chức năng hay thông tin mà thôi, chẳng hạn :
43
Để loại bỏ các yếu tố loại (2), tức là các chức năng vật lý, trước hết phải làm cho
chúng xuất hiện trong biểu đồ đã thường thì các chức năng vật lý là các chức năng nhỏ,
chưa xuất hiện ở các BLD mức trên. Vì vậy ta phải triển khai các BLD xuống các mức
thấp. Khi phân dã mỗi chức năng thành các chức năng nhỏ, ta sẽ tách được các chức
năng vật lý rời khỏi các chức năng lôgic. Từ đó ta loại các chức năng vật lý ra khỏi biểu
đồ.
Sau khi loại bỏ hết các chức năng vật lý ,thì các chức năng còn lại là các chức năng
lôgíc và ta đang ở một mức thấp nào đó. Bấy giờ ta sẽ loại bỏ yếu tố vật lý loại(3), tức
là cấu trúc vật lý, bằng cách tổ chức lại các biểu đồ, từ dưới lên trên ,xuất phát từ các
chức năng lôgíc nói trên ,theo các bước như sau :
Trước hết do có các chức năng vật lý bị loại, một số luồng dữ liệu đã
bị đứt quãng, ta phải tìm cách nối chúng lại cho liên tục .
Tiếp đó xem xét nội dung các chức năng lôgíc, tìm cách gom cụm
các chức năng gần gũi và hợp tác với nhau trong một mục đích xử lý vào
một chức năng lớn , cho dù trước đây chúng bị chia lìa bởi các lý do cài
đặt. Làm như thế, đang ở mức dưới, ta lại thành lạp được BLD ở mức trên,
và cứ thế tiếp tục, ta tổ chức lại các BLD ở các mức, cho đến mức đỉnh.
Cấu trúc của các biểu đồ bấy giờ sẽ không còn mang tính chất vật lý nữa.
Tóm lại, từ BLD vật lý mức đỉnh, ta triển khai xuống các mức thấp, rũ bỏ các chức
năng vật lý, rồi lại trở về các mức cao để chỉnh đốn lại cấu trúc của các biểu đồ. Rốt cục
ta trở lại về mức đỉnh với một BLD lôgic. Quá trình đó được khái quát như sau:
44
1.Hệ ĐH
1.Đặt hàng
thay bởi
Séc trả tiềnthay bởi
thay bởi
3Đối chiếu và kiểm tra thủ
công
3Đối chiếu và
kiểm tra
3.3. ĐẶC TẢ TIẾN TRÌNH
3.3.1. Mục đích và yêu cầu đặc tả chức năng
Một điểm chung trong việc sử dụng BPC và BLD là để diễn tả một chức năng
phức tạp ta phân rã nó ra thành nhiều chức năng con đơn giản hơn. Nói cách khác là từ
một “hộp đen”, ta giải thích nó bằng cách tách nó ra thành nhiều “hộp đen”. Có vẻ
như đó là một sự luẩn quẩn, song thực ra là đã có sự tiến bộ vì các chức năng con thu
được là đơn giản hơn trước. Muốn đẩy tới sự tiến bộ đó, ta tiếp tục phân rã các chức
năng con này. Sự lặp lại quá trình phân rã (thông qua các BPC hay BLD) đương nhiên
tới một lúc phải dừng lại. Các chức năng thu được ở mức cuối cùng, đã là rất đơn giản,
cũng vẫn cần được giải thích (nếu không thì vẫn cứ là “ hộp đen”). Bấy giờ sự giải
thích chức năng phải được thực hiện bởi những phương tiện diễn tả trực tiếp (khác với
các BPC và BLD). Gọi đó là sự đặc tả chức năng, thường gọi tắt là P-Spec (Process
Specification).
Một đặc tả chức năng thường được trình bày một cách ngắn gọn, không vượt quá
một trang A4 và gồm hai phần:
Phần đầu đề gồm:
- Tên chức năng.
- Các dữ liệu vào,
- Các dữ liệu ra.
Phần thân mô tả nội dung xử lí, ở đó thường sử dụng các phương tiện mô tả sau
đây (liệt kê theo trật tự ưu tiên giảm dần):
- Các phương trình toán học.
- Các bảng quyết định hay cây quyết định.
- Các sơ đồ khối.
- Các ngôn ngữ tự nhiên cấu trúc hoá.
45
BLD vật lý mức đỉnh
BLD Logic mức đỉnh
Gom nhóm các chức năng để tổ
chức lại các BLD
Triển khai xuống thấp để
làm lộ các chức năng vật lý
Xoá các chức năng vật lý
Nối lại các luồng DL
3.3.2. Các phương tiện đặc tả chức năng
a) Các bảng quyết định và cây quyết định
Chúng được sử dụng khi chức năng được đặc tả thực chất một sự phân chia các
trưòng hợp tuỳ thuộc một số điều kiện vào. ứng với mỗi trường hợp thì có một sự chọn
lựa khác biệt một số hành động ( hay giá trị) ra nào đó .
Số các giá trị có thể của mỗi điều kiện vào phải là hữu hạn . Chẳng hạn :
“Là thương binh” có thể lấy giá trị Đúng (Đ) hay Sai (S).
“Điều kiện tuổi tác” có thể lấy 4 giá trị:
Tuổi thơ (dưới 13 tuổi)
Tuổi trẻ (Từ 13 đến 29 tuổi)
Trung niên (Từ 30 đến 59 tuổi )
Tuổi già ( Từ 60 tuổi trở nên).
Như vậy số các trường hợp có thể có là được biết trước (bằng tích của các số
những giá trị có thể của các điều kiện vào). Nhờ vậy ta không để sót các trường hợp. Đó
là một ưu điểm đáng kể của các quyết định và các cây quyết định.
Bảng quyết định là một bảng hai chiều, trong đó một chiều (có thể là chiều ngang
hay chiều dọc) được tách làm hai phần: một phần cho các điều kiện vào và phần kia cho
các hành động hay các biến ra. Chiều thứ hai là các trường hợp có thể xảy ra tuỳ thuộc
giá trị của các điều kiện. ứng với mỗi truờng hợp (là cột hay là dòng), thì các hành động
chọn lựa sẽ được đánh dấu X hoặc nếu cái ra là các biến, thì cho các giá trị tương ứng
của các biến đó.
46
Điều kiện XĐĐĐĐSSSSĐiều kiện YĐĐSSĐĐSSĐiều kiện ZĐSĐSĐSĐS
Hành động AXXHành động BXHành động CXXXXXHành động DXXXXXX
Các
hàn
h độ
ngC
ác đ
iều
kiện
Các trường hợp
Ví dụ: Một cửa hàng quyết định:
Giảm giá 10% cho thương binh .
Giảm giá 5% cho con liệt sỹ.
Không được phép hưởng hai tiêu chuẩn(bấy giờ lấy mức cao nhất)
Như vậy chức năng “ xác định mức giảm giá cho khách hàng” được đặc tả bằng
bảng quyết định sau:
Là thương binh
Là con liệt sĩ
Đ
Đ
Đ
S
S
Đ
S
S
Giảm giá 10%
Giảm giá 5%
Giảm giá 0%
X X
X
X
Bảng quyết định giảm giá
Cây quyết định chỉ là một biến tướng của bảng quyết định; nó phân chia các
trường hợp nhờ cấu trúc cây thay vì cấu trúc bảng . Chẳng hạn tương ứng của bảng
quyết định ở trên ta có cây quyêt định sau:
Cây quyết định giảm giá
b) Sơ đồ khối.
Sơ đồ khối là loại biểu đồ diễn tả giải thuật quen thuộc và ưa dùng với các người
mới học lập trình, vì nó đơn giản dễ hiểu. Với lập trình nâng cao, thì nó bộc lộ nhiều
nhược điểm, cho nên nó lại ít được ưa dùng: nó khuyến khích việc sử dụng tràn lan GO
TO. Nó không thể hiện rõ ba cấu trúc điều khiển cơ bản (tuần tự chọn, lặp), nó hỗ trợ
kém cho lập trình trên xuống và càng tỏ ra gượng ép với lập trình đệ quy v.v…Tuy
nhiên với nhiệm vụ đặc tả các chức năng đơn giản mà ta cần ở đây, thì nó đáp ứng được
yêu cầu.
47
Đ
0%
Là con liệt sĩ
Là con liệt sĩ
Là thương binh
10%
10%
5%
Đ
Đ
S
S
S
Nếu như BLD chỉ có một loại nút là chức năng (tức là các hành động phải làm),
thì sơ đồ khối lại có hai loại nút:
Nút hành động xử lý(hình chữ nhật )
Nút kiểm tra điều kiện (hình thoi).
Nếu trong BLD một cung là một tuyến chuyển giao dữ liệu thì trong sơ đồ khối
một cung là một tuyến chuyển giao điều khiển (nghĩa là chuyển giao quyền thực hiện)
Như vậy nếu như các BLD chi tập trung diễn tả những việc phải làm là gì (với
mối liên quan về dữ liệu giữa chúng ), thì các sơ đồ khối lại có phần ôm đồm hơn,
không những chỉ ra các việc phải làm, mà còn chỉ ra cách dẫn dắt các việc đó. Chính vì
sự ôm đồm đó mà nó không thích hợp để diễn tả các chức năng phức tạp và lớn.
Dưới đây là một Ví dụ dùng sơ đồ khối để đặc tả chức năng “ lập danh sách trúng
tuyển và danh sách trượt”.
c) Các ngôn ngữ có cấu trúc.
Ngôn ngữ có cấu trúc (cũng còn được gọi là mã giả) là một ngôn ngữ tự nhiên
(chẳng hạn tiếng Việt) bị hạn chế:
Chỉ được phép dùng các câu đơn sai khiến hay khẳng định (thể hiện các
lệnh hay các điều kiện).
48
Còn thí sinh chưa xét?
Tra cứu điểm thí sinh
Đưa thí sinh vào danh sách trượt
S
Đưa thí sinh vào danh sách đỗ
Đ
RaS
Đ
Điểm ts >= điểm chuấn?
Các câu đơn này được ghép nối nhờ một từ khoá thể hiện các cấu trúc điều
khiển chọn và lặp.
Như vậy ngôn ngữ có cấu trúc có những đặc điểm của một ngôn ngữ lập trình,
song nó không chịu những hạn chế và quy định ngặt nghèo của các ngôn ngữ lập trình,
cho nên được dùng thoải mái hơn. Tuy nhiên nó cũng không quá phóng túng như một
ngôn ngữ tự do.
Dưới đây là đặc tả của chức năng “lập danh sách trúng tuyển và danh sách trượt”
ở dạng ngôn ngữ có cấu trúc.
Lặp: Lấy một thí sinh từ kho các thí sinh
Tra cứu điểm của một thí sinh nào đó.
Nếu Điểm của thí sinh >= điểm chuẩn.
Thì Đưa thí sinh vào danh sách đỗ
Không thì Đưa thí sinh vào danh sách trượt
Đến khi Hết thí sinh.
3.4. BÀI TẬP
49
Chương 4: PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU
4.1. CÁC PHƯƠNG TIỆN MÔ TẢ DỮ LIỆU
Một hệ thống trong trạng thái vận động bao gồm hai yếu tố là các chức năng xử lý
và dữ liệu. Giữa xử lý và dữ liệu có mối quan hệ mật thiết chặt chẽ và bản thân dữ liệu
có mối liên kết nội bộ không liên quan đến xử lý đó là tính độc lập dữ liệu. Mô tả dữ
liệu được xem như việc xác định tên, dạng dữ liệu và tính chất của dữ liệu. Dữ liệu
không phụ thuộc vào người sử dụng đồng thời không phụ thuộc vào yêu cầu tìm kiếm
và thay đổi thông tin.
Trong mục này để thuận tiện cho phương pháp nghiên cứu chúng ta chỉ tập trung
đến các phương tiện và mô hình diễn tả dữ liệu. Đó là các thông tin được quan tâm đến
trong quản lý, nó được lưu trữ lâu dài, được xử lý và sử dụng trong hệ thống thông tin
quản lý.
Có nhiều công cụ để mô tả dữ liệu. Các công cụ này là các cách trừu tượng hoá dữ liệu
đặc biệt là mối quan hệ của dữ liệu nhằm phổ biến những cái chung nhất mà con người ta có
thể trao đổi với nhau. Trong phần này chúng ta đề cập đến 4 công cụ chủ yếu:
Mã hoá dữ liệu
Từ điển dữ liệu
Mô hình thực thể liên kết
Mô hình quan hệ
4.1.1. Mã hoá các tên gọi
a) Khái niệm mã hoá
Mã là tên viết tắt gắn cho một đối tượng nào đó hay nói cách khác mỗi đối tượng
cần có tên và vấn đề đặt ra là ta sẽ đặt tên cho đối tượng như thế nào. Trong mỗi đối
tượng gồm nhiều thuộc tính khác nhau thì yêu cầu mã hoá cho các thuộc tính cũng là
yêu cầu cần thiết. Ngoài ra mã hoá còn là hình thức chuẩn hoá dữ liệu để phân loại dữ
liệu lưu trữ và tìm kiếm có hiệu quả và bảo mật dữ liệu đặc biệt trong các hệ thống
thông tin xử lý bằng máy tính.
Một số Ví dụ về mã hoá:
- Khi ta cần xác định một công dân thì số chứng minh thư hoặc số hộ chiếu là mã
của công dân đó.
- Khi cần xác định xe ô tô hay xe máy thì biển số xe là mã của xe đó.50
b) Chất lượng và yêu cầu đối với mã hoá
Trong thực tế ta gặp rất nhiều đối tượng cần mã hoá như mã hoá ngành nghề cần
đào tạo, mã hoá các bệnh, mã số điện thoại, mã thẻ sinh viên, thẻ bảo hiểm y tế,...
Chúng ta có nhiều phương pháp mã khác nhau. Do vậy cần xác định một số tiêu chí để
đánh giá chất lượng của việc mã hoá:
Mã hoá không được nhập nhằng: Thể hiện ánh xạ 1-1 giữa mã hoá và giải mã
mỗi đối tượng được xác định rõ ràng và duy nhất với một mã nhất định.
Thích ứng với phương thức sử dụng: Việc mã hoá có thể tiến hành bằng thủ
công nên cần phải rễ hiểu, dễ giải mã, và việc mã hoá bằng máy đòi hỏi cú pháp
chặt chẽ.
Có khả năng mở rộng mã:
Thêm phía cuối (sau) của các mã đã có
Xen mã mới vào giữa các mã đã có, thường mã xen phải dùng phương
pháp cóc nhảy, nhảy đều đặn dựa vào thống kê để tránh tình trạng “bùng
nổ ” mã.
Mã phải ngắn gọn làm giảm kích cỡ của mã, đây cũng là mục tiêu của mã hoá.
Tuy nhiên điều này đôi khi mâu thuẫn với khái niệm mở rộng mã sau này.
Mã có tính gợi ý: Thể hiện tính ngữ nghĩa của mã. Đôi khi tính gợi ý là yêu cầu
đối với mã công khai, và làm cho việc mã hoá thuận tiện dễ dàng.
Cách mã cần xác định sao cho tối thiểu hoá sai sót khi mã và giảm tính dư thừa
của mã.
c) Các kiểu mã hoá
(1). Mã hoá liên tiếp (Serial Coding):
Ta dùng các số nguyên liên tiếp 000,001, 002...để mã hoá. Phương pháp này
thường để đánh số thứ tự trong danh sách các đối tượng.
Ưu điểm: Không nhập nhằng, đơn giản, thêm phía sau.
Khuyết điểm: Không xen được, thiếu tình gợi ý vì cần phải có bảng tương ứng và
không phân theo nhóm.
(2). Mã hoá theo lát
51
Sử dụng các số nguyên như mã hoá liên tiếp nhưng phân ratheo lát( lớp) cho từng
loại đối tượng, trong mỗi lát dùng mã liên tiếp.
Ví dụ: Mã hoá các đối tượng là các hàng ngũ kim
Vùng 1: 0001 – 0999 để mã hóa các hàng ngũ kim bé, trong đó:
001 – 0099 để mã hóa các loại vít
0100 – 0299 để mã hóa các loại êcu
0300 – 0499 để mã hóa các loại bulong
0500 – 0599 để mã hóa các loại đinh
....
Vùng 2: 1000 – 1999 để mã hóa các chi tiết kim loại, trong đó
1000 – 1099 để mã hóa các loại sắt chữ U
....
Ưu điểm: Không nhập nhằng, đơn giản, có thể mở rộng và xen thêm được.
Nhược điểm: vẫn phải dùng bảng tương ứng.
(3). Mã phân đoạn:
Bản thân mã được phân thành nhiều đoạn mỗi đoạn mang một ý nghĩa riêng.
Ví dụ: Số đăng kí xe máy:
Biển số xe của ông X là 29 F6 6956 là
biển xe đăng kí tại Hà Nội (mã tỉnh là 29).
Ưu điểm: Không nhập nhằng, mở rộng ,xen thêm được và được dùng khá phổ
biến, loại mã này cho phép thiết lập các phương thức kiểm tra gián tiếp đối với mã của
các đối tượng bằng cách trích rút các đoạn mã để kiểm tra.
Nhược điểm: Mã quá dài nên thủ tục mã nặng nề, không cố định và vẫn có thể bị
bão hoà mã.
(4). Mã phân cấp: Các đối tượng được mã hoá theo chế độ phân cấp các chi tiết nhỏ
dần. Một hình ảnh khá quen thuộc của mã hoá phân cấp là đánh số chương, tiết, mục
trong một quyển sách.
Chương 1
1.1 Bài 1
52
Tỉnh Lát (xê ri) Số liên tiếp
2 9 F 6 6 9 5 6
1.2 Bài 2
1.3 Bài 3
Chương 2
1.1 Bài 4
1.1.1 Mục 1
1.1.2 Mục 2
1.2 Bài 5
1.3 Bài 6 ....
Ưu điểm : Các ưu điểm tương tự như mã hoá phân đoạn, ngoài ra việc tìm kiếm
mã dễ dàng.
Khuyết điểm :Tương nhự như các nhược điểm của mã phân đoạn.
(5). Mã diễn nghĩa: Bằng cách gán một tên ngắn gọn nhưng hiểu được cho một đối
tượng.
Ví dụ : Đội bóng các nước tham gia giải Tiger cup được mã bằng cách lấy ba kí
tự đầu như sau:
VIE: Việt Nam, THA: Thailand, SIN: Singapore, IND: indonesia, MAL : Malaysia.
Ưu điểm : Tiện dùng cho sử lý bằng thủ công.
Khuyết điểm: Không giải mã được bằng máy tính.
Các chú ý khi lựa chọn sự mã hoá
Như đã nêu ở trên, có nhiều phương pháp mã hoá khác nhau, có thể sử dụng một
kiểu mã nào đó, cũng có thể sử dụng kết hợp nhiều kiểu để đạt chất lượng mã tốt nhất.
Việc lựa chọn mã hoá cần dựa vào các yếu tố sau:
- Nghiên cứu việc sử dụng mã sau này.
- Nghiên cứu số lượng đối tượng được mã hoá để lường trước được sự phát triển.
- Nghiên cứu sự phân bố thống kê các đối tượng để phân bố theo lớp.
- Tìm xem đã có những mã nào được dùng trước đó cho các đối tượng này để kế thừa.
- Thỏa thuận với người dùng cách mã.
- Thử nghiệm trước khi dùng chính thức để chỉnh lý kịp thời.
53
4.1.2. Từ điển dữ liệu
a) Khái niệm
Từ điển dữ liệu là một tư liệu tập trung mọi tên gọi của mọi đối tượng được dùng
trong hệ thống trong cả các giai đoạn phân tích, thiết kế, cài đặt và bảo trì. Nó là văn
phạm giả hình thức mô tả nội dung của các sự vật, đối tượng theo định nghĩa có cấu
trúc. Chẳng hạn trong biểu đồ luồng dữ liệu(BLD): các chức năng xử lý, kho dữ liệu,
luồng dữ liệu chỉ mô tả ở mức khái quát thường là tập hợp các khoản mục riêng lẻ. Các
khái quát này cần được mô tả chi tiết hơn qua công cụ từ điển dữ liệu.
b) Cấu tạo từ điển
Từ điển dữ liệu gồm các mục từ và lời giải thích. Lời giải thích thể hiện được cấu
trúc của 1 từ bản chất liền giá trị và phạm vi sử dụng
Ví dụ: Luồng dữ liệu
Mục từ Nội dung
Phiếu yêu cầu
- Ý nghĩa : Luồng dữ liệu chuyển từ tác nhân ngoài” Bạn đọc” đến
tiến trình” Xử lý phiếu yêu cầu
- Thành phần: Số thẻ đọc, Tên tài liệu, Tên tác giả, Số cá biệt, Ngày
viết phiếu
Hình 4.2. Mục từ cho luồng dữ liệu “Phiếu yêu cầu”
Ví dụ: Kho dữ liệu
Mục từ Nội dung
Sách
- Ý nghĩa: Chứa mọi thông tin về sách trong thư viện
- Thành phần: Số cá biệt, Tên sách, Tên tác giả, Năm xuất bản, Nhà
xuất bản, Lần xuất bản, Ngày nhập, Loại sách, Các từ khoá, Tóm tắt
nội dung, Vị trí trong kho,Trạng thái mượn
- Tổ chức: Lưu trữ tuần tự và được sắp xếp theo “Số cá biệt”. Khi
cập nhật sách mới được xếp vào đúng vị trí của nó trong kho
- Các xử lý liên quan : Cập nhật sách mới, Huỷ sách cũ, Tìm kiếm
sách theo các thành phần thông tin riêng biệt
Hình 4.2. Mục từ cho kho dư liệu “Sách”
54
4.2. MÔ HÌNH THỰC THỂ LIÊN KẾT
4.2.1. Các khái niệm của mô hình thực thể liên kết
Mô hình thực thể liên kết (Entity Association E/A) xuất phát từ ba khái niệm cơ
bản: thực thể, liên kết và thuộc tính.
Thực thể: Một thực thể( entity) là một vật thể cụ thể hay trừu tượng, tồn tại
thực sự và khá ổn định trong thế giới thực, mà ta muốn phản ánh nó trong hệ
thống thông tin.
Ví dụ: Thực thể cụ thể như: Học sinh Trần Ngọc Kha, Hóa đơn số 58
Thực thể trìu tượng như: Khoa Công Nghệ Thông Tin
Thuộc tính: Thuộc tính (Property hay arttibute) là một giá trị dùng để mô tả
một khía cạnh nào đó của một thực thể.
Ví dụ: Tuổi của Trần Ngọc Kha là 17
Tổng tiền của hóa đơn số 58 là 800.000đ
Giá trị thuộc tính thường được cho kèm theo một tên (tuổi 17, tổng tiền:
800.000đ). Tên đó thực tế là tên chung của mọi giá trị có thể chọn lựa để mô tả một khía
cạnh nhất định của các thực thể (tuổi: 17, tuổi: 20, tuổi:14...). Ta gọi tên đó là một kiểu
thuộc tính (property type).
Ví dụ: Tuổi, tổng tiền ... là các kiểu thuộc tính.
- Kiểu thuộc tính đa trị: Là kiểu thuộc tính mà giá trị của nó đối với một thực thể
có thể là một dãy hay 1 tập các giá trị.
- Ta gọi kiểu thực thể (entity type) là một tập hợp các thực thể được mô tả bởi cùng
một tập hợp các kiểu thuộc tính và biểu diễn cho một lớp tự nhiên các vật thể trong thế
giới thực.
Ví dụ: Kiểu thực thể khách hàng được mô tả bằng các kiểu thuộc tính: tên, địa chỉ,
số tài khoản.
Một hay một tập kiểu thuộc tính của một kiểu thực thể được gọi là một khóa nếu
giá trị của nó cho phép ta phân biệt các thực thể với nhau.
Ví dụ: số tài khoản và mã hàng lần lượt là khóa của các kiểu thực thể tài khoản và
mặt hàng. Còn với kiểu thực thể Sách mượn có thể lấy số hiệu sách, số hiệu độc giả,
ngày mượn làm khóa (sách mượn về nhà nên một độc giả chỉ được mượn một cuốn sách
55
nhiều nhất một lần trong một ngày). Nếu khóa chỉ gồm một kiểu thuộc tính duy nhất thì
ta gọi thuộc tính đó là một định danh (identifier).
Ví dụ: SH Nhân viên
Mã Nhân viên
Các thuộc tính trong mô hình thực thể liên kết có hai ràng buộc phải thoả mãn:
- Giá trị duy nhất: Mỗi thuộc tính của một thực thể có thể lấy một và chỉ một giá
trị duy nhất.
- Giá trị sơ đẳng: Giá trị thuộc tính không thể tách thành các phần nhỏ hơn.
Liên kết: Một liên kết là một sự gom nhóm các thực thể trong đó mỗi thực thể
có một vai trò nhất định.
Ví dụ:
- Khách hàng Ân đã giao nộp đơn hàng 3428.
- Đơn hàng 3428 đặt mua các mặt hàng 34 và 78
- Anh Liên là học trò của thầy Hà.
Một kiểu liên kết (asociation type) là một tập hợp các liên kết có cùng ý nghĩa. Một
kiểu liên kết là được định nghĩa giữa nhiều kiểu thực thể. Tên của kiểu liên kết thường
được chọn là một động từ (chủ động hay bị động) phản ánh ý nghĩa của nó .
Ví dụ:
- Kiểu liên kết giao nộp giữa kiểu thực thể khách hàng và kiểu thực thể đơn
hàng (2 ngôi).
- Kiểu liên kết đặt mua giữa kiểu thực thể đơn hàng và kiểu thực thể mặt
hàng (2 ngôi).
- Kiểu liên kết dạy giữa kiểu thực thể thầy và kiểu thực thể trò (2 ngôi).
- Thời khóa biểu là một kiểu liên kết giữa các kiểu thực thể: Môn, giờ,
phòng, lớp ( liên kết nhiều ngôi )
Các giá trị ứng số thường dùng là
1 (1..1) một và chỉ một
0..1 không hay một
0.. * hay * từ không tới nhiều
1.. * từ một tới nhiều.
m.. n từ m tới n.56
4.2.2. Đặc tả mối quan hệ giữa hai kiểu thực thể
Để đặc tả mối quan hệ giữa hai kiểu thực thể, mô hình thực thể liên kết thường
được biểu diễn dưới dạng một đồ thị, trong đó các nút là các kiểu thực thể, còn các cung
là các kiểu liên kết. Đồ thị đó được gọi là sơ đồ thực thể liên kết và được lập như sau:
Một kiểu thực thể được biểu diễn bởi một hình chữ nhật gồm 2 ngăn, ngăn
trên chứa tên của kiểu thực thể, ngăn dưới chứa danh sách các kiểu thuộc tính của
nó. Tên kiểu thực thể thường là một danh từ (chỉ vật thể). Các kiểu thuộc tính hợp
thành khóa của kiểu thực thể được gạch dưới, và thường đặt lên đầu danh sách.
Một kiểu liên kết được biểu diễn bởi một hình thoi, được nối bằng nét liền
tới các kiểu thực thể tham gia liên kết. Trong hình thoi viết tên kiểu liên kết(tên
này có thể khuyết, nếu không cần làm rõ). Như trên đã nói tên kiểu liên kết
thường là một động từ (chủ động hay bị động). Nếu kiểu liên kết là hai ngôi, thì ở
hai đầu mút các đường nối, sát với các kiểu thực thể, ta ghi thêm ứng số (nếu thấy
cần làm rõ).
Ví dụ: Biểu diễn đồ họa của kiểu liên kết Mượn.
Biểu diễn đồ họa của kiểu liên kết Có
Biểu diễn đồ họa của kiểu liên kết Cung ứng
57
Mượn1 0..*
Sách mượn
Số hiệu sáchTên sáchNgày
Độc giả
SH độc giảHọ tên Địa chỉ
Có0..1 0..1
Lương
Bậc lươngHệ sốNgày lên
CN viên
SH CN viênHọ tên Địa chỉ
Cung ứng0..* 0..*
Mặt hàng
SH mặt hàngTên hàngMàu
Nhà CC
SH nhà CCHọ tên Địa chỉ
* Một số trường hợp đặc biệt:
- Liên kết đệ quy: Là kiểu liên kết giữa một thực thể với chính thực thể đó.
- Nhiều kiểu liên kết giữa hai thực thể:
- Kiểu liên kết có thuộc tính mô tả: Ta ghi danh sách các thuộc tính bên cạnh hình
thoi; hoặc vẽ thêm một hình chữ nhật hai ngăn như kiểu thực thể: ngăn tên có thể chứa
tên kiểu liên kết hoặc bỏ trống; ngăn thuộc tính chứa các thuộc tính, bổ sung các thuộc
tính khoá của các kiểu thuộc tính tham gia liên kết. Và nó được nối với hình thoi bằng
nét đứt.
- Kiểu liên kết nhiều ngôi:
58
Người
MãHọ tên Địa chỉ
0..*Sở hữu1 Căn hộ
Mã CHDiện tíchĐịa chỉ0..*Thuê0..1
Dạy
Học sinh
ID HSinhHọ tênLớp
Giao viên
ID GVienHọ tên Khoa
ID GVienID HSinhMôn họcNăm học
kết hôn
chồng0..1Người
ID ngườiHọ tên Địa chỉ
vợ0..1
4.2.3. Mô hình thực thể liên kết mở rộng và hạn chế
4.2.3.1. Mô hình E/A mở rộng
a) Các điểm mở rộng đối với mô hình E/A
- Các kiểu thuộc tính đa trị: Trong mô hình mở rộng được phép dùng kiểu thuộc
tính đa trị. Nghĩa là tồn tại kiểu thuộc tính mà giá trị của nó đối với một thực thể có thể
là một dãy hay một tập các giá trị.
Ví dụ: Tên, tuổi các con của một nhân viên.
- Các kiểu thuộc tính phức hợp: Cho phép dùng kiểu thuộc tính phức hợp từ các
thuộc tính sơ đẳng, tức là được tạo thành từ sự kết hợp từ nhiều kiểu thuộc tính khác.
Mặc định, mỗi giá trị của kiểu thuộc tính phức hợp là sự ghép các giá trị của các thuộc
tính sơ đẳng tương ứng.
Ví dụ: Kiểu thuộc tính Địa chỉ là sự kết hợp của các thuộc tính Số nhà, Đường phố,
Quận huyện, Tỉnh thành.
- Các kiểu thực thể con:
Nếu trong một kiểu thực thể A, ta chỉ ra một tập con B của A, mà các thực thể
trong B vừa mang các kiểu thuộc tính chung của các thực thể trong A, lại vừa có thêm
59
Đơn hàng
ID ĐHNgàyĐịa chỉ
Ngày
Ngày
Mặt hàng
Mã hàngTên hàngMô tả
Giao hàng
Giao hàng
ID ĐHMã hàngNgàyLượng giao
một số các kiểu thuộc tính mới, thì ta nói đó là sự chuyên biệt hóa. B được gọi là kiểu
thực thể con của kiểu thực thể A. Các kiểu thuộc tính của B bao gồm mọi kiểu thuộc
tính của A cộng thêm các kiểu thuộc tính riêng của nó. Ta nói: B thừa kế các thuộc tính
của A. Quá trình ngược lại với chuyên biệt hóa là sự khái quát hóa: Từ nhiều kiểu thực
thể B, C,... ta rút ra các kiểu thuộc tính chung để lập một kiểu thực thể A (với các kiểu
thuộc tính chung đó) sao cho B,C,... đều là kiểu thực thể con của A.
Ví dụ: Các thực thể Sinh viên, Nhân viên là thực thể con của thực thể Người.
b) Cách biến đổi biểu đồ E/A mở rộng về biểu đồ E/A kinh điển
Quy tắc 1: Chuyển các thuộc tính đa trị về các thuộc tính có giá trị duy nhất. Thay
một kiểu thuộc tính đa trị T của kiểu thực thể A bởi một kiểu thực thể mới E-T và kết
nối A với E-T bởi một kiểu liên kết. Đưa vào kiểu thực thể E-T một kiểu thuộc tính đơn
trị t, tương ứng với các giá trị thành phần của T. Nghiên cứu các ứng số cho kiểu liên
kết mới (giữa A và E-T).
Ví dụ 1: Kiểu thực thể Nhân viên có thuộc tính đa trị là các ngoại ngữ.
Chú ý: Kiểu thực thể nói trên được gọi là kiểu thực thể phụ thuộc; nó chỉ tồn tại
cùng với kiểu thực thể chính.
Ví dụ 2: Hoá đơn:
60
Người
ID ngườiHọ tên Địa chỉ
Sinh viên
lớpngành học
Nhân viên
PhòngĐ.chỉ CQ
Nhân viên
Mã NVHọ tên Các NN
chuyển thành
Nhân viên
Mã NVHọ tên
Ngoại ngữ
Tên NN0..* 0..*Biết
Số hoá đơn:…….
Ngày:…………..
HOÁ ĐƠN
Họ tên khách hàng:………………………………………………………….
Địa chỉ:………………………………………………………………………
Hình thức thanh toán:………………………………………………………..
Mã hàng Tên hàng Đơn vị tính Số lượng Đơn giá Thành tiền
Tổng tiền:……………
Quy tắc 2: Xử lý các thuộc tính đa trị của một kiểu liên kết. Thực thể hoá liên kết
kiểu đó, rồi áp dụng quy tắc 1 cho kiểu thựcthể mới lập.
Quy tắc 3: Xử lý các kiểu thuộc tính phức hợp. Thay kiểu thuộc tính phức hợp bởi
các kiểu thuộc tính mà tích hợp thành.
Ví dụ: Kiểu thuộc tính Địa chỉ thay bằng các thuộc tính Số nhà, Đường phố, Quận
huyện, Tỉnh thành.
Quy tắc 4: Xử lý các kiểu thực thể con.
Giả sử B là thực thể con của thực thể A. Có hai cách xử lý:
61
chuyển thành
Hoá đơn
Số HĐNgày HĐKhách Địa chỉCách TTMã hàngTên hàngĐV tínhSố lượngĐơn giáThành tiềnTổng HĐ
0..* 0..*
Hoá đơn
Số HĐNgày HĐKhách Địa chỉCách TTTổng HĐ
Dòng HĐ
Mã hàngTên hàngĐV tínhSố lượngĐơn giáThành tiền
- Loại bỏ kiểu thực thể B và bổ sung mọi kiểu thuộc tính của B vào trong A, đồng
thời thêm một kiểu thuộc tính cho phép phân loại các thực thể của A (thuộc B hay
không thuộc B). Chuyển mọi kiểu liên kết với B sang A, và nghiên cứu lại các ứng số
cho chúng.
- Thay đổi mối quan hệ thừa kế giữa A và B bằng một kiểu liên kết giữa A và B
mà các ứng số tối đa bằng 1. Nghiên cứu cụ thể các ứng số tối thiểu.
4.2.3.2. Mô hình E/A hạn chế
a) Các điểm hạn chế đối với mô hình E/A
Mô hình thực thể liên kết hạn chế bị hạn chế nhiều về các hình thức diễn tả nhưng
lại rất gần với mô hình quan hệ và do đó dễ dàng chuyển sang cài đặt với một hệ quản
trị CSDL.
Ngoài các ràng buộc các thuộc tính có giá trị duy nhất và có tính sơ đẳng thì mô
hình E/A hạn chế có bổ sung thêm các ràng buộc sau:
- Đối với các liên kết hai ngôi dạng:
thì chỉ còn được dùng liên kết 1-nhiều, tức là trường hợp n=1 và q>1 hoặc q=*.
Như vậy, các kiểu liên kết 1-1 (n=1 và q=1), cũng như các kiểu liên kết nhiều-
nhiều (n>1 và q>1) đều không thể hiện tường minh trong mô hình E/A hạn chế. Do đó,
mô hình E/A hạn chế đôi khi còn được gọi là mô hình E/A một - nhiều.
- Đối với kiểu liên kết nhiều ngôi (>2) thì không có hình thức diễn tả tường minh
trong mô hình E/A hạn chế.
b) Cách biến đổi một mô hình E/A kinh điển về mô hình E/A hạn chế
Tuy bị hạn chế về hình thức biểu diễn, song khả năng diễn tả của mô hình E/A hạn
chế vẫn tốt. Ta có thể biến đổi mọi mô hình E/A kinh điển về mô hình hạn chế bằng
cách áp dụng các quy tắc sau:
Quy tắc 1: Xử lý kiểu liên kết 1-1. Ta có thể thực hiện bằng 1 trong 2 cách sau:
62
m..nA B
p..q
A B
Cách 1: Xem kiểu liên kết 1-1 là trường hợp riêng của liên kết 1-nhiều (nhiều ở
đây là p..*, khi p=0 sẽ được hiểu là 0,1 hay nhiều) và vẽ lại nó bằng đường nối thẳng
hay một đường nối có chân vịt ở một đầu. Cách làm này vi phạm sự hạn chế của mô
hình, hay gây hiểu nhầm nên ít dùng.
Cách 2: Gộp hai thực thể có quan hệ 1-1 thành một kiểu thực thể duy nhất bằng
cách hoà trộn hai danh sách các kiểu thuộc tính với nhau.
Ví dụ: Có hai kiểu thực thể Chứng minh thư và Lý lịch cán bộ có quan hệ 1-1.
Chuyển theo Cách 1:
Chuyển theo Cách 2:
Quy tắc 2: Xử lý các kiểu liên kết 2 ngôi n - n và các kiểu
liên kết nhiều ngôi.
63
Có1 0..1
Lý lịch cán bộ
Mã cán bộHọ tên Quê quánNơi thường trúĐơn vị công tácHệ số lương
Chứng minh thư
Số CMTHọ tên Quê quánNơi thường trúNgày cấp CMTNơi cấp CMT
Lý lịch cán bộ
Mã cán bộHọ tên Quê quánNơi thường trúĐơn vị công tácHệ số lương
Chứng minh thư
Số CMTHọ tên Quê quánNơi thường trúNgày cấp CMTNơi cấp CMT
Lý lịch cán bộ
Mã cán bộHọ tên Quê quánNơi thường trúĐơn vị công tácHệ số lương
Chứng minh thư
Số CMTHọ tên Quê quánNơi thường trúNgày cấp CMTNơi cấp CMT
Lý lịch cán bộ
Mã cán bộHọ tên Số CMTHọ tên Quê quánNơi thường trúNgày cấp CMTNơi cấp CMTĐơn vị công tácHệ số lương
Thực thể hoá mỗi kiểu liên kết đó bằng một kiểu thực thể mới có chứa các kiểu
thuộc tính là khoá của các kiểu thực thể tham gia (tập hợp các khoá này là khoá bội của
kiểu thực thể mới). Nối thực thể này với các thực thể tham gia liên kết bằng các liên kết
1-n (phía nhiều ở thực thể mới này).
Ví dụ: Có các kiểu quan hệ của các thực thể:
được
chuyển thành:
chuyển thành
c) Các kiểu thuộc tính khoá và các kiểu thuộc tính kết nối
64
Cung ứng0..* 0..*
Mặt hàng
SH mặt hàngTên hàngMàu
Nhà CC
SH nhà CCHọ tên Địa chỉ
Mặt hàng
SH mặt hàngTên hàngMàu
Nhà CC
SH nhà CCHọ tên Địa chỉ
Catalô
SH mặt hàngTên hàngMàu
Thờikhoá biểu
Phòng
Mã PH
Lớp học
Mã LớpTên lớp
Môn học
Mã mônTên môn
Thời gian
Ngày giờ
Thời khoá biểu
Mã LớpMã PHMã mônNgày giờ
Phòng
Mã PH
Lớp học
Mã LớpTên lớp
Môn học
Mã mônTên môn
* Khoá: là một tập các kiểu thuộc tính của một kiểu thực thể dùng để phân biệt các
thực thể trong kiểu thực thể đó. Khoá có thể là khoá đơn (chỉ có một kiểu thuộc tính) và
khóa bội (khoá gồm 2 kiểu thuộc tính trở nên).
Khoá bội thường gặp trong các trường hợp sau:
- Các kiểu thực thể phụ thuộc: Khoá của một kiểu thực thể phụ thuộc luôn phải bao
gồm khoá của kiểu thực thể chính, và nó làm nhiệm vụ kết nối một thực thể phụ thuộc
với một thực thể chính.
- Các kiểu thực thể được lập từ Quy tắc 2, tức là các kiểu thực thể diến tả một quan
hệ đều phải có khoá bội hợp thành từ khoá của các kiểu thực thể tham gia quan hệ.
* Kiểu thuộc tính kết nối (hay còn gọi là khoá ngoại): là kiểu thuộc tính vốn là
khoá của một kiểu thực thể khác nhưng lại xuất hiện trong kiểu thực thể này với nhiệm
vụ mô tả mối quan hệ giữa hai kiểu thực thể.
4.2.4. Phương pháp phân tích theo mô hình thực thể liên kết
a) Hai cách tiến hành: trên xuống và dưới lên
Các thông tin được đưa vào mô hình thực thể liên kết dưới 3 hình thức: thực thể,
liên kết và thuộc tính. Để phát hiện các kiểu thực thể và các kiểu thuộc tính của chúng
có thể tiến hành theo hai cách ngược nhau:
Cách (1): trước hết đối sánh với thực tế để tìm ra các kiểu thực thể, rồi sau đó đối
với mỗi kiểu thực thể đã chọn, tìm các kiểu thuộc tính mô tả nó.
Cách (2): tìm tập hợp các kiểu thuộc tính như là những loại thông tin sơ đẳng xuất
hiện trong hệ thống, rồi gom nhóm, tổ chức chúng lại thành từng cụm theo chủ đề mô
tả. Mỗi cụm đó trở thành một kiểu thực thể
Tuy nhiên cách tốt nhất là hỗn hợp cả hai cách làm trên bằng cách lặp đi lặp lại
nhiều lần: Từ các kiểu thực thể, tìm ra các kiểu thuộc tính, rồi từ kiểu thuộc tính ta tổ
chức lại, chỉnh sửa và bổ xung thành các kiểu thực thể, vòng đi vòng lại cho đến khi
thỏa đáng.
Một thực thể, như ta đã định nghĩa ở trên, là một vật thể cụ thể hay trừu tượng, tồn
tại thực sự và khá ổn định trong thế giới thực mà ta muốn phản ánh nó trong hệ thống
thông tin.
Tuy nhiên, không phải mọi vật thể có trong thực tế đều trở thành thực thể, mà phải
có sự tuyển chọn khi đưa vào mô hình. Sự tuyển chọn đó dựa trên hai tiêu chí:
65
- Có ích cho việc quản lý.
- Có cách để phân biệt với các thực thể khác.
Một thuộc tính, như đã định nghĩa ở trên, là một giá trị (dữ liệu) mô tả một khía
cạnh nào đó của một thực thể.
Cũng không phải mọi đặc điểm có thể của một thực thể đều được xem là thuộc tính
cho nó, mà phải có sự tuyển chọn theo yêu cầu quản lý.
Xét về vai trò của kiểu thuộc tính trong một kiểu thực thể, ta phân biệt ba loại kiểu
thuộc tính:
- Thuộc tính khóa
- Thuộc tính kết nối (hay khóa ngoài)
- Thuộc tính mô tả.
Về các thuộc tính khóa và kết nối, ta sẽ đề cập ở dưới cùng với việc xem xét các
liên kết. Còn đối với các thuộc tính mô tả, để tuyển chọn chúng ta dựa vào một số cách
phân loại, đề cập ở hai mục nhỏ tiếp sau đây.
b) Phân loại các thuộc tính theo nội dung diễn tả
Các dữ liệu trong một hệ thống thông tin quản lý (nói ở đây là các thuộc tính và từ
đó là các thực thể) có thể tách làm hai loại theo nội dung diễn tả:
Các dữ liệu phản ánh cấu trúc tĩnh của hệ thống kinh doanh dịch vụ. Có thể nói
đó là phần mô tả hạ tầng cơ sở của hệ thống kinh doanh dịch vụ và môi trường của
nó, và là phần ổn định nhất trong CSDL, bao gồm:
- Về nhân lực: Nhân viên, Khách hàng, Nhà cung cấp....
- Về tài sản, thiết bị nguyên vật liệu: Nhà xưởng, Cửa hàng, máy ôtô, Mặt
hàng, nguyên liệu ....
- Về tổ chức và cơ cấu: Phòng ban, Phân xưởng, Khoa, Bộ môn, Lớp,.v.v...
Các dữ liệu phản ánh các sự kiện trong hoạt động kinh doanh như :
- Các giao dịch: Đặt hàng, Đăng kí, Giao hàng, Thanh toán,...
- Các báo cáo, tổng kết thống kê.
Trên một góc nhìn khác, lại có thể phân chia các dữ liệu thành :
66
Các dữ liệu sống: là các dữ liệu phản ánh thực tế hiện tại và đang được sử
dụng. Các dữ liệu này phải luôn luôn được cập nhật cho khỏi lạc hậu với thực tế.
Ví dụ : Lý lịch các nhân viên đang tại chức, Đơn hàng đang xử lý (chưa hoàn tất).
Các dữ liệu lịch sử: là các dữ liệu phản ánh quá khứ của hệ thống kinh doanh
dịch vụ, được chuyển sang lưu giữ, không cập nhật, không dùng trong các tính
toán xử lý, và chỉ có thể tham khảo khi cần. Thường thì các dữ liệu lịch sử được
lưu trên bộ nhớ tách biệt với các dữ liệu sống (cho nên thường được gọi là “Cơ sở
ngoài luồng”).
Ví dụ: Hồ sơ về các nhân viên đã ra khỏi cơ quan, Đơn hàng đã hoàn tất, tài khoản
đã đóng ...
c) Phân loại các thuộc tính theo đặc điểm về giá trị của nó
Xét về đặc điểm của giá trị mà thuộc tính có thể nhận, thì ta có thể phân loại dựa
trên hai tiêu chí sau:
Thuộc tính tính toán hay thuộc tính không tính toán ;
Thuộc tính vững bền hay thuộc tính không bền vững.
Thuộc tính tính toán là thuộc tính mà giá trị của nó thu được bởi sự tính toán theo
một công thức (hay quy trình) xuất phát từ giá trị của một hoặc một số thuộc tính khác.
Ví dụ: Thành tiền = đơn giá x số lượng
Nhớ rằng hai yêu cầu đối với lược đồ về khái niệm dữ liệu là các thông tin phải đủ
và không dư thừa. Thế thì các thuộc tính tính toán là dư thừa, vậy về nguyên tắc là
không được đưa vào lược đồ. Tuy nhiên các thuộc tính tính toán không phải là không có
ích. sau này đến giai đoạn thiết kế, khi xét thêm hai yêu cầu mới là: Tiện lợi và nhanh
chóng, thì rất có thể là lại phải đưa chúng vào cơ sở dữ liệu. Vậy ở giai đoan phân tích,
ta hãy ghi nhận chúng lại để sau này trở lại xem xét, thậm chí nếu thấy vai trò của
chúng là không thể thiếu.
Thuộc tính không tính toán (còn được gọi là thuộc tính nguyên thuỷ ) là thuộc tính
mà giá trị của nó được cung cấp từ bên ngoài hệ thống (không thể suy ra được từ bên
trong hệ thống ).
Thuộc tính bền vững là thuộc tính mà giá trị của nó khi đã có thì không thay đổi
được nữa. Ngược lại là thuộc tính không bền vững.
Phối hợp hai tiêu chí trên, ta có bốn loại thuộc tính :
67
Thuộc tính tính toán và bền vững, chẳng hạn : Tổng tiền của một hoá đơn,
Tiền lương (của một nhân viên trong tháng hiện tại ).
Thuộc tính tính toán và không bền vững, chẳng hạn: Lượng hàng tồn kho, Số
dư tiết kiệm.
Thuộc tính không tính toán và bền vững, chẳng hạn: Ngày sinh, Giới tính
(của một người ).
Thuộc tính không tính toán và không bền vững, chẳng hạn: Số các con của
một nhân viên, địa chỉ một khách hàng.
d) Các thuộc tính khoá,thuộc tính kết nối và các liên kết
Một kiểu thuộc tính khoá của một kiểu thực thể là một kiểu thuộc tính mà giá trị
của nó tương ứng với mỗi thực thể là riêng biệt cho thực thể đó.Vậy khoá cho phép chỉ
định mỗi thực thể,cho phép phân biệt các thực thể với nhau.
Trong bước đầu phân tích, có thể chưa cần quan tâm vội đến việc chọn khoá. Song
cuối cùng thì trong lược đồ dữ liệu hoàn chỉnh , mỗi kiểu thực thể đều phải có khoá.
Thuộc tính khoá có thể chọn trong số các thuộc tính tự nhiên, miễn là giá trị của nó
là khác biệt cho mỗi thực thể. Chẳng hạn nếu tên chính thức cho mỗi công ty đều đã
được đăng ký với nhà nước và bảo đảm không trùng lặp, thì có thể lấy Tên công ty làm
khoá cho các công ty. Nếu trong một khách sạn, các phòng được sơn màu sắc khác
nhau, thì có thể lấy màu làm khoá chỉ định các phòng trong khách sạn đó.
Tuy nhiên, ít khi tìm được một thuộc tính tự nhiên làm khoá bây giờ người ta dùng
thuộc tính khóa nhân tạo ấy là các mã, các số hiệu, như là mã hàng, Số hiệu đơn hàng...
Trong một kiểu thực thể, một kiểu thuộc tính được gọi là kiểu thuộc tính kết nối
(hay là còn gọi là một tham chiếu) nếu nó không phải là khoá của kiểu thực thể đó,
nhưng lại là khoá của một kiểu thực thể khác.
Sau khi đã có tập hợp các kiểu thực thể, thì ta cần nghiên cứu phát hiện các kiểu
liên kết giữa hai kiểu thức thể.
Việc tìm các kiểu liên kết có thể làm theo hai cách:
Dựa trên ý nghĩa các kiểu thực thể ( thực thể trong đó, có thể đóng vai trò
gì?), dựa theo các quy tắc quản lý hay các quy trình giao dịch mà ta phát hiện ra
các kiểu liên kết.
68
Ví dụ: Quy trình bán hàng bắt đầu bằng một khách hàng đưa đến đơn đặt hàng. Từ
sự kiện ta phát hiện ra có mối liên quan giữa khách hàng và đơn hàng.
Tìm trên danh sách các kiểu thuộc tính của các kiểu thực thể (đã lập ở bước
trước) hoặc tìm trên các chứng từ giao dịch, ta có thể phát hiện ra các tham chiếu.
Mỗi tham chiếu là biểu hiện cho một kiểu liên kết.
Ví dụ: Xem các Đơn hàng, ta thấy đơn hàng nào cũng có Tên ( hay Mã số khách
hàng). Đó chính là một tham chiếu. Vậy phải có một kiểu liên kết giữa hai kiểu thực thể
Đơn hàng và khách hàng.
Ví dụ : Xây dựng mô hình thực thể liên kết cho hệ thống QL CƯVT
Các kiểu thực thể sơ bộ có thể phát hiện là:
Về nhân lực, tài nguyên có phân xưởng, người cung cấp, Mặt hàng,…
Về giao dịch có dự trù, Đơn hàng, Giao hàng, Hoá đơn, Phát hàng,…
Tiếp đó ta phát hiện các kiểu liên kết giữa chúng bằng cách duyệt lại quá trình giao
dịch( từ khi phân xưởng đưa dự trù đến khi phân xưởng nhận được hàng) qua đó ta sẽ
thấy được các mối liên hệ giữa các kiểu thực thể.
Bổ sung các kiểu thuộc tính cho mỗi kiểu thực thể (trên hình không ghi chi tiết các
thuộc tính mô tả). Riêng việc chọn khoá, ta lưu ý một điểm sau:
Các SH-đơn hàng, SH-giao hàng, SH-phân xưởng, Mã hàng đã được quản lý
thống nhất, vậy có thể làm khoá (đơn) của các kiểu thực thể tương ứng.
Trái lại SH-dự trù, SH-giao hàng,SH-hoá đơn là khoá ngoại đối với hệ thống,
có thể xảy trùng lặp, vậy muốn dùng chúng làm khoá thì SH-dự trù phải kèm với
SH-phân xưởng, SH-giao hàng và SH- hoá đơn phải kèm SH nhà cung cấp .
Ta có các mô hình thực thể liên kết
- Mô hình thực thể liên kết mở rộng,
- Mô hình thực thể liên kết kinh điển
- Mô hình thực thể liên kết hạn chế.
như sau:
69
Hình 4.1. Lược đồ dữ liệu theo mô hình thực thể liên kết mở rộng.
Trong lược đồ trên dùng tam giác để chỉ hướng đọc mối liên kết và dùng thuộc tính
in nghiêng để đánh dấu các thuộc tính đa trị.
70
Xuất Nhập kho
Mã hàngNgày XNX_NLượng XN
Điều chỉnh
Tồn kho
Mã hàngLượng TKNgưỡng
Dự trù
SH-DTSH-PXNgày DTMã hàngLượng DT
Gồm
Phát cho
Phát hàng
SH-PHNgày PHMã hàngLượng PH
Nhập vào
Mặt hàng
Mã hàngChi tiết MH
Gồm
Giao hàng
SH-GHTên NCCNgày GHMã hàngLượng GH
Gồm
Phát theo
Gồm
Gồm
Người CC
Tên NCCChi tiết NCC
Gửi cho
Cung ứng
Xuất cho
Phân xưởng
SH_PXChi tiết PX Lập
Đưa vào
Đơn hàng
SH-ĐHNgày ĐHMã hàngLượng ĐH
Theo
Lập
Hoá đơn
SH-HĐTên NCCNgày HĐTổng tiềnMã hàngLượng HĐ
Tính theo Thực hiện
71
11..*11..*11
Phát hàng
SH-PHNgày PH
*
*0..1
0..1 1
0..1
1
*
Phát cho
Nhập vào
Dòng phát hàng
SH-PHMã hàngLượng PH
Có
Dự trù
SH-DTSH-PXNgày DT
Phát theo
Xuất cho
Phân xưởng
SH_PXChi tiết PX Lập
Đưa vào
*
Xuất Nhập kho
Mã hàngNgày XNX_NLượng XN
Điều chỉnh
Tồn kho
Mã hàngLượng TKNgưỡng
1
Gồm
Mặt hàng
Mã hàngChi tiết MH
Gồm
Có
Dòng dự trù
SH-DTSH-PXMã hàngLượng DT
Dòng đơn hàng
SH-ĐHMã hàngLượng ĐH
Gồm
Gồm
Đơn hàng
SH-ĐHNgày ĐH
Có
Theo
Có
Gồm
Dòng giao hàng
SH-GHTên NCCMã hàngLượng GH
Giao hàng
SH-GHTên NCCNgày GH
Người CC
Tên NCCChi tiết NCC
Gửi cho
Cung ứng
Lập
Thực hiện
Hoá đơn
SH-HĐTên NCCNgày HĐTổng tiền
Dòng hoá đơn
SH-HĐTên NCCMã hàngLượng HĐ
Có
Tính theo
1
1
1..*
1..*
*
*
11
1
1
1
1
1
*
*
*
*
1
1
*
* 1
1
*
1
1..*
1..*
1
1
1..*
*
1
1
*
* 1
72
Dòng phát hàng
SH-PHMã hàngLượng PH
Dự trù
SH-DTSH-PXNgày DT
Phân xưởng
SH_PXChi tiết PX
Xuất Nhập kho
Mã hàngNgày XNX_NLượng XN
Tồn kho
Mã hàngLượng TKNgưỡng
Mặt hàng
Mã hàngChi tiết MH
Dòng dự trù
SH-DTSH-PXMã hàngLượng DT
Dòng đơn hàng
SH-ĐHMã hàngLượng ĐH
Dòng giao hàng
SH-GHTên NCCMã hàngLượng GH
Giao hàng
SH-GHTên NCCNgày GH
Hoá đơn
SH-HĐTên NCCNgày HĐTổng tiền
Dòng hoá đơn
SH-HĐTên NCCMã hàngLượng HĐ
Phát hàng
SH-PHNgày PH
Đơn hàng
SH-ĐHNgày ĐH
Người CC/ Mặt hàng
Tên NCCMã hàngĐơn giá
Người CC
Tên NCCChi tiết NCC
4.3. MÔ HÌNH DỮ LIỆU QUAN HỆ
4.3.1. Các khái niệm
a) Domain - Miền
Domain là một tập hợp không rỗng D. Để biểu diễn một phần tử thuộc D, ta viết
ED. Miền (domain) là một tập các giá trị hoặc các đối tượng.
Gọi D1, D2, ...Dn, là n miền, khi đó D là tập hợp các phần tử của tích Đề các
D1D2...Dn. Cũng có thể số lượng các phần tử của D bị giảm đi bởi một điều kiện
xác định cho trước.
b) Thuộc tính (Attribute)
Thuộc tính là một lớp dữ liệu mô tả hành vi, tính chất phát sinh trong CSDL, nghĩa
là nó chỉ dựa vào tính chất của lớp dữ liệu này.
Mỗi thuộc tính được gắn với một và chỉ một domain.
Một mục dữ liệu (item) của một thuộc tính trong CSDL là một giá trị của domain
của thuộc tính này.
Một thuộc tính gọi là có tính joined nếu nó được định nghĩa từ một vài các thuộc
tính khác; do đó domain của nó là tập con của tích Đề các các domain của các thuộc
tính này.
Ký hiệu:
- Gọi c là giá trị của thuộc tính C. Nếu C được tạo thành từ các thuộc tính C1,
C2,...,Cn, khi đó ta ký hiệu c.C1 và c(C1) chỉ giá trị c đối với thuộc tính C1.
- Nếu thuộc tính C có các domain D1, D2, ...Dn thì c.D1 và c(D1) chỉ giá trị c trong
domain D1.
c) Quan hệ
Một quan hệ (Relation) n-R là tập R+ các thuộc tính của R và một vị từ mô tả bởi
chứa các biến số tự do (ví dụ ,) tương ứng các thuộc tính của R+ và nhận các giá
trị trong các domain của các thuộc tính đó.
Một bộ (n-tuple) của R là một phần tử của tính Đề các của các domain tương ứng
với n thuộc tính của R.
Một thực thể (entity) r của R là một bộ của R thoả mãn vị từ (r)=true.
Một cách đơn giản, quan hệ R là một bảng dữ liệu hai chiều.
73
d) Lược đồ quan hệLược đồ quan hệ là sự hợp thành của hai yếu tố:
- Một cấu trúc, gồm tên quan hệ và danh sách các thuộc tính (mỗi thuộc tính gắn
với một miền) thường cho dưới dạng R(A1A2…An)
- Một tập hợp các ràng buộc toàn vẹn, tức là các điều kiện mà mọi quan hệ trong
lược đồ phải thoả mãn.
- Về mặt hình thức: Lược đồ quan hệ cho bởi một cặp gồm hai thành phần
=<U+, F> , trong đó:
U+: Là tập các thuộc tính
F: Là tập các phụ thuộc hàm trên U+.
- Cho R là một quan hệ trên tập thuộc tính U+, ta nói R thuộc lược đồ quan hệ
=<U+, F> nếu R thoả mãn tất cả các phụ thuộc hàm của tập F.
4.3.2. Phụ thuộc hàm
4.3.2.1. Các dạng chuẩn
a) Định nghĩa phụ thuộc hàm
Cho quan hệ R(ABC), trong đó C có thể rỗng. Ta nói tập thuộc tính B phụ thuộc
hàm vào tập thuộc tính A, nếu trong R hai bộ (a1 b1 c1), (a2 b2 c2) bất kỳ có a1=a2 thì
cũng đều có b1=b2. Có nghĩa là mỗi giá trị của thuộc tính A xác định duy nhất giá trị
của thuộc tính B.
Ký hiệu phụ thuộc hàm này là A B.
Ví dụ: Trong các quan hê BANDOC,SACH,và BẠNDOC_SACH:
BANDOC : Số thẻ { Tên bạn đọc, Cơ quan, Hạn SD}
SACH : Mã sách {Tên sách,Tác giả}
BANDOC_SACH : {Số thẻ, Mã sách} Ngày mượn
Nếu A là một nhóm các thuộc tính thì phụ thuộc hàm A B trong R được gọi là
Sơ đẳng nếu như không tồn tại A’ mà A’ B
Phụ thuộc hàm A B trong quan hệ R được gọi là trực tiếp nếu như không tồn tại
thuộc tính X trong quan hệ R, X khác với A và B sao cho AB và X B, Nói cách khác,
phụ thuộc hàm A B trực tiếp nếu như không phải là bắc cầu
74
b) Tính chất của các phụ thuộc hàm
(fd1) Tính phản xạ.
If then là một phụ thuộc hàm của R.
(fd2) Luật tăng trưởng
If là một fd của R và then là một fd của R.
(fd3) Tính bắc cầu
If and là các fd của R then là một fd của R.
(fd4) Giả bắc cầu
If and là các fd của R then là một fd của R.
(fd5) Phép hợp
If and là các fd của R then là một fd của R.
(fd6) Phép khai triển
If and là các fd của R then là một fd của R.
4.3.3. Khoá tối thiểu
a) Khoá (Key) và siêu khoá (super key) của quan hệ
- Cho một quan hệ R trên tập thuộc tính U+ và XU+. X được gọi là siêu khoá của
quan hệ R nếu R thoả mãn phụ thuộc hàm X U+ .
Ví dụ 1: Quan hệ KQHocTap(MaSV, MaMH, Diem)
X1=MaSV, MaMH, Diem
X2=MaSV, MaMH
Ta có X1, X2 là hai siêu khoá của quan hệ QKHocTap.
- Một siêu khoá của quan hệ R được gọi là khoá của R nếu nó là siêu khoá tối
thiểu. Siêu khoá tối thiểu là siêu khoá mà nếu bỏ đi một thuộc tính thì nó không còn là
siêu khoá nữa.
Vậy X (XU+) là khoá của R và thì R không thoả phụ thuộc
hàm X-A U+.
Ví dụ 2: Có X2 là khoá của quan hệ QKHocTap.
Nhận xét: Khái niệm khoá và siêu khoá của quan hệ phụ thuộc vào thể hiện cụ thể
của quan hệ đó.
75
b) Khoá (Key) và siêu khoá (super key) của lược đồ quan hệ
- Siêu khoá: Cho lược đồ quan hệ =<U+, F> và XU+. X được gọi là siêu khoá
của lược đồ quan hệ nếu X là siêu khoá của mọi quan hệ thuộc lược đồ .
- Khoá: Cho lược đồ quan hệ =<U+, F> và XU+. X được gọi là khoá của lược
đồ quan hệ nếu X là siêu khoá tối thiểu của lược đồ .
Ví dụ 1: Cho lược đồ quan hệ:
=<U+ ={MaSV, MaMH, Diem}, F={MaSV,MaMHDiem}>
X=MaSV, MaMH là siêu khoá của lược đồ quan hệ =<U+, F>. Vì với một quan
hệ R bất kỳ thuộc lược đồ thì tập thuộc tính của R, R+=U+={MaSV, MaMH, Diem} và
X U+.
Ngoài ra X là siêu khoá tối thiểu, nên X là khoá của lược đồ quan hệ.
Chú ý: X là một siêu khoá chỉ có một thuộc tính thì nó chính là khoá.
Ví dụ 2: Cho lược đồ quan hệ =<U+ =ABCD, F={AB CD, B AC}
Kiểm tra B là khoá:
A B C D
t
t'
Vậy BABCD, S là khoá.
4.3.4. Chuẩn hoá
4.3.4.1. Các dạng chuẩn
a) Dạng chuẩn 1NF
Một lược đồ quan hệ được gọi là ở dạng chuẩn 1NF nếu mọi thuộc tính của nó
đều là nguyên tố.
Ví dụ: Chưa ở dạng 1NF
S# Product
1NF
S# P# QTyP# QTy
s1
s1
s2
s2
p1
p2
p1
p2
200
500
300
100
s1
s1
s2
s2
p1
p2
p1
p2
200
500
300
100
76
Trong thuộc tính Product có thể tách thành 2 thuộc tính con độc lập nhau, do đó
Product chưa nguyên tố, ta đưa về dạng chuẩn 1NF bằng cách tách Product thành 2
thuộc tính P# và Qty.
Tuy nhiên cần chú ý quan niệm nguyên tố sẽ quyết định dạng chuẩn 1NF, mà quan
niệm này phụ thuộc vào yêu cầu xây dựng CSDL và khai thác CSDL.
Ví dụ: Cần quản lý tình trạng bán hàng trong từng ngày, khi đó thuộc tính Qty cần
phải tách thành: Ngày bán+Đơn giá+ Số lượng.
Và dạng chuẩn 1NF như sau:
S# P# Date Price QTY
b) Dạng chuẩn 2NF
* Khái niệm phụ thuộc hàm đầy đủ:
Ví dụ: Trên quan hệ KQTHI(MaSV, MaMT, Điem) có:
MaSV, MaMT Điem
MaSV Điem
MaMT Điem
+ Khái quát:
- Y được gọi là phụ thuộc hàm đầy đủ vào X trên quan hệ R nếu XY thoả trên R.
Nhưng với mọi tập con (X'X) thì X' Y không thoả trên R.
- Y được gọi là phụ thuộc hàm đầy đủ vào X trên lược đồ quan hệ =<U+, F>
nếu XY thoả trên . Nhưng với mọi tập con (X'X) thì X' Y không thoả trên
.
+ Nếu ta sử dụng ký hiệu =<U+, F>. Điều kiện Y phụ thuộc đầy đủ vào X là:
* Tiêu chuẩn để Y phụ thuộc đầy đủ vào X trên lược đồ quan hệ =<U+, F>
77
Ví dụ: Cho F={AC, BC, AD, DEC, CEA}
- Kiểm tra C có phụ thuộc đầy đủ vào AD hay không? Không vì F |- AC.
- Kiểm tra AB có phụ thuộc đầy đủ vào BCE hay không?
* Định nghĩa: Một lược đồ gọi là dạng chuẩn 2NF nếu:
- ở dạng chuẩn 1NF,
- Mọi thuộc tính không khoá (thuộc tính không nằm trong khoá nào với mọi khoá)
đều phụ thuộc đầy đủ vào khoá.
Chú ý: Trong thực tế thì ta thường gọi một khoá làm khoá chính Primary Key. Khi
đó yêu cầu của dạng chuẩn (yếu hơn về mặt lý thuyết) chỉ cần các thuộc tính không
khoá phụ thuộc đầy đủ vào khoá chính.
Ví dụ: Cho lược đồ =<U+={MaSV, TenSV, MaMT, TenMon, ĐiemThi};
F={MaSVTenSV; MaMTTenMon; MaSV, MaMTĐiemThi}>
Nhận xét: chưa ở dạng chuẩn 2NF vì X=MaSV, MaMT là khoá của . Các
thuộc tính không khoá là TenSV, TenMon, ĐiemThi
Ta có thuộc tính TenSV, TenMon không phụ thuộc đầy đủ vào khoá chỉ phụ thuộc
vào bộ phận của khoá.
Lược đồ được tách thành các lược đồ sau:
1=<U+={MaSV, TenSV}; F={MaSVTenSV}>
2=<U+={MaMT, TenMon}; F={MaMTTenMon}>
3=<U+={MaSV, MaMT, DiemThi}; F={MaSV, MaMTĐiemThi}>
1, 2 hiển nhiên ở dạng chuẩn 2NF.
3 có khoá duy nhất là X=MaSV, MaMT. Thuộc tính không khoa là DiemThi phụ
thuộc đầy đủ vào khoá X. Vì
c) Dạng chuẩn 3NF
* Khái niệm phụ thuộc bắc cầu:
78
- Nhận xét: Chất lượng "tốt" của một quan hệ liên quan đến độ chặt chẽ của các
phụ thuộc dữ liệu giữa các thuộc tính không khoá và thuộc tính khoá. Khái niệm phụ
thuộc đầy đủ ở trên là ví dụ. Để định nghĩa tốt hơn ta xét khái niệm phụ thuộc bắc cầu.
- Định nghĩa: Cho lược đồ quan hệ =<U+, F>, A là một thuộc tính
của U+.
Ta nói A phụ thuộc bắc cầu vào X trên nếu có thể chèn một cầu thực sự Y vàn
giữa quan hệ A và X. Nghĩa là
Nếu có phụ thuộc bắc cầu giữa A và X như trên ta nói A và X còn phụ thuộc
lỏng.
Định nghĩa 1: Lược đồ quan hệ được gọi ở dạng chuẩn 3NF nếu
i) ở dạng chuẩn 1NF
ii) Mọi thuộc tính không khoá không được phụ thuộc bắc cầu vào khoá
Định nghĩa 2: Lược đồ quan hệ được gọi ở dạng chuẩn 3NF nếu
i) ở dạng chuẩn 2NF
ii) Mọi thuộc tính không khoá không được phụ thuộc bắc cầu vào khoá.
Chú ý: A phụ thuộc không đầy đủ vào khoá X, chỉ phụ thuộc vào Y ( )
thì A cũng phụ thuộc bắc cầu: X Y A.
Ví dụ 1: Cho lược đồ quan hệ như sau:
=<U+=CTRHSG; F={C T, HR C, HT R, CS G, HS R}>
C - giáo trình (Curriculum)
T - Giáo viên (Teacher)
R - Phòng học (Room)
H - Giờ (Hour)
S - Sinh viên (Student)
G - Lớp (grade)
C T: Mỗi giáo trình có một thầy dạy,
HR C: Chỉ một môn học ở một phòng học tại một thời điểm,
HT R: Tại mỗi thời điểm mỗi giáo viên chỉ có thể dạy ở một phòng học,
CS G: Mỗi sinh viên chỉ ở một lớp học theo mỗi giáo trình.
HS R: Mỗi sinh viên chỉ có thể ở một phòng học tại một thời điểm.
79
Yêu cầu: Kiểm tra có ở dạng chuẩn 3NF hay không? Nếu không ở dạng chuẩn
nào?
- Xác định tập K các khoá của và tập N các thuộc tính không khoá.
o Nhận xét: Thuộc tính HS tham gia khoá vì chúng không xuất hiện ở vế
phải. Kiểm Tra HS có phải là khoá không.
HS+=HSRCTG=U+.
Ta có khoá K={HS} là khoá duy nhất, N={RCT} là các thuộc tính
không khoá.
o R là thuộc tính không khoá: HS HT R (HT không HS). Như vậy
R phụ thuộc bắc cầu vào khoá HS thông qua cầu HT. Suy ra không ở
dạng chuẩn 3NF.
- Kiểm tra N=RCT có phụ thuộc đầy đủ vào HS hay không?
o C Vậy C phụ thuộc đầy đủ vào HS
o Tương tự RT
KL: ở dạng chuẩn 2NF.
d) Dạng chuẩn BCNF
* Định nghĩa: Cho một lược đồ , ở dạng chuẩn BCNF nếu:
i) ở dạng chuẩn 1NF
ii) Nếu X Y là một phụ thuộc hàm không tầm thường thoả mãn trên thì X phải
là siêu khoá của .
4.3.4.2. Chuẩn hoá
a) Định nghĩa: Chuẩn hoá là sự phân rã không làm mất mát thông tin của một quan
hệ R thành một tập hợp các quan hệ ở dạng chuẩn 3NF.
b) Chuẩn hoá theo hướng phân tích
Thực hiện chuẩn hoá dần dần theo các bước 1NF 2NF 3NF
i. Đưa về dạng chuẩn 1NF: Thực hiện tách các thuộc tính lặp
Nhóm các thuộc tính đơn toạ thành một quan hệ. Chọn khoá cho nó.
80
Nhóm các thuộc tính lặp tách ra, tăng thêm khoá của quan hệ trên tạo
thành một quan hệ (hay một số quan hệ theo chủ đề). Chọn khoá cho các
quan hệ này, thường là khoá bội, trong đó khoá của quan hệ trên là một
thành phần.
ii. Đưa về dạng chuẩn 2NF: Thực hiện tách các nhóm thuộc tính phụ thuộc hàm
vào một phần của khoá.
Nhóm thuộc tính không bị tách tạo thành một quan hệ với khoá như cũ.
Mỗi nhóm tách ra (gồm các thuộc tính cùng phụ thuộc vào một phần
thuộc tính nào đó của khoá) cộng thêm các thuộc tính mà chúng phụ
thuộc tạo thành một quan hệ với khoá là các thuộc tính được thêm này.
iii. Đưa về dạng chuẩn 3NF: Thực hiện tách các nhóm thuộc tính phụ thuộc một
hay một số các thuộc tính ngoài khoá.
Nhóm thuộc tính còn lại tạo thành một quan hệ với khoá như cũ.
Mỗi nhóm tách ra (gồm các thuộc tính phụ thuộc vào cùng một hay một
số các thuộc tính ngoài khoá) cộng thêm các thuộc tính mà chúng phụ
thuộc tạo thành một quan hệ mới với khoá là các thuộc tính cộng thêm này.
Như vậy, sau khi thực hiện các bước trên ta được các quan hệ ở dạng chuẩn 3NF.
Ví dụ: Ta thực hiện chuẩn hoá một đơn hàng.
- Các thuộc tính đơn:
SH-ĐH
SH-NgCC
Tên -NgCC
Địa chỉ - NgCC
Ngày-ĐH
Tổng cộng
- Các thuộc tính lặp:
Mã MH
Mô tả MH
Đơn vị tính
Đơn giá
Số lượng
Thành tiền
81
Các thuộc tính Tổng cộng và Thành tiền là các thuộc tính tính toán, bị loại khỏi
danh sách.
Các phụ thuộc hàm trong danh sách các thuộc tính còn lại là:
SH-ĐH SH-NgCC, Tên -NgCC, Địa chỉ - NgCC, Ngày-ĐH
SH-ĐH, Mã MH Mô tả MH, Đơn vị tính, Đơn giá, Số lượng
SH-NgCC Tên -NgCC, Địa chỉ - NgCC
Mã MH Mô tả MH, Đơn vị tính, Đơn giá
Ta có các bước chuẩn hoá sau:b
Danh sách thuộc tính 1NF 2NF 3NF
SH-ĐH
SH-NgCC
Tên -NgCC
Địa chỉ - NgCC
Ngày-ĐH
Mã MH
Mô tả MH
Đơn vị tính
Đơn giá
Số lượng
SH-ĐH
SH-NgCC
Tên -NgCC
Địa chỉ - NgCC
Ngày-ĐH
SH-ĐH
Mã MH
Mô tả MH
Đơn vị tính
Đơn giá
Số lượng
SH-ĐH
Mã MH
Số lượng
Mã MH
Mô tả MH
Đơn vị tính
Đơn giá
SH-ĐH
SH-NgCC
Ngày-ĐH
SH-NgCC
Tên -NgCC
Địa chỉ - NgCC
4.3.5. Phương pháp lập lược đồ dữ liệu theo mô hình quan hệ
Ta có thể tóm tắt quy trình thành lập lược đồ dữ liệu cho hệ thống theo mô hình
quan hệ như sau:
(i) Thành lập một danh sách các thuộc tính, gọi là danh sách xuất phát. Có thể xem
đây là một quan hệ, với một ý nghĩa khái quát nào đó.
Chú ý: Quá trình được lặp lại với nhiều danh sách khác, cho đến khi vét cạn các
thông tin cần thiết cho hệ thống.
82
Có 2 cách tiếp cận cơ bản thành lập danh sách xuất phát:
- Đó là tập hợp các thông tin cơ bản (thông tin không có cấu trúc) phát hiện được
trong một phạm vi điều tra.
- Xuất phát từ một cái ra của hệ thống. Cái ra có thể là: một chứng từ hay một tài
liệu in ra từ hệ thống; một màn hình giao tiếp người/máy.
(ii) Tu chỉnh lại danh sách xuất phát, qua các công việc sau:
- Loại bỏ bớt các tên đồng nghĩa.
- Loại bỏ các thuộc tính tính toán, tức là các thuộc tính có giá trị được tính từ các
giá trị của các thuộc tính khác.
- Kết nạp thêm các thuộc tính được dùng để tính toán các thuộc tính tính toán đã bị
loại trên nếu chúng chưa có trong danh sách.
- Nếu có thể được, thay thế các thuộc tính không đơn thành các thuộc tính đơn.
(iii) Tìm các phụ thuộc hàm trong danh sách các thuộc tính.
- Trước tiên là rà các khả năng có các PTH giữa từng cặp các thuộc tính trong danh sách.
- Sau đó, xét các PTH có vế trái gồm 2,3 … thuộc tính.
(iv) Tiến hành chuẩn hoá dựa trên tập các PTH đã được lập ở trên, dựa vào phương
pháp chuẩn hoá đã biết ở trên. Kết quả thu được là một tập các lược đồ quan hệ ở dạng
chuẩn 3NF.
(v) Lặp lại các bước từ (i) đến (iv) cho các danh sách xuất phát khác nhau, cho đến
khi quét hết các phạm vi khảo sát. Ta được nhiều tâp lược đồ quan hệ 3NF.
(vi) Lấy hợp các kết quả thu được từ các lần lặp trên. Khi lấy hợp, nếu có hai quan
hệ có khoá trùng nhau thì chúng được gộp thành một quan hệ với danh sách các thuộc
tính là hợp của hai danh sách tương ứng.
83
top related