You are on page 1of 20

Giáo trình Phân tích thiết Kế Hệ Thống 1

LỜI NÓI ĐẦU

Chào mừng các bạn đến với môn học Phân tích thiết kế thống, một môn học rất thú vị, cần
thiết trong việc xây dựng một ứng dụng thực tế. Nó cũng sẽ trang bị cho các bạn những kiến
thức cần thiết dùng để viết phần lý thuyết của đề án tốt nghiệp. Tài liệu sẽ cung cấp những
kỹ năng cần thiết trong phân tích thiết kế một hệ thống thông tin quản ly.

Tài liệu này một phần được dịch và biên soạn lại từ quyển sách Practical Data Modelling
For Database Design của hai tác giả Renzo D’Orazio & Gunter Happel và từ Giáo trình
Phân tích Thiết kế Hệ Thống của Nguyễn Văn Vỵ

Tài liệu trình bày tường tận chi tiết các kỹ năng cần thiết trong phân tích thiết kế một hệ
thống thông tin, từ việc trình bày các nguyên tắc cần thiết để phân biệt một khái niệm là tập
thực thể hay thuộc tính đến việc trình bày hình ảnh dữ liệu bằng mô hình thực thể kết hợp.
Nó cũng đào sâu vào các khía cạnh tập thực thể cha con, mối kết hợp một ngôi, mối kết
hợp ba ngôi, nhiều mối kết hợp giữa các tập thực thể. Tài liệu có nhiều ví dụ cụ thể dễ hiểu
từ đơn giản đến phức tạp.

Dù đã cố gắng hết sức, tài liệu cũng không thể tránh khỏi những thiếu sót, rất mong sư đóng
góp của các bạn.

Mọi góp ý xin gởi về Th.S. Trần Đắc Phiến Bộ môn Hệ thống thông tin trường Đại học
Công nghiệp Tp Hồ Chí Minh.

Chúng tôi chân thành cám ơn sự động viên và đóng góp ý kiến của các bạn đồng nghiệp
trong quá trình biên soạn tài liệu.
Giáo trình Phân tích thiết Kế Hệ Thống 2

M ỤC L ỤC

Chương 1 : PHƯƠNG PHÁP LUẬN PHÁT TRIỂN HỆ THỐNG THÔNG TIN.................................................................. 3

Chương 2 : KHẢO SÁT HIỆN TRẠNG XÁC ĐỊNH YÊU CẦU HỆ THỐNG...................................................................... 21

Chương 3 : MÔ HÌNH NGHIỆP VỤ CỦA HỆ THỐNG.......................................................................................................... 32

Chương 4 : MÔ HÌNH HÓA QUÁ TRÌNH XỬ LÝ.................................................................................................................. 42

Chương 5 : MÔ HÌNH HÓA LOGIC TIẾN TRÌNH ................................................................................................................ 57

Chương 6 : GIỚI THIỆU VỀ MÔ HÌNH HÓA DỮ LIỆU....................................................................................................... 65

Chương 7 : MÔ HÌNH QUAN HỆ.............................................................................................................................................. 79

Chương 8 : PHÂN TÍCH DỮ LIỆU VÀ YÊU CẦU CHỨC NĂNG ........................................................................................ 89

Chương 9 : TÍNH BẮT BUỘC, KHÔNG BẮT BUỘC TRONG MỐI KẾT HỢP ................................................................. 96

Chương 10 : TẬP THỰC THỂ CHA VÀ TẬP THỰC THỂ CON ........................................................................................ 104

Chương 11 : MỞ RỘNG KHÁI NIỆM MỐI KẾT HỢP ........................................................................................................ 113

Chương 12 : SỰ CHUẨN HÓA ................................................................................................................................................ 123

CÁC TRƯỜNG HỢP NGHIÊN CỨU...................................................................................................................................... 132

----oOo----
Giáo trình Phân tích thiết Kế Hệ Thống 3

Chương 1 : PHƯƠNG PHÁP LUẬN PHÁT TRIỂN HỆ THỐNG THÔNG TIN

1.1. Khái niệm và thống thông tin


Phát triển một HTTT là một quá trình tạo ra một HTTT cho một tổ chức. Quá trình đó bắt đầu từ khi
nêu vấn đề cho đến khi đưa hệ thống vào vận hành trong tổ chức. Với thực tiễn của nhiều năm xây dựng
các HTTT, những cơ sở phương pháp luận phát triển HTTT đã không ngừng được hoàn thiện và bổ sung
cho phù hợp với sự phát triển của công nghệ và các điều kiện môi trường đã biến đổi.
1.1.1 Khái niệm và định nghĩa
Có nhiều định nghĩa về HTTT khác nhau. Về mặt kỹ thuật, HTTT được xác định như một tập hợp các
thành phần được tổ chức để thu thập, xử lý, lưu trữ, phân phối và biểu diễn thông tin và thông tin trợ giúp
việc ra quyết định và kiểm soát trong một tổ chức. Ngoài các chức năng kể trên, nó còn có thể giúp người
quản lý phân tích các vấn đề, cho phép nhìn thấy được một cách trực quan những đối tượng phức tạp, tạo
ra các sản phẩm mới.
Dữ liệu (data) là những mô tả về sự vật, con người và sự kiện trong thế giới mà chúng ta gặp bằng
nhiều cách thể hiện khác nhau.
Thông tin (Information) cũng nhu dữ liệu, thông tin có rất nhiều cách định nghĩa khác nhau. Một định
nghĩa bao trùm hơn cả xem thông tin là dữ liệu được đặt vào một ngữ cảnh với một hình thức thích hợp và
có lợi cho nhười sử dụng cuối cùng.
Các hoạt động thông tin (information activitties) là các hoạt động xảy ra trong một HTTT, bao gồm cả
việc nắm bắt, xử lý, phân phối, lưu trữ, trình diễn dữ liệu và kiểm tra các hoạt động trong HTTT.
Xử lý (processing) được hiểu là các hoạt động lên dữ liệu như tính toán, so sánh, sắp xếp, phân loại và
tổng hợp…
1.1.2 Hệ thống thông tin quản lý
Trong các HTTT, HTTT quản lý được biết đến sớm và phổ biến nhất. Đối tượng phục vụ của HTTT
quản lý thực sự rộng hơn rất nhiều so với ý nghĩa của bản thân tên gọi của nó. HTTT quản lý là sự phát
triển và sử dụng HTTT có hiệu quả trong một tổ chức (Keen, Peter GW.- một người đứng đầu trong lĩnh
vực nầy).

Hình 1.1. Các yếu tố cấu thành của HTTT


Năm yếu tố cấu thành của HTTT quản lý xét ở trạng thái tĩnh là: thiết bị tin học (máy tính, các thiết bị,
các đường truyền…- phần cứng), các chương trình (phần mềm), dữ liệu, thủ tục-quy trình và con người
(hình 1.1). Các định nghĩa về HTTT trên đay giúp cho việc định hướng quá trình phân tích, thiết kế hệ
thống. Tuy vậy, sự mô tả này là chưa đủ, cần đi sâu phân tích hệ thống cụ thể mới có sự hiểu biết đầy đủ về
hệ thống thực và cho phép xây dựng cơ sở dữ liệu, các chương trình và việc bố trí các thành phần bên trong
nó.
1.1.3. Phân loại hệ thống thông tin
Dưới đây trình bày một cách phân loại HTTT với các loại sau :
a. Hệ thống tự động văn phòng
Giáo trình Phân tích thiết Kế Hệ Thống 4

