Giống như một người quan sât hiếu kỳ tìm hiểu một cỗ mây cơ khí phức tạp bằng câch thâo rời ra từng bộ phận, NPT thông qua câc buổi phỏng vấn đê phât hiện câc vị trí lăm việc khâc nhau.
Bằng câch “thâo rời”, NPT thu nhận được từ câc vị trí lăm việc nhiều “chi tiết rời” vă nhóm chúng lại thănh ba loại : quy tắc, công việc vă dữ liệu. Từđó, NPT xđy dựng dần câc kế
hoạch “lắp râp” nhằm thể hiện hoạt động của hệ thống XN trong lĩnh vực nghiín cứu.
Do khó có thể tiếp cận trực tiếp toăn bộ hệ thống, người ta thường chọn câch tiếp cận phđn tích. Từ kết quả phđn tích, người ta bắt đầu quâ trình tổng hợp.
II.1. Xâc định câc phđn hệ
Ý tưởng chủđạo cho việc ý niệm hóa câc phđn hệ lă nhóm những hoạt động có sự phù hợp năo đó giữa chúng về ba mặt : mục tiíu hướng tới, câc quy tắc tâc động đến vă câc dữ liệu thao tâc.
Định nghĩa : Một phđn hệ xâc định một hoặc nhiều mục tiíu mă XN phải đạt được. Phđn hệđược mô tả bởi một tập hợp câc hoạt động, câc quy tắc quản lý vă câc dữ liệu tâc nghiệp.
Để xâc định một phđn hệ :
Nhóm câc hoạt động phù hợp với nhau về mục tiíu cần đạt được. Liín hệ tập hợp câc quy tắc quản lý với những hoạt động năy.
Liín hệ “cộng đồng” dữ liệu với những hoạt động năy : tăi chính, nhđn lực, nguyín liệu hoặc một kiểu chức năng năo đó : sản xuất, kiểm soât ngđn sâch, quan hệ con người.
Ví dụ : Một XN sữa chữa nhỏ có thểđược chia ra thănh bốn phđn hệ : Quản lý vật tư hăng hóa
Theo dõi hoạt động sữa chữa Quản lý nhđn sự, tiền lương Kế toân.
Nhận xĩt :
Thông thường, việc phđn chia tập hợp câc hoạt động vă tập hợp câc quy tắc để ghĩp chúng văo một phđn hệ đặc thù năo đó không phức tạp. Tuy nhiín, việc tâch dữ liệu riíng cho từng phđn hệ lại khó thực hiện.
Người ta thừa nhận sự có mặt của câc dữ liệu chung cho nhiều phđn hệ. Câc dữ liệu chung năy có vai trò hạt nhđn của câc giao diện vă lă cơ sở cho việc xđy dựng một ý niệm tổng thể
câc dữ liệu, độc lập với câc xử lý, hợp thănh một ngđn hăng dữ liệu phục vụ cho mọi phđn hệ. Việc phđn chia thănh câc phđn hệ có ưu điểm sau :
Nếu đối tượng nghiín cứu có “kích thước” nhỏ, nó lă một lĩnh vực duy nhất.
Trâi lại, nếu kích thước đối tượng lớn, lúc ấy khó lòng hình dung đầy đủ toăn bộ câc xử lý xảy ra.
Mỗi phđn hệđược giao cho một nhóm NPT. Câc nhóm lăm việc song song với nhau. Việc phđn nhóm không nhất thiết cốđịnh trong toăn bộ tiến trình phđn tích vă thiết kế. Ví dụ : có thể giữ nguyín một lĩnh vực duy nhất về phương diện ý niệm, sau đó tâch rời nó ra khi thực hiện hoặc âp dụng.
Việc phđn chia đối tượng nghiín cứu không lăm mất tính tổng thể của phương phâp. Thật vậy, đối với dữ liệu, người ta xđy dựng một mô hình duy nhất trước khi tạo ra câc lĩnh vực. Chính vì để xâc định câc lĩnh vực, người ta ghĩp cho mỗi lĩnh vực một tập hợp câc dữ liệu thuần nhất. Như vậy , người ta tâch mô hình dữ liệu thănh câc tiểu mô hình phục vụ cho từng lĩnh vực, không kết hợp nhiều mô hình dữ liệu đặc trưng cho từng lĩnh vực thănh một mô hình dữ liệu duy nhất.
II.2.Phđn tích dữ liệu
Phđn tích dữ liệu lă để :
Thanh lọc câc dữ liệu đồng nghĩa vă nhiều nghĩa từ danh sâch dữ liệu “thô” thu nhập qua câc buổi phỏng vấn
Xđy dựng từđiển dữ liệu (Data Dictionary) lă tập hợp từ vựng chính xâc mă mọi người tham gia dự ân đều đồng ý.
Câc bước phđn tích dữ liệu được cho ở .
II.2.1.Khâi niệm về dữ liệu sơ cấp
Một dữ liệu được xem lă sơ cấp khi toăn bộ câc ký tự tạo nín dữ liệu luôn luôn được sử
dụng một câch có hệ thống. Xĩt 2 ví dụ sau :
Ví dụ:
Giả sử dữ liệu mê sản phẩm có tín MêHăng có giâ trị H025 có mặt trong cơ sở dữ liệu lă do hai dữ liệu ghĩp lại : chữ H có ý nghĩa rằng sản phẩm thuộc về một loại đặc biệt năo đó vă 025 lă số của sản phẩm. Như vậy :
Loại sản phẩm có giâ trị thay đổi, lă một chữ câi từ A đến Z. Số của sản phẩm có giâ trị thay đổi từ 0 đến 999.
Nếu như khâi niệm về loại sản phẩm không có mặt trong ứng dụng đang xĩt, ta có thể xem rằng MêHăng lă sơ cấp.
Hình 3.24 Phđn tích dữ liệu Ví dụ :
Dữ liệu địa chỉ khâch hăng ĐịaChỉKH được xem lă dữ liệu sơ cấp nếu được dùng lăm địa chỉ thư tín, công văn. 1. Xử lý dữ liệu không sơ cấp 2. Thanh lọc dữ liệu 3. Xđy dựng từđiển dữ liệu Dữ liệu thô Dữ liệu sơ cấp Dữ liệu đê thanh lọc Từđiển dữ liệu Câc công thức tính toân
Loại bỏ dữ liệu đồng nghĩa vă nhiều nghĩa
Tính thích đâng của dữ liệu tính toân nghĩa
Trâi lại, nếu cần lập danh sâch khâch hăng của một thănh phố, hoặc của một tỉnh, thì bản thđn ĐịaChỉKH lă dữ liệu hỗn hợp vă phải được phđn chia thănh câc dữ liệu sơ cấp. Ta có thể
phđn chia như sau :
SốNhăKH Số nhă của khâch hăng. Ví dụ : 17.
PhốKH Tín phố (hoặc tín đường, hẻm...) khâch hăng lưu trú. Ví dụ Lí Duẩn. MêBĐ Mê bưu điện của khâch hăng (Việt nam chưa có).
TPKH Tín thănh phố nơi khâch hăng lưu trú. Ví dụĐă Nẵng. QuốcGia Tín nước (nếu có). Ví dụ Việt nam.
Ta thấy rằng mă bưu điện MêBĐ nếu có lă dữ liệu hỗn hợp do mê tỉnh vă mê huyện ghĩp lại.
II.2.2.Thanh lọc dữ liệu
Khi xđy dựng một từđiển dữ liệu, cần phải phđn tích dữ liệu thănh câc dữ liệu sơ cấp theo quan hệ dữ liệu − tín gọi dữ liệu. Sự không phù hợp của dữ liệu thể hiện ở hai dạng cần xử lý : câc dữ liệu đồng nghĩa vă câc dữ liệu nhiều nghĩa
a) Dữ liệu đồng nghĩa
Dữ liệu đồng nghĩa lă tín gọi khâc để chỉ cùng một loại dữ liệu, một sự kiện. Như vậy, một dữ liệu có thể có hai tín gọi khâc nhau, dẫn đến sự dư thừa thông tin. Cho nín, với một dữ liệu chỉ nín có một tín dữ liệu.
Ví dụ : Mê số mặt hăng, danh mục mặt hăng.
Đơn giâ, giâ đơn vị.
Trong ví dụđang xĩt, những tín dữ liệu MêKH vă SốHĐĐặtHg đều có nghĩa rằng những khâch hăng năy đê đặt hăng tại XN DanaFood. Ởđđy chỉ nín có một tín dữ liệu lă MêKH.
b) Câc dữ liệu có nhiều nghĩa
Dùng cùng một tín để chỉ câc đối tượng, sự kiện khâc nhau.
Ví dụ : Tăi khoản trong một cơ sở sản xuất kinh doanh để theo dõi câc hoạt động sản xuất kinh doanh. Tăi khoản trong ngđn hăng để theo dõi tiền rút, tiền gửi của khâch hăng. Dữ liệu SLSX sử dụng trong phòng Kinh doanh chỉ ra số lượng sản phẩm cần sản xuất để đâp ứng một đơn đặt hăng nhưng trong kho lưu trữ không còn đủ bân.
SLSX cũng được dùng để chỉ ra số lượng cần sản xuất thực sự của phđn xưởng sản xuất theo nhu cầu của đơn đặt hăng vă những răng buộc về sản xuất.
Như vậy, số lượng sản xuất lă một tín dữ liệu, nhưng có hai câch sử dụng khâch nhau, gọi lă dữ liệu có nhiều nghĩa.
Trong một hệ quản trị CSDL, tín dữ liệu chỉ có thể tương ứng với một dữ liệu. Như vậy, có thể dùng hai tín dữ liệu :
− SLĐặt : Số lượng do phòng Kinh doanh đặt hăng.
− SLSX : Số lượng thực sự phải sản xuất.
a) Nguyín lý thích đâng
Ví dụ :
Xĩt dữ liệu số lượng đặt hăng SLĐặt. Phđn xưởng sản xuất nhận tất cả đơn đặt hăng của khâch hăng chuyển đến (từ phòng Kinh doanh). Có thể suy ra số lượng cần sản xuất từ những dữ liệu cần có (trạng thâi kho lưu trữ hiện hănh, số lượng đang sản xuất, vă số lượng đặt hăng)
để thỏa mên nhu cầu của khâch hăng.
Như vậy, dữ liệu SLĐặt lă vô ích vă sẽ không có mặt trong từđiển dữ liệu.
b) Câc dữ liệu tính toân
Cần phđn biệt trong số những dữ liệu tính toân :
1. Những dữ liệu có thểđược xâc định ở mọi thời điểm nhờ những dữ liệu sơ cấp có trong CSDL.
Ví dụ 1 :
Số tiền giảm giâ cho mỗi đơn đặt hăng STGiảm phụ thuộc văo doanh số của năm trước vă doanh số có được câc thâng từđầu năm cho đến thâng khâch hăng đăng ký đặt hăng.
Trong năm, những dữ liệu năy luôn có mặt vă không bị thay đổi, cho nín, để dữ liệu STGiảm trong cơ sở dữ liệu lă không cần thiết.
Ví dụ 2 :
Giâ trị của dữ liệu SLDựTrữ có thểđược xâc định tại mọi thời điểm buôn bân thoả thuận. Như vậy, dữ liệu năy cũng không cần để trong cơ sở dữ liệu.
2. Những dữ liệu lăm cho câc dữ liệu trong cơ sở dữ liệu có thể tiến triển.
Ví dụ : Số tiền trong một đơn đặt hăng GiâTiền được tính từ số lượng sản phẩm đặt hăng vă giâ đơn vị của sản phẩm. Số lượng đặt hăng chỉ liín quan đến đơn đặt hăng vă không thể
thay đổi theo thời gian.
Ngược lại, giâ đơn vị của sản phẩm có thể thay đổi (do nhiều lý do), GiâTiền của đơn đặt hăng sẽđược tính lại sau một thời gian năo đó vă sẽ khâc với số tiền xâc định tại thời điểm đặt hăng. SôTiền phải có mặt trong cơ sở dữ liệu (có thể lưu giữ giâ đơn vị của sản phẩm liín quan tại thời điểm đặt hăng).
Trong ví dụ năy, mọi dữ liệu dù tính toân hay không đều có mặt trong từđiển dữ liệu. Tuy nhiín, trong những bước phđn tích về sau, những dữ liệu tính toân có thểđược xâc định ở mọi thời điểm, chẳng hạn STGiảm, sẽ không còn trong từđiển.
c) Câch biểu diễn từđiển dữ liệu
Từ điển dữ liệu lă một danh sâch câc dữ liệu được sử dụng trong hệ thống thông tin, với một sốđặc trưng tín, kiểu, lĩnh vực sử dụng, câc quy tắc tâc động. Dưới đđy lă mẫu mô tả từ điển dữ liệu :
STT Tín dữ liệu Loại Mô tả kiểu dữ liệu Công thức
Trong đó :
STT Số thứ tự của dữ liệu.
Dữ liệu Diễn giải dữ liệu đê liệt kí trong bảng dữ liệu sơ cấp,
ởđđy chỉ liệt kí tín dữ liệu theo thứ tự ABC để dễ tìm kiếm.
Mô tả kiểu dữ liệu có hai câch xâc định : hoặc kiểu dữ liệu vă độ rộng của dữ liệu : N Dữ liệu số N6 Số có 6 chữ số. N6.2 Số có 8 chữ số với 2 chữ số lẻ (sau dấu chấm thập phđn). C Dữ liệu văn bản (ký tự) D Ngăy thâng năm.
L Dữ liệu Logic (true, false) hoặc chỉ kiểu mở rộng :
1, 2, 3 Chỉ nhận 3 giâ trị số lă 1, 2, hoặc 3
xanh, đỏ, văng, tím Chỉ nhận 4 giâ trị loại văn bản lă xanh, đỏ, văng, tím. v.v...
Công thức Mỗi dữ liệu có giâ trị nhận được bằng câch âp dụng một công thức sẽ được ký hiệu bởi CT1, CT2, ... vă được trình băy sau từđiển.
Mỗi công thức tương ứng với một công thức tính toân hoặc một cấu trúc lập trình (lựa chọn), hoặc tổ hợp cả hai.
Ví dụ :
Công thức tính toân :
GiâTiền = ĐơnGiâ * SốLượng STGiảm = GiâTiền × tỷ lệ giảm Cấu trúc lập trình :
IF DoanhSố > 10 000 000 THEN STGiảm = 10% ELSE STGiảm = 0% ENDIF
II.3.Sơ đồ dòng dữ liệu
II.3.1.Khâi niệm
Sơđồ (hay lưu đồ) dòng dữ liệu (DFD - Data Flow Diagram) lă công cụđể mô tả câc dòng thông tin của hệ thống đang xĩt. DFD dễ viết, dễđọc, dễ hiểu vă được ứng dụng rất phổ biến. DFD được xđy dựng từ câc hình vẽ vă ký hiệu quy ước.
Có nhiều câch xđy dựng DFD, thông dụng lă phương phâp De Macro-Yourdon, Gane Sarson văMERISE (ở Phâp).
Sau đđy lă bảng trình băy câc phương phâp :
Gane-Sarson DeMarco-Yourdon MERISE
Quâ trình
Thực thể
Kho dữ liệu
Dòng dữ liệu
Một DFD gồm bốn thănh tố : quâ trình, thực thể, kho dữ liệu vă dòng dữ liệu chuyển.
Quâ trình
Quâ trình (process) mô tả hoạt động (activities) hay phĩp biến đổi (transform) một hoặc nhiều dòng dữ liệu văo (input) thănh một hoặc nhiều dòng dữ liệu ra (output). Quâ trình không chỉ ra chi tiết logic hay thủ tục xử lý. Trong sơđồ DFD, một quâ trình có thể lă một người sử
dụng hay mây tính.
Thực thể
Câc thực thể (entities) xâc định ranh giới (boundary), hay phạm vi (scope), hay ngữ cảnh (context) của hệ thống đang xĩt, để cung cấp câi văo cho hệ thống vă lấy câi ra từ hệ thống.
Câc thực thể có thể nằm bín trong (internal) hay bín ngoăi (external), tạo thănh câc nguồn vă câc đích của hệ thống. Mỗi thực thể có thể lă người, tổ chức hoặc lă một hệ thống khâc tương tâc với hệ thống đang xĩt.
Kho dữ liệu
Kho dữ liệu (data stores) chỗ chứa những thông tin được lưu lại theo thời gian. Đó lă câc tập tin xử lý thủ công hay tựđộng, câc cơ sở dữ liệu, hay bất cứ hình thức tập trung dữ liệu năo (bảng biểu bâo câo, danh mục tra cứu, từđiển, hộp thư...) đều có thể được xem như kho dữ
liệu.
Dòng dữ liệu
Dòng dữ liệu (data flows) lă phương tiện lưu chuyển thông tin thể hiện câi văo vă câi ra. Dòng dữ liệu có thể lă bâo câo, biểu mẫu, văn bản, thư tín, thông điệp hay dữ liệu nói chung.
Dữ liệu chuyển Mô tả quâ trình Tín thực thể trong/ngoăi Tín thực thể trong/ngoăi Mô tả quâ trình 1 Tín thực thể trong/ngoăi Tín kho dữ liệu Tín kho dữ liệu 1 Mô tả quâ trình Dữ liệu chuyển
Câc dòng dữ liệu thể hiện sự tương tâc trong hệ thống. Chúng được tạo thănh từ tập hợp câc vật mang thông tin (giấy, măn hình... ) có cùng bản chất, đi từ nơi phât (nguồn) đến nơi nhận (đích).
DFD chỉ ra câch chuyển tiếp thông tin từ một quâ trình năy sang một quâ trình khâc. Như
vậy, cần phải có sẵn những thông tin trước khi thực thi một quâ trình. DFD lă một phần của quâ trình phđn tích chứ không phải một phần của quâ trình điều tra.
II.3.2.Phđn biệt DFD với sơđồ khối
DFD khâc với sơđồ khối, hay lưu đồ (Flowcharts) :
Câc quâ trình trong DFD có thểđặt song song, một số hoạt động đồng thời.
DFD thể hiện câc dòng dữ liệu luđn chuyển trong một hệ thống. Sơđồ khối thể hiện tuần tự
thực hiện dêy câc bước xử lý trong một thuật toân. DFD thể hiện quâ trình ở câc thời điểm khâc nhau.
DFD không giống sơđồ khối về câch thể hiện câc cấu trúc vòng lặp (do-while) vă cấu trúc lựa chọn (if-then-else).
II.3.3.Ví dụ :
DFD mô tả quâ trình khâch hăng đặt hăng, thanh toân tiền vă nhận :
Hình 3.25 Hệ thống mua bân hăng
DFD dưới đđy mô tả hệ thống tăi chính câ nhđn, giả sử của ông X năo đó : Khâch hăng Phiếu giao hăng DL khâch hă Người bân Đơn đặt hăng Hoâ
đơn Hoâ đơn TT DL hăng i DL người bâ Hăng Phiếu nhận hăng Xâc nhận đ TT 1 Lập kế hoạch giao hăng 2 Lăm thủ tục thanh toân 4 Giao hăng 3 Thanh toân
Hình 3.26 Hệ thống tăi chính câ nhđn
II.3.4.Xđy dựng sơ đồ dòng dữ liệu
a) Câc mức khâc nhau của DFD
DFD cấp cao nhất, gọi lă sơ đồ dòng dữ liệu cấp 0 được xem như một sơ đồ toăn cảnh (context diagram). Câc sơ đồ dòng dữ liệu sẽ được lần lượt xđy dựng từ trín xuống (top - down) bằng câch triển khai mỗi quâ trình hay phĩp biến đổi của DFD cấp cao hơn thănh một sơđồ dòng dữ liệu chi tiết hơn cấp thấp hơn cho tới khi câc phĩp biến đổi trở thănh nguyín tố
(nghĩa lă chỉ thực hiện một tâc vụ duy nhất).
Tại mỗi mức, mỗi DFD có thểđược vẽ trín một trang giấy (khổ A4 chẳng hạn).
b) Câc nguyín tắc
Trong khi triển khai câc mức DFD, cần tuđn theo câc nguyín tắc sau đđy : Cđn đối giữa DFD cấp cao (DFD mẹ) vă DFD cấp thấp hơn (DFD con) :
− Đầu văo vă đầu ra của DFD con phải đồng nhất với đầu văo vă đầu ra của phĩp biến
đổi trong DFD mẹ mă từđó DFD con được triển khai.
− Triển khai từng cấp theo chiều ngang, không theo chiều dọc.