NGUYÊN VĂN VY
Giáo trình
PHAN TÍcH THIẾT kể CAC HE THONG THONG TIN
Trang 2Công ty Cổ phần Sách Đại học — Day nghề, Nhà xuất bản Giáo dục Việt Nam giữ quyền công bố
tác phẩm
Trang 3MỤC LỤC Trang Lời nói đầu "— .= 7 Bảng các chữ viết tắt Q 2Q S22 re ¬ 9 Chương I PHƯƠNG PHÁP LUẬN PHÁT TRIÊN HỆ THÓNG THÔNG TIN 1.1 Khái niệm về hệ thống thông tin che 11 1.2 Tiến hoá của cách tiếp cận phát triển hệ thống thông tin 17
1.3 Vòng đời phát triển một hệ thống thơng tin ¬— 22
1.4 Các phương pháp khác nhau phát triển hệ thống thông tin 26
1.5 Vai trò của những người tham gia phát triển hệ thống thông tin 35
1.6 Xây dựng thành công hệ thống thông tin - 38
1.7 Sơ đồ tổng quát c quá trình phân tích, thiết kế hệ thống thông tin 45
Tóm tắt - Q c n1 HH HH Hệ soi 47 Câu hỏi .ĐQ 2221 2n HH HH nan tren 48 Chương Il KHẢO SÁT HIỆN TRẠNG, XÁC ĐỊNH YÊU CÀU HỆ THÓNG 2.1 Khảo sát và thu thập thông tin hệ thống HH SH ng kh Tư TK cv xà 50 2.2 Các phương pháp truyền thống xác định yêu cầu 52
2.3 Phương pháp hiện đại để xác định yêu cầu nhe 59 2.4 Các khái niệm sử dụng trong khảo sát TQ nnnnnià 62 2.5 Các bước thực hiện sau khảo sát nho 63 L0 69
Câu hỏi Q.0 Q2 SH HH Hang r HH 69 BAN tAD ooecceeccccccceceesssssesessssssssssesesssstisssasssessesestseeceestieeeeeeeeec 70 Chương MW MƠ HÌNH NGHIỆP VỤ CỦA HỆ THONG 3.1 Khái niệm về mô hình nghiệp vụ L TQ n nhenrằ 71 3.2 Biểu đồ ngữ cảnh ¬ ¬ 71 3.3 Biểu đồ phân rã chức năng -s He ¬ 72
3.4 Hai dạng biểu diễn của biểu đồ phân rã chức năng Hy ST TT TH nhu 76
3.5 Xac định oham vi hệ thống nhe 79
¬.“ ố.n 83
Trang 4Câu hỏi HH eee, 88 Bai tap oe eee ee eeccseesesesssevesesveedunsavatessaveseeesteseeteeeteeeeesceecc 88
Chương IV
MƠ HÌNH HỐ QUÁ TRÌNH XỬ LÝ
4.1 Mơ hình hố tiền trình nghiệp vụ 1 nhe 89
4.2 Biểu đồ luồng dữ liệu 2 neo 89
4.3 Phát triển các biểu đồ luồng dữ liệu của một ứng dụng 96 4.4 Chuyển biểu đồ luồng dữ liệu vật ly sang biểu đồ lôgic 105 4.5 Sử dụng biểu đồ luông dữ liệu để phân tích th 105 FB VEU 106 Tóm tắt HH ¬ hy, 110 Câu hỏi HH ec 111 có ao 44 111 Chương V
MƠ HÌNH HỐ LƠGIC TIỀN TRÌNH ©
9.1 Mơ hình hố lơgic với tiếng Anh cấu trúc sec 113
9.2 Mơ hình hố lơgic với bảng quyết định 2U 117
9.3 Mơ hình hố lôgic với cây quyết định t2 122 9-4 Mơ hình hố lôgic thời gian 2S 124
TOM tt 54 ecco 129
COU GE — 129
Bài tập .Q Q.0 HH HH Hành hrrrrrreSc 130
Chương VI
_ MO HINH DU LIEU QUAN NIEM
6.1 Khái niệm về mô hình dữ liệu quan niệm . s2 Q Son oằằ: 131 6.2 Khái niệm và ký pháp của ERM - no ¬— 132
6.3 Mơ hình hố các trường hợp mở rộng .! .- nhe eee 139 6.4 Biểu diễn quy tắc nghiệp vụ no ¬ 141
6.5 Các bước xây dựng mô hình dữ liệu quan niệm so 142
Trang 5Chương VII
THIET KE MO HÌNH DỮ LIỆU LƠGIC
7.1 Nội dung thiết kế mô hình dữ liệu lôgic -S5ccczzsc 161
7.2 Các loại mô hình dữ liệu lôgic TH kh khe he „+ T6T† 7.3 Mô hình dữ liệu quan hệ Q QQQQQQQn ĐH Hs sxy 163 7.4 Xây dựng mô hình dữ liệu lôgic 2Q nen xài 171
7.5 Quy trình thiết kế mô hình dữ liệu lôgic -c- 52222 174 7.6 VÍ dỤ Q 2222212 HH HH Hee 175 Tóm tắt - Q0 22H nH TT ng 1k KT ng k1 5 1xx ren 178 Câu hỏi .QQ Q20 0 021 212 HT Hang 180 Bài tập Q 2Q HH HH HH HH Hee 181: Chương VIII
| THIẾT KÉ CƠ SỞ DU LIEU VAT LY
8.1 Các nội dung thiét ké co s@ di? H@U Vat) occ ccceccccccecsececceeeeeee 182 8.2 Thiết kế các trường co ch HH 183 8.3 Thiết kế bản ghi vật lý SE nh rue SH kiệt 188 8.4 Thiết kế tệp vật lý To nà, ¬ 190
8.5 Thiết kế cơ sở dữ liệu vật lý ¬ ¬ 196
8.6 Công cụ CASE trong thiết kế cơ sở dữ liệu .Ặ.s.ooộc 201
Tóm tắt ¬ — 201
Câu hỏi Q0 Q22 101 HH HH HH Heo 202 Bài tập QQQQQ HH H nho 202 -
_ Chương IX
, THIET KE HE THONG CHU'ONG TRÌNH
9.1 Nội dung hoạt động thiết kế hệ thống chương trình 204
9.2 Xây dựng biểu đồ luồng dữ liệu hệ thống "_— 204
9.3 Thiết kế kiến trúc hệ thống . - se " 205
9.4 Thiết kế giao diện người - máy và tương tác ¬ 220 9.5 Thiết kế các đối thoại .Q Q0 2n HH He 228 9.6 Ví dụ thiết kế hệ thống 231
Tóm ẲẤ neo TH Hee Nga 242
Câu hỏi T001 211cc kh HH 243
Trang 6_ Chương X - ;
THIET KE CAC HE THONG PHAN TAN
10.1 Nội dung thiết kế các hệ thống phân tán .- Seo 245 10.2 Các hình thức tổ chức hệ thống phân tán 2222 247
10.3 Đặc trưng của các loại hình hệ thông phân tán 250
10.4 Tổ chức dữ liệu trong hệ thống phân tán 52 no 255
10.5 Thiết kế cơ sở dữ liéi phan tan HH TH TH Ố TH HH te 260
-_ Câu hỏi Quà TH< tk TH KTS KT ke xà ¬—— 267
Bài tập TH ¬ TH Hee 267
Trang 7Lời nói đầu
Hệ thống thông tin tin học là một ứng dụng đầy đủ và toàn diện nhất các thành tựu của công nghệ thông tin vào một tổ chức Ngày nay, không một tổ chức hay một đơn vị nào là không có nhu cầu xây dựng các hệ thống thông tin Không những nhu cầu xây dựng các hệ thống thông tin tăng lên, mà quy mô và mức độ phức tạp của chúng cũng tăng lên không ngừng Do đặc thù của các hệ thống thông tin là sản phẩm đơn chiếc (không giống bất kỳ một cái nào trước đó), với quy mô và độ phức tạp ngày càng tăng, lại là sản phẩm "không nhìn
thấy", nên phân tích và thiết kế trở thành một yêu cầu bắt buộc dé có được một |
hệ thống tốt
Do tầm quan trong va nhu cau thực tế, phân tích các hệ thống thong ti tin đã + trở thành một nghề nghiệp có tính chuyên môn cao Một kỹ sư công nghệ thông tin không thê khong biết đọc các bản vẽ phân tích và thiết kế về hệ thống thông tin Phân tích và thiết kế hệ thống thông tin có những phương pháp riêng, công nghệ và công cụ riêng và cân có kinh nghiệm nghề nghiệp Đề trở thành một nhà phân tích và thiết kế, đòi hỏi một người làm công nghệ thông tin phải có ít nhất bốn loại kỹ năng: kỹ năng phân tích, kỹ năng công nghệ thông tin, kỹ năng về nghiệp vụ và quản lý, kỹ năng giao tiếp Nhu cau xa hội về nghề nghiệp này ngày càng lớn, ở các nước phát | triển (như Mỹ, Nhật), số các nhà phân tích, thiết kế tăng đáng kể và đã xấp xỉ số các lập trình viên Nước ta hiện nay, số người có trình độ và kỹ năng phân tích, thiết kế các hệ thống thông tin còn ít Do vậy, môn học Phán tích thiết kế các hệ thống thông tin là môn học bắt buộc đối với những người làm công nghệ thông tin để có thé tham gia vào các dự án phát ị triển các hệ thống thông tin và tham gia đào tạo
- Đối tượng của giáo trình này là các sinh viên thuộc các khoa công nghệ thông tin và hệ thống thông tin kinh té; các kỹ sư làm phần mềm muon tro thành nhà phân tích, thiết kế; các giáo viên giảng dạy về Kỹ nghệ phần mềm tại các trường cao đăng và đại học
Trang 8và triển khai hiện nay Với mục tiêu hướng vào việc vận dụng công nghệ trong thực tiễn, trong giáo trình này chỉ lựa chọn để trình bày những phương pháp, công nghệ và công cụ hiện đại hay được sử dụng trên thực tế; và những cách vận dụng khác nhau của nó, đặc biệt là các ví dụ cụ thể thu thập được từ thực
tiễn phát triển các hệ thống phần mềm trong và ngoài nước Với yêu cầu của
chương trình là 4 đơn vị học trình, nên giáo trình này chỉ trình bày phân tích, thiết kế hướng cấu trúc Trong mỗi phần nội dung, sau khi trình bày phương pháp, công nghệ và công cụ sử dụng: trong trường hợp có thể đều cố găng đưa
ra một quy trình tóm tắt để thực hiện quá trình công nghệ được nghiên cứu và những đánh giá về ưu, nhược điểm của mỗi phương pháp và công cụ sử dụng:
cuối cùng là một ví dụ tương ứng Nhờ vậy, người đọc có thé theo đó để thực hành công nghệ và vận dụng trong thực tế Ngoài ra, để giúp độc giả năm chắc
vẫn đề và có được những kỹ năng nhất định, cuối mỗi chương đều có tóm tắt chương, những câu hỏi củng cố và các bài tập thực hành
Mặc dù đã rất cố gắng để tổ chức và biên soạn giáo trình với tất cả hiểu
biết, kinh nghiệm của nhiều năm tham gia phát triển các hệ thống phần mềm và giảng dạy, giáo trình không tránh khỏi những thiếu sót và hạn chế, rất mong sự đóng góp ý kiến của các bạn đồng nghiệp và độc giả
Thư góp ý xin gửi về: Công ty Cổ phần Sách Đại học và Dạy nghề —
Nhà xuất bản Giáo dục Việt Nam, 25 Hàn Thuyên ~ Hà Nội :
Trang 9Bảng các chữ viết tắt Nội dung Viết tắt CSDL | Cơ sở dữ liệu
DBMS DataBase Management System
(Hệ quản trị Cơ sở dữ liệu) ERM Entity — Relationships Model
(M6 hinh thuc thé — céc méi quan hé)
HTTT Hệ thống thông tin
LAN Local Area Network ˆ
(Mạng cục bộ)
UML | Unified Modeling Language:
(Ngôn ngữ Mô hình hóa thống nhất)
[-]
Là tài liệu tham khảo cho biết 4 chữ đầu của tên
tác giả và năm xuất bản, ví dụ: [Rodg89] là của
tác giả Rodgers U., xuất bản năm 1989; [Vy&08] |
là của tác giả Nguyễn Văn Vy và những người
khác, xuất bản năm 2008 (xem tài liệu tham
khảo ở cuối sách)
Trang 11Chương l
PHƯƠNG PHÁP LUẬN
PHÁT TRIEN HE THONG THÔNG TIN
1.1 Khái niệm về hệ thống thông tin
Phát triển một hệ thống thông tin (HTTT) là một quá trình tạố 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 luận pháp 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; đặc biệt là yêu cầu của người dùng
1.1.1 Khái niệm và định nghĩa
_Có nhiều định nghĩa về HTTT khác nhau ([Jam93], [Henr94], [Stev96],
[Jeff&99) 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 đề ứhu thập, xử lý, lưu trữ, phân phối và biếu diễn thông tin, trợ giúp việc ra quyết định và kiểm soát hoạt động trong một tổ chức [Kenn&95] 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 Việc phát triển HTTT
liên quan đến một số các khái niệm thường gặp sau: đữ liệu, thông tin, các hoạt động thông tin, xử ly, trình điễn đữ liệu — thông tin
1 Dữ liệu (daia) là những mô tả về sự vật, con người và sự kiện trong thế giới thực mà chúng ta gặp hằng ngày bằng nhiều cách thể hiện khác
nhau Một số dạng thường dùng để biểu diễn dé ligu nhu van ban (text), số (number), biểu tượng (symbol), hình ảnh (image), âm thanh (audio), phim anh (vidio) Ngoai dinh nghia trén con co nhiều định nghĩa khác về dữ liệu
[McFa91], [Jam93], [Fred&94] :
2 Thông tin (Informaiion) cũng như dữ liệu, nó có rất nhiều cách định
Trang 12định nghĩa bao quát hơn cả là xem thông tin là đữ 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 người sử dụng cuối
cùng Ví dụ, có các dữ liệu về giá vàng ở các ngày trong tháng; nêu ta biểu
diễn giá vàng bằng một điểm giá trị trên mặt phăng theo trục thời gian vol ngay/thang tang dan tir trai sang phai, sẽ được thông tin về "sự biến động
của giá vàng trong tháng" mà khi đễ ở dạng bảng thường không thê nhận ra được thông tin biến động này
3 Các hoạt động thông tin (information activities) la cac hoat déng xay
ra trong một HTTT, bao gồm việc nắm bắt — thu thập, xử lý, phân phối —
truyền đi, lưu Irữ, trình diễn dữ liệu và kiểm tra các hoạt động trong HTTT
4 Xứ lý (processing): Xử lý được hiểu là các hoạt động tác động lên dữ
liệu như tính toán, so sánh, sắp xếp, phân loại, tổng hợp, Nói một cách ngắn gọn, đó là các hoạt động để chuyển đổi đữ liệu thành thông tin [Ham93] Trong một HTTT thường có thể tổ chức nhiều phương thức xử lý khác nhau: xử Ly tương rác (cả con người và máy tính cùng tham gia vào một quá trình xử lý), xứ Jý theo lô (batch procesing — tập trung đữ liệu lai dé xử lý cùng một lúc vào một thời điểm nào đó), xử ly truc tuyén (on —line - processing — dữ liệu nhận được được xử lý ngay nếu có yêu cầu), xử ly theo thời gian thực (real time processing — quá trình xử lý phải tuân thủ các điều kiện ràng buộc nghiêm ngặt về thời gian) xử Jý phân tan (distributed processing — quá trình xử lý được tiến hành ở nhiều nút khác nhau trên
mạng máy tính)
5 Trình diễn dữ liệu — thông tin (infomation presentaion) 1a cach thé
hiện các dữ liệu dưới một hình thức thể hiện xác định mà con người có thê nhận biết được Các hình thức thể hiện dữ liệu tiêu biểu thường là kỷ tự (chữ, số, ký tự), bình ảnh (các biểu tượng, tranh, ảnh với màu sắc khác nhau) và âm thanh (tiếng nói, giai điệu, nhạc, )
1.1.2 Hệ thông thông tin quan lý os
Trong cac 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 no HTTT quản lý là sự phát triển và sử dụng
HTTT có hiệu quả trong mội tổ chức (theo Keen, Peter G.W )
Theo David và Richard [Davi94], HTTT quan ly xét ở trạng thái tĩnh _
gồm năm yếu tố cầu thành là: phần cứng (gồm các thiết bị tin học như: máy
tính, các thiết bị ngoại vi, các đường truyền +), phần mêm (các chương trình _ may tinh, cấu trúc dữ liệu, các tài liệu và dữ liệu đi theo nó) [Vy&08], đữ
Trang 13liệu, thủ tục — quy trình và con người (hình 1.1) Các định nghĩa về HTTT
trên đây 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ó được sự hiểu biết đầy đủ về hệ thống thực và cho phép xây dựng cơ sở đữ
liệu (CSDL), các chương trình và việc bố trí các thành phần bên trong nó Cầu nối Công cụ Zmh Nguồn lực Nhân tô sẵn có Nhân tổ thiết lập
* Hinh 1.1 Cac yéu té cau thanh của HTTT
1.1.3 Phân loại hệ thống thông tin
a Phân loại theo chức năng nghiệp vụ
Có nhiều cách phân loại các HTTT Dưới đây trình bày một cách phân
loại của Jeffery [Jeff&99] với các loại sau:
> He thong tự động văn phòng
Hệ thống tự động văn phong (Office Automatic Sysytems — OAS) la 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 nham tự động hoá công việc ghi chép, tạo văn bản va giao dich băng lời, băng văn bản, làm tăng năng suất cho những người làm công tác văn phòng
Hệ thống truyền thông
Hệ thống truyền thong (Communication Systems — CS) 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 khác nhau một cách dễ dàng, nhanh chóng và
chât lượng Nó đó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ả Ngay nay, hâu hét các hệ ứng dụng được phát triên trên nên web và không dây, thì vai trò của các hệ
thông truyền thông càng trở nên quan trọng và là một bộ phận cầu thành của " các HTTT
Trang 14Hệ thống cung cấp thông tin thực hiện
Hệ thông cung cấp thông tin thực hiện (Execufive Information Systems — EIS) 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
một 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
> He théng xử lý giao dịch
Hệ thống xử lý giao dịch (Transactions Processing Systems ~ TPS) 13 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 địch với khách hàng, nhà cung cấp, những người cho vay vồn : như hệ thong lap hod don ban hang cho khach;
hé thống trợ giúp nhân viên ngân hàng thực hiện giao dịch cho vay, rút gửi
tiết kiệm hay thanh toán của khách hàng qua ngân hàng Hệ này cung cấp nhiều đữ liệu nhất cho các hệ khác trong tổ chức
_» Hệ thống thong tin quan ly
HTTT quan ly (Management Information Systems — MIS) tro giup cac
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ệ thống, xử lý giao _ địch và các hệ khác để 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 Nó cân cho mọi tô chức để quản lý các hoạt động của mình
)- Hệ trợ giúp quyết định
- Hệ trợ giúp quyết định (DÐecision Support Systems — - D§S) 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
- đữ 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 hồn tồ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 CSDL 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 đụng cho mỗi tổ chức cụ thể mới đạt hiệu quả cao
)»- Hệ chuyên gia
Hệ chuyén gia (Expert Systems — ES) 1a một hệ trợ giúp quyết định ở
mức chuyên sâu Ngoài những kiến thức, kinh nghiệm của các chuyên gia
Trang 15và các luật suy diễn, nó có thể còn được trang bị các thiết bị cảm nhận để
‘thu cdc théng tin từ những nguồn khác nhau của đối tượng cần có ý kiến chuyên gia 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 về một lĩnh vực chuyên sâu 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; đối với hệ hỗ trợ quyết định, tuỳ nhu cầu mà người dùng đưa thông tin vào khác nhau, và có các công cụ cho phép lựa chọn những giải pháp trợ giúp tương ứng với một phạm vi rộng rãi các yêu cầu Tuy nhiên, những giải pháp được lựa chọn này có thê còn xa với quyết định cuôi cùng (chỉ mang tính trợ giúp) Của người ra quyết định
) Hệ trợ giúp điều hành
Hệ trợ giúp điều hành (Execution Support Systems — ESS) duge sử dung
ở 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 Hang lấy từ môi trường hay từ các hệ
thông tin quản lý, hệ trợ giúp quyết dinh, - Hệ trợ giúp làm việc theo nhóm
Hệ trợ giúp làm việc theo nhém (Groupware Systems — GS) ra đời muộn hơn 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 cung cấp 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
Một cách phân loại khác theo chức năng nghiệp vụ của Steven [Stev96]
bao gồm 6 loại HTTT chủ yếu sau đây: AOS, TPS, MIS, DSS, ESS và thêm hệ cung cấp kiến thitc lam viée (Knowledge Work System —K WS)
b Phân loại theo quy mô kỹ thuật |
Một cách phân loại khác là phân loại các HTTT theo quy mô kỹ thuật của hệ thống [Henr94] Theo cách này, các HTTT được phân làm 3 loại:
— Hệ thông tin cá nhân (Personal Information Systems — PIS)
— Hệ thông tin lam viéc theo nhém (Workgroup Information Systems — WIS) — Hg thong tin doanh nghiép (Enterprise Information Systems — EIS) |
Khi đi từ hệ thông loại này sang hệ thống loại sau theo cách phân loại
này, ta đã đi qua những giới hạn quan trọng về mặt kỹ thuật tổ chức các
Trang 16những vấn đề kỹ thuật (tổ chức tính toán song song, phân bổ việc sử dụng
bộ nhớ và những nguồn tài nguyên sử dụng chung khác) Từ hệ thống loại 2 sang hệ thống loại 3 là vượt qua giới hạn về chức năng Từ một hệ thống ít
chức năng chuyển sang hé thống với nhiều ứng dụng khác loại phải giải quyết hàng loạt những van dé kỹ thuật khác như an toàn đữ liệu và chương
trình, tương tranh, truyền thông
c Hệ thống thông tin tích hợp
Một HTTT thường gặp trên thực tế là HTTT tích hop (Untegrated
Information System — 1S), nó gồm một vài loại HTTT cùng được tổ chức khai thác trong một tô chức, có như vậy mới đáp ứng được mục tiêu của tổ
chức thường dựa trên nhiều tiêu chí khác nhau Đ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 í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ốt" Việc sử dụng các hệ tích
hợp tổng thê thường đưa tổ chức đến một hệ thống tập trung, một sự phối
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ý, 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 hoà, 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 Việc phát triển HTTT tích hợp theo phương thức ghép nối có ý nghĩa thực tế hơn, vì rằng,
các tổ chức thường có các HTTT khác nhau được xây dựng ở những thời
điểm khác nhau Ngày nay, người ta cô găng đưa ra các chuẩn cho các HTTT cần xây dựng và cũng xây dựng nhiều công cụ "ghép nối" cho phép có thể tích hợp các HTTT khác nhau theo phương thức này Ngày nay
Internet phát triển rất mạnh, trong môi trường này người ta đã có những
công cụ tích hợp rất tiện lợi như các công điện tử (portal) [Dner09], chỉ từ
một vị trí cho phép ta truy cập đến nhiều CSDL khác nhau hay các dịch vụ
web (Webservices) cho phép lẫy được các đữ liệu từ các nguồn khác nhau
một cách dễ dàng
Ẳ Phân loại theo đặc tính kỹ thuật
Trang 17mặt thời gian Một loại hệ thống khác nữa là các hệ thong nhung (embeded
systems) [Simo00], trong d6 các thành phần phan mềm được nhúng trong
các thiết bị phần cứng (phải kể đến các 'cảm biến, các bộ kích hoạt, các bộ
chuyển đổi, ), và nó chỉ được kích hoạt khi các thiết bị này hoạt động Các hệ này thường liên quan chặt chẽ với các hệ thống điều khiển tự động các
thiết bị
1.1.4 Tại sao một tổ chức cần phát triển hệ thống thông tin
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 như 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ỹ thuat No la
một bộ phận quan trong trong chiến lược tổng thể phát triển tổ chức; tức là cần được 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 trong tổ chức
1.2 Tiến hoá của cách tiếp cận phát triển hệ thống thông tin
Phát triển HTTT dựa trên máy tính bắt đầu từ những năm 50 của thế kỷ XX 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 _ Có thê kể đến 4 cách tiếp cận chính để phát triển một HTTT là tiếp cận định
hướng tiễn trình, tiếp cận định hướng đữ liệu, tiếp cận định hướng cấu trúc
va tiép cận dinh hướng đối lượ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
Trang 181.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 thấp, 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à gọi là riếp cận định hướng tiễn trình (process drive
approach) Vi vay, hiệu quả xử lý của 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 hoá các tiễn trình đang tồn tại (như mua hàng, bán hàng, tính toán các bài toán kỹ thuật, ) của những bộ | phan chuong trinh riéng ré Luc nay, người ta đặc biệt quan tâm đến các
thuật toán (phần xử jý) đễ 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 đang rất hạn hẹp; các đữ liệu được tổ chức trong cùng 1 một tệp với chương trình
Sau này, với sự điến bộ về khả năng lưu trữ, các tệp 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 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 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 trong những ứng
dụng khác nhau có thể chứa cùng các phần tử đữ 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 dữ liệu tương ứng Việc tổ hợp các tệp đữ liệu chuyên biệt cũng rất khó khăn, vì mỗi tệp 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 đữ liệu, hao phí quá nhiều công sức cho việc thu thập và tổ chức dữ liệu, nhưng việc sử dụng các dữ liệu lại kém hiệu quả do chúng không thể chia sẻ giữa các ứng dụng khác nhau Hệ thông trả lương Hệ thống quản lý dự án , =—— `
Dữ liệu - Dữ liệu Dữ liệu
lương và thuế nhân sự nhân sự
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
Trang 191.2.2 Tiếp cận định hướng dữ liệu
Tiếp cận định hướng dữ liệu (2/2 đrive approach) tập trung vào việc
tổ chức các dữ liệu một cach ly tưởng Khi sự quan tâm chuyển sang dữ liệu, phạm vi tng dung đã mở ‘Tong dén nhiéu qua trinh cua HTTT, nd 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 là:
— Tách dữ liệu ra khỏi các quá trình xử lý, `
— Tổ chức CSDL chung cho các ứng dụng
Công nghệ quản lý dữ liệu tiến bộ cho phép biểu diễn đữ liệu thành các _ tệp riêng biệt và tổ chức chúng thành những CSDL dùng chung Một CSDL
là một tập các dữ liệu có liên hệ lôgic với nhau, được tổ chức làm dễ dang © cho việc thu thập, lưu trữ và lay 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ụ tốn học (Jý thuyết tập hợp và logic) dé 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 CSDL phục vụ cho nhiều ứng dụng độc lập khác nhau (xem hình 1.3), đem lại hiệu quả dang ké như giảm chi phí tổ chức và khai thác đữ liệu Tang Ứng dung 1 I Ứng dụng 2 Ứng dụng k ứng dụng _"NHNNHHESNNHMNNHHIMWNNB 8NHNM_Ng sks [REE Renee Tang dữ liệu TH Cơ sở dữ liệu - :
Hình 1.3 Cẫu trúc hệ thống hướng dữ liệu
Cách tiếp cận định hướng dữ liệu là hiệu quả, nhưng cần có những thay
đổi phù hợp trong thiết kế, sao cho CSDL mới hỗ trợ được cả các ứng dụng
hiện tại cũng như các ứng dụng sau này
1.2.3 Tiếp cận định hướng cấu trúc
Tiép can dinh neéng cdu tric (structure drive approach) nhu mot 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à /iếp cận hướng đữ liệu/chức năng
Trang 20Theo cách tiếp cận này, hệ thống được phân chia thành các chức năng, bắt đầu ở mức cao nhất, sau đó làm mịn dần dần dé thành thiết kế với các chức năng chỉ tiết hơn 7rạng thái của hệ thông thể hiện qua CSDL tập trung và
được chia sẻ cho các chức năng lương đối độc lập với nhau cùng thao tác
trên nó (hình 1.4) 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ác chương trình dựa trên cơ sở mơđun hố để dễ theo dõi, quản lý và bảo
trì Sự ra đời của các ngôn ngữ lập trình có cầu trúc là cơ sở cho sự phát triển của định hướng này 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ế và phân tích HTTT theo hướng môđun hoá [Your&79] Ứng dụng 1 ¿ Ứng dụng 2 - Ứng dụng k- Tang ứng dụng _ Tầng dữ liệu
Hinh 1.4 Câu trúc hệ thống định hướng cấu trúc
Các phương pháp luận hướng cấu trúc sử đụ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à chỉ tiết hoá dần các luồng dữ liệu và các tiến trình là ý tưởng cơ bản của hương pháp luận từ trên xuống (top - down) Từ mức 0: 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 môđun thấp
nhất (môẩwn cơ sở) ˆ
Phát triển có cấu trúc đã cung cấp một tập hợp đầy đủ các đặc tá hệ thong không dư thừa được phát triển theo quá trình lôgic và lặp lại Nó cho
nhiều lợi ích so với các cách tiếp cận trước đó [Jeff&99]: — Làm giảm sự phức tạp (nhờ chia nhỏ, mơđun hố); ©
— Tập trung vào ý tưởng (vào lôgic, kiến trúc trước khi thiết kế); — Chuẩn mực hoá (theo các phương pháp, công cụ đã cho);
— Hướng về tương lai (kiến trúc tốt, mơđun hố, dễ bảo trì);
— Giảm bớt tính nghệ thuật trong thiết kế (phát triển hệ thông phải tuân thủ các quy tắc và phương pháp)
Trang 211.2.4 Tiếp cận định hướng đối tượng
Theo cách riếp cận định hướng đối tượng (object oriented approach),
hệ thong được nhìn nhận như những gói các đối tượng (chứ không phải là _ các chức năng) ương tác với nhau Mỗi đối tượng bao gói trong nó cả các
dữ liệu và các thao tác thực hiện trên chúng, vì thế nó có trạng thái riêng
Mỗi đối tượng là một thể hiện của một lớp được xác định bởi các thuộc tính
và các phương thức chung Độ các "thuộc tính" xác định trạng thái của đối
tượng và các phương thức của nó thao tác với các dữ liệu của thuộc tinh
Các lớp có thể được (bừa kế từ một vài lớp đối tượng cao hơn, và khi đó,
việc định nghĩa nó chỉ cần nêu đủ những gì khác nhau giữa nó và các lớp cha Các đối tượng liên lạc với nhau chỉ bằng cách trao đổi các thông báo để cộng tác thực hiện một dịch vụ chung (hình 1.5) :
Hinh 1.5 Mo hinh cau truc của hệ thống hướng đối tượng
Ý tưởng cơ bản của cách tiếp cận này là sự bao gói và che dấu thông -tin, sự kế thừa 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ó cũng như việc sửa đổi chúng không làm ảnh hưởng đến
- các đối tượng khác Việc che dấu thông tin hạn chế đến mức tối đa các đối
tượng bên ngoài tác động lên đối tượng đó nếu không cần thiết
Kế thừa làm đơn giản hoá việc tao ra các lớp mới có chung với lớp
đang tồn tại một số đặc trưng 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 giữa các lớp đối tượng trong hệ thống, chúng dễ dàng "lap ghép" và "thảo đỡ" mà không ảnh hưởng đến phần còn lại; hệ thống dễ bảo trì, dễ sử dụng lại và do đó có thể đạt được quy mô lớn tuỳ ý
Cách tiếp cận mới nay đá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
nhưng nhanh hơn, dễ bảo trì và có chỉ phí chấp nhận được
Trang 221.3 Vong doi phat triển một hệ 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ới phương pháp luậ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 đó
là 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 trên hai chục pha khác
nhau cho một phương pháp luận phát triển cụ thể [Jeff&99]
_`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ột 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 (Waterfall Model) (hình 1.6.) 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 hệ 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 Khởi tạo và _ lập kê hoạch i y Phan tich —t Thiết kế —t ' Triển khai F——y ( Vận hành, h ' bao tri 1 1 ' ' ' i Y NV vy WY V > a a + a a + Thời gian
Hình 1.6 Mô hình thác nước của vòng đời hệ thống
1.3.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 dung HTTT)
`
Trang 23Hai hoạt động èhí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 việc
phát triển HTTT cho 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 vò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 dé dat Ta 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 chỉ phí phát triển hé thong va loi ích mà nó sẽ nang lại cho tổ chức
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 chức năng hay địch vu ma hé thong du kién can phai thực hiện Chúng được 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 chỉ phí tương ứng Tất cả
những nội dung trên đây thường được gọi là nghiên cứu hệ thong [Vy02]
Sau khi nghiên cứu hệ thống phải đưa ra được 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 các 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 hay không
— Khả thị 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, 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 chỉ 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 và tiễn trình thực hiện dự án đã được chỉ ra trong giới hạn đã cho
— Khả thì pháp lý và hoạt động: Hệ thống có thể vận hành trôi chảy
trong khuôn của tô chức và điều kiện quản lý mà tổ chức 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ố loại 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
Trang 241.3.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ữ liệ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 đữ 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 thường 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
nigười sử dụng để xác định cái gi 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 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ứ ba 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 tổng thể tốt nhất đáp ứng được các yêu
cầu với chỉ phí, nguồn lực, thời gian và kỹ thuật cho phép để tổ chức
thông qua -
1.3.3 Thiết kế hệ thống
Thiết kế là tìm các giải pháp công nghệ thông tin để đáp ứng các yêu
cầu đặt ra ở trên trong điều kiện môi trường hoạt động (môi trường đích) đã ' xác định Đặ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 lôgic, tiếp đến là đặc rả vậi Jý 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 (giao diện, các báo cáo) đến CSDL và các tiến trình xử lý chỉ tiết bên trong Pha thiết kế này gồm hai pha nhỏ là ¿biết kế lôgic và thiết kế vật lý
— Thiết kế lôgic: Về mặt lý thuyết, thiết kế hệ thống lôgic không gắn với bất kỳ phần cứng và phần mềm hệ thống nào Thiết kế lôgic tập trung
vào các khía cạnh hoàn thiện 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 là các thực thẻ vật lý |
— Thiét ké vat ly 1a qua trinh chuyén mé hinh lôgic 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 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 đữ 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ệ CSDL, cấu trúc tệp tổ chức dữ liệu, phần cứng, hệ điều hành và
Trang 25mô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ó sẽ tồn tại trên thực tế, sao cho các nhà lap t trinh va ky sư phần cứng có thể đễ dàng chuyển thành chương trình
và cấu trúc hệ thống vận hành
1.3.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 thâm định 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ệ thong a Tao lập các chương trình
Trước hết, cần lựa chọn phần mềm nền (platform: hệ điều hành, hệ quản trị CSDL, ngôn ngữ lập trình, phan 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ị CSDL hay của hệ ứng dụng được sử dụng) Sau đó, chọn các phần 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 môđun 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 thir chap nhận)
b Cài đặt và chuyển doi hé thong
- 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 trong hệ thống 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 liệ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 Quá trình chuyển đổi hệ thống cũ sang hệ thống mới là không đơn giản Nó cần được phân tích và lựa chọn
một cách thích hợp để đảm bảo sự chuyển đổi an toàn, thành công và hiệu _
quả [Vy02]
1.3.5 Van hanh va bao tri
Khi hé théng duoc lap dat va 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
Trang 26vận hành cần đánh giá xem hệ thống có đáp ứng được các mục tiêu đặt 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 mới đặt
ra dé dap ứng những thay đổi nảy sinh Vì vậy, các nhà phát triển 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ả) để thoả mãn yêu cầu của người sử dụng cũng như 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ả hơn
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 đà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 chỉ phí bảo trì trở nên quá lớn, yêu cầu thay đổi của tổ chức là dang 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 van dé cho thay da dén
lúc phải kết thúc hệ thống cũ và bắt đầu một vòng đời khác cho một hệ
thống mới Thông thường, sự phân biệt giữa việc bảo trì có quy mô lớn và sự phát triển một hệ thong mới là không rõ ràng Khi có sự thay đổi về công nghệ sử dụng, hay sự thay đổi các chức năng một cách đáng kẻ, thì có thể
.xem hệ thống đã chuyển sang một hệ thống mới
1.4 Cac phương pháp khác nhau phát triển hệ thống
thông tin
Có nhiều tiến trình phát triển HTTT khác nhau đã được áp dụng trên cơ sở của những mô hình vòng đời phát triển khác nhau [Jam93] Sau đây sẽ xem xét một sô tiên trình tiêu biểu _ -
1.4.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 (còn gọi là mô hình rhác
nước — walerƒall model) là một 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 gồm
6 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 đặi và áp dụng (hình 1.7) 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
Trang 27hiệ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 kế hoạch TỎ CHỨC Lập trình & -kểmthử |
Hình 1.7 Mô tả sự phát triển HTTT theo vòng đời truyền thống a, Cac pha phat 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 [Vy02] Trong pha thiết kế đặc biệt nhấn mạnh tới các đặc tả hình thức hoá, 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 va đánh ; gia
Phuong phap 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 và các hệ thông tin quản lý 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 hoá 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ó chỉ 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 voi 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 90 của thế kỷ XX và những năm đầu của thế kỷ
XX] nay
Trang 281.4.2 Phương pháp làm bản mẫu
d Nội dung phương pháp
Phương pháp này ra đời muộn hơn [Mart90] Nó ít hình thức hoá 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 l Xác định các yêu cẩu của người sử dung
‘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 cần cho việc tạo ra bản mẫu 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 J—— - Khảo sát, lay y kiên người sử dụng Loại bỏ Đánh giá, J quyêt định mẫu Mẫu hoàn chỉnh ' Sử dụng thêm og _ Hoàn chỉnh dự án
phương pháp _Hệ thông đã từ các mẫu „,
khác : hoan chinh? thu duoc
Hình 1.8 Sơ đồ phương pháp làm 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 khác nhau (chang han cong cu CASE)
Trang 29— 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 thoả
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 (hình 1.8) |
Làm bản mẫu đặc biệt có lợi khi mà một số nhu 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
nhanh chóng tạo ra hệ thống, và hạn chế được những chỉ phí không cần thiết -
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 và có nhiều tương tác với người dùng
_ Việc làm mẫu nhanh cho phép đi qua những bước cơ bản trong phát
triển HTTT một cách dễ dàng, khuyến khích đội phát triển tiến nhanh đề đạ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ế lại hay thử
nghiệm toàn điện các kết quả của hệ thống Mặt khác, chính sự tiện lợi này
Trang 30— Khi tiến hành làm mẫu bằng tay hay bằng một công cụ đơn giản, kết
qua làm mẫu chỉ đơn thuần cho một đặc tả yêu cầu (dùng xong bỏ bản mẫu đi)
— 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 đữ 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 hoá; 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ác công cụ chuyên dung dé lap ghép các thành phân phân mém có sẵn (được sử dung Iai)
thành chướng trình Trong trường hợp này, mẫu nhận được cho ta một số
môđun có thể vận hành ngay được Khi liên kết các môđun 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 được 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
còn tạo ra những cơ sở cho việc ký kết hợp dong, lam tăng lòng tin của
khách hàng vào hệ thống được xây dựng, giúp cho việc hudn luyện người đùng hệ thông ngay từ khi làm bản mẫu
1.4.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 [Boeh88] đưa ra năm 1988 Nó đặ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 tạo ra một phiên bản vận hành được, bắt đầu bằng việc lập kế hoạch, phân tích rủi ro, tạo nguyên mẫu, hoàn thiện và phát triển hệ thong, duyét lai, va ctr thé tiếp tục (hình 1.9)
Tập hợp yêu cầu Phân tích rủi ro dựa
ban đầu và kế rên yêu cầu ban đầu
hoạch dự án :
Kế hoạch Phân tích rủi ro dựa
dựa trên ý kiên của trên phản ứng của
khách hàng khách hàng
Trang 31q 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 4 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ệ
Với mỗi lần lặp xoắn ốc (bắt đầu từ trung tâm), phiên bản nhận được có khả năng vận hành và bổ sung thêm 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 đề xuất cho nó
Phân kỹ nghệ sử dụng ở mỗi vòng lặp có thể là cách đế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 ngày càng 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ì thế chi phí cần thiết sẽ không thích hợp với những 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 Vì vậy, khi áp dụng cần có sự thoả thuận trước với khách hàng
1.4.4 Phương pháp phát triển hệ thống dựa trên việc sử dụng lại HTTT có thể phát triển bằng cách sử dụng lại các gói phần mềm ứng
dụng đã có Đó là những chương trình ứng dụng viết sẵn ở dạng mã máy đà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 có thể chọn sử dụng các gói phần
Trang 32đặt nó để sử đụng Việc sử dụng các gói phan mém img dung đã 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ệ thong Người bán còn cung cấp các cong cu
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 kip 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
¬ : ! Chuyển đổi định |
¡ Chuyên đổi định ! ¡ dạng dữ liệu ra ¡
(dang dữ liệu vào; - i yg | ⁄ —> Bd ` -| Bỗ
sung Phần mềm sung | ii!
— pra rước - đóng gói ° It | phia sau |»
Hình 1.10 Mô hình chung nhất sử dụng phần mềm đóng gói
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ù
Để thoả mãn nhu cầu thị trường một cách rộng rãi, các gói phan mềm ứng
dụng thường chỉ đáp ứng những yêu 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 tuỳ chọn, các phần chương trình chuyền đổi phía trước hay phía sau (/?oz — or — back
program: hình 1.10) của của phần mềm đóng gói cho phép khách hàng có thé lam thich nghi hay su dung những chức năng thích hợp của các gói phân mềm để đá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 lại quá đắt, làm giảm các lợi thế vốn có của các gói phần mềm
Để 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ì? Thoả mãn yêu cầu cho bài toán nghiệp vụ của chúng ta đến mức nào?
~ Tính mêm dẻo: Gói phần mềm có dễ cải biên, dé mở rộng hay 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é hoc, dé thao tac, hay không?
— Yêu cẩu về kỹ thuật: Cấu hình máy tối thiểu dé thực hiện gói chương
trình như thế nào? Loại hình dữ liệu và cấu trúc tệp sử dụng ra sao?
Trang 33— 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 độ như
thế nào? | |
— Tài liệu: Tài liệ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 không?
— 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 như thế nào? Giá mua bao gồm những khoản mục gì? (các môđun bổ.sung, tiện ich 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? Chi phí cho những phần bổ sung, nâng
câp?
Khi sử dụng gói phần mềm, việc thiết kế hệ thống bao gồm cả việc đánh giá năng lực gói phần mềm và nd 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 dung phan bổ sung Tất cả các chỉ phí trên đây cần được tính
toán để so sánh với dự án phát triển nó Việc làm thích ứng các phần mềm
đóng gói với tổ chức như một yêu cầu tất yếu, sự khác nhau ở đây chỉ là mức độ phải làm thêm mà thôi Nếu không có những phương tiện khác hỗ trợ, tô chức phải thay đổi thủ tục và quy trình nghiệp vụ của mình cho phù
hợp với gói phân mêm đã lựa chọn
Ngày nay, khi phát triển các HTTT, người ta không chỉ sử dụng lại các
thành phân phần mềm đóng gói mà còn sử dụng cả các mẫu thiết kế (patterns) [Gamm&95], các khung làm việc (frameworks) [D'Sou&97] va
các mô hình miền ứng dụng (đomain models) [Sodh&99]
1.4.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 thực “hiện 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
Trang 34Do 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 van dé 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
hố, 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 đữ liệu sẽ làm tăng khó khăn kiểm soát các
đữ 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 CSDL
-— 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.4.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ụ 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) Hiện nay, do việc vận hành các trang web tương đối đơn giản, không ít tổ
chức đặt hàng thuê làm trang web, vận \ hành một thời gian ngắn rồi tiếp
nhận để khai thác :
Việc thuê ngoài cho phép tổ chức nhận được dịch vụ nhanh chóng, chỉ
› phải trả phan chi phi cho dich vu mà họ sử dụng, không cần phải bỏ ra chỉ
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ủa HTTT, nó có thể mất khả
năng kiểm soát được các chức nang cua 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 chỉ phí cao hay
Trang 35tin 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
đựng và phát triên tiêm lực của mình :
1.5 Vai trò của những người tham gia phát triển hệ thống thông tin
Một số tô chức có thể sử dụng những cách khác nhau để phát triển bộ phận thông tin Tuỳ theo mô hình tổ chức đó, các nhà phân tích được giao nhiệm vụ báo cáo cho các bộ phận chức năng khác nhau Khi đó, nhà phân
tích có điều kiện học được nhiều hơn về nghiệp vụ mà họ trợ giúp Cách tiếp
cận này đáp ứng rất tốt yêu cầu phát triển Khi đó, nhà phân tích trở thành chuyên gia cả về phát triển hệ thống và lĩnh vực nghiệp vụ
Phát triển HTTT là một sự nỗ lực của cả đội Các nhà phân tích hệ
thống thường làm việc trong một đội được tổ-chức trên cơ sở của dự án Các thành viên của đội có thể mở rộng để bao gồm cả người quản lý HTTT, các nhà lập trình, người sử dụng và các chuyên gia nghiệp vụ khác nhau Vì thế, biết làm việc một mình và học để làm việc với người khác trong đội là một -kỹ năng quan trọng đối với bất kỳ một nhà phát triển hệ thống nào Để làm việc tốt trong một đội, mỗi thành viên của đội thường xuyên phải giao tiếp -_ VỚI nhau một cách cởi mở và tin cậy Các thành viên của đội giao tiếp một cách hiệu quả hơn nếu họ tin tưởng ở người khác Sự tin cậy đến lượt mình
sẽ được xây dựng trên sự tôn trọng lẫn nhau và phải đặt mục tiêu riêng và cách nhìn khác nhau vào mục tiêu chung và cách nhìn nhận thống nhất
Để đảm bảo một đội làm việc tốt, người quản lý cần phát triển một cơ
chế thúc đây trách nhiệm chung, tăng khả năng cùng suy nghĩ sao cho sự cố găng của mỗi thành viền của đội được thể hiện ra qua công việc của họ Sự
thành công của đội phụ thuộc không chỉ vào sự nỗ lực của các thành viên
mà còn phụ thuộc vào sự quản lý hoạt động của đội Quản lý dự án hiệu quả
là một yêu tô cơ bản khác của một đội thành công
1.5.1 Các nhà quản lý hệ thống thông tin ;
Cac nha quan lý HTTT có thể tham gia trực tiếp yao qua trinh phat triển
HTTT nêu một tô chức nhỏ hoặc họ có mong muốn Hơn thế, nhà quản lý HTTT tham gia vào việc phân phối nguồn lực trước, hay thông qua dự án
phát triên HTTT hơn là trong quá trình điều hành cu thé
Nhà quản lý HTTT có thể tham dự các cuộc họp xem xét dự án ở những
phạm vi có liên quan Nhà quản lý HTTT có thể mô tả phương pháp luận,
Trang 36hình thực hiện dự án Như một người lãnh đạo một bộ phận, người quản lý HTTT cũng là người lập kế hoạch và định hướng phát triển cho các nhà phân tích và các nhân viên khác; giải quyết những ` vẫn đề nỗi lên trong quá
trình thực hiện
Mỗi phòng trong bộ phận HTTT cũng có thể có người quản lý Chẳng
hạn, trưởng phòng phát triển, trưởng phòng điều hành, trưởng phòng lập
trình, Những người này có thê tham gia vào một vai dự án phát triển và họ
có thể là người chủ nhiệm dự án Dù ở vị trí nào, họ đều có trách nhiệm hỗ trợ quá trình thực hiện các dự án
1.5.2 Các nhà phân tích hệ thống
Các nhà phân tích hệ thống là người chủ chốt trong quá trình phat trién HTTT Để trở thành một nhà phân tích hệ thống thực thụ, họ cần ít nhất có
bốn kỹ năng: kỹ năng phân tích, kỹ năng kỹ thuậi, ø năng quản lý và kỹ - năng giao tiếp
— Kỹ năng phân tích làm cho nhà phân tích có thể hiểu được tổ chức và
sự hoạt động của nó; có thể xác định được những cơ hội và các vấn để đang đặt ra để phân tích và giải quyết chúng Một điểm quan trọng của kỹ năng phân tích của nhà phân tích là cách sz nghĩ mang tính hệ thống Nhờ cách -_ suy nghĩ này, nó cho phép nhà phân tích nhìn nhận được các mối quan hệ quan trọng giữa các HTTT trong một tổ chức cũng như giữa nó với môi
trường mà trong đó tổ chức tổn tại
— Kỹ năng Loy thuật cho phép các nhà phân tích hiểu được những tiềm
năng và hạn chế của công nghệ thông tin Như một nhà phân tích, anh ta có
thể xem xét HTTT sao cho nó trợ giúp cho người dùng giải quyết các vấn đề đặt ra và hướng dẫn việc phát triển và thiết kế hệ thống Nhà phân tích cần phải hiểu biết và có thể làm việc với các ngôn ngữ lập trình, với các hệ điều
hành khác nhau và với các loại hình máy tính khác nhau
— Kỹ năng quản lý giúp nhà phân tích quản lý các dự án, các nguồn lực,
rủi ro và những thay đôi S
- Kỹ năng giao tiếp giúp nhà quản lý làm việc với những người dùng
cuối cùng, với khách hàng cũng như với các nhà phân tích khác, các nhà
_lập trình -
Nhà phân tích phải đóng vai trò chính trong việc liên kết giữa người sử
dụng, cá nhà lập trình và các nhà chuyên môn khác Nhà phân tích cần có
- khả năng giao tiếp bằng lời, bằng văn bản hiệu quả; bao gồm cả khả năng tổ
Trang 37nghe Những nhà phân tích có trình độ cao thường biết kết hợp tốt bốn kỹ _ năng trên trong thực tế
Giống như một nghề nghiệp bat ky, dé trở thành một nhà phân tích hệ
thống có trình độ, các sinh viên công nghệ thông tin sau khi ra trường cần một số năm để tiếp tục học tập và tích luỹ kinh nghiệm Theo con đường nghề nghiệp, sau khi trở thành một nhà phân tích thực sự, anh ta có thể trở thành nhà phân tích với các chức danh cao hơn, rồi trở thành người quản lý ' được dự án, phát triển HTTT; và tiến xa hơn là trở thành người lãnh đạo quản lý nghiệp vụ hay quản lý toàn bộ HT TT — các CIO (Chieƒ Information Officer)
1.5.3 Cac nha lap trinh
Các nhà lập trình có nhiệm vụ chuyển các đặc tả thiết kế hệ thống đã
cho thành các cấu trúc mà máy tính hiểu được và vận hành được Việc viết chương trình máy tính đôi khi còn gọi là viết mã (coding) hay mã hoá thiết
kế Nhà lập trình cũng viết các tài liệu chương trình và các chương trình
kiểm thử hệ thống Việc lập trình là một lao động nặng nhọc Vì vậy, nhiều
công cụ tính toán có mục đích chuyên dụng gọi là bô rao mã đã được phát triển cho phép tạo, sinh mã từ các đặc tả; giúp tiết kiệm thời gian và công - sức Các bộ tạo mã không giải phóng hoàn toàn các nhà lập trình, nó chỉ làm thay đổi bản chất của hoạt động lập trình Khi đã có các bộ tạo mã trợ giúp,
các nhà lập trình làm nhiệm vụ phân tích các mã nhận được, phát hiện và sửa lỗi, tối ưu hoá nó và tích hợp nó với các phần khác của hệ thống
1.5.4 Người sử dụng cuối cùng
Theo cách truyền thong, các nhà phân tích phỏng vẫn, quan sát, điều tra những người dùng cuối cùng để xác định xem họ cần gì từ HTTT phải xây dựng Những người dùng cuối cùng là các nhân viên nghiệp vụ, hộ là những chuyên gia trong lĩnh vực nghiệp vụ của mình Họ thường không có các kỹ năng, thời gian, mong muốn hoặc đại diện để đòi hỏi phát triển HTTT Bởi vậy, nhà phân tích cần làm việc với họ để chuyển những hiểu biết nghiệp vụ của họ thành HT TT trợ giúp cho họ Thông thường, người dùng cudi cung
là khách hàng, là người ta cần xây dựng HTTT cho họ Đôi khi họ cũng
_ giúp đỡ các đội phát triển như cung cấp các ý kiến chuyên gia về cách thức
hoạt động khác nhau Họ cùng tham gia vào việc kiểm thử hệ thống, đánh , giá hệ thống và là người dùng hệ thống sau này Những đóng góp của họ có ý nghĩa quan trọng đến việc sử ' dung hệ thống một cách hiệu quả
Trang 381.5.5 Các nhà quản lý nghiệp vụ
Các nhà quản lý có quyền lực trong việc cấp vốn cho các dự án phát triển, phân phối các nguồn lực (người, vật tư, thiết bị) cần thiết dé dam bao
sự thành công của dự án Năng lực ra quyết định, các hiểu biết về quy trình
hoạt động nghiệp vụ của các nhà quản lý có thể lập nên các yêu cầu chung và các ràng buộc cho các dự án phát triển Trong những tổ chức lớn, các dự: án phát triển hệ thống được các uỷ ban tư vấn, các nhà lãnh đạo điều hành
tham gia quyết định, và họ thường là thành viên của các nhóm lập kế hoạch Bởi vậy, họ có quyền định hướng cho việc phát triển, đề xuất, thông qua
quyết định và giao nhiệm vụ cho các bộ phận thực hiện
1.5.6 Các chuyên viên kỹ thuật và các nhà quản lý khác l Đối với một tô chức lớn, vai trò của HTTT là đa dạng và trải rộng Vì
vay, co nhiéu nha chuyên môn được đưa vào tham gia hoạt động phát triển
HTTT Nếu một tổ chức đã có những CSDL, thì người quản trị CSDL
thường cùng tham gia vào mọi dự án liên quan đến CSDL của tô chức Các
chuyên gia về mạng và truyền thông hỗ trợ việc phát triển hệ thống liên
quan đến truyền đữ liệu trong và ngoài tổ chức Một vài tổ chức có bộ phận đào tạo cán bộ có liên quan đến việc cung cấp nhân lực, đào tạo nhân lực và người sử dụng; làm.các tài liệu đào tạo, hướng dẫn sử dụng Ngoài ra, đối với một hệ thống lớn và nhạy cảm (như hệ thống tài chính) rất cần thiết có cản bộ kiểm toán nội bộ để đảm bảo cho hoạt dong kiểm soát các yêu cầu đặt ra được xây dựng trong hệ thống Trong nhiều tổ chức lớn, người "kiếm toán có trách nhiệm theo dõi những thay đổi trong thiết kế hệ thống Những
sự tương tác cần thiết của tất cả các cá nhân tham gia phát triển hệ thống
làm cho việc phát hệ thống được thực hiện như một đội thống nhất
1.6 Xây dựng thành công hệ thống thông tin
1.6.1 Khái niệm về hệ thống thông tin đượ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ễ đàng đồng
y Vol 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á mot HTTT Mét HTTT được xem là có hiệu quả nếu nó góp phân nâng cao chất lượng hoạt động quản lý tổng thế) của một tổ chức, được thê hiện trên các mặt:
' Quản lý chất lượng tổng thể — TQM (Total Quality Management) la một khái niệm của người Nhật chỉ sự quan lý chất lượn, của tổ chức hướng đến mục tiêu sai hỏng bằng 0
Trang 39— Đạt được các mục tiêu thiết kế đề ra
— Chỉ phí vận hành là chấp nhận được
— Tin cậy, đáp ứng được các chuẩn mực của một HTTT hiện hành
— Sản phẩm có giá trị xác đáng |
— Dé hoc, dé nhé va dé sit dung
— — 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)
1.6.2 Những vấn đề đặt ra của việc xây dựng hệ thống thông tin
Rất tiếc là có tới 75% các HTTT 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ương pháp luận và công cụ sử dụng _ — Quản lý dự án
khi đi sâu nghiên cứu những vẫn đề nêu trên, nhiều nguyên nhân cốt
yếu nằm ở khâu phân tích và thiết kế
1 6.3 Công cụ trợ giúp tự động hoá phát triển hệ thống thông tin
Trước đây, phát triển HTTT xem như hoạt động mang tính nghệ thuật Mỗi nhà phát triển áp dụng các kỹ thuậ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 việc tích hợp hệ thống, tích hợp dữ liệu và bảo trì sau này Để giải quyết những vấn đề nêu trên, các phương pháp và phương pháp luận cùng các công cụ tự động hoá kèm theo đã được xây dựng, nhằm trợ giúp việc tự động hoá quá trình phát triển HTTT
a Khái niệm về CASE |
Trong phát triển các HTTT có nhiều hoạt động khác nhau (chăng hạn: ước lượng các nguồn lực yêu cầu; làm các tài liệu đặc tả, mã hoá; thực hiện các kiểm thử tích hợp và viết tài liệu hướng dẫn sử dụng, ) Cho đến nay, không phải tất ca các hoạt động này đã được tự động hoá bằng máy tính mà
không cần đến sự can thiệp của con người Tuy nhiên, rất nhiều công cụ đã được phát triển để trợ giúp cho các bước của quá trình phát triển mà ta gọi chung là CASE CASE là chữ viết tắt của Computer Aid Sofuare Engineering,
Trang 40chi phí phát triển, bảo dưỡng tiết kiệm và tiến hoá hệ thống một cách nhanh chóng
_ Hiện nay, với tất ca cdc tiém nang va loi ich, CASE có thể ảnh hưởng
đến nhiều cá nhân trong tô chức với nhiều cách khác nhau Người phát triển hệ thống sẽ tập trung nhiều hơn vào những vẫn đề giữa các cá nhân với nhau
và các kỹ năng giao tiếp, hơn là các kỹ năng phân tích độc lập b Phan loai CASE
Các loại công-cụ CASE khác nhau đã được giới thiệu, như các công cụ dịch ngược và tái kỹ nghệ dùng để xây dựng lại các hệ thống lạc hậu Các thành phần của toàn bộ hệ thống CASE được chia thành bác cao, bậc thấp, và các công cụ CASE cho cả vòng đời (bao trùm tat cả các pha của vòng đời phát triển hệ thống) Các công cụ C4SE bậc cao (rên) — các công cụ tạo biểu đồ; bộ tạo, sinh biểu mẫu và báo cáo; các công cụ phân tích (đầu tiên được sử dụng để trợ giúp việc xác định, lựa chọn dự án và lập kế hoạch, phân tích, thiết kế) Các công cụ C4SE bậc thấp (dưới) — các bộ tạo sinh mã (trước tiên được sử dụng để cung cấp các trợ giúp cho việc triển khai và bảo
trì hệ thống) Các công cụ để quản lý các vòng đời khác nhau — các công cụ
quản lý dự án, phối hợp các hoạt động của dự án Kho chứa và bộ tạo, sinh tài liệu được sử dụng qua nhiều các pha của vòng đời để trợ giúp việc quản lý dự án, đánh giá hoạt động và việc tạo các tài liệu hướng dẫn
CASE có thể sử dụng dé trợ giúp một phạm vi rộng rãi các hoạt động phát triển HTTT Có công cụ chỉ trợ giúp một loại hoạt động phát triển gọi là công cụ đơn (single tooj Những công cụ trợ giúp một số hoạt động phát triển gọi là bàn thợ (workbench) Người ta thường phi dùng nhiều công cụ
CASE để tạo nên nhữmg bộ công cụ phát triển thích hợp Nhiều công cụ CASE được tích hợp tạo lên một môi trường phát triển HTTT [Some01] như
ở hình 1.11
c Các công cụ phát triển tích hợp và trực quan
Các công cụ phát triển hệ thông đang phát triển rất nhanh Đặc biệt là
các công cụ lập trình đang trải qua những thay đổi cơ bản, làm cho việc lập
trình nhanh hơn và đơn giản hơn Không có chúng, việc lập trình có thể vẫn
là một quá trình chậm chạp, cực nhọc và buồn tẻ Trong số các công cụ lập trình phải kế đến là các công cụ phát triển hướng đối tượng, các công cụ phát triển trực quan