Hệ thống tự động văn phòng là HTTT gồm máy tính với các hệ phần mềm như hệ xử lý văn bản, hệ
thư tín điện tử, hệ thống lập lịch làm việc, bảng tính, chương trình trình diễn báo cáo cùng các thiết bị khác
như máy Fax, điện thoại tự ghi,… chúng được thiết lập nhằm tự động hóa công việc ghi chép, tạo văn bản
và giao dịch bằng lời, bằng văn bản làm tăng năng suất cho những người công tác văn phòng.
b. Hệ thống truyền thông
Hệ thống truyền thông giúp cho việc thực hiện các trao đổi thông tin giữa các thiết bị dưới các hình
thức khác nhau với những khoảng cách xa dễ dàng, nhanh chóng và có chất lượng. Hệ thống này đóng vai
trò phục vụ cho các HTTT quản lý, hệ trợ giúp điều hành và các hệ khác hoạt động hiệu quả.
c. Hệ thống xử lý giao dịch
Hệ thống xử lý giao dịch la một HTTT nghiệp vụ. Nó phục vụ cho hoạt động của tổ chức ở mức vận
hành. Nó thực hiện việc ghi nhận các giao dịch hàng ngày cần thiết cho hoạt động nghiệp vụ của tổ chức
để giao dịch với khách hàng, nhà cung cấp, những người cho vay vốn…như hệ thống lập hóa đơn bán
hàng. Nó là HTTT cung cấp nhiều dữ liệu nhất cho các hệ thống khác trong tổ chức.
d. Hệ cung cấp thông tin thực hiện
Hệ thống này có từ rất sớm, nó cung cấp các thông tin thực hiện các nhiệm vụ trong tổ chức. Nó là hệ
máy tính nhằm tổng hợp và làm các báo cáo về quá trình thực hiện công việc ở các bộ phận trong những
khoảng thời gian nhất định. Các tổng hợp, báo cáo được thực hiện theo mẫu với nội dung, quy trình tổng
hợp rất đơn giản, rõ ràng và có định hạn thời gian.
e. Hệ thống thông tin quản lý
Hệ thống thông tin quản lý trợ giúp các hoạt động quản lý của tổ chức như lập kế hoạch, kiểm tra thực
hiện, tổng hợp và làm các báo cáo, làm các quyết định quản lý trên cơ sở các quy trình thủ tục cho trước.
Nhìn chung, nó sử dụng dữ liệu từ các hệ xử lý giao dịch và tạo ra các báo cáo định kỳ hay theo yêu cầu.
Hệ này không mềm dẻo và ít có khả năng phân tích…
f. Hệ trợ giúp quyết định
Hệ trợ giúp quyết dịnh là hệ máy tính được sử dụng ở mức quản lý của tổ chức. Nó có nhiệm vụ tổng
hợp các dữ liệu và tiến hành các phân tích bằng các mô hình để trợ giúp cho các nhà quản lý ra những
quyết định có quy trình (bán cấu trúc) hay hoàn toàn không có quy trình biết trước (không có cấu trúc). Nó
phải sử dụng nhiều loại dữ liệu khác nhau nên các cơ sở dữ liệu phải được tổ chức và liên kết tốt. Hệ còn
có nhiều phương pháp xử lý (các mô hình khác nhau) được tổ chức để có thể sử dụng linh hoạt. Các hệ này
thường được xây dựng chuyên dụng cho mỗi tổ chức cụ thể mới đạt hiệu quả cao.
g. Hệ chuyên gia
Hệ chuyên gia là một hệ trợ giúp ở mức chuyên sâu. Ngoài những kiến thức, kinh nghiệm của các
chuyên gia, và các luật suy diễn nó còn có thể trang bị các thiết bị cảm nhận để thu các thông tin từ những
nguồn khác nhau. Hệ có thể xử lý, và dựa vào các luật suy diễn để đưa ra những quyết định rất hữu ích và
thiết thực. Sự khác biệt cơ bản của hệ chuyên gia với hệ hổ trợ quyết định là ở chỗ: Hệ chuyên gia yêu cầu
những thông tin xác định đưa vào để đưa ra quyết định có chất lượng cao trong một lĩnh vực hẹp.
h. Hệ trợ giúp điều hành
Hệ trợ giúp điều hành được sử dụng ở mức quản lý chiến lược của tổ chức. Nó được thiết kế hướng sự
trợ giúp cho các quyết định không cấu trúc bằng việc làm ra các đồ thị phân tích trực quan và các giao dịch
rất thuận tiện với môi trường. Hệ được thiết kế để cung cấp hay chắt lọc các thông tin đa dạng lấy từ môi
trường hay từ các hệ thông tin quản lý, hệ trợ giúp quyết định…
i. Hệ trợ giúp làm việc theo nhóm
Trong điều kiện nhiều người cùng tham gia thực hiện một nhiệm vụ, hệ này cho phương tiện trợ giúp
sự trao đổi trực tuyến các thông tin giữa các thành viên trong nhóm, làm rút ngắn sự ngăn cách giữa họ cả
về không gian và thời gian.
k. Hệ thống thông tin tích hợp
Một HTTT của tổ chức thường gồm một vài loại HTTT cùng được khai thác. Có như vậy mới đáp ứng
được mục tiêu của tổ chức. Điều này cho thấy, cần phải tích hợp nhiều HTTT khác loại để đảm bảo sự
hoạt động hiệu quả của tổ chức. Việc tích hợp các HTTT trong một tổ chức có thể tiến hành theo hai cách:
xây dựng một hệ thông tin tích hợp tổng thể hoặc tích hợp các hệ đã có bằng việc ghép nối chúng nhờ các
“cầu nối”. Việc sử dụng các hệ tích hợp tổng thể thường tổ chức đến một hệ thống tập trung, một sư phối
Giáo trình Phân tích thiết Kế Hệ Thống 5

hợp và kiểm soát chặt chẽ. Nhưng chúng cũng tạo ra sức ỳ về quản lý, và sự quan liêu trong hoạt động và
khó thay đổi. Khi sự tập trung của một HTTT đã đạt đến một điểm bão hòa, nhiều tổ chức bắt đầu cho các
bộ phận của mình tiếp tục phát triển những hệ con với các đặc thù riêng.
1.1.4. Tại sao một tổ chức cần phát triển HTTT
Việc xây dựng HTTT thực sự là một giải pháp cứu cánh trong cuộc cạnh tranh cùng các đối thủ của
nhiều doanh nghiệp và nó được xem đó là một giải pháp hữu hiệu cho nhiều vấn đề mà tổ chức gặp phải.
Thực tế cho thấy, một tổ chức thường xây dựng HTTT khi họ gặp phải những vấn đề làm cản trở hoặc hạn
chế không cho phép họ thực hiện thành công những điều mong đợi, hay muốn có những ưu thế mới, những
năng lực mới để có thể vượt qua những thách thức và chớp cơ hội trong tương lai. Cuối cùng là do yêu cầu
của đối tác.
Xây dựng HTTT không đơn thuần chỉ là một giải pháp kỹ thuật. Nó là một bộ phận quan trọng trong
chiến lược tổng thể phát triển của tổ chức, tức là cần tiến hành đồng thời, đồng bộ với nhiều giải pháp
khác. Vì vậy cần có một lộ trình để chuyển dịch tổ chức cả về mặt tổ chức và quản lý từ trạng thái hiện tại
đến một trạng thái tương lai để thích hợp với một HTTT mới được thiết lập.
1.1.5. Những nội dung cơ bản của việc phát triển HTTT
Ba vấn đề lớn liên quan đến quá trình phát triển một HTTT là :
- Các hoạt động phát triển một HTTT và trình tự thực hiện chúng (được gọi là phương pháp luận phát
triển hệ thống)
- Các phương pháp, công nghệ và công cụ được sử dụng.
- Tổ chức và quản lý quá trình phát triển một HTTT
Sau đây sẽ trình bày lần lượt các nội dung này.
1.2. Tiến hóa của cách tiếp cận phát triển HTTT
Phát triển HTTT dựa trên máy tính bắt đầu từ những năm 1950. Cho đến nay đã hơn năm mươi năm
phát triển. Nhiều công nghệ mới về phần cứng, phần mềm không ngừng phát triển, nhiều vấn đề mới của
thực tế luôn luôn đặt ra. Vì vậy, cách tiếp cận phát triển một HTTT cũng thay đổi. Ta có thể kể đến bốn
cách tiếp cận chính để phát triển một HTTT:
- tiếp cận định hướng tiến trình,
- tiếp cận định hướng dữ liệu,
- tiếp cận định hướng cấu trúc và
- tiếp cận định hướng đối tượng.
Trừ cách tiếp cận đầu tiên, mỗi cách tiếp cận sau đều gắn với việc giải quyết những vấn đề đặt ra và sự
phát triển của một công nghệ mới.
1.2.1. Tiếp cận định hướng tiến trình
Thời gian đầu khi máy tính mới ra đời, tốc độ máy rất chậm, bộ nhớ làm việc còn rất nhỏ nên người ta
tập trung vào các quá trình mà phần mềm phải thực hiện. Vì vậy, hiệu quả xử lý các chương trình trở thành
mục tiêu chính. Tất cả sự cố gắng lúc đó là tự động hóa các tiến trình đang tồn tại (như mua hàng, bán
hàng…) của những bộ phận chương trình riêng rẽ. Lúc này người ta đặc biệt quan tâm đến các thuật toán
(phần xử lý) để giải được bài toán đặt ra và cách sử dụng khéo léo bộ nhớ làm việc rất hạn hẹp. Các dữ liệu
được tổ chức trong cùng một tập tin với chương trình.

Hình 1.2. Mối quan hệ giữa dữ liệu và ứng dụng theo cách tiếp cận truyền thống

Sau này, với sự tiến bộ về khả năng lưu trữ, các tập tin dữ liệu được tổ chức tách biệt với chương trình.
Mặc dù vậy, thiết kế một HTTT vẫn dựa trên trình tự mà nó sẽ thực hiện. Đối với cách tiếp cận này, phần
lớn các dữ liệu được lấy trực tiếp từ các nguồn của nó qua từng bước xử lý. Những phần khác nhau của
Giáo trình Phân tích thiết Kế Hệ Thống 6

