Cơ sở phương pháp luận cơ bản cho việc nghiên cứu đề tài
Chương này tập trung giới thiệu cơ sở lý luận chung cho việc nghiên cứu đề tài,
bao gồm những vấn đề chủ yếu sau:
-Một số lý thuyết cơ bản về cơ sở dữ liệu quan hệ
-Các thuộc tính cơ sở dữ liệu quan hệ
-Các mô hình quan hệ thực thể
-Giới thiệu các hệ quản trị cơ sở dữ liệu, giới thiệu kỹ về Foxpro 7.0
-Quy trình phân tích thiết kế hệ thống, các mô hình BFD, DFD
-Mô hình hóa và chuẩn hóa dữ liệu
I. Giới thiệu về mô hình thực thể - quan hệ
1. Giới thiệu các khái niệm cơ bản
a. Những khái niệm liên quan đến mô hình dữ liệu quan hệ
Trong mô hình cơ sở dữ liệu quan hệ có những thuật ngữ sau làm cơ sở cho
việc thiết kế cơ sở dữ liệu :
-Table (bảng): như bang thống kê, bảng danh mục tài khoản kế toán, bảng
danh sách cán bộ, bảng lương, bảng điểm sinh viên, bảng niêm yết giá chứng
khoán…thực hiện việc ghi chép về một nhóm phần tử nào đó gọi là entity ( thực
thể).
-Entity(Thực thể): là một nhóm người, đồ vật, sự kiện hay,hiện tượng hay
khái niệm bất kì với các đặc điểm và thuộc tính sẵn có và đặc trưng cần được
ghi chép lại. Một số thực thể có thể là vật chất như hàng hóa, máy móc, xe cộ,
khách hàng, sinh viên, cán bộ, hóa đơn…Một số khác lại mang tính khái niệm
như giá cả, tài khoản kế toán, dự án, nhiệm vụ công tác…Như trên các thực thể
đó có thể là các chỉ tiêu thống kê, các tài khoản kế toán, cán bộ, lương, điểm của
các sinh viên, giá của các loại chứng khoán trên thị trường chứng khoán.
2. Thuộc tính
• Attribute(Thuộc tính): là những đặc điểm và tính chất của thực thể, mỗi
thuộc tính là một yếu tố dữ liệu tách biệt, thường không chia nhỏ được nữa. Các
thuộc tính góp phần mô tả thực thể và là những dữ liệu về thực thể mà ta muốn
lưu trữ. Ví dụ, thực thể tài khoản kế toán được đặc trưng bởi những đặc điểm
như mã tài khoản, tài khoản mẹ, tên tài khoản, nhóm tài khoản…
• Mỗi bảng bao gồm các dòng (row), mỗi dòng như thế ghi chép dữ liệu về
một cá thể (instance) là một biểu hiện riêng biệt của một thực thể nên còn được
gọi là một record (bản ghi) . Ví dụ mỗi dòng của một tài khoản kế toán dùng để
ghi chép thông tin về một tài khoản kế toán chẳng hạn như tài khoản 111 có mã
tài khoản là 111, tên tài khoản là tiền gửi ngân hàng, tài khoản mẹ (rỗng), nhóm
tài khoản là tài sản lưu động…
• Các bảng lại có những cột (colum): chúng còn được gọi là field (Trường),
đó là thuộc tính của thực thể như với thực thể sinh viên thì có mã sinh viên, tên
sinh viên, ngày sinh, quê quán… mỗi thuộc tính như vậy được phản ánh trên
các trường và ô ghi thông tin chính là ô giao nhau giữa cột và dòng của một cá
thể riêng biệt nào đó.
II. Cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu
Trong phần này sẽ giới thiệu khái niệm cơ bản về cơ sở dữ liệu và hệ
quản trị cơ sở dữ liệu:
A. Khái niệm chung
1. Cơ sở dữ liệu và hệ cơ sở dữ liệu
• Khái niệm CSDL (Database): là một nhóm gồm một hay nhiều bảng liên
quan với nhau. Ví dụ như cơ sở dữ liệu sinh viên bao gồm nhiều bảng như bảng
sinh viên, bảng dan sách khoa, bảng danh sách lớp,… Hoặc cơ sở dữ liệu quản
lý nhân sự có các bảng như bảng cán bộ, bảng danh sách phòng ban, bảng
lương…
• Hệ cơ sở dữ liệu (Database system): là một tập hợp các cơ sở dữ liệu có
liên quan với nhau kết hợp lại, chúng còn được gọi là một ngân hang dữ liệu
(Databank), ví dụ như tất cả các CSDL trong trường ĐHKTQD tập hợp lại
thành một hệ cơ sở dữ liệu, các cơ sở dữ liệu của một cơ quan nào đó như quản
lý nhân sự, quản lý lương, cơ sở dữ liệu quản lý kho,.. hợp lại thành một hệ cơ
sở dữ liệu của cơ quan đó.
2. Hệ quản trị cơ sở dữ liệu
• Hệ quản trị cơ sở dữ liệu ( Database Management Systems): viết tắt là
HQTCSDL hay DBMS là một hệ thống chương trình máy tính giúp tạo lập thiểt
kế, duy trì, sử dụng, quản lý các hệ cơ sở dữ liệu. Một số DBMS thông dụng
hiện nay như Oracle, SQL Server, Foxpro, Access, MySql, R:Base…
3. Hệ quản trị cơ sở dữ liệu Foxpro 7.0
Foxpro là hệ quản trị cơ sở dữ liệu hướng đối tượng, nó có khả năng giúp
bạn có thể tạo lập và lựa chọn các giải pháp cơ sở dữ liệu phục vụ cho công tác
quản trị kinh doanh của doanh nghiệp, đây là hệ quản trị cơ sở dữ liệu chuyên
phục vụ để giải quyết các bài toán trong quản lý. Đặc điểm khác biệt của foxpro
là sự đơn giản, bạn có thể nhanh chóng nắm bắt các kĩ thuật của nó, nó bao gồm
một tập hợp khổng lồ các hàm giúp cho người phát triển không phải mất công
viết lại hàm hay thủ tục cho những công việc thông thường và như vật tiết kiệm
công sức cũng như chi phí cho cả người phát triển và cả các doanh nghiệp khi lựa
chọn giải pháp quản trị doanh nghiệp của mình bằng hệ quản trị cơ sở dữ liệu
này. Đi theo bộ cài đặt hệ quản trị cơ sở dữ liệu Foxpro là các công cụ phát triển,
tài liệu hướng dẫn, các ví dụ minh họa để bạn có thể nắm bắt và áp dụng nhanh
chóng các phương pháp để xây dựng, phát triển và quản trị ứng dụng cơ sở dữ
liệu của mình. Hiện tại Visual Foxpro có bản mới nhất là 9.0, tuy nhiên đề tài này
được viết trên nền phiên bản Visual Foxpro 7.0, bản này có những cải thiện đáng
kể so với bản 6.0 trước đó và hiện tại đang được sử dụng tại nhiều doanh nghiệp
phần mềm chuyên viết các phần mềm quản lý và kế toán.
B. Mô hình quan hệ thực thể
Khi phản ánh thực tế vào một cơ sở dữ liệu, thì các thực thể thường
không độc lập mà có mối liên quan chặt chẽ với nhau chứ không cô lập
một cách tuyệt đối. Chính vì vật mà người thiết kế thường sử dụng những
mô hình quan hệ để xây dựng các mối quan hệ giữa các thực thể nhằm tối
ưu quá trình thiết kế cơ sở dữ liệu cũng như xây dựng ứng dụng phục vụ
quản lý. Sau đây xin giới thiệu ba mô hình quan hệ phổ biến và thường
được các nhà phát triển ứng dụng cơ sở dữ liệu sử dụng trong quá trình
thiết kế hệ thống.
1. Mô hình quan hệ 1-1
Có hai thực thể A và B được phản ánh vào hai bảng là A và B, khi đó ta
nói là hai bảng A và B có mối quan hệ 1-1 (one to one) khi ứng với mỗi dòng
trong bản A thì cũng chỉ có một dòng tương ứng với nó trong bảng B và ngược
lại, ứng với mỗi dòng trong bảng B cũng chỉ có một dòng trong bang A. Trong
thực tế thì mô hình quan hệ 1-1 thường ít khi sử dụng, vì luôn luôn có thể ghép
hai bảng A và B thành một. Nếu có sử dụng là do người ta muốn tách một bảng
có quá nhiều cột thành hai bảng tương ứng có số cột ít hơn cho dễ nhìn và đỡ
cồng kềnh, hoạc người ta muốn nhóm các trường hay biến động sang một bảng
khác để cập nhật khi cần, khi cần cập nhật người dùng không cần phải mở tất cả
các trường trong bảng lớn để cập nhật mà chỉ cần mở bảng có các trường hay
biến động để cập nhật mà thôi. Ví dụ như bảng hàng hóa thì có thể tách thành
bảng chứa các thông tin về hàng hóa như mã hàng, tên hàng, hãng sản xuất, còn
bảng thứ hai thì dùng để lưu những thông tin hay biến động hơn như ngày sản
xuất, số lượng, đơn giá.
2. Mô hình quan hệ 1-m
Giữa hai bảng A và B là có mối quan hệ 1-m (one to many) nếu ứng
với một dòng trong bảng A thì sẽ có nhiều dòng tương ứng với nó trong
bảng B và ngược lãi mỗi dòng trong bảng B chỉ ứng với một dòng trong
bảng A. Bảng A còn gọi là bảng chủ, còn bảng B là bảng kết hợp hay là
bảng quan hệ. Ví dụ như hình sau:
Trong hình trên ta có hai thực thể là Nhà và Phòng, một nhà có nhiều
phòng, nhưng mỗi phòng chỉ thuộc về một nhà mà thôi, ở bản nhà ta có
Primary Key (PK) là Ma_nha, ở bảng Phong có PK là Ma_phong, có
Foreign Key (FK) hay còn gọi là khóa ngoại lai là Ma_nha, hai bảng này
có quan hệ với nhau thông qua khóa chính ở bảng Nha và khóa ngoại ở
bảng Phong, mũi tên chỉ từ Phong sang Nha để chỉ rằng mỗi phòng trong
bảng Phong chỉ thuộc về một nhà trong bảng Nha.
Mô hình quan hệ một nhiều có thể coi là mô hình ứng dụng nhiều
nhất và cũng xuất hiện nhiều nhất trong thực tế, một khoa có nhiều sinh
viên nhưng mỗi sinh viên chỉ thuộc về một khoa, một mặt hàng có nhiều
món hàng nhưng mỗi món hàng chỉ thuộc về một mặt hàng mà thôi…
3. Mô hình quan hệ m-m
Hai bảng A và B có mối quan hệ nhiều- nhiều (many to many) khi
ứng với một dòng trong bảng A thì cũng có nhiều dòng trong bảng B và
ngược lại ứng với mỗi dòng trong bảng B thì cũng có nhiều dòng trong
bảng A. Ví dụ một hóa đơn ghi nhiều mặt hàng nhưng mỗi mặt hàng cũng
có thể xuất hiện trên nhiều hóa đơn khác nhau. Tuy nhiên mối quan hệ này
thường được chuyển về mô hình quan hệ 1-nhiều. Khi gặp mô hình quan
hệ nhiều - nhiều ta thường tạo ra một thực thể thứ ba là giao của hai thực
thể ban đầu, giả sử là thực thể C. Ví dụ như trên ta có thể thêm một thực
thể thứ ba là món hàng giao của hóa đơn và mặt hàng, một hóa đơn có
nhiều món hàng, một mặt hàng cũng có nhiều món hàng, như vậy thông
qua bảng giao này mà giữa hóa đơn và mặt hàng có mối quan hệ với nhau.
C. Nội dung của việc thiết kế và tạo lập CSDL
1. Xác định mục đích của cơ sở dữ liệu
Là một người phát triển ứng dụng cơ sở dữ liệu thì trước hết bạn
phải xác định được là cơ sở dữ liệu này dùng để làm gì. Muốn vậy phải trải
qua một quá trình điều tra, xác định yêu cầu, từ đó phân tích và thiết kế
cho hợp lý, bạn phải hỏi người trực tiếp sử dụng và người quản lý của hệ
thống để biết rõ những thông tin nào thì cần thiết cho cơ sở dữ liệu, hình
thức báo cáo đầu ra như thế nào để có thể thiết kế một cách hợp lý. Phải
xác định một cách rõ ràng, chính xác và đầy đủ nếu không cơ sở dữ liệu sẽ
trở nên vô dụng và như vậy ứng dụng của bạn khó có thể đáp ứng được
yêu cầ sử dụng của người dùng và yêu cầu quản lý của người quản lý.
2. Phác họa mô hình dữ liệu
a. Xác định thực thể và thuộc tính của mỗi thực thể
Công việc đầu tiên của quá trình xây dựng ứng dụng cơ sở dữ liệu là
xác định xem có những thực thể nào cần phản ánh và những thuộc tính nào
cần có để đưa vào cơ sở dữ liệu, thực chất của quá trình này là xây dựng
các bảng và trong các bảng đó thì cần có những trường nào nhằm đáp ứng
được yêu cầu đặt ra khi phân tích và xác định yêu cầu. Một số nguyên tắc
khi chọn lựa xây dựng các bảng và các cột trong bảng:
- Giảm thiểu sự trùng lặp: hoàn toàn không nên để những thông tin trùng lặp
trong một bảng và cũng không nên để thông tin trùng lặp giữa các bảng với
nhau. Ví dụ trong một bảng sinh viên thì không nên có đồng thời hai trường
cùng lưu thông tin về một thuộc tính nào đó của sinh viên, cũng không nên lưu
thông tin ngày sinh và giới tính hoặc lớp của sinh viên vào hai bảng nào đó, như
vậy khi cập nhật thì chỉ cần thực hiện trên một bảng là được tránh phải cập nhật
chỗ này xong rồi lại cập nhật trong một bảng khác, tránh được sự không nhất
quán dữ liệu khi không cập nhật kịp thời, như thế sẽ rất mất thời gian và công
sức cho người lập trình, và người sử dụng sẽ cảm thấy khó khăn khi xử lý
những vấn đề bất thường có thể xảy ra trong quá trình sử dụng.
- Tránh dữ liệu dư thừa : một bảng thì phải chứa những thông tin vừa và
đủ về một thực thể, không nên đưa những thông tin không cần thiết vào
bảng sẽ làm rối cơ sở dữ liệu và làm cho dung lượng của cơ sở dữ liệu tăng
lên. Cũng không nên đưa những thông tin mà có thể tính toán từ những
bảng khác hoặc từ các cột khác trong cùng một bảng. Ví dụ không nên đưa
vào cột điểm trung bình vì máy có thể tính toán điểm đó dựa trên thông tin
về điểm của từng môn học của sinh viên, hoặc không cần cột thành tiền vì
máy cũng có thể tính được kết quả dựa vào thông tin đơn giá và số lượng.
Tất nhiên cũng có thể đưa những thông tin này vào cơ sở dữ liệu nhưng sẽ
thực hiện việc tính toán bàng việc lập trình mà người dùng không phải can
thiệp gì.
- Tăng cường tính độc lập giữa các bảng : khi thiết kế cơ sở dữ liệu làm sao
cố gắng đến mức tối đa tách những thông tin độc lập về từng thực thể giữa
các bảng, như vật khi cần thay đổi cập nhật thông tin trong một bảng nào
đó sẽ không ảnh hưởng đến những bảng khác. Ví dụ như thông tin về
khách hàng như họ tên, số điện thoại, địa chỉ thì nên để trong bảng tách
biệt với đơn đặt hàng của khách hàng đó, như vật khi cần thay đổi thông
tin hay loại bỏ đơn đặt hàng thì cũng không ảnh hưởng gì đến thông tin của
khách hàng ở bảng thông tin khách hàng.
- Dữ liệu nguyên tố: mỗi một cột trong bảng cần phải chứa được thông tin
nguyên tố tức là thông tin ma không hoặc ít khi phải chia nhỏ hơn nữa. Ví
dụ như trường họ tên thì nên tách thành trường họ đệm và trường tên, vì
thường người ta hay sắp xếp theo theo vần abc của tên chứ ít khi người ta
sắp xếp theo thứ tự của họ đệm.
b. Xác định các mối quan hệ
Khi xác định xong các thực thể và các thuộc tính của mỗi thực thể
thì người thiết kế cần phải xác định các mối quan hệ giữa các thực thể đó,
nhằm sau này có thể trích rút và tổng hợp thông tin giữa các bảng khác
nhau nhằm đáp ứng nhanh chóng và đầy đủ những yêu cầu của người
dùng. Ví dụ thông tin về hàng hóa có thể phải tổng hợp từ nhiều bảng khác
nhau của cơ sở dữ liệu hàng hóa.
3. Duyệt lại mô hình dữ liêu
Kiểm tra và duyệt lại cơ sở dữ liệu một lần nữa nhằm phát hiện tránh
những sai sót ngay từ lúc sau khi thiết kế, vì sửa ngay lúc này thì dễ dàng
hơn nhiều so với lúc các bảng đã chứa đầy dữ liệu và ứng dụng đang được
xây dựng dở dang.
4. Xây dựng CSDL
Công việc lúc này là sẽ dùng đến một hệ quản trị cơ sở dữ liệu để
“biên dịch” mô hình thiết kế thành một cơ sở dữ liệu thực trên máy tính,
tiến hành tạo bảng, điền dữ liệu, tạo các truy vấn, module chương trình,
các form nhập, báo cáo… để xây dựng một ứng dụng hoàn chỉnh.
III. Quy trình phân tích hệ thống thông tin quản lý
1. Quy trình
Một số nguyên nhân dẫn đến việc phát triển một hệ thống thông tin
- Những vấn đề về quản lý.
- Những yêu cầu mới của nhà quản lý.
- Sự thay đổi của công nghệ.
- Thay đổi sách lược chính trị.
Những yêu cầu mới của quản lý cũng có thể dẫn đến sự cần thiết của một dự
án phát triển một hệ thống thông tin mới. Những luật mới của Chính phủ mới
ban hành, việc ký kết một hiệp tác mới, đa dạng hóa các hoạt động của doanh
nghiệp bằng sản phẩm mới hoặc dịch vụ mới. Các hành động mới của doanh
nghiệp cạnh tranh cũng có một tác động mạnh vào động cơ buộc doanh nghiệp
phải có những hành động đáp ứng.
Việc xuất hiện các công nghệ mới cũng có thể dẫn đến việc một tổ chức
phải xem lại những thiết bị hiện có trong hệ thống thông tin của mình. Khi các
HQTCSDL ra đời nhiều tổ chức phải rà soát lại các hệ thống thông tin của mình
để quyết định những gì họ phải cài đặt lại khi muốn sử dụng những công nghệ
mới này.
Cuối cùng, vai trò của những thách thức chính trị cũng không nên bỏ qua.
Nó cũng có thể là nguyên nhân dẫn đến việc phát triển một hệ thống thông tin.
Phương pháp phát triển hệ thống thông tin
Mục đích chính xác của dự án phát triển một hệ thống thông tin là có
được một sản phẩm đáp ứng nhu cầu của người sử dụng, mà nó được hòa hợp
vào trong các hoạt động của tổ chức, chính xác về mặt kỹ thuật, tuân thủ các
giới hạn về tài chính và thời gian định trước. Không nhất thiết phải theo đuổi
một phương pháp để phát triển một hệ thống thông tin, tuy nhiên không có
phương pháp ta có nguy cơ không đạt những mục tiêu định trước. Tại sao lại
như vậy? Một hệ thống thông tin là là một đối tượng phức tạp, vận động trong
một môi trường cũng rất phức tạp. Để làm chủ sự phức tạp đó, phân tích viên
cần phải có một cách tiến hành nghiêm túc, một phương pháp.
Một phương pháp được định nghĩa như một tập hợp các bước và các công cụ
cho phép tiến hành một quá trình phát triển hệ thống chặt chẽ nhưng dễ quản lý
hơn. Phương pháp được đề nghị ở đây dựa vào ba nguyên tắc cơ sở chung của
nhiều phương pháp hiện đại có cấu trúc để phát triển hệ thống thông tin. Ba
nguyên tắc đó là:
- Sử dụng các mô hình.
- Chuyển từ cái chung sang cái riêng.
- Chuyển từ mô hình vật lý sang mô hình logic khi phân tích và từ mô hình
logic sang mô hình vật lý khi thiết kế.
Nguyên tắc đi từ chung đến riêng là một nguyên tắc của sự đơn giản hóa.
Thực tế người khẳng định rằng để hiểu tốt một hệ thống thì trước hết phải hiểu
các mặt chung trước khi xem xét chi tiết. Sự cần thiết áp dụng nguyên tắc này là
hiển nhiên. Tuy nhiên những công cụ đầu tiên được sử dụng để phát triển ứng
dụng tin học cho phép tiến hành mô hình hóa một hệ thống bằng các khía cạnh
chi tiết hơn. Nhiệm vụ lúc đó sẽ khó khăn hơn.
Nhiệm vụ phát triển cũng sẽ đơn giản hơn bằng cách ứng dụng
nguyên tắc thứ ba, có nghĩa là đi từ vật lý sang logic khi phân tích và đi từ
logic sang vật lý khi thiết kế. Ta thấy, phân tích bắt đầu từ thu thập dữ liệu
về hệ thống thông tin đang tồn tại và về khung cảnh của nó. Nguồn dữ liệu
chính là những người sử dụng, các tài liệu và quan sát. Cả ba nguồn này
cung cấp chủ yếu sự mô tả mô hình vật lý ngoài của hệ thống. Tuy nhiên
vấn đề sẽ khác đi khi ta tiến hành thiết kế hệ thống mới.
Các công đoạn của quá trình phát triển hệ thống thông tin
Phát triển hệ thống thông tin có 7 công đoạn chủ yếu, mỗi công đoạn lại
bao gồm một dãy các công đoạn được liệt kê kèm theo. Cuối mỗi giai đoạn là
phải kèm theo việc ra quyết định về việc tiếp tục hay chấm dứt sự phát triển của
hệ thống. Quyết định này được trợ giúp dựa vào nội dung báo cáo mà phân tích
viên hoặc nhóm phân tích viên trình bày cho các nhà sử dụng.
a.Giai đoạn 1: Đánh giá yêu cầu.
Đánh giá yêu cầu có mục đích cung cấp cho lãnh đạo tổ chức hoặc hội đồng
giám đốc những dữ liệu đích thực để ra quyết định về thời cơ, tính khả thi và
hiệu quả của một dự án phát triển hệ thống. Giai đoạn này được thực hiện tương
đối nhanh và không đòi hỏi chi phí lớn. Nó bao gồm các công đoạn sau:
- Lập kế hoạch đánh giá yêu cầu.
Mỗi giai đoạn của quá trình phát triển hệ thống cần phải được lập kế hoạch
cẩn thận. Trong giai đoạn thẩm định dự án thì chúng ta phải làm quen với hệ
thống đang xem xét và xác định các thông tin phải thu thập cũng như các nguồn,
các phương pháp thu thập thông tin. Thông tin cần thu thập ít hay nhiều phụ
thuộc vào kích thước và độ phức tạp của hệ thống mà ta đang nghiên cứu.
Chẳng hạn, thẩm định yêu cầu phát triển hệ thống lập hóa đơn bán hàng cho
một doanh nghiệp nhỏ sẽ yêu cầu tư vấn với số lượng nguồn thông tin ít hơn so
với hệ thống quản lý nhan sự của một doanh nghiệp lớn.
Đối với những dự án lớn và có nhiều thành tham gia vào công việc thẩm
định dự án thì cần phải xác định nhiệm vụ cho từng thành viên và xác định
phương tiện kết hợp giữa các nhiệm vụ.
- Làm rõ yêu cầu.
Trong khâu này thì mục đích chính là làm cho phân tích hiểu đúng và hiểu rõ
yêu cầu của người xác định yêu cầu. Cần xác định được chính xác đối tượng
yêu cầu và thu thập những thông tin cơ bản của môi trường hệ thống và xác
định khung cảnh nghiên cứu.
Yêu cầu phát triển hệ thống của khách hàng có thể được thông báo một cách
chung chung do đó có thể dẫn đến sự nhầm lẫn. Chẳng hạn, một nhà quản lý
yêu cầu “Làm lại hệ thống quản lý đơn đặt hàng”. Nhưng thực ra ông ta muốn
sửa chữa hệ thống thu nhận đơn đặt hàng vì việc sử dụng nó chưa có hiệu quả.
Như vậy phân tích viên có thể hiểu theo nghĩa là nhà quản lý muốn làm lại toàn
bộ hệ thống nhưng thực ra thì đó là một cách hiểu sai bởi vì đơn giản chỉ là nhà
quản lý muốn thay thế hệ thống đơn đặt hàng cũ mà thôi. Vì vậy chính giai đoạn
đánh giá yêu cầu và cụ thể là công đoạn làm rõ yêu cầu cho phép xác định được
đúng yêu cầu của nhà quản lý. Khi làm rõ yêu cầu thì đầu tiên là phân tích viên
phải xác định chính xác xem người sử dụng muốn gì? Tiếp theo là phân tích
viên phải đánh giá xem liệu yêu cầu đúng như đề nghị hay có thể giảm xuống
hoặc phải tăng cường mở rộng thêm?
Làm sáng tỏ yêu cầu được thực hiện chủ yếu qua những cuộc gặp gỡ với
những người yêu cầu sau đó là với những người quản lý chính mà bộ phận của
họ bị tác động hoặc bị hệ thống nghiên cứu ảnh hưởng tới. Chúng ta cần xây
dựng lên bản phác họa đầu tiên về khung cảnh của hệ thống nghiên cứu. Xác
định khung cảnh nghiên cứu không phải là một công việc dễ dàng vì nếu phân
tích viên xác định nó quá hẹp thì sẽ có thể dẫn đến một số thành phần quan
trọng không được đưa vào trong hệ thống còn nếu xác định nó quá rộng thì có
thể lại dẫn đến những hậu quả tiêu cực mặc dù nó đảm bảo cho nhà phân tích
tính hết tới các yếu tố quan trọng của hệ thống. Nhưng mà nếu như xác định
rộng như vậy thì liệu có đủ thời gian và tiền bạc để phát triển hệ thống trong
tương lai.
Các phân tích viên phải tận dụng các cơ hội được gặp gỡ cũng như tham
khảo từ các tài liệu khác nhau có trong tổ chức của mình để có thể hoàn thiện
thêm về hệ thống. Trên thực tế thì phỏng vấn, quan sát, nghiên cứu tài liệu và sử
dụng phiếu điều tra là những công cụ được tin dùng của nhà phân tích. Chúng
cũng được dùng trong suốt quá trình phát triển dự án nhưng đặc biệt là trong
giai đoạn đánh giá yêu cầu. Tại sao lại như vậy? Bởi vì một lý do đơn giản đó là
cần phải đánh giá được khả năng thực thi của dự án, nếu trong giai đoạn đánh
giá yêu cầu mà không đánh giá được hết các khả năng có thể xảy ra của hệ
thống cũng như những yếu tố tác động bên ngoài tới hệ thống thì có thể gây ra
rất nhiều lãng phí cả về tài chính cũng như nhân lực.
- Đánh giá khả năng thực thi.
Đánh giá khả năng thực thi của dự án là tìm xem có yếu tố nào ngăn cản nhà
phân tích thực hiện, cài đặt một cách thành công giải pháp đã đề xuất hay
không? Nhưng trong thực tế quá trình phát triển hệ thống luôn luôn phải tiến
hành việc đánh giá lại. Trong đánh giá khả năng thực thi của dự án thì cần quan
tâm đến các vấn đề chính như sau:
+ Khả thi về tổ chức: đó là đòi hỏi bắt buộc phải có của mỗi hệ thống
thông tin quản lý, nếu không đáp ứng được yêu cầu này thì dự án phát triển
thông tin đó coi như không khả thi bởi vì một hệ thống thông tin quản lý luôn
luôn phải kết hợp hài hòa với môi trường tổ chức. Ngoài ra chúng ta còn phải
xem xét các ảnh hưởng của quản lý nhân sự của Nhà nước, ảnh hưởng tới quan
hệ khách hàng, ảnh hưởng xảy ra với sự trợ giúp của hệ thống thông tin mới …
+ Khả thi về mặt kỹ thuật: đòi hỏi này được đánh giá bằng cách so sánh
công nghệ hiện có hoặc có thể mua sắm được với yêu cầu kỹ thuật của hệ thống
đề xuất. Chúng ta phải đánh giá khả thi về mặt kỹ thuật bởi vì đòi hỏi về mặt kỹ
thuật là quan trọng nếu như các đòi hỏi khác đều đáp ứng được nhưng lại không
đáp ứng được yêu cầu này thì hệ thống đó không thể sử dụng được và không thể
tiếp tục phát triển được.
+ Khả thi về mặt tài chính: chúng ta xem xét khả thi về mặt tài chính đó
là đánh giá xem lợi ích thu được của hệ thống (cả về mặt hữu hình và vô hình)
có lớn hơn được chi phí đã bỏ ra để xây dựng hệ thống hay không? Nếu lợi ích
thu được từ hệ thống mà nhỏ hơn chi phí đã bỏ ra thì ta không nên tiếp tục phát
triển hệ thống.
- Chuẩn bị và trình bày báo cáo đánh giá yêu cầu.
Báo cáo cho phép các nhà quyết định cho phép dự án tiếp tục hay ngừng lại.
Báo cáo phải cung cấp một bức tranh sáng sủa và đầy đủ về tình hình và khuyến
nghị những hành động tiếp theo. Báo cáo thường được trình bày để các nhà
quyết định có thể yêu cầu làm rõ thêm các vấn đề. Sau đó là quyết định tiếp tục
hay loại bỏ dự án.
b.Giai đoạn 2: Phân tích chi tiết
Phân tích chi tiết được tiến hành sau khi có sự đánh giá thuận lợi về yêu cầu.
Những mục đích chính của phân tích chi tiết là hiểu rõ các vấn đề của hệ thống
đang nghiên cứu, xác định những nguyên nhân đích thực của những vấn đề đó,
xác định những đòi hỏi và những ràng buộc áp đặt đối với hệ thống và xác định
mục tiêu mà hệ thống thông tin mới phải đạt được. Trên cơ sở nội dung báo cáo
chi tiết sẽ quyết định tiếp tục tiến hành hay thôi phát triển một hệ thống mới. Để
làm những việc đó giai đoạn phân tích chi tiết bao gồm các công đoạn sau đây:
- Lập kế hoạch phân tích chi tiết.
Trong khi lập kế hoạch phân tích chi tiết thì ta cần phải thành lập nhóm phân
tích, phân chia nhiệm vụ, chon phương pháp, công cụ và kỹ thuật sẽ dùng và
xây dựng thời hạn cho các công việc.
+ Thành lập đội ngũ: để thành lập đội ngũ phân tích thì ta cần căn cứ vào
các yếu tố như quy mô của hệ thống, kích cỡ của tổ chức, cách thức quản lý dự
án trong tổ chức, sự sẵn sàng và kinh nghiệm của các thành viên tham gia. Với
một hệ thống lớn và phức tạp thì cần có một đội ngũ phân tích viên lớn mạnh và
dày dạn kinh nghiệm nhưng đối với các hệ thống nhỏ thì có thể là chỉ có một
phân tích viên chịu toàn bộ trách nhiệm phát triển hệ thống. Trong quá trình
phân tích chi tiết thì không thể thiếu được sự cộng tác của đại diện người sử
dụng vì đó là những người cho sử dụng cuối cùng. Điều tất nhiên là người sử
dụng hệ thống sẽ đóng vai trò quan trọng trong dự án vì chính họ sẽ sử dụng hệ
thống trong tương lai và họ có yêu cầu bảo đảm rằng hệ thống đó sẽ đáp ứng
yêu cầu của họ. Vì vậy có một số tổ chức đã cho một số người sử dụng trở thành
thành viên của nhóm phát triển hệ thống, tuy nhiên điều này không phải lúc nào
cũng xảy ra do điều kiện về tài chính cũng như nhân sự của công ty.
+ Lựa chọn phương pháp và công cụ: hiện nay tồn tại bốn phương pháp
thu thập thông tin chính là phỏng vấn, phiếu điều tra, quan sát và nghiên cứu tài
liệu của tổ chức. Các công cụ này không phải lúc nào cũng có thể sử dụng được
vì nó còn phụ thuộc vào hệ thống ta đang phát triển có lớn hay không? Trong
một số trường hợp thì phỏng vấn tỏ ra rất có ích nhưng trong một số trường hợp
nó lại tỏ ra không có hiệu quả. Chính vì vậy chúng ta cần lựa chọn phương pháp
và công cụ thu thập thông tin một cách đúng đắn.
+ Xác định thời hạn: người sử dụng luôn luôn yêu cầu hệ thống được
hoàn tất ngay sau ngày bắt đầu xây dựng hệ thống. Vì vậy chúng ta cần đảm bảo
thời hạn hoàn tất của dự án, muốn như vậy thì chúng ta cần phải phân chia công
việc một cách hiệu quả và yêu cầu cần phải tuân thủ đúng thời hạn để hệ thống
có thể đưa vào sử dụng đúng hạn.
- Nghiên cứu môi trường của hệ thống đang tồn tại.
Một hệ thống thông tin luôn luôn chịu sự ràng buộ của các yếu tố bên ngoài
và bên trong, nó không phát triển một cách độc lập. Chúng ta cần phải thu thập
những yếu tố ràng buộc đó để có thể phát triển hệ thống được nhanh chóng và
chính xác.
+ Môi trường ngoài.
+ Môi trường tổ chức.
+ Môi trường vật lý.
- Nghiên cứu hệ thống hiện tại.
Muốn phát triển dự án được tốt thì ta phải có sự hiểu biết về hệ thống đang
tồn tại đầy đủ và chi tiết. Để làm được điều này thì đội ngũ phát triển hệ thống
phải làm việc một cách nghiêm túc và hiệu quả, họ phải làm các công việc sau:
+ Thu thập thông tin về hệ thống đang tồn tại: trong công đoạn này thì đội
ngũ phát triển hệ thống phải làm đó là mô tả các bộ phận và hoạt động của
chúng và các vấn đề có liên quan như: hệ thống, vấn đề của hệ thống.
+ Xây dựng mô hình vật lý ngoài: mô hình vật lý ngoài mô tả hệ thống
như những người sử dụng nhìn thấy. Mô hình này tạo thành tư liệu về hệ thống
như nó đang tồn tại, nó cũng là công cụ để phân tích viên kiểm tra sự hiểu biết
của mình về hệ thống với người sử dụng. Xây dựng một mô hình hệ thống cần
phải có rất nhiều thông tin chi tiết. Cho dù là bao nhiêu thời gian dành cho
phỏng vấn, quan sát và nghiên cứu tài liệu và làm việc cùng với người sử dụng
thì vẫn cứ luôn tồn tại những câu hỏi mà phân tích viên chưa có câu trả lời.
Chính vì vậy phân tích viên luôn luôn phải bám sát với người sử dụng và không
được tự mình đưa ra câu trả lời mà phải lấy thông tin từ người sử dụng.
+ Xây dựng mô hình logic: mô hình logic sẽ được xây dựng từ mô hình
vật lý ngoài và từ các dữ liệu thu thập được trước đây. Sơ đồ luồng dữ liệu và từ
điển dữ liệu là tại liệu về hệ thống. Khi cần thiết thì sơ đồ cấu trúc dữ liệu
(DSD) sẽ hoàn chỉnh tài liệu đã thu thập được. Cũng như mô hình vật lý ngoài
thì mô hình logic mô tả hệ thống thực tại cho phép nhà phân tích hợp lệ hóa sự
hiểu biết của mình về hệ thống với người sử dụng và là công cụ để xác định một
số vấn đề của hệ thống cũng như nguyên nhân của chúng.
- Đưa ra chuẩn đoán và xác định các yếu tố giải pháp.
Trong công đoạn này thì bao gồm ba công việc chính mà phân tích viên phải
thực hiện đó là:
+ Đưa ra chuẩn đoán: công việc mà phân tích phải làm trong giai đoạn
này không phải là đơn giản nhưng nó lại là một công đoạn rất quan trọng để biết
được hệ thống đang phát triển có bị mắc các lỗi không? Phân tích viên chỉ nên
đưa ra các chuẩn đoán mà không nên sửa chữa nó vì nó không nằm trong lĩnh
vực chuyên môn của mình. Trong đại đa số các trường hợp nghiên cứu hệ
thống, nguyên nhân của các vấn đề là hỗn hợp. Có một số trường hợp liên quan
đến hệ thống thông tin, một số khác gắn liền với nhiều lĩnh vực, cả quản trị
nhân lực cũng như quản trị tác nghiệp quản lý. Việc đưa ra chuẩn đoán là một
hoạt động phức tạp đòi hỏi một cách tiếp cận chặt chẽ. Phân tích viên phải biết
tận dụng mọi công cụ để thực hiện nhiệm vụ này.
+ Xác định mục tiêu mới của hệ thống: các nguyên nhân và các vấn đề
của hệ thống đã được xác định thì phân tích viên sẽ tiến hành cùng với người sử
dụng xác định mục tiêu của hệ thống mới hay hệ thống đã được sửa chữa. Mục
đích chính của công việc này đó là hướng dẫn cho việc thiết kế hệ thống mới và
đánh giá hệ thống mới sau khi được cài đặt.
+ Xác định các yếu tố của giải pháp: các mục tiêu của hệ thống mới gắn
chặt với các vấn đề của hệ thống còn các yếu tố giải pháp lại gắn chặt với
nguyên nhân của các vấn đề. Nếu thời gian trả lời của hệ thống là quá lâu vì vấn
đề năng lự của máy tính thì yếu tố giải pháp trước nhất là phải nâng cao năng
lực đó.
- Đánh giá lại tính khả thi.
Sau khi các công đoạn trên hoàn thành thì ta đã có rất nhiều thông tin về hệ
thống cũng như những nguyên nhân và giải pháp cho các vấn đề mắc phải của
hệ thống. Trong công đoạn này thì mục đích chính vẫn là đánh giá tính khả thi
trong tổ chức, tài chính, kỹ thuật và thời hạn.
Đối với mỗi một yếu tố trong giải pháp thì phân tích viên phải xác định loại
công nghệ cần có để thực thi giải pháp. Việc đánh giá lại tính khả thi của dự án
được thực hiện bằng việc so sánh những thông tin đó với những ràng buộc về tổ
chức, kỹ thuật, tài chính và thời hạn đã được xác định trước đây.
- Thay đổi đề xuất của dự án.
Trong khi thực hiện đánh giá lại tính khả thi của dự án thì nhóm phân tích
viên đã phác họa một đề xuất của dự án và đã được người sử dụng chấp nhận.
Với những thông tin đã thu thập được qua các công đoạn trên và việc đánh giá
lại tính khả thi của dự án thì chúng ta cần xem xét và sửa đổi lại để xuất của dự
án. Chúng ta cần phải cố gắng cung cấp cho những người ra quyết định những
thông tin và bức tranh rõ nhất có thể được về dự án, về nhiệm vụ phải thực hiện,
về chi phí và về các ràng buộc về thời gian thực hiện hệ thống thông tin mới.
- Chuẩn bị và trình bày báo cáo phân tích chi tiết.
Báo cáo chi tiết là một tài liệu rất quan trọng nó sẽ phục vụ cho việc ra quyết
định tiếp tục hay ngừng dự án. Báo cáo chi tiết phải thể hiện được những điều
căn bản mà nhóm phân tích đã tìm thấy được, nó không thể được thể hiện để
đến khi người nghe không nắm rõ được ý nghĩa. Báo cáo phải được thể hiện rõ
ràng và có thể đính kèm các trang phụ lục mô tả tình hình chi tiết hơn.
c.Giai đoạn 3: Thiết kế logic
Giai đoạn này nhằm xác định tất cả các thành phần logic của một hệ thống
thông tin, cho phép loại bỏ được các vấn đề của hệ thống thực tế và đạt được
những mục tiêu đã được thiết lập ở giai đoạn trước. Mô hình logic của hệ thống
mới sẽ sản sinh ra (nội dung của Output), nội dung của cơ sở dữ liệu (các tệp,
các quan hệ giữa các tệp), các xử lý và hợp thức hóa sẽ phải thực hiện (các xử
lý) và các dữ liệu sẽ được nhập (các Input). Mô hình logic sẽ phải được những
người sử dụng xem xét và chuẩn y. Thiết kế logic bao gồm những công đoạn
sau:
- Thiết kế cơ sở dữ liệu.
Thiết kế cơ sở dữ liệu là việc xác định yêu cầu thông tin của người sử dụng
hệ thống thông tin mới. Công việc này rất phức tạp do đó cần phải có những
kinh nghiệm trong thiết kế cơ sở dữ liệu thì mới có thể thiết kế cơ sở dữ liệu
một cách chính xác được. Muốn thiết kế cơ sở dữ liệu chính xác thì phân tích
viên phải xác định được phương pháp thiết kế hợp lý, nhưng mà trong thực tế
thì không tồn tại một phương pháp nào thật sự hữu ích cho mọi hoàn cảnh.
Những nguyên nhân để giải thích cho sự khó khăn về thiết kế cơ sở dữ liệu
được chia thành bốn loại chính sau:
+ Đặc trưng của nhiệm vụ mà hệ thống thông tin phải trợ giúp.
+ Đặc trưng của hệ thống thông tin.
+ Đặc trưng của người sử dụng.