100
1 TRƢỜNG ĐẠI HC HÀNG HI VIT NAM KHOA CÔNG NGHTHÔNG TIN BMÔN HTHNG THÔNG TIN -----***----- BÀI GING PHÂN TÍCH & THIT KHTHNG TÊN HC PHN : PHÂN TÍCH & THIT KHTHNG MÃ HC PHN : 17410 TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HC CHÍNH QUY DÙNG CHO SV NGÀNH: CÔNG NGHTHÔNG TIN HI PHÒNG - 2011

Bai Giang Phan Tich & Thiet Ke He Thong

Embed Size (px)

Citation preview

Page 1: Bai Giang Phan Tich & Thiet Ke He Thong

1

TRƢỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN HỆ THỐNG THÔNG TIN

-----***-----

BÀI GIẢNG

PHÂN TÍCH & THIẾT KẾ HỆ THỐNG

TÊN HỌC PHẦN : PHÂN TÍCH & THIẾT KẾ HỆ THỐNG

MÃ HỌC PHẦN : 17410

TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY

DÙNG CHO SV NGÀNH: CÔNG NGHỆ THÔNG TIN

HẢI PHÒNG - 2011

Page 2: Bai Giang Phan Tich & Thiet Ke He Thong

2

MỤC LỤC

LỜI NÓI ĐẦU ......................................................................................................................... 7

Chƣơng I. Tổng quan về hệ thống ....................................................................................... 12

1. Tổng quan về hệ thống thông tin ..................................................................................... 12

2. Các yếu tố tác động đến hệ thống .................................................................................... 14

2.1. Các tác nhân đối với hệ thống (Stakeholder) ................................................................ 14

2.2. Các yếu tố thương mại đối với hệ thống (Business Drivers) ........................................ 15

2.3. Các yếu tố công nghệ đối với hệ thống (Technology Drivers) ..................................... 15

3. Chu kỳ sống của một hệ thống ......................................................................................... 15

4. Các bộ phận hợp thành của Hệ thống thông tin ............................................................ 18

5. Các hệ thống thông tin tự động hoá (tin học hoá) .......................................................... 18

5.1. Mức độ tự động hoá ...................................................................................................... 18

5.2. Các phương thức xử lý bằng máy tính ......................................................................... 19

Chƣơng II. Tổng quan về phân tích thiết kế hệ thống ....................................................... 20

1. Giới thiệu ............................................................................................................................ 20

2. Các cách tiếp cận phân tích hệ thống .............................................................................. 20

2.1. Hướng tiến trình (process driven approach) ................................................................. 20

2.2. Hướng dữ liệu (data driven approach) .......................................................................... 20

2.3. Hướng cấu trúc (structure driven approach) ................................................................. 21

2.4. Hướng đối tượng (object oriented approach) ............................................................... 22

3. Các mô hình phân tích thiết kế hệ thống ........................................................................ 23

3.1. Phương pháp thiết kế hệ thống cổ điển (thiết kế phi cấu trúc) ..................................... 23

3.2. Phương pháp phân tích thiết kế hệ thống bán cấu trúc ................................................. 24

3.3. Phương pháp phân tích thiết kế hệ thống có cấu trúc ................................................... 24

4. Các giai đoạn phân tích và thiết kế Hệ thống thông tin ................................................. 26

Chƣơng III. Khảo sát hệ thống và xác lập dự án ............................................................... 29

1. Giới thiệu ............................................................................................................................ 29

2. Mục đích, yêu cầu của việc khảo sát ................................................................................ 29

3. Khảo sát và đánh giá hiện trạng ...................................................................................... 30

3.1. Nội dung khảo sát và đánh giá hiện trạng .................................................................... 30

3.2. Các mức khảo sát .......................................................................................................... 30

3.3. Các hình thức tiến hành khảo sát .................................................................................. 31

3.3.1. Phỏng vấn ............................................................................................................... 31

3.3.2. Điều tra bằng bảng hỏi ........................................................................................... 34

3.3.3. Phương pháp lấy mẫu............................................................................................. 36

3.3.4. Phân tích tài liệu ..................................................................................................... 37

Page 3: Bai Giang Phan Tich & Thiet Ke He Thong

3

3.5. Phát hiện những yếu kém của hiện trạng và những yêu cầu trong tương lai ................ 38

4. Xác định phạm vi, khả năng và mục tiêu của dự án ...................................................... 38

4.1. Xác định phạm vi (khoanh vùng dự án) ....................................................................... 38

4.2. Khả năng và hạn chế thực hiện dự án ........................................................................... 39

4.3. Mục tiêu của việc tin học hoá ....................................................................................... 39

4.4. Xác định yếu tố thành công của bài toán ...................................................................... 39

5. Phác hoạ giải pháp, cân nhắc tính khả thi ...................................................................... 39

5.1. Các mức tự động hoá .................................................................................................... 39

5.2. Hình thức sử dụng máy tính ........................................................................................ 39

5.3. Phân tích hiệu quả và đánh giá tính khả thi .................................................................. 40

6. Lập dự trù và kế hoạch triển khai dự án ........................................................................ 40

6.1. Hình thành hợp đồng .................................................................................................... 40

6.2. Lập dự trù thiết bị ......................................................................................................... 40

6.3. Lập kế hoạch triển khai dự án ...................................................................................... 40

Chƣơng IV. Mô hình hóa hệ thống ...................................................................................... 41

1. Mục đích ............................................................................................................................. 41

2. Quá trình mô hình hóa hệ thống ...................................................................................... 41

3. Biểu đồ phân rã chức năng (Functional Diagrams) ....................................................... 42

3.1. Khái niệm ..................................................................................................................... 42

3.2. Các thành phần của BFD .............................................................................................. 42

3.3. Đặc điểm của biểu đồ phân cấp chức năng .................................................................. 42

3.4. Cách xây dựng BFD ..................................................................................................... 43

4. Biểu đồ luồng dữ liệu (Data Flow Diagrams) ................................................................. 45

4.1. Các ký hiệu ................................................................................................................... 45

4.1.1. Tác nhân ngoài ....................................................................................................... 45

4.1.2. Kho dữ liệu............................................................................................................. 46

4.1.3. Luồng dữ liệu ......................................................................................................... 46

4.1.4. Tiến trình ................................................................................................................ 46

4.2. Quy tắc thiết kế biểu đồ luồng dữ liệu .......................................................................... 47

4.3. Biểu đồ luồng dữ liệu mức ngữ cảnh ............................................................................ 47

4.4. Phát triển biểu đồ dữ liệu các mức ............................................................................... 48

4.4.1. Quá trình xây dựng ................................................................................................ 48

4.4.2. Các qui tắc xây dựng DFD ..................................................................................... 49

4.4.3. Phân tích hướng cấu trúc cổ điển (top-down) ........................................................ 49

4.4.4. Phân tích hướng cấu trúc hiện đại (hướng sự kiện) ............................................... 50

Chƣơng V. Mô hình hóa cơ sở dữ liệu ................................................................................. 58

Page 4: Bai Giang Phan Tich & Thiet Ke He Thong

4

1. Mô hình hóa dữ liệu .......................................................................................................... 58

1.1. Khái niệm ..................................................................................................................... 58

1.2. Từ mô hình dữ liệu tới cài đặt cơ sở dữ liệu ................................................................. 58

1.3. Vai trò của biểu đồ quan hệ thực thể ............................................................................ 58

2. Các phần tử của biểu đồ quan hệ thực thể (ERD) ......................................................... 58

2.1. Thực thể ........................................................................................................................ 58

2.2. Thuộc tính ..................................................................................................................... 59

2.3. Mối quan hệ .................................................................................................................. 60

3. Xây dựng biểu đồ quan hệ thực thể ................................................................................. 60

3.1. Các bước mô hình hóa dữ liệu lôgíc ............................................................................. 60

3.2. Trình tự xây dựng ERD ................................................................................................ 61

3.3. Qui tắc xây dựng ERD .................................................................................................. 61

4. Xây dựng biểu đồ dữ liệu quan hệ (RDM) ...................................................................... 61

4.1. Xác định thuộc tính....................................................................................................... 61

4.2. Phân tích và chuẩn hóa dữ liệu ..................................................................................... 61

4.3. Xác định các mối quan hệ............................................................................................. 65

4.4. Xây dựng mô hình RDM .............................................................................................. 65

5. Từ điển dữ liệu ................................................................................................................... 65

Chƣơng VI. Tổng quan về thiết kế hệ thống ....................................................................... 67

1. Các hƣớng tiếp cận thiết kế hệ thống .............................................................................. 67

1.1. Các tiếp cận hướng mô hình ......................................................................................... 67

1.2. Phát triển ứng dụng nhanh ............................................................................................ 68

2. Các công việc cụ thể trong giai đoạn thiết kế ................................................................. 68

Chƣơng VII. Thiết kế cơ sở dữ liệu ..................................................................................... 69

1. Các phƣơng thức lƣu trữ dữ liệu ..................................................................................... 69

1.1. File ................................................................................................................................ 69

1.2. Cơ sở dữ liệu ................................................................................................................. 69

2. Kiến trúc dữ liệu ................................................................................................................ 69

3. Triển khai mô hình dữ liệu logic dựa trên một cơ sở dữ liệu quan hệ ......................... 70

3.1. Cơ sở dữ liệu quan hệ ................................................................................................... 70

3.2. Mô hình hoá dữ liệu ...................................................................................................... 70

Chƣơng VIII. Thiết kế vào/ra hệ thống ............................................................................... 72

1. Thiết kế đầu vào ................................................................................................................ 72

1.1. Tổng quan ..................................................................................................................... 72

1.1.1. Các khái niệm ........................................................................................................ 72

1.1.2. Các phương thức nhập liệu .................................................................................... 72

Page 5: Bai Giang Phan Tich & Thiet Ke He Thong

5

1.1.3. Các nguyên tắc thiết kế đầu vào ............................................................................ 72

1.1.4. Kiểm soát nhập liệu ............................................................................................... 72

1.2. Các điều khiển giao diện cho thiết kế đầu vào ............................................................. 73

1.2.1. Một số điều khiển phổ biến .................................................................................... 73

1.2.2. Một số điều khiển cao cấp ..................................................................................... 73

1.3. Quy trình thiết kế đầu vào ............................................................................................ 74

2. Thiết kế đầu ra hệ thống ................................................................................................... 74

2.1. Tổng quan ..................................................................................................................... 74

2.1.1. Phân loại ................................................................................................................. 74

2.1.2. Phương thức cài đặt đầu ra ..................................................................................... 74

2.2. Cách thức thiết kế đầu ra .............................................................................................. 74

2.2.1. Các nguyên tắc ....................................................................................................... 74

2.2.2. Quy trình thiết kế đầu ra ........................................................................................ 75

Chƣơng IX. Thiết kế giao diện ngƣời dùng ........................................................................ 76

1. Tổng quan .......................................................................................................................... 76

2. Kỹ thuật giao diện ngƣời dùng ......................................................................................... 76

2.1. Hệ điều hành và trình duyệt WEB ................................................................................ 76

2.2. Màn hình hiển thị .......................................................................................................... 77

2.3. Bàn phím và các thiết bị trỏ .......................................................................................... 77

3. Phong cách thiết kế giao diện ngƣời dùng ...................................................................... 77

3.1. Giao diện dựa trên cửa sổ và frame .............................................................................. 77

3.2. Giao diện dựa trên menu............................................................................................... 78

3.3. Giao diện dựa trên dòng lệnh ....................................................................................... 78

3.4. Một số tính năng đặc biệt ............................................................................................. 78

3.5. Cách thức thiết kế giao diện người dùng ...................................................................... 79

Chƣơng X. Xây dựng và triển khai hệ thống ...................................................................... 80

1. Giai đoạn xây dựng ........................................................................................................... 80

1.1. Xây dựng và kiểm thử mạng ........................................................................................ 80

1.2. Xây dựng và kiểm thử cơ sở dữ liệu ............................................................................. 80

1.3. Cài đặt và kiểm thử gói phần mềm mới ....................................................................... 81

1.4. Viết và kiểm thử các chương trình mới ........................................................................ 81

2. Giai đoạn triển khai .......................................................................................................... 81

2.1. Kiểm thử hệ thống lần cuối .......................................................................................... 81

2.2. Lập kế hoạch chuyển đổi .............................................................................................. 82

2.3. Cài đặt cơ sở dữ liệu ..................................................................................................... 82

2.4. Huấn luyện người dùng ................................................................................................ 82

Page 6: Bai Giang Phan Tich & Thiet Ke He Thong

6

2.5. Chuyển đổi sang hệ thống mới ..................................................................................... 83

Chƣơng XI. Vận hành và hỗ trợ hệ thống .......................................................................... 84

1. Tổng quan .......................................................................................................................... 84

2. Bảo trì hệ thống ................................................................................................................. 84

2.1. Xác định vấn đề ............................................................................................................ 84

2.2. Đánh dấu chương trình ................................................................................................. 84

2.3. Nghiên cứu và bắt lỗi chương trình .............................................................................. 85

2.4. Kiểm thử chương trình ................................................................................................. 85

3. Phục hồi hệ thống .............................................................................................................. 85

4. Hỗ trợ kỹ thuật .................................................................................................................. 86

5. Nâng cấp hệ thống ............................................................................................................. 86

5.1. Phân tích yêu cầu nâng cấp........................................................................................... 86

5.2. Thực hiện sửa chữa nhanh ............................................................................................ 87

5.3. Phục hồi hệ thống vật lý hiện có ................................................................................... 87

TÀI LIỆU THAM KHẢO .................................................................................................... 88

Page 7: Bai Giang Phan Tich & Thiet Ke He Thong

7

Tên học phần: Phân tích và thiết kế hệ thống Loại học phần: 3

Bộ môn phụ trách giảng dạy: Hệ thống Thông tin Khoa phụ trách: CNTT.

Mã học phần: 17403 Tổng số TC: 3

Tổng số tiết Lý thuyết Thực hành/ Xemina Tự học Bài tập lớn Đồ án môn học

75 45 15 0 có không

Học phần học trƣớc: Không yêu cầu.

Học phần tiên quyết: Không yêu cầu.

Học phần song song: Không yêu cầu.

Mục tiêu của học phần:

Cung cấp các kiến thức cơ bản về phân tích và thiết kế hệ thống thông tin theo phương pháp hướng

cấu trúc.

Nội dung chủ yếu:

Tổng quan về phân tích và thiết kế hệ thống; Quá trình phân tích thiết kế hệ thống hướng cấu trúc;

Các kỹ thuật khảo sát thực tế; Mô hình hóa dữ liệu; Mô hình hóa hệ thống; Phân tích tính khả thi và

đề xuất hệ thống; Thiết kế cơ sở dữ liệu; Thiết kế vào/ra hệ thống; Thiết kế giao diện người dùng;

Ứng dụng vào thực tế.

Nội dung chi tiết:

TÊN CHƢƠNG MỤC

PHÂN PHỐI SỐ TIẾT

TS LT TH BT KT

Chƣơng I: Giới thiệu 4 3 1

1.1. Tổng quan về phân tích và thiết kế hệ thống

1.2. Các tác nhân đối với hệ thống (Stakeholder)

1.3. Các yếu tố ảnh hưởng đến hệ thống (Business &

Technology Drivers)

1.4. Các mô hình phát triển hệ thống

Chƣơng II: Phân tích hệ thống 4 3 1

2.1. Giới thiệu

2.2. Các cách tiếp cận phân tích hệ thống

2.3. Giai đoạn xác định phạm vi (Scope Definition)

2.4. Giai đoạn phân tích vấn đề (Problem Analysis)

2.5. Giai đoạn phân tích yêu cầu (Requirements Analysis)

2.6. Giai đoạn phân tích quyết định (Decision Analysis)

Chƣơng III: Các kỹ thuật khảo sát thực tế 12 9 3

3.1. Quá trình tìm hiểu yêu cầu

3.2. Kỹ thuật thu thập thông tin từ các các tài liệu, biểu mẫu

Page 8: Bai Giang Phan Tich & Thiet Ke He Thong

8

TÊN CHƢƠNG MỤC

PHÂN PHỐI SỐ TIẾT

TS LT TH BT KT

3.3. Kỹ thuật quan sát môi trường làm việc (Observation)

3.4. Kỹ thuật đặt câu hỏi (Questionnaires)

3.5. Kỹ thuật phỏng vấn (Interviews)

Chƣơng IV: Mô hình hóa dữ liệu 4 3 1

4.1. Các khái niệm cơ bản đối với mô hình hóa dữ liệu

4.2. Quá trình mô hình hóa dữ liệu logic

4.3. Xây dựng mô hình dữ liệu

Chƣơng V: Mô hình hóa hệ thống 16 12

5.1. Các khái niệm cơ bản đối với mô hình hóa hệ thống

5.2. Quá trình mô hình hóa hệ thống logic

5.3. Biểu đồ luồng dữ liệu (Data Flow Diagrams)

5.4. Biểu đồ phân rã chức năng (Functional Diagrams)

5.5. Tài liệu đặc tả yêu cầu hệ thống (System Requirements

Specification)

Chƣơng VI: Phân tích tính khả thi và đề xuất hệ thống 4 3 1

6.1. Phân tích khả thi (Feasibility Analysis)

6.2. Đánh giá hiệu quả hệ thống

6.3. Đề xuất hệ thống (System Proposal)

Chƣơng VII: Thiết kế hệ thống 4 3 1

7.1. Các cách tiếp cận thiết kế hệ thống

7.2. Các bước thiết kế hệ thống theo phương pháp truyền thống

Chƣơng VIII: Thiết kế vào/ra hệ thống 4 3 1

8.1. Các khái niệm cơ bản

8.2. Các nguyên tắc thiết kế vào/ra (Input/Output Design)

8.3. Quá trình thiết kế vào/ra hệ thống

Chƣơng IX: Thiết kế giao diện ngƣời dùng 8 6 2

9.1. Các khái niệm cơ bản

9.2. Các nguyên tắc thiết kế giao diện (User Interface Design)

9.3. Các kiểu giao diện người dùng

9.4. Quá trình thiết kế giao diện người dùng

Nhiệm vụ của sinh viên:

Tham dự các buổi học lý thuyết và thực hành, làm các bài tập được giao, làm các bài thi giữa học

phần và bài thi kết thúc học phần theo đúng quy định.

Page 9: Bai Giang Phan Tich & Thiet Ke He Thong

9

Tài liệu học tập:

1. Jeffrey Whitten, Lonnie Bentley, Kevin Dittman, Systems Analysis and Design Methods,

McGraw-Hill, 6th

edition, 2004.

2. Nguyễn Văn Ba, Phân tích và thiết kế các hệ thống thông tin, Nhà xuất bản ĐHQG Hà

Nội, 2003.

Hình thức và tiêu chuẩn đánh giá sinh viên:

Hình thức thi: tự luận hoặc trắc nghiệm.

Tiêu chuẩn đánh giá sinh viên: căn cứ vào sự tham gia học tập của sinh viên trong các buổi

học lý thuyết và thực hành, kết quả làm các bài tập được giao, kết quả của các bài thi giữa

học phần và bài thi kết thúc học phần.

Thang điểm: Thang điểm chữ A, B, C, D, F.

Điểm đánh giá học phần: Z=0,4X + 0,6Y.

Page 10: Bai Giang Phan Tich & Thiet Ke He Thong

10

LỜI NÓI ĐẦU

Phân tích thiết kế là bước đầu tiên và có ý nghĩa quyết định sự thành công của một hệ thống nói

chung và hệ thống phần mềm nói riêng. Phân tích thiết kế hệ thống là quá trình chuyển đổi, cải tiến

những yêu cầu, tác nghiệp của một hệ thống hiện tại thành một thiết kế có thể triển khai được trong

thực tế.

Về cơ bản phân tích hệ thống trải qua 04 bước: khảo sát, phân tích, thiết kế và vận hành hệ

thống. Trong các bước này thì giai doạn khảo sát sẽ là quyết định việc thành lập dự án, xác định yêu

cầu dự án, tạo dữ liệu cho các giai đoạn sau và thông thương chiếm nhiều thời gian nhất. Phân tích

là làm rõ, mô tả, cải tiến hệ thống và lựa chọn giải pháp tốt nhất cho hệ thống. Tiếp theo là quá trình

thiết kế hệ thống theo giải pháp đã chọn. Vận hành hệ thống là quá trình xây dựng hệ thống đưa vào

áp dụng thực tế, kiểm soát và bảo trì hệ thống. Đến thời điểm nào đó, hệ thống xây dựng trở nên

không phù hợp ta lại bắt đầu khảo sát đê xây dựng một hệ thống thay thế.

Tài liệu này được cấu trúc thành 4 phần lớn với 11 chương tương ứng với các quá trình phát

triển hệ thống:

Phần 1: Những nội dung cơ bản bao gồm 02 chƣơng.

Chương I. Tổng quan về hệ thống: Trình bày các khái niệm cơ bản, yếu tố tác động đến đến hệ

thống và còng đời của một hệ thống.

Chương II. Tổng quan cề phân tích thiết kế hệ thống: giúp người đọc nắm được các cách tiếp

cận phân tích thiết kế hệ thống, cấu trúc và giá trình phân tích thiết kế hệ thống.

Phần 2. Phân tích hệ thống theo phƣơng pháp cấu trúc bao gồm 03 chƣơng.

Chương III. Khảo sát hệ thống và xác lập dự án: quá trình, mục tiêu, kết quả và phương pháp

tiếp cận khảo sát hệ thống.

Chương IV. Mô hình hóa hệ thống: Trình bày quá trình cấu trúc, mô hình hóa các thành phần

của hệ thống từ đó đưa ra các sơ đồ diễn giải hệ thống giúp ta hình dung được luồng dữ liệu vào/ ra

hệ thống và liên kết giữa các thành phần hệ thống.

Chương V. Mô hình hóa cơ cở dữ liệu: Trình bày cấu trúc yêu cầu về dữ liệu của hệ thống, quá

trình phân tích để đưa mô hình cơ sở dữ liệu quan niệm.

Phần 3. Thiết kế hệ thống theo phƣơng pháp cấu trúc bao gồm 03 chƣơng.

Chương VI. Tổng quán về thiết kế hệ thống: đưa ra các khái niệm, qusa trình thiết kế hệ thống.

Chương VII. Thiết kế cơ sở dữ liệu: thiết kế cớ sở dữ liệu vật lý để triển khai hệ thống.

Chương VIII. Thiết kế vào/ra hệ thống: quá trình, cách thức thiết kế nhập dữ liệu vào, hiển thị

dữ liệu ra cho hệ thống một cách tiện lợi.

Chương IX. Thiết kế giao diện người dùng: Trình bày các phương pháp thiết kế, những điều lưu

ý để thiết kế giao diện người dùng thân thiện, dễ sử dụng.

Phần 4. Triển khai hệ thống trong thực tế ba gồm 02 chƣơng.

Page 11: Bai Giang Phan Tich & Thiet Ke He Thong

11

Chương X. Xây dựng và triển khai hệ thống: quá trình đưa hệ thống và ứng dụng trong thưc tế,

kiểm thử và kiểm soát lỗi hệ thống.

Chương XI. Vận hành và hỗ trợ hệ thống: Theo dõi việc thực thi hệ thống và hỗ trợ hệ thống về

mặt kỹ thuật cho người sử dụng cũng như việc bảo trì để sửa lỗi hoặc đáp ứng những yêu cầu mới

xuất hiện.

Mặc dù cố gắng tham khảo nhiều tài liệu chuyên ngành và biên soạn nhưng tài liệu không tránh

khỏi những sai sót, hạn chế. Tác giả rất mong được sự đóng giá, nhận xét của độc giả để tài liệu

hoàn thiện hơn.

Địa chỉ liên lạc: Lê Trí Thành- bộ môn Hệ thống thông tin- Khoa Công nghệ thông tin- trường

Đại học Hàng Hải Việt Nam.

Email: [email protected]

Hải phòng, tháng 6 năm 2010

Page 12: Bai Giang Phan Tich & Thiet Ke He Thong

12

Chƣơng I. Tổng quan về hệ thống

1. Tổng quan về hệ thống thông tin

a. Hệ thống

- Hệ thống: Là tập hợp các phần tử có những mối quan hệ ràng buộc lẫn nhau cùng hoạt động

chung cho một số mục tiêu nào đó. Trong hoạt động có trao đổi vào ra với môi trường ngoài .

- Một hệ thống có 9 tính chất:

1. Thành phần (component)

2. Tương quan (Interrelated components, interrelationship)

3. Biên giới (Boundary)

4. Mục tiêu (Purpose)

5. Môi trường (Environment)

6. Giao diện (interface)

7. Nguồn vào (Input)

8. Kết xuất (Output)

9. Ràng buộc (Constraint)

+ Thành phần: Một hệ thống được cấu tạo từ các thành phần. Một thành phần hoặc là một phần đơn

(không thể chia nhỏ được) hoặc là một tập các thành phần còn được gọi là hệ thống con

(subsystem). Khái niệm đơn của một thành phần thì rất quan trọng, nó cho phép ta thay đổi, nâng

cấp thành phần này mà không ảnh hưởng đến toàn bộ hệ thống.

+ Các thành phần thì tương quan; nghĩa là, chức năng của một thành phần bằng cách nào đó thắt

chặt với chức năng của các thành phần khác. Ví dụ, công việc của một thành phần, như tạo ra các

báo cáo hàng ngày về đơn hàng được tiếp nhận, không thể tiến triển thành công, trước khi công việc

của thành phần khác được hoàn tất như sắp xếp các đơn hàng theo ngày tiếp nhận.

+ Một hệ thống có một biên giới (boundary), mà tất cả các thành phần được chứa trong đó, nó còn

thiết lập giới hạn của hệ thống, tách nó khỏi các hệ thống khác. Các thành phần trong biên giới có

thể được thay đổi trong khi các hệ thống bên ngoài biên giới không thể bị thay đổi.

+ Mục tiêu: Tất cả các thành phần làm việc với nhau để đạt được một vài mục tiêu toàn diện cho hệ

thống lớn hơn.

+ Môi trường: Một hệ thống tồn tại trong một môi trường - mọi thứ bên ngoài biên giới hệ thống có

ảnh hưởng đến hệ thống. Ví dụ, môi trường của Đại học Hàng Hải bao gồm những sinh viên tương

lai, tiền dự trữ, các quĩ tài trợ và thông tin tin tức. Thông thường hệ thống tương tác với môi trường

của nó. Trường đại học tương tác với sinh viên tương lai bằng cách ưu ái và tuyển chọn từ trường

trung học địa phương. Một hệ thống thông tin tương tác với môi trường của nó bằng việc tiếp nhận

dữ liệu (sự kiện thô) và thông tin (dữ liệu qua xử lý ở một dạng có ích).

Page 13: Bai Giang Phan Tich & Thiet Ke He Thong

13

+ Giao diện: Hệ thống phải có giao diện tương tác với người dùng, giao diện phải được thiết kế phù

hợp, tiện lợi cho người sử dụng.

+ Nguồn vào: Những dữ liệu để cho hệ thống xử lý.

+ Kết xuất: Những dữ liệu đã qua xử lý theo mục đích của người dùng.

+ Một hệ thống phải đứng trước sự ràng buộc (constraint) trong nhiệm vụ của nó vì có các giới hạn

