1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng phát triển hệ thống thông tin kinh tế chương 3 thiết kế và lập trình

86 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế Và Lập Trình Trong Phát Triển Hệ Thống Thông Tin Kinh Tế
Trường học Trường Đại học Công nghệ Thông tin - Đại học Quốc gia TP.HCM
Chuyên ngành Công nghệ Thông tin
Thể loại Bài giảng
Năm xuất bản 2020
Thành phố Hồ Chí Minh
Định dạng
Số trang 86
Dung lượng 31,69 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các góc nhìn của hệ thống cần môhình hóa § Chức năng functionality: hệ thống làm gì hoặc được yêu cầu làm gìví dụ, xử lý dữ liệu, cộng tác/tương tác với ai/thiết bị/hệ thống khácnhư thế

Trang 2

3.1 Mô hình hóa hệ thống

§ Khái niệm “mô hình” (model): mô hình là một sự thể hiện của mộtđối tượng trong thế giới thực hoặc một hệ thống đang tồn tại hoặc sẽ

có trong tương lai

§ Khái niệm “mô hình hóa” (modelling): là hành động xây dựng môhình của đối tượng hay xây dựng mô hình của hệ thống

76

Trang 4

Các góc nhìn của hệ thống cần mô

hình hóa

§ Chức năng (functionality): hệ thống làm gì hoặc được yêu cầu làm gì(ví dụ, xử lý dữ liệu), cộng tác/tương tác với ai/thiết bị/hệ thống khácnhư thế nào

§ Dữ liệu (data): mô hình hóa dữ liệu vào, thao tác, lưu trữ và xuất dữliệu ra

§ Sự kiện (sự kiện): mô hình hóa các sự kiện mà kích hoạt các tínhnăng của hệ thống

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

Trang 5

Các kỹ thuật mô hình hóa truyền

thống (trước khi có UML)

§ Chức năng

— Biểu đồ/ Sơ đồ phân rã chức năng (Function Decomposition Diagram - FDD)

— Biểu đồ/ Sơ đồ luồng dữ liệu ( Data Flow Diagram - DFD)

— Biểu đồ/ Sơ đồ luồng (Flow chart )

— Biểu đồ/ Sơ đồ cấu trúc Jackson (Jackson structure chart)

§ Dữ liệu

— Sơ đồ thực thể liên kết ( Entity Relationship Diagram - ERD)

— Sơ đồ cây phân cấp ( Hierarchical tree diagram )

— Biểu đồ/ Sơ đồ bong bóng (Bubble diagram)

§ Sự kiện

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

Trang 6

Mô hình hóa bằng UML

§ Chức năng

§ Dữ liệu

§ Sự kiện

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

Trang 7

Mô hình chức năng

§ Mô tả các chức năng cần có trong phần mềm và mối quan hệ giữacác chức năng

— Định danh các chức năng (biến đổi dữ liệu thành thông tin)

— Xác định cách thức dữ liệu (thông tin) di chuyển trong hệ thống

— Xác định các tác nhân đưa vào dữ liệu và tác nhân nhận thông tin

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

Trang 8

Biểu đồ phân rã chức năng

(Function Decomposition Diagram)

§ Xác định phạm vi của hệ thống

§ Phân hoạch chức năng

§ Tạo nền tảng cho thiết kế kiến trúc hệ thống

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

chức năng

liên kết

Trang 9

Biểu đồ luồng dữ liệu

(Data Flow Diagram)

§ Dùng để mô hình hóa việc xử lý dữ liệu trong hệ thống.

§ Mô tả các bước xử lý khi dữ liệu chảy qua một hệ thống từ khi vào hệ thống cho đến khi ra khỏi hệ thống (end-to-end).

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

Trang 10

Biểu đồ luồng dữ liệu

(Data Flow diagram)

§ Tiến trình (chức năng)

§ Tác nhân

§ Kho dữ liệu

§ Luồng di chuyển của

dữ liệu/ thông tin vào/

ra 1 tiến trình.

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

Trang 11

Mô hình dữ liệu

§ Mô hình hóa hệ thống từ phương diện dữ liệu

§ Lưu vết và làm tài liệu về mối quan hệ giữa dữ liệu và một tiến trình

§ Có thể dùng để minh họa sự trao đổi dữ liệu giữa một hệ thống vàcác hệ thống khác

— Biểu đồ luồng dữ liệu

— Sơ đồ thực thể - liên kết

— Từ điển dữ liệu

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