HTTT làm việc theo những sơ đồ khác nhau và tốc độ khác nhau. Kết quả là, tồn tại một số tập tin dữ liệu
tách biệt trong những ứng dụng và chương trình khác nhau, và dẫn đến có nhiều tập tin trong những ứng
dụng khác nhau có thể chứa cùng các phần tử dữ liệu như nhau (hình 1.2). Mỗi khi một phần tử riêng lẻ
thay đổi hay có sự thay đổi trong một tiến trình xử lý thì kéo theo phải thay đổi các tập tin dữ liệu tương
ứng. Việc tổ hợp các tập tin dữ liệu chuyên biệt cũng rất khó khăn, vì mỗi tập tin mang tên và định dạng dữ
liệu khác nhau. Cách tiếp cận này tạo ra sự dư thừa dữ liệu, hao phí qua nhiều công sức cho việc thu thập
và tổ chức dữ liệu, và các dữ liệu sử dụng kém hiệu quả do không thể chia sẻ giữa các ứng dụng với nhau.
1.2.2. Tiếp cận định hướng dữ liệu
Tiếp cận này tập trung vào việc tổ chức các dữ liệu một cách lý tưởng. Khi sự quan tâm chuyển sang
dữ liệu, phạm vi ứng dụng đã mở rộng đến nhiều quá trình của HTTT, nó bao gồm nhiều bộ phận của một
tổ chức: như nhà cung cấp, những người điều hành, khách hàng, đối thủ cạnh tranh. Hai ý tưởng chính của
cách tiếp cận này la:
-Tách dữ liệu ra khỏi các quá trình xử lý
-Tổ chức cơ sở dữ liệu chung cho các ứng dụng

Hình 1.3. Cấu trúc hệ thống hướng dữ liệu

Công nghệ quản lý dữ liệu tiến bộ cho phép biểu diễn dữ liệu thành các tập tin riêng biệt và tổ chức
chúng thành những cơ sở dữ liệu dùng chung. Một cơ sở dữ liệu là một tập các dữ liệu logic với nhau được
tổ chức làm dễ dàng việc thu thập, lưu trữ và lấy ra của nhiều người dùng trong một tổ chức. Nhờ việc tách
dữ liệu để tổ chức riêng và tập trung, người ta có thể áp dụng các công cụ toán học (lý thuyết tập hợp và
logic) để tổ chức dữ liệu một cách tối ưu về cả phương diện lưu trữ (tiết kiệm không gian nhớ) cũng như về
mặt sử dụng: giảm dư thừa, tìm kiếm thuận lợi, lấy ra nhanh chóng và sử dụng chung. Việc tổ chức dữ liệu
như trên cho phép cơ sở dữ liệu phục vụ cho nhiều ứng dụng độc lập khác nhau.
1.2.3. Tiếp cận định hướng cấu trúc
Tiếp cận định hướng cấu trúc như một bước phát triển tiếp tục của định hướng dữ liệu. Nhiều tài liệu
thường gộp hai cách tiếp cận này làm một và gọi là tiếp cận hướng dữ liệu chức năng. Tiếp cận hướng cấu
trúc hướng vào việc cải tiến cấu trúc cá chương trình dựa trên cơ sở modun hóa để dễ theo dõi, quản lý,
bảo trì. Phát triển hướng cấu trúc đề cập đến quá trình sử dụng một cách có hệ thống và tích hợp các công
cụ và kỹ thuật để trợ giúp thiết kế phân tích HTTT theo hướng modun hóa.
Các phương pháp luận hướng cấu trúc sử dụng một hay một số công cụ để xác định luồng thông tin và
các quá trình xử lý. Việc xác định và chi tiết hóa dần các luồng dữ liệu và các tiến trình là ý tưởng cơ bản
của phương pháp luận từ trên xuống (Top-down). Từ mức o: mức chung nhất, quá trình tiếp tục làm mịn
cho đến mức thấp nhất: mức cơ sở. Ở đó từ các sơ đồ nhận được ta có thể bắt đầu tạo lập các chương trình
với các modun thấp nhất (modun lá)
Giáo trình Phân tích thiết Kế Hệ Thống 7

Hình 1.4. Cấu trúc hệ thống định hướng cấu

Phát triển có cấu trúc đã cung cấp một tập hợp đầy đủ các đặc tả hệ thống không dư thừa được phát
triển theo quá trình logic và lặp lại. Nó cho ta nhiều lợi ích so với cách tiếp cận trước đó:
a) Làm giảm sự phức tạp (nhờ chia nhỏ, modun hóa)
b) Tập trung vào ý tưởng (vào logic, kiến trúc trước khi thiết kế)
c) Chuẩn mực hóa (theo các phương pháp, công cụ đã cho)
d) Hướng về tương lai (kiến trúc tốt, modun hóa dễ bảo trì)
e) Giảm bớt tính nghệ thuật trong thiết kế

1.2.4.Tiếp cận định hướng đối tượng


Tiếp cận định hướng đối tượng là cách mới nhất để phát triển HTTT. Cách tiếp cận này dựa trên ý
tưởng xây dựng một hệ thống gồm các đơn thể được gọi là đối tượng liên kết với nhau bằng mối quan hệ
truyền thông. Các đối tượng thường tương ứng với các thực thể trong HTTT như khách hàng, nhà cung
cấp, hợp đồng, thỏa thuận thuê. Mục tiêu của cách tiếp cận này là làm cho các phân tử của hệ thống trở
nên độc lập tương đối với nhau và có thể dùng lại. Điều đó đã cải thịên cơ bản chất lượng của hệ thống và
làm tăng năng suất hoạt động phân tích và thiết kế.

Hình 1.5 Cấu trúc hệ thống hướng đối tượng


Giáo trình Phân tích thiết Kế Hệ Thống 8

Ý tưởng khác nằm phía sau của cách tiếp cận này là sự thừa kế và bao gói thông tin. Các đối tượng có
cùng cấu trúc và hành vi được tổ chức thành từng lớp. Kế thừa cho phép tạo ra các lớp mới có chung với
các lớp đang tồn tại một số đặc trưng và có thêm các đặc trưng mới. Nhờ vậy mà sự mô tả lớp mới chỉ liên
quan đến những đặc trưng mới. Do bao gói cả dữ liệu và xử lý trong một đối tượng làm cho hoạt động của
nó không ảnh hưởng đến các đối tượng khác. Rõ ràng rằng, với cơ chế bao gói thông tin và liên kết qua
truyền thông, hệ thống được “lắp ghép” và “tháo dỡ” đơn giản, dễ bảo trì, dễ sử dụng lại và có thể đạt
được quy mô tùy ý. Cách tiếp cận mới này đáp ứng được nhũng yêu cầu và thách thức cơ bản hiện nay là
phát triển các hệ thống phần mềm có quy mô lớn, phức tạp hơn, nhanh hơn, dễ bảo trì và chi phí chấp nhận
được.

1.4. Vòng đời phát triển một thống thông tin


HTTT được xây dựng là sản phẩm của một loạt các hoạt động được gọi là phát triển hệ thống. Quá
trình phát triển một HTTT kể từ lúc nó sinh ra đến khi nó tàn lụi được gọi là vòng đời phát triển hệ thống.
Vòng đời phát triển các hệ thống là một phương pháp lụân cho việc phát triển các HTTT. Nó được đặc
trưng bằng một số pha chủ yếu phân biệt nhau của quá trình đó: phân tích, thiết kế và triển khai HTTT.
Tác giả của nhiều cuốn sách hay nhiều tổ chức phát triển các HTTT thường sử dụng những mô hình vòng
đời khác nhau và mỗi vòng đời có thể gồm từ ba đến hai chục pha khác nhau cho một phương pháp luận
phát triển cụ thể.
Một trong nhiều mô hình vòng đời đã sắp xếp các bước phát triển hệ thống theo mõ hình bậc thang với
các mũi tên nối mỗi bước với bước sau nó. Cách biểu diễn này được xem như tương ứng với mô hình thác
nước. Mô hình này sẽ được sử dụng để trình bày về phương pháp luận chung - một quá trình phát triển một
hệ thống với các pha: khởi tạo và lập kế hoạch, phân tích, thiết kế, triển khai, vận hành và bảo trì HTTT :
ở mỗi pha đều có cái vào và cái ra. Chúng thể hiện mối quan trọng giữa các pha với nhau. Ở cuối mỗi pha
cần đạt đến một cột mốc được đánh dấu bằng những tài liệu cần được tạo ra để các bộ phận quản lý xem
xét, đánh giá và phê duyệt. Đó là một đặc trưng của quá trình quản lý sự phát triển.
1.4.1. Khởi tạo và lập kế hoạch dự án
Việc hình thành dự án như một yêu cầu bắt buộc để có thể tiến hành những bước tiếp theo của quá trình
phát triển: Không có dự án thì cũng không có việc xây dựng HTTT
Hai hoạt động chính trong khởi tạo và lập kế hoạch dự án là phát hiện ban đầu chính thức về những
vấn đề của hệ thống và các cơ hội của nó; trình bày rõ lý do vì sao tổ chức cần hay không cần phát triển
HTTT. Tiếp đến là xác định phạm vi cho hệ thống dự kiến. Một kế hoạch dự án phát triển HTTT được dự
kiến về cơ bản được mô tả theo dòng đời phát triển hệ thống, đồng thời cũng đưa ra ước lượng thời gian và
các nguồn lực cần thiết cho việc thực hiện nó. Hệ thống dự kiến phải giải quyết được những vấn đề đặt ra
của tổ chức hay tận dụng được những cơ hội có thể trong tương lai mà tổ chức gặp, và cũng phải xác định
chi phí phát triển hệ thống và lợi ích mà nó sẽ mang lại cho tổ chức.