(theo nghĩa số lượng, tốc độ, hay khả năng) về nó có thể làm cái gì và làm thế nào nó có thể đạt

được mục tiêu trong môi trường.

Một vài hạn chế này được đặt bên trong hệ thống (ví dụ: một số lượng giới hạn các nhân

viên có thể có). Một hệ thống nhận nguồn nhập từ môi trường để thực hiện nhiệm vụ.

Ví dụ con người bị hạn chế khỏi hít thở không khí trong lành nếu ta ở bên trong một thang

máy với ai đó đang hút thuốc. Cuối cùng, một hệ thống kết xuất ra môi trường của nó như là một

kết quả của việc thực hiện nhiệm vụ và như vậy nó đạt được mục tiêu. Hệ thống bị hạn chế khi mất

điện.

b. Hệ thống quản lý

- Hệ thống quản lý: Là một hệ thống có một mục đích mang lại lợi nhuận hoặc lợi ích nào đó. Đặc

điểm của hệ thống là có sự tham gia của con người và có sự trao đổi thông tin.

Hệ thống quản lý chia thành hai hệ thống con:

+ Hệ tác nghiệp (trực tiếp sản xuất): gồm con người, phương tiện, phương pháp trực tiếp thực hiện

mục tiêu đa đề ra.

+ Hệ quản lý (gián tiếp sản xuất): Gồm con người, phương tiện, phương pháp cho phép điều khiển

hoạt động của hệ thống.Hệ này lại chia thành hai hệ con:

* Hệ quyết định: Đưa ra các quyết định

* Hệ xử lý thông tin: Xử lý thông tin

c. Hệ thống thông tin

- Hệ thống thông tin (information system) : Là một hệ thống sử dụng công nghệ thông tin để thu

thập, truyền, lưu trữ, xử lý và biểu diễn thông tin trong một hay nhiều quá trình kinh doanh.

- Hệ thông tin phát triển qua bốn loại hình :

+ Hệ xử lý dữ liệu: lưu trữ và cập nhật dữ liệu hàng ngày, ra các báo cáo theo định kỳ (Ví

dụ: Các hệ thống tính lương).

+ Hệ thông tin quản lý (Management Information System - MIS): Một hệ thông tin gồm cơ

sở dữ liệu hợp nhất và các dòng thông tin giúp con người trong sản xuất, quản lý và ra quyết định.

+ Hệ trợ giúp quyết định: Hỗ trợ cho việc ra quyết định (cho phép nhà phân tích ra quyết

định chọn các phương án mà không phải thu thập và phân tích dữ liệu).

+ Hệ chuyên gia: Hỗ trợ nhà quản lý giải quyết các vấn đề và làm quyết định một cách

thông minh.

Page 14: Bai Giang Phan Tich & Thiet Ke He Thong

14

- Vai trò: Hệ thông tin đóng vai trò trung gian giữa hệ quyết định và hệ tác nghiệp trong hệ thống

quản lý.

- Nhiệm vụ:

+ Trao đổi thông tin với môi trường ngoài

+ Thực hiện việc liên lạc giữa các bộ phận và cung cấp thông tin cho các hệ tác nghiệp và hệ

quyết định.

- Các bộ phận hợp thành HTTT

+Dữ liệu: là nguyên liệu của hệ thông tin được biểu diễn dưới nhiều dạng như văn bản,

truyền khẩu, hình vẽ,... và những vật mang tin :Giấy, bảng từ, đĩa từ...

+ Các xử lý: Thông tin đầu vào qua các xử lý thành thông tin đầu ra.

2. Các yếu tố tác động đến hệ thống

2.1. Các tác nhân đối với hệ thống (Stakeholder)

- Chủ sở hữu hệ thống (System owner)

- Người sử dụng hệ thống (System user)

+ Người sử dụng nội bộ

+ Người sử dụng ngoài

- Người thiết kế hệ thống (System designer)

+ Quản trị CSDL

+ Thiết kế mạng

+ Thiết kế Web

+ Thiết kế đồ họa

+ Chuyên gia bảo mật

+ Chuyên gia công nghệ

- Người xây dựng hệ thống (System builder)

+ Lập trình ứng dụng

+ Lập trình hệ thống

+ Lập trình CSDL

+ Quản trị mạng

+ Bảo mật hệ thống

+ Lập trình web

+ Tích hợp phần mềm

- Người phân tích hệ thống (System analysts)

+ Vai trò của người phân tích hệt thống

Page 15: Bai Giang Phan Tich & Thiet Ke He Thong

15

+ Kỹ năng cần có: kiến thức về công nghệ thông tin, có kỹ năng và kinh nghiệm lập trình,

kiến thức tổng quan về thương mại, kỹ năng giải quyết - phân tích vấn đề, kỹ năng quan hệ- liên kết

tập thể, khả năng linh loạt và thích nghi…

- Người cung cấp dịch vụ bên ngoài (External service providers)

- Người quản trị dự án (The project manager)

2.2. Các yếu tố thƣơng mại đối với hệ thống (Business Drivers)

- Sự toàn cầu hóa của nền kinh tế (Globalization of the Rconomy)

- Thương mại điện tử và kinh doanh (Electronic commerce and Business)

- Bảo mật và bản quyền (Security and Privacy)

- Hợp tác và đối tác (Collaboration and Partnership)

- Quản lý tài sản (Knowlege Asset Management)

- Phát triển hệ thống và quản lý chất lượng (Continuous Improvement and Total Quality

Management)

- Thiết kế lại hệ thống thương mại(Business Process Redesign)

2.3. Các yếu tố công nghệ đối với hệ thống (Technology Drivers)

- Mạng và Internet

- Công nghệ di động và mạng không dây

- Các công nghệ khác: công cụ lập trình, CSDL…

- Hợp tác công nghệ (Business Process Redesign)

- Ứng dụng doanh nghiệp (Enterprise Applications)

3. Chu kỳ sống của một hệ thống

Page 16: Bai Giang Phan Tich & Thiet Ke He Thong

16

Chu kỳ sống của một hệ thống (system development life cycle)

a. Khảo sát và lựa chọn hệ thống: Giai đoạn đầu tiên trong chu kỳ sống (SDLC: system

development life cycle). Giai đoạn này có mục đích xác định và phân chia nhỏ các vấn đề trong hệ

thống. Có hai hoạt động chính:

- Hoạt động thứ nhất, nhận diện sự cần thiết phải có một hệ thống mới hay một hệ thống nâng cấp.

Nhu cầu thông tin của tổ chức được xem xét và các dự án phù hợp với các nhu cầu này được nhận

diện. Nhu cầu hệ thống thông tin của tổ chức có thể là kết quả của:

+ Các yêu cầu phải đối phó với các vấn đề trong các thủ tục kinh doanh hiện hành.

+ Sự mong muốn thi hành các nhiệm vụ mới.

+ Sự hiện thực điều mà công nghệ thông tin có thể được sử dụng nhằm tận dụng một cơ hội hiện có.

Nhóm phân tích hệ thống, được thành lập trong giai đoạn này, ưu tiên chuyển đổi các yêu cầu thành

các kế hoạch cho bộ phận IS (information system), bao gồm một thời biểu phát triển mới các hệ

thống chính. Các yêu cầu về hệ thống mới xuất phát từ người sử dụng có nhu cầu một hệ thống mới

hay một hệ thống cải tiến. Trong giai đoạn hoạch định và chọn lựa hệ thống, một tổ chức xác định

có hay không việc nên dành (có sự cân nhắc) các nguồn lực cho phát triển và cải tiến hệ thống

thông tin.

- Hoạt động thứ hai: xác định phạm vi yêu cầu của hệ thống. Đội ngũ phân tích hệ thống tạo ra một

kế hoạch cụ thể cho dự án để thực hiện. Kế hoạch dự án này cụ thể hóa của chu kỳ sống, mô tả thời

gian, nguồn lực cần thiết để thực hiện. Xác định hình thức của một dự án.

b. Phân tích hệ thống

- Giai đoạn thứ nhất: xác định yêu cầu của các vấn đề đã phân chia ở giai đoạn trên. Trong giai đoạn

con này, ta cần làm việc với những người sử dụng để xác định người dùng mong muốn điều gì từ

một hệ thống được đề nghị. Giai đoạn con này bao gồm sự nghiên cứu tỉ mỉ các hệ thống hiện hành,

bằng thủ công hay bằng máy tính, sẽ được thay thế hay cải tiến xem như một phần của dự án.

Page 17: Bai Giang Phan Tich & Thiet Ke He Thong

17

- Giai đoạn thứ hai: nghiên cứu các yêu cầu và cấu trúc chúng phù hợp với các mối tương quan của

chúng, loại bỏ sự dư thừa.

- Kết xuất của giai đoạn phân tích là bản đặc tả giải pháp cho hệ thống. Đó là tiền đề để có thể tạo ra

các kế hoạch liên quan tới phần cứng và phần mềm hệ thống cần thiết để xây dựng hay vận hành hệ

thống.

c. Thiết kế hệ thống

- Thiết kế hệ thống theo các giải pháp đã phân tích và chọn lựu giải pháp tốt nhất với các yêu cầu

bao hàm cả giá cả, nhân công và cấp độ kỹ thuật mà tổ chức sẵn lòng chuyển giao cho tiến trình

phát triển.

+ Giai đoạn này ta chuyển bản mô tả của giải pháp chọn lựa được đề nghị thành đặc tả logic

rồi vật lý. Ta phải thiết kế mọi diện mạo của hệ thống từ nhập vào và xuất ra của màn hình đến máy

in, cơ sở dữ liệu, và các xử lý tính toán.

+ Thiết kế lôgic không bị ràng buộc bởi bất kỳ phần cứng và phần mềm hệ thống cụ thể nào.

Về phương diện lý thuyết, hệ thống mà ta thiết kế có thể được thực hiện trên bất kỳ phần cứng và

phần mềm hệ thống nào. Thiết kế logic tập trung vào khía cạnh doanh nghiệp của hệ thống; nghĩa là

hệ thống sẽ tác động ra sao với các đơn vị nhiệm vụ trong tỗ chức doanh nghiệp. Từ sự so sánh ta

có thể thấy rằng nhiều quyết định cụ thể phải thực hiện để chuyển từ mô hình logic sang sản phẩm

vật lý. Trạng thái này rất tương đồng trong thiết kế hệ thống thông tin.

+Trong thiết kế vật lý, ta chuyển thiết kế logic thành vật lý, kỹ thuật hay đặc tả. Ví dụ ta có

thể chuyển sơ đồ ánh xạ dữ liệu gốc, dòng dữ liệu và xử lý dữ liệu của hệ thống thành một cấu trúc

thiết kế hệ thống rồi có thể phân rã thành các đơn vị nhỏ hơn để chuyển thành các chỉ thị viết được

bằng một ngôn ngữ lập trình.

Ta thiết kế các phần khác nhau của hệ thống để tạo ra các hoạt động vật lý cần thiết để dễ

dàng thu được, xử lý, kết xuất thông tin dữ liệu. Trong quá trình thiết kế vật lý, đội ngũ phân tích

quyết định ngôn ngữ lập trình, hệ cơ sở dữ liệu và cấu trúc tập tin nào sẽ được sử dụng cho dữ liệu,

và nền tảng phần cứng, hệ điều hành, môi trường mạng nào mà hệ thống sẽ chạy.

Sản phẩm cuối cùng của giai đoạn thiết kế là đặc tả hệ thống vật lý, được trình bày dưới

dạng như một sơ đồ hay bản báo cáo được thảo sẵn sàng cho việc chuyển giao cho các lập trình viên

và những người xây dựng hệ thống khác để xây dựng chương trình.

- Xây dựng chương trình theo thiết kế.

d. Thực hiện và vận hành hệ thống

- Giai đoạn thứ nhất: ta chuyển các đặc tả thành hệ thống làm việc được và vận hành thử nghiệm.

Thực hiện bao gồm mã hóa, chạy thử và cài đặt. Trong quá trình mã hóa, lập trình viên lập

các chương trình tạo nên hệ thống. Trong quá trình chạy thử, lập trình viên và phân tích viên kiểm

tra từng chương trình rồi toàn bộ hệ thống để tìm và sửa chữa lỗi. Trong quá trình cài đặt, hệ thống

mới trở thành một phần của hoạt động hàng ngày của tổ chức doanh nghiệp. Phần mềm ứng dụng

Page 18: Bai Giang Phan Tich & Thiet Ke He Thong

18

được cài đặt, hay tải vào phần cứng hiện hữu hay mới; sau đó những người sử dụng được giới thiệu

về hệ thống mới và được huấn luyện.

Hoạt động thực hiện hệ thống cũng bao gồm khởi tạo sự hỗ trợ người dùng như hoàn thành

các tài liệu, các chương trình huấn luyện và giúp đỡ người dùng. Ta cần chú ý tài liệu và chương

trình huấn luyện được hoàn thành trong cả quá trình thực hiện.

- Giai đoạn thứ hai: thu thập những vấn đề phát sinh trong quá trình vận hành hệ thống, với những

vấn đề nhỏ không do thiết kế ban đầu có thể chỉnh sửa trực tiếp phần mềm, ngược lại phải quay lại

từ bước phân tích đầu tiên để xây dựng lại hệ thống. Tuy nhiên đến một giai đoạn nào đó, hệ thống

sẽ trở nên lỗi thời và cần phân tích, xây dựng lại hoàn toàn từ đâu, ta sẽ lại quay về chu kỳ đầu tiên.

4. Các bộ phận hợp thành của Hệ thống thông tin

Nếu không kể đến con người, phương tiện thì HTTT chỉ gồm 2 bộ phận là: các dữ liệu & các

xử lý

- Các dữ liệu:

Dữ liệu về cấu trúc: Là những sự kiện, quá trình tiến hoá, tăng trưởng, cập nhật được lưu trữ

tương đối ổn định.

Dữ liệu kinh doanh: Những thông tin về hoạt động giao dịch, thường là những tập dữ liệu có

cấu trúc (hoá đơn chứng từ).

Thống tin có cấu trúc bao gồm luồng thông tin vào và luồng thông tin ra:

Luồng thông tin vào: phân loại các thông tin cần xử lý thành 3 loại:

+ Thông tin cần cho tra cứu: Các thông tin ít bị thay đổi, thường được cập nhật 1 lần.

+ Thông tin luân chuyển chi tiết: là loại thông tin hoạt động của đơn vị, khối lượng thông tin

thường lớn, cần phải xử lý kịp thời

+ Thông tin luân chuyển tổng hợp: là loại thông tin được tổng hợp từ các cấp thấp hơn, thông

tin này thường cô đọng xử lý theo kỳ hay theo lô

Luồng thông tin ra:

+ Thông tin đầu ra được tổng hợp từ thông tin đầu vào, phụ thuộc vào nhu cầu quản lý trong

từng trường hợp cụ thể, từng đơn vị cụ thể.

+ Thông tin đầu ra quan trọng nhất là các tổng hợp, thống kê, thông báo.

- Các xử lý:

+ Là các chức năng, quy trình, phương pháp, thủ tục xử lý cho phép thu thập, lưu trữ, tìm

kiếm, chế biến thông tin, thực chất là biến đổi từ tập thông tin vào thành tập thông tin ra

+ Các chức năng xử lý trong hệ thống có tính liên hoàn với nhau trong đó đảm bảo sự thống

nhất, an toàn tránh sự cố

5. Các hệ thống thông tin tự động hoá (tin học hoá)

5.1. Mức độ tự động hoá

Hệ thống tự động hoá có thể theo hình thức:

Page 19: Bai Giang Phan Tich & Thiet Ke He Thong

19

- Tự động hoá toàn bộ: Hệ thống được xử lý hoàn toàn tự động bằng máy tính trong đó con

người chỉ đóng vai trò phụ trong hệ thống.

- Tự động hoá một phần (bộ phận): Hệ thống được chia thành hai phần công việc phần xử lý