Trang 12

Sơ đồ thực thể liên kết

(Entity Relationship Diagram)

§ Dùng để mô tả cấu trúc lô-gic của dữ liệu mà hệ thống xử lý.

§ Sơ đồ thực thể - liên kết mô tả các thực thể trong hệ thống, quan hệ giữa chúng và các thuộc tính của chúng.

§ Dùng rộng rãi trong thiết kế cơ sở dữ liệu, có thể cài đặt được ngay bằng CSDL quan hệ.

§ UML không cung cấp kí pháp cụ thể nhưng có thể dùng các đối tượng (object) và quan hệ (association).

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

Trang 13

Sơ đồ thực thể liên kết

(Entity Relationship Diagram)

§ Thực thể

§ Thuộc tính của thực thể

§ Mối quan hệ: tên mối quan hệ

§ Loại mối quan hệ: 1-1, 1-N, N-N

§ Số lượng bản thể tham gia vào mối

Trang 14

Từ điển dữ liệu

(Data dictionary)

§ Từ điển dữ liệu là danh sách tất cả các tên gọi được sử dụng trong các mô hình hệ thống Đó có thể là các thực thể, quan hệ và các thuộc tính.

§ Sử dụng từ điển dữ liệu làm công cụ bổ trợ.

§ Ưu điểm của từ điển dữ liệu là:

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

Trang 15

Từ điển dữ liệu

(Data dictionary)

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

Trang 16

Mô hình chức năng bằng UML Biểu đồ ca sử dụng (Use case diagram)

Tổng quan về biểu đồ use case

View Report Card

Trang 17

Mô hình chức năng bằng Biểu đồ hoạt động (Activity diagram)

§ Thể hiện luồng các hoạt

động mà hệ thống cần thực

hiện với mỗi ca sử dụng

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

Phân chia một chiều

Trang 18

Mô hình đối tượng bằng Biểu đồ lớp (Class diagram)

§ Là cách tự nhiên phản ánh các thực thể trong thế giới thực mà hệthống xử lý

§ Các đối tượng càng trừu tượng thì càng khó dùng loại mô hình này

§ Việc xác định các lớp là một quy trình khó, đòi hỏi hiểu biết sâu về miền ứng dụng.

§ Có thể tái sử dụng các lớp đối tượng phản ánh các thực thể của miềnứng dụng cho các hệ thống khác

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

Trang 19

Mô hình đối tượng bằng Biểu đồ lớp (Class diagram)

§ Mỗi lớp là một hình

chữ nhật với:

dưới.

§ Quan hệ giữa các lớp thể hiện bằng

các đường nối giữa các đối tượng.

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

Trang 21

Mô hình hành vi bằng Biểu đồ tuần tự (sequence diagram)

§ Tác nhân

§ Các đối tượng trong

hệ thống

§ Thông điệp được trao

đổi giữa các đối

if (product.value>$10K) careful.dispatch

else regular.dispatch end if

end for

if (needsConfirmation) messenger.confirm end procedure

Trang 22

Mô hình hành vi bằng Biểu đồ cộng tác (collaboration diagram)

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

2: get course offerings( )

3: get course offerings(forSemester)

4: get course offerings( )

Trang 23

Mô hình sự kiện

bên trong và bên ngoài.

kiện là các cung nối các nút.

Khi một sự kiện xảy ra, hệ thống chuyển từ trạng thái này sang trạng thái khác.

97

Trang 24

Mô hình sự kiện bằng Biểu đồ trạng thái (state chart / state machine)

Trang 25

§ Là hoạt động thiết kế cấu hình phần cứng và cấu trúc phần mềm(gồm cả chức năng và dữ liệu) để có được hệ thống thỏa mãn cácyêu cầu đề ra.

Trang 26

Phân biệt hai giai đoạn

§ Xác định, phân tích, đặc tả yêu cầu

— Hiểu rõ và mô tả đầy đủ Hệ thống làm gì (What?)

— Hành vi của hệ thống, những gì có thể quan sát được từ bên ngoài

§ Thiết kế

— Mô tả giải pháp Hệ thống làm như thế nào (How?)

— Hành vi bên trong của hệ thống, bên trong hệ thống gồm những thành phần

gì và chúng tương tác với nhau như thế nào.

Trang 27

Xây dựng mô hình biểu diễn, lưu trữ thông tin

Thiết kế thủ tục, thuật toán để thực hiện chức năng

Xác định các bước thực hiện/tính toán