Hình 1.3. Mô hình thác nước của vòng đời hệ thống


Giáo trình Phân tích thiết Kế Hệ Thống 9

Trong pha này cần xác định cái gì là cần thiết cho hệ thống mới hay hệ thống sẽ được tăng cường. Tại
đây các nhu cầu HTTT tổng thể của tổ chức được xác định, nó thể hiện ra bằng các dịch vụ mà hệ thống dự
kiến cần phải thực hiện. Chúng đựoc phân tích, thiết lập sự ưu tiên và sắp xếp lại rồi chuyển thành một kế
hoạch để phát triển HTTT, trong đó bao gồm cả lịch trình phát triển hệ thống và các chi phí tương ứng. Tất
cả nội dung trên đây thường được gọi là nghiên cứu hệ thống. Sau khi nghiên cứu hệ thống phải đưa ra một
kế hoạch dự án cơ sở. Kế hoạch dự án này cần được phân tích đảm bảo tính khả thi trên ba mặt:
Khả thi kỹ thuật: xem xét khả năng kỹ thuật hiện có (về thiết bị, về công nghệ và khả năng làm chủ
công nghệ) đủ đảm bảo thực hiện các giải pháp công nghệ thông tin được áp dụng để phát triển hệ thống.
Khả thi kinh tế: thể hiện trên các nội dung sau:
- Khả năng tài chính của tổ chức cho phép thực hiện dự án: bao gồm nguồn vốn và số vốn có thể
huy động trong thời hạn cho phép.
- Lợi ích mà hệ thống được xây dựng mang lại, ít nhất là đủ bù đắp chi phí phải bỏ ra xây dựng nó
(chi phí đầu tư ban đầu).
- Những chi phí thường xuyên cho hệ thống hoạt động (chi phí vận hành) là chấp nhận được đối với
tổ chức.
Khả thi về thời gian: dự án được phát triển trong thời gian cho phép, tiến trình thực hiện dự án được chỉ
ra trong giới hạn đã cho.
Khả thi pháp lý và hoạt động: Hệ thống có thể vận hành trôi chảy trong khuôn khổ của tổ chức và điều
kiện quản lý mà tổ chức có và trong khuôn khổ của pháp lý hiện hành. Ngoài các phân tích trên người ta
còn phân tích một số khả thi khác.
Khi dự án được chấp nhận, thì đối tượng tổng quát của dự án như phạm vi của dự án, kế hoạch triển
khai dự án phải được vạch ra và thông qua để triển khai.
1.4.2. Phân tích hệ thống
Phân tích hệ thống nhằm xác định nhu cầu thông tin của tổ chức. Nó sẽ cung cấp những dữ lịêu cơ sở
cho việc thiết kế HTTT sau này. Trước đó cần tiến hành khảo sát hiện trạng của tổ chức thuộc phạm vi liên
quan đến dự án. Những dữ liệu thu được phục vụ cho việc xây dựng mô hình quan niệm về hệ thống hiện
thời: mô hình bao gồm mô hình dữ liệu và mô hình xử lý của hệ thống cùng các tài liệu bổ sung khác.
Phân tích bao gồm một vài pha nhỏ: trước hết xác định yêu cầu: các nhà phân tích làm việc cùng với
người sử dụng để xác định cái gì người dùng chờ đợi từ hệ thống dự kiến. Tiếp theo là nghiên cứu yêu cầu
và cấu trúc nó phù hợp với mối quan hệ bên trong, bên ngoài và những giới hạn đặt lên các dịch vụ cần
thực hiện. Thứ 3 là tìm giải pháp cho các thiết kế ban đấu để đạt được yêu cầu đặt ra, so sánh để lựa chọn
giải pháp thiết kế tốt nhất đáp ứng các yêu cầu với chi phí, nguồn lực, thời gian và kỹ thuật cho phép để tổ
chức thông qua.
1.4.3. Thiết kế hệ thống
Thiết kế là tìm ra các giải pháp công nghệ thông tin để đáp ứng các yêu cầu đặt ra ở trên. Đặc tả giải
pháp cho các yêu cầu ở pha trước được chuyển thành đặc tả hệ thống logic rồi là đặc tả vật lý. Từ các khía
cạnh của hệ thống, thiết kế được xem xét bắt đầu từ màn hình tương tác, các cái vào và cái ra (các báo cáo)
đến cơ sở dữ liệu và các tiến trình xử lý chi tiết bên trong. Pha thiết kế này gồm hai pha nhỏ: thiết kế logic
và thiết kế vật lý.
Thiết kế logic. Về mặt lý thuyết, thiết kế hệ thống logic không gắn với bất kỳ phần cứng và phần mềm
của hệ thống nào. Thiết kế logic tập trung vào các khía cạnh nghiệp vụ của hệ thống thực vì vậy một vài
phương pháp luận vòng đời còn gọi pha này là pha thiết kế nghiệp vụ. Các đối tượng và quan hệ được mô
tả ở đây là những khái niệm, các biểu tượng mà không phải các thực thể vật lý.
Thiết kế vật lý là quá trình chuyển mô hình logic trừu tượng thành bản thiết kế vật lý hay các đặc tả kỹ
thuật. Những phần khác nhau của hệ thống được gắn vào bằng những thao tác và thiết bị vật lý cần thiết để
tiện lợi cho việc thu thập dữ liệu, xử lý và đưa ra thông tin cần thiết cho tổ chức.
Trong pha thiết kề vật lý cần phải quyết định lựa chọn ngôn ngữ lập trình, hệ cơ sở dữ liệu, cấu trúc
tập tin tổ chức dữ liệu, những phần cứng, hệ điều hành và môi trường mạng cần được xây dựng. Sản phẩm
cuối cùng của pha thiết kế là đặc tả hệ thống vật lý ở dạng như nó tồn tại trên thực tế, sao cho các nhà lập
trình và kỹ sư phần cứng có thể dễ dàng chuyển thành chương trình và cấu trúc hệ thống.
Giáo trình Phân tích thiết Kế Hệ Thống 10

1.4.4. Triển khai hệ thống


