Khoa Hệ thống thông tin kinh tế và Thương mại điện tử

Bộ môn Công nghệ thông tin

Học phần PHÁT TRIỂN HỆ THỐNG THÔNG TIN KINH TẾ

CHƯƠNG 1. TỔNG QUAN VỀ PHÁT TRIỂN HTTTKT

1.1. Khái niệm về hệ thống thông tin kinh tế 1.2. Quy trình phát triển hệ thống thông tin kinh tế 1.3. Một số phương pháp phát triển HTTT kinh tế 1.4. Một số công cụ hỗ trợ phát triển HTTT kinh tế

9/5/22

Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020

2

1.1. Khái niệm Hệ thống thông tin kinh tế

§ Hệ thống thông tin là tập hợp người, thủ tục và các nguồn lực để thu thập, xử lý, truyền và phát thông tin kinh tế trong một tổ chức.

§ Hệ thống thông tin có thể là thủ công nếu dựa vào các công

cụ như giấy, bút.

§ Hệ thống thông tin hiện đại là hệ thống tự động hóa dựa vào

máy tính (phần cứng, phần mềm) và các công nghệ thông tin khác.

Ø3

Các thành phần của HTTT kinh tế

§ Một hệ thống thông tin sử dụng con người, phần cứng, phần mềm,

mạng và nguồn dữ liệu để thực hiện việc nhập, xử lý, xuất, lưu trữ, và

kiểm soát quá trình chuyển đổi dữ liệu thành sản phẩm thông tin.

§ Quy trình xử lý thông tin là trung tâm của HTTT.

• Nhập

• Xử lý

• Xuất

Lưu trữ

Quy trình xử lý thông tin của một hệ thống bán hàng online như thế nào?

• Kiểm soát

4

Vai trò của HTTT kinh tế trong tổ chức

§ Liên kết các bộ phận trong tổ chức § Thu thập, lưu trữ và xử lý khối lượng dữ liệu lớn § Hỗ trợ nghiệp vụ: tăng hiệu quả, hiệu suất thực hiện § Hỗ trợ ra quyết định và điều hành công việc § Đóng vai trò trung gian giữa tổ chức và môi trường, xã hội

(thu thập, cung cấp thông tin)

5

Con người trong phát triển HTTT

Chuyên viên phân tích nghiệp vụ (Business analysts)

Chuyên viên phân tích hệ thống (Systems analysts)

Thiết kế viên (Designers)

Lập trình viên (Programmers)

Kiểm thử viên (Testers)

Nhân viên triển khai (Deployers)

Nhà quản lý dự án (Project managers)

Nhân viên QA

Nhà quản lý CNTT cao cấp (Senior IT managers)

Giám đốc thông tin (Chief information officer - CIO)

6

Con người trong phát triển HTTT

§ Người dùng nội bộ (Internal users):

• Người dùng nghiệp vụ (Business users)

• Quản lý kinh doanh (Business manager)

manager)

• Quản lý chiến lược kinh doanh (Business strategy

7

Con người trong phát triển HTTT

§ Người sử dụng bên ngoài (External users):

potential customers)

