Giáo trình Phân tích thiết kế hệ thống thông tin cung cấp cho người học những kiến thức như: Những vấn đề chung; Nghiên cứu và xử lý kết quả nghiên cứu; Mô hình hoá quan niệm; Mức tổ chức và vật lý; Quản lý các giai đoạn xây dựng HTTT;...Mời các bạn cùng tham khảo!
Những vấn đề chung 4
Hệ thống thông tin 4
Hệ thống là một tập hợp các phần tử tương tác, được tổ chức để đạt được một mục đích cụ thể Khi áp dụng định nghĩa này vào các tổ chức, cần làm rõ một số khái niệm quan trọng.
Các phần tử ở đây tập hợp các phương tiện vật chất và nhân lực
Tổ chức hoạt động như một hệ thống mở, có mối liên hệ chặt chẽ với môi trường xung quanh Trong đó, một số thành phần của hệ thống tương tác với các yếu tố bên ngoài như cung ứng và thương mại, tạo ra sự liên kết và phát triển bền vững.
Hệ thống thông tin là một cấu trúc trong đó các thành phần tương tác với nhau thông qua mối liên hệ thông tin, đồng thời cũng kết nối với các hệ thống khác.
Hệ thống thông tin của một tổ chức bao gồm các nguồn lực và quy trình xử lý thông tin, trong đó thông tin đóng vai trò quan trọng không thể thiếu Khi đề cập đến thông tin, chúng ta cần xem xét các khía cạnh liên quan đến việc thu thập, quản lý và phân tích dữ liệu để hỗ trợ ra quyết định hiệu quả trong tổ chức.
Kiểu thông tin: Ví như văn bản, số liệu, âm thanh, hình ảnh, tri thức
Phương tiện lưu trữ thông tin: Giấy, phim, ảnh, đĩa vv
Các quy tắc và phương pháp biến đổi thông tin
Hệ thống thông tin tin học hóa là phần mềm tin học được hình thành từ các yếu tố như con người, thông tin, phương tiện và phương pháp xử lý thông tin.
1.1.1.1 Các hệ thống thông tin
Ngày nay, công nghệ thông tin đã trở thành một phần quan trọng trong hầu hết các lĩnh vực của đời sống xã hội Các hệ thống thông tin có thể được phân loại theo nhiều tiêu chí khác nhau, tùy thuộc vào quan điểm của người phân tích Xét về mặt ứng dụng, hệ thống thông tin được chia thành một số nhóm chính.
Hệ thống thông tin quản lý:
Các hệ thống thông tin đóng vai trò quan trọng trong việc hỗ trợ hoạt động nghiệp vụ và quản lý của doanh nghiệp và tổ chức Chúng bao gồm các hệ thống như quản lý nhân sự, kế toán, tính cước và chăm sóc khách hàng, quản lý thư viện, đào tạo trực tuyến, và quản lý đại lý bán hàng từ xa.
Các hệ thống Website được thiết kế để cung cấp thông tin đa dạng cho người dùng trên môi trường Internet, bao gồm tin tức và các loại file đa phương tiện Đặc điểm nổi bật của các hệ thống này là thông tin luôn được cập nhật thường xuyên, giúp người dùng tiếp cận những nội dung mới nhất.
Giáo viên biên soạn: Nguyễn Trần Phương
Hệ thống thương mại điện tử bao gồm các website chuyên biệt cung cấp dịch vụ mua bán hàng hóa trực tuyến Các nền tảng này hỗ trợ các giao thức giao dịch, hình thức thanh toán và chuyển giao hàng hóa, tạo điều kiện thuận lợi cho việc trao đổi thương mại trên Internet.
Các hệ thống phần mềm kết hợp với thiết bị phần cứng hoặc các hệ thống khác nhằm điều khiển và giám sát hoạt động của thiết bị Ví dụ điển hình bao gồm hệ thống máy tính nhúng trong dây chuyền sản xuất, hệ thống điều khiển lò nung, và hệ thống điều khiển cửa phai thủy điện.
Mỗi loại hệ thống thông tin đều có những đặc trưng và yêu cầu phát triển riêng biệt Ví dụ, hệ thống điều khiển cần môi trường phát triển, hệ điều hành và ngôn ngữ lập trình đặc thù, trong khi hệ thống website yêu cầu phương pháp phát triển thích hợp cho môi trường mạng phân tán Do đó, không tồn tại một phương pháp luận chung áp dụng cho tất cả các dạng hệ thống thông tin.
Có một cách phân chia khác:
Hệ thống thông tin (Information System):
Lưu trữ, truy xuất và chuyển đổi thông tin cho người dùng là nhiệm vụ quan trọng Việc xử lý các tập dữ liệu lớn với những mối quan hệ phức tạp được thực hiện thông qua các cơ sở dữ liệu quan hệ hoặc hướng đối tượng.
Hệ thống kỹ thuật (Technical System):
Xử lý và điều khiển thiết bị kỹ thuật như viễn thông, hệ thống quân sự và quy trình công nghiệp là một nhiệm vụ quan trọng Những thiết bị này yêu cầu xử lý giao tiếp đặc biệt, không có phần mềm chuẩn, và thường hoạt động trong môi trường thời gian thực (real time).
Hệ thống nhúng (Embeded System):
Hệ thống nhúng được triển khai trên phần cứng tích hợp trong các thiết bị như điện thoại di động và điều khiển xe hơi Việc này yêu cầu lập trình mức thấp với khả năng hỗ trợ thời gian thực Thông thường, những hệ thống này không sử dụng các thiết bị như màn hình hoặc đĩa cứng.
Hệ thống phân bố (Distributed System) cho phép truyền dữ liệu dễ dàng giữa các máy tính khác nhau, yêu cầu các cơ chế liên lạc đồng bộ để đảm bảo tính toàn vẹn của dữ liệu Những hệ thống này thường được xây dựng dựa trên các kỹ thuật đối tượng như CORBA, COM/DCOM, và Java Beans/RMI.
Hệ thống Giao dịch (Business System):
Mô tả mục đích, tài nguyên (con người, máy tính, …), các quy tắc (luật pháp, chiến thuật kinh doanh, cơ chế, …), và công việc hoạt động kinh doanh
Phân tích và thiết kế hệ thống thông tin 6
Phân tích và thiết kế hệ thống thông tin là phương pháp quan trọng để xây dựng và duy trì hệ thống thông tin, nhằm thực hiện các chức năng như lưu trữ, xử lý và truyền thông tin Mục tiêu chính là cải tiến cấu trúc hệ thống thông qua các quy trình, thường là nhờ vào ứng dụng phần mềm, giúp người sử dụng hoàn thành công việc hiệu quả hơn Là một nhà phân tích hệ thống, bạn sẽ đóng vai trò trung tâm trong quá trình phát triển phần mềm Quá trình này dựa trên sự hiểu biết về mục tiêu, cấu trúc và quy trình của tổ chức, cùng với kiến thức về công nghệ thông tin để mang lại lợi ích thiết thực cho tổ chức.
Không có phần mềm nào hoàn hảo ngay từ khi ra mắt, do đó việc nghiên cứu và đánh giá nhu cầu trước khi thiết kế là rất quan trọng trong dự án tin học hóa hệ thống Quá trình này giúp phân tích hiện trạng và tối ưu hóa chi phí phát triển hệ thống.
Trong quá trình đầu tư, các yêu cầu thường rất mơ hồ, như "Phần mềm quản lý " hoặc "Trang tin điện tử của đơn vị ", mà không chỉ rõ vấn đề cụ thể cần tin học hóa Khi triển khai, nhà đầu tư thường chỉ tập trung vào các nhu cầu trực tiếp mà bỏ qua tổng thể hệ thống, dẫn đến việc không đề cập đến mối liên hệ giữa các nhóm và các quy định, quy trình hiện tại Do đó, cần thiết phải có một phương pháp khoa học để hướng dẫn thực hiện dự án tin học hóa phù hợp với mô hình phát triển.
Có nhiều quan điểm khác nhau về cách tiếp cận và phân chia các giai đoạn trong quá trình thực hiện dự án Một số tài liệu chỉ ra bốn giai đoạn, trong khi những tài liệu khác phân chia thành tám giai đoạn Tuy nhiên, trong khuôn khổ tài liệu này và điều kiện cụ thể tại trường, tôi sẽ phân chia các giai đoạn thành năm bước: Lập kế hoạch và xác định yêu cầu, Phân tích, Thiết kế, Thi công và Thử nghiệm.
Giáo viên biên soạn: Nguyễn Trần Phương nghiệm; Bảo trì và nội dung chủ yếu của từng giai đoạn được tóm tắt ở các mục tương ứng
1.2.1 Các quan điểm phân tích
Quan điểm tiếp cận tổng thể nhấn mạnh rằng mọi thành phần, dữ liệu và chức năng đều là một phần của tổng thể, và việc hiểu biết tất cả các yếu tố này là cần thiết cho sự phát triển của hệ thống Tuy nhiên, do giới hạn trong khả năng hiểu biết của mỗi cá nhân, cùng với sự khác biệt trong điều kiện sống và môi trường đào tạo, việc yêu cầu một sự hiểu biết toàn diện có thể là điều khó khả thi.
Quan điểm cấu trúc coi tổ chức và các lĩnh vực hoạt động như những phần tử có cấu trúc với quy tắc hoạt động, quy tắc kiểm tra và hệ thống thông tin riêng Tuy nhiên, không phải tất cả các quy tắc này đều có thể được mô tả một cách hoàn chỉnh, vì có thể tồn tại những mâu thuẫn không thể dung hòa Để đạt được sự đồng bộ hóa, tất cả các quy tắc hoạt động cần phải được xem xét và điều chỉnh một cách hợp lý.
Trong những năm 70 và 80, các quan điểm phát triển phần mềm được coi là chuẩn mực Tuy nhiên, với sự thay đổi và phát triển của công nghệ, những chuẩn mực này đã trở nên không phù hợp, đặc biệt là trong việc phát triển các hệ thống phần mềm lớn Điều này dẫn đến hiệu quả kém trong việc sử dụng và tái sử dụng phần mềm, một yêu cầu quan trọng trong ngành công nghiệp phần mềm hiện nay.
Quan điểm trừ trên - xuống (top - down) là phương pháp tiếp cận từ tổng thể đến chi tiết, xác định các mức độ trừu tượng tương ứng với chu trình phát triển của hệ thống Phương pháp này không chỉ định rõ các giai đoạn trong quá trình xây dựng hệ thống thông tin mà còn xác định kết quả mong đợi cho từng giai đoạn Để áp dụng hiệu quả quan điểm này, cần có các phương pháp phân tích khoa học và đội ngũ phân tích viên chuyên nghiệp.
Tóm lại, mặc dù có nhiều quan điểm và cách nhìn nhận khác nhau, quan điểm "Chia để trị" vẫn là kim chỉ nam quan trọng trong việc phân tích và thiết kế các hệ thống thông tin cần phát triển hiện nay.
1.2.2 Các phương pháp phân tích
Trong thập niên 90, nhiều phương pháp phân tích đã được phát triển, đặc biệt là trong lĩnh vực phần mềm hướng đối tượng, dẫn đến sự phổ biến của chúng trong ngành công nghiệp phần mềm hiện nay Tài liệu này chỉ đề cập đến các phương pháp và ghi nhận kết quả, trong khi việc nghiên cứu sâu hơn sẽ được dành cho các bậc học cao hơn.
The Structured Analysis and Design Technique (SADT) is a method originating from the United States that focuses on structured analysis and design This approach incorporates Data Flow Diagrams (DFD) and a Data Dictionary, providing a comprehensive framework for analyzing and designing systems effectively.
Phương pháp phân tích MERISE (Method Pour Rassembler les Ideés Sans Effort) theo [GTPTTK.ĐHQG] dựa vào các mức bất biến kết hợp với mô hình
Tạm dịch là "Các phương pháp tập hợp ý tưởng không cần cố gắng", ra đời tại Pháp cuối thập niên 70
Phương pháp MXC (Méthode de Xavier Castellani): Nguồn gốc từ Pháp
Phương pháp GALACSI (Groupe d' Animation et de Liaison pour d' Analyse et la Conception de Systeme d' Information): Tạm dịch nguyên văn:
"Nhóm cọ vẽ và liên lạc để phân tích và quan niệm hoá hệ thông tin" ra đời tại
1.2.2.1 Phương pháp hướng cấu trúc Đặc trưng của phương pháp hướng cấu trúc là phân chia chương trình chính thành nhiều chương trình con, mỗi chương trình con nhằm đến thực hiện một công việc xác định
Trong phương pháp hướng cấu trúc, phần mềm được thiết kế dựa trên một trong hai hướng: Hướng dữ liệu và hướng hành động
Cách tiếp cận hướng dữ liệu trong xây dựng phần mềm tập trung vào việc phân rã phần mềm theo các chức năng cần thiết và dữ liệu tương ứng Phương pháp này giúp các nhà phát triển dễ dàng tạo ra ngân hàng dữ liệu hiệu quả.
Cách tiếp cận hướng hành động lại tập trung phân tích hệ phần mềm dựa trên các hoạt động thực thi các chức năng của phần mềm đó
Phương pháp hướng cấu trúc là một kỹ thuật thiết kế từ trên xuống (top-down), trong đó bài toán được phân rã thành các phần nhỏ hơn Quá trình này tiếp tục phân chia các bài toán con cho đến khi đạt được các bài toán có thể cài đặt thông qua các hàm trong ngôn ngữ lập trình hướng cấu trúc.
Phương pháp hướng cấu trúc có ưu điểm là tư duy phân tích thiết kế rõ ràng và chương trình dễ hiểu Tuy nhiên, phương pháp này cũng gặp một số nhược điểm, bao gồm việc không hỗ trợ tái sử dụng, do các chương trình hướng cấu trúc phụ thuộc chặt chẽ vào cấu trúc dữ liệu và bài toán cụ thể, dẫn đến khó khăn trong việc sử dụng lại các modul cho phần mềm mới Hơn nữa, phương pháp này không phù hợp cho phát triển các phần mềm lớn với cơ sở dữ liệu phân tán, vì việc phân chia thành các bài toán con và quản lý mối quan hệ giữa các modul có thể gây ra lỗi trong phân tích và thiết kế hệ thống, cũng như làm cho việc kiểm thử và bảo trì trở nên khó khăn.
1.2.2.2 Phương pháp hướng đối tượng
Các giai đoạn trong quá trình xây dựng hệ thống thông tin 12
Việc phát triển các hệ thống thông tin không chỉ đơn giản là lập trình mà luôn được xem như một tiến trình hoàn chỉnh
Tiến trình phần mềm là phương pháp sản xuất phần mềm, bao gồm các yếu tố chính như mô hình vòng đời phát triển phần mềm, các công cụ hỗ trợ phát triển và đội ngũ phát triển phần mềm.
Tiến trình phát triển phần mềm là sự kết hợp giữa các khía cạnh kỹ thuật và quản lý, bao gồm vòng đời phát triển, phương pháp, công cụ, ngôn ngữ và quản lý dự án Các giai đoạn trong quá trình xây dựng hệ thống thông tin tương ứng với các bước phát triển sản phẩm phần mềm, với những bước cơ bản như phân tích yêu cầu, thiết kế, lập trình, kiểm thử và triển khai.
1.3.1 Lập kế hoạch, xác định yêu cầu Đây là giai đoạn đầu tiên nhằm nghiên cứu thực trạng của tổ chức (nhà đầu tư) có nhu cầu tin học hóa một quá trình nào đó được nhà phát triển gọi là dự án tin học hóa (bản chất là xây dựng một phần mềm phục vụ mục đích chuyên dụng của một tổ chức đó, không loại trừ phần mềm này đã được thương mại hóa và có bán trên thị trường nhưng có một số điểm không phù hợp với yêu cầu cụ thể của đơn vị đó) Nếu là dự án tin học hóa lớn người ta cũng có thể tổ chức đấu thầu như việc
Trước khi tham gia đấu thầu trong xây dựng, nhà phát triển cần tiến hành khảo sát hiện trạng thực tế sơ bộ Nếu không thực hiện khảo sát, lựa chọn khôn ngoan nhất có thể là chỉ gia công một số công đoạn trong dự án tin học.
Trong giai đoạn này, các nhà phát triển cần phải xác định rõ ràng các yêu cầu cụ thể từ phía nhà đầu tư trước khi bắt đầu nghiên cứu và phát triển dự án.
Nhà phát triển phải có kế hoạch và thống nhất với nhà đầu tư thời gian khảo sát thực tiễn tại đơn vị đó bao gồm:
Thời gian và địa điểm sẽ khảo sát
Số lượng các thành viên, cơ sở vật chất có liên quan, ảnh hưởng đến việc triển khai dự án đó
Khám phá các khái niệm liên quan đến việc phát triển phần mềm
Trình độ và sự sẵn sàng của các thành viên trong đơn vị đối với việc tin học hóa là yếu tố quan trọng Đồng thời, việc xác định chính xác yêu cầu và các ràng buộc của khách hàng đối với sản phẩm phần mềm cũng là điều cần thiết để đảm bảo sự thành công trong quá trình phát triển.
Bên cạnh đó cũng thống nhất thời gian tiến hành và kết thức dự án, các giai đoạn chính trong quá trình thực hiện dự án
Các vấn đề về tài chính, nhân sự và trách nhiệm các bên trong từng giai đoạn
Trước khi bắt đầu dự án, nhà đầu tư cần ký kết các hợp đồng và thực hiện các thủ tục hành chính phù hợp với pháp luật của quốc gia nơi dự án được triển khai.
1.3.2.1 Phân tích hướng chức năng theo [GTPTTK.ĐHQG] Đây là công việc trọng tâm trong cả quá trình xây dựng hệ thống thông tin Bản thân giai đoạn này cũng có khởi điểm nằm trong các giai đoạn khác Đặc biệt là nằm quá trình nghiên cứu hiện trạng của giai đoạn lập kế hoạch trước nhưng ở mức độ chi tiết hơn
Để xây dựng một mô hình chính xác cho hệ thống, cần xác định rõ ràng các thành phần cấu tạo nên mô hình này, bao gồm những đối tượng liên quan trực tiếp đến hệ thống thực tế.
Sản phẩm được mô tả với các chức năng cụ thể, bao gồm các đầu vào và đầu ra cần thiết Việc khám phá các khái niệm trong lĩnh vực quan tâm của sản phẩm giúp xác định rõ ràng phạm vi của dự án cần được tin học hóa, đồng thời đưa ra những giải pháp ban đầu cho việc xây dựng hệ thống.
Nghiên cứu hiện trạng là quá trình xác định tình hình hiện tại của hệ thống cũ, xem xét vai trò và nhiệm vụ của từng đơn vị cũng như từng thành viên liên quan Đồng thời, nghiên cứu này cũng phân tích mối quan hệ và luồng thông tin, cũng như quy trình xử lý thông tin nhằm đáp ứng nhu cầu tin học hóa trong tổ chức.
Tần suất, thời hạn và hiệu suất của thông tin trong hệ thống cũ cần được đánh giá để xác định khả năng cải tiến Các giải pháp và khả năng phát triển cho hệ thống tin học trong tương lai sẽ tập trung vào việc tối ưu hóa hiệu suất và nâng cao tính hiệu quả của thông tin.
Xây dựng mô hình hệ thống dựa trên nghiên cứu hiện trạng là bước quan trọng để xác định mô hình thông tin và mô hình hoạt động Giai đoạn này có vai trò quyết định đến sự thành công hay thất bại của dự án tin học hóa.
Phụ thuộc hoàn toàn vào tài năng và kinh nghiệm của các phân tích viên
Tính thống nhất, hiểu biết chuyên môn giữa các phân tích viên và các thành viên các được tìm hiểu tại các đơn vị thuộc nhà đầu tư
Sự hợp tác của các thành viên tham gia không loại trừ các lý do tế nhị
Khả năng tài chính của nhà đầu tư khi phải thay đổi
Trình độ ứng dụng tin học và khả năng thích ứng của các thành viên trong đơn vị sẽ ảnh hưởng đến việc sử dụng phần mềm trong tương lai Hầu hết các phần mềm đều yêu cầu một số điều chỉnh trong quy trình hoạt động của tổ chức, ngay cả khi điều này không được mong muốn.
Lập hồ sơ nhiệm vụ bao gồm việc lựa chọn các giải pháp và xác định các chức năng cần thiết cho hệ thống Điều này cũng bao gồm việc phác thảo giao diện thô và các mô-đun cơ bản, có thể hình thành một nguyên mẫu Ngoài ra, cần chuẩn bị các văn bản thỏa thuận giữa các bên liên quan như phân tích viên, nhà đầu tư và người sử dụng.
1.3.2.2 Phân tích hướng đối tượng theo UML- Ngôn Ngữ Mô Hình Hoá Thống Nhất (Unifield Modeling Language) [TĐQ&NMS.PTTK]