Trong pha này, đặc tả hệ thống được chuyển thành hệ thống vận hành được, sau đó được kiểm tra và
đưa vào sử dụng. Bước triển khai bao gồm việc lập ra các chương trình, tiến hành kiểm thử, lắp đặt thiết
bị, cài đặt chương trình và chuyển đổi hệ thống.
a.Tạo lập các chương trình
Trước hết cần lựa chọn phần mềm (platfrorm: hệ điều hành, hệ quản trị cơ sở dữ liệu, ngôn ngữ lập
trình, phần mềm mạng. Trong nhiều trường hợp, ngôn ngữ lập trình có thể chính là ngôn ngữ của hệ quản
trị cơ sở dữ liệu hay của hệ ứng dụng được sử dụng). Sau đó chọn các phầm mềm đóng gói. Cuối cùng
chuyển các đặc tả thiết kế còn lại thành các phần mềm (các chương trình) cho máy tính. Chương trình được
tiến hành kiểm thử cho đến khi đạt yêu cầu đề ra. Quá trình kiểm thử bao gồm kiểm thử các modun chức
năng (kiểm thử đơn vị), các hệ thống con (kiểm thử tích hợp), sự hoạt động của cả hệ thống (kiểm thử hệ
thống) và nghiệm thu cuối cùng (kiểm thử chấp nhận).
b. Cài đặt và chuyển đổi hệ thống
Quá trình chuyển đổi bao gồm việc cài đặt các chương trình trên hệ thống phần cứng đang tồn tại hay
hệ thống phần cứng mới lắp đặt, chuyển đổi toàn bộ hoạt động của tổ chức cũ sang hoạt động với hệ thống
mới (bao gồm việc chuyển đổi dữ liệu, sắp xếp đội ngũ cán bộ trên hệ thống mới và đào tạo ngưới sử dụng,
khai thác hệ thống). Chuẩn bị các tài lịêu chi tiết thuyết minh về việc khai thác và sử dụng hệ thống (cả về
mặt kỹ thuật, về hệ thống và tại nơi làm việc của người sử dụng). Nó cần được hoàn tất trong thời gian
chuyển đổi để phục vụ việc đào tạo và đảm bảo hoạt động hàng ngày (bảo trì) của hệ thống sau này.
1.4.5. Vận hành và bảo trì
Khi hệ thống được lắp đặt và chuyển đổi toàn bộ, giai đoạn vận hành bắt đầu. Trong thời gian này,
người sử dụng và các chuyên viên kỹ thuật vận hành cần đánh giá xem hệ thống đáp ứng các mục tiêu đề
ra ban đầu hay không, đề xuất những sửa đổi, cải tiến, bổ sung.
Khi hệ thống đi vào hoạt động, đôi khi người dùng thường mong muốn hệ thống phải làm việc một
cách hoàn hảo và các chức năng của hệ thống làm việc tốt hơn. Mặt khác, tổ chức thường xuyên có những
yêu cầu để đáp ứng những thay đổi nảy sinh. Vì vậy, các nhà thiết kế và lập trình cần phải thực hiện những
thay đổi hệ thống ở mức độ nhất định (mà không phải tất cả) để đáp ứng nhu cầu người sử dụng cũng nhu
những đề nghị của tổ chức. Những thay đổi này là cần thiết để làm cho hệ thống hoạt động hiệu quả.
Bảo trì không phải là một pha tách biệt mà là sự lặp lại các pha của một vòng đời khác, đòi hỏi phải
nghiên cứu và áp dụng những thay đổi cần thiết. Tổng số thời gian và sự nỗ lực dành cho bảo trì phụ thuộc
rất lớn vào sự hoàn thiện của các pha trước thuộc vòng đời. Khi chi phí bảo trì trở nên quá lớn, yêu cầu
thay đổi của tổ chức là đáng kể, khả năng đáp ứng của hệ thống cho tổ chức và người dùng trở nên hạn
chế, những vấn đề cho thấy đã đến lúc phải kết thúc hệ thống cũ và bắt đầu một vòng đời khác. Thông
thường, sự phân biệt giữa việc bảo trì có qui mô lớn và sự phát triển một hệ thống mới là không rõ ràng.
1.5. Các phương pháp khác nhau phát triển HTTT
1.5.1. Vòng đời phát triển hệ thống truyền thống
Vòng đời phát triển hệ thống truyền thống là phương pháp luận ra đời sớm nhất và đến nay vẫn được sử
dụng rộng rãi. Theo phương pháp này, HTTT có một vòng đời tương tự như một thực thể bất kỳ: có giai
đoạn bằt đầu, giai đoạn phát triển, giai đoạn trưởng thành và giai đoạn kết thúc. Quá trình phát triển HTTT
gồm sáu giai đoạn: xác định dự án, nghiên cứu hệ thống, thiết kế, lập chương trình, cài đặt, và áp dụng
(hình 1.6). Mỗi giai đoạn gồm các hoạt động cơ bản cần phải hoàn thành trước khi bắt đầu giai đoạn sau.
Các giai đoạn được thực hiện lần lượt với một sự phân công lao động rõ ràng giữa những người sử dụng và
các chuyên gia kỹ thuật.
Giáo trình Phân tích thiết Kế Hệ Thống 11

Triển
khai
Hình 1.6. Mô tả phát triển HTTT theo vòng đời truyền thống

a. Các pha phát triển


Về cơ bản nội dung các bước ở đây gần giống với nội dung của mô hình chung phát triển hệ thống đã
trình bày ở trên. Ở giai đoạn phân tích thường hình thành một báo cáo gọi là nghiên cứu hệ thống. Trong
pha thiết kế đặc biệt nhấn mạnh tới các đặc tả hình thức hóa, cho nên rất nhiều công cụ thiết kế và làm tài
liệu khác nhau đươc sử dụng, như các sơ đồ luồng dữ liệu, sơ đồ khối cấu trúc chương trình, các mô hình
và thuật toán toán học…
b. Nhận xét và đánh giá
Phương pháp vòng đời hệ thống thích hợp để xây dựng các hệ thống xử lý giao dịch lớn (TPS) và các
hệ thông tin quản lý (MIS) mà ở đó đòi hỏi hệ thống có cấu trúc và xác định chặt chẽ. Nó cũng thích hợp
cho các hệ thống kỹ thuật phức tạp như hệ thống phóng tàu vũ trụ, kiểm soát hoạt động hàng không.
Những áp dụng như vậy đòi hỏi một sự phân tích hình thức hóa cao và chặt chẽ, các đặc tả được xác định
trước và việc kiểm tra sát sao trong quá trình xây dựng hệ thống. Vì những lý do đó, phương pháp này
được xem là định hướng tài liệu. Tuy nhiên, phương pháp này có chi phí cao, thời gian thực hiện dài và
không mềm dẻo. Khối lượng các tài liệu lần đầu là rất lớn và sẽ tăng lên rất nhiều nếu như các yêu cầu và
các đặc tả phải làm lại. Rõ ràng rằng, phương pháp này không thích hợp với phần lớn các hệ thống vừa và
nhỏ mà ta thường gặp vào những năm 1990 và thế kỷ 21 sau này.
1.5.2. Phương pháp làm bản mẫu
a. Nội dung phương pháp
Phương pháp này ít hình thức hóa hơn phương pháp vòng đời truyền thống. Thay vào việc tạo ra nhiều tài
liệu đặc tả, phương pháp làm mẫu nhanh chóng tạo ra một mô hình làm việc thực nghiệm để người sử dụng
xem xét, đánh giá. Khi bản mẫu hoàn thiện nó được đem sử dụng cho các bước tiếp theo.
b. Các bước của phương pháp làm bản mẫu.
Bước 1. xác định các yêu cầu của người sử dụng.
Chuyên viên thiết kế hệ thống làm việc với người sử dụng để nắm được yêu cầu thông tin cơ bản cho việc
tạo ra bản mẫu.
Bước 2. Phát triển bản mẫu đầu tiên.
Người thiết kế tạo nhanh một bản mẫu bằng cách sử dụng công cụ phần mềm thế hệ thứ tư (chẳng hạn
công cụ CASE)
Giáo trình Phân tích thiết Kế Hệ Thống 12

Khảo sát, thu thập thông tin sơ bộ

Xây dựng nhanh mẫu ban đầu

Làm mịn (phát triển) mẫu

Khảo sát, lấy ý kiến người sử dụng


Hạn chế

Đánh giá,
Loại bỏ mẫu tồi
Quyết định

Mẫu hoàn chỉnh

Sử dụng thêm Hệ thống đã Hoàn chỉnh dự án từ


Chưa Đã
phương pháp khác hoàn chỉnh ? các mẫu thu được

Hình 1.7. Sơ đồ phương pháp làm bản mẫu

Bước 3. Sử dụng bản mẫu làm việc với người sử dụng


Bản mẫu được xây dựng đem trình diễn hay cho người sử dụng thử nghiệm. Người sử dụng biết được
bản mẫu đáp ứng nhu cầu của họ như thế nào và đưa ra những đề nghị bổ sung và cải tiến.
Bước 4. Hoàn thiện và tăng cường bản mẫu.
Người thiết kế thay đổi bản mẫu để đáp ứng đòi hỏi mới của người sử dụng và làm mịn hơn bản mẫu
một cách phù hợp trên cơ sở sử dụng các thông tin bổ sung khác. Bước 3 và 4 được lặp lại cho đến khi bản
mẫu thỏa mãn yêu cầu đặt ra. Khi bản mẫu được chấp nhận là hoàn tất đặc tả cuối cùng của ứng dụng.
Làm bản mẫu đặc biệt có lợi khi mà một số yêu cầu thông tin hay giải pháp cho nó còn chưa được xác
định. Nó cũng rất có lợi khi thiết kế giao diện người dùng của HTTT (màn hình nhập liệu, màn hình kiểm
tra, báo cáo). Bản mẫu dễ làm cho người sử dụng phản ứng tự nhiên với những phần của hệ thống mà
người ta sẽ làm việc với nó. Từ đó đóng góp bổ sung làm mau chóng tạo ra hệ thống, và hạn chế được
những chi phí quá đáng của sự phát triển và những sai sót thiết kế. Phương pháp làm mẫu thích hợp nhất
với những hệ thống nhỏ hay những hệ thống lớn có thể chia nhỏ để làm mẫu từng phần.
Việc làm mẫu nhanh cho phép đi qua những bước cơ bản trong phát triển hệ thống một cách dễ dàng,
khuyến khích đội phát triển tiến nhanh lên phía trước đạt đến mô hình làm việc mà không cần nắm bắt
ngay tất cà các nhu cầu thông tin cơ bản.
Nhiều công cụ làm mẫu cho phép chuyển bản mẫu thành hệ thống vận hành một cách tự động. Khi kết
thúc, nếu bản mẫu làm việc hợp lý, công việc quản lý không đòi hỏi phải làm lại chương trình, thiết kế hay
thử nghiệm toàn diện các kết quả của hệ thống. Mặt khác, chính sự tiện lợi này làm khó khăn cho vịêc bảo
trì sau này. Khi mà bản mẫu không có cấu trúc chặt chẽ, việc đảm bảo kỹ thuật có thể không hiệu quả. Vì
bản mẫu được xây dựng với ít công sức, người quản lý có thể nghĩ rằng việc thử nghiệm có thể dành cho
người dùng và những sai sót nhỏ có thể chậm được sửa đổi hơn. Vì hệ thống rất dễ thay đổi, việc làm tài
liệu có thể không kịp thời.
Các mức độ làm bản mẫu khác nhau
Giáo trình Phân tích thiết Kế Hệ Thống 13