• Khách hàng và khách hàng tiềm năng (Customers and

(Shareholders, other owners and sponsors)

• Cổ đông, các chủ sở hữu và các nhà tài trợ khác

• Xã hội (Society)

8

1.2.1.Vòng đời phát triển

§ Quá trình phát triển hệ thống thông tin kể từ lúc sinh ra đến khi kết

thúc được gọi là vòng đời phát triển hệ thống - Systems Development

Life Cycle (SDLC).

§ Vòng đời phát triển HTTT bao gồm: Lên ý tưởng về hệ thống và mục

đích của nó, nghiên cứu công việc hệ thống thực đang xử lý, thiết

kế hệ thống mới, xây dựng hoặc mua hệ thống mới, cài đặt hệ thống

và sau khi được đào tạo người dùng bắt đầu sử dụng hệ thống mới

vào việc thực hiện các công việc hàng ngày của tổ chức doanh

nghiệp.

9

Vòng đời phát triển (t)

§ Vòng đời phát triển HTTT cũng giống như vòng đời phát triển

một sản phẩm thương mại, phải tuân theo các bước (công

đoạn) nhất định, như:

1. Hình thành yêu cầu của tổ chức

Xây dựng/Phát triển theo yêu cầu

2.

Khi hệ thống không còn có nhu cầu sử dụng nó sẽ được thay thế bởi một hệ

thống khác.

3. Đưa vào sử dụng/vận hành

10

Vòng đời phát triển (t)

Hoạt động xây dựng căn nhà

11

1.2.2. Các bước chung trong quy trình phát triển

§ Bước 1: Khảo sát

— Khảo sát hệ thống cũ, vạch ra các vấn đề tồn tại trong hệ thống cũ và xác định

phạm vi của hệ thống mới.

— Thường thực hiện phân tích quy trình nghiệp vụ, mô hình hóa quy trình nghiệp vụ ở bước này để tìm ra vấn đề, nguyên nhân của vấn đề ở hệ thống cũ và lợi ích của hệ thống mới.

— Xác định phạm vi của hệ thống mới, lập kế hoạch các hoạt động xây dựng hệ thống mới, xác định thời gian, nguồn lực cần thiết, chi phí đầu tư và lợi ích mang lại từ hệ thống mới.

— Kết quả của giai đoạn này là xác định được dự án phát triển hệ thống mới hoặc được chấp nhận để phát triển, hoặc bị từ chối, hoặc phải định hướng lại.

12

Các bước chung trong quy trình phát triển (t)

§ Bước 2: Phân tích

—Thu thập yêu cầu hệ thống, các phân tích viên làm việc

với người sử dụng để xác định tất cả những gì mà người dùng mong muốn từ hệ thống đề xuất.

nhận biết và loại bỏ những yếu tố dư thừa.

— Nghiên cứu yêu cầu và cấu trúc hóa (mô hình hóa) để dễ dàng

— Phát sinh các phương án chọn lựa phù hợp với yêu cầu và so sánh các phương án này để xác định giải pháp nào là đáp ứng tốt nhất các yêu cầu trong một mức độ cho phép về chi phí, nhân lực và kỹ thuật của tổ chức. Kết quả của giai đoạn này là bản mô tả về phương án được chọn.

13

Các bước chung trong quy trình phát triển (t)

§ Bước 3: Thiết kế

— Kết quả của giai đoạn phân tích sẽ được chi tiết hóa để trở thành một giải pháp kỹ thuật để thực hiện. Các đối tượng và các lớp mới được xác định để bổ sung vào việc cài đặt yêu cầu và tạo ra một cơ sở kỹ thuật về kiến trúc.

— Ví dụ: các lớp giao diện, các lớp thuộc phạm vi vấn đề và hạ tầng cơ sở. Giai đoạn thiết kế sẽ đưa ra kết quả là bản đặc tả chi tiết cho gian đoạn xây dựng hệ thống.

— Thiết kế chia làm 2 mức: Thiết kế mức khái niệm và thiết kế vật lý.

14

Các bước chung trong quy trình phát triển (t)

§ Bước 4. Lập trình

— Triển khai các tài liệu thiết kế bằng ngôn ngữ lập trình để đưa ra các mô

đun chức năng. Cuối bước này sẽ cho ra được mã nguồn của chương trình

để làm đầu vào cho quá trình kiểm thử tiếp theo.

§ Bước 5. Kiểm thử

— Phát hiện lỗi trong phần mềm, lên kế hoạch kiểm tra kết hợp với các bộ tài

liệu thiết kế và dữ liệu kiểm thử. Cuối bước này sẽ đưa ra được báo cáo về

các lỗi của phần mềm trong khi kiểm nghiệm.

15

Các bước chung trong quy trình phát triển (t)

§ Bước 6. Triển khai

trình này tiến hành sau khi phần mềm được chuyển giao cho khách hàng.

§ Bước 7. Bảo trì và nâng cấp

— Là quá trình triển khai và đưa hệ thống vào sử dụng trong tổ chức. Quá

— Mục tiêu của bảo trì là đảm bảo phần mềm vận hành ổn định khắc phục

lỗi trong quá trình vận hành một cách nhanh chóng. Việc nâng cấp phần

mềm, thêm tính năng mới sẽ được tiến hành ở giai đoạn này nếu khách

hàng yêu cầu.

16

1.2.3. Các cách tiếp cận

1. Tuyến tính (linear approach):

— Mô hình thác nước (waterfall model)

— Mô hình chữ V (V model)

2. Tiến hóa (evolutionary approach)

— Mô hình tăng dần (incremental model)

— Mô hình lặp (Interative development)

3. Agile

9/5/22

Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020

17

— Xoắn ốc (Spiral development)

Mô hình thác nước

§ Các bước được thực hiện tuần

tự

§ Hoàn thành bước này mới

sang bước tiếp theo

§ Chú trọng làm tài liệu cẩn thận

§ Phù hợp với hệ thống dễ dàng xác định yêu cầu ngay từ đầu

§ Hạn chế:

9/5/22

Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020

18

— chậm có phiên bản dùng được — lỗi phát hiện muộn gây tổn thất lớn

Mô hình chữ V

§ Được mở rộng từ mô hình

thác nước để nhấn mạnh

vai trò của hoạt động kiểm

thử

§ Test cases được xác định

từ khi có yêu cầu đến khi

có thiết kế (được thể hiện

bằng mũi tên nét đứt)

9/5/22

Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020

19

Tăng dần

§ Sau 3 pha đầu tiên, các yêu cầu được xếp thứ tự ưu tiên để phát triển từng phần và bàn giao từng phần

§ Mỗi khi

tích hợp thêm phần mới đều cần kiểm thử lại các phần đã bàn giao

9/5/22

Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020

20

Lặp

§ Bắt đầu phát triển phiên bản 1 từ những yêu cầu đầu tiên § Phát triển các phiên bản trung gian với những yêu cầu mới § Phiên bản cuối đảm bảo mọi yêu cầu được thỏa mãn

Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020

9/5/22

21

1.2.4. Một số quy trình phát triển cụ thể

§ RUP (Rational Unified Process) § Agile method/ Scrum, XP,…

9/5/22

Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020

22

RUP (Rational Unified Process)

§ Rational IBM § Gắn với ngôn ngữ mô hình

hóa thống nhất UML (Unified Modeling Language)

§ Công cụ Rational Rose

9/5/22

Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020

23

RUP (Rational Unified Process)

§ 4 pha (phases) § Mỗi pha có nhiều bước lặp

(Iterations)

§ Mỗi bước lặp cần thực hiện tuần tự, đầy đủ các bước: 1. Mô hình hóa nghiệp vụ 2. Xác định yêu cầu 3. Phân tích và thiết kế Lập trình 4. 5. Kiểm thử 6. Chuyển giao

9/5/22

Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020

24

Agile

§ Agile: tập các nguyên tắc thực hành cho phát triển phần mềm

§ Scrum, XP, … : các quy trình phát triển phần mềm tuân theo

các nguyên tắc thực hành của Agile

Agile XP

Scrum

Crystal

AgileUP

DSDM

FDD

25

Agile (t)

§ Phát triển tăng dần

§ Phiên bản mới được làm trong vòng 2-3 tuần

§ Khách hàng tham gia vào tiến trình phát triển

— Phát biểu yêu cầu

— Xếp thứ tự ưu tiên các yêu cầu

§ Hạn chế tài liệu, thay vào đó là các trao đổi thường xuyên giữa các

thành viên đội phát triển với nhau và với khách hàng.

— Phản hồi nhanh về sự thay đổi, bổ sung yêu cầu cho phiên bản tiếp theo.

Agile (t)

§ Agile manifesto – Tuyên ngôn của Agile

— Individuals and interactions over processes and tools

— Working software over comprehensive documentation

— Customer collaboration over contract negotiation

27

— Responding to change over following a plan

Agile (t)

Cập nhật Hằng ngày

Just-in-time | Tức thì

Kế hoạch động, thích ứng liên tục

Daily Standup

Agile (t)

§ Khó khăn khi áp dụng Agile

§ Khách hàng có thể tham gia toàn bộ thời gian với đội phát triển không?

§ Các thành viên trong đội có thể cộng tác với nhau tốt đẹp không?

§ Xếp thứ tự ưu tiên cho các yêu cầu là khó, đặc biệt khi mà có nhiều nhà đầu tư

cấu trúc tốt và đơn giản, dễ hiểu.

§ Dưới áp lực về lịch chuyển giao sản phẩm, đội phát triển khó xây dựng được phần mềm có

§ Khó khăn khi thay đổi văn hóa làm việc từ quy trình phát triển truyền thống sang Agile.

§ Đội phát triển cộng tác chặt chẽ với nhau (Tightly-integrated teams)

1.3. Các phương pháp phát triển

§ Mỗi giai đoạn trong quy trình phát triển hệ thống có những phương pháp riêng:

§ Phân tích, thiết kế:

— Phương pháp hướng chức năng

— Phương pháp hướng đối tượng

§ Lập trình:

— Hướng cấu trúc

— Hướng đối tượng

— Lập trình logic

9/5/22

Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020

30

— Lập trình tuần tự

1.4. Các công cụ phát triển

§ Các công cụ hỗ trợ các giai đoạn phát triển § Các công cụ hỗ trợ quản lý dự án phát triển

9/5/22

Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020

31

Các công cụ phát triển

§ Mỗi giai đoạn trong quy trình phát triển sử dụng các công cụ hỗ trợ khác nhau

§ Giai đoạn phân tích và thiết kế:

— Các công cụ mô hình hóa quy trình nghiệp vụ: DrawIO, BPMN

— Các công cụ mô hình hóa yêu cầu: Rational Rose, StarUML, …

— Các công cụ mô hình hóa thiết kế hệ thống: Rational Rose, StarUML, …

§ Giai đoạn lập trình:

— Các môi trường phát triển tích hợp (IDE): Visual Studio, NetBean, …

§ Giai đoạn kiểm thử:

9/5/22

Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020

32

— Các công cụ thực hiện kiểm thử tự động: Selenium, …

Công cụ hỗ trợ quản lý

§ Quản lý các dự án mức trung bình

§ Quản lý các dự án lớn, phức tạp

— Project Management Workbench — SuperProject

— Primavera — Artimis — OpenPlan

33