giữa con người (thực hiện thủ công) và phần thực hiện trên máy tính (không tính những công việc

con người phục vụ máy tính.

Việc tự động hoá một hệ thống kinh doanh có thể làm với hai cách:

- Phương pháp "hồ": Sử dụng máy tính tập trung bao trùm toàn bộ hệ thống

- Phương pháp "giếng": áp dụng máy tính cho từng bộ phận riêng rẽ, cho từng phạm vi nhất

định.

Tin học hoá toàn bộ là mục đích cuối cùng nhưng không phải bao giờ cũng thực hiện được, mà

nhiều khi người ta phải tiến hành tin học hoá bộ phận trước.

5.2. Các phƣơng thức xử lý bằng máy tính

* Xử lý theo lô (batch processing): thường dùng trong các trường hợp sau:

- Xử lý có tính chất định kỳ, (in các báo cáo, kết xuất, thống kê)

- Trong trường hợp in các giấy tờ có số lượng lớn

* Xử lý trực tuyến (on-line processing): Các giao dịch phát sinh, các thông tin đến được cập nhật và

cần tự động xử lý ngay.

Thí dụ: Bán vé máy bay, vé tàu, cung cấp thông tin trên INTERNET...

+Ưu điểm của xử lý trực tuyến:

- Giảm được công việc giấy tờ, các khâu trung gian

- Kiểm tra được sự đúng đắn của dữ liệu ngay sau khi nhập

- Cho trả lời nhanh chóng

+Nhược điểm:

- Xây dựng hệ thống tốn công sức, thời gian, chi phí đắt hơn cả về phần cứng và phần mềm

- Xử lý không kịp khi khối lượng thông tin vào ra lớn

- Dễ bị nhầm lẫn.

- Khó phục hồi dữ liệu (vì dữ liệu luôn trên dòng dữ liệu)

Thông thường một hệ thống có cả hai chế độ xử lý trên và có sự điểu khiển chuyển đổi giữa hai

phương thức để thực hiện phù hợp với yêu cầu trả lời thông tin.

CÂU HỎI CUỐI CHƢƠNG

1. Tại sao khi xây dựng các HTTT cần phải có phân tích thiết kế hệ thống?

2. Nhiệm vụ của HTTT? Vai trò của HTTT trong hệ thống kinh doanh?

3. Trong vòng đời của hệ thống, giai đoạn nào là quyết định sự thành công, bền vững của hệ

thống?

4. Những lĩnh vực nào xử lý theo lô, trực tuyến?

Page 20: Bai Giang Phan Tich & Thiet Ke He Thong

20

Chƣơng II. Tổng quan về phân tích thiết kế hệ thống

1. Giới thiệu

Phát triển HTTT dựa trên máy tính bắt đầu từ những năm 1950, cùng với sự phát triển của

CNTT và trên yêu cầu thực tế mà cách tiếp cận PTTKHT cũng thay đổi, phát triển phù hợp. Trong

quá trình phát triển có thể chia làm 4 cách tiếp cận: hướng tiến trình, hướng dữ liệu, hướng cấu trúc

và hướng đối tượng.

2. Các cách tiếp cận phân tích hệ thống

2.1. Hƣớng tiến trình (process driven approach)

Được phát triển vào thừoi gian đầu do máy tính có tốc độ xử lý chấm, kích thước bộ nhớ còn

rất nhỏ nên ta chỉ tập trung vào các quá trình mà phần mềm phải thực hiện. Vì vậy ta cố gắng đạt

được sự tự động hóa các tiến trình của từng bộ phân riêng rẽ. Lúc này, ta cần quan tâm đến các

thuật toán để giải quyết vấn đề và sử dụng khéo léo bộ nhớ còn hạn hẹp. Các dữ liệu thường được tổ

chức trên cùng một file với chương trình, sau này khi kích thước bộ nhớ lớn ta có thể tách riêng file

dữ liệu ra.

Quan hệ giữa dữ liệu và ứng dụng

Với cách tiếp cận này ta chỉ tập trung vào tiến trình sử dụng và chuyển đổi dữ liệu trong hệ

thống. Những thành phần khác nhau của hệ thống làm việc theo những sơ đồ khác nhau, tốc độ

khác nhau và tiếp cận định hướng tiến trình ở đâu thì dữ liệu được lưu trữ tạm thời ở đó để chờ xử

lý.

Nhược điểm:

- Sự dư thừa dữ liệu.

- Hao phí công sức cho việc thu thập và tổ chức dữ liệu.

- Sử dụng các dữ liệu kém hiệu quả do khó khăn để chia sẻ dữ liệu giữa các ứng dụng.

- Rất khó khăn trong việc tổ chức lại dữ liệu khi có sự thay đổi tiến trình.

2.2. Hƣớng dữ liệu (data driven approach)

Định hướng này tập trung vào việc tổ chức các dữ liệu một cách hợp lý hơn là nghĩ tới việc

sử dụng các dữ liệu ở đâu và khi nào.

Khi dữ liệu được quan tâm, phạm vi ứng dụng mở rộng đến nhiều quá trình, bộ phận khác

của HTTT như: nhà cung cấp, người điều hành, khác hàng… Kết quả là HTTT không chỉ là sự tự

Hệ thống quản lý lương

Dữ liệu dự

án

Dữ liệu

nhân sự

Hệ thống quản lý dự án

Dữ liệu

nhân sự

Dữ liệu sự

án

Page 21: Bai Giang Phan Tich & Thiet Ke He Thong

21

động hóa mà bao gồm cả việc tổ chức dữ liệu, nâng cao năng lực của nhân viên và khả năng truy

cập dữ liệu. Từ đó nảy sinh ra hai ý tưởng:

- Tách dữ liệu ra khỏi quá trình xử lý.

- Tách biệt CSDL và các ứng dụng.

Quan hệ giữa dữ liệu và ứng dụng

Như vậy, một CSDL là tập trung của tất cả các dữ liêu có trong hệ thống, nó bao gồm các

phương pháp tổ chức dữ liệu cho phép quản lý dữ liệu tập trung và nhất quán. Nhờ đó đã khắc phục

được sự dư thừa, theo tác trên dữ liệu nhanh chóng và sử dụng chung được dữ liệu.

2.3. Hƣớng cấu trúc (structure driven approach)

Là buớc phát triển tiếp theo, nhiều tài liệu gợp chung cùng với hướng tiếp cận trên. Trogn

khuôn khổ của giáo án ta sẽ tập trung phân tích thiết kế hệ thống theo hưưong tiếp cận này.

Hướng tiếp cận này thể hiện bằng quá trình phát triển hệ thống hướng cấu trúc qua 03 giai

đoạn chính:

- Cấu trúc dữ liệu (mô hình quan hệ)

- Cấu trúc hệ thống chương trình (cấu trúc phân cấp điều khiển các môđun và phần chung)

- Cấu trúc chương trình và môđun (cấu trúc một chương tình và môdun để xây dựng)

Quan hệ giữa dữ liệu và ứng dụng

Cách thiết kế này đem lại cho ta nhiều lợi ích:

- Làm giảm sự phức tạp: thiết kế theo phương pháp top-down nên việc phân chia nhỏ dần các vấn

đề lớn thành vấn đề nhỏ để giải quyết một cách dễ dàng.

Ứng dụng Ứng dụng

Ứng dụng

CSDL TẦNG DỮ LIỆU

TẦNG ỨNG DỤNG

Ứng dụng Ứng dụng

Ứng dụng

CSDL TẦNG DỮ LIỆU

TẦNG ỨNG DỤNG

Page 22: Bai Giang Phan Tich & Thiet Ke He Thong

22

- Tập trung vào ý tưởng: cho phép người phân tích trước hết tập trung vào mô hình ý tưởng (lôgic)

của hệ thống, bỏ qua những ràng buộc vật lý. Sau khi có mô hình ý tưởng mới bổ sung và cụ thể

hóa để gắn vào hệ thống vật lý.

- Chuẩn hóa: cung cấp các định nghĩa, công cụ và cách tiếp cận chuẩn mực cho phép nhà thiết kế

làm việc tách biệt, giúp các hệ thống con làm việc tách biệt mà vẫn đảm bảo sự thống nhất trong hệ

thống.

- Hướng về tương lai: đo việc tách biết nên dễ dàng trong thay đổi các môđun, vần hành và bảo trì.

- Giảm bớt tính nghệ thuật trong thiết kế: bắt buộc người thiết kế tuân thủ theo các chuẩn mực, giảm

bớt tính ngẫu hứng của họ.

2.4. Hƣớng đối tƣợng (object oriented approach)

Là cách tiếp cận mới nhất, hệ thống xây dựng chỉ bao gồm các thành phần liên kết với nhau

gọi là đối tượng. Mục đích của hệ thống là xây dựng các đối tượng tương đối độc lập nhau và có thể

dùng lại được.

Mỗi đối tượng tương ứng với các vật thực trong hệ thống và có cấu trúc dữ liệu, các phép

toán của riêng nó. Đối tượng có tính kế thừa từ một đối tượng khác kể cả dữ liệu và phép toán. Như

vây rất dễ dàng trong việc thay đổi cấu trúc, sửa chữa một hệ thống.

Cấu trúc hệ thống hướng đối tượng

Đối tuợng Đối tuợng

Đối tuợng

Đối tuợng

Đối tuợng

Page 23: Bai Giang Phan Tich & Thiet Ke He Thong

23

3. Các mô hình phân tích thiết kế hệ thống

3.1. Phƣơng pháp thiết kế hệ thống cổ điển (thiết kế phi cấu trúc)

Đặc điểm:

- Gồm các pha (phase): Khảo sát, thiết kế, viết lệnh, kiểm thử đơn lẻ, kiểm thử trong hệ con, kiểm

thử trong toàn hệ thống.

- Việc hoàn thiện hệ thống được thực hiện theo hướng “bottom-up” (từ dưới lên) và theo nguyên tắc

tiến hành tuần tự từ pha này tới pha khác.

Phương pháp thiết kế cổ điển

Nhƣợc điểm:

- Gỡ rối, sửa chữa rất khó khăn và phức tạp.

Ví dụ trong giai đoạn kiểm thử (test) nếu có lỗi nào đó xuất hiện ở giai đoạn cuối pha kiểm thử. Lúc

đó, tuỳ theo mức độ nghiêm trọng của lỗi, có thể buộc phải sửa đổi hàng loạt các mođun. Khi một

lỗi được phát hiện, khó chẩn đoán mođun nào (trong số hàng trăm, hàng ngàn mô đun) chứa lỗi.

- Vì thực hiện theo nguyên tắc tuần tự các pha nên sau khi đã kết thúc một pha, người ta có thể

không cần phải bận tâm đến nó nữa à Nếu ở pha trước còn lỗi thì các pha sau sẽ phải tiếp tục chịu

Page 24: Bai Giang Phan Tich & Thiet Ke He Thong

24

ảnh hưởng của lỗi đó. Mặt khác hầu hết các dự án thường phải tuân thủ theo một kế hoạch chung đã

ấn định từ trước kết quả sẽ khó mà được như ý với một thời gian quy định.

3.2. Phƣơng pháp phân tích thiết kế hệ thống bán cấu trúc

Đặc điểm:

- Một loạt các bước “bottom-up” như viết lệnh và kiểm thử được thay thế bằng giai đoạn hoàn thiện

“top-down”. Nghĩa là các modun mức cao được viết lệnh và kiểm thử trước rồi đến các modun chi

tiết ở mức thấp hơn.

- Pha thiết kế cổ điển được thay bằng thiết kế có cấu trúc.

Nhược điểm:

- Người thiết kế nói chung liên lạc rất ít với phân tích viên hệ thống và cả hai chẳng có liên hệ nào

với người sử dụng. Quá trình phân tích và thiết kế gần như là tách ra thành hai pha độc lập.

3.3. Phƣơng pháp phân tích thiết kế hệ thống có cấu trúc

Đặc điểm:

- Phương pháp này bao gồm 9 hoạt động: Khảo sát, phân tích, thiết kế, bổ sung, tạo sinh, kiểm thử

xác nhận, bảo đảm chất lượng, mô tả thủ tục, biến đổi cơ sở dữ liệu, cài đặt.

- Các hoạt động có thể thực hiện song song. Chính khía cạnh không tuần tự này mà thuật ngữ “pha”

được thay thế bởi thuật ngữ “hoạt động” (“pha” chỉ một khoảng thời gian trong một dự án trong đó

chỉ có một hoạt động được tiến hành). Mỗi hoạt động có thể cung cấp những sửa đổi phù hợp cho

một hoặc nhiều hoạt động trước đó.

- Một số phương pháp phân tích có cấu trúc:

a. Các phƣơng pháp hƣớng chức năng

Phƣơng pháp SADT (Structured Analysis and Design Technique) –

Kỹ thuật phân tích và thiết kế cấu trúc

Phương pháp này xuất phát từ Mỹ, ý tưởng cơ bản của nó: Phân rã một hệ thống lớn thành các

phân hệ nhỏ và đơn giản.

- Được xây dựng dựa trên 7 nguyên lý sau:

1. Sử dụng 1 mô hình

2. Phân tích đi xuống (top down)

3. Dùng một mô hình chức năng và một mô hình quan niệm (gọi là mô hình thiết kế)

4. Thể hiện tính đối ngẫu của hệ thống

5. Sử dụng các biểu diễn dưới dạng đồ hoạ

6. Phối hợp hoạt động của nhóm

7. Ưu tiên tuyệt đối cho sơ đồ viết

- SADT sử dụng các kỹ thuật:

+ Dòng dữ liệu hay còn gọi là biểu đồ luồng dữ liệu (Data Flow Diagrams)

+ Từ điển dữ liệu (Data Dictionary)

Page 25: Bai Giang Phan Tich & Thiet Ke He Thong

25

+ Tiếng anh có cấu trúc (Structured English)

+ Bảng quyết định

+ Cây quyết định

Phƣơng pháp MERISE (Methode pour Rassembler les Ide’es Sans Effort)

Phương pháp MERISE là phương pháp phân tích có nguồn gốc từ Pháp, ra đời vào cuối thập

niên 70. Ý tưởng cơ bản xuất phát từ 3 mặt cơ bản sau:

+ Mặt thứ nhất: Quan tâm đến chu kỳ sống của hệ thống thông tin trải qua nhiều giai đoạn

„Thai ngén‟- Quan niệm / ý niệm – Quản trị – Chết, có thể kéo dài từ 10 – 15 năm với các tổ chức

lớn.

+ Mặt thứ hai: Đề cập tới chu kỳ đặc tả hay chu kỳ trừu tượng. Qui trình xử lý được mô tả trên

bình diện quan niệm, kế tiếp là trên bình diện tổ chức và cuối cùng là trên bình diện tác nghiệp.

+ Mặt thứ ba: Liên quan đến chu kỳ của các quyết định

- Đặc trưng cơ bản của phương pháp MERISE

+ Nhìn toàn cục

+ Tách rời các dữ liệu và xử lý

+ Tiếp vận theo mức

- Ưu điểm: có cơ sở khoa học vững chắc

- Nhược điểm: Cồng kềnh

Phƣơng pháp MCX (Methode de xavier castellani)

Phương pháp phân tích MCX có nguồn gốc từ Pháp

- Một số nét cơ bản về phương pháp phân tích MCX:

+ Cho phép xây dựng được mô hình tổng quát, chính xác, biểu diễn HTTT hoặc các phân

hệ thông tin.

+ Cho phép phân tích, nắm được dữ liệu, quá trình xử lý và truyền thông các HTTT

+ Cho phép biểu diễn các xử lý với các lưu đồ và các chương trình, soạn thảo bởi 1 ngôn

ngữ giải thuật dùng ở các mức khác nhau.

+ Cho phép lượng hoá các xử lý.

- Các giai đoạn cơ bản của quá trình phân tích:

+ Phân tích macro

+ Phân tích sơ bộ

+ Phân tích quan niệm

Phƣơng pháp GALACSI (Groupe d‟ Animation et de Liaison pour i‟ Analyse et la Conception

de syste‟me d‟ Information)

Phương pháp GLACSI có nguòn gốc từ Pháp. Ra đời tháng 4/1982. Nội dung cơ bản trình bày

một tập hợp cá công cụ và „nguyên liệu‟ để tiến hành các giai đoạn cơ bản sau đây của quá trình

phân tích:

Page 26: Bai Giang Phan Tich & Thiet Ke He Thong

26

- Nghiên cứu các hệ thống tổ chức và các hệ thống thông tin tương ứng: nghiên cứu hiện trạng,

nghiên cứu khả thi

- Phân tích chức năng: mô hình dữ liệu, mô hình xử lý

- Phân tích cấu trúc: tổ chức dữ liệu, tổ chức xử lý, môi trường tiếp nhận, giao diện người máy.

- Lập trình

Nhược điểm của phương pháp này là chưa thử nghiệm nhiều trong thực tế.

b. Các phƣơng pháp hƣớng đối tƣợng

- Phương pháp HOOD (Hierarchical Object Oriented Design) là một phương pháp được lựa

chọn để thiết kế các hệ thống thời gian thực. Những phương pháp này lại yêu cầu các phần mềm

phải được mã hoá bằng ngôn ngữ lập trình ADA. Do vậy phương pháp này chỉ hỗ trợ cho việc thiết

kế các đối tượng mà không hỗ trợ cho các tính năng kế thừa và phân lớp.

- Phương pháp RDD (Responsibility Driven Design) dựa trên việc mô hình hoá hệ thống thành

các lớp.

Các công việc mà hệ thống phải thực hiện được phân tích và chia ra cho các lớp của hệ thống.

Các đối tượng trong các lớp của hệ thống trao đổi các thông báo với nhau nhằm thực hiện công việc

đặt ra. Phương pháp RDD hỗ trợ cho các khái niệm về lớp, đối tượng và kế thừa trong cách tiếp cận

hướng đối tượng.

- Phương pháp OMT (Object Modelling Technique) là một phương pháp được xem là mới nhất

trong cách tiếp cận hướng đối tượng. Phương pháp này kết hợp Mô hình hóa đối tượng về mặt cấu

trúc- dữ liệu, mô hình động thể hiện hành vi- kiểm soát, mô hình chức năng thể hiện chức năng và

biến đổi.

Trên mặt lý thuyết ta thấy cách tiếp cận hướng đối tượng có các bước phát triển hơn so với tiếp

cận hướng chức năng. Nhưng trong thực tế việc phân tích và thiết kế hệ thống theo cách tiếp cận

hướng đối tượng gặp rất nhiều khó khăn vì chưa có nhiều các công cụ phát triển hỗ trợ cho việc

thiết kế hướng đối tượng.

4. Các giai đoạn phân tích và thiết kế Hệ thống thông tin

Phân tích và thiết kế một hệ thống là vấn đề nhận thức một hệ thống. Để phân tích, thiết kế ta

phải dùng các phương pháp mô tả. Có nhiều phương pháp nhưng ở Việt Nam sử dụng chủ yếu hai

phương pháp: SADT (Structure Analysis and Design Technology) và MERI (của Pháp)

Page 27: Bai Giang Phan Tich & Thiet Ke He Thong

27

*Các giai đoạn phân tích thiết kế hệ thống thông tin theo phƣơng pháp SADT:

- Giai đoạn 1 xác định vấn đề cơ bản và tính khả thi của dự án: Cần trả lời các câu hỏi như: “Có

nên thực hiện không?; Mức độ chi phí bao nhiêu?; Quy mô đến đâu?...Cần đưa ra các lập luận để

làm xuất hiện mục tiêu của đề án cuối cùng nếu chấp nhận dự án thì phải vạch kế hoạch cho giai

đoạn 2.

- Giai đoạn 2 phân tích hệ thống: Giai đoạn này ta mô tả hệ thống ở mức khái niệm phân tích sâu

sắc hơn các chức năng, dữ liệu của hệ thống cũ (trả lời các câu hỏi là gì?; làm gì?) sau đó đưa ra mô

tả khái niệm cho hệ thống mới.. Khi phân tích dùng các biểu đồ (chức năng nghiệp vụ, luồng dữ

liệu, mô hình dữ liệu)

- Giai đoạn 3 thiết kế đại thể: Trên cơ sở mô hình khái niệm ở GĐ 2 ta mô tả hệ thống ở mức vật lý,

trả lời các câu hỏi làm thế nào? Xác định các hệ thống con, vai trò của máy tính...

- Giai đoạn 4 thiết kế chi tiết bao gồm:

+ Thiết kế cơ sở dữ liệu

+ Thiết kế các thủ tục, các mô đun xử lý

+ Thiết kế các chức năng chương trình

+ Thiết kế các mẫu thử

+ Thiết kế giao diện

+ Thiết kế các kiểm soát

- Giai đoạn 5 cài đặt chương trình

- Giai đoạn 6 khai thác và bảo trì

Chú ý: Việc phân chia giai đoạn trên chỉ có tính chất tương đối. Đánh giá tương quan giữa các phần

công việc có thể có nhiều tiêu chuẩn khác nhau tuỳ theo trình độ tin học từng quốc gia.

VD: ở các nước phương Tây phần công việc từ giai đoạn 1 - 4 được đánh giá từ 50-60% thời gian,

phần lập trình cài đặt từ 20-30%, còn lại là phần bảo trì.

Để hiểu hệ thống

làm gì?

Xác định hệ thống

mới làm gì?

Mô tả hệ thống

thực làm việc như

thế nào?

Xác định hệ thống

mới thực hiện như

thế nào?

Cần cải

tiến gì?

Mức khái niệm

Mức vật lý

What?

How?

Page 28: Bai Giang Phan Tich & Thiet Ke He Thong

28

CÂU HỎI CUỐI CHƢƠNG

1. Mục đích của phân tích thiết kế hệ thống?

2. Các phương pháp phân tích và thiết kế hệ thống.

3. Các giai đoạn của quá trình PTTK hệ thống?

KHẢO SÁT

PHÂN TÍCH

THIẾT KẾ

XÂY DỰNG

BẢO TRÌ VÀ PHÁT TRIỂN

CÀI ĐẶT

Sơ đồ thể hiện các giai đoạn triển khai xây dựng một dự án

Page 29: Bai Giang Phan Tich & Thiet Ke He Thong

29

Chƣơng III. Khảo sát hệ thống và xác lập dự án

1. Giới thiệu

Đây là giai đoạn đầu tiên của quá trình phân tích và thiết kế hệ thống, nó quyết định dự án có

tồn tại hay không.

Các bước tiến hành tổng quát như sau:

Giai đoạn này phải trả lời các câu hỏi sau:

+ Môi trưởng, hoàn cảnh, các ràng buộc

hạn

chế đối với hệ thống đó như thế nào?

+

Chức năng và nhiệm vụ và mục tiêu cần đạt được của hệ thống đó là gì, tức là người dùng

muốn gì ở hệ thống ?

+ Có thể hình dung sơ bộ một giải pháp có thể đáp ứng được các yêu cầu đặt ra như thế nào?

2. Mục đích, yêu cầu của việc khảo sát

Mục đích:

Khảo sát hiện trạng và xác lập dự án là giai đoạn đầu của quá trình phân tích và thiết kế hệ

thống. Mục đích của giai đoạn này là tìm được sự mô tả hệ thống bằng văn bản, đề xuất ra phương

án thực hiện, cuối cùng là ký được một hợp đồng và hình thành 1 dự án mang tính khả thi (giai đoạn

khảo sát còn có thể coi như "Nghiên cứu tính khả thi" hoặc "Nghiên cứu hiện trạng")

Khảo sát hiện trạng và thu thập thông tin

(Khảo sát ở các mức: Thực hành, quản lý, lãnh đạo, chuyên gia)

Phát hiện yếu kém và yêu cầu đặt ra cho tương lai

Xác định mục tiêu dự án

(cục bộ, toàn bộ)

Đánh giá khả năng thực hiện

(con người, tài chính, thiết bị, thời gian, không gian, môi trường)

Cân nhắc tính khả thi và lựa chọn giải pháp

Lập dự trù và triển khai dự án

Page 30: Bai Giang Phan Tich & Thiet Ke He Thong

30

Việc khảo sát thường được tiến hành qua 2 giai đoạn:

- Khảo sát sơ bộ nhằm xác định tính khả thi của dự án.

- Khảo sát chi tiết nhằm xác định chính xác những gì sẽ thực hiện và khẳng định những lợi ích

kèm theo

Các yêu của việc khảo sát:

- Khảo sát, tìm hiểu, đánh giá sự hoạt động của hệ thống cũ

- Đề xuất các yêu cầu, các mục tiêu và các ưu tiên giải quyết cho hệ thống mới.

- Phác hoạ giải pháp mới và cân nhắc tính khả thi của dự án

- Lập kế hoạch cho dự án cùng với các dự trù tổng quát.

3. Khảo sát và đánh giá hiện trạng

3.1. Nội dung khảo sát và đánh giá hiện trạng

- Tìm hiểu môi trường XH, kinh tế, kỹ thuật của hệ thống, nghiên cứu cơ cấu tổ chức của cơ

quan đó

- Nghiên cứu chức trách, nhiệm vụ, các trung tâm ra quyết định và điều hành, sự phân cấp các

quyền hạn

- Thu thập, nghiên cứu các hồ sơ, sổ sách, các tệp cùng với các phương thức xử lý thông tin

trong đó

- Thu thập và nghiên cứu các qui tắc quản lý, các qui định, các công thức làm căn cứ cho quá

trình xử lý thông tin

- Thu thập các chứng từ giao dịch và mô tả các chu trình lưu chuyển và xử lý thông tin và tài

liệu giao dịch

- Thống kê các phương tiện và tài nguyên đã và có thể sử dụng

- Thu thập các đòi hỏi về thông tin, các ý kiến, dự đoán, nguyện vọng trong tương lai

- Đánh giá phê phán hiện trạng, đề ra hướng giải quyết

- Lập sơ đồ tổng thể về hiện trạng

3.2. Các mức khảo sát

Việc tiến hành khảo sát được tiến hành trên 4 mức đối tượng

- Thao tác thừa hành: Đó là khảo sát những người trực tiếp với những thao tác của hệ thống. Họ

có kỹ năng, nghiệp vụ cao, nhận biết được những khó khăn, phức tạp và nhiều vấn đề chuyên sâu

trong công việc.

- Điều phối quản lý: Đây là những người quản lý trực tiếp về một mảng công việc nào đó, chẳng

hạn quản đốc phân xưởng, họ hiểu được tình hình cơ quan ở thời điểm hiện tại nhưng không có khả

năng nhìn nhận được các vấn đề xảy ra trong tương lai

- Quyết định của lãnh đạo: Đây là những người ra quyết định nên họ có yêu cầu về các thông tin

trợ giúp

Page 31: Bai Giang Phan Tich & Thiet Ke He Thong

31

- Mức chuyên gia cố vấn: Đây là những người nhận thức được sự phát triển và vận động của hệ

thống trong những môi trường

3.3. Các hình thức tiến hành khảo sát

3.3.1. Phỏng vấn

Phỏng vấn là một phương pháp quan trọng để thu thập dữ liệu về các yêu cầu của hệ thống

thông tin

Việc phỏng vấn nhằm phát hiện thông tin về:

- Các ý kiến của người được phỏng vấn

- Cảm giác của người được phỏng vấn

- Trạng thái hiện tại của hệ thống

- Các mục tiêu của con người và tổ chức

- Các thủ tục nghiệp vụ không chính thức

Năm bước lập kế hoạch phỏng vấn là:

- Đọc các tài liệu cơ bản

- Thiết lập các mục tiêu phỏng vấn

- Xác định người đi phỏng vấn

- Chuẩn bị người được phỏng vấn

- Quyết định cấu trúc và kiểu câu hỏi

3.3.1.1. Các kiểu câu hỏi phỏng vấn cơ bản

* Câu hỏi mở:

- Các câu hỏi phỏng vấn mở cho phép những người được phỏng vấn trả lời những gì họ mong

muốn và mức độ mong muốn của họ

- Các câu hỏi mở phù hợp khi người phân tích quan tâm tới độ rộng và sâu của câu trả lời

- Ưu điểm:

o Làm cho người được phỏng vấn cảm thấy thoải mái

o Cho phép người phỏng vấn tập trung vào cách biểu đạt của người được phỏng vấn:

o Phản ánh trình độ văn hóa, các giá trị, thái độ và niềm tin

o Cung cấp mức độ chi tiết cao

o Phát hiện các câu hỏi mới mà chưa được khai thác

o Làm cho người được phỏng vấn thấy thú vị hơn

o Cho phép tính tự nhiên cao hơn

o Giúp người phỏng vấn dễ điều chỉnh nhịp độ hơn

o Hữu ích khi người phỏng vấn không chuẩn bị trước

- Nhược điểm:

o Có thể thu được quá nhiều chi tiết không liên quan

o Có thể mất đi tính điều khiển cuộc phỏng vấn

Page 32: Bai Giang Phan Tich & Thiet Ke He Thong

32

o Có thể mất quá nhiều thời gian để thu được thông tin có ích

o Có khả năng thể hiện rằng người phỏng vấn không chuẩn bị

* Câu hỏi đóng

- Câu hỏi đóng hạn chế số câu trả lời có thể có

- Câu hỏi đóng phù hợp để tạo ra dữ liệu đáng tin cậy và chính xác, dễ dàng để phân tích

- Phương pháp luận hiệu quả và đòi hỏi ít kỹ năng đối với người phỏng vấn

- Ưu điểm:

o Tiết kiệm thời gian phỏng vấn

o Dễ dàng so sánh giữa các lần phỏng vấn

o Dễ đạt đúng mục đích

o Kiểm soát được cuộc phỏng vấn

o Bảo phủ một phạm vi rộng lớn một cách nhanh chóng

o Thu hoạch được các dữ liệu liên quan

- Nhược điểm:

o Nhàm chán đối với người được phỏng vấn

o Khó thu được nhiều chi tiết

o Có thể mất đi các ý tưởng chính

o Khó tạo được mối giao tiếp tốt giữa người phỏng vấn và người được phỏng vấn

* Các câu hỏi lƣỡng cực:

- Là những câu hỏi có thể trả lời với các từ “có” hoặc “không” hoặc “đồng ý” hoặc “không đồng

ý”

- Các câu hỏi này chỉ nên dùng khi thật cần thiết

* Các câu hỏi thăm dò:

- Các câu hỏi thăm dò gợi ra tính chi tiết hơn về câu hỏi trước đó

- Mục đích của câu hỏi thăm dò là:

o Thu được nhiều ý nghĩa hơn

o Làm sáng rõ

o Khai thác và mở rộng các quan điểm của người được phỏng vấn

Page 33: Bai Giang Phan Tich & Thiet Ke He Thong

33

So sánh giữa hai loại câu hỏi ở và đóng

3.3.1.2. Thứ tự đặt câu hỏi

- Ba cách cơ bản để cấu trúc cuộc phỏng vấn là:

o Kim tự tháp: mở đầu với các câu hỏi đóng và tiếp tục với các câu hỏi mở

o Hình phễu: mở đầu với các câu hỏi mở và tiếp tục với các câu hỏi đóng

o Kim cương: mở đầu với các câu hỏi đóng, tiếp tục với các câu hỏi mở và kết thúc bằng

các câu hỏi đóng

- Cấu trúc kim tự tháp

o Mở rất chi tiết, thường là bằng các câu hỏi đóng

o Mở rộng bằng các câu hỏi mở và những câu trả lời tổng quát hơn

o Hữu ích nếu người được phỏng vấn cần được khích lệ đi vào chủ để hoặc tỏ ra không tự

nguyện hướng tới chủ đề

- Cấu trúc phễu:

o Mở đầu với các câu hỏi mở, mang tính tổng quát

o Kết thúc bằng cách thu hẹp các câu trả lời có thể có bằng việc sử dụng các câu hỏi đóng

o Cung cấp cách thức dễ dàng, không gây áp lực để bắt đầu một cuộc phỏng vấn

o Có ích khi người được phỏng vấn cảm thấy hứng khởi với chủ đề

o Cấu trúc kim cương

o Một cấu trúc hình kim cương mở đầu theo cách rất cụ thể

o Tiếp theo các vấn đề tổng quát hơn được xem xét

o Kết thúc với các câu hỏi cụ thể

o Cấu trúc này kết hợp thế mạnh của cả cấu trúc kim tự tháp và hình phễu

o Mất nhiều thời gian hơn các cấu trúc khác

Page 34: Bai Giang Phan Tich & Thiet Ke He Thong

34

- Kết thúc việc phỏng vấn:

o Luôn luôn hỏi “Liệu còn có gì khác mà bạn muốn bổ sung không?”

o Tóm tắt và cung cấp phản hồi về ấn tượng của người phỏng vấn

o Hỏi xem người tiếp theo nên phỏng vấn là ai

o Thiết lập các cuộc hẹn gặp tiếp theo

o Cảm ơn người được phỏng vấn và bắt tay

o Báo cáo phỏng vấn

o Viết càng sớm càng tốt ngay sau khi phỏng vấn

o Cung cấp một bản tóm tắt ban đầu, sau đó thì chi tiết hơn

o Xem lại báo cáo với người được phỏng vấn

3.3.2. Điều tra bằng bảng hỏi

- Phiếu hỏi có ích để thu thập thông tin từ các thành viên chủ đạo trong tổ chức về:

o Thái độ

o Niềm tin

o Hành vi

o Tính cách

- Phiếu hỏi có giá trị nếu:

o Các thành viên của tổ chức phân tán rộng

o Nhiều thành viên tham gia vào dự án

o Cần việc có tính thăm dò

- Các câu hỏi được thiết kế theo một trong hai kiểu

o Câu hỏi mở

+ Cố gắng đoán trước câu trả lời sẽ nhận được

+ Phù hợp để thu được các ý kiến

o Câu hỏi đóng

+ Sử dụng khi tất cả các lựa chọn đều liệt kê được

+ Khi các lựa chọn loại trừ lẫn nhau

Page 35: Bai Giang Phan Tich & Thiet Ke He Thong

35

So sánh giữa hai loại câu hỏi ở và đóng

3.3.2.1. Thiết kế phiếu hỏi

- Ngôn ngữ dùng trong phiếu hỏi nên:

o Đơn giản

o Cụ thể

o Không thành kiến

o Không có vẻ bề trên

o Chính xác về mặt kỹ thuật

o Hướng đến những người có hiểu biết

o Phù hợp với khả năng đọc hiểu của người trả lời

- Phiếu hỏi phải chính xác và đáng tin cậy

o Tính tin cậy thể hiện sự nhất quán trong trả lời – nghĩa là thu được cùng các kết quả nếu

như cùng một phiếu hỏi được phân phát trong cùng điều kiện

o Tính chính xác là mức độ câu hỏi đo được những gì người phân tích muốn đánh giá

- Tỉ lệ câu trả lời tốt có thể có được nhờ sự điều chỉnh phù hợp phiếu hỏi

o Để ra nhiều khoảng trống

o Bố trí khoảng trống lớn để viết/gõ câu trả lời

o Tạo điều kiện cho người trả lời dễ dàng bày tỏ rõ câu trả lời của họ

o Nhất quán về hình thức

- Thứ tự câu hỏi:

o Đặt các câu hỏi quan trọng nhất lên đầu tiên

o Nhóm các câu hỏi có cùng nội dung lại với nhau

o Đưa các câu hỏi ít gây tranh luận lên trên

3.3.2.2. Phát phiếu hỏi

- Tập hợp tất cả những người trả lời vào cùng một thời gian

Page 36: Bai Giang Phan Tich & Thiet Ke He Thong

36

- Phát phiếu hỏi cho từng cá nhân

- Gửi phiếu hỏi qua đường bưu điện

- Phát phiếu hỏi qua Web hoặc thư điện tử, có các ưu điểm:

o Giảm chi phí

o Thu thập và lưu trữ các kết quả dễ dàng hơn

- Phiếu hỏi dạng web thường gồm:

o Hộp văn bản đơn dòng

o Hộp văn bản cuộn, dùng một hoặc nhiều đoạn văn bản

o Hộp chọn dành cho các câu trả lời có/không hoặc đúng/sai

o Nút tùy chọn cho các câu trả lời mang tính loại trừ lẫn nhau có/không hoặc đúng/sai

o Menu thả để chọn từ một danh sách

o Nút Submit (xác nhận) hoặc Reset (xác lập lại)

3.3.3. Phƣơng pháp lấy mẫu

- Lấy mẫu là quá trình lựa chọn một cách có hệ thống các phần tử đại diện của một mẫu. Thay

vì nghiên cứu tất cả các thể hiện của các biểu mẫu và bản ghi trong các tệp hoặc cơ sở dữ liệu thì

người phân tích chỉ cần sử dụng kỹ thuật lấy mẫu để chọn ra một phần đủ lớn các phần tử đại diện

phục vụ cho việc xác định thông tin diễn ra trong hệ thống.

- Bao gồm hai quyết định quan trọng:

o Những tài liệu và website quan trọng nào nên được lấy mẫu

o Những người nào nên được phỏng vấn và gửi phiếu hỏi

- Lý do người phân tích cần lấy mẫu là:

o Giảm chi phí

o Tăng tốc quá trình thu thập dữ liệu

o Cải thiện hiệu quả

o Giảm việc tập trung thu thập dữ liệu

3.3.3.1. Thiết kế mẫu

- Để thiết kế một mẫu tốt, một người phân tích hệ thống cần tuân theo bốn bước sau:

o Xác định dữ liệu cần được thu thập hoặc mô tả

o Xác định tập cần được lấy mẫu

o Chọn loại mẫu

o Quyết định kích thước mẫu

- Quyết định kích thước mẫu nên được thực hiện theo những điều kiện cụ thể mà người phân

tích hệ thống làm việc:

o Lấy mẫu dữ liệu trên các thuộc tính

o Lấy mẫu dữ liệu trên các biến

o Lấy mẫu dữ liệu định tính

Page 37: Bai Giang Phan Tich & Thiet Ke He Thong

37

3.3.3.2. Cách thức lấy mẫu

- Lấy mẫu tùy ý:

o Các mẫu không giới hạn, không mang tính xác suất

o Dễ sắp xếp

o Không đáng tin cậy nhất

- Lấy mẫu có mục đích

o Dựa trên sự đánh giá

o Người phân tích chọn nhóm các cá nhân để lấy mẫu

o Dựa trên các tiêu chuẩn

o Mẫu không mang tính xác suất

o Đáng tin cậy ở mức độ vừa phải

- Lấy mẫu ngẫu nhiên đơn giản

o Dựa trên danh sách các con số của tập lấy mẫu

o Mỗi người hoặc tài liệu đều có cơ hội được lựa chon ngang nhau

- Lấy mẫu ngẫu nhiên phức tạp, có ba hình thức là:

o Lấy mẫu có hệ thống: đây là phương pháp đơn giản nhất của lấy mẫu theo xác suất bao

gồm, ta chỉ cần chọn mọi cá nhân thứ k trong danh sách, hình thức này không đem lại hiệu quả cao

nếu danh sách được sắp thứ tự

o Lấy mẫu phân tầng: là phương pháp quan trọng nhất đối với người phân tích.

+ Xác định các tập lấy mẫu con

+ Chọn các đối tượng để lấy mẫu từ tập lấy mẫu con

+ Bù vào số lượng không cân đối trong một nhóm nhất định

+ Chọn các phương pháp khác nhau để thu thập dữ liệu từ các nhóm con khác nhau

o Lấy mẫu theo nhóm

+ Chọn nhóm các tài liệu hoặc con người để nghiên cứu

+ Chọn các nhóm điển hình đại diện cho số còn lại

3.3.4. Phân tích tài liệu

3.3.4.1. Phân tích tài liệu định lƣợng

Đây là phương pháp nghiên cứu hữu hiệu để người phân tích thu thập thông tin

- Dữ liệu cứng có thể thu thập từ:

o Phân tích các tài liệu định lượng như các hồ sơ được sử dụng để ra quyết định

o Các báo cáo thực thi

o Các hồ sơ

o Các mẫu thu thập dữ liệu

o Các giao dịch nghiệp vụ

Page 38: Bai Giang Phan Tich & Thiet Ke He Thong

38

3.3.4.2. Phân tích tài liệu định tính

- Xem xét các tài liệu định tính để thu được:

o Các thông tin tiềm ẩm quan trọng

o Trạng thái tâm lý

o Những gì được coi là tốt/xấu

o Hình ảnh, logo, biểu tượng

- Tài liệu định tính bao gồm:

o Các bản ghi nhớ

o Dấu hiệu trên các bản tin

o Website của tổ chức

o Các tài liệu chỉ dẫn

o Sổ tay về chính sách của tổ chức

3.3.5. Phƣơng pháp quan sát

- Việc quan sát cung cấp sự hiểu biết về những gì các thành viên của tổ chức thực sự đang làm.

- Nhìn nhận trực tiếp các quan hệ tồn tại giữa những người ra quyết định và các thành viên khác

của tổ chức.

- Có hai hình thức quan sát đó là trực tiếp và gián tiếp. Với hình thức quan sát trực tiếp có ưu

điểm là trực quan tuy nhiên dễ gây ức chế cho người theo tác, hình thức quan sát gián tiếp khắc

phục một phần của điều này nhưng khó có thể tìm hiểu được cặn kẽ công việc.

3.5. Phát hiện những yếu kém của hiện trạng và những yêu cầu trong tƣơng lai

* Yếu kém

- Hệ thống thiếu cái gì, (chức năng, phương tiện, nhân lực)

- Kém hiệu quả, hiệu suất công việc thấp

- Phương pháp xử lý không chặt chẽ, di chuyển thông tin vòng vèo

- Cơ cấu tổ chức bất hợp lý

- Giấy tờ, tài liệu trình bày kém gây ùn tắc làm cho hệ thống quá tải, gây tổn phí về vật tư, thiết

bị, con người

* Yêu cầu nảy sinh

- Khắc phục những yếu kém trên

- Những yêu cầu về thông tin chưa được đáp ứng

- Những nguyện vọng của nhân viên

- Các dự kiến và các kế hoạch phát triển về quy mô của đơn vị

4. Xác định phạm vi, khả năng và mục tiêu của dự án

4.1. Xác định phạm vi (khoanh vùng dự án)

* Chỉ rõ hệ thống mới tiến hành trong phạm vi nào?

+ Trong toàn bộ cơ quan (phương pháp hồ)

Page 39: Bai Giang Phan Tich & Thiet Ke He Thong

39

+ Trong từng bộ phận (phương pháp giếng). Nên khảo sát tổng thể trước khi khoanh vùng nơi

thực hiện tin học hoá.

* Đánh giá từng phương pháp:

+ Ưu điểm của phương pháp hồ là nhất quán trong xử lý, cơ sở dữ liệu tập trung nên tránh

được dư thừa dữ liệu, tuy nhiên tốc độ xử lý sẽ chậm, cài đặt phức tạp

+ Với phương pháp giếng thì dễ thực hiện nhưng khó phát triển hệ thống con thành hệ thống

tổng thể.

Chú ý: Một HTTT thường khá phức tạp mà không thể thực hiện trong một thời gian nhất định

bởi vậy cần hạn chế một số ràng buộc để hệ thống mang tính khả thi nhất định. Tại thời điểm này

cần xác định các mục tiêu cho dự án, chính các mục tiêu này là thước đo để kiểm chứng và nghiệm

thu dự án sau này.

4.2. Khả năng và hạn chế thực hiện dự án

Xét trên 5 mặt sau:

- Về mặt tài chính: Kinh phí cho phép triển khai.

- Về con người: Khả năng quản lý, nắm bắt kỹ thuật mới, khả năng về đào tạo, tiếp nhận công

nghệ mới

- Về trang thiết bị kỹ thuật cho phép

- Về mặt thời gian: Các ràng buộc của các hệ thống về thời gian hoàn thành.

- Về môi trường: Các yếu tố ảnh hưởng về môi trường, xã hội.

4.3. Mục tiêu của việc tin học hoá

- Khắc phục yếu kém hệ thống cũ

- Đáp ứng được yêu cầu trong tương lai

- Mang lại lợi ích kinh tế

- Thoả mãn được hạn chế về chi phí và con người

- Thể hiện được chiến lược phát triển lâu dài

4.4. Xác định yếu tố thành công của bài toán

- Mục tiêu quản lý: Được chỉ ra bằng cụm danh động từ thể hiện tóm tắt các qui trình quản lý cơ

bản.

- Yếu tố thành công của bài toán (CSF – Critical Successful Factor): Được thể hiện bằng một

danh từ, đây là các thông tin đầu ra phải có mặt của hệ thống.

5. Phác hoạ giải pháp, cân nhắc tính khả thi

5.1. Các mức tự động hoá

- Tổ chức lại các công việc thủ công

- Tự động hoá việc xử lý tin nhưng không làm thay đổi cơ cấu tổ chức

- Tự động hoá kèm theo thay đổi tổ chức

5.2. Hình thức sử dụng máy tính

Page 40: Bai Giang Phan Tich & Thiet Ke He Thong

40

- Xử lý theo mẻ hay trực tuyến (offline or online)

- Xử lý tập trung/phân tán

5.3. Phân tích hiệu quả và đánh giá tính khả thi

- Tính hiệu quả:

+ Chi phí

+ Lợi ích (về kinh tế)

- Tính khả thi:

+ Khả thi về mặt kĩ thuật

+ Khả thi về tác vụ

+ Khả thi về chi phí

Nguyên tắc chung ở đây là đề xuất 1 số phương án để đối sánh

6. Lập dự trù và kế hoạch triển khai dự án

6.1. Hình thành hợp đồng

Quyết định hệ thống khả thi hay không và thoả thuận các điều khoản sơ bộ dẫn đến 1 hợp đồng

kinh tế và trách nhiệm của các bên tham gia.

6.2. Lập dự trù thiết bị

- Sơ bộ về dự án

+ Khối lượng dữ liệu cần lưu trữ

+ Các dạng làm việc: Trực tuyến, từ xa, theo mẻ,...

+ Số lượng người dùng

+ Khối lượng thông tin cần thu thập, xuất ra

- Thiết bị cần có: Máy tinh đơn lẻ hay mạng máy tính, các thiết bị chuyên dụng và các phần

mềm đang dùng...

- Điều kiện mua bán và lắp đặt: Điều kiện về mặt tài chính, điều kiện giao hàng, kế hoạch tập

huấn, kế hoạch lắp đặt, đào tạo người dùng...

6.3. Lập kế hoạch triển khai dự án

- Lập hồ sơ kế hoạch gồm: Danh sách thành viên nhóm làm việc gồm cả hai bên; các kết quả

khảo sát sơ bộ; các phê phán hiện trạng và yêu cầu phát triển trong tương lai; các giải pháp và lựa

chọn; kế hoạch triển khai dự án.

- Thông qua trao đổi để thảo luận hoàn tất các hồ sơ trên. Sau khi quyết định phân công nhiệm

vụ cho từng nhóm hay từng cá nhân thực hiện các giai đoạn tiếp theo.

CÂU HỎI CUỐI CHƢƠNG

1. Nêu các phương pháp khảo sát?

2. Đặt cho người chủ hệ thống bán hàng nội thất 05 câu hỏi về hệ thống anh ta cần xây dựng?

3. Đặt cho nhân viên thực hiện việc bán hàng 05 câu hỏi về công việc chi ta đang thực hiện?

4. Lập bảng điều tra các chức năng mà một hệ thống bán hàng quần áo nói chung?

Page 41: Bai Giang Phan Tich & Thiet Ke He Thong

41

Chƣơng IV. Mô hình hóa hệ thống

1. Mục đích

Mô hình hóa hệ thống nhằm đạt được các mục đích:

- Để hiểu rõ hơn về hệ thống: các cơ hội để đơn giản hóa, tối ưu hóa (Tái cấu trúc quy trình)

- Để liên kết các hành vi và cấu trúc của hệ thống (các yêu cầu nghiệp vụ về: thông tin/dữ liệu

và chức năng/quy trình)

- Để trực quan hóa và điều khiển kiến trúc hệ thống (thiết kế)

- Để kiểm soát những rủi ro trong quá trình phát triển

- Đầu vào của giai đoạn này là hồ sơ kết quả của khảo sát hệ thống

- Đầu ra bao gồm:

+ Mô hình hóa chức năng (Data Flow Diagram - DFD)

+ Mô hình hóa dữ liệu với biểu đồ quan hệ thực thể (Entity Relationship Diagram - ERD)

+ Mô hình hóa đối tượng (Object Modeling) với ngôn ngữ mô hình hợp nhất (Unified

Modeling Language - UML)

2. Quá trình mô hình hóa hệ thống

- Lập kế hoạch chiến lược hệ thống: lập các mô hình quá trình nghiệp vụ của tổ chức mô tả các

chức năng nghiệp vụ quan trọng

- Tái cấu trúc quy trình nghiệp vụ: phân tích các điểm yếu (Hệ thống hiện tại) và đưa ra các mô

hình chức năng để cải thiện (Hệ thống mới được đề xuất).

- Phân tích hệ thống

+ Mô hình hóa hệ thống hiện có bao gồm những thiếu sót của nó (DFD lôgíc)

+ Mô hình hóa các yêu cầu lôgíc (các quá trình và luồng dữ liệu cần có dù hệ thống được

xây dựng thế nào – DFD lôgíc) của hệ thống được đề xuất.

+ Mô hình hóa các giải pháp kỹ thuật đề cử (DFD vật lý)

+ Mô hình hóa giải pháp được chọn (DFD vật lý)

- Phân biệt mô hình lôgíc và mô hình vật lý

+ Mô hình lôgíc cho biết hệ thống là gì và làm gì. Nó độc lập với việc cài đặt kỹ thuật. Nó

minh họa bản chất của hệ thống. Mô hình lôgíc còn có thể được gọi là mô hình bản chất, mô hình

khái niệmmô hình nghiệp vụ.

+ Mô hình vật lý không chỉ thể hiện hệ thống là gì và làm gì mà còn thể hiện cách thức hệ

thống được cài đặt một cách vật lý và kỹ thuật. Nó phản ánh các lựa chọn công nghệ. Mô hình vật

lý còn có thể được gọi là mô hình cài đặt hay mô hình kỹ thuật.

- Sự cần thiết của mô hình lôgíc

Page 42: Bai Giang Phan Tich & Thiet Ke He Thong

42

+ Các mô hình lôgíc loại bỏ tư tưởng thiên lệch do ảnh hưởng bởi cách thức cài đặt hệ thống

đã có hoặc ý kiến chủ quan của một người nào đó về cách cài đặt cho hệ thống. Do đó, chúng

khuyến khích tính sáng tạo.

+ Các mô hình lôgíc làm giảm khả năng bỏ sót các yêu cầu nghiệp vụ trong trường hợp con

người bị chi phối quá nhiều vì các kết quả mang tính kỹ thuật. Nhờ việc tách biệt những gì hệ

thống phải làm với cách thức hệ thống thực hiện mà chúng ta có thể phân tích tốt hơn các yêu

cầu nhằm đảm bảo tính hoàn thiện, chính xác và nhất quán.

+ Các mô hình lôgíc cho phép truyền đạt với người dùng cuối dưới dạng ngôn ngữ phi kỹ

thuật hoặc ít kỹ thuật hơn.

3. Biểu đồ phân rã chức năng (Functional Diagrams)

3.1. Khái niệm

BFD là việc phân rã có thứ bậc đơn giản các chức năng của hệ thống trong miền khảo cứu thành

các chức năng nhỏ hơn, cuối cùng thu được một cây chức năng.

3.2. Các thành phần của BFD

- Ký hiệu chức năng là một hình chữ nhật bên trong

là tên chức năng

- Liên kết các chức năng là đường thẳng

- Tên chức năng là Động từ - bổ ngữ và động từ nên ở dạng thức mệnh lệnh

Ví dụ:

3.3. Đặc điểm của biểu đồ phân cấp chức năng

- Cung cấp cách nhìn tổng quát về chức năng của hệ thống, phạm vi cần phân tích

- BFD trình bày các chức năng của hệ thống ở dạng tĩnh, tức là không thể hiện được mối quan

hệ về chuyển giao thông tin giữa các chức năng, không thể hiện trình tự thực hiện xử lý thông tin.

- BFD thường được sử dụng để bổ trợ cho việc xây dựng biểu đồ luồng dữ liệu.

- Tên đặt cho các chức năng là quan trọng cho thành công của hệ thống. Mỗi chức năng cần có

một tên duy nhất, tên nên biểu thị thật sát, đầy đủ ý nghĩa của các chức năng con của chức năng

được đặt tên. Tên của chức năng cần phải phản ánh được các chức năng của thế giới thực chứ

không chỉ cho hệ thống thông tin.

Quản lý XN

Quản lý nhân

sự

Quản lý tài chính Quản lý vật tư

Quản lý hồ sơ Quản lý lao động

Quản lý kho

Page 43: Bai Giang Phan Tich & Thiet Ke He Thong

43

- BFD rất gần với sơ đồ tổ chức, tuy nhiên không được lầm lẫn giữa 2 sơ đồ.

Ví dụ: Sơ đồ cơ cấu tổ chức của xí nghiệp:

Biểu đồ phân cấp chức năng

3.4. Cách xây dựng BFD

BFD thể hiện các đầu việc mà hệ thống cần thực hiện để đạt được mục tiêu quản lý (quản lý cái

gì?), việc xây dựng dựa trên cơ sở của bước khảo sát, vì vậy khảo sát càng kỹ lưỡng thì việc xác

định mô hình chức năng các đầy đủ chính xác.

Thông tin có trên BFD:

- Thể hiện đầy đủ các chức năng mà hệ thống thực hiện

- Một chức năng lớn có thể được phân thành các chức năng nhỏ hơn

- Việc phân rã được tiến hành theo tiêu chí:

+ Theo bản chất xử lý (chức năng)

+ Theo bộ phận thực hiện

+ Theo dữ liệu phải xử lý

Xây dựng biểu đồ chức năng theo các bước sau:

- Xem cả hệ thống là 1 chức năng duy nhất, còn gọi là mức 0

- Phân rã khối chức năng ở mức trên thành các chức năng nhỏ hơn ở mức dưới, lần lượt

đánh số là mức 1, mức 2, ...

Mục tiêu quản lý

Mô hình chức năng

Làm gì?

Ban giám đốc

Phòng tổ chức Phòng KH, tài vụ Phòng vật tư

Quản lý xí nghiệp

Quản lý nhân sự Quản lý tài chính Quản lý vật tư

Page 44: Bai Giang Phan Tich & Thiet Ke He Thong

44

Trong mức cao nhất một chức năng chính sẽ là một trong những loại sau: Quản lý tiến trình

sản xuất, Quản lý cung cấp dịch vụ, Quản lý tài nguyên- tiền vốn, Quản lý con người. . .

Từ chức năng chính này chúng ta phân rã thành các chức năng con để hình thành nên một biểu

đồ hình cây mà gốc ở trên.

- Thông thường đối với hệ thống lớn cũng không nên có nhiều hơn 6 mức (vì khó theo dõi) và

đối với hệ thống nhỏ và trung bình không nên quá 3 mức.

- Một chức năng không nên quá 7 chức năng con (khó theo dõi mô hình)

- Sơ đồ nên tương đối "cân bằng" theo nghĩa mức của các chức năng con thấp nhất nên được

xác định tương đương như nhau.

- Phân tích chức năng đưa ra những chi tiết quan trọng mà những chi tiết đó sẽ được dùng nhiều

ở những giai đoạn sau của phân tích.

Ví dụ: biểu đồ phân rã chức năng hệ thống quản lý kinh doanh của xí nghiệp A

Hệ thống

A B C D

Mức 0

Mức 1

Mức 2

Quản lý kinh doanh

Quản lý hàng hóa Nhập hàng Bán hàng Báo cáo, thống kê

Cập nhật hàng hóa

Cập nhật giá bán

Lập hóa đơn

Kiểm kê hàng

hóa

Lập hóa đơn

Trả hàng

Quản lý nhà

cung cấp

Quản lý khách

hàng

Báo cáo hàng tồn

Báo cáo doanh thu

….

Page 45: Bai Giang Phan Tich & Thiet Ke He Thong

45

4. Biểu đồ luồng dữ liệu (Data Flow Diagrams)

- Khái niệm: DFD diễn tả tập hợp các chức năng của hệ thống và mối quan hệ chuyển giao

thông tin giữa các chức năng hay nói khác đi nó cung cấp bức tranh động về hệ thống.

- DFD được sử dụng là công cụ cơ bản trong tất cả các giai đoạn phân tích, thiết kế, trao đổi và

lưu trữ dữ liệu.

- Mục đích

+ Xác định yêu cầu của người sử dụng (NSD)

+ Lập kế hoạch và minh hoạ các phương án cho nhà phân tích và NSD xem xét

+ Là công cụ trao đổi giữa nhà phân tích và NSD do tính tường minh của DFD

+ Làm tài liệu đặc tả yêu cầu hình thức và đặc tả thiết kế hệ thống.

4.1. Các ký hiệu

- Tác nhân ngoài: biểu diễn bởi hình chữ nhật, bên trong là tên tác nhân

- Luồng dữ liệu: biểu diễn bởi mũi tên 1 chiều.

- Tiến trình: biểu diễn bở hình chữ nhật có bo tròn bốn góc, bên trong ghi tên tiến trình

- Kho dữ liệu: nơi lưu trữ dữ liệu, biểu diễn như hình dưới, bên trong ghi tên kho dữ liệu

4.1.1. Tác nhân ngoài

- Khái niệm: Một tác nhân ngoài là một nguồn cung cấp hoặc nhận thông tin dữ liệu của hệ

thống, tác nhân ngoài không phải là một phần của hệ thống, nó thể hiện mối quan hệ giữa hệ thống

với môi trường bên ngoài

- Tên của tác nhân ngoài phải là một danh từ

- Một tác nhân ngoài xác định một người, một đơn vị của tổ chức hay một tổ chức khác nằm

ngoài phạm vi của dự án nhưng có tương tác với hệ thống đang được nghiên cứu.

- Các tác nhân ngoài xác định “biên giới” hay phạm vi của hệ thống đang được mô hình hóa.

Khi phạm vi thay đổi, các tác nhân ngoài có thể trở thành các tiến trình và ngược lại

- Tác nhân ngoài thường là:

+ Phòng ban, bộ phận trong tổ chức nhưng nằm ngòai phạm vi hệ thống.

Tên tác nhân

Tên tiến trình

Page 46: Bai Giang Phan Tich & Thiet Ke He Thong

46

+ Một chi nhánh hoặc tổ chức bên ngoài

+ Một hệ thống thông tin khác của tổ chức

+ Người dùng cuối hoặc người quản lý của hệ thống

4.1.2. Kho dữ liệu

- Khái niệm: Một kho dữ liệu là một kho lưu trữ dữ liệu, nó chứa thông tin, kho chứa vật lý là

phi vật chất, nó có thể là một tủ hồ sơ, sách hoặc file máy tính.

- Tên của kho dữ liệu phải bắt đầu bằng danh từ, nó nói lên nội dung thông tin lưu trữ.

- Một kho dữ liệu là “dữ liệu tĩnh” khác với luồng dữ liệu là “dữ liệu chuyển động”. Một kho dữ

liệu cần biểu diễn cho “những thứ” mà tổ chức muốn lưu trữ dữ liệu, “những thứ” thường là:

+ Con người: ví dụ như khách hàng, phòng, nhân viên, thầy giáo, sinh viên, nhà cung cấp…

+ Các địa điểm: ví dụ như nơi sinh, tòa nhà, phòng, chi nhánh…

+ Các đối tượng: ví dụ như sách, máy móc, sản phẩm, nguyên liệu thô, bản quyền phần

mềm, gói phần mềm, công cụ, phương tiện vận tải…

+ Các sự kiện (dữ liệu được thu thập về chúng): ví dụ như việc bán hàng, giải thưởng, sự trì

hoãn, lớp học, chuyến bay, hóa đơn, đơn hàng, đăng ký, đặt chỗ…

+ Các khái niệm (dữ liệu về chúng rất quan trọng): ví dụ như việc giảm giá, tài khoản, khóa

học, chất lượng…

4.1.3. Luồng dữ liệu

- Khái niệm: Một luồng dữ liệu biểu diễn một sự di chuyển của dữ liệu (thông tin) giữa các tiến

trình hoặc kho dữ liệu, một luồng dữ liệu không biểu diễn một tài liệu hay một vật thể vật lý: nó

biểu diễn sự trao đổi thông tin trong tài liệu hoặc về vật thể.

- Luồng phải có tên và không trùng lặp với các luồng dữ liệu khác. Tên phải thể hiện logic của

thông tin chứ không phải dạng vật lý của nó và phải bắt đầu bằng danh từ

- Một luồng dữ liệu biểu diễn một đầu vào dữ liệu tới một tiến trình hoặc đầu ra dữ liệu từ một

tiến trình.

- Một luồng dữ liệu cũng có thể được dùng để biểu diễn việc tạo, đọc, xóa hoặc cập nhật dữ liệu

trong một file hoặc cơ sở dữ liệu (được gọi là kho dữ liệu).

- Một luồng dữ liệu ghép (gói) là một luồng dữ liệu chứa các luồng dữ liệu khác.

4.1.4. Tiến trình

-Khái niệm: Một tiến trình là một hoạt động được thực hiện trên luồng dữ liệu vào để tạo một

luồng dữ liệu ra. Tiến trình là chức năng được thực hiện bởi hệ thống để đáp ứng lại các luồng dữ

liệu hoặc điều kiện vào.

-Tên tiến trình: Sử dụng một động từ để gán nhãn cho hành động thực hiện bởi tiến trình (không

phải là tên của người hay phòng ban thực hiện nó trong DFD vật lý).

- Một tiến trình phải có ít nhất một luồng dữ liệu vào và ít nhất một luồng dữ liệu ra.

- Các loại tiến trình lôgíc

Page 47: Bai Giang Phan Tich & Thiet Ke He Thong

47

+ Chức năng: một tập các hoạt động tiếp diễn liên quan tới một nghiệp vụ; ví dụ như việc

bán hàng

+ Sự kiện (hay giao dịch, hoạt động): một công việc phải được hoàn thành toàn bộ (hoặc

như một phần của một chức năng); ví dụ như việc thu tiền thanh toán (là một công đoạn trong việc

bán hàng)

+ Tiến trình cơ bản (hay thao tác): một hoạt động hoặc thao tác chi tiết, rời rạc được yêu cầu

để đáp lại một sự kiện. Thông thường, một số thao tác như vậy phải được hoàn thành để đáp ứng

một sự kiện; ví dụ như ghi tiền thành toán

4.2. Quy tắc thiết kế biểu đồ luồng dữ liệu

- Không một tiến trình nào chỉ có cái ra mà không có cái vào. Nếu đối tượng chỉ có cái ra thì nó

là tác nhân nguồn.

- Không tiến trình nào chỉ có cái vào. Nếu đối tượng chỉ có cái vào thì nó là tác nhân đích.

- Tên tiến trình phải là một mệnh đề chỉ hành động.

- Dữ liệu không di chuyển trực tiếp từ kho đến kho.

- Dữ liệu không di chuyển trực tiếp từ tác nhân đến kho.

- Dữ liệu không di chuyển từ tác nhân đến tác nhân.

- Dữ liệu chỉ di chuyển từ tác nhân đến tiến trình, tiến tình đến tác nhân, tiến trình đến kho, kho

đến tiến trình và tiến trình đến tiến trình.

- Tên kho là một mệnh đề danh từ.

- Luồng dữ liệu chỉ có 1 hướng, chỉ hướng di chuyển của dữ liệu.

- Một luồng dữ liệu rẽ nhánh chỉ cùng một dữ liệu đi đến hai đối tượng khác nhau.

- Hai luồng dữ liệu chập lại chỉ cùng một dữ liệu đi đến một đối tượng từ hai đối tượng khác

nhau.

- Luồng dữ liệu không đi về chính nơi nó xuất phát.

- Luồng dữ liệu đi vào kho có nghĩa là ghi thông tin vào kho.

- Luồng dữ liệu đi ra kho có nghĩa là đọc thông ti từ kho.

- Tên luồng dữ liệu là một mệnh để danh từ.

4.3. Biểu đồ luồng dữ liệu mức ngữ cảnh

- Khái niệm: Biểu đồ luồng dữ liệu mức ngữ cảnh (Context data flow diagram) là một mô hình

chức năng được dùng để tài liệu hóa phạm vi của một hệ thống.. Để xây dựng biểu đồ ngữ cảnh, cần

phải:

+ Xác định biên giới của hệ thống

+ Xác định các tác nhân ngoài

+ Không chi tiết về các quá trình và kho dữ liệu của hệ thống

- Biểu đồ luồng dữ liệu mức ngữ cảnh bao gồm:

+ Một tiến trình duy nhất: mô tả toàn bộ hệ thống. Tên tiến tình thường là tên của hệ thống.

Page 48: Bai Giang Phan Tich & Thiet Ke He Thong

48

+ Các tác nhân: có mối quan hệ về thông tin với hệ thống.

+ Các luồng dữ liệu giữa các tác nhân và tiến trình.

Ví dụ: biểu đồ dữ liệu mức ngữ cảnh hệ thống quản lý kinh doanh

4.4. Phát triển biểu đồ dữ liệu các mức

4.4.1. Quá trình xây dựng

Kỹ thuật phổ biến được dùng để xây dựng DFD là kỹ thuật phân mức. Dựa theo BFD của hệ

thống, chúng ta sẽ xây dựng DFD theo nhiều mức, mỗi mức thể hiện trên một hoặc nhiều trang.

Nên đặt tên cho mỗi trang bằng tên của chức năng đang được phân tích trên trang đó.

Quá trình xây dựng:

- Xây dựng biểu đồ mức ngữ cảnh

- Xây dựng DFD mức đỉnh

+ Xác định các tiến trình.

+ Xác định các kho dữ liệu

+ Xác định các luồng dữ liệu ngoài giữa các tác nhân ngoài với các tiến trình.

+ Xác định các luồng dữ liệu ngoài giữa các tiến trình với các kho dữ liệu.

- Các DFD mức dưới đỉnh: là các quá trình con của các quá trình mức đỉnh nếu cần thiết phải

biểu diễn.

Hàng hóa, hóa đơn

Thống

Hóa đơn, hàng hóa

Yêu

Cầu

Người quản lý

Phiếu yêu cầu Nhà cung cấp

Yêu cầu hàng

Khách hàng

Quản lý kinh

doanh

Page 49: Bai Giang Phan Tich & Thiet Ke He Thong

49

4.4.2. Các qui tắc xây dựng DFD

- Mỗi đối tượng có riêng một nhãn duy nhất để tránh gây hiểu nhầm

- Sử dụng một ĐỘNG TỪ để gán nhãn cho một quá trình (vì một quá trình là một hành động)

- Mỗi luồng dữ liệu phải được liên kết với ít nhất một quá trình

- Một tiến trình phải luôn có luồng dữ liệu vào và ra

- Không cần có một luồng dữ liệu (mà không có sự biến đổi) liên kết với một tiến trình (vì hoạt

động như vậy là vô giá trị)

- Các quá trình cha và các quá trình con tương ứng của nó phải có các luồng dữ liệu vào ra

giống nhau (nhưng các quá trình con có thể có luồng dữ liệu của riêng nó)

- Các luồng dữ liệu không thể tự phân tách được

- Một gói dữ liệu có thể gồm nhiều phần tử dữ liệu được truyền đi đồng thời tới cũng một đích

- Không được sử dụng mũi tên hai chiều vì luồng vào (cập nhật) và luồng ra (trích thông tin)

của một đối tượng mang nội dung thông tin khác nhau.

4.4.3. Phân tích hƣớng cấu trúc cổ điển (top-down)

Phân tích hướng cấu trúc cổ điển thông quá các bước sau:

- Vẽ các biểu đồ DFD vật lý dạng top-down để biểu diễn sự cài đặt vật lý hiện tại của hệ thống

bao gồm các giới hạn của nó.

- Chuyển đổi các DFD vật lý thành các DFD lôgíc tương ứng của nó.

- Vẽ các DFD lôgíc dạng top-down biểu diễn một hệ thống được cải thiện.

Hệ thống A

B C D

B1 B2 C1 D1 D2 D3

DFD mức ngữ cảnh

(tiến trình A)

DFD mức đỉnh (bao

gồm các tiến trình B,

C, D)

DFD mức dưới đỉnh

của tiến trình B (bao

gồm các tiến trình

B1, B2)

DFD mức dưới đỉnh

của tiến trình D (bao

gồm các tiến trình

D1, D2, D3)

DFD mức dưới đỉnh

B1

DFD mức dưới đỉnh

B2

DFD mức dưới đỉnh

D1

DFD mức dưới

đỉnh D3

Các DFD mức dưới

đỉnh các tiến trình

trong D1

Page 50: Bai Giang Phan Tich & Thiet Ke He Thong

50

- Mô tả tất cả các luồng dữ liệu, kho dữ liệu, quy tắc và thủ tục trong một từ điển dữ liệu.

- Một cách tuỳ chọn, đánh dấu các bản sao của DFD lôgíc để biểu diễn các giải pháp vật lý khác

nhau.

- Vẽ các DFD vật lý dạng top-down biểu diễn giải pháp được lựa chọn.

4.4.4. Phân tích hƣớng cấu trúc hiện đại (hƣớng sự kiện)

Phân tích hướng cấu trúc hiện đại theo các bước sau:

- Vẽ một DFD ngữ cảnh để xác lập phạm vi ban đầu của dự án.

- Vẽ một biểu đồ phân rã chức năng để phân chia hệ thống thành các hệ thống con.

- Tạo một danh sách các đáp ứng sự kiện hay use-case cho hệ thống để xác định các sự kiện mà

hệ thống phải có đáp ứng.

- Vẽ một DFD sự kiện (hay bộ xử lý sự kiện) cho từng sự kiện.

- Kết hợp các DFD sự kiện thành một biểu đồ hệ thống (hay đối với các hệ thống lớn thì là các

biểu đồ hệ thống con).

- Vẽ các DFD chi tiết cho các bộ xử lý sự kiện phức tạp hơn.

- Tài liệu hoá các luồng dữ liệu và quá trình trong từ điển dữ liệu.

Ví dụ: Mô hình hóa dữ liệu cho bài toán quản lý giao nhận hàng containertại North Freight bao gồm

các nghiệp vụ chính sau đây

- Quản lý hệ thống biểu cước: Hệ thống biểu cước nói chung và tại North Freight nói riêng

tương đối phức tạp, chia làm nhiều khoản mục, mức phí khác nhau. Tại North Freight có thể chia

làm 02 loại biểu cước là:

+ Biểu cước riêng: biểu cước áp dụng cho một số khách hàng, đại lý.

+ Biểu cước chung: biểu cước áp dụng cho các khách hàng, đại lý không trong biểu cước

riêng.

Như vậy ở đây ta cần phải quản lý được các thông tin về khách hàng, đại lý- hãng tàu, danh

sách loại biểu cước, phí chung và phí riêng của các loại biểu cước.

- Quản lý việc báo hàng và giao nhận hàng: Ngay khi có tàu của hãng vào, nhân viên giao nhận

sẽ lập một giấy báo hàng gửi cho khách hàng đến lấy hàng. Nếu khách hàng đến lấy trực tiếp thì

nhân viên xuất lệnh giao hàng, nếu nhờ bên khác đến lấy thì xuất giấy ủy quyền. Một giấy báo hàng

chỉ có thể xuất nhiều lệnh giao hàng hoặc nhiều giấy ủy quyền, không có giấy báo hàng nào có cả

lệnh giao hàng và giấy ủy quyền. Trên giấy báo hàng đến phải ghi thời gian tàu cập bến, số vận đơn,

cước phát sinh nếu có và tổng số lượng hàng. Ta cần lưu ý giấy ủy quyền phải có thời hạn, hết thời

hạn này, khách hàng phải đến ra hạn và nộp thêm chi phí lưu hàng.

Trong nghiệp vụ này ta cần quản lý các thông tin của giấy báo hàng, lệnh giao hang, giấy ủy

quyền, khách hàng, hãng tàu.

Page 51: Bai Giang Phan Tich & Thiet Ke He Thong

51

- Quản lý việc xuất hóa đơn VAT: Dựa trên các thông tin trong các lệnh giao hàng, giấy báo

hàng, các dịch vụ khách hàng đã sử dụng nhân viên sẽ ghi hóa đơn giá trị gia tăng cho khách hàng

với các hình thức có thuế, miễn thuế, không thuế và đơn giá đã có thuế hoặc chưa có thuế, các đơn

giá này tuân theo biểu cước quy định cho khách hàng và đại lý. Hệ thống được yêu cầu thiết kế in

trên mẫu hóa đơn có sẵn của công ty, có hai loại hóa đơn cho hãng tàu mà công ty làm đại lý và các

khách hàng thông thường. Hóa đơn có thể xuất theo lệnh giao hàng- giấy ủy quyền hoặc thông qua

số vận đơn. Với hóa đơn đại lý có mức phí riêng trong biểu cước dành cho đại lý và đã bao gồm

thuế VAT, do đó khi in ra hóa đơn cần quy đổi ngược để tính đơn giá trước thuế, hóa đơn này

không ghi thuế VAT dưới dạng % mà chi ghi giá trị thuế cụ thể.

Trong nghiệp vụ này ta cần quản lý các thông tin của khách hàng, hóa đơn GTGT.

- Thống kê báo cáo: Hàng ngày nhân viên phải thống kê các thông tin vè hàng xuất, nhập và hóa

đơn để lưu trữ và báo cáo. Báo cáo về hóa đơn bao gồm cả báo cáo chi tiết các chi phí,báo cáo này

sẽ được phòng tài vụ tổng hợp vào cuối ngày.

Dựa vào các thông tin trên, ta nhận thấy hệ thống cần chia làm các chức năng sau:

- Quản lý danh mục: quản lý các thông tin về khách hàng, hãng tàu và loại hàng hóa.

- Quản lý biểu cước: quản lý các hệ thống biểu cước dịch vụ chung và riêng theo từng loại hàng,

đại lý.

- Quản lý giấy báo hàng, lệnh giao hàng, giấy ủy quyền: cập nhật dữ liệu các loại giấy, lệnh và

thông báo đến khách hàng.

- Quản lý xuất hóa đơn giá trị gia tăng từ lệnh giao hàng, giấy báo hàng, số vận đơn.

- Thống kê báo cáo: cung cấp các thông tin tổng hợp cho người sử dụng như số lượng hàng

nhập- xuất, số lượng lệnh giao hàng, giấy báo hàng đã giao- chưa giao, thống kế hóa đơn giá trị gia

tăng...

Page 52: Bai Giang Phan Tich & Thiet Ke He Thong

52

Sơ đồ phân rã chức năng

Page 53: Bai Giang Phan Tich & Thiet Ke He Thong

53

Biểu đồ dữ liệu mức ngữ cảnh

Biểu đồ dữ liệu mức ngữ cảnh

Trong đó:

- 1: Hàng hóa, giấy báo hàng, lệnh giao hàng/ giấy ủy quyền, hóa đơn.

- 2: Yêu cầu thông tin hàng hóa

- 3: Yêu cầu thông tin thống kê, báo cáo

- 4: Thống kê, báo cáo

- 5: Thông tin về chuyến, thời gian cập cảng,...

- 6: Hóa đơn đại lý.

Biểu đồ này nói lện phạm vi hoạt động của hệ thống và việc trao đổi dữ liệu với các tác

nhân bên ngoài hệ thống. Biểu đồ có hai tác nhân chính gửi và nhận dữ liệu là hãng tàu,

khách hàng.

Page 54: Bai Giang Phan Tich & Thiet Ke He Thong

54

Biểu đồ dữ liệu mức đỉnh

Biểu đồ dữ liệu mức đỉnh

Trong đó:

- 1: Thông tin hãng tàu - 6: Giấy ủy quyền

- 2: Thông tin tàu đến, hàng đến - 7: Thông tin biểu cước

- 3: Thông tin khách hàng - 8: Biểu cước

- 4: Giấy báo hàng - 9: Hóa đơn giá trị gia tăng

- 5: Lệnh giao hàng

Biểu đồ này nêu lên sự liên kết, trao đổi dữ liệu giữa các chức năng chính của hệ

thống và giữa các chức năng này với các tác nhân đã được nêu ở biểu đồ trên. Trong đó

hãng tàu mà công ty làm đại lý, vừa đóng vai trò là người cung cấp dữ liệu, vừa có vai trò

như một khách hàng. Hóa đơn giá trị gia tăng bao gồm ba loại: hóa đơn từ lệng giao hàng/

giấy ủy quyền của khách hàng, hóa đơn của đại lý, hóa đơn từ vận đơn của giấy báo hàng.

Trong biểu đồ trên chưa bổ sung các kho dữ liệu, các kho này sẽ được mô tả ở các sơ đồ

dưới.

Page 55: Bai Giang Phan Tich & Thiet Ke He Thong

55

Biểu đồ dữ liệu mức dƣới đỉnh

Biểu đồ luồng dữ liệu chức năng lập biểu cước

Trong đó:

- 1: Thông tin loại hàng - 3: Biểu cước chung

- 2: Thông tin hãng tàu - 4: Biểu cước đại lý

Biểu đồ luồng dữ liệu chức năng báo hàng đến cho khách hàng

Trong đó:

- 1: Giấy báo hàng - 3: Giấy ủy quyền

- 2: Lệnh giao hàng

Page 56: Bai Giang Phan Tich & Thiet Ke He Thong

56

Biểu đồ luồng dữ liệu chức năng lập hóa đơn

Trong đó:

- 1: Biểu cước chung - 4: Hóa đơn quan vận đơn

- 2: Biểu cước đại lý - 5: Hóa đơn đại lý

- 3: Hóa đơn thông thường - 6: Hóa đơn

Page 57: Bai Giang Phan Tich & Thiet Ke He Thong

57

CÂU HỎI CUỐI CHƢƠNG

1. Nêu các quy tắc thiết kế biểu đồ DFD?

2. Nêu quá trình thiết kế biểu đồ DFD.

3. Thiết kế biểu đồ phân rã chức năng cho hệ thống mô tả trong bài tập lớn.

4. Thiết kế biểu đồ DFD cho hệ thống mô tả trong bài tập lớn.

Page 58: Bai Giang Phan Tich & Thiet Ke He Thong

58

Chƣơng V. Mô hình hóa cơ sở dữ liệu

1. Mô hình hóa dữ liệu

1.1. Khái niệm

Mô hình hoá dữ liệu (mô hình hoá cơ sở dữ liệu, mô hình hoá thông tin) là một kỹ thuật

để tổ chức và tài liệu hoá dữ liệu của hệ thống trong một mô hình. Kỹ thuật này xác định các

yêu cầu nghiệp vụ đối với một cơ sở dữ liệu. Mô hình hóa dữ liệu thường được gọi là mô

hình hóa cơ sở dữ liệu vì cuối cùng một mô hình dữ liệu luôn được cài đặt thành cơ sở dữ

liệu.

Biểu đồ quan hệ thực thể (Entity Relationship Diagram - ERD) mô tả dữ liệu dưới dạng

các thực thể và các quan hệ được mô tả bởi dữ liệu. ERD xác định các đơn vị thông tin cơ sở

cần thiết cho hệ thống (các thực thể) và các mối quan hệ giữa chúng. Nghĩa là tất cả các dữ

liệu chỉ được lưu giữ một lần trong toàn bộ hệ thống.

1.2. Từ mô hình dữ liệu tới cài đặt cơ sở dữ liệu

- ERD: là một mô hình khái niệm của các thực thể dữ liệu, các thuộc tính (đặc điểm) và

các quan hệ (với các thực thể khác) của chúng trong một hệ thống thông tin (độc lập kỹ

thuật). (Phân tích)

- Mô hình dữ liệu quan hệ (Relational Data Model - RDM): một bản thiết kế cho việc cài

đặt của một mô hình dữ liệu khái niệm (ERD) trong môi trường cơ sở dữ liệu quan hệ (độc

lập phần mềm). (Thiết kế)

- Sơ đồ quan hệ : một sơ đồ thể hiện cách thức một mô hình dữ liệu được cài đặt với hệ

quản trị cơ sở dữ liệu (như Microsoft Access hay MS SQL Server…). (Cài đặt)

1.3. Vai trò của biểu đồ quan hệ thực thể

- Cơ sở dữ liệu = dữ liệu + quan hệ

- ERD được dùng để mô hình hoá dữ liệu và quan hệ của chúng

- ERD là một biểu diễn đồ hoạ của mô hình dữ liệu khái niệm

- ERD là độc lập tài nguyên: nó không gắn với bất cứ môi trường cơ sở dữ liệu cụ thể nào

2. Các phần tử của biểu đồ quan hệ thực thể (ERD)

2.1. Thực thể

Thực thể là một nhóm các thuộc tính tương ứng với một đối tượng khái niệm mà chúng ta

cần thu thập và lưu trữ dữ liệu về nó

- Các vật thể, con người, địa điểm, sự kiện, khái niệm mà sự tồn tại của nó không phụ

thuộc vào các thực thể khác

+ Thực thể là một tập các thể hiện của đối tượng mà nó biểu diễn

+ Thực thể phải có một tên duy nhất (một danh từ số ít), từ định danh duy nhất và ít

nhất một thuộc tính (chính là từ định danh)

+ Các loại thực thể có thể có:

Page 59: Bai Giang Phan Tich & Thiet Ke He Thong

59

o Con người: là những người thực hiện chức năng nào đó trong hoặc ngoài hệ

thống. Ví dụ: công ty, khách hàng, phòng ban, bộ phận, nhân viên, giáo viên, sinh viên, nhà

cung cấp…

o Địa điểm: là nơi được sử dụng bởi con người. Ví dụ: nơi bán hàng, toà nhà,

phòng, chi nhánh…

o Vật thể: là những đối tượng vật lý thấy rõ. Ví dụ: sách, tạp chí, sản phẩm, nguyên

liệu thô, công cụ…

o Sự kiện: là những gì xảy ra theo thời gian hoặc theo một quy trình nhất định. Ví

dụ: giải thưởng, sự huỷ bỏ, chuyến bay, giờ học, việc lập hoá đơn, việc đặt hàng, việc đăng

ký, sự gia hạn, sự đặt chỗ, việc bán hàng…

o Khái niệm: là những gì không thể nhìn thấy được. Ví dụ: tài khoản, khoảng thời

gian, khoá học, nguồn tài chính, quy tắc, luật lệ…

- Trong ERD, thực thể được ký hiệu là một hình chữ nhật, mối thực thể tương đương với

một bảng dữ liệu trong cơ sở dữ liệu của hệ thống.

-Thể hiện của thực thể: là một thực thể cụ thể. Ví dụ thực thể SinhVien có thể có nhiều

thể hiện như Betty, John, Lisa…

2.2. Thuộc tính

Mỗi thực thể bao gồm nhiều thông tin, mỗi thông tin là một thuộc tính của tập thực thể,

ứng với một trường trong bảng dữ liệu tương ứng. Ví dụ: khách hàng Nguyễn Văn A có năm

sinh là 1981, có số điện thoại là 8534… . Tập thực thể khách hàng sẽ có các thuộc tính “năm

sinh”, “số điện thoại”. Một thuộc tính là một đặc tính mô tả hoặc đặc điểm quan tâm của một

thực thể.

-Kiểu dữ liệu (Data type) của một thuộc tính xác định kiểu dữ liệu có thể lưu trữ được

trong thuộc tính đó

- Phạm vi (Domain) của một thuộc tính xác định các giá trị mà thuộc tính đó có thể chứa

một cách hợp lệ

- Giá trị mặc định (default value) của một thuộc tính là giá trị sẽ được ghi vào nếu không

được xác định bởi người dùng

Có 3 loại thuộc tính:

- Thuộc tính khóa: gồm một hoặc nhiều thuộc tính trong thực thể được dùng để gán cho

mỗi thể hiện thực thể một cách tham khảo duy nhất. Ví dụ thuộc tính Mã sinh viên trong thực

thể Sinh viên

- Thuộc tính mô tả: là các thuộc tính dữ liệu mô tả về một đối tượng và không được chọn

làm thuộc tính khóa. Ví dụ các thuộc tính Tên sinh viên, Địa chỉ…

- Thuộc tính kết nối: là thuộc tính mà với thực thể này thì là thuộc tính mô tả nhưng với

thực thể khác thì là thuộc tính khóa, nó đóng vai trò kết nối các thực thể có quan hệ với nhau

Page 60: Bai Giang Phan Tich & Thiet Ke He Thong

60

2.3. Mối quan hệ

Một quan hệ tài liệu hoá một liên kết giữa một, hai hoặc nhiều thực thể. Nó phải có một

cái tên (và có thể mang dữ liệu).

Quan hệ 1-1:

- Là mối quan hệ trong đó một thực thể của tập thực thể này tương ứng với duy nhất một

thực thể của tập thực thể kia và ngược lại. Ví dụ, một thực thể hóa đơn hàng chỉ ứng với duy

nhất một thực thể chi tiết hóa đơn mô tả nó.

- Quan hệ 1-1 được biểu diễn bằng một mũi tên hai đầu hoặc là một đoạn thẳng…

- Quan hệ này sẽ dẫn tới việc nhập chung hai tập thực thể thành một tập thực thể, tập thực

thể mới phải bao gồm các thuộc tính của hai tập thực thể cũ.

Quan hệ 1-n:

- Là mối quan hệ mà trong đó một thực thể của tập thực thể này có quan hệ với nhiều thực

thể của tập thực thể kia. Ví dụ, một khách hàng có thể đặt nhiều đơn hàng nên một thực thể

khách hàng trong tập thực thể khác hàng có quan hệ với nhiều thựuc thể đơn hàng trong tập

thực thể đơn hàng.

- Quan hệ 1- nhiều được biểu diễn bằng một mũi tên 1 đầu hướng từ bên nhiều tới bên 1

hoặc là một đoạn thẳng với một đầu là trạc ba hướng về bên nhiều…

- Quan hệ này đóng vai trò rất quan trọng thể hiện mối liên hệ giữa các thực thể trong mô

hình. Ở đây, thuộc tính khóa của bên một sẽ là thuộc tính kết nối của bên nhiều.

Quan hệ n-n:

- Là mối quan hệ mà trong đó một thực thể của tập thực thể này có quan hệ với nhiều thực

thể của tập thực thể kia và ngược lại. Ví dụ, một nhà cung cấp trong tập thực thể nhà cung

cấp có thể cung cấp nhiều loại hàng trong tập thực thể Hàng hóa và ngược lại một loại hàng

có thể được cung cấp bới nhiều nhà cung cấp.

- Quan hệ nhiều - nhiều được biểu diễn bằng một đoạn thẳng hoặc là một đoạn thẳng có

trạc ba ở cả hai đầu…

- Quan hệ này không thể hiện được mối quan hệ giữa hai thực thể cũng như không cho

thấy điều gì về mặt nghiệp vụ, nên thường tách thành hai quan hệ 1- n bằng cách tạo một tập

thực thể trung gian có quan hệ 1- n với cả hai tập thực thể đã có. Ví dụ với quan hệ n-n giữa

nhà cung cấp và hàng hóa, ta sẽ tạo tập thực thể nhà cung cấp/hàng hóa có quan hệ là một nhà

cung cấp gồm nhiều dòng nhà cung cấp/hàng hóa và một hàng hóa lại ứng với nhiều dòng

nhà cung cấp/hàng hóa.

3. Xây dựng biểu đồ quan hệ thực thể

3.1. Các bƣớc mô hình hóa dữ liệu lôgíc

- Mô hình dữ liệu ngữ cảnh: Để thiết lập phạm vi dự án

- Mô hình dữ liệu dựa trên khoá

Page 61: Bai Giang Phan Tich & Thiet Ke He Thong

61

+ Loại bỏ các quan hệ không cụ thể

+ Thêm các thực thể có liên quan

+ Bao gồm các khoá chính

+ Xác định chính xác số yếu tố

- Mô hình dữ liệu với thuộc tính đầy đủ

+ Tất cả các thuộc tính còn lại

+ Các tiêu chuẩn nhóm con

- Mô hình dữ liệu được chuẩn hoá

3.2. Trình tự xây dựng ERD

- Xác định các thực thể

- Xác định bậc của các quan hệ giữa các thực thể

- Hoàn thiện các quan hệ với các số yếu tố

- Xây dựng mô hình

3.3. Qui tắc xây dựng ERD

- Mỗi thực thể phải có tên

- Mỗi thực thể phải có định danh

- Mỗi thể hiện không thể là một thực thể

- Mỗi quan hệ phải có tên (có thể mang hoặc không mang dữ liệu)

- Số yếu tố phải hợp lý (rõ ràng ngữ cảnh)

4. Xây dựng biểu đồ dữ liệu quan hệ (RDM)

Mô hình dữ liệu quan hệ (RDM – Relational Data model) là công cụ tiếp theo sau ERD

được dùng trong việc mô hình hóa dữ liệu nhằm mục đích xác định danh sách các thuộc tích

của các thực thể.

Quá trình xây dựng RDM bao gồm các bước:

- Xác định các thuộc tính cần thiết.

-Chuẩn hóa các thực thể.

-Xác định các mối quan hệ giữa các thuộc tính của các thực thể.

4.1. Xác định thuộc tính

Để xác định các thuộc tính của các thực thể, cần dựa vào những yếu tố sau:

- Sự hiểu biết về hệ thống đang phân tích.

- Quá trình phỏng vấn, trao đổi với người sử dụng.

- Các báo cáo, biểu mẫu được dùng trong hệ thống hiện tại.

Từ những thông tin thu thập được, ta sẽ lập danh sách các thuộc tính cho các thực thể đã

được xác định trong ERD. Phân biệt các thuộc tính khóa bằng cách gạch dưới.

4.2. Phân tích và chuẩn hóa dữ liệu

Page 62: Bai Giang Phan Tich & Thiet Ke He Thong

62

Phân tích dữ liệu là một quá trình chuẩn bị một mô hình dữ liệu cho việc cài đặt thành

một cơ sở dữ liệu đơn giản, không dư thừa, mềm dẻo và dễ thích ứng. Kỹ thuật cụ thể được

gọi là sự chuẩn hóa.

Chuẩn hóa là một kỹ thuật tổ chức các thuộc tính dữ liệu sao cho chúng được nhóm thành

các thực thể không dư thừa, ổn định, mềm dẻo và dễ thích ứng:

- Không có sự lặp lại các thuộc tính ở các bảng khác nhau, trừ thuộc tính khóa và thuộc

tính kết nối

- Không chứa các thuộc tính có giá trị là kết quả tính được của các thuộc tính khác. Ví dụ,

thuộc tính giá thành là kết quả của thuộc tính số lượng nhân với thuộc tính đơn giá nên cần

phải loại bỏ.

- Không có vai trò giống nhau giữa các thực thể

Khái niệm phụ thuộc hàm:

- Phụ thuộc hàm đơn trị: từ 1 giá trị của khóa trong bảng, ta chỉ xác định được 1 giá trị

cho các thuộc tính khác.VD: với mỗi mã khách hàng, chỉ có duy nhất một giá trị Họ tên, số

điện thoại, địa chỉ…

- Phụ thuộc hàm đa trị: 1 giá trị của khóa trong bảng lại ứng với nhiều giá trị của các

thuộc tính khác. Ví dụ: ứng với một mã số học sinh lại có nhiều môn học khác nhau vì một

học sinh có thể học nhiều môn học.

- Như vậy, nếu có thuộc tính không phụ thuộc hàm vào khóa thì nó phải nằm trong một

thực thể khác. Quá trình chuẩn hóa được thực hiện dựa trên khái niệm phụ thuộc hàm nêu

trên.

Chuẩn hóa dạng 1:

- Yêu cầu: các thuộc tính nào có thể xuất hiện nhiều lần với cùng một thực thể thì loại bỏ

ra.

- Các thuộc tính bị loại ra sẽ cùng với thuộc tính khóa của thực thể ban đầu tạo thành một

tập thực thể mới.

Chuẩn hóa dạng 2:

- Yêu cầu: tất cả các thuộc tính trong thực thể phải phụ thuộc hàm vào toàn bộ khóa.

- Đối với các thực thể chỉ có một trường là khóa thì đương nhiên thỏa mãn dạng chuẩn 2.

- Đối với các thực thể có khóa bao gồm 2 thuộc tính trở lên, nếu trong đó có những thuộc

tính phụ thuộc hàm đơn trị vào một bộ phận của khóa thì tách các thuộc tính đó ra thành 1

thực thể mới với khóa là bộ phận khóa của thực thể ban đầu mà nó phụ thuộc hàm.

Chuẩn hóa dạng 3:

- Yêu cầu: tất cả các thuộc tính phải phụ thuộc đơn trị vào khóa và không phụ thuộc hàm

đơn trị vào bất kỳ thuộc tính nào không phải là khóa trong thực thể.

Page 63: Bai Giang Phan Tich & Thiet Ke He Thong

63

- Tách những thuộc tính phụ thuộc hàm đơn trị vào thuộc tính không phải là khóa, đưa

chúng vào thực thể mới có khóa chính là thuộc tính mà nó phụ thuộc hàm.

Ví dụ: xét quá trình xây dựng các thuộc tính cho các tập thực thể dựa trên mẫu hóa đơn bán

hàng của một công ty

Số HĐ:

HÓA ĐƠN BÁN

Ngày……………

Họ tên khách hàng:……………………….Mã số khách hàng:………………...

Địa chỉ:………………………………………………………………

Mã sô mặt

hàng

Tên hàng Số lƣợng Đơn giá

(1000 vnđ)

Thành

tiền(1000 vnđ)

110026 Chuột 01 150 150

332253 Bàn phím 01 350 350

156535 Màn hình 01 2,100 2,100

567409 Hdd 2TB 02 2,000 4,000

TỔNG 6,500

Page 64: Bai Giang Phan Tich & Thiet Ke He Thong

64

Quá trình chuẩn hóa diễn ra như sau:

Thuộc tính ban

đầu chưa chuẩn hóa

Chuẩn hóa dạng 1

1NF

Chuẩn hóa dạng 2

2NF

Chuẩn hóa dạng 3

3NF

Số hiệu đơn

Mã số khách hàng

Ngày đặt hàng

Tên khách hàng

Địa chỉ

Mã số mặt hàng

Tên mặt hàng

Số lượng

Đơn giá

Số hiệu đơn

Mã số khách hàng

Ngày đặt hàng

Tên khách hàng

Địa chỉ

Số hiệu đơn

Mã số mặt hàng

Tên mặt hàng

Số lượng

Đơn giá

Số hiệu đơn

Mã số khách hàng

Ngày đặt hàng

Tên khách hàng

Địa chỉ

Số hiệu đơn

Mã số mặt hàng

Số lượng

Đơn giá

Mã số mặt hàng

Tên mặt hàng

Số hiệu đơn

Mã số khách hàng

Ngày đặt hàng

Mã số khách hàng

Tên khách hàng

Địa chỉ

Số hiệu đơn

Mã số mặt hàng

Số lượng

Đơn giá

Mã số mặt hàng

Tên mặt hàng

- Sau khi chuẩn hóa, thu được các thực thể sau:

Đơn hàng bán (Số hiệu đơn hàng, Mã số khách hàng, Ngày đặt hàng)

Khách hàng (Mã số khách hàng, Tên khách hàng, Địa chỉ khách hàng)

Dòng đơn hàng (Số hiệu đơn hàng, Mã số mặt hàng, Số lượng, Đơn giá)

Mặt hàng (Mã số mặt hàng, Tên mặt hàng)

- Kết hợp các tập thực thể chung.

Do việc chuẩn hóa xuất phát từ nhiều tài liệu khác nhau nên có thể sau khi chuẩn hóa sẽ

xuất hiện các thực thể giống nhau. Cần phải hợp nhất chúng thành một thực thể mà chứa đủ

các thuộc tính. Rất có thể sau giai đoạn này thì thực thể thu được sẽ không còn ở dạng chuẩn

3 nên cần phải thực hiện chuẩn hóa lại các thực thể mới.

Ví dụ: Có 2 tập thực thể đơn đặt hàng được chuẩn hóa từ 2 tài liệu là đơn đặt hàng và tài

liệu giao hàng như sau:

Đơn hàng (Số hiệu đơn hàng, Mã số khách hàng, Ngày đặt hàng)

Đơn đặt hàng (Số hiệu đơn hàng, Tình trạng đơn hàng, Địa chỉ giao hàng)

Sau khi kết hợp có:

Đơn hàng (Số hiệu đơn hàng, Mã số khách hàng, Ngày đặt hàng, Tình trạng đơn hàng,

Địa chỉ giao hàng)

Thực thể mới không còn thỏa dạng chuẩn 3 vì địa chỉ giao nhận phụ thuộc hàm vào Mã

số khách hàng là thuộc tính không phải là khóa của thực thể. Thực hiện chuẩn hóa, tách thuộc

tính Địa chỉ giao nhận ra khỏi thực thể ta được thực thể mới:

Page 65: Bai Giang Phan Tich & Thiet Ke He Thong

65

Đơn hàng (Số hiệu đơn hàng, Mã số khách hàng, Ngày đặt hàng, Tình trạng đơn hàng)

4.3. Xác định các mối quan hệ

Ma trận thực thể/khóa.

- Để xác định các mối quan hệ giữa các thực thể , ta cần lập bảng ma trận thực thể/khóa.

Trong đó, các cột liệt kê các tập thực thể, các hàng liệt kê các thuộc tính khóa của các thực

thể.

- Ứng với mỗi ô giao giữa hàng và cột, nếu thuộc tính khóa có trong thực thể, ta đánh dấu X,

nếu không là khóa của thực thể nhưng có xuất hiện trong đó thì đánh dấu O. Ví dụ:

Thực thể

Thuộc tính

khóa

Đơn

hàng

Khách

hàng

Dòng

đơn hàng

Mặt

hàng

Giao

nhận

Dòng

giao

hàng

Số hiệu đơn

hàng

X X X

Mã số khách

hàng

O X X

Mã số mặt

hàng

X X X

Số hiệu giao

nhận

X X

Thiết lập các mối quan hệ.

Dựa theo bảng ma trận thực thể/khóa, ta xác định các mối quan hệ bằng cách bắt đầu từ

cột thứ nhất, từ ô chứa khóa của nó, ta chiếu qua các ô kế tiếp trên cùng một hàng để xem nếu

ô nào có chứa dấu X hoặc O thì ta có một liên kết giữa thực thể đang xét với thực thể có ô

chứa dấu trên hàng đó.

4.4. Xây dựng mô hình RDM

- Sau khi đã thực hiện xong 3 bước trên, ta lập mô hình quan hệ.

- Tiếp theo, cần điều chỉnh để có được mô hình dữ liệu hoàn chỉnh:

+ So sánh ERD được xây dựng ban đầu với RDM để chỉnh lý những điểm khác biệt

sao cho hai mô hình phải phản ánh chính xác lẫn nhau.

+ Trong một số trường hợp, nhà phân tích có thể đưa vào hoặc loại bỏ những quan hệ

phụ để làm trong sáng mô hình.

5. Từ điển dữ liệu

Page 66: Bai Giang Phan Tich & Thiet Ke He Thong

66

Từ điển dữ liệu là bộ phận của tư liệu trong phân tích thiết kế, nó mô tả nội dung của các

đối tượng theo định nghĩa có cấu trúc

Trong DFD các chức năng xử lý, kho dữ liệu, luồng dữ liệu chỉ mô tả ở mức khái quát

thường là tập hợp các khoản mục riêng lẻ. Các khái quát này cần được mô tả chi tiết hoá hơn

qua công cụ từ điển dữ liệu

Từ điển dữ liệu là sự liệt kê có tổ chức các phần tử dữ liệu thuộc hệ thống, liệt kê các mục

từ chỉ tên gọi theo một thứ tự nào đó và giải thích các tên một cách chính xác chặt chẽ ngắn

gọn để cho cả người dùng và người phân tích hiểu chung cái vào, cái ra, cái luân chuyển.

CÂU HỎI CUỐI CHƢƠNG

1. Nêu quá trình mô hình hóa dữ liệu.

2. Nêu 03 dạng chuẩn dữ liệu.

3. Nêu quá tình chuẩn hóa dữ liệu.

4. Xây dựng sơ đồ E-R cho hệ thống được mô tả trong bài tập lớn.

Page 67: Bai Giang Phan Tich & Thiet Ke He Thong

67

Chƣơng VI. Tổng quan về thiết kế hệ thống

1. Các hƣớng tiếp cận thiết kế hệ thống

1.1. Các tiếp cận hƣớng mô hình

Thiết kế hướng mô hình (Model-driven) là một cách tiếp cận thiết kế hệ thống nhấn mạnh

vào việc vẽ các mô hình hệ thống để tài liệu hóa các khía cạnh cài đặt và kỹ thuật của một hệ

thống. Các mô hình thiết kế thường được dẫn xuất từ các mô hình lôgíc được phát triển trước

đó theo cách phân tích hướng mô hình. Cuối cùng thì các mô hình thiết kế hệ thống sẽ trở

thành các bản thiết kế phục vụ cho việc xây dựng và cài đặt hệ thống mới.

Trong tiếp cận hướng mô hình có 3 kỹ thuật là thiết kế hướng cấu trúc, kỹ thuật thông tin

và thiết kế hướng đối tượng. Ngày nay, các tiếp cận hướng mô hình thường được củng cố nhờ

vào việc sử dụng các công cụ tự động hóa. Các công cụ thường dùng:

- Công cụ đi kèm bộ công cụ lập trình: Oracle Designer

- Các công cụ đơn giản: MS.Word, MS.Visio, Smartdraw...

- Các công cụ chuyên dụng: Rational Rose, Rational XDE for platforms...

Thiết kế hƣớng cấu trúc hiện đại (Modern Structured Design):

- Là kỹ thuật phân rã chức năng hệ thống ra thành nhiều phần, mỗi thành phần lại được

thiết kế chi tiết hơn ở các bước sau. Thiết kế hướng cấu trúc còn được gọi là thiết kế chương

trình từ tổng quan đến chi tiết (top- down).

- Mỗi modun ở mức thấp nhất chỉ thực hiện một phần việc nhất định, ít liên quan đến

công việc của các modun khác.

- Thường sử dụng vì đơn giản, dễ hiểu, thuận tiện trong triển khai và nâng cấp.

- Mô hình phần mềm được dẫn xuất từ thiết kế hướng cấu trúc được gọi là biểu đồ cấu

trúc (structure chart). Biều đồ này được xây dựng từ các luồng dữ liệu trong chương trình.

Thiết kế hướng cấu trúc được thực hiện trong giai đoạn phân tích hệ thống. Tuy nhiên, nó

không bao trùm mọi khía cạnh của việc thiết kế, như thiết kế đầu vào/đầu ra hay cơ sở dữ

liệu.

Kỹ thuật thông tin (Information Engineering):

- Là cách tiếp cận hướng mô hình và lấy dữ liệu làm trung tâm nhưng chú trọng đến việc

tổ chức các thông tin: nội dung thông tin và quan hệ giữa các thành phần thông tin.

- Công cụ chủ yếu của kỹ thuật thông tin là sơ đồ mô hình dữ liệu

- Kỹ thuật thông tin được sử dụng khi thiết kế chương trình dựa trên mô hình cơ sở dữ

liệu quan hệ.

Làm bản mẫu (Prototyping)

- Bản mẫu là một chương trình nhỏ, chưa hoàn chỉnh nhưng đủ để cho người xem hình

dung về chức năng, hoạt động của chương trình cần thực hiện:

- Đây là phương pháp mô hình hoá trên mã nguồn chứ không trên bản vẽ

Page 68: Bai Giang Phan Tich & Thiet Ke He Thong

68

- Thuận tiện để làm bản demo cho người dùng cuối xem (không đòi hỏi phải hiểu những

ngôn ngữ mô hình hoá)

- Phương pháp này sớm phát hiện những sai khác về nghiệp vụ

- Phương pháp này chỉ phù hợp với các dự án nhỏ, ít phức tạp

Thiết kế hƣớng đối tƣợng (Object Oriented Design):

- Sử dụng cách tiếp cận theo hướng đối tượng - phân biệt rõ ràng hai yếu tố:

+ dữ liệu (thuộc tính)

+ chức năng (hành vi) và các mối tương tác (sự kiện)

- Phương pháp này là bước tiếp theo của Phân tích hệ thống hướng đối tượng, do đó đòi

hỏi những kết quả từ bước trước: định nghĩa đối tượng, thuộc tính, hành vi, sự kiện...

1.2. Phát triển ứng dụng nhanh

- Kỹ thuật xây dựng ứng dụng nhanh chóng bằng cách phối hợp sử dụng nhiều kỹ thuật:

tổ hợp thông tin và làm bản mẫu.

- Kỹ thuật phát triển ứng dụng kết hợp (Joint Application Development): phát triển ứng

dụng bằng cách gộp chung hai giai đoạn phân tích và thiết kế. Nhấn mạnh sự tham gia đồng

thời của nhà phân tích, thiết kế, người dùng cuối, chuyên gia hệ thống trong quá trình xây

dựng. Thường được dùng phát triển các ứng dụng nhỏ trong thời gian ngắn.

2. Các công việc cụ thể trong giai đoạn thiết kế

- Thiết kế kiến trúc ứng dụng: Lựa chọn công nghệ sử dụng cho dự án, Đưa ra mô hình

vật lý của hệ thống.

- Thiết kế cơ sở dữ liệu

+ Đưa ra mô hình dữ liệu.

+ Lựa chọn hệ quản trị CSDL và tối ưu hoá mô hình dữ liệu theo hệ quản trị đã lựa

chọn

- Thiết kế giao diện hệ thống: đầu ra, đầu vào, giao diện người dùng, báo cáo...

- Đưa ra các đặc tả hệ thống cho lập trình viên

CÂU HỎI CUỐI CHƢƠNG

1. Nêu các công việc khi thiết kế hệ thống?

2. Nêu các phương pháp thiêt kế hệ thống

Page 69: Bai Giang Phan Tich & Thiet Ke He Thong

69

Chƣơng VII. Thiết kế cơ sở dữ liệu

1. Các phƣơng thức lƣu trữ dữ liệu

Có hai phương thức lưu trữ dữ liệu phổ biến là file và cơ sở dữ liệu

1.1. File

Là một tập hợp của các bản ghi tương tự nhau. Các file không có liên quan với nhau trừ

khi được liên kết trong code của chương trình ngoài

- Ưu điểm:

+ Dễ dàng thiết kế nếu chỉ dùng cho một ứng dụng

+ Tối ưu về hiệu năng nếu chỉ dùng cho một ứng dụng

- Nhược điểm:

+ Khó thích ứng hoặc khó dùng chung giữa nhiều ứng dụng

+ Hay bị dư thừa dữ liệu (cùng một thông tin lại được lưu trữ trên nhiều file khác

nhau)

1.2. Cơ sở dữ liệu

Là một tập hợp của nhiều files (bảng) có quan hệ với nhau. Bản ghi của một file (hay

bảng) có thể có mối quan hệ vật lý với một hay nhiều bản ghi ở các file (hay bảng) khác.

- Ưu điểm:

+ Tách biệt dữ liệu khỏi logic chương trình do đó tăng tính thích ứng, khả chuyển của

chương trình.

+ Kiểm soát được quy mô, độ lớn của dữ liệu

+ Tối ưu trong việc chia sẻ dùng chung giữa nhiều ứng dụng

+ Giảm thiểu dư thừa dữ liệu

- Nhược điểm:

+ Phức tạp hơn công nghệ file rất nhiều

+ Ở khía cạnh nào đó truy xuất cơ sở dữ liệu thường chậm hơn so với truy xuất file

+ Cần tuân thủ nhiều nguyên tắc khi thiết kế để có thể khai thác được lợi ích của cơ sở

dữ liệu quan hệ

+ Cần có chuyên gia sử dụng hệ quản trị cơ sở dữ liệu

2. Kiến trúc dữ liệu

Kiến trúc dữ liệu mô tả cách thức:

- sử dụng file/cơ sở dữ liệu để lưu trữ dữ liệu

- công nghệ file/cơ sở dữ liệu được lựa chọn sử dụng

- cơ cấu quản lý được thiết lập để quản lý các nguồn dữ liệu

Thông thường dữ liệu được lưu trữ đồng thời bởi nhiều cách thức, phương tiện:

- Các files.

Page 70: Bai Giang Phan Tich & Thiet Ke He Thong

70

- Cơ sở dữ liệu cá nhân, cơ sở dữ liệu chung của nhóm, cơ sở dữ liệu giao dịch,

- Nhà kho dữ liệu (tổng hợp các nguồn)...

Hệ quản trị CSDL:

- Là một phần mềm dùng để quản lý việc tạo, truy nhập, kiểm soát, quản lý các đối

tượng dữ liệu của một hay nhiều cơ sở dữ liệu.

- Phần nền tảng của một HQTCSDL là một bộ máy dữ liệu - data engine

- Ngôn ngữ định nghĩa dữ liệu (Data Definition Language - DDL) là một phần của bộ

máy dùng để định nghĩa các bảng, trường, quan hệ

- Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML) dùng để thêm, sửa,