Tùy theo công cụ và cách thức tiến hành mà kết quả làm mẫu rất khác nhau:
- Khi tiến hành làm mẫu bằng tay hay bằng một công cụ bình thường, kết quả làm mẫu chỉ đơn thuần cho
một đặc tả yêu cầu.
- Khi làm mẫu với các công cụ chuyên dụng, mọi thông tin được thu thập và lưu trữ trong kho dữ liệu
chung. Bản mẫu cuối cùng là một đặc tả yêu cầu đã được hình thức hóa có thể dùng để tạo sinh ra
chương trình cho hệ thống và vận hành ngay được.
- Một cách làm mẫu ở trình độ cao hơn là sử dụng công cụ chuyên dụng cùng với các thành phần có thể sử
dụng lại có sẵn. Trong trường hợp này, mẫu nhận được cho ta một số modun có thể vận hành ngay được.
Khi liên kết các modun làm mẫu nhận được ta có một hệ thống ban đầu với những chức năng nhất định,
có thể đáp ứng những dịch vụ cơ bản của hệ thống đặt ra.
Ngoài việc xác định nhanh chóng và chính xác yêu cầu, làm bản mẫu tạo ra những cơ sở cho việc ký kềt
hợp đồng, làm khách hàng tin tưởng vào hệ thống được xây dựng, giúp cho việc huấn luyện người dùng hệ
thống ngay từ khi làm bản mẫu.
1.5.3. Mô hình xoắn ốc
Trong những năm gần đây người ta quan tâm đến mô hình xoắn ốc nhiều hơn cả. Mô hình được Boehm
đưa ra năm 1988. Mô hình này đặc biệt quan tâm đến việc phân tích yếu tố rủi ro (định hướng rủi ro). Quá
trình phát triển được chia thành nhiều bước lặp, mỗi bước bước bắt đầu bằng việc lập kế hoạch, phân tích
rủi ro rồi tạo nguyên mẫu, hoàn thiện và phát triển hệ thống, duyệt lại, và cứ thế tiếp tục (hình 1.8)
a. Nội dung phương pháp
Quá trình phát triển hệ thống được tiến hành qua một loạt các bước lặp. Mỗi bước lặp gồm bốn hoạt
động chính:
- Lập kế hoạch: xác định mục tiêu, giải pháp và ràng buộc
- Phân tích rủi ro: phân tích các phương án và xác định/ giải quyết rủi ro
- Kỹ nghệ: phát triển sản phẩm “mức tiếp theo”
- Đánh giá của khách hàng: khẳng định kết quả của kỹ nghệ

Hình 1.8. Mô hình xoắn ốc

Với mỗi lần lặp xoắn ốc (bắt đầu từ trung tâm), các phiên bản được hoàn thiện và bổ sung dần. Nếu
phân tích rủi ro chỉ ra rằng yêu cầu là không chắc chắn thì làm bản mẫu có thể được sử dụng trong góc
phần tư kỹ nghệ. Tại một vòng xoắn ốc, phân tích rủi ro phải đi đến quyết định “tiến hành tiếp hay dừng”.
Nếu rủi ro quá lớn thì có thể đình chỉ dự án. Ngược lại phải có giải pháp cho nó.
Giáo trình Phân tích thiết Kế Hệ Thống 14

Phần kỹ nghệ (góc đông-nam) sử dụng ở mỗi vòng lặp có thể là cách tiếp cận vòng đời hay làm bản
mẫu. Khi các hoạt động phát triển tăng lên, vòng xoáy chuyển xa hơn ra khỏi trung tâm, ta có được một
phiên bản phần mềm mới bao gồm một phạm vi rộng hơn các chức năng của hệ thống cần xây dựng.
b. Đánh giá và nhận xét
Mô hình xoắn ốc là một cách tiếp cận thực tế để phát triển các hệ thống phần mềm quy mô lớn. Trong
đó làm bản mẫu xem như một cơ chế làm giảm bớt rủi ro… Hiệu quả của nó là trông thấy được. Quá trình
lặp và đánh giá rủi ro ở mỗi bước là cơ chế tốt đảm bảo sự thành công của việc xây dựng HTTT (vì rủi ro ở
mỗi bước là nhỏ, dễ nhận ra, dễ khắc phục và nếu xãy ra cũng không ảnh hưởng lớn đến phần đã xây
dựng). Tuy nhiên, việc đánh giá đúng rủi ro cần có chuyên gia và vì thế chi phí cần thiết sẽ không thích
hợp với dự án nhỏ. Hơn thế nữa, sự thay đổi linh hoạt trong phát triển không dễ thực hiện khi mà hợp đồng
đã được ký kết và xác định.
1.5.4. Phương pháp sử dụng phần mềm đóng gói
HTTT có thể phát triển bằng cách sử dụng các gói phần mềm ứng dụng. Đó là những chương trình ứng
dụng viết sẵn ở dạng mã máy dành cho những lớp bài toán cụ thể. Các gói phần mềm ứng dụng phát triển
rất mạnh vì nhiều ứng dụng là chung cho tất cả các tổ chức.
Sau khi phân tích, thiết kế, người ta chọn các gói phần mềm thích hợp. Khi đó tổ chức không cần viết
chương trình, mà chỉ cần cài đặt nó để sử dụng. Việc sử dũng các gói phần mềm ứng dụng đã thực sự rút
ngắn thời gian và chi phí cho việc phát triển một hệ thống mới và chi phí quản lý quá trình phát triển hệ
thống. Người bán còn cung cấp các công cụ hỗ trợ, bảo trì và tăng cường hệ thống làm cho nó có khả năng
phát triển theo kịp tiến bộ công nghệ. Việc cung cấp các tài liệu về phần mềm đóng gói là rất đầy đủ và kịp
thời. Các phần mềm thường hoạt động rất ổn định.
Nhược điểm của gói phần mềm ứng dụng là không đạt được chất lượng kỹ thuật và chức năng cho các
ứng dụng đa mục tiêu và có nhiều đặc thù. Để đáp ứng tối đa nhu cầu thị trường, các gói phần mềm ứng
dụng chỉ đáp ứng những nhu cầu chung nhất của các tổ chức. Vì vậy, nó không thể thay thế các phần mềm
cơ bản. Việc tạo ra các tự chọn, các chương trìng mang tính chuyển đổi phía trước hay phía sau (front-or-
back program: hình 1.9) của các phần xử lý chức năng trong phần mềm đóng gói cho phép khách hàng có
thể làm thích nghi hay sử dụng những chức năng thích hợp của các gói phần mềm ứng dụng đáp ứng yêu
cầu đa dạng của tổ chức. tuy nhiên, đôi khi những cải tiến của khách hàng hay các chương trình bổ sung
này lại quá đắt hay làm giảm các lợi thế vốn có của các gói phần mềm.

Hình 1.9. Mô hình chung nhất sử dụng phần mềm đóng gói

Để chọn được các phần mềm đóng gói thích hợp, cần đánh giá nó theo nhiều tiêu chuẩn khác nhau. Các
mặt sau đây cần được xem xét khi chọn gói phần mềm:
- Chức năng: Gói chương trình có thể đáp ứng được những chức năng gì?
- Tính mềm dẻo: Gói phần mềm có dễ cải biên, dễ mở rộng không? Những đặc trưng gì có thể dành cho
khách hàng thực hiện, mở rộng?
- Tính thân thiện: Chương trình có dễ sử dụng và dễ kiểm tra hay không? dễ nhớ, dễ học, dễ thao
tác,…?...
- Yêu cầu về kỹ thuật: Cấu hình máy tối thiểu? Số đĩa, băng để lưu trữ? Loại hình dữ liệu và cấu trúc
tập tin sử dụng?...
Giáo trình Phân tích thiết Kế Hệ Thống 15

