You are on page 1of 40

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN

CHƯƠNG 1
GIỚI THIỆU VỀ PHÂN TÍCH & THIẾT KẾ HỆ THỐNG

01/2023
1
NỘI DUNG

• Các khái niệm cơ bản về hệ thống thông tin


• Các thành phần cấu thành hệ thống thông tin
• Tổ chức quản lý trong công ty và việc ra quyết định
• Phân loại hệ thống thông tin
• Vai trò, vị trí, kỹ năng của phân tích viên
• Chu kỳ phát triển hệ thống (SDLC)
• Các kỹ thuật và công cụ phát triển hệ thống
• Các phương pháp luận phát triển hệ thống
• Phương pháp phân tích thiết kế hướng đối tượng
2
Thông tin – Nguồn lực chính

• Fuels business and can be the critical factor in


determining the success or failure of a
business

• Needs to be managed correctly

• Managing computer-generated information


differs from handling manually produced data

3
Sự cần thiết của phân tích và thiết kế hệ thống

• Việc cài đặt một hệ thống mà không có kế hoạch


phù hợp dẫn đến sự không hài lòng lớn của người
dùng và thường khiến hệ thống rơi vào tình trạng
không sử dụng được nữa

• Phân tích và thiết kế hệ thống cung cấp cấu trúc


cho việc phân tích và thiết kế hệ thống thông tin

• Sự tham gia của người dùng trong suốt một dự án


hệ thống là rất quan trọng đối với sự phát triển
thành công của các hệ thống máy tính
4
Vai trò của phân tích hệ thống

• The analyst must be able to work with people of all


descriptions and be experienced in working with
computers (kinh nghiệm làm việc với máy tính)

• Three primary roles:

• Consultant (tư vấn)

• Supporting Expert (chuyên gia hỗ trợ)

• Agent of change (tác nhân của sự thay đổi)

5
Phẩm chất của PTV

• Problem solver (giải quyết vấn đề)

• Communicator (kĩ năng giao tiếp)

• Strong personal and professional ethics (đạo


đức cá nhân và đạo đức nghề nghiệp)

• Self-disciplined and self-motivated (tự kỉ luật và


tự động viên)

6
Vòng đời phát triển hệ thống (SDLC)

• Vòng đời phát triển hệ thống (SDLC) là một


cách tiếp cận theo từng giai đoạn để giải
quyết các vấn đề kinh doanh

• Được phát triển thông qua việc sử dụng một


chu trình cụ thể của các hoạt động của nhà
phân tích và người dùng

• Mỗi giai đoạn có các hoạt động người dùng


duy nhất

7
7 giai đoạn của SDLC

8
Xác định vấn đề, cơ hội và mục tiêu

Hoạt động:
• Phỏng vấn quản lý người dùng
• Tổng hợp kiến ​thức thu được
• Ước tính phạm vi của dự án
• Tài liệu hóa kết quả

Kết quả:
• Báo cáo khả thi bao gồm định nghĩa vấn đề và
tóm tắt khách quan mà từ đó ban quản lý có
thể đưa ra quyết định về việc có nên tiến hành
dự án được đề xuất hay không

9
Xác định yêu cầu thông tin của con người

Hoạt động:
• Phỏng vấn
• Lấy mẫu và đầu tư dữ liệu cứng
• Bảng câu hỏi
• Quan sát hành vi và môi trường của người ra
quyết định
• Prototyping
• Tìm hiểu ai, cái gì, ở đâu, khi nào, như thế nào
và tại sao của hệ thống hiện tại

10
Xác định yêu cầu thông tin của con người

Kết quả:
• Nhà phân tích hiểu cách người dùng hoàn
thành công việc của họ khi tương tác với máy
tính
• Bắt đầu biết cách làm cho hệ thống mới hữu
ích và khả dụng hơn
• Nhà phân tích cũng nên biết các chức năng
kinh doanh
• Có thông tin đầy đủ về con người, mục tiêu, dữ
liệu và thủ tục liên quan

11
Phân tích nhu cầu hệ thống

Hoạt động:
• Tạo biểu đồ luồng dữ liệu (Data Flow Diagram)
• Hoàn thành từ điển dữ liệu
• Phân tích việc ra quyết định có cấu trúc (Điều
kiện - Điều kiện lựa chọn thay thế - Hành động
- Quy tắc hành động)
• Có 3 phương pháp ra quyết định có cấu
trúc: Cấu trúc tiếng anh - Bảng quyết định -
Cây quyết định
• Chuẩn bị và trình bày đề xuất hệ thống