Thiết kế giao diện người dùng

Giao diện thực đơn, giao diện dòng lệnh, kéo thả, …

Tổng quan thiết kế

Trang 29

Mô hình dữ liệu tập trung

Trang 32

Mô hình Client – Server

Trang 34

§ Ưu điểm

— Chia sẻ tài nguyên

— Hiệu quả sử dụng cao

— Dễ dàng mở rộng thêm dịch vụ

— Dễ dàng nâng cấp

— Thuận tiện cho bảo trì

— Dữ liệu được giữ ở server nên được bảo vệ tốt hơn

§ Nhược điểm

— Số lượng client có thể tăng giảm mà phía server không biết

— Nghiệp vụ và dữ liệu thường để chung phía server

— Server bị hỏng

Trang 36

Mô hình phân tầng

Trang 37

§ Ưu điểm

— Cho phép thay thế từng tầng một (giữ nguyên giao diện với các tầng khác)

— Thuận tiện cho việc kiểm thử

— Dễ quản lý, dễ thay đổi

— Khả năng tái sử dụng cao

§ Nhược điểm

— Hiệu năng

— Tương tác giữa các tầng theo thiết kế

111

Trang 38

Mô hình phân tầng

§ Bố trí các tầng như thế nào?

Trang 39

Mô hình phân tầng

§ Bố trí các tầng như thế nào?

Trang 40

Mô hình phân tầng

§ Bố trí các tầng như thế nào?

Trang 41

Kiến trúc hướng đối tượng

§ Che giấu thông tin

§ Hệ thống được phân rã thành một tập các đối tượng có tương tác với nhau

Trang 42

Mô hình MVC

§ Model View Controller

— 1 Model, nhiều View

— Mỗi View có một Controller

Trang 43

Các quyết định khi thiết kế

§ Có kiến trúc mẫu nào không? (của một ứng dụng đang được sử dụng nào đó)

§ Làm thế nào để tổ chức ứng dụng? (nghĩa là chia ứng dụng thành các phân hệ)

§ Tương tác giữa các phân hệ như thế nào?

§ Phân rã các phân hệ như thế nào?

§ Những tài liệu mô tả kiến trúc?

§ Làm thế nào để đánh giá?

Trang 44

3.2.3.Thiết kế chương trình

§ Nội dung chủ yếu trong giai đoạn thiết kế chương trình là:

— Phân chia chương trình thành các mô đun phần mềm

— Xác định mối liên quan giữa các mô đun đó (thông qua lời gọi và các thông tin trao đổi)

— Đặc tả chi tiết thuật toán cho mỗi mô đun

— Gộp các mô đun thành chương trình

— Thiết kế các trường hợp kiểm thử mức đơn vị (unit tests)

118

Trang 45

3.2.4 Thiết kế các tập tin dữ liệu

— Mô hình thực thể liên kết E-R

Biểu đồ luồng dữ liệu trong đó đặc biệt quan tâm đến kho dữ liệu

— Hệ Quản trị CSDL có sẵn: Mỗi hệ quản trị CSDL đều có ngôn

ngữ định nghĩa dữ liệu sẵn

Trang 46

3.2.4 Thiết kế các tập tin dữ liệu

truy cập đến các tập tin dữ liệu phải thuận tiện, tốc độ nhanh.

— Bổ sung thêm một số thuộc tính tính toán, lặp lại một số thuộc tính, ghép một số thực thể (bảng)

— Đôi khi đã chuẩn hóa dữ liệu đạt chuẩn 3 NF, BCNF nhưng để phục

vụ các thao tác tìm kiếm, xử lý nhanh chóng, thì các chuẩn trên có thể

bị phá vỡ thành các chuẩn mức thấp hơn.

Trang 47

3.2.5 Thiết kế giao diện

§ Các vấn đề khi thiết kế giao diện

§ Quy trình thiết kế giao diện

§ Tạo bản mẫu thiết kế giao diện

§ Biểu diễn thông tin

§ Sử dung màu sắc và thông báo lỗi

121

Trang 48

Các vấn đề khi thiết kế giao diện

§ Nên được thiết kế cho phù hợp với kĩ năng, kinh nghiệm và sự trôngđợi của người dùng tương lai của hệ thống

§ Người dùng hệ thống thường đánh giá một hệ thống theo giao diệnthay vì chức năng

§ Một giao diện thiết kế tồi

Trang 49

không thích hợp có thể làm người sử dụng căng thẳng và do đó, càng xảy ra nhiều lỗi hơn.

