TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI<br />
KHOA CÔNG NGHỆ THÔNG TIN<br />
----------o0o---------<br />
<br />
Thạc Bình Cường<br />
<br />
Bài giảng điện tử môn học<br />
<br />
PHÂN TÍCH VÀ THIẾT KẾ<br />
HỆ THỐNG THÔNG TIN<br />
<br />
-1-<br />
<br />
Lời nói đầu<br />
Hệ thống thông tin (HTTT) là một trong những ngành mũi nhọn của công nghệ<br />
thông tin (CNTT) đã có nhiều ứng dụng trong quản lý kinh tế đặc biệt là quản lý các<br />
doanh nghiệp. Mặc dù hiện nay có khá nhiều ngôn ngữ lập trình và hệ quản trị cơ sở<br />
dữ liệu cũng như các phần mềm chuyên dụng cho quản lý song đối với một hệ thống<br />
quản lý lớn việc vận dụng ngay các phần mềm đó là một vấn đề gặp không ít khó<br />
khăn.<br />
Các hệ thống thông tin tin học hoá chưa đáp ứng được yêu cầu của các nhà<br />
quản lý có nhiều nguyên nhân song nguyên nhân vô cùng quan trọng đó là các nhà<br />
xây dựng hệ thống thông tin không được trang bị kiến thức cơ bản về phân tích và<br />
thiết kế, thiếu kinh nghiệm tham gia vào quá trình phân tích thiết kế dẫn đến giai<br />
đoạn cài đặt thay đổi nhiều, thậm trí thất bại gây ra sự lãng phí trong việc khai thác,<br />
bảo trì và phát triển hệ thống.<br />
Một trong những nguyên nhân chính làm cho các sản phẩm phần mềm trong<br />
lĩnh vực quản lý thiếu tính chuyên nghiệp là còn thiếu rất nhiều những nhà phân tích.<br />
Đó là những chuyên gia tin học có thể phân tích tìm hiểu, khảo sát sự hoạt động của<br />
các xí nghiệp, doanh nghiệp, các tổ chức hành chính xã hội để thiết kế các hệ thống<br />
tin học phục vụ công tác quản lý trong mọi lĩnh vực. Để đáp ứng nhu cầu về phát<br />
triển đội ngũ cán bộ chuyên ngành về công nghệ thông tin trong chương trình Công<br />
nghệ thông tin quốc gia môn học “Phân tích và thiết kế hệ thống thông tin” trở thành<br />
môn học chính trong ngành CNTT ở các trường đại học, cao đẳng.<br />
Cuốn sách này đề cập tới việc phân tích và thiết kế một HTTT, nhấn mạnh đến<br />
HTTT quản lý. Phân tích thiết kế hệ thống thông tin là phương pháp luận để xây dựng<br />
và phát triển hệ thống thông tin bao gồm các lý thuyết, mô hình, phương pháp và các<br />
công cụ sử dụng trong quá trình phân tích và thiết kế hệ thống. Giáo trình này thường<br />
được giảng dạy ở năm cuối của các bậc đào tạo. Nội dung chính của cuốn sách được<br />
sắp xếp theo thứ tự các giai đoạn phát triển hệ thống:<br />
-<br />
<br />
Giai đoạn khảo sát, tìm hiểu nhu cầu hệ thống nhằm xác định hệ thống được<br />
lập ra đáp ứng nhu cầu gì của người dùng<br />
<br />
-<br />
<br />
Giai đoạn phân tích nhằm đi sâu chi tiết vào các chức năng và dữ liệu của hệ<br />
thống, cho biết hệ thống phải làm gì<br />
<br />
-<br />
<br />
Giai đoạn thiết kế nhằm đưa ra các quyết định về cài đặt hệ thống, để sao cho<br />
hệ thống vừa thoả mãn các các yêu cầu mà giai đoạn phân tích đã đưa ra đồng<br />
thời chú trọng đến khả năng thích ứng với các ràng buộc trong thực tế, mang<br />
tính khả thi dù phải thoả hiệp một số các tiêu chuẩn nhất định<br />
<br />
-<br />
<br />
Giai đoạn cài đặt bao gồm công việc chính là lập trình và kiểm sửa. Đây là giai<br />
đoạn chuyển các kết quả phân tích thiết kế thành các sản phẩm ứng dụng.<br />
<br />
-<br />
<br />
Giai đoạn khai thác và bảo trì là triển khai hệ thống vào sử dụng đồng thời hiệu<br />
chỉnh các sai lỗi và thay đổi khi phát hiện những chỗ chưa thích hợp.<br />
<br />
Nội dung trong giáo trình được bổ sung thêm hai chương về phân tích thiết kế<br />
hướng đối tượng, nhằm giúp sinh viên mở rộng sự hiểu biết và cách tiếp cận của mình<br />
về một vấn đề mới, có thể sử dụng các phần mềm lập trình hướng đối tượng với ứng<br />
dụng thực tế trong những năm gần đây.<br />
-2-<br />
<br />
Để cho sinh viên có thể tự kiểm tra đánh giá sự tiếp thu bài giảng thì ngoài các<br />
thí dụ trong các phần bài giảng, chúng tôi đã đưa vào các câu hỏi, bài tập ngay cuối<br />
mỗi chương bao gồm cả các câu hỏi trắc nghiệm và câu hỏi luận giải nhằm cô đọng<br />
các kiến thức đã trình bày. Cuối giáo trình chúng tôi đưa thêm một số bài tập lớn, bài<br />
thi các khoá trước để sinh viên tham khảo. Phần phụ lục là tập hợp các cụm từ và viết<br />
tắt bằng cả tiếng Anh và tiếng Việt giúp cho độc giả tiện tra cứu và thống nhất cách sử<br />
dụng.<br />
Liên quan đến môn học đòi hỏi người đọc cần có các kiến thức về:<br />
+ Cơ sở dữ liệu: Cung cấp các kiến thức và mô hình về cách tổ chức các cơ sở<br />
dữ liệu lớn, đặc biệt là các nguyên lý của các hệ quản trị cơ sở dữ liệu, các hiểu<br />
biết sơ đẳng về CSDL như khái niệm về quan hệ, phụ thuộc hàm, phụ thuộc<br />
hàm sơ cơ đẳng, phụ thuộc hàm trực tiếp, các dạng chuẩn 1NF, 2NF, 3NF...<br />
+ Kỹ thuật lập trình: Mặc dù phân tích và thiết kế HTTT không đề cập chi tiết<br />
việc lập trình, song trong giai đoạn thiết kế chương trình, sinh viên đòi hỏi phải<br />
có các kỹ năng về các kỹ thuật lập trình như phương pháp thiết kế chương trình<br />
từ trên xuống (top-down), làm mịn dần, tinh chỉnh từng bước, đệ qui, thuật giải<br />
và độ phức tạp về thuật giải, lập trình cấu trúc và lập trình hướng đối tượng...<br />
Các ngôn ngữ lập trình chuyên dụng chẳng hạn như các hệ quản trị cơ sở dữ liệu<br />
FOXPRO, ACCESS, VISUAL BASIC<br />
+ Về quản trị doanh nghiệp: Các kiến thức về cấu trúc tổ chức, nhân sự, tài<br />
chính, vật tư, kế toán, lập kế hoạch, triển khai dự án tin học. Sự hiểu biết về<br />
quản lý kinh tế là thật sự cần thiết đối với người phân tích thiết kế hệ thống.<br />
Ngoài ra sinh viên cần có hiểu biết tối thiểu về lý thuyết hệ thống, có thể sẽ được<br />
giới thiệu trong phần đầu của cuốn sách.<br />
Với kinh nghiệm giảng dạy nhiều năm môn Phân tích thiết kế HTTT, cũng như<br />
qua làm thực tế các dự án tin học nói chung, dù đã có những kết quả nhất định, nhưng<br />
với một yêu cầu to lớn nghiêm túc của môn học chắc rằng cuốn sách này còn thiếu<br />
sót mong các đồng nghiệp lượng thứ và góp ý để có chỉnh lý kịp thời.<br />
Cuốn sách này được dùng như tài liệu cho môn học Phân Tích Thiết Kế Hệ<br />
thống Thông tin. Nội dung của cuốn sách đã được dùng để giảng dạy cho sinh viên<br />
một số trường đại học, cao đẳng và đặc biệt cho các cán bộ quản lý các dự án CNTT<br />
trong nhiều năm qua. Người đọc có thể tra cứu tài liệu tham khảo bằng tiếng Việt hay<br />
tiếng nước ngoài chú thích ở phần cuối.<br />
<br />
-3-<br />
<br />
Hướng dẫn thực hiện chương trình<br />
a) Môn hoc này nên học sau các môn tiên quyết : Tin học cơ sở, Cơ sở dữ liệu, kỹ<br />
thuật lập trình, và một hệ quản trị cơ sở dữ liệu: FOX, ACCESS, VB...<br />
b) Quá trình lên lớp lý thuyết học viên được giới thiệu một hệ thống thông tin trọn<br />
vẹn đủ phúc tạp để làm ví dụ minh hoạ trong suốt các giai đoạn phân tích thiết kế.<br />
Nếu có điều kiện học sinh được tham quan một vài cơ sở doanh nghiệp để ứng<br />
dụng thực hành phần lý thuyết trên lớp<br />
c) Sinh viên cần phải đọc thêm các tài liệu tham khảo [1],[2],[7] và sách giáo trình<br />
kèm theo để hiểu thêm chi tiết nội dung của môn học. Đặc biệt giáo viên hướng<br />
dẫn học viên đọc thêm nội dung các chương 1, chương 3 làm giảm thời gian lên<br />
lớp lý thuyết<br />
d) Bài tập lớn giao cho từng nhóm từ 3-4 học viên, có nhóm trưởng. Giáo viên giới<br />
thiệu một số đề tài để học sinh lựa chọn hoặc nhóm học sinh có thể tự tìm đề tài và<br />
thông qua giáo viên môn học. Sinh viên được tham khảo các tài liệu và các bài tập<br />
mẫu. Nhóm thực hiện bài tập lớn cần nộp các sản phẩm là đặc tả phân tích và thiết<br />
kế được soạn thảo trên máy và làm tài liệu hướng dẫn cho phóm phát triển chương<br />
trình. Bản báo cáo gồm 15-20 trang khổ A4. Nếu có điều kiện các nhóm có thể bảo<br />
vệ bài tập lớn<br />
Đánh giá:<br />
Kết quả học tập môn hoc của sinh viên được đánh giá thông qua 2 hình thức<br />
a) Điểm bài tập lớn 50%, là điều kiện cần để học sinh được tham dự bài thi viết<br />
b) Điểm bài thi viết 60 phút : 50%<br />
<br />
-4-<br />
<br />
Chương 1. Đại cương về hệ thống thông tin<br />
Các hệ thống thông tin được tin học hoá là một chủ đề rất rộng và có nhiều<br />
khía cạnh khác nhau. Hệ thống thông tin được tin học hoá là phương pháp sử dụng<br />
một hệ thống máy tính để giải quyết các vấn đề quản lý đã được xác định của người<br />
sử dụng. Vì thế, máy tính cung cấp những giải pháp thông qua việc cung cấp các<br />
thông tin hữu ích tới người sử dụng bằng cách xử lý thông tin được nhập vào. Toàn bộ<br />
quá trình này được gọi là một hệ thống thông tin (HTTT). Để thuận tiện, trong tài liệu<br />
này chúng ta sẽ sử dụng từ “hệ thống” hoặc “dự án” thay cho cụm từ “Hệ thống<br />
thông tin”.<br />
Nội dung chính của chương này bao gồm:<br />
• Các khái niệm về HTTT<br />
• Nhiệm vụ, vai trò và các thành phần của HTTT<br />
• Quy trình phát triển HTTT<br />
• Các kỹ thuật khảo sát thu thập thông tin<br />
• Đề xuất giải pháp sơ bộ và xác định tính khả thi của hệ thống sẽ xây<br />
dựng<br />
1.1 Khái niệm về hệ thống thông tin<br />
Ngày nay hệ thống thông tin được ứng dụng rộng rãi trong cuộc sống vì có<br />
sự hỗ trợ của máy tính và chúng ta gọi là HTTT tự động hoá. Để hiểu rõ thuật<br />
ngữ này chúng ta xuất phát từ khái niệm hệ thống chung nhất, hệ thống nghiệp<br />
vụ (Business) rồi đến hệ thống thông tin.<br />
1.1.1 Các hệ thống- Hệ thống nghiệp vụ<br />
Hệ thống: một tập hợp có tổ chức của nhiều phần tử thường xuyên tương tác với<br />
nhau, có những mối quan hệ ràng buộc lẫn nhau và cùng hoạt động chung cho một<br />
mục đích nào đó. Môi trường là phần nằm ngoài hệ thống đang xét và thực chất nó là<br />
một hệ thống nào đó có giao tiếp với hệ thống đang xét. Giữa hệ thống và môi trường<br />
là đường giới hạn xác định biên giới của hệ thống. Hình 1.1 là mô hình tổng quát của<br />
hệ thống.<br />
<br />
M«i tr−êng<br />
PhÇn tö<br />
<br />
Hình 1.1 Mô hình tổng quát của một hệ thống<br />
<br />
-5-<br />
<br />