Kết quả:
• Gợi ý về những gì nên được thực hiện 12
Thiết kế hệ thống được đề xuất

Hoạt động:
• Sử dụng thông tin thu thập được trước đó để
hoàn thành việc thiết kế luận lý hệ thống
• Thiết kế các thủ tục để nhập dữ liệu chính xác
• Thiết kế giao diện người-máy tính (HCI)
• Thiết kế files (output) và/hoặc cơ sở dữ liệu
• Thiết kế thủ tục dự phòng

Kết quả:
• Mô hình của hệ thống thực tế

13
Phát triển và lập tài liệu phần mềm
Hoạt động:
• Nhà phân tích hệ thống làm việc với các lập trình
viên để phát triển bất kỳ phần mềm gốc nào
• Làm việc với người dùng để phát triển tài liệu hiệu
quả (người dùng biết cách sử dụng phần mềm ntn
và nên làm gì khi phần mềm bị lỗi)
• Các lập trình viên thiết kế, code và loại bỏ các lỗi
cú pháp khỏi các chương trình máy tính
• Phần mềm tài liệu với hướng dẫn thủ tục, trợ giúp
trực tuyến, các câu hỏi thường gặp (Frequently
Asked Questions) và tệp Read Me

Kết quả:
• Chương trình máy tính
• Tài liệu hệ thống 14
Kiểm tra và bảo trì hệ thống

Hoạt động:
• Kiểm thử hệ thống (kiểm tra với dữ liệu mẫu
bởi lập trình viên hoặc nhà phân tích + lập
trình viên)
• Bảo trì hệ thống
• Tài liệu bảo trì

Kết quả:
• Các vấn đề, nếu có
• Chương trình cập nhật
• Tài liệu

15
Thực thi và đánh giá hệ thống

Hoạt động:
• Đào tạo người dùng
• Lập kế hoạch chuyển đổi từ hệ thống cũ
sang hệ thống mới
• Rà soát, đánh giá hệ thống

Kết quả:
• Nhân sự được đào tạo
• Hệ thống đã cài đặt

16
Tác động của bảo trì

Bảo trì được thực hiện vì hai lý do


Xóa lỗi phần mềm
Tăng cường phần mềm hiện có

Theo thời gian, chi phí bảo trì liên tục sẽ lớn hơn
so với việc tạo ra một hệ thống hoàn toàn mới
Tại thời điểm đó, việc thực hiện một nghiên cứu
hệ thống mới trở nên khả thi hơn

Tăng cường phần mềm vì ba lý do


Bao gồm các tính năng bổ sung
Địa chỉ kinh doanh thay đổi theo thời gian
Địa chỉ thay đổi phần cứng và phần mềm 17
Tiêu thụ tài nguyên trong suốt vòng đời hệ thống
Phương pháp tiếp cận Agile

Cách tiếp cận nhanh nhẹn là một cách tiếp


cận phát triển phần mềm dựa trên
• Values (giá trị)
• Principles (nguyên tắc)
• Core practices (thực hành cốt lõi)

19
Giá trị Agile

Bốn giá trị là:


• Communication (giao tiếp)

• Simplicity (đơn giản)

• Feedback (phản hồi)

• Courage (can đảm)

20
Phương pháp tiếp cận Agile (nhanh nhẹn)

• Cách tiếp cận Agile là:


• Interactive (tương tác)
• Incremental (gia tăng)

• Lặp lại thường xuyên là điều cần thiết để phát


triển hệ thống thành công

21
5 giai đoạn phát triển của mô hình Agile

23
Thăm dò

• Tập hợp đội


• Đánh giá kỹ năng
• Nghiên cứu các công nghệ tiềm năng
• Thử nghiệm viết user stories
• Có thái độ vui tươi và tò mò đối với môi
trường làm việc, các vấn đề, công nghệ và
con người của nó

23
Lập kế hoạch

● Các quy tắc có thể giúp hình thành mối quan


hệ của nhóm phát triển Agile với khách hàng
doanh nghiệp của họ

● Tối đa hóa giá trị của hệ thống do nhóm Agile


tạo ra

● Người tham gia chính là nhóm phát triển và


khách hàng doanh nghiệp