phù hợp với những khả năng của chính họ.

7 loại thông tin Nếu biểu diễn nhiều hơn 7 loại, thì có thể khiến người sử dụng không nhớ hết và gây ra các lỗi.

Các vấn đề khi thiết kế giao diện

Trang 50

§ Các nguyên tắc thiết kế giao diên:

sử dụng có thể hiểu được hơn là những khái niệm liên quan đến máy tính.

• Ví dụ: hệ thống văn phòng nên sử dụng các khái niệm như thư, tài liệu, cặp giấy … không nên sử dụng những khái niệm như thư mục, danh mục.

• Ví dụ: các câu lệnh và menu nên có cùng định dạng.

người sử dụng có thể dự đoán các thao tác của những yêu cầu tương tư.

124

Trang 51

§ Các nguyên tắc thiết kế giao diện (t):

— Khả năng phục hồi: Hệ thống nên cung cấp một số khả năng phục hồi từ lỗi của người sử dụng và cho phép người sử dụng khôi phục lại từ chỗ bị lỗi Khả năng này bao gồm cho phép làm lại, hỏi lại những hành động như xoá, huỷ …

— Hướng dẫn người sử dụng như hệ thống trợ giúp, hướng dẫn trực tuyến …

— Tính đa dạng: Hỗ trợ nhiều loại tương tác cho nhiều loại người sử dung khác nhau Ví dụ: nên hiển thị phông chữ lớn với những người cận thị.

125

Các vấn đề khi thiết kế giao diện

Trang 52

Quy trình thiết kế giao diện

§ Cần sự bàn luận giữa người dùng và nhà thiết kế

§ Phân tích người dùng

— Người dùng sẽ làm gì với hệ thống

§ Làm bản mẫu

§ Đánh giá giao diện

— Người dùng dùng thử để đánh giá hiệu quả

Trang 53

Tạo bản mẫu thiết kế giao diện

§ Mục tiêu của bản mẫu là cho phép người dùng có được trải nghiệmtrực tiếp đối với giao diện

§ Nếu không có trải nghiệm trực tiếp, không thể đánh giá khả năng sửdụng một giao diện

§ Quy trình làm bản mẫu có thể có 2 bước:

— Lúc đầu, có thể dùng bản mẫu trên giấy

— Sau đó tinh chỉnh thiết kế, và phát triển các bản mẫu tự động hóa với

độ phức tạp ngày càng tăng.

Trang 54

Bản mẫu trên giấy

§ Dùng các bản vẽ nháp về giao diện để duyệt qua các kịch bản

§ Dùng storyboard để trình bày một chuỗi tương tác với hệ thống

§ Bản mẫu giấy là cách thu thập phản ứng của người dùng đối với một

đề xuất thiết kế

Trang 55

Bản mẫu trên máy

Trang 56

Đánh giá giao diện

§ Cần thực hiện một số đánh giá giao diện để đánh giá mức độ thíchhợp

§ Đánh giá đầy đủ và toàn bộ thì quá đắt và không thực tế cho hầu hếtcác hệ thống

§ Về lí tưởng, một giao diện cần được đánh giá theo một đặc tả về khảnăng sử dụng Tuy nhiên, người ta hiếm khi viết các đặc tả đó

Trang 57

Đánh giá giao diện

§ Câu hỏi điều tra để lấy phản hồi của người dùng

§ Quay video về việc sử dụng hệ thống rồi sau đó đánh giá nội dung

§ Cài các đoạn mã thu thập thông tin về các tiện ích được sử dụng vàlỗi của người dùng

§ Phần mềm có chức năng thu thập phản hồi trực tuyến của ngườidùng

Trang 58

Biểu diễn thông tin

§ Biểu diễn thông tin có liên quan tới việc hiển thị các thông tin trong hệ thống tới người sử dụng Thông tin có thể được biểu diễn một cách trực tiếp hoặc có thể được chuyển thành nhiều dạng hiển thị khác như: dạng đồ hoạ, âm thanh

Trang 59

Biểu diễn thông tin

§ Hai phần cần xem xét khi thiết kế giao diện:

— Người dùng đưa dữ liệu/thông tin vào hệ thống như thế nào

• Các kiểu tương tác để người dùng đưa dữ liệu vào

— Hệ thống cung cấp và biểu diễn dữ liệu ra cho người dùng như thế nào

• Cách biểu diễn thông tin ra cho người dùng

Trang 61