xoá và di chuyển giữa các trường trong cơ sở dữ liệu

3. Triển khai mô hình dữ liệu logic dựa trên một cơ sở dữ liệu quan hệ

3.1. Cơ sở dữ liệu quan hệ

Là cơ sở dữ liệu lưu trữ và quản lý dữ liệu trong những bảng 2 chiều. Các bảng này có thể

có quan hệ với nhau thông qua các trường khoá

Đặc thù của cơ sở dữ liệu quan hệ:

- Mô hình dữ liệu vật lý (Schema)

- DDL và DML được thể hiện bởi ngôn ngữ SQL

- Triggers là các chương trình được nhúng cùng cơ sở dữ liệu và tự động thực thi khi

cơ sở dữ liệu được cập nhật

- Thủ tục thường trú (Stored procedure) là chương trình được nhúng cùng cơ sở dữ

liệu và thực thi từ câu lệnh của ứng dụng

3.2. Mô hình hoá dữ liệu

Một mô hình dữ liệu tốt là mô hình trong đó:

- Mỗi thuộc tính mô tả một và chỉ một thực thể

- Mỗi thuộc tính chỉ tồn tại ở duy nhất một thực thể (trừ thuộc tính khoá ngoại)

Để có được một mô hình dữ liệu tốt, ta tiến hành các bước chuẩn hoá (xem thêm phần

phân tích hệ thống)