- Cài đặt và bảo trì: Có khó khăn gì để chuyển đổi từ hệ thống hiện hành sang hẽ thống làm việc với
gói phần mềm? Đội ngũ cán bộ tối thiểu cần để đảm bảo việc bảo trì và trợ giúp khai thác là bao
nhiêu? Trình độ nào?...
- Tài liệu: Tài lịêu cho người dùng, tài liệu hệ thống được cung cấp gồm những tài liệu gì? Nó có đầy
đủ , dễ đọc?
- Chất lượng người bán: Người bán có kinh nghiệm áp dụng trong lĩnh vực nào? Những tiện ích mua
hàng mà người bán cung cấp trong và sau bán hàng là gì? Doanh số bán và những ghi nhận về tài
chính của người bán? Những khách hàng của người bán là những ai?
- Giá thành: Giá bán, giá thuê phần mềm? Giá mua bao gồm những khoản mục gì? (các modun bổ
sung, tiện ích thường xuyên, thời gian tư vấn, đào tạo, trợ giúp cài đặt). Bảo trì miễn phí bao lâu?, chi
phí hoạt động thường xuyên là bao nhiêu?...
Khi sử dụng gói phần mềm, việc thiết kế hệ thống bao gồm cả vịêc đánh giá năng lực gói phần mềm và
nỗ lực để nắm bắt được các đặc trưng của nó. Theo kinh nghiệm, ngay các gói phần mềm tốt nhất cũng chỉ
có thể đáp ứng 70% yêu cầu của tổ chức. Với 30% yêu cầu còn lại bản thân tổ chức phải xây dựng phần bổ
sung. Tất cả các chi phí trên đây được tính toán để so sánh với dự án phát triển nó.
1.5.5. Phát triển hệ thống do người sử dụng thực hiện
Trong nhiều tổ chức, người dùng cuối cùng phát triển một phần đáng kể HTTT với sự giúp đỡ chút ít
hay không chính thức của các chuyên gia tin học. Hiện tượng này gọi là phát triển hệ thống do người sử
dụng cuối cùng. Nhiều hệ thống do người sử dụng cuối cùng phát triển đã mang lại kết quả nhanh hơn so
với phương pháp vòng đời. Mặc dù còn nhiều hạn chế, việc phát triển hệ thống do người sử dụng thực hiện
đem lại rất nhiều lợi ích cho tổ chức.
Do người dùng phát triển các phần hệ thống một cách độc lập nên có thể tạo ra những vấn đề không thể
tránh khỏi: Phần lớn tổ chức không có một chiến lược phát triển HTTT để đảm bảo đáp ứng được các mục
tiêu đặt ra và các chuẩn mực thích hợp với chức năng của họ. Khi hệ thống được phát triển nhanh thường
thiếu công nghệ tiên tiến và thử nghiệm hình thức hoá, tài liệu không được xây dựng thích hợp và kịp thời.
Việc tạo ra các ứng dụng riêng của mình và các tập dữ liệu sẽ làm tăng khó khăn kiểm soát các dữ liệu.
Sự phát triển hệ thống do người dùng thực hiện cần có một trung tâm thông tin trợ giúp. Dịch vụ mà
trung tâm cần thực hiện bao gồm:
- Đánh giá các phần cứng và phần mềm mới.
- Tư vấn những công cụ và công nghệ thích hợp.
- Đào tạo sử dụng ngôn ngữ, công cụ đòi hỏi trình độ cao.
- Tạo sinh và cải tiến các bản mẫu.
- Giúp đỡ gỡ rối chương trình, truy nhập dữ liệu.
- Hỗ trợ làm các ứng dụng, các báo cáo, các truy vấn đòi hỏi ngôn ngữ chương trình bậc cao.
- Giúp liên hệ với các nhóm cùng nghiệp vụ để trao đổi kinh nghiệm nghề nghiệp và trợ giúp ứng dụng
mỗi khi cần.
1.5.6. Phương pháp thuê bao
Một tổ chức có thể thuê một công ty chuyên nghiệp xây dựng và vận hành hệ thống để cung cấp dịch vụ
cho họ. Hình thức này ngày càng trở nên phổ biến và thích hợp với nhiều tổ chức có những điều kiện đặc
thù. Những tổ chức cung cấp dịch vụ bên ngoài loại này thường có những lợi thế do quy mô lớn (năng lực
của họ được chia sẻ cho nhiều khách hàng khác nhau, họ có điều kiện đầu tư đổi mới thiết bị và nâng cao
chất lượng dịch vụ thường xuyên)
Việc thuê ngoài cho phép rổ chức nhận được dịch vụ nhanh chóng, chỉ phải trả phần chi phí cho dịch vụ
mà họ sử dụng, không cần phải bỏ ra chi phí đầu tư. Nhược điểm của phương pháp này là khi tổ chức
không còn trách nhiệm đối với sự phát triển và hoạt động củaHTTT, nó có thể mất khả năng kiểm soát
được các chức năng của HTTT và bị khống chế mỗi khi có vấn đề trong quan hệ với họ. Sự phụ thuộc này
sẽ dẫn đến chi phí cao hay mất định hướng phát triển về kỹ thuật. Những bí mật thương mại và thông tin
lợi thế có thể bị lọt ra ngoài. Bản thân tổ chức không có điều kiện xây dựng và phát triển tiềm lực của
mình.
Giáo trình Phân tích thiết Kế Hệ Thống 16

1.6. Xây dựng thành công HTTT


a. Khái niệm về HTTT được xây dựng thành công
Một HTTT tin như thế nào được xem là thành công? Đó là câu hỏi khó trả lời, và ngay cả đối với một
HTTT cụ thể, mọi người không dễ dàng đồng ý với nhau về đánh giá và hiệu quả của nó. Tuy nhiên, người
ta cũng đã đưa ra một số tiêu chuẩn làm cơ sở cho việc đánh giá một HTTT. Một hệ thống thông tin được
xem là có hiệu quả nếu góp phần nâng cao chất lượng hoạt động quản lý tổng thể (1) của một tổ chức được
thể hiện trên các mặt:
- Đạt được các mục tiêu thiết kế đề ra.
- Chi phí vận hành là chấp nhận được.
- Tin cậy, đáp ứng được các chuẩ mực của một HTTT hiện hành.
- Sản phẩm có giá trị xác đáng.
- Dễ học, dễ nhớ và dễ sử dụng.
- Mềm dẻo, dễ bảo trì: có thể kiểm tra, mở rộng ứng dụng và phát triển tiếp được.
b. Những vấn đề đặt ra của việc xây dựng HTTT
Rất tiếc là có tới 75% các hệ thống thông tin lớn và phức tạp đã hoạt động yếu kém, không đạt được
mục tiêu đề ra ban đầu. Những yếu kém của hệ thống thường liên quan đến các mặt sau:
- Kỹ năng của người phát triển và năng lực của tổ chức.
- Phương pháp, pháp lụân và công cụ sử dụng.
- Quản lý dự án.
Đi sâu hơn những vấn đề nêu trên là nguyên nhân cốt yếu nằm ở khâu phân tích và thiết kế.
c. Tự động hóa các hoạt động phát triển hệ thống
Trước đây, phát triển HTTT xem như hoạt động mang tính nghệ thụât. Mỗi nhà phát triển áp dụng các
kỹ thụât theo cách riêng. Sự thiếu thống nhất trong kỹ thuật và công nghệ làm khó khăn cho vịêc tích hợp
hệ thống, tích hợp dữ lịêu, và cấu trúc những hệ thống mới cũng như khó khăn cho vịêc bảo trì về sau.
Để giải quyết những vấn đề trên đây, các phương pháp và phương pháp luận cùng các công cụ tự động
hóa đi theo đã được xây dựng. “Kỹ nghệ phần mềm trợ giúp bằng máy tính” – CASE (Computer-Aided
Softuvare Engineering) đề cập đến các công cụ phần mềm được các nhà phân tích hệ thống sử dụng nhằm
trợ giúp và tự động hóa các hoạt động của quá trình phát triển hệ thống. nhờ vậy đã nâng cao năng suất và
cải tiến chất lượng tổng thể của HTTT được xây dựng.
d. Quản lý dự án phát triển HTTT
Quản lý dự án là một mặt quan trọng của vịêc phát triển HTTT. Mục tiêu quản lý dự án là đảm bảo cho
các dự án phát triển HTTT đáp ứng được sự mong đợi của khách hàng và được thựn hịên trong phạm vi
những giới hạn cho phép (như ngân sách, thời gian…). Các dự án thành công yêu cầu phải quản lý tốt các
nguồn lực, các hoạt động và các nhịêm vụ đặt ra. Quản lý một dụ án là sự tiến hành có kế hoạch một loạt
các hoạt động có liên quan với nhau để đạt một mục tiêu, có điểm bắt đầu và có điểm kết thúc. Nó bao bòm
bốn pha: khởi tạo dự án, lập kế hoạch dự án, thực hịên dự án, kết thúc dự án. Trong mỗi pha này lại bao
gồm một loạt công vịêc cùng các kỹ năng yêu cầu tương ứng. Nội dung này được nghiên cứu trong các tài
liệu riêng.
1.7. Sơ đồ tổng quát quá trình phân tích thiết kế HTTT
Sơ đồ tổng quát quá trình phân tích thiết kế được mô tả trong sơ đồ hình 1.10. Trong đó chỉ ra các giai
đoạn khác nhau của quá trình này. Trong mỗi giai đoạn chỉ rõ các công cụ (mô hình) được sử dụng, các sản
phẩm đặc trưng của nó cũng như mối quan hệ logic và sư phụ thuộc lẫn nhau giữa chúng. Quá trình gồm
bốn giai đoạn:
- Khảo sát hiện trạng của hệ thống.
- Xác định mô hình nghiệp vụ.
- Phân tích hệ thống và đặc tả yêu cầu.
- Thiết kế hệ thống.
a. Khảo sát hịên trạng hệ thống
Trong phần này sẽ trình bày các bước thực hiện quá trình khảo sát và các công cụ được sử dụng để thu
thập thông tin, dữ lịêu.
b. Xác định mô hình nghiệp vụ của hệ thống
Giáo trình Phân tích thiết Kế Hệ Thống 17