24
Lặp lại bản phát hành đầu tiên

• Lặp lại là chu kỳ của


• Testing (kiểm thử)
• Feedback (phản hồi)
• Change (thay đổi)

• Một mục tiêu là chạy các bài kiểm tra chức


năng do khách hàng viết ở cuối mỗi lần lặp lại

25
Sản xuất

• Sản phẩm được phát hành trong giai đoạn


này
• Có thể được cải thiện bằng cách thêm các
tính năng khác

26
Bảo trì

• Các tính năng mới có thể được thêm vào

• Đề xuất khách hàng rủi ro hơn có thể được


xem xét

• Các thành viên trong nhóm có thể được luân


chuyển (vào hoặc ra) khỏi nhóm

27
Phương pháp phân tích thiết kế hướng đối tượng
Object-Oriented Systems Analysis and Design

• Cách tiếp cận thay thế cho cách tiếp cận có cấu trúc
của SDLC nhằm tạo điều kiện thuận lợi cho sự phát
triển của các hệ thống phải thay đổi nhanh chóng để
đáp ứng với môi trường kinh doanh năng động

• Sử dụng Ngôn ngữ mô hình hóa thống nhất (Unified


Modeling Language) để mô hình hóa các hệ thống
hướng đối tượng
• Mỗi đối tượng là một đại diện máy tính của một số
sự vật hoặc sự kiện thực tế
28
Các bước trong quá trình phát triển UML
The Steps in the UML Development Process

29
Xác định mô hình use case

• Xác định các tác nhân và sự kiện chính do các


tác nhân khởi xướng

• Vẽ sơ đồ Use case

• Một sơ đồ với các hình que đại diện cho các


tác nhân và mũi tên cho thấy các tác nhân có
liên quan như thế nào.

30
Sơ đồ Use caseccho hệ thống cuộc hẹn
Bắt đầu vẽ sơ đồ UML

• Vẽ sơ đồ hoạt động, minh họa tất cả các hoạt


động chính trong case sử dụng

• Tạo một hoặc nhiều sơ đồ trình tự cho từng


trường hợp sử dụng hiển thị trình tự các hoạt
động và thời gian của chúng
• Xem lại các case sử dụng, suy nghĩ lại và
sửa đổi chúng nếu cần.

33
Hoạt động luồng kinh doanh để xử lý đơn đặt
hàng
Giai đoạn phân tích

• Phát triển class diagrams

• Vẽ statechart diagrams (sơ đồ / biểu đồ trạng


thái)

34
Thiết kế hệ thống

● Sửa đổi hệ thống hiện có

● Sửa đổi các sơ đồ được vẽ trong giai đoạn


trước
● Viết thông số kỹ thuật lớp cho mỗi lớp

35
Phát triển và ghi lại hệ thống

Thông tin bạn cung cấp cho nhóm phát triển


thông qua tài liệu và sơ đồ UML càng đầy đủ thì
quá trình phát triển càng nhanh và hệ thống sản
xuất cuối cùng càng vững chắc.

36
Tổng quan
về sơ đồ
UML cho
thấy cách
mỗi sơ đồ
dẫn đến sự
phát triển của
các sơ đồ
UML khác
How to Decide Which Development Method to
Use
Phần mềm mã nguồn mở (OSS)

• Giải pháp thay thế cho phát triển phần mềm


truyền thống
• Mọi người dùng và coder có thể nghiên cứu, chia
sẻ, và chỉnh sửa code

39
ÔN TẬP
a. Phần mềm được phân phối miễn phí cùng mã nguồn và cho phép

1. Open source bất cứ ai được thay đổi


software b. Cách tiếp cận hướng đối tượng sử dụng chuẩn … để mô hình hóa
các hệ thống theo hướng đối tượng
2. UML c. Cho người dùng biết cách sử dụng phần mềm và phải làm gì nếu sự
3. Documentation cố phần mềm xảy ra
4. SDLC
5. Agent of change d. Trong giai đoạn yêu cầu thông tin của …, phân tích viên cố gắng
6. Leader hiểu những thông tin mà người dùng cần để thực hiện công việc của
7. Compromiser
họ
8. OOP
e. Vai trò phù hợp của phân tích viên là ….
9. Agile

10. CASE f. Một bách khoa toàn thư được sử dụng để lưu trữ tất cả thông tin
repository trong dự án 43

You might also like