Có thể khó cài đặt.

Chỉ thích hợp khi có ẩn dụ hình ảnh cho các tác vụ và đối tượng.

Trò chơi điện tử Các hệ thống dùng drag-n-drop

(Lựa chọn bằng thực

đơn)

Menu selection

Tránh lỗi người dung, không phải gõ nhiều

Chậm chạp đối với người dùng nhiều kinh nghiệm.

Có thể phức tạp nếu có nhiều lựa chọn menu.

Đa số các hệ thống thông dụng

(Điền biểu mẫu)

Form fill-in

Nhập dữ liệu đơn giản, dễ học, kiểm tra được

Tốn không gian màn hình.

Gây rắc rối khi các lựa chọn của người dùng không khớp với các trường của form.

Trang 62

Biểu diễn thông tin

§ Người dùng quan tâm đến giá trị hay mối quan hệ dữ liệu

§ Tốc độ thay đổi giá trị

§ Hiển thị dạng văn bản/ số hoặc đồ hoạ

Trang 63

Information to be displayed Presentation software

Biểu diễn thông tin

§ Trình bày thông tin hệ thống như thế nào cho người dùng

§ Thông tin có thể được trình bày trực tiếp (ví dụ text trong một trìnhsoạn thảo) hoặc được biến đổi thành một dạng biểu diễn khác (ví dụdạng đồ họa)

Trang 64

Biểu diễn thông tin

§ Thông tin tĩnh

— Khởi tạo ở đầu phiên làm việc (session) Không thay đổi trong suốt session.

— Có thể là số hoặc văn bản text.

§ Thông tin động

— Thay đổi trong session và phải được thông báo với người dùng.

— Có thể là số hoặc văn bản text.

Trang 65

Biểu diễn thông tin

0

1 000

2 000 3000 4000

Trang 66

Biểu diễn thông tin

Trang 68

Sử dụng màu sắc

§ Dùng kí hiệu màu để hỗ trợ công việc người dùng đang cố làm.

— Làm nổi bật những điểm người dùng cần chú ý

§ Dùng sự thay đổi màu để báo hiệu thay đổi trạng thái hệ thống Dùng kí hiệu màu một cách cẩn trọng và nhất quán.

— Nếu màu đỏ được dùng cho các thông báo lỗi không nên dùng màu đỏ cho các thông báo dạng khác để tránh người dùng nhầm lẫn các thông báo màu đỏ là thông báo lỗi.

§ Hạn chế số màu và mức độ sặc sỡ Cẩn thận về hiệu ứng cặp đôi của màu sắc.

— Một số tổ hợp màu gây khó đọc Ví dụ người ta không thể cùng lúc chú ý cả màu đỏ và màu xanh lam.

Trang 69

Thông báo lỗi

§ Thiết kế thông báo lỗi là phần việc quan trọng

§ Nội dung thông báo nên lịch sự, rõ ràng, nhất quán và có tính xâydựng

§ Thiết kế thông báo lỗi sao cho phù hợp với kỹ năng và kinh nghiệmcủa người dùng

Trang 70

3.3.1 Khái niệm

§ Lập trình là quá trình chuyển đổi từ thiết kế chi tiết sang mã lệnh

§ Lựa chọn ngôn ngữ lập trình

— Phụ thuộc vào cấu hình máy

— Phụ thuộc vào số lượng ngôn ngữ lập trình sẵn có

— Phụ thuộc vào thói quen sử dụng ngôn ngữ lập trình

— Phụ thuộc vào khách hàng

Trang 73

Lập trình tuyến tính

§ Chương trình được viết tuần tự với các câu lệnh thực hiện từ đầu đếncuối

§ Khó biểu diễn cú pháp có cấu trúc (for, while )

§ Thiếu khả năng khai báo biến cục bộ

§ Ngôn ngữ lập trình: assembly,

147

Trang 74

Lập trình cấu trúc

§ Phương pháp lập trình thủ tục hay lập trình cấu trúc:

— Hệ thống chia các chức năng (hàm) thành các chức năng nhỏ hơn Các chức năng nhỏ này lại được chia tiếp thành các chức năng nhỏ hơn nữa cho đến khi được các khối (hàm) chương trình đủ nhỏ.

— Việc phân tích này được thể hiện trực quan theo sơ đồ khối.

— Chương trình được tổ chức thành các chương trình con.

§ Chương trình = Cấu trúc dữ liệu + giải thuật

Ngày đăng: 27/07/2023, 08:39

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w