Trong phần này tiến hành mô tả các thông tin dữ lịêu của tổ chức ở dạng trực quan và có tính hệ thống
hơn. Nhờ vậy, khách hàng có thể hiểu được và qua đó có thể bổ sung và làm chính xác hóa hoạt động
nghiệp vụ của tổ chức hịên thời.
Một loạt các công cụ như được sử dụng ở đây như: biểu đồ ngữ cảnh, biểu đồ phân rã chức năng, ma
trận các yếu tố quyết định thành công, ma trận thực thể chức năng, bảng danh sách các hồ sơ dữ liệu, mô
tả chi tiết các chức năng nghiệp vụ. Các công cụ này giúp làm rõ hơn thực trạng của tổ chức, xác định
phạm vi miền nghiê cứu phát triển hệ thống. Từ đó đi đến quyết định xây dựng một dự án về phát triển
HTTT, đưa ra được các yêu cầu cho hệ thống cần xây dựng.
Giáo trình Phân tích thiết Kế Hệ Thống 18

Hồ sơ tài liệu
Khảo sát khảo sát,
tổng hợp

Danh sách các


Biểu đồ Biểu đồ phân
thực thể dữ
ngữ cảnh rã chức năng
liệu

Xác định
yêu cầu Các ma trận
phân tích

Biểu đồ ngữ Biểu đồ phân Danh sách


Mô tả chi tiết
cảnh miền rã chức năng thực thể dữ Từ điển dữ liệu
chức năng
nghiên cứu rút gọn chi tiết liệu rút gọn

Phân Mô hình thực


Mô tả chi tiết Biểu đồ luồng
tích yêu thể mối quan
tiến trình dữ liệu vật lý
cầu hệ (E-R)

Biểu đồ luồng
Thiết kế Đặc tả logic Thiết kế biểu Mô hìenh dữ
dữ liệu logic
logic mỗi tiến trình mẫu báo cáo liệu quan hệ
các mức

Xác định luồng


Thiết kế an
Thiết kế Đặc tả môdun hệ thống. Đặc Đặc tả tương Đặc tả CSDL
toàn và bảo
vật lý chương trình tả cấu trúc hệ tác giao diện vật lý
mật hệ thống
thống

c. Phân tích làm rõ yêu cầu và đặc tả yêu cầu


Phần này làm rõ yêu cầu bằng cách sử dụng các mô hình và công cụ hình thức hóa đơn, như các mô
hình luồng dữ liệu để mô tả các tiến trình xử lý, mô hình dữ lịêu thực thể - và các mối quan hệ của nó, đặc
Giáo trình Phân tích thiết Kế Hệ Thống 19

tả các giao diện và báo cao. Đến đây ta có được mô hình khái niệm của hệ thống. Với mô hìng này, một lần
nữa khách hàng có thể bổ sung để làm đầy đủ hơn các yêu cầu về HTTT cần xây dựng.
d. Thiết kế hệ thống logic và hệ thống vật lý
Trong bước này cần tìm các giải pháp công nghệ cho các yêu cầu đã được xác định ở bước phân tích.
Các công cụ ở đây mang tính hình thức hóa cao cho phép đặc tả các bản thiết kế để có thể ánh xạ thành các
cấu trúc chương trình, các chương trình, các cấu trúc dữ liệu và các giao diện tương tác. Các công cụ ở đây
bao gồm mô hình dữ liệu quan hệ, mô hình luồng hệ thống, các phương pháp đặc tả nội dung xử lý của
mỗi tiến trình, các hướng dẫn thiết kế cụ thể…

Câu hỏi cuối chương


1. Khi nào một tổ chức cần phát triển HTTT? Vì sao?
2. Để phát triển HTTT đạt kết quả, tổ chức cần được tiến hành những hoạt động gì? Mối quan hệ giữa
chúng và vịêc phát triển HTTT?
3. Có những cách tiếp cận nào để phát triển HTTT? Đặc trưng (ưu và nhược điểm) của mối cách tiếp cận
đó?
4. Những nội dung chính của phát triển HTTT là gì?
5. Vòng đời phát triển một hệ thống là gì? Phương pháp luận vòng đời phát triển hệ thống gồm những pha
nào?
6. Trình bày nội dung các pha của vòng đời phát triển hệ thống?
7. Tính khả thi của một dự án cần gồm những mặt chính nào?
8. Để phát triển hệ thống cần có tài liệu gì sau khi có dự án khả thi?
9. Trình bày các phương pháp khác nhau phát triển HTTT? Ưu và nhược điểm của mỗi phương pháp?
10. Có mấy mức độ làm mẫu? Đặc trưng của mỗi mức đó là gì? Các lợi ích của phương pháp làm mẫu?
11. Nêu vai trò hoạt động của quản lý dự án trong quá trình phát triển HTTT? Các nội dung của quản lý dự
án?
12. Trình bày các bước tổng quát của qua trình phân tích và thiết kế HTTT? Các mô hình, các sản phẩm và
mối quan hệ của chúng<

Phụ lục
Khung của một kế hoạch dự án cơ sở
1.0. Giới thiệu
A. Tổng quan về dự án: Mục tiêu và phạm vi của dự án, tính khả thi, yêu cầu nguồn lực và lịch trình thời
gian. Thêm vào cần trình bày tóm tắt các vấn đề đặt ra, môi trường trong đó hệ thống hoạt động, các
ràng buộc và hạn chế đặt lên dự án.
B. Các đề xuất: Đưa ra những vấn đề quan trọng phát hiện khi lập dự án và các đề xuất các hoạt động cần
thực hiện.
2.0. Mô tả hệ thống
A. Các phương án có thể: Trình bày tổng hợp về một số cấu hình hệ thống có thể có.
B. Mô tả hệ thống lựa chọn: Mô tả phương án hệ thống được lựa chọn. Trình bày các thông tin vào, các
nhiệm vụ thực hiện và các thông tin kết quả đầu ra.
3.0.Đánh giá khả thi
A. Phân tích kinh tế: Cho một đánh giá về mặt kinh tế của dự án bằng cách sử dụng phân tích chi phí và
lợi ích thu được.
B. Phân tích kỹ thuật: Trình bày các yếu tố rủi ro kỹ thuật có liên quan, đánh giá tỷ lệ rủi ro có thể xãy ra
so với tổng thể công việc của dự án.
C. Phân tích hoạt động: Mô tả hệ thống để giải quyết các vấn đề nghiệp vụ đặt ra như thế nào, ưu điểm để
tận dụng các cơ hội có thể, đánh giá sự thay đổi của hệ thống hiện tại theo thời gian như thế nào nhờ có
hệ thống mới.
D. Phân tích về hợp đồng và pháp luật: Mô tả nhũng rủi ro có thể có về mặt pháp luật hay hợp đồng làm
việc của dự án.
Giáo trình Phân tích thiết Kế Hệ Thống 20

E. Phân tích chính sách: Mô tả về cách nhìn nhân của chủ sở hữu trong tổ chức đối với hệ thống như thế
nào và tác động của các chính sách có thể có.
4.0. Những vấn đề quản lý
A. Tổ chức đội làm việc va quản lý: Mô tả về thành phần các đội, vai trò của các thành viên trong đội và
các mối quan hệ khi làm vịêc, lịch trình và cách thức báo cáo.
B. Kế hoạch truyền thông: Mô tả về thủ tục và phương tiện truyền thông mà những người quản lý, các
thành viên trong đội và khách hàng cần tuân thủ.
C. Các chuẩn mực và thủ tục: Quy định các chuẩn mực về tài liệu, sản phẩm và cách thức mà khách hàng
sẽ đánh giá và chấp nhận.
D. Các chủ đề khác có liên quan: Mô tả những vấn đề khác phát hiện ra trong quá trình xây dựng dự án
cần được chú ý.
----oOo----

You might also like