Chuẩn hoá dữ liệu - Một thực thể logic hay một bảng vật lý được gọi là:

- Ở dạng chuẩn thứ nhất (NF1) nếu không có thuộc tính (trường) nào có hai giá trị

trong cùng một thể hiện

- Ở dạng chuẩn thứ hai (NF2) nếu nó đã ở dạng chuẩn thứ nhất và giá trị các trường

không phải là khoá chính hoàn toàn phụ thuộc vào khoá chính.

- Ở dạng chuẩn thứ ba (NF3) nếu nó đã ở dạng chuẩn thứ hai và giá trị các trường

không phải khoá chính không phụ thuộc các trường không phải khoá chính khác

Các bước tạo mô hình dữ liệu vật lý

- Xem lại mô hình dữ liệu logic

Page 71: Bai Giang Phan Tich & Thiet Ke He Thong

71

- Tạo bảng cho mỗi thực thể

- Tạo trường cho mỗi thuộc tính

- Tạo chỉ mục (index) cho mỗi khoá

- Thiết kế khoá ngoại cho các quan hệ

- Định nghĩa kích thước/kiểu dữ liệu, thuộc tính null, giá trị mặc định

- Đánh giá và thiết lập các ràng buộc

- Chú ý các công nghệ khác nhau cho các kiểu dữ liệu khác nhau

- Tạo câu lệnh SQL: tuỳ vào từng hệ quản trị CSDL, tạo CSDL tương ứng trên ngôn

ngữ DDL.

Ví dụ: một CSDL trên hệ quản trị dữ liệu SQL Server 2005.

CÂU HỎI CUỐI CHƢƠNG

1. Nêu các phương thức lưu trữ dữ liệu?

2. Nêu quá trình thiết kế dữ liệu.

3. Thiết kế CSDL cho hệ thống mô tả trong bài tập lớn với hệ quản trị CSDL tùy chọn.

Page 72: Bai Giang Phan Tich & Thiet Ke He Thong

72

Chƣơng VIII. Thiết kế vào/ra hệ thống

1. Thiết kế đầu vào

1.1. Tổng quan

1.1.1. Các khái niệm

Có thể phân loại các phương thức nhập liệu theo hai đặc trưng:

- Cách thức dữ liệu được thu thập, đưa vào và xử lý.

- Phương pháp và công nghệ được dùng để thu thập và nhập dữ liệu.

Quá trình thiết kế hệ thống:

- Thu thập dữ liệu (data capture): nhận dạng và tạo dữ liệu mới từ nguồn tạo tin

- Nhập liệu (data entry): chuyển dữ liệu từ nguồn tạo tin vào máy tính

- Xử lý dữ liệu (data processing): là quá trình biến đổi trực tiếp trên dữ liệu trước khi đưa

nó về dạng máy tính có thể đọc được. Xử lý bó là thu thập 1 khối lượng dữ liệu và xử lý đồng

thời cả bó. Xử lý trực tuyến là xử lý ngay lập tức dữ liệu vừa thu thập được.

1.1.2. Các phƣơng thức nhập liệu

- Bàn phím

- Chuột

- Màn hình cảm ứng (màn hình tương tác)

- Nhận dạng âm thanh, tiếng nói

- Tự động nhập liệu: mã vạch, nhận dạng quang học, mực từ, thẻ từ, thẻ thông minh, sinh

trắc học...

1.1.3. Các nguyên tắc thiết kế đầu vào

Nên tuân theo những nguyên tắc dưới đây khi thiết kế phương thức nhập liệu:

- Không nên nhập những dữ liệu có thể tính toán được từ những dữ liệu khác.

Ví dụ: Số lượng x Đơn giá = Thành tiền

- Không nhập những dữ liệu có thể lưu trong máy tính như những hằng số.

- Sử dụng mã lấy từ cơ sở dữ liệu đối với những thuộc tính phù hợp.

- Sử dụng các chỉ dẫn nhập liệu khi thiết kế các form nhập liệu (tooltip).

- Giảm thiểu số lượng ký tự gõ vào để tránh gây sai sót. Thay vào đó, cố gắng dùng các

hộp check chọn càng nhiều càng tốt.

- Dữ liệu nhập vào theo trình tự từ trên xuống dưới, trái qua phải.

1.1.4. Kiểm soát nhập liệu

Việc kiểm soát dữ liệu đầu vào rất cần thiết trong tất cả các hệ thống ứmg dụng trên máy

tính. Các điều khiển đầu vào đảm bảo rằng dữ liệu đầu vào là chính xác và hệ thống được bảo

vệ khỏi các lỗi vô ý hoặc hữu ý.

Page 73: Bai Giang Phan Tich & Thiet Ke He Thong

73

Số lượng đầu vào cần phải được theo dõi, đặc biệt là trong trường hợp nhập dữ liệu theo

bó:

- Lưu mã số giao dịch cho khối các dữ liệu nhập liệu theo khối.

- Ghi các log file cho các dữ liệu được nhập trực tuyến.

Phải kiểm soát tính đúng đắn của dữ liệu nhập vào. Phải làm các kiểm tra về: trùng lặp

thực thể, kiểu dữ liệu, định dạng, tính ràng buộc với các dữ liệu khác. Ví dụ: Khi nhập liệu

thành phố và quốc gia cho một hồ sơ nhân sự, nếu đã chọn quốc gia là Việt Nam thì chỉ cho

phép chọn thành phố là Hà Nội, Huế hoặc các thành phố khác ở Việt Nam ... chứ không cho

phép chọn thành phố thuộc quốc gia khác như Tokyo chẳng hạn.

1.2. Các điều khiển giao diện cho thiết kế đầu vào

1.2.1. Một số điều khiển phổ biến

- Hộp văn bản (Text box): chứa một hộp hình chữ nhật kèm theo tên, cho phép nhập dữ

liệu vào.

- Nút chọn loại trừ (Radio button): chứa một hình trong nhỏ kèm theo một đoạn văn bản

mô tả tương ứng với giá trị lựa chọn. Trong một nhóm các nút này thì chỉ cho phép chọn một

nút mà thôi.

- Hộp chọn kiểm tra (Check box): chứa một hộp hình vuông kèm theo đoạn văn bản mô

tả trường dữ liệu vào, người dùng sẽ chọn giá trị Yes/No. Trong một nhóm các hộp chọn thì

có thể chọn nhiều hộp.

- Hộp danh sách (List box): là một hình chữ nhật chứa một hoặc nhiều dòng dữ liệu.

- Danh sách thả (Drop down list): chứa hộp chọn hình chữ nhật và một nút bên cạnh. Khi

nhấn vào nút đó thì danh sách sẽ được thả xuống.

- Hộp thả kết hợp (Combination box): cũng là một danh sách thả nhưng cho phép người

dùng nhập thêm dữ liệu ngoài những dữ liệu có sẵn trong đó.

- Nút lệnh (Button): các nút lệnh không phải là điều khiển vào. Chúng không dành cho

việc lựa chọn dữ liệu vào. Mục đích của chúng là cho phép người dùng xác nhận rằng tất cả

các dữ liệu cần được xử lý hay hủy bỏ một giao dịch hoặc cần gọi chức năng trợ giúp… Tóm

lại, nút lệnh đóng vai trò gọi tới một chức năng nào đó.

1.2.2. Một số điều khiển cao cấp

- Hộp lịch thả (Drop down calendar): là một ô dữ liệu có chứa một nút mũi tên. Khi nhấn

chuột vào đó thì hộp lịch được thả xuống để chọn ngày.

- Điều khiển hiệu chỉnh trượt (Slider edit control): cho phép lựa chọn giá trị bằng cách

trượt con trỏ.

- Điều khiển hiệu chỉnh mặt nạ (Masked edit control): điều khiển này tạo ra định dạng để

buộc dữ liệu nhập vào phải tuân theo.

Page 74: Bai Giang Phan Tich & Thiet Ke He Thong

74

- Hộp danh sách chọn (Check list box): điều khiển này được dùng để kết hợp nhiều hộp

chọn kiểm tra.

- Hộp cây chọn (Check tree box): điều khiển này được dùng để biểu diễn các lựa chọn dữ

liệu dưới dạng cây phân cấp.

- Lưới dữ liệu (Data Grid): điều khiển cho phép hiển thị dữ liệu dạng bảng.

1.3. Quy trình thiết kế đầu vào

- Xác định các dữ liệu đầu vào của hệ thống và các yêu cầu nhập liệu logic.

- Lựa chọn các điều khiển thích hợp.

- Thiết kế, lập cơ chế kiểm soát nhập liệu, lưu vết

- Nếu cần thiết, lập hồ sơ đặc tả đầu vào.

2. Thiết kế đầu ra hệ thống

2.1. Tổng quan

2.1.1. Phân loại

Một cách để phân loại đầu ra là dựa vào hình thức phân phối chúng trong hay ngoài tổ

chức và đối tượng người sẽ đọc và sử dụng chúng. Hình thức đầu ra chủ yếu là dưới dạng các

báo cáo.

- Báo cáo nội bộ: là các báo cáo được cung cấp cho người dùng hệ thống trong tổ chức.

+ Báo cáo chi tiết: thông tin trực tiếp truy xuất từ dữ liệu hệ thống, ví dụ: danh sách

khách hàng.

+ Báo cáo tóm lược: thông tin sau khi truy xuất đã được sắp xếp theo thứ tự thuận tiện

cho người dùng quan sát, đôi khi kết quả được thể hiện dưới dạng đồ hoạ.

+ Báo cáo ngoại lệ: thông tin cảnh báo, đột xuất theo sự kiện thay đổi về chất lượng,

điều kiện của hệ thống.

- Báo cáo bên ngoài là các báo cáo cung cấp cho khách hàng, nhà cung cấp, cơ quan...

- Báo cáo quay vòng là các loại báo cáo bên ngoài sau đó lại trở về hệ thống như là một

phương thức thu thập dữ liệu, chẳng hạn bản điều tra, hoá đơn...

2.1.2. Phƣơng thức cài đặt đầu ra

- In ra trên giấy

- Hiển thị trên màn hình, trên trang web

- Xuất dưới dạng đa phương tiện

- Gửi thư trực tiếp

- Tạo các đường liên kết ...

2.2. Cách thức thiết kế đầu ra

2.2.1. Các nguyên tắc

- Báo cáo phải đơn giản, dễ hiểu, dễ giải thích:

+ Bao gồm tiêu đề

Page 75: Bai Giang Phan Tich & Thiet Ke He Thong

75

+ Ghi rõ ngày giờ phát hành

+ Có các phần ghi thông tin chung

- Thông tin phải được thể hiện ở dạng người dùng bình thường không được tuỳ ý sửa

chữa.

- Thông tin hiển thị phải hài hoà giữa các trang

- Cung cấp cách di chuyển giữa các ô thật sự đơn giản

- Thời gian xuất báo cáo phải được kiểm soát

- Một số hình thức báo cáo phải được sự đồng ý của công ty

2.2.2. Quy trình thiết kế đầu ra

- Xem xét tất cả các đầu ra của hệ thống và các yêu cầu logic.

- Làm rõ đặc tả (vật lý) của các yêu cầu báo cáo.

- Thiết kế các bản mẫu trước (nếu cần).

- Thiết kế, kiểm thử và kiểm tra đầu ra của báo cáo

CÂU HỎI CUỐI CHƢƠNG

1. Nêu các quy tắc thiết kế đầu vào hệ thống.

2. Nêu các quy tắc thiết kế đầu ra hệ thống.

3. Thiết kế giao diện vào/ra cho hệ thống mô tả trong bài tập lớn.

Page 76: Bai Giang Phan Tich & Thiet Ke He Thong

76

Chƣơng IX. Thiết kế giao diện ngƣời dùng

1. Tổng quan

- Giao diện người dùng hiệu quả phải phù hợp với trình độ và kinh nghiệm của người

dùng. Những nguyên nhân sau đây khiến cho người dùng sử dụng sai hay cảm thấy nhàm

chán, lẫn lộn thậm chí quay sang chối bỏ phần mềm:

+ Sử dụng nhầm lẫn các thuật ngữ, khái niệm

+ Giao diện không trực quan

+ Cách tiếp cận giải quyết vấn đề bị lẫn lộn

+ Thiết kế giao diện rắc rối

- Các nguyên tắc nên áp dụng khi thiết kế giao diện người dùng:

+ Phải hiểu rõ trình độ người sử dụng cũng như đặc thù các công việc của họ

+ Lôi kéo người dùng vào việc thiết kế giao diện

+ Kiểm tra và thử nghiệm việc thiết kế trên người dùng thật

+ Áp dụng các quy ước, thói quen trong thiết kế giao diện, tuân thủ mẫu chung cho

toàn chương trình.

- Người dùng cần được chỉ dẫn những công việc họ sẽ đối mặt tiếp theo:

+ Chỉ cho người dùng hệ thống đang mong đợi họ làm gì

+ Chỉ cho người dùng dữ liệu họ nhập đúng hay sai

+ Giải thích cho người dùng hệ thống đang đứng yên do có công việc cần xử lý chứ

không treo

+ Khẳng định với người dùng hệ thống đã hay chưa hoàn thành một công việc nào đó

- Định hình giao diện sao cho các thông điệp, chỉ dẫn luôn xuất hiện cùng vị trí

- Định hình các thông điệp và chỉ dẫn đủ dài để người dùng có thể đọc được, đủ ngắn để

họ có thể hiểu được

- Các giá trị mặc định cần được hiển thị

- Lường trước những sai sót người dùng có thể gặp phải để phòng tránh

- Không cho phép xử lý tiếp nếu lỗi chưa được khắc phục

2. Kỹ thuật giao diện ngƣời dùng

2.1. Hệ điều hành và trình duyệt WEB

Những hệ điều hành đồ họa phổ biến cho các máy khách hiện nay là Windows, Mac,

Unix, Linux và cho các máy cầm tay là Palm OS, Windows CE, Android, Mac OS. Tuy

nhiên, hệ điều hành không còn là nhân tố chính trong thiết kế giao diện người dùng nữa. Các

ứng dụng Internet và Intranet chạy trên các trình duyệt web. Hầu hết các trình duyệt có thể

chạy trên nhiều hệ điều hành. Điều này cho phép thiết kế giao diện người dùng ít phụ thuộc

vào hệ điều hành. Tính năng này được gọi là độc lập nền tảng (platform independence). Thay

Page 77: Bai Giang Phan Tich & Thiet Ke He Thong

77

vì viết giao diện riêng cho từng hệ điều hành thì chỉ cần viết giao diện cho một hoặc hai trình

duyệt. Hiện tại, các trình duyệt phổ biến nhất là Microsoft Internet Explorer, Fire fox, Google

chorme…

2.2. Màn hình hiển thị

Kích thước vùng hiển thị là vấn đề then chốt khi thiết kế giao diện. Không phải màn hình

hiển thị nào cũng là dạng màn hình máy tính cá nhân. Có rất nhiều thiết bị hiển thị không

phải là máy tính cá nhân.

Đối với màn hình máy tính cá nhân, chúng ta có đơn vị đo lường là độ phân giải đồ họa.

Người thiết kế nên thiết kế giao diện theo loại màn hình có độ phân giải phổ biến nhất.

Rõ ràng, các máy tính cầm tay và một số thiết bị hiển thị đặc biệt (ví dụ như màn hình

máy rút tiền tự động ATM) hỗ trợ màn hình hiển thị nhỏ hơn nhiều cũng phải được xem xét

khi thiết kế giao diện.

Cách thức thể hiện vùng hiển thị đối với người dùng được điều khiển bởi cả khả năng kỹ

thuật của màn hình và khả năng của hệ điều hành, Hai cách tiếp cận phổ biến nhất là paging

và scrolling. Paging hiển thị một màn hình hoàn chỉnh các ký tự vào cùng một lần. Toàn bộ

vùng hiển thị được gọi là một trang (hay màn hình). Các trang được hiển thị theo nhu cầu của

người dùng bằng cách nhấn nút lệnh, tương tự như lật các trang trong một cuốn sách.

Scrolling dịch chuyển phần thông tin hiển thị lên hoặc xuống trên màn hình, thường là mỗi

lần 1 dòng. Các màn hình máy tính cá nhân còn cho phép nhiều tùy chọn paging và scrolling.

2.3. Bàn phím và các thiết bị trỏ

Hầu hết (nhưng không phải tất cả) các thiết bị hiển thị và màn hình đều được tích hợp với

bàn phím. Những tính năng chủ yếu của bàn phím là tập ký tự và các khóa chức năng.

Tập ký tự của hầu hết các máy tính cá nhân đều theo chuẩn. Những tập ký tự đó có thể

được mở rộng với phần mềm để hỗ trợ thêm các ký tự và biểu tượng. Các khóa chức năng

nên được sử dụng một cách nhất quán. Nghĩa là, bất kỳ chương trình nào cũng nên sử dụng

nhất quán các khóa chức năng cho cùng mục đích. Ví dụ, F1 thường được dùng để gọi chức

năng trợ giúp trong cả hệ điều hành và các ứng dụng.

Hầu hết các giao diện (bao gồm các hệ điều hành và trình duyệt) đều sử dụng thiết bị trỏ

như chuột, bút và màn hình cảm ứng. Tất nhiên, thiết bị trỏ phổ biến nhất vẫn là chuột.

Bút đang trở nên quan trọng trong các ứng dụng chạy trên các thiết bị cầm tay. Bởi lý do

là những thiết bị đó thường không có bàn phím. Do đó, giao diện có thể cần được thiết kế để

cho phép “gõ” trên một bàn phím được hiển thị trên màn hình hoặc sử dụng một chuẩn viết

tay như Graffiti hoặc Jot.

3. Phong cách thiết kế giao diện ngƣời dùng

3.1. Giao diện dựa trên cửa sổ và frame

Page 78: Bai Giang Phan Tich & Thiet Ke He Thong

78

Phần cơ bản nhất của một giao diện là cửa sổ. Một cửa sổ có thể nhỏ hoặc lớn hơn vùng

màn hình hiển thị. Nó thường chứa các điều khiển chuẩn ở góc trên bên phải như phóng to,

thu nhỏ hay đóng cửa sổ.

Phần dữ liệu hiển thị bên trong cửa sổ có thể lớn hoặc nhỏ hơn kích thước cửa sổ. Trong

trường hợp lớn hơn, có thể dùng thanh cuộn để dịch chuyển.

Một cửa sổ có thể được chia thành các vùng gọi là frame. Mỗi frame có thể hoạt động độc

lập với các các frame khác trong cùng một cửa sổ. Mỗi frame có thể được xác định để phục

vụ cho một mục đích nhất định.

Trong một cửa sổ, chúng ta có thể sử dụng tất cả các điều khiển giao diện đã giới thiệu

trong chương trước.

3.2. Giao diện dựa trên menu

Chiến lược đối thoại phổ biến nhất và cổ điển nhất là menu. Có nhiều loại menu nhưng tư

tưởng chung đều là yêu cầu người dùng chọn một hành động từ menu:

- Menu kéo thả, menu xếp tầng

- Menu pop-up

- Thanh công cụ và menu icon

- Menu siêu liên kết

3.3. Giao diện dựa trên dòng lệnh

Thay cho menu hoặc cũng có thể bổ sung thêm cho menu, một số ứng dụng được thiết kế

sử dụng đối thoại dựa trên tệp lệnh (còn gọi là giao diện ngôn ngữ lệnh – command language

interface). Tuy nhiên, người sử dụng phải học cú pháp tập lập nên cách tiếp cận này chỉ phù

hợp với đối tượng người dùng chuyên gia. Có 3 loại cú pháp, lựa chọn loại nào là phụ thuộc

vào công nghệ có thể dùng:

- Cú pháp dựa trên ngôn ngữ (ví dụ như SQL)

- Cú pháp mnemonic: người sử dụng được cung cấp một màn hình giao tiếp trong đó họ

có thể nhập các lệnh gọi tới các hành động. Các câu lệnh phải có nghĩa với người sử dụng.

- Cú pháp ngôn ngữ tự nhiên: cho phép người dùng nhập các câu hỏi các lệnh bằng ngôn

ngữ tự nhiên. Hệ thống thông dịch các lệnh đó theo cú pháp đã biết và có thể yêu cầu người

dùng nhập lại rõ ràng hơn nếu nó không hiểu được ý muốn của người dùng.

Cách thiết kế giao diện dựa trên dòng lệnh từng phổ biến trong các ứng dụng máy tính lớn

và các ứng dụng máy tính cá nhân trên DOS trước đây. Nhưng phong cách tương tác này vẫn

được sử dụng trong một số ứng dụng hiện nay.

3.4. Một số tính năng đặc biệt

Xác thực và phân quyền

Trong hầu hết các hệ thống, người sử dụng phải được xác thực trước khi họ được phép sử

dụng hệ thống. Nói một cách khác, người sử dụng phải đăng nhập vào hệ thống. Hầu hết việc

Page 79: Bai Giang Phan Tich & Thiet Ke He Thong

79

đăng nhập đều yêu cầu tên người dùng và mật khẩu. Mỗi người dùng được cấp một quyền

hạn sử dụng một số chức năng nhất định. Người dùng có quyền cao nhất thường là người

quản trị hệ thống.

Trợ giúp

- Tooltip: xuất hiện khi người dùng đưa chuột vào vị trí biểu tượng (hoặc đối tượng) trên

màn hình. Tooltip chứa một đoạn mô tả ngắn gọn về chức năng thể hiện bởi đối tượng tương

ứng.

- Help Wizard: hướng dẫn người sử dụng thông qua một quá trình phức tạp bằng cách đưa

ra một chuỗi các hộp đối thoại yêu cầu người dùng phải đưa ra đầu và và trả về phản hồi của

hệ thống.

- Tác tử (Agents): là các đối tượng phần mềm có thể hoạt động trên nhiều ứng dụng phần

mềm và thậm chí là trên các mạng. Ví dụ như tác tử trợ giúp của Microsoft (có thể hiểu là trợ

lý) cung cấp một trợ lý chung trong các ứng dụng Office. Nó cho phép người dùng đặt câu

hỏi bằng một đoạn ngôn ngữ tự nhiên. Đoạn ngôn ngữ sẽ được thông dịch bởi tác tử để đưa ra

đáp ứng phù hợp. Sau đó, người dùng có thể lựa chọn một trong các đáp ứng để chọn ra chỉ

mục trợ giúp chi tiết hơn nữa.

3.5. Cách thức thiết kế giao diện ngƣời dùng

- Công cụ: các ngôn ngữ lập trình.

- Quy trình thiết kế:

+ Bước 1: Lập sơ đồ phân cấp giao tiếp người dùng hoặc sử dụng lược đồ biến đổi

trạng thái

+ Bước 2: Lập bản mẫu đối thoại và giao diện người dùng

+ Bước 3: Tham khảo và tiếp thu ý kiến phản hồi của người dùng. Nếu cần thiết

quay trở lại bước 1 và bước 2.

CÂU HỎI CUỐI CHƢƠNG

1. Trình bày kỹ thuật thiết kế giao diện người dùng.

2. Trình bày cách thức thiết kế giao diện người dùng.

Page 80: Bai Giang Phan Tich & Thiet Ke He Thong

80

Chƣơng X. Xây dựng và triển khai hệ thống

Chương này tập trung vào việc xây dựng và triển khai hệ thống.

- Xây dựng hệ thống (Systems construction) là việc phát triển, cài đặt và kiểm thử các

thành phần của hệ thống. Xây dựng hệ thống thường được hiểu và gọi bằng thuật ngữ không

phù hợp là phát triển hệ thống (cụm từ này thường được dùng để nói tới toàn bộ vòng đời hệ

thống).

- Triển khai hệ thống (Systems implementation) là việc cài đặt và đưa toàn bộ hệ thống

vào hoạt động.

1. Giai đoạn xây dựng

Mục tiêu của giai đoạn xây dựng là phát triển và kiểm thử một hệ thống chức năng đáp

ứng các yêu cầu nghiệp vụ và thiết kế, đồng thời cài đặt giao diện giữa hệ thống mới và hệ

thống đã có. Trong mục này, chúng tôi giới thiệu các bước trong giai đoạn xây dựng của một

dự án phát triển hệ thống thông thường.

1.1. Xây dựng và kiểm thử mạng

Thông thường các hệ thống được xây dựng trên những mạng sẵn có. Trong trường hợp,

hệ thống đòi hỏi hệ thống mạng mới thì cần phải xây dựng và kiểm thử mạng mới sao cho

phù hợp với chương trình sẽ sử dụng nó.

- Phân bổ nhiệm vụ:

+ Người thiết kế mạng: Thiết kế kết nối LAN và WAN

+ Người quản trị mảng xây dựng và kiểm thử: Các chuẩn kiến trúc mạng và bảo mật

mạng.

+ Người phân tích hệ thống: Đóng vai trò diễn giải, làm đơn giản hoá các yêu cầu của

hệ thống và đảm bảo rằng các yêu cầu nghiệp vụ không gây tác động xấu

1.2. Xây dựng và kiểm thử cơ sở dữ liệu

- Cài đặt lược đồ cơ sở dữ liệu

- Kiểm thử với dữ liệu mẫu

- Đưa ra kết quả là cấu trúc dữ liệu rỗng

- Phân bổ nhiệm vụ:

+ Người sử dụng hệ thống: Cung cấp và/hoặc phê chuẩn dữ liệu kiểm thử

+ Người thiết kế cơ sở dữ liệu và người lập trình: xây dựng các bảng, views, thủ tục

thường trú (nếu là cơ sở dữ liệu quan hệ)

+ Người quản trị cơ sở dữ liệu: Điều chỉnh cơ sở dữ liệu để đạt hiệu suất tối ưu, bảo

mật và sao lưu phục hồi dữ liệu.

+ Người phân tích hệ thống: Xây dựng cơ sở dữ liệu hướng ứng dụng và không kết

hợp. đảm bảo việc tuân theo các yêu cầu nghiệp vụ

Page 81: Bai Giang Phan Tich & Thiet Ke He Thong

81

1.3. Cài đặt và kiểm thử gói phần mềm mới

- Nếu hệ thống đòi hỏi phải có những phần mềm được thuê hoặc mua về thì chúng cần

phải được cài đặt và kiểm thử

- Phân bổ nhiệm vụ:

+ Người phân tích hệ thống: làm rõ các yêu cầu nghiệp vụ

+ Người thiết kế hệ thống: làm rõ các yêu cầu tích hợp

+ Người quản trị mạng: Cài đặt gói phần mềm

+ Người bán phần mềm hoặc người tư vấn: Trợ giúp cài đặt và kiểm thử

+ Người lập trình ứng dụng: Kiểm thử dựa theo các yêu cầu tích hợp

1.4. Viết và kiểm thử các chƣơng trình mới

- Tái sử dụng các thành phần phần mềm có thể có trong thư viện

- Viết các thành phần mới

- Kiểm thử

- Tài liệu hoá chương trình

- Phân bố nhiệm vụ:

+ Người phân tích hệ thống: làm rõ các yêu cầu nghiệp vụ

+ Người thiết kế hệ thống: làm rõ các yêu cầu tích hợp

+ Đội lập trình ứng dụng: Viết và kiểm thử phần mềm

- Các mức độ kiểm thử:

+ Kiểm thử một phần (Stub test) – việc kiểm thử được thực hiện đối với một số

môđun của chương trình. Nói một cách khác, đó là cách kiểm thử một tập con độc lập của

chương trình.

+ Kiểm thử chƣơng trình (Unit or program test) – việc kiểm thử được thực hiện đối

với toàn bộ một chương trình. Mức độ kiểm thử này được tiến hành khi các mô đun đã được

lập trình và việc kiểm thử một phần đã hoàn thành.

+ Kiểm thử hệ thống (Systems test) – việc kiểm thử được thực hiện đối với toàn bộ

hệ thống nhằm đảm bảo rằng các chương trình ứng dụng được viết và kiểm thử độc lập đều

hoạt động tốt khi chúng được tích hợp vào hệ thống tổng hợp.

2. Giai đoạn triển khai

Hệ thống chức năng thu được từ giai đoạn xây dựng chính là đầu vào then chốt cho giai

đoạn triển khai. Kết quả của giai đoạn triển khai là hệ thống hoạt động là đầu vào của giai

đoạn vận hành và bảo trì trong vòng đời hệ thống. Trong mục này, chúng tôi trình bày các

bước trong giai đoạn triển khai cho một dự án phát triển hệ thống thông thường.

2.1. Kiểm thử hệ thống lần cuối

Page 82: Bai Giang Phan Tich & Thiet Ke He Thong

82

- Kiểm tra mạng, cơ sở dữ liệu, phần mềm được mua về, phần mềm mới xây dựng và

phần mềm đã có để đảm bảo rằng chúng đều có thể họat động cùng nhau.

- Phân bổ nhiệm vụ:

+ Người phân tích hệ thống: Phát triển dữ liệu kiểm thử cho hệ thống.

+ Người xây dựng hệ thống (lập trình viên ứng dụng, lập trình viên cơ sở dữ liệu và

chuyên viên mạng): Giải quyết các vấn đề xuất hiện trong quá trình kiểm thử.

+ Người sở hữu và người sử dụng hệ thống, kiểm chứng xem hệ thống hoạt động có

chính xác hay không.

- Kết quả thu được có thể là việc phải quay trở lại giai đoạn xây dựng để sửa đổi hệ thống

- Lặp lại tới khi việc kiểm thử hệ thống thành công

2.2. Lập kế hoạch chuyển đổi

- Người phân tích hệ thống sẽ xây dựng một kế hoạch chuyển đổi chi tiết từ hệ thống cũ

sang hệ thống mới, trong đó xác địng rõ:

+ Cách thức cài đặt cơ sở dữ liệu

+ Cách thức đào tạo người dùng

+ Các tài liệu cần xây dựng

+ Chiến lược chuyển đổi

- Phân bố nhiệm vụ:

+ Người phân tích hệ thống/người phân tích dự án: Phát triển kế hoạch chuyển đổi chi

tiết

+ Chủ hệ thống: phê chuẩn kế hoạch và thời gian biểu

2.3. Cài đặt cơ sở dữ liệu

- Nạp cơ sở dữ liệu mới từ dữ liệu sẵn có từ hệ thống cũ

+ Thông thường là phải tái cấu trúc dữ liệu khi nạp vào

+ Phải đảm bảo rằng dữ liệu được chuyển đổi một cách chính xác

- Phân bố nhiệm vụ:

+ Lập trình viên ứng dụng: Viết (hoặc sử dụng) các chương trình đặc biệt để trích rút

dữ liệu từ các cơ sở dữ liệu sẵn có và nạp vào cơ sở dữ liệu mới

o Người phân tích và người thiết kế hệ thống, tính toán kích thước cơ sở dữ liệu và ước lượng

thời gian cài đặt

2.4. Huấn luyện ngƣời dùng

- Đào tạo và cung cấp tài liệu cho người sử dụng

- Phân bố nhiệm vụ:

+ Người phân tích hệ thống: Lập kế hoạch đào tạo, theo dõi việc đào tạo, viết tài liệu

và trợ giúp người dùng trong thời gian học.

+ Người sở hữu hệ thống: Phê duyệt thời gian hoàn thiện việc đào tạo

Page 83: Bai Giang Phan Tich & Thiet Ke He Thong

83

+ Người sử dụng hệ thống, tham dự khóa đào tạo và tiếp nhận hệ thống

2.5. Chuyển đổi sang hệ thống mới

- Hệ thống được bàn giao từ người phát triển tới cho người dùng cuối

- Phân bố nhiệm vụ:

+ Người phân tích hệ thống/Người quản lý dự án: Thực hiện kế hoạch chuyển đổi,

điều chỉnh lỗi phát sinh, nhận phản hồi của người dùng.

+ Người sở hữu hệ thống/người sử dụng hệ thống: sử dụng và cung cấp ý kiến phản

hồi.

CÂU HỎI CUỐI CHƢƠNG

1. Trình bày quá trình xây dựng hệ thống.

2. Trình bày các cách thức kiểm thử hệ thống.

3. Trình bày quá trình triển khai hệ thống.

Page 84: Bai Giang Phan Tich & Thiet Ke He Thong

84

Chƣơng XI. Vận hành và hỗ trợ hệ thống

1. Tổng quan

Hỗ trợ hệ thống (Systems support) là việc hỗ trợ về mặt kỹ thuật cho người sử dụng cũng

như việc bảo trì để sửa lỗi hoặc đáp ứng những yêu cầu mới xuất hiện.Vận hành hệ thống

(Systems operation) là việc thực thi hàng ngày của một hệ thống thông tin.

Các hoạt động hỗ trợ hệ thống:

- Bảo trì hệ thống (Program maintenance) sửa các lỗi xuất hiện trong quá trình phát triển

hệ thống

- Phục hồi hệ thống (System recovery) là việc phục hồi lại hệ thống và dữ liệu sau khi xảy

ra sự cố

- Hỗ trợ kỹ thuật (Technical support) là bất kỳ sự trợ giúp nào được cung cấp cho người

sử dụng trong trường hợp cần thiết

- Nâng cấp hệ thống (System enhancement) là việc cải thiện hệ thống để xử lý các vấn đề

nghiệp vụ hoặc vấn đề kỹ thuật hay yêu cầu kỹ thuật mới

2. Bảo trì hệ thống

Các nguyên nhân gây lỗi:

- Các yêu cầu không được xem xét kỹ

- Các yêu cầu không được truyền đạt chính xác

- Các yêu cầu bị hiểu sai

- Các yêu cầu hoặc bản thiết kế bị cài đặt không chính xác

- Sử dụng sai mục đích chương trình

Các mục tiêu của việc bảo trì hệ thống:

- Tạo các thay đổi dự đoán trước đối với hệ thống hiện có để hiệu chỉnh lỗi

- Duy trì các bộ phận vẫn hoạt động tốt của chương trình và tránh trường hợp những

thay đổi có thể gây ảnh hưởng bất lợi tới các bộ phận đó

- Tránh nhiều nhất có thể việc làm giảm hiệu suất của hệ thống

- Hoàn thành nhiệm vụ nhanh nhất để tránh giảm tính tin cậy của hệ thống

2.1. Xác định vấn đề

Các dự án bảo trì hệ thống nhỏ thường được kích hoạt bởi việc phát hiện ra lỗi. Hầu hết

các lỗi đều được phát hiện bởi người sử dụng khi họ nhận thấy một số bộ phận của hệ thống

hoạt động không chính xác. Nhiệm vụ đầu tiên của người phân tích hệ thống hoặc lập trình

viên là xác định vấn đề. Nếu đúng là có lỗi thì việc bảo trì phải được thực hiện trên bản sao

của chương trình. Còn chương trình gốc vẫn được sử dụng tới khi sửa xong lỗi.

2.2. Đánh dấu chƣơng trình

Page 85: Bai Giang Phan Tich & Thiet Ke He Thong

85

Không phải phần nào của chương trình cũng hỏng. Do đó, trước khi thực hiện bất cứ thay

đổi nào đối với chương trình thì cần kiểm thử chương trình để phân định ranh giới giữa phần

chương trình có lỗi cần sửa với phần chương trình có thể xem xét muộn hơn.

2.3. Nghiên cứu và bắt lỗi chƣơng trình

Tri thức về chương trình thì có được từ mã nguồn. Để có thể hiểu được chương trình thì

cần không ít thời gian. Hoạt động này có thể bị chậm trễ do một số hạn chế có thể có sau:

- Cấu trúc chương trình tồi

- Lôgíc không có cấu trúc

- Những hoạt động bảo trì không tốt trước đó (chẳng hạn như việc sửa đổi nhanh chóng

và phần mở rộng được thiết kế tồi)

- Mã chết (là những câu lệnh không thể thực hiện được)

- Tài liệu không tốt hoặc không đầy đủ

2.4. Kiểm thử chƣơng trình

Một phiên bản đề cử của chương trình phải được kiểm thử trước khi được đưa vào vận

hành. Dưới đây là những bước kiểm thử cần thiết hoặc tùy chọn:

- Kiểm thử bộ phận (Unit testing) cần thiết để đảm bảo rằng một chương trình độc lập đã

được sửa lỗi mà không gây ảnh hưởng ngoài dự đoán tới chương trình.

- Kiểm thử hệ thống (System testing) cần thiết để đảm bảo rằng toàn bộ ứng dụng (trong

đó chương trình đã được sửa chữa và kiểm thử là một phần) vẫn hoạt động tốt trên phạm vi

toàn hệ thống.

- Kiểm thử hồi quy (Regression testing) ngoại suy ảnh hưởng của các thay đổi tới hiệu

suất hệ thống bằng cách phân tích hiệu suất trước và sau khi thay đổi.

- Kiểm soát phiên bản (Version control) là quá trình theo dõi những thay đổi đã có đối với

chương trình để làm thuận tiện việc tìm hiểu chương trình về sau.

3. Phục hồi hệ thống

Sự cố hệ thống là điều không thể tránh khỏi. Người phân tích hệ thống thường sửa lỗi hệ

thống hoặc haọt động như một cầu nối giữa người sử dụng và người có trách nhiệm sửa lỗi.

Các hoạt động phục hồi hệ thống có thể tóm tắt như sau:

- Trong nhiều trường hợp, người phân tích hệ thống có thể ngồi tại máy tính của người

dùng để phục hồi hệ thống. Họ có thể cần phải cung cấp các chỉ dẫn để hiệu chỉnh cho người

dùng để tránh lặp lại sự cố.

- Trong một số trường hợp, người phân tích phải liên hệ với nhân lực vận hành hệ thống

để sửa lỗi. Điều này thường cần thiết khi hệ thống có sử dụng máy chủ. Thường thì người

quản trị mạng hoặc quản trị viên cơ sở dữ liệu hay người quản trị web sẽ xem xét các vấn đề

của máy chủ.

Page 86: Bai Giang Phan Tich & Thiet Ke He Thong

86

- Trong một số trường hợp, người phân tích có thể cần phải nhờ người quản trị dữ liệu

phục hồi các tệp dữ liệu hoặc cơ sở dữ liệu đã mất hoặc bị hỏng. Khi phục hồi dữ liệu nghiệp

vụ thì không chỉ cần khôi phục cơ sở dữ liệu.

+ Bất cứ giao dịch nào xuất hiện trong khoảng thời gian kể từ lần sao lưu cuối cùng

tới lúc phục hồi dữ liệu đều phải được xử lý lại.

+ Nếu sự cố xảy ra trong khi diễn ra một giao dịch và giao dịch đó đã được hoàn

thành một phần thì bất cứ việc cập nhật giao dịch nào diễn ra trước sự cố đều phải được hủy

bỏ trước khi xử lý lại toàn bộ giao dịch.

- Trong một số trường hợp, người phân tích có thể phải nhờ người quản trị mạng sửa một

lỗi trên mạng cục bộ hay mạng diện rộng.

- Trong một số trường hợp, người phân tích có thể phải nhờ chuyên viên kỹ thuật giải

quyết các vấn đề nảy sinh về phần cứng.

- Trong một số trường hợp, người phân tích sẽ phát hiện được lỗi phần mềm có thể gây ra

sự cố. Họ sẽ cố gắng cô lập lỗi nhanh chóng để nó không thể gây ra sự cố khác. Tiếp theo là

việc xử lý lỗi.

4. Hỗ trợ kỹ thuật

Một hoạt động thường xuyên khác trong giai đoạn hỗ trợ hệ thống đó là hỗ trợ kỹ thuật.

Cho dù người dùng có được đào tạo tốt như thế nào hay các tài liệu được viết kỹ thế nào thì

người dùng vẫn cần có sự trợ giúp. Người phân tích hệ thống thường sẵn sàng đợi yêu cầu

của người dùng. Những công việc thường phải làm là:

- Đều đặn theo dõi việc sử dụng hệ thống

- Theo dõi kết quả thăm dò mức độ hài lòng của người dùng và gặp gỡ họ

- Thay đổi thủ tục nghiệp vụ cho phù hợp với hoạt động của hệ thống phần mềm

- Cung cấp thêm các hoạt động đào tạo người dùng

- Lưu lại các yêu cầu và ý tưởng về việc nâng cấp hệ thống

5. Nâng cấp hệ thống

Hầu hết các hoạt động nâng cấp hệ thống đều xuất phát từ việc đáp ứng các sự kiện sau:

- Các vấn đề về nghiệp vụ mới phát sinh: một vấn đề nghiệp vụ mới nảy sinh khiến cho

một phần của hệ thống hiện tại trở nên không sử dụng được hoặc không hiệu quả.

- Các yêu cầu nghiệp vụ mới xuất hiện: một yêu cầu nghiệp vụ mới (ví dụ loại báo cáo

hay giao dịch hoặc chính sách mới) cần có để duy trì giá trị sử dụng của hệ thống hiện tại.

- Các yêu cầu công nghệ mới xuất hiện: một quyết định về việc sử dụng một công nghệ

mới (bao gồm cả việc nâng cấp phần cứng và phần mềm) trong hệ thống hiện có cần được

thực hiện.

- Các yêu cầu thiết kế mới: một phần tử hệ thống hiện có cần thiết kế lại không.

5.1. Phân tích yêu cầu nâng cấp

Page 87: Bai Giang Phan Tich & Thiet Ke He Thong

87

Bước này nhằm xác định các hoạt động cần thực hiện để đáp ứng yêu cầu nâng cấp của hệ

thống. Nhiệm vụ đầu tiên là phân tích một yêu cầu trong mối tương quan với các yêu cầu

thay đổi nổi bật khác để xác đinh thứ tự ưu tiên.

Nếu cần phải thay đổi ngay lập tức thì yêu cầu được chọn cần phải được định hướng giải

pháp tùy theo loại thay đổi cần thực hiện:

- Các vấn đề nghiệp vụ mới cần được hướng tới phiên bản thu nhỏ của giai đoạn phân tích

vấn đề. Từ đó, việc nâng cấp sẽ được định hướng thông qua các phiên bản thu nhỏ tương ứng

của các giai đoạn phân tích yêu cầu, phân tích quyết định, thiết kế, xây dựng và triển khai.

- Các yêu cầu kỹ thuật mới cần được hướng tới giai đoạn phân tích quyết định trước khi

diễn ra giai đoạn thiết kế, xây dựng và triển khai. Việc phân tích quyết định sẽ xác định xem

liệu công nghệ được đề xuất có khả thi trong hệ thống mới hay không. Điều này đặc biệt quan

trọng bởi việc thay đổi công nghệ có thể tốn kém và phức tạp.

- Các yêu cầu thiết kế mới phải được hướng tới giai đoạn thiết kế, xây dựng và triển khai.

5.2. Thực hiện sửa chữa nhanh

Một số kiểu nâng cấp hệ thống có thể được thực hiện nhanh chóng bằng cách viết những

chương trình đơn giản mới hoặc thựuc hiện các thay đổi đơn giản đối với các chương trình

đang có. Các chương trình và thay đổi đơn giản có thể được thực hiện mà không cần phải tái

cấu trúc dữ liệu (tức là thay đổi cấu trúc cơ sở dữ liệu), không phải cập nhật dữ liệu hay nhập

dữ liệu mới. Nói một cách khác, các chương trình đó sinh ra các báo các và đầu ra mới.

5.3. Phục hồi hệ thống vật lý hiện có

Đôi khi xảy ra việc hệ thống được nâng cấp nhưng tài liệu về nó lại không được cập nhật.

Và có trường hợp các hệ thống được phát triển không theo quy trình nghiêm ngặt nào. Khi

đó, người phân tích có thể được yêu cầu phục hồi cấu trúc vật lý hiện có của một hệ thống để

làm cơ sở cho việc nâng cấp hệ thống về sau.

Page 88: Bai Giang Phan Tich & Thiet Ke He Thong

88

TÀI LIỆU THAM KHẢO

1. Jeffrey Whitten, Lonnie Bentley, Kevin Dittman, Systems Analysis and Design Methods,

McGraw-Hill, 6th

edition, 2004.

2. Prof. Nam Suh, Dr. Taesik Lee, System Design and Analysis based on AD and

Complexity Theories, 2005.

3. Ray Rankins, Paul Bertucci, Chris Gallelli, Alex T.Silverstein, Microsoft SQL Server

2005 Unleashed, Sams Publishing, 2007.

4. Nguyễn Văn Ba, Phân tích và thiết kế các hệ thống thông tin, Nhà xuất bản ĐHQG Hà

Nội, 2003.

5. Nguyễn Văn Vỵ, Phân tích và thiết kế các hệ thống thông tin hiện đại, Nhà xuất bản

Thống kê, 2002.

Page 89: Bai Giang Phan Tich & Thiet Ke He Thong

89

MỘT SỐ ĐỀ THI MẪU

Page 90: Bai Giang Phan Tich & Thiet Ke He Thong

90

Trƣờng Đại Học Hàng Hải Việt Nam

Khoa Công nghệ Thông tin

BỘ MÔN HỆ THỐNG THÔNG TIN

-----***-----

THI KẾT THÚC HỌC PHẦN

Tên học phần : PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Năm học: x

Đề thi số: Ký duyệt đề:

x

Thời gian: 90 phút

Cho bài toán quản lý đƣợc miêu tả trong phụ lục 01

Câu 1: (3 điểm)

Hãy xây dựng sơ đồ phân rã chức năng và biểu đồ luồng dữ liệu mức khung cảnh của hệ

thống.

Câu 2: (4 điểm)

Xây dựng biểu đồ luồng dữ liệu mức đỉnh và mức dưới đỉnh cho nghiệp vụ Bán hàng

hóa/sản phẩm cho khách. (02 điểm)

Sau đó tiến hành xác định sơ đồ liên kết tập thực thể của nghiệp vụ trên(chỉ xét với các

thực thể liên quan trực tiếp đến nghiệp vụ này). (02 điểm)

Câu 3: (3 điểm)

Thiết kế chi tiết giao diện form bán hàng hóa/sản phẩm cho khách.

----------------------------***HẾT***----------------------------

Lưu ý:

- Sinh viên không được ghi chép vào đề thi, làm rách hoặc hỏng đề thi;

- Nộp đề kèm theo bài làm sau khi hết giờ.

Page 91: Bai Giang Phan Tich & Thiet Ke He Thong

91

Trƣờng Đại Học Hàng Hải Việt Nam

Khoa Công nghệ Thông tin

BỘ MÔN HỆ THỐNG THÔNG TIN

-----***-----

THI KẾT THÚC HỌC PHẦN

Tên học phần : PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Năm học: x

Đề thi số: Ký duyệt đề:

x

Thời gian: 90 phút

Cho bài toán quản lý đƣợc miêu tả trong phụ lục 01

Câu 1: (3 điểm)

Hãy xây dựng sơ đồ phân rã chức năng và biểu đồ luồng dữ liệu mức khung cảnh của hệ

thống.

Câu 2: (4 điểm)

Xây dựng biểu đồ luồng dữ liệu mức đỉnh và mức dưới đỉnh cho nghiệp vụ Bán hàng

hóa/sản phẩm cho khách. (02 điểm)

Sau đó tiến hành xác định sơ đồ liên kết tập thực thể của nghiệp vụ trên(chỉ xét với các

thực thể liên quan trực tiếp đến nghiệp vụ này). (02 điểm)

Câu 3: (3 điểm)

Thiết kế chi tiết giao diện form tìm kiếm dịch vụ khách đã sử dụng trong khoảng thời

gian và thông báo hóa đơn thanh toán tổng hợp đến khách hàng.

----------------------------***HẾT***----------------------------

Lưu ý:

- Sinh viên không được ghi chép vào đề thi, làm rách hoặc hỏng đề thi;

- Nộp đề kèm theo bài làm sau khi hết giờ.

Page 92: Bai Giang Phan Tich & Thiet Ke He Thong

92

Trƣờng Đại Học Hàng Hải Việt Nam

Khoa Công nghệ Thông tin

BỘ MÔN HỆ THỐNG THÔNG TIN

-----***-----

THI KẾT THÚC HỌC PHẦN

Tên học phần : PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Năm học: x

Đề thi số: Ký duyệt đề:

x

Thời gian: 90 phút

Cho bài toán quản lý đƣợc miêu tả trong phụ lục 01

Câu 1: (3 điểm)

Hãy xây dựng sơ đồ phân rã chức năng và biểu đồ luồng dữ liệu mức khung cảnh của hệ

thống.

Câu 2: (4 điểm)

Xây dựng biểu đồ dữ liệu mức đỉnh và mức dưới đỉnh nghiệp vụ Thiết lập thông tin sử

dụng & giá cả của các dịch vụ. (02 điểm)

Sau đó tiến hành xác định sơ đồ liên kết tập thực thể của nghiệp vụ trên(chỉ xét với các

thực thể liên quan trực tiếp đến nghiệp vụ này). (02 điểm)

Câu 3: (3 điểm)

Thiết kế chi tiết giao diện form cập nhật và tìm kiếm giá hiện tại của dịch vụ.

----------------------------***HẾT***----------------------------

Lưu ý:

- Sinh viên không được ghi chép vào đề thi, làm rách hoặc hỏng đề thi;

- Nộp đề kèm theo bài làm sau khi hết giờ.

Page 93: Bai Giang Phan Tich & Thiet Ke He Thong

93

Trƣờng Đại Học Hàng Hải Việt Nam

Khoa Công nghệ Thông tin

BỘ MÔN HỆ THỐNG THÔNG TIN

-----***-----

THI KẾT THÚC HỌC PHẦN

Tên học phần : PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Năm học: x

Đề thi số: Ký duyệt đề:

x

Thời gian: 90 phút

Cho bài toán quản lý đƣợc miêu tả trong phụ lục 01

Câu 1: (3 điểm)

Hãy xây dựng sơ đồ phân rã chức năng và biểu đồ luồng dữ liệu mức khung cảnh của hệ

thống.

Câu 2: (4 điểm)

Xây dựng biểu đồ dữ liệu mức đỉnh và mức dưới đỉnh cho nghiệp vụ Thiết lập thông tin

sử dụng & giá cả của các dịch vụ. (02 điểm)

Sau đó tiến hành xác định sơ đồ liên kết tập thực thể của nghiệp vụ trên(chỉ xét với các

thực thể liên quan trực tiếp đến nghiệp vụ này). (02 điểm)

Câu 3: (3 điểm)

Thiết kế chi tiết giao diện form cập nhật giá dịch vụ và tìm kiếm quá trình thay đổi giá

của dịch vụ đó.

----------------------------***HẾT***----------------------------

Lưu ý:

- Sinh viên không được ghi chép vào đề thi, làm rách hoặc hỏng đề thi;

- Nộp đề kèm theo bài làm sau khi hết giờ.

Page 94: Bai Giang Phan Tich & Thiet Ke He Thong

94

Trƣờng Đại Học Hàng Hải Việt Nam

Khoa Công nghệ Thông tin

BỘ MÔN HỆ THỐNG THÔNG TIN

-----***-----

THI KẾT THÚC HỌC PHẦN

Tên học phần : PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Năm học: x

Đề thi số: Ký duyệt đề:

x

Thời gian: 90 phút

Cho bài toán quản lý đƣợc miêu tả trong phụ lục 01

Câu 1: (3 điểm)

Hãy xây dựng sơ đồ phân rã chức năng và biểu đồ luồng dữ liệu mức khung cảnh của hệ

thống.

Câu 2: (4 điểm)

Xây dựng biểu đồ dữ liệu mức đỉnh và mức dưới đỉnh cho nghiệp vụ Tiếp nhận đăng ký

và trả thẻ hội viên. (02 điểm)

Sau đó tiến hành xác định sơ đồ liên kết tập thực thể của nghiệp vụ trên(chỉ xét với các

thực thể liên quan trực tiếp đến nghiệp vụ này). (02 điểm)

Câu 2: (3 điểm)

Thiết kế chi tiết giao diện form tìm kiếm thông tin hội viên dựa trên: các thông tin về hội

viên; các dịch vụ mà hội viên đã sử dụng.

----------------------------***HẾT***----------------------------

Lưu ý:

- Sinh viên không được ghi chép vào đề thi, làm rách hoặc hỏng đề thi;

- Nộp đề kèm theo bài làm sau khi hết giờ.

Page 95: Bai Giang Phan Tich & Thiet Ke He Thong

95

PHỤ LỤC 01

(Ban hành kèm theo đề thi môn PTTKHT năm học 2010-2011 cho khóa 49)

BÀI TOÁN QUẢN LÝ TRUNG TÂM DỊCH VỤ THỂ THAO LẠCH TRAY

I. Giới thiệu chung

Trung tâm thể thao LẠCH TRAY kinh doanh dịch vụ cung cấp trang thiết bị, cơ sở vật

chất, phòng tập cho các khu dân cư trong vùng. Với một cơ sở vật chất hiện đại gồm nhiều

phòng tập chuyên ngành, bể bơi, sân thể thao, v/v…., trung tâm cung cấp một dịch vụ hoàn

hảo cho nhu cầu chăm sóc sức khỏe hàng ngày của người dân. Khách hàng đến với Trung

tâm sau khi đăng kí hội viên được phép sử dụng các cơ sở vật chất và dịch vụ giá trị gia tăng

do trung tâm cung cấp với chi phí hợp lý.

Để tạo thuận lợi, trung tâm có một hệ thống theo dõi ra vào khu tập luyện dựa trên thẻ

mã vạch (Mỗi khi vào/ra phòng nào đó khách hàng có nhiệm vụ quẹt thẻ hội viên để xác định

thời gian sử dụng phòng), bên cạnh đó mọi dịch vụ khác có phát sinh hóa đơn như ăn uống,

mua bán trang thiết bị trong trung tâm khách hàng sẽ thanh toán thông qua thẻ hội viên. Cuối

mỗi tháng hóa đơn theo dõi tổng sẽ được gửi đến cho khách hàng để yêu cầu khách thanh

toán qua chuyển khoản. Khách hàng nào vi phạm nội quy của trung tâm hoặc không thanh

toán chi phí dịch vụ hàng tháng sẽ bị khóa tài khoản và truy tố theo quy định của pháp luật.

II. Các công việc thƣờng ngày tại trung tâm

1. Tiếp nhận đăng ký và trả thẻ hội viên

Khách hàng muốn làm hội viên của trung tâm phải đến gặp nhân viên lễ tân và

thực hiện các bước sau:

B1. Khách nộp bản đăng ký theo Mẫu 1

B2. Nhân viên lễ tân điền thêm các thông tin lên mẫu tại các vị trí:

- Số thẻ

- Ngày hết hạn

B3. Nhân viên lễ tân chuyển phiếu đăng ký cho lãnh đạo trung tâm xác nhận;

B4. In thẻ hội viên theo Mẫu 2;

B5. Trả thẻ cho khách và mời sử dụng các dịch vụ của trung tâm.

2. Thiết lập thông tin sử dụng & giá cả của các dịch vụ

Định kỳ sau một khoản thời gian trung tâm tiến hành cập nhật lại giá sử dụng các

dịch vụ của trung tâm. Đó là chi phí tính theo giờ khi khách hàng ra vào một khu vực

nào đó. Mỗi khu vực có một mức giá riêng. Quá trình thay đổi giá của mỗi khu vực

phải được lưu trữ lại. Nhân viên phụ trách việc này sẽ tiến hành theo các bước:

B1. Liệt kê các khu vực dịch vụ hiện có của trung tâm như Mẫu 3;

Page 96: Bai Giang Phan Tich & Thiet Ke He Thong

96

B2. Căn cứ tình hình thực tế để xác định cho phép khu vực đó hoạt động hay

không hoạt động;

B3. Thiết lập giá sử dụng dịch vụ tính theo giờ cho khu vực;

B4. Trình lãnh đạo trung tâm xin xác nhận;

B5. Thông báo công khai thông tin cho khách hàng.

3. Theo dõi khách hàng ra vào trung tâm

Khách ra vào trung tâm hoặc các khu tập luyện: Phòng tập thể thao, bể bơi, phòng

dịch vụ … Đều phải tiến hành quẹt thẻ hội viên để xác định thời gian vào sử dụng

dịch vụ tại khu vực đó.

B1. Đưa thẻ vào máy đọc thẻ khi ra/vào một khu vực;

B2. Máy tự động ghi nhận thời gian của khách dựa trên thông tin trên thẻ hội

viên;

B3. Khách nhận lại thẻ từ máy đọc thẻ.

4. Bán sản phẩm/hàng hóa phục vụ khách

Trong khu hoạt động của mình, trung tâm có một số cửa hàng phục vụ bán các đồ

uống, thức ăn, trang thiết bị thể thao… Khi khách hàng có nhu cầu sử dụng dịch vụ ở

các cửa hàng này, nhân viên tác nghiệp theo các bước sau:

B1. Cung cấp đầy đủ các sản phẩm / hàng hóa mà khách hàng yêu cầu trong khả

năng cho phép (các sản phẩm/hảng hóa được quản lý cụ thể gồm các thông tin tên sản

phẩm/hàng hóa, giá bán, khuyến mại nếu có).

B2. Lập hóa đơn tính chi phí cho khách hàng theo Mẫu 4.

B3. Yêu cầu khách hàng quẹt thẻ hội viên vào máy bán hàng để thanh toán cho

hóa đơn vừa in.

B4. Cảm ơn và tạm biệt khách hàng.

5. Tổng hợp tình hình sử dụng dịch vụ trong ngày

Đề nắm bắt tình hình sử dụng dịch vụ trong ngày, cuối mỗi ngày lãnh đạo trung

tâm tiến hành lập các báo cáo theo Mẫu 5 để lưu trữ.

6. Phát hành hóa đơn thu phí dịch vụ tổng hợp

Cuối tháng nhân viên trung tâm sẽ tiến hành gửi hóa đơn thu phí dịch vụ theo các

bước sau:

B1. Nhân viên nghiệp vụ tổng hợp chi tiết dịch vụ đã sử dụng trong tháng theo

Mẫu 6.

B2. Lập và chuyển phát hóa đơn đến cho khách hàng theo email & địa chỉ đã

đăng ký.

B3. Chờ khách hàng chuyển khoản chi phí

B4. Theo dõi & đánh dấu những khách hàng đã chuyển trả chi phí

Page 97: Bai Giang Phan Tich & Thiet Ke He Thong

97

7. Thực hiện theo dõi vi phạm và hủy tƣ cách hội viên

Nhân viên trung tâm có trách nhiệm thường xuyên theo dõi và lưu lại các vi phạm

của khách hàng để tiến hành xử lý theo các bước:

B1. Thu thập và ghi nhận chứng cứ vi phạm của khách hàng (ngày vi phạm, nội

dung vi phạm, mức độ vi phạm được tính bằng điểm tứ 1 đến 10, tiền phạt = mức độ*

đơn giá phạt).

Các vi phạm được quy định trước trong nội quy của trung tâm (bao gồm tên vi

phạm, đơn giá phạt)

B2. Tạm đình chỉ hoạt động của thẻ hội viên trong 15 ngày nếu tổng mức độ vi

phạm lên quá 20.

B3. Thông báo đến khách hàng các lỗi vi phạm để và yêu cầu đến thanh toán các

lỗi vi phạm.

B4. Sau 15 ngày nếu khách hàng không khắc phục vi phạm thì dừng hẳn tư cách

hội viên

B5. Đối với các vi phạm nghiêm trọng mà khách hàng không khắc phục thì lập hồ

sơ chuyển cho đơn vị pháp luật có thẩm quyền.

III. Các mẫu văn bản.

1. Mẫu 1: Phiếu đăng ký hội viên

Trung tâm thể thao LẠCH TRAY

PHIẾU ĐĂNG KÝ HỘI VIÊN

Phần khách ghi thông tin

1. Họ và tên:……………………………… 2. Giới tính: Nam Nữ

3. Ngày sinh: …………………………….. 4. CMND: ………………..

5. Dân tộc:………………………………... 6. Tôn giáo:……………….

7. Địa chỉ thường trú:……………………………………………………

8. Điện thoại:……………………………... 9. Email:…………………..

10. Thời gian tập luyện mong muốn: Sáng Chiều Tối

Phần trung tâm ghi thông tin:

11. Mã số thẻ được cấp:…………………………………………………

12. Ngày hết hạn:………………………………………………………..

Người đăng ký Người tiếp nhận Phê duyệt

Ảnh 4x6

Page 98: Bai Giang Phan Tich & Thiet Ke He Thong

98

2. Mẫu 2: Thẻ hội viên

3. Mẫu 3: Bảng giá sử dụng khu vực tập luyện

BẢNG GIÁ SỬ DỤNG DỊCH VỤ

Stt Tên khu vực Giá/giờ

VNĐ

1. Phòng tập thể hình N1 đến N7 30.000

2. Phòng tập thể dục thẩm mỹ M1 đến M3 25.000

3. Bể bơi 15.000

4. Sân Tennis T1 đến T6 25.000

5. Sân Tennis VIP V1 đến V3 50.000

6. Sân bóng trong nhà B1 đến B4 30.000

7. Phòng chơi bóng bàn 30.000

Lưu ý: Giá trên chưa bao gồm VAT

4. Mẫu 4: Hóa đơn mua hàng

Stt Hàng Số lượng Đơn giá Thành tiền

1 Kem Merino 2 7.000 14.000

2 Lavie 1 2.500 2.500

Tổng cộng: 16.500

Thuế VAT (5%): 825

Số tiền phải trả: 17.325

Trung tâm thể thao LẠCH TRAY

Hóa đơn số: A223200 Ngày: 10/01/2010

Trung tâm thể thao LẠCH TRAY

THẺ HỘI VIÊN Ảnh 4x6

Họ và tên:………………………………

Ngày sinh:………………………………

Cấp ngày:………… Hết hạn:………….

MÃ SỐ:………………………….……..

|||

Page 99: Bai Giang Phan Tich & Thiet Ke He Thong

99

5. Mẫu 5: Báo cáo mức khai thác các khu vực tập luyện trong ngày

6. Mẫu 6: Hóa đơn thanh toán tổng hợp có chi tiết kèm theo

Ví dụ: Bảng kê chi tiết

Bảng kê chi tiết

Stt Tên dịch vụ / mặt

hàng

Ngày Mô tả Chi phí

1. Bể bơi 10/01/2010 1 giờ [7h30-8h30] 15.000

2. Phòng tập thể hình 10/01/2010 0.5 giờ [4h30-

5h0]

15.000

Trung tâm thể thao LẠCH TRAY

HÓA ĐƠN THÁNG ……

1. Thông tin khách hàng

Số thẻ: …………………………………….

Khách hàng: …………………………………………………………

Địa chỉ:………………………………………………………………..

2. Thông tin Trung tâm:

Tên: Trung tâm thể thao ASANIC

Địa chỉ: số 484 Lạch Tray, Ngô Quyền, Hải Phòng.

Số tài khoản: 1019203949573 tại Ngân hàng Techcombank chi nhánh HP

3. Hình thức thanh toán: Chuyển khoản

4. Loại tiền: VNĐ

5. Tổng số tiền cần thanh toán: ………………….

Chi tiết sử dụng dịch vụ xem bảng đính kèm

Người lập Thủ trưởng đơn vị

Trung tâm thể thao LẠCH TRAY

BÁO CÁO MỨC KHAI THÁC

Stt Khu vực Số giờ Số người tối đa

Sáng Chiều Tối Sáng Chiều Tối

1 Bể bơi 50 100 25 35 55 26

Ngày: ……………………..

Người lập

Khách hàng

Page 100: Bai Giang Phan Tich & Thiet Ke He Thong

100

3. Kem Merino 10/01/2010 1 chiếc 7.000

4. Nước Lavie 10/01/2010 1 chai 2.500

5. Giầy tập thể thao

Nike

10/01/2010 1 đôi 350.000

6. Phòng bóng đá trong

nhà

11/01/2010 1 giờ [8h30-9h30] 30.000

7. Bể bơi 11/01/2010 1 giờ [9h30-

10h30]

15.000

8.

9.

TỔNG CỘNG 434.500