LỜI MỞ ĐẦU Sự phát triển công nghệ thông tin và việc ứng dụng công nghệ thông tin trong các lĩnh vực của đời sống, kinh tế, xã hội trong nhiều năm qua cũng đồng nghĩa với lượng dữ liệu đ
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC
BÁO CÁO CUỐI KÌ
HỆ HỖ TRỢ QUYẾT ĐỊNH
ĐỀ TÀI: RA QUYẾT ĐỊNH VÀ HỆ HỖ TRỢ RA QUYẾT ĐỊNH
Giảng viên hướng dẫn: TS Lê Chí Ngọc Nhóm sinh viên thực hiện: Nhóm 2 – Toán Tin K61
Nguyễn Thị Quỳnh Lê 20162343 Hoàng Thanh Lưu 20162602 Phạm Hoàng Anh 20160215 Trần Quang Minh 20162754
Hà Nội – 2020
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 3
Chương 1 Ra quyết định và hệ hỗ trợ ra quyết định 4
1.1 Tại sao phải ra quyết định? 4
1.2 Ra quyết định là gì? 5
1.3 Hệ hỗ trợ quyết định 7
1.3.1 Khái niệm hệ thống thông tin 7
1.3.2 Vòng đời của hệ thống 10
1.3.3 Phân tích và thiết kế hệ thống thông tin 14
1.3.4 Máy tính và quá trình ra quyết định 26
1.3.5 Hệ thống thông tin hỗ trợ ra quyết định 27
1.3.6 Hỗ trợ ra quyết định trên nền tảng Web 30
KẾT LUẬN 36
TÀI LIỆU THAM KHẢO 37
Trang 3LỜI MỞ ĐẦU
Sự phát triển công nghệ thông tin và việc ứng dụng công nghệ thông tin trong các lĩnh vực của đời sống, kinh tế, xã hội trong nhiều năm qua cũng đồng nghĩa với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ đang ngày một nhiều lên Hơn nữa, các công nghệ lưu trữ và phục hồi dữ liệu phát triển một cách nhanh chóng vì thế
cơ sở dữ liệu ở các cơ quan, doanh nghiệp ngày càng nhiều thông tin phong phú đa dạng Bên cạnh đấy, trong môi trường cạnh tranh, người ta càng cần có nhiều thông tin với tốc
độ nhanh để trợ giúp việc ra quyết định và ngày càng có nhiều câu hỏi mang tính định
tính cần phải trả lời dựa trên một khối lượng dữ liệu khổng lồ đã có Vậy nên, ngày nay
Hệ hỗ trợ ra quyết định (Decision Support System - DSS) đã được sử dụng rất nhiều trong các công ty, các công việc liên quan đến việc ra quyết định đã giúp các nhà quản
lý đưa ra các quyết định tốt hơn chính xác hơn, nâng cao được hiệu suất và chất lượng của các quyết định
Chính vì vậy, nhóm em chọn đề tài “Ra quyết định và hệ hỗ trợ ra quyết định”
để hiểu hơn về tầm quan trọng của việc ra quyết định và việc áp dụng công nghệ thông tin sẽ hỗ trợ giúp các nhà quản lý ra quyết định như thế nào?
Trong quá trình làm báo cáo, nhóm em đã nghiên cứu, tìm tòi và vận dụng các kiến thức được thầy cô trang bị Tuy nhiên do kiến thức còn hạn chế, nên báo cáo không thể tránh khỏi những thiếu sót, rất mong nhận được ý kiến đóng góp của thầy và các bạn
để bài báo cáo của nhóm em hoàn thiện hơn
Em xin chân thành cảm ơn!
Trang 4Chương 1
Ra quyết định và hệ hỗ trợ ra quyết định
1.1 Tại sao phải ra quyết định?
1.1.1 Tầm quan trọng của việc ra quyết định
Trong cuộc sống cũng như trong công việc, mỗi người trong chúng ta hàng ngày đều phải đối mặt với rất nhiều vấn đề khó khăn từ dễ đến khó Đó có thể chỉ đơn giản là quyết định mua một món hàng mình thích, ăn một món ăn lạ, …Hay nhiều khi là một quyết định có tính trọng đại ảnh hưởng đến không chỉ chính cá nhân của người ra quyết định mà còn rất nhiều người khác, thậm chí mang tính quốc gia hoặc quốc tế Có thể việc một chàng trai đắn đo lựa chọn con đường học vấn sẽ theo không phải là một chuyện
gì ghê gớm, đơn giản nó chỉ có thể ảnh hưởng đến chính cuộc sống của người ra quyết định, hay hơn nữa là gia đình và những người có liên quan Nhưng nếu suy nghĩ rộng ra
và đặt ra giả định cụ thể, ta mới có thể thấy hết được tầm quan trọng của việc ra quyết định và ảnh hưởng to lớn của nó đối với cuộc sống
Tầm quan trọng của việc ra quyết định
Ảnh hưởng trực tiếp đến tổ chức, doanh nghiệp và gián tiếp đến xã hội, quốc gia, quốc tế, …
Vậy quyết định có ảnh hưởng dây chuyền, vì vậy mỗi nhà quản trị phải thận trọng và chịu trách nhiệm trong quyết định của mình
1.1.2 Tại sao phải ra quyết định?
Cuộc sống là chuỗi các sự kiện, các vấn đề xảy ra hằng ngày mà ta phải đối mặt Mỗi một vấn đề thường có rất nhiều cách giải quyết từ nhiều góc độ khác nhau Vì vậy việc đưa ra quyết định cho riêng mình, riêng một tổ chức nào đó là cách duy nhất mà chúng ra phải chịu trách nhiệm với cuộc sống và thành công của mình Chúng ta thường
ra quyết định khi:
Trang 5 Khi có một hay nhiều vấn đề đang tồn tại đòi hỏi việc đưa ra quyết định để giải quyết
Có nhiều phương pháp khác nhau để giải quyết cùng một vấn đề, cần phải chọn
ra giải pháp cho phép đạt hiệu quả cao nhất
Khuyến khích sự sáng tạo và làm phát sinh nhiều giải pháp sáng tạo hơn
1.2 Ra quyết định là gì?
1.2.1 Đặc điểm của việc ra quyết định
Ra quyết định có một số đặc điểm sau đây:
Ra quyết định theo nhóm: Để đưa đến một quyết định nào đấy thì phải có sự bàn bạc kĩ lưỡng của một nhóm các chuyên gia phụ trách các vấn đề,… và quyết định được đưa ra của ban lãnh đạo dựa trên cơ sở tiếp thu, phân tích, đánh giá các ý kiến của các chuyên gia đấy
Người ra quyết định quan tâm đến việc đánh giá các kịch bản giả định Nếu – Thì: Nếu tôi làm như thế thì sẽ thế nào, nếu tôi không làm thế thì sẽ thế nào?
Thử nghiệm trên các hệ thống thực để xem xét tính hiệu quả (ví dụ: phát triển lịch biểu, thử nó và xem cách nó hoạt động tốt hay không tốt)
Thay đổi trong môi trường ra quyết định có thể diễn ra liên tục và quá trình
ra quyết định luôn phải cân nhắc nhiều thứ (ví dụ: giao hàng vào khoảng thời gian nghỉ lễ có thể tăng, đòi hỏi một cái nhìn khác về vấn đề)
Trang 6 Thay đổi trong môi trường ra quyết định có thể ảnh hưởng đến chất lượng quyết định bằng cách gây áp lực thời gian cho người ra quyết định
Thu thập thông tin và phân tích một vấn đề cần có thời gian và có thể tốn kém
Nó rất khó để xác định khi nào nên dừng lại và đưa ra quyết định Một quyết định nhanh chóng có thể thiếu chính xác
Có thể không có đủ thông tin để đưa ra quyết định thông minh
Quá nhiều thông tin có thể có sẵn (nghĩa là quá tải thông tin)
Để xác định cách những người ra quyết định thực sự đưa ra quyết định, trước tiên chúng ta phải hiểu quy trình và các vấn đề quan trọng liên quan đến việc ra quyết định Sau đó, chúng ta có thể tìm hiểu các phương pháp phù hợp để hỗ trợ những người ra quyết định và các hệ thống thông tin đóng góp có thể thực hiện Chỉ sau đó chúng ta mới
có thể phát triển DSS để giúp những người ra quyết định
Thuật ngữ DSS: quyết định (decision), hỗ trợ (support) và hệ thống (systems) Một người ra quyết định không nên đơn giản áp dụng các công cụ CNTT một cách mù quáng Thay vào đó, người ra quyết định nhận được hỗ trợ thông qua cách tiếp cận hợp lý, đơn giản hóa thực tế và cung cấp một phương tiện tương đối nhanh chóng và rẻ tiền để xem xét các khóa hành động thay thế khác nhau để đạt được điều tốt nhất (hoặc ít nhất là tốt) giải pháp cho vấn đề
1.2.2 Ra quyết định là gì?
Ra quyết định là một quá trình lựa chọn giữa hai hoặc nhiều khóa hành động thay thế cho mục đích đạt được một hoặc nhiều mục tiêu Theo Simon (1977), việc ra quyết định quản lý đồng nghĩa với toàn bộ quy trình quản lý Hãy xem xét chức năng quản lý quan trọng của kế hoạch Lập kế hoạch liên quan đến một loạt các quyết định: Nên làm gì? Khi nào? Ở đâu? Tại sao? Làm sao? Bởi ai? Người quản lý đặt mục tiêu, hoặc kế hoạch; do đó, lập kế hoạch ngụ ý ra quyết định Các chức năng quản lý khác, như tổ chức và kiểm soát, cũng liên quan đến việc ra quyết định
Tính chất của ra quyết định:
Tính khoa học và nghệ thuật
Nội dung và tác nghiệp cơ bản của nhà quản trị
Trang 7 Gắn liền với quá trình thông tin
Ảnh hưởng trực tiếp đến kết quả của tổ chức
Phân loại ra quyết định:
Quyết định theo tiêu chuẩn: Các quyết định có tính hằng ngày, dựa vào quy trình có sẵn, đã hình thành tiền lệ
Quyết định cấp thời: Những quyết định đòi hỏi tác động nhanh, chính xác và cần được thực hiện gần như tức thơi
Quyết định có chiều sâu: cần suy nghĩ, ra kế hoạch
Ngoài ra, còn có các cách phân loại theo nhiều tiêu chí khác nhau, ví dụ phân loại theo tính chất: Chiến lược, chiến thuật, tác nghiệp; phân lọaị theo thời gian: dài hạn, trung hạn, ngắn hạn…
1.3 Hệ hỗ trợ quyết định
1.3.1 Khái niệm hệ thống thông tin
Trước tiên, chúng ta cần tìm hiểu khái niệm hệ thống nói chung Có nhiều cách
định nghĩa khác nhau về hệ thống, song mỗi định nghĩa thường chỉ đề cập đến một mô hình nhất định về hệ thống và thường phụ thuộc vào mục tiêu nghiên cứu cụ thể của chúng ta Một cách tổng quát, hệ thống được định nghĩa như một tập hợp các phần tử có
Trang 8liên hệ với nhau để tạo thành một tổng thể chung Tuy nhiên có thể dùng định nghĩa hẹp hơn sau đây, phù hợp với nhu cầu cầu mô tả hệ thống thông tin:
Hệ thống là một tập hợp có tổ chức gồm nhiều phần tử có các mối quan hệ ràng buộc lẫn nhau và cùng hoạt động hướng tới mục tiêu chung
Phần tử có thể là vật chất hoặc phi vật chất: con người, máy móc, thông tin, dữ
liệu, phương pháp xử lí, quy tắc, quy trình xử lí Tương tự, các mối quan hệ giữa các
phần tử cũng chỉ là cách chúng ta muốn hệ thống đặt ra nhằm giải thích những hiện tượng mà chúng ta muốn tìm hiểu về bản chất
Một hệ thống bao giờ cũng có thể chia thành nhiều hệ thống con, nói cách khác, bản thân mỗi phần tử của hệ thống lại là một hệ thống
Cấu trúc của hệ thống là cách sắp xếp các phần tử và các mối liên kết giữa chúng Trạng thái của hệ thống là những đặc điểm của giúp ta hiểu được hệ thống ở từng
thời điểm
Hành vi của hệ thống là sự thay đổi trạng thái của hệ thống tại mỗi thời điểm và
được xác định bởi trạng thái hiện tại và cấu trúc của hệ thống
Từ khái niệm hệ thống nói chung, có thể đưa ra định nghĩa về hệ thống thông tin như sau:
Hệ thống thông tin là hệ thống tiếp nhận các nguồn dữ liệu như các yếu tố vào
và xử lý chúng thành các sản phẩm thông tin là các yếu tố ra
Hệ thống thông tin có năm tài nguyên cơ bản là:
Con người: bao gồm người sử dụng và các chuyên gia về hệ thống thông tin
Người sử dụng hay khách hàng là người trực tiếp sử dụng hệ thống thông tin và các sản phẩm thông tin mà hệ thống tạo ra Các chuyên gia về hệ thống thông tin
là người xây dựng và vận hành hệ thống thông tin Đó là các nhà phân tích hệ thống, các nhà lập trình, các kỹ sư tin học
Phần cứng: bao gồm tất cả các thiết bị và các phương tiện kỹ thuật dùng để xử
lý thông tin Trong đó chủ yếu là máy tính, các thiết bị ngoại vi dùng để lưu trữ
và vào ra dữ liệu, mạng lưới viễn thông dùng để truyền dữ liệu
Trang 9 Phần mềm: bao gồm các chương trình máy tính; các phần mềm hệ thống, các
phần mềm chuyên dụng và các thủ tục dành cho người sử dụng
Nguồn dữ liệu: Dữ liệu là vật liệu thô của hệ thống thông tin Dữ liệu có thể có
nhiều dạng khác nhau, có dữ liệu văn bản, có dữ liệu bằng hình ảnh, âm thanh…
Thủ tục: Các quy trình hoạt động, các thủ tục giao tiếp người - máy;
Các nguồn dữ liệu của hệ thống thông tin được tổ chức thành:
Các cơ sở dữ liệu, tổ chức và lưu giữ các dữ liệu đã được xử lý
Các cơ sở mô hình, lưu giữ các mô hình khái niệm, mô hình logíc, mô hình toán học diễn đạt các mối quan hệ, các quy trình tính toán, các kỹ thuật phân tích
Các cơ sở tri thức, lưu giữ các tri thức ở dạng khác nhau như các sự kiện, các quy tắc suy diễn về các đối tượng khác nhau
Trang 101.3.2 Vòng đời của hệ thống
Khung vòng đời phát triển hệ thống cung cấp một chuỗi các hoạt động cho kỹ sư
hệ thống và nhà phát triển tuân theo Nó bao gồm một loạt các bước hay giai đoạn mà mỗi giai đoạn đó của vòng đời phát triển hệ thống sẽ dùng kết quả của giai đoạn trước
Giai đoạn 1: Khảo sát dự án
Khảo sát hiện trạng là giai đoạn đầu tiên trong quá trình phát triển một hệ thống thông tin Nhiệm vụ chính trong giai đoạn này là tìm hiểu, thu thập thông tin cần thiết để chuẩn
bị cho việc giải quyết các yêu cầu được đặt ra của dự án Giai đoạn khảo sát được chia làm hai bước:
Bước 2: Đặt ra các vấn đề trọng tâm cần phải giải quyết, như:
Trang 11 Thông tin đưa vào hệ thống phải như thế nào?
Dữ liệu hiển thị và xuất ra khác nhau ở những điểm nào?
Ràng buộc giữa các đối tượng trong hệ thống cần xây được dựng ra sao?
Chức năng và quy trình xử lý của hệ thống phải đảm bảo những yêu cầu nào?
Cần sử dụng những giải pháp nào? Tính khả thi của từng giải pháp ra sao?
Từ những thông tin thu thập được và vấn đề đã đặt ra trong giai đoạn khảo sát, nhà quản trị và các chuyên gia sẽ chọn lọc những yếu tố cần thiết để cấu thành hệ thống thông tin riêng cho doanh nghiệp
Giai đoạn 2: Phân tích hệ thống
Mục tiêu của giai đoạn là xác định các thông tin và chức năng xử lý của hệ thống, cụ thể như sau:
Xác định yêu cầu của HTTT gồm: các chức năng chính - phụ; nghiệp vụ cần phải
xử lý đảm bảo tính chính xác, tuân thủ đúng các văn bản luật và quy định hiện hành; đảm bảo tốc độ xử lý và khả năng nâng cấp trong tương lai
Phân tích và đặc tả mô hình phân cấp chức năng tổng thể thông qua sơ đồ BFD
(Business Flow Diagram), từ mô hình BFD sẽ tiếp tục được xây dựng thành mô hình luồng dữ liệu DFD (Data Flow Diagram) thông qua quá trình phân rã chức năng theo các mức 0, 1, 2 ở từng ô xử lý
Phân tích bảng dữ liệu Cần đưa vào hệ thống những bảng dữ liệu (data table)
gồm các trường dữ liệu (data field) nào? Xác định khóa chính (primary key), khóa ngoại (foreign key) cũng như mối quan hệ giữa các bảng dữ liệu (relationship) và ràng buộc (constraint) dữ liệu cần thiết
Ở giai đoạn này, các chuyên gia sẽ đặc tả sơ bộ các bảng dữ liệu trên giấy để có cái nhìn khách quan Qua đó, xác định các giải pháp tốt nhất cho hệ thống đảm bảo đúng các yêu cầu đã khảo sát trước khi thực hiện trên các phần mềm chuyên dụng
Trang 12Giai đoạn 3: Thiết kế
Thông qua thông tin được thu thập từ quá trình khảo sát và phân tích, các chuyên gia
sẽ chuyển hóa vào phần mềm, công cụ chuyên dụng để đặc tả thiết kế hệ thống chi tiết Giai đoạn này được chia làm hai bước sau:
Bước 1: Thiết kế tổng thể
Trên cơ sở các bảng dữ liệu đã phân tích và đặc tả trên giấy sẽ được thiết kế dưới dạng
mô hình mức ý niệm bằng phần mềm chuyên dụng như Sybase PowerDesigner, CA
ERwin Data Modeler Bằng mô hình mức ý niệm sẽ cho các chuyên gia có cái nhìn tổng quát nhất về mối quan hệ giữa các đối tượng trước khi chuyển đổi thành mô
hình mức vật lý
Bước 2: Thiết kế chi tiết
Thiết kế cơ sở dữ liệu (Database): Với mô hình mức vật lý hoàn chỉnh ở giai đoạn thiết kế đại thể sẽ được kết sinh mã thành file sql
Thiết kế truy vấn, thủ tục, hàm: thu thập, xử lý thông tin nhập và đưa ra thông tin chuẩn xác theo đúng nghiệp vụ
Thiết kế giao diện chương trình đảm bảo phù hợp với môi trường, văn hóa và yêu cầu của doanh nghiệp thực hiện dự án
Thiết kế chức năng chương trình đảm bảo tính logic trong quá trình nhập liệu
và xử lý cho người dùng
Thiết kế báo cáo Dựa trên các yêu cầu của mỗi doanh nghiệp và quy định hiện hành sẽ thiết kế các mẫu báo cáo phù hợp hoặc cho phép doanh nghiệp
tư tạo mẫu báo cáo ngay trên hệ thống
Thiết kế các kiểm soát bằng hình thức đưa ra các thông báo, cảnh báo hoặc lỗi cụ thể tạo tiện lợi và kiểm soát chặt chẽ quá trình nhập liệu với mục tiêu tăng độ chính xác cho dữ liệu
Tóm lại, thiết kế là việc áp dụng các công cụ, phương pháp, thủ tục để tạo ra mô hình
hệ thống cần sử dụng Sản phẩm cuối cùng của giai đoạn thiết kế là đặc tả hệ thống ở
dạng nó tồn tại thực tế, sao cho 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
Trang 13Giai đoạn 4: Thực hiện
Đây là giai đoạn nhằm xây dựng hệ thống theo các thiết kế đã xác định Giai đoạn này bao gồm các công việc sau:
Lựa chọn hệ quản trị cơ sở dữ liệu (SQL Server, Oracle, MySQL, …) và cài đặt
cơ sở dữ liệu cho hệ thống
Lựa chọn công cụ lập trình để xây dựng các modules chương trình của hệ thống (Microsoft Visual Studio, PHP Designer, )
Lựa chọn công cụ để xây dựng giao diện hệ thống (DevExpress, Dot Net Bar, ) Viết tài liệu hướng dẫn sử dụng, tài liệu kỹ thuật hoặc clip hướng dẫn
Giai đoạn 5: Kiểm thử
Trước hết phải lựa chọn công cụ kiểm thử
Kiểm chứng các modules chức năng của hệ thống thông tin, chuyển các thiết kế thành các chương trình (phần mềm)
Thử nghiệm hệ thống thông tin
Cuối cùng là khắc phục các lỗi (nếu có)
Viết test case theo yêu cầu
Kết quả cuối cùng là một hệ thống thông tin đạt yêu cầu đặt ra
Giai đoạn 6: Triển khai và bảo trì
Lắp đặt phần cứng để làm cơ sở cho hệ thống
Cài đặt phần mềm
Chuyển đổi hoạt động của hệ thống cũ sang hệ thống mới, gồm có: chuyển đổi
dữ liệu; bố trí, sắp xếp người làm việc trong hệ thống; tổ chức hệ thống quản lý
và bảo trì
Phát hiện các sai sót, khuyết điểm của hệ thống thông tin
Đào tạo và hướng dẫn sử dụng
Cải tiến và chỉnh sửa hệ thống thông tin
Bảo hành
Nâng cấp chương trình khi có phiên bản mới
Trang 141.3.3 Phân tích và thiết kế hệ thống thông tin
Trong quy trình xây dựng phần mềm, phân tích, thiết kế hệ thống thông tin (PTTKHTTT) là một công đoạn rất quan trọng Mức độ quan trọng của phân tích, thiết
kế hệ thống thông tin như thế nào? Việc làm này có được cái nhìn đầy đủ, đúng đắn, chính xác về hệ thống thông tin sẽ xây dựng trong tương lai nhằm thuận lợi cho việc sửa chữa, bổ sung và phát triển hệ thống khi có yêu cầu Hơn thế nữa, còn tránh được những sai lầm trong thiết kế, cài đặt và tăng vòng đời của hệ thống
1.3.3.1 Cách tiếp cận phân tích thiết kế hệ thống theo phương pháp hướng đối
1.3.3.2 Khái quát các bước phân tích thiết kế hướng đối tượng
Trang 15Phân tích thiết kế hướng đối tượng được xây dựng dựa trên biểu đồ các kí hiệu UML (Unifield Modeling Language) gồm có hai bước cơ bản sau: phân tích và thiết kế được thể hiện như trong hình dưới.
Một công việc quan trọng trước khi thực hiện các bước của biểu đồ trên là công đoạn thu thập các yêu cầu từ khách hàng Ở đây, tác giả không đưa công đoạn này vào biểu đồ vì nó không thuộc vào kĩ thuật phân tích thiết kế hệ thống mà có được nhờ vào kinh nghiệm của người thực hiện nhiệm vụ lấy yêu cầu Yêu cầu phần mềm là việc mô
tả chi tiết tất cả các chức năng và phi chức năng mà phần mềm phải thực hiện đầy đủ theo yêu cầu của khách hàng Đồng thời các sai sót về ý niệm cũng thường xảy ra nhiều nhất ở giai đoạn này có thể do từ khách hàng không có cách truyền đạt hay nhà phát triển chưa hiểu được ý khách hàng
Trang 161.3.3.3 Giải quyết vấn đề
1 Vai trò của phân tích thiết kế hệ thống
Việc phân tích một hệ thống bao gồm các nhiệm vụ: Thiết lập một cách nhìn tổng quan
rõ ràng về hệ thống và các mục đích chính của hệ thống cần xây dựng; Liệt kê các nhiệm
vụ mà hệ thống cần thực hiện; Phát triển một bộ từ vựng để mô tả bài toán cũng như những vấn đề liên quan và đưa ra hướng giải quyết bài toán Việc thiết kế một hệ thống, thực chất là: Xác định hệ thống sẽ được xây dựng như thế nào dựa trên kết quả của việc phân tích Đưa ra các phần tử hỗ trợ giúp cấu thành nên một hệ thống hoạt động thực sự
và định nghĩa một chiến lược cài đặt cho hệ thống Giai đoạn phân tích thiết kế hệ thống
là giai đoạn chuyển những yêu cầu từ khách hàng thành phần mềm máy tính Đây là giai đoạn quan trọng nhất trong tiến trình phát triển phần mềm vì giai đoạn này quyết định vòng đời của hệ thống Trong các hệ thống thông tin vừa và nhỏ, một phân tích viên có thể là người lập trình cho hệ thống Tuy nhiên, đối với một hệ thống lớn thì bộ phận phân tích viên phải là một tập thể và có đủ khả năng nắm bắt các lĩnh vực hoạt động của những yêu cầu được đặt ra từ khách hàng Đồng thời, ở giai đoạn này việc chọn lựa phương pháp và mô hình phân tích thiết kế cũng có ảnh hưởng không nhỏ đến cấu trúc
và tốc độ truy xuất dữ liệu của hệ thống Mặt khác, ngoài việc đáp ứng các yêu cầu nghiệp vụ của người dùng một phần mềm tốt cần có khả năng thích ứng và mở rộng Vì vậy, phần mềm cần được phân tích thiết kế tốt để đứng vững trước những biến đổi của môi trường, dù từ phía cộng đồng người dùng hay từ phía công nghệ vẫn có thể dễ dàng phát triển theo yêu cầu của người dùng mà không cần phải sửa chữa nhiều
2 Ví dụ minh họa phân tích, thiết kế chức năng in ấn của hệ thống Quản lý hoạt động khoa học công nghệ
2.1 Quy trình xây dựng chức năng in
Quy trình xây dựng chức năng in ấn được thực hiện như hình 2, bao gồm: thu thập yêu cầu; phân tích, thiết kế và cài đặt
Trang 17Trước tiên là việc thu thập yêu cầu, bao gồm các công việc:
Tìm hiểu quy trình thực hiện đề xuất nhiệm vụ khoa học
Thu thập các loại biểu mẫu cần thiết khi thực hiện nghiên cứu khoa học
Tập hợp các yêu cầu về nghiệp vụ, giao diện, phân quyền và bảo mật của chức năng này
Tiếp theo là việc phân tích, thiết kế hệ thống theo yêu cầu nghiệp vụ Hiện nay, thường dùng phương pháp phân tích theo hướng đối tượng và mô hình phát triển phần mềm UML Cuối cùng, là việc cài đặt chức năng in ấn
2.2 Phân tích hệ thống sử dụng công cụ UML
Dựa vào yêu cầu nghiệp vụ và quy chế để xây dựng biểu đồ hoạt động và
chuyển trạng thái của hệ thống như sau:
Trang 18 Biểu đồ use case: thể hiện chức năng của các tác nhân như: Phòng Khoa học và
Công nghệ, Đơn vị, và người thực hiện