Đồ án tốt nghiệp Quản lý đặt vé máy bay

76 1 0
Tài liệu đã được kiểm tra trùng lặp
Đồ án tốt nghiệp Quản lý đặt vé máy bay

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

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

Thông tin tài liệu

Trong bối cảnh ngày nay, nhu cầu sử dụng dịch vụ đặt vé máy bay trực tuyến ngày càng tăng cao, đặt ra thách thức lớn đối với các doanh nghiệp hoạt động trong lĩnh vực quản lý và cung cấp dịch vụ hàng không. Để giải quyết vấn đề này, đồ án tốt nghiệp này tập trung vào phân tích, thiết kế, và xây dựng một website quản lý đặt vé máy bay hiệu quả. Website được thiết kế với giao diện thân thiện, dễ sử dụng, nhằm cung cấp trải nghiệm người dùng tốt nhất. Các chức năng chính bao gồm việc tìm kiếm chuyến bay, xem thông tin chi tiết về các chuyến bay, và quy trình đặt vé đơn giản. Hệ thống đã được phát triển với tính linh hoạt cao, cho phép mở rộng và tích hợp các tính năng mới trong tương lai. Đồng thời, website còn cung cấp một số tính năng khác như dịch vụ đặt xe taxi và đặt khách sạn, nhằm mang lại cho người sử dụng một trải nghiệm tiện lợi và đa dạng cho người dùng.

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢIKHOA CÔNG NGHỆ THÔNG TIN

PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG WEBSITEQUẢN LÝ ĐẶT VÉ MÁY BAY

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUYNgành: Hệ thống thông tin

Giảng viên hướng dẫn: Sinh viên thực hiện :Lớp : Mã sinh viên :

HÀ NỘI - 2023

Trang 2

TÓM TẮT

Tóm tắt: Trong bối cảnh ngày nay, nhu cầu sử dụng dịch vụ đặt vé máy bay trực

tuyến ngày càng tăng cao, đặt ra thách thức lớn đối với các doanh nghiệp hoạt độngtrong lĩnh vực quản lý và cung cấp dịch vụ hàng không Để giải quyết vấn đề này, đồán tốt nghiệp này tập trung vào phân tích, thiết kế, và xây dựng một website quản lýđặt vé máy bay hiệu quả Website được thiết kế với giao diện thân thiện, dễ sử dụng,nhằm cung cấp trải nghiệm người dùng tốt nhất Các chức năng chính bao gồm việctìm kiếm chuyến bay, xem thông tin chi tiết về các chuyến bay, và quy trình đặt vé đơngiản Hệ thống đã được phát triển với tính linh hoạt cao, cho phép mở rộng và tích hợpcác tính năng mới trong tương lai Đồng thời, website còn cung cấp một số tính năngkhác như dịch vụ đặt xe taxi và đặt khách sạn, nhằm mang lại cho người sử dụng mộttrải nghiệm tiện lợi và đa dạng cho người dùng.

Từ khóa: Website đặt vé máy bay, reactjs đặt khách sạn, nodejs đặt taxi

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢIKHOA CÔNG NGHỆ THÔNG TIN

Trang 3

LỜI CẢM ƠN

Em xin chân thành cảm ơn Khoa Công nghệ thông tin, Trường Đại học Côngnghệ Giao thông vận tải đã luôn quan tâm, hỗ trợ để em có thể học tập và rèn luyệntrong một môi trường lành mạnh cùng với điều kiện học tập tốt nhất Cảm ơn các thầycô đã luôn hết lòng giảng dạy em trong suốt những năm qua giúp em có được nhữngkiến liên quan để hoàn thành đề tài lần này.

Đặc biệt, em xin chân thành cảm ơn thầy Họ và tên Thầy đã tận tình hướng

dẫn, chỉ bảo em trong suốt quá trình thực hiện Mặc dù em đã hoàn thành đề tài vàtrình bày trong bản báo cáo này, nhưng chắc chắn không tránh khỏi những thiếu sót,kính mong nhận được sự thông cảm và góp ý của quý thầy cô Em xin chân thành cảmơn!

Trang 4

LỜI MỞ ĐẦU

Sự gia tăng của sự tiện lợi và tốc độ trong cuộc sống hàng ngày đã thúc đẩy nhucầu của khách hàng đối với việc có thể đặt vé máy bay nhanh chóng và dễ dàng từ bấtkỳ đâu Những con số thống kê gần đây cho thấy nhu cầu này đang tăng lên đáng kể.Trong thực tế, năm 2022, tại các sân bay quốc tế ở Việt Nam, lượng vé máy bay đượcbán hàng ngày đã có sự tăng trưởng đáng kể Ví dụ, sân bay quốc tế Tân Sơn Nhất ởTP.HCM bán trung bình hơn 40.000 vé máy bay mỗi ngày trong năm 2022 Sân bayquốc tế Nội Bài ở Hà Nội cũng bán hơn 30.000 vé mỗi ngày trong cùng khoảng thờigian Các số liệu này cho thấy nhu cầu đặt vé máy bay trực tuyến đang tăng lên đángkể và không thể bỏ qua.

So sánh với việc mua vé máy bay truyền thống tại quầy giao dịch trực tiếp, quátrình này thường mất thời gian đáng kể và gây phiền hà cho khách hàng Đặt vé trựctuyến, ngược lại, mang lại tiện ích và linh hoạt cho người tiêu dùng Điều này làm choviệc xây dựng một website quản lý đặt vé máy bay trực tuyến trở thành một ưu tiênquan trọng cho các doanh nghiệp trong ngành hàng không.

Bên cạnh sự tăng trưởng của ngành hàng không, việc phát triển một websitequản lý đặt vé máy bay mang lại nhiều lợi ích kinh doanh cho doanh nghiệp Nó khôngchỉ tạo cơ hội thu phí từ việc đặt vé và hợp tác với các hãng hàng không, mà còn giúptối ưu hóa quá trình quản lý lịch trình và thông tin khách hàng một cách hiệu quả Điềunày không chỉ tạo lợi ích kinh doanh mà còn thể hiện cam kết đáp ứng nhu cầu củakhách hàng một cách toàn diện.

Chính vì lý do này, em đã quyết định đưa ra đề tài "Phân tích thiết kế và xâydựng Website Quản lý đặt vé máy bay" Đề tài này không chỉ phản ánh sự cấp thiết

của việc cung cấp giải pháp trực tuyến tiện lợi cho khách hàng mà còn mang lại cơ hộikinh doanh và sự phát triển trong lĩnh vực công nghệ thông tin và ngành hàng không.Em sẽ nghiên cứu các yếu tố quan trọng để xây dựng một hệ thống trực tuyến tiện lợi,hiệu quả và đáp ứng nhu cầu của khách hàng trong thời đại số hóa Đồng thời, emcũng sẽ xem xét các cơ hội kinh doanh mà dự án này mang lại và cách nó có thể đónggóp vào sự phát triển trong lĩnh vực công nghệ thông tin vào ngành hàng không.

Trang 5

LỜI CAM ĐOAN

Dưới sự hướng dẫn của Ths , tôi cam đoan rằng đây là công trình nghiêncứu của riêng mình Tất cả nội dung nghiên cứu và kết quả trong đề tài này là trungthực và chưa được công bố dưới bất kỳ hình thức nào trước đây Trong quá trình viếtluận văn, tôi đã tham khảo một số tài liệu và kết quả nghiên cứu từ các tác giả khác, vàtất cả đều được trích dẫn và chú thích nguồn gốc một cách rõ ràng, được ghi đầy đủtrong mục tài liệu tham khảo.

Tôi hoàn toàn chịu trách nhiệm với mọi sự gian lận hoặc thiếu minh bạch nếucó trong nội dung của đề tài mà tôi thực hiện.

Hà nội, ngày … tháng … năm 2023

Sinh viên thực hiện

Trang 6

DANH MỤC ẢNH

Hình 2.1 Nhiệm vụ của Express JS trong quá trình phát triển Node JS 15

Hình 2.2 Mô hình hoạt động của Middleware 16

Hình 2.3 Mô hình hoạt động của MVC 18

Hình 2.4 Hình công cụ StarUML 22

Hình 2.5 Hình công cụ Visual Studio Code 22

Hình 2.6 Hình công cụ MongoDB compass 22

Hình 3.5 Biểu đồ use case quản lý tài khoản 32

Hình 3.6 Use case quản lý chuyến bay 35

Hình 3.7 Use case quản lý máy bay 38

Hình 3.8 Use case quản lý địa điểm bay 40

Hình 3.9 Use case quản lý khách sạn 43

Hình 3.10 Use case quản lý thông tin taxi 45

Hình 3.11 Use Case thống kê 48

Hình 3.12 Biểu đồ tuần tự đăng nhập 49

Hình 3.13 Biểu đồ tuần tự đăng ký 50

Hình 3.14 Biểu đồ tuần tự xem chi tiết tin tức 50

Hình 3.16 Biểu đồ tuần tự đặt vé máy bay 51

Hình 3.17 Biểu đồ tuần tự xóa tài khoản người dùng 52

Hình 3.18 Biểu đồ tuần tự tìm kiếm chuyến bay đã đặt 52

Hình 3.19 Biểu đồ hoạt động đăng nhập 53

Hình 3.20 Biểu đồ hoạt động đăng ký 54

Trang 7

Hình 3.21 Biểu đồ hoạt động thêm tài khoản 55

Hình 3.22 Biểu đồ hoạt động sửa tài khoản 55

Hình 3.23 Biểu đồ hoạt động xóa tài khoản 56

Hình 3.24 Biểu đồ hoạt động tìm kiếm chuyến bay 56

Hình 3.25 Biểu đồ hoạt động đặt vé máy bay 57

Hình 3.26 Biểu đồ lớp chi tiết 58

Hình 3.27 Khung giao diện trang chủ 60

Hình 3.28 Khung giao diện chuyến bay của tôi 63YHình 4.1 Giao diện trang chủ quản trị 64

Hình 4.2 Giao diện đăng nhập trang quản trị 64

Hình 4.4 Giao diện thêm mới chuyến bay 65

Hình 4.5 Giao diện quản lý banner 65

Hình 4.6 Giao diện trang chủ đặt vé 66

Hình 4.7 Giao diện đăng nhập khách hàng 66

Hình 4.8 Giao diện tìm kiếm chuyến bay đã đặt 67

Hình 4.9 Giao diện kết quả tìm kiếm chuyến bay 67

Trang 8

DANH MỤC BẢNG

Bảng 3.1 Câu hỏi và câu trả lời phỏng vấn với giám đốc 25

Bảng 3.2 Câu hỏi và câu trả lời phỏng vấn với trưởng phòng 26

Bảng 3.3 Bảng tác nhân 28

Bảng 3.4 Đặc tả use case đăng nhập 31

Bảng 3.5 Đặc tả usecase tìm kiếm 32

Bảng 3.6 Đặc tả use case thêm thông tin 33

Bảng 3.7 Đặc tả use case sửa đổi thông tin 34

Bảng 3.8 Đặc tả use case xóa thông tin 34

Bảng 3.9 Đặc tả use case thêm mới thông tin chuyến bay 35

Bảng 3.10 Đặc tả use case cập nhật chuyến bay 36

Bảng 3.11 Đặc tả use case xóa chuyến bay 37

Bảng 3.12 Danh sách vé đã đặt 37

Bảng 3.13 Đặc tả use case thêm mới thông tin máy bay 38

Bảng 3.14 Đặc tả use case cập nhật máy bay 39

Bảng 3.15 Đặc tả use case xóa máy bay 40

Bảng 3.16 Đặc tả use case thêm mới thông tin địa điểm bay 41

Bảng 3.17 Đặc tả use case cập nhật địa điểm bay 42

Bảng 3.18 Đặc tả use case xóa địa điểm bay 42

Bảng 3.19 Đặc tả use case thêm mới thông tin khách sạn 43

Bảng 3.20 Đặc tả use case cập nhật khách sạn 44

Bảng 3.21 Đặc tả use case xóa khách sạn 45

Bảng 3.22 Đặc tả use case thêm mới thông tin taxi 46

Bảng 3.23 Đặc tả use case cập nhật taxi 47

Bảng 3.24 Đặc tả use case xóa taxi 47

Bảng 3.25 Đặc tả use case thống kê doanh thu 48

Bảng 3.29 Bảng máy bay 59

Trang 9

Bảng 3.30 Bảng sân bay 59

Bảng 3.31 Bảng chuyến bay 59

Bảng 3.32 Bảng khách sạn 60

Bảng 3.33 Đặc tả giao diện trang chủ 61

Bảng 3.34 Khung giao diện kết quả tìm kiếm 61

Bảng 3.35 Đặc tả khung giao diện kết quả tìm kiếm 62

MỤC LỤ

Trang 10

LỜI CẢM ƠN 2

LỜI MỞ ĐẦU 3

LỜI CAM ĐOAN 4

Chương 1 GIỚI THIỆU TỔNG QUAN 11

Trang 11

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

3.4.2 Thiết kế giao diện 60

Chương 4 GIAO DIỆN CHƯƠNG TRÌNH 64

4.1 Trang quản trị 64

4.1.1 Giao diện trang chủ quản trị 64

4.1.2 Giao diện thêm chuyến bay 65

4.1.3 Giao diện quản lý banner 65

4.2 Trang đặt vé 66

4.2.1 Giao diện trang chủ đặt vé 66

4.2.2 Giao diện đăng nhập khách hàng 66

4.2.3 Giao diện tìm kiếm chuyến bay đã đặt 67

4.2.4 Giao diện kết quả tìm kiếm chuyến bay 67

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 68

TÀI LIỆU THAM KHẢO 69

Ý KIẾN ĐÁNH GIÁ CỦA GIẢNG VIÊN HƯỚNG DẪN 70

Trang 12

CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN1.1 Mục tiêu đề tài

- Nắm được quy trình nghiệp vụ phát triển một ứng dụng web cho phép quản lýviệc đặt vé máy bay và các dịch vụ liên quan Tối ưu hóa trải nghiệm người dùngtrên mọi thiết bị, từ máy tính đến điện thoại di động.

- Triển khai và cài đặt ứng dụng trong thực tế.

1.2 Giới hạn và phạm vi của đề tài

Trong phạm vi đề tài này em sẽ nghiên cứu các vấn đề:

- Nghiên cứu về công tác quản lý quy trình đặt vé, đi sâu vào nghiên cứu và phântích một hệ thống thông tin để xây dựng ứng dụng.

- Ứng dụng được xây dựng bằng ngôn ngữ lập trình NodeJs sử dụng frameworkExpress để xử lý dữ liệu người dùng và ngôn ngữ lập trình ReactJs để xây dựnggiao diện người dùng, cơ sở dữ liệu lưu trữ bằng MongoDB.

+ Quản lý phòng khách sạn- Website người dùng

+ Tìm kiếm chuyến bay+ Đặt xe đưa đón tại sân bay

+ Tìm kiếm khách sạn, tìm kiếm taxi+ Đọc tin tức

+ Thêm yêu thích bài viết, bình luận bài viết

Trang 13

+ Đặt phòng khách sạn hoặc homestay+ Thanh toán trực tuyến

- Hoàn thành báo cáo đồ án tốt nghiệp.

Trang 14

CHƯƠNG 2 KIẾN THỨC NỀN TẢNG2.1 Cơ sở lý thuyết

2.1.1 NodeJsa Khái niệm

NodeJs là là một môi trường runtime chạy JavaScript đa nền tảng và có mã

nguồn mở, được sử dụng để chạy các ứng dụng web bên ngoài trình duyệt của client.Nền tảng này được phát triển bởi Ryan Dahl vào năm 2009, được xem là một giảipháp hoàn hảo cho các ứng dụng sử dụng nhiều dữ liệu nhờ vào mô hình hướng sựkiện (event-driven) không đồng bộ.

b Đặc trưng

- Không đồng bộ: Tất cả các API của NodeJS đều không đồng bộ blocking), nó chủ yếu dựa trên nền của NodeJS Server và chờ đợi Server trả dữliệu về Việc di chuyển máy chủ đến các API tiếp theo sau khi gọi và cơ chếthông báo các sự kiện của Node.js giúp máy chủ để có được một phản ứng từ cáccuộc gọi API trước (Realtime).

(none Chạy rất nhanh: NodeJs được xây dựng dựa vào nền tảng V8 Javascript Engine

nên việc thực thi chương trình rất nhanh.

- Đơn luồng nhưng khả năng mở rộng cao: Node.js sử dụng một mô hình luồngduy nhất với sự kiện lặp cơ chế tổ chức sự kiện giúp các máy chủ để đáp ứngmột cách không ngăn chặn và làm cho máy chủ cao khả năng mở rộng như tráingược với các máy chủ truyền thống mà tạo đề hạn chế để xử lý yêu cầu Node.jssử dụng một chương trình đơn luồng và các chương trình tương tự có thể cungcấp dịch vụ cho một số lượng lớn hơn nhiều so với yêu cầu máy chủ truyền thốngnhư Apache HTTP Server.

- Không đệm: NodeJS không đệm bất kì một dữ liệu nào và các ứng dụng này chủ

yếu là đầu ra dữ liệu.

- Có giấy phép: NodeJS đã được cấp giấy phép bởi MIT License.c Những ứng dụng nên viết bằng Node.JS

NodeJS được sử dụng để xây dựng rất nhiều loại ứng dụng khác nhau, trong đó

phổ biến nhất gồm có:

- Ứng dụng trò chuyện trong thời gian thực: Nhờ vào cấu trúc không đồng bộđơn luồng, Node.JS rất thích hợp cho mục đích xử lý giao tiếp trong thời gianthực Nền tảng này có thể dễ dàng mở rộng quy mô và thường dùng để tạo ra

Trang 15

các chatbot Bên cạnh đó, các tính năng liên quan đến ứng dụng trò chuyệnnhư: chat nhiều người, thông báo đẩy,… cũng có thể dễ dàng được bổ sungnhờ NodeJS.

- Internet of Things (IoT): Các ứng dụng IoT thường bao gồm nhiều bộ cảmbiến phức tạp để gửi những phần dữ liệu nhỏ Node.JS là một lựa chọn lýtưởng để xử lý các yêu cầu đồng thời này với tốc độ cực nhanh.

- Truyền dữ liệu: Netflix là một trong số những công ty lớn trên thế giới chuyênsử dụng Node.JS cho mục đích truyền dữ liệu Sở dĩ vì đây là một nền tảngnhẹ và cực nhanh, đồng thời còn cung cấp một API chuyên dùng để stream.- Các SPA (Single-page application) phức tạp: Trong SPA, toàn bộ ứng dụng

được load vào trong một trang duy nhất, do đó sẽ có một số request được thựchiện trong nền Vòng lặp sự kiện (event loop) của Node.JS cho phép xử lý cácrequest theo hướng non-blocking.

- Các ứng dụng REST dựa trên API: JavaScript được sử dụng trong cả frontendlẫn backend của trang Do đó một server có thể dễ dàng giao tiếp với frontendqua REST API bằng Node.js Bên cạnh đó, Node.JS còn cung cấp nhiềupackage như Express.js hay Koa để việc xây dựng ứng dụng web trở nên dễdàng hơn bao giờ hết.

d Đặc điểm NodeJS

- Tốc độ cực nhanh: Được xây dựng dựa trên engine JavaScript V8 của Google

Chrome, do đó các thư viện của nó có khả năng thực thi code chỉ rất nhanh.

- Lập trình không đồng bộ: Mọi API của Node.JS đều có tính không đồng bộ

(non-blocking), do đó một server dựa trên Node.JS không cần phải đợi API trả vềdữ liệu.

- Không có buffering: Node.JS giúp tiết kiệm thời gian xử lý file khi cần upload

âm thanh hoặc video vì các ứng dụng này không bao giờ buffer dữ liệu mà chỉxuất dữ liệu theo từng phần (chunk).

- Đơn luồng: Node.JS sử dụng mô hình đơn luồng với vòng lặp sự kiện Do đó các

ứng dụng có thể xử lý số lượng request lớn hơn rất nhiều so với các server truyềnthống như Apache HTTP Server.

Trang 16

2.1.2.Express.jsa Khái niệm

Express.js là một framework được xây dựng trên nền tảng của Nodejs Nó cung

cấp các tính năng mạnh mẽ để phát triển web hoặc mobile Expressjs hỗ trợ cácmethod HTTP và midleware tạo ra API vô cùng mạnh mẽ và dễ sử dụng.

Trang 17

điều này trở nên lặp đi lặp lại và là một quá trình phức tạp Express JS đơn giản hóaquy trình bằng cách cung cấp các phương thức hỗ trợ và tạo đường dẫn hiệu quả chophần mềm trung gian (middleware) Nó cung cấp tất cả các công cụ bạn sẽ cần đểtạo đường dẫn, phân tích cú pháp, tạo trang HTML, làm việc với các middleware vàkết nối với cơ sở dữ liệu.

Hình 2.5 Mô hình hoạt động của Middleware

Trang 18

Middleware trong Express Framework có thể được coi như những chức năng đơngiản, có khả năng thực hiện một nhiệm vụ cụ thể Chẳng hạn, khi tạo một Middlewaređược đặt tên là "validateEmail" để kiểm tra tính hợp lệ của địa chỉ email, ta có thể ápdụng Middleware này cho một đường dẫn cụ thể Khi một yêu cầu đi qua đường dẫnđó, Middleware sẽ kích hoạt và thực hiện chức năng xác thực địa chỉ email.

Điều quan trọng là Middleware cung cấp khả năng tái sử dụng mã mô đun trêntoàn bộ ứng dụng Bằng cách này, có thể tận dụng tính linh hoạt của Middleware đểxây dựng và triển khai các chức năng xác thực, kiểm tra, hoặc xử lý dữ liệu một cáchhiệu quả trên nhiều đường dẫn trong ứng dụng Express.

2.1.3.MongoDBa Khái niệm

MongoDB là phần mềm cơ sở dữ liệu mã nguồn mở NoSQL hỗ trợ đa nền tảngđược thiết kế theo hướng đối tượng Các bảng (trong MongoDB gọi là collection) cócấu trúc linh hoạt cho phép dữ liệu không cần tuân theo dạng cấu trúc nào.

- MongoDB là một database hướng tài liệu (document), các dữ liệu được lưu trữtrong document kiểu JSON thay vì dạng bảng như CSDL quan hệ nên truy vấnsẽ rất nhanh.

- Với CSDL quan hệ chúng ta có khái niệm bảng, các cơ sở dữ liệu quan hệ(như MySQL hay SQL Server ) sử dụng các bảng để lưu dữ liệu thì vớiMongoDB chúng ta sẽ dùng khái niệm là collection thay vì bảng

- So với RDBMS thì trong MongoDB collection ứng với table, còn document sẽứng với row, MongoDB sẽ dùng các document thay cho row trong RDBMS.- Các collection trong MongoDB được cấu trúc rất linh hoạt, cho phép các dữ

liệu lưu trữ không cần tuân theo một cấu trúc nhất định.

- Thông tin liên quan được lưu trữ cùng nhau để truy cập truy vấn nhanh thôngqua ngôn ngữ truy vấn MongoDB

b Ưu điểm và nhược điểm- Ưu điểm

+ Hiệu suất cao

+ Tính sẵn sàng cao – Nhân rộng+ Khả năng mở rộng cao – Sharding

Trang 19

+ Năng động – Không có lược đồ cứng nhắc.

+ Linh hoạt – thêm / xóa trường có ít hoặc không ảnh hưởng đến ứng dụng+ Dữ liệu không đồng nhất

+ Không joins+ Phân phối được

+ Biểu diễn dữ liệu trong JSON hoặc BSON+ Hỗ trợ không gian địa lý (Geospatial)+ Tích hợp dễ dàng với BigData Hadoop

+ Ngôn ngữ truy vấn dựa trên tài liệu mạnh mẽ như SQL

+ Các bản phân phối cloud như AWS, Microsoft, RedHat, dotCloud vàSoftLayer… Trên thực tế, MongoDB được xây dựng cho cloud Kiến trúc mởrộng quy mô tự nhiên của nó, được kích hoạt bởi sharding, liên kết tốt với quymô và sự nhanh nhẹn có được nhờ điện toán đám mây.

- Nhược điểm

+ Một ưu điểm của MongoDB cũng chính là nhược điểm của nó MongoDBkhông có các tính chất ràng buộc như trong RDBMS nên khi thao tác vớimongoDB thì phải hết sức cẩn thận.

+ Tốn bộ nhớ do dữ liệu lưu dưới dạng key-value, các collection chỉ khác vềvalue do đó key sẽ bị lặp lại Không hỗ trợ join nên dễ bị dữ thừa dữ liệu.+ Khi insert/update/remove bản ghi, MongoDB sẽ chưa cập nhật ngay xuống ổcứng, mà sau 60 giây MongoDB mới thực hiện ghi toàn bộ dữ liệu thay đổi từRAM xuống ổ cứng điều này sẽ là nhược điểm vì sẽ có nguy cơ bị mất dữ liệukhi xảy ra các tình huống như mất điện

2.1.4 UML

UML (Unified Modeling Language) là ngôn ngữ dành cho việc đặc tả, hìnhdung, xây dựng và làm tài liệu của các hệ thống phần mềm UML được sử dụng đểthiết kế hệ thống, bao gồm những khái niệm như tiến trình nghiệp vụ và các chức năngcủa hệ thống Cụ thể, nó hữu dụng cho những ngôn ngữ khai báo, giản đồ cơ sở dữliệu, thành phần phần mềm có khả năng tái sử dụng UML được phát triển bởi GradyBooch, Ivar Jabcobsen và James Rumbaugn vào năm 1990, nó nhanh chóng trở thành

Trang 20

một trong những ngôn ngữ chuẩn để xây dựng hệ thống phần mềm hướng đối tượng(Object-Oriented)

2.1.5 Mô hình MVC

MVC là mô hình thường được dùng hiện nay để phát triển các webite Vì MVCgiúp tổ chức tách bạch giữa các thành phần quan trọng trong dự án: điều khiển(controller), xử lý dữ liệu (model) và hiển thị dữ liệu (view).

- Controller trong mvc

Controller được tạo ra để thực thi các yêu cầu từ user, controller thực hiện tiếpnhận tham số, gọi các hàm trong model, nạp các view cần thiết… Trong NodeJS ,routes đóng vai trò như controller.

- Model trong mvc: Model dùng để cung cấp dữ liệu, thực hiện kết nối, trích lọc,

chèn, chỉnh sửa dữ liệu trong database, tương tác với file system, network.

- View trong mvc: Mỗi view là một trang web hiển thị dữ liệu gì đó Dữ liệu mà

view hiển thị do controller cung cấp (controller lấy từ model để đưa cho view).

Việc tách riêng vai trò của Controler, Model và View giúp cho team phân định rõràng các công việc xử lý nghiệp vụ, xử lý dữ liệu và trình bày dữ liệu Do vậy việc cậpnhật chỉnh sửa một thành phần không làm ảnh hưởng đến các thành phần khác.

2.1.6 RESTful API

RESTful API là một kiểu thiết kế API (Application Programming Interface) dựatrên những nguyên tắc của kiến trúc REST REST là viết tắt của Representational StateTransfer, nó bao gồm một tập các quy ước và nguyên tắc để xây dựng các hệ thốngphân tán, đặc biệt là các ứng dụng web.

RESTful API được xây dựng trên nguyên tắc của HTTP (Hypertext TransferProtocol), cụ thể là sử dụng phương thức HTTP đúng cho từng tình huống (GET,POST, PUT, DELETE) để thực hiện các thao tác trên tài nguyên (resource) của hệ

Hình 2.6 Mô hình hoạt động của MVC

Trang 21

thống Tài nguyên được đại diện bởi các URI (Uniform Resource Identifier), trong đócác thao tác thao tác trên tài nguyên được thực hiện thông qua các yêu cầu HTTP.

RESTful API có nhiều lợi ích, bao gồm tính linh hoạt, tiêu chuẩn hóa và khảnăng mở rộng Kiểu thiết kế này giúp cho các ứng dụng có thể tương tác với nhau mộtcách dễ dàng, đồng thời cho phép các nhà phát triển xây dựng các ứng dụng phân tánvà mở rộng một cách dễ dàng.Trong thực tế, RESTful API được sử dụng rộng rãitrong các ứng dụng web, mạng xã hội, các hệ thống quản lý dữ liệu và nhiều lĩnh vựckhác Việc hiểu biết và sử dụng chính xác RESTful API là rất quan trọng đối với cácnhà phát triển và kỹ sư phần mềm để xây dựng các ứng dụng có tính linh hoạt và khảnăng mở rộng cao.

2.1.7.ReactJSa Khái niệm

- React (còn được gọi là Reactjs hay React.js) là một Thư viện javascript được tạora bởi sự cộng tác giữa Facebook và Instagram Nó cho phép những nhà phát triểnweb tạo ra giao diện người dung nhanh chóng Phần Views của Reactjs thườngđược hiển thị bằng việc chủ yếu dung các component mà chứa các component cụthể hoặc các thẻ HTML Một trong những đặc trưng duy nhất của Reactjs là việcrender dữ liệu không những có thể thực hiện ở tầng server mà còn ở tầng client.- Nó cũng sử dụng khái niệm là Virtual DOM (DOM ảo) Virtual DOM tạo ra bản

cache cấu trúc dữ liệu của ứng dụng trên bộ nhớ Sau đó, ở mỗi vòng lặp, nó liệtkê những thay đổi và sau đó là cập nhật lại sự thay đổi trên DOM của trình duyệtmột cách hiệu quả Điều này cho phép ta viết các đoạn code như thể toàn bộ trangđược render lại dù thực tế là Reactjs chỉ render những component haysubcomponent nào thực sự thay đổi.

b Ưu điểm và nhược điểm

Trang 22

+ Reactjs chỉ phục vụ cho tầng View React chỉ là View Library nó không phảilà một MVC framework như những framework khác Đây chỉ là thư viện củaFacebook giúp render ra phần view Vì thế React sẽ không có phần Model vàController, mà phải kết hợp với các thư viện khác React cũng sẽ không có 2-way binding hay là Ajax

+ Tích hợp Reactjs vào các framework MVC truyền thống yêu cầu cần phảicấu hình lại.

+ React khá nặng nếu so với các framework khác React có kích thước tươngtương với Angular (Khoảng 35kb so với 39kb của Angular) Trong khi đóAngular là một framework hoàn chỉnh

+ Khó tiếp cận cho người mới học Web

2.1.8 Reduxa Khái niệm

- Redux là một công cụ quản lý state (predictable state management) tool cho các

ứng dụng Javascript.

- Redux giúp các ứng dụng hoạt động một cách nhất quán, chạy trong các môi

trường khác nhau và hỗ trợ test.

b Đặc điểm

- Redux giúp dự đoán được trạng thái State: Redux là phần mềm hỗ trợ quản lý và

dự đoán trạng thái state Khi cả state và action được chuyển cho reducer, trạng tháistate luôn ở trạng thái như cũ và không có dấu hiệu thay đổi Điều này cho phép ngườidùng thực hiện các tác vụ phức tạp như làm lại và hoàn tác redo, cùng với đó là khảnăng chuyển đổi linh hoạt giữa các state để đo lường, đánh giá được khả năng hiệu quảtrong thời gian thực

- Khả năng bảo trì : Hệ thống code cùng với Redux rất nghiêm ngặt giúp khả năng

bảo trì được dễ dàng hơn Điều này cho phép người dùng tách riêng biệt logic nghiệpvụ khỏi các sơ đồ thành phần Làm việc với các ứng dụng lớn đòi hỏi phải đảm bảorằng chúng có thể dự đoán được và có thể bảo trì.

- Gỡ lỗi nhanh chóng và dễ dàng: Redux giúp người dùng dễ dàng gỡ lỗi cho ứng

dụng bằng cách lưu lại những state và action để nhận diện, xác định các trường hợp lỗimạng, lỗi mã hóa và các lỗi khác trong quá trình thực hiện chương trình Việc gỡ, sữalỗi thường tốn kha khá thời gian và phức tạp, thêm vào đó bên cạnh việc ghi nhật ký

Trang 23

Redux Devtool cũng cung cấp các công cụ DevTools giúp cho người dùng dễ dàng sửachữa, gỡ lối và trải nghiệm các hành động liên tục khi làm mới trang.

2.1.9 Tailwind

Tailwind css là một utility-first CSS framework nó hỗ trợ phát triển xây dựngnhanh chóng giao diện người dùng, nó cũng có điểm chung giống như Bootstrap &điểm làm nó nổi bật hơn cả đó là chúng ta có thể tùy biến phát triển css theo cách màchúng ta định nghĩa ra.

2.2 Công cụ sử dụng2.2.1 StarUML

StarUML là một mô hình nền tảng, là phần mềm hỗ trợ UML(Unified ModelingLanguage) Tích cức hỗ trợ các phương pháp tiếp cận MDA (Model DrivenArchitecture) bằng các hỗ trợ các khái niệm hồ sơ UML StarUML vượt trội trong việctùy biến môi trường StarUML, một trong các công cụ mô hình hóa phần mềm hàngđầu, đảm bảo tối đa hóa năng suất và chất lương của các dự án phần mềm

Hình 2.7 Hình công cụ StarUML

2.2.2 Visual studio code

Visual Studio Code: Visual Studio Code (VS Code) là một môi trường lập trìnhmã nguồn mở và miễn phí, hỗ trợ nhiều ngôn ngữ lập trình và framework, bao gồmJavaScript và React Native VS Code có thư viện plugin đa dạng giúp tối ưu hóa việcviết mã, gỡ lỗi, và quản lý dự án.

Trang 24

Hình 2.8 Hình công cụ Visual Studio Code

2.2.3 MongoDB compass

MongoDB Compass là tiện ích cơ sở dữ liệu hoạt động trên cả Windows PC vàMac, được thiết kế để chạy các truy vấn, tìm kiếm và quản lý chi tiết structure cơ sởdữ liệu MongoDB Chương trình hỗ trợ người dùng tương tác tốt hơn với dữ liệuMongoDB và tối ưu hiệu suất truy vấn với bộ công cụ hiển thị chuyên dụng.

Hình 2.9 Hình công cụ MongoDB compass

2.2.4 Postman

Postman là một loại công cụ cho phép người dùng có thể thao tác với API, màtrong đó phổ biến nhất là REST Với thử nghiệm API thì Postman là một trong nhữngcông cụ phổ biến vì được thực nghiệm nhiều nhất Nhờ Postman lập trình viên có thểgọi Rest API mà không cần phải viết bất kỳ dòng code nào Postman có khả năng hỗtrợ mọi phương thức HTTP bao gồm: POST, PUT, DELETE, PATCH, GET, Ngoàira, Postman còn cho phép lập trình viên lưu lại lịch sử của các lần request nên vô cùngtiện lợi cho nhu cầu sử dụng lại.

Trang 25

Hình 2.10 Hình công cụ Postman

Trang 26

CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3.1 Khảo sát hệ thống

3.1.1 Giới thiệu sơ bộ về đơn vị khảo sát

- Đơn vị khảo sát: Công ty cổ phần du lịch và xây dựng Nam Thanh- Địa chỉ: 51 Đào Duy Từ - Hoàn Kiếm - Hà Nội

- Website: www.etrip4u.com- Điện thoại: 1900 63 69 69

- Văn phòng chi nhánh Hà Nội: 442 Lạc Long Quân - Tây Hồ - Hà Nội

- Lĩnh vực kinh doanh chính:

+ Kinh doanh Lữ hành quốc tế và nội địa

+ Đại lý bán vé máy bay cho hãng hàng không Vietjet Air+ Dịch vụ đặt phòng khách sạn trên toàn thế giới

+ Dịch vụ Visa, hộ chiếu+ Dịch vụ cho thuê xe ô tô+ Dịch vụ vé tàu, xe ô tô

27

Trang 27

- Hình ảnh về công ty:

Hình 3.1 Hình ảnh công ty Nam Thanh

3.1.2 Thực hiện khảo sát 3.1.2.1 Khảo sát công ty a Giám đốc

- Đối tượng phỏng vấn: Lê Đình Dũng – Giám đốc công ty

- Ngày phỏng vấn: 06/01/2022- Hình thức khảo sát: trực tiếp

Nội dung phỏng vấn:

Bảng 3.1 Câu hỏi và câu trả lời phỏng vấn với giám đốc

1 Anh muốn xây dựng hệ thốngquản lý công ty để thực hiệnnhững công việc gì ?

Tôi đang gặp khó khăn trong quản lý thôngtin khách hàng, lịch trình chuyến bay mộtcách hiệu quả

28

Trang 28

STTCâu hỏiCâu trả lời

2 Hiện tại bên anh bán vé chonhững hãng hàng không nào?Thông tin cần quản lý củahãng hàng không là gì?

Công ty bán vé cho hãng hàng không VietJetAir Công ty cần quản lý địa điểm bay, quảnlý chuyến bay, quản lý thông tin máy bay3 Ngoài các chức năng của hệ

thống đặt vé hiện tại Anhmuốn thêm chức năng nàokhác không?

Tính năng lọc và so sánh giá vé để ngườimua có thể nhanh chóng tìm được loại véđúng như yêu cầu

4 Hệ thống đặt vé hiện tại củacông ty anh có đang gặp vấnđề nào không?

Website gặp các vấn đề như tốc độ tải trangkhi sang một trang mới làm trải nghiệmngười dùng không tốt

5 Chức năng ưu tiên hàng đầuanh muốn đặt cho hệ thốnglúc này là gì?

Đặt vé nhanh chóng, ít thủ tục

6 Anh có muốn hệ thống cungcấp nhiều kênh thông báo đadạng và tự động hóa đến vớikhách hàng?

Tôi muốn cung cấp thông báo thông quaemail, nếu người dùng để lại số điện thoại thìsẽ gửi quá số điện thoại, mạng xã hội, Tôimuốn có các bài viết để quảng bá cũng nhưgiới thiệu chương trình khuyến mãi và thôngtin khác

7 Ngoài dịch vụ đặt vé, công tycòn cung cấp dịch vụ nào nữakhông? Dịch vụ cung cấp chođối tượng nào?

Công ty cung cấp dịch vụ đặt khách sạn vàđặt taxi bên thị trường nước ngoài nhằm giaotăng lợi nhuận, và dành cho đối tượng sắp ranước ngoài mà chưa biết địa điểm thuê uy tín

b Nhân viên

- Đối tượng khảo sát: Nguyễn Thúy Nga – Trưởng phòng quản lý bán vé, chăm

sóc khách hàng

- Ngày phỏng vấn: 09/01/2022- Hình thức phỏng vấn: trực tiếp

29

Trang 29

Bảng 3.2 Câu hỏi và câu trả lời phỏng vấn với trưởng phòng

1 Tại website hiện tại thì kháchhàng có thể chọn chỗ trướckhông?

Hiện tại website chưa có tính năng chọn chỗtrước, khách hàng chỉ có thể tìm chuyến bayvà thanh toán

2 Khách hàng mua vé thì cầnnhững thông tin cá nhân nào?

Khách hàng cần đầy đủ thông tin như trongtrong căn cước công dân

3 Chị có thể cho biết hànhkhách có thể đặt chỗ, mua vémáy bay của hãng mình baolâu trước giờ khởi hành?

Hành khách có thể mua vé tối thiểu 6 giờtrước giờ khởi hành đối với hình thức thanhtoán ngay và tối thiếu 12 giờ trước giờ khởihành đối với hình thức thanh toán sau.

4 Vé đã mua rồi có hoàn đượckhông? Nếu được thì kháchhàng phải thao tác như thếnào? Vấn đề phí thì sao?

Vé có thể hoàn được tùy từng điều kiến hạngvé khách hàng mua Trong trường hợp hạngvé được hoàn, khách hàng có thể liên hệ lạivới nhân viên đều yêu cầu hoàn vé Phí hoànphụ thuộc hạng đặt vé trước ngày bay và saungày bay

5 Đối với khách hàng quốc tếđược thanh toán qua thẻ tíndụng nào?

Khách hàng có thể thanh toán qua Visa Card,Master Card

3.2 Các chức năng của hệ thống 3.2.1 Yêu cầu chức năng

Mục đích chính của bài toán này là quản lý đặt vé máy bay, người quản lý sẽ dễdàng quản lý thông tin hãng máy bay, quản lý địa điểm chuyến bay, quản lý chuyếnbay, thống kê được doanh thu ngoài ra còn quản lý phòng khách sạn, quản lý đặt taxi.Đối với khách hàng thì dễ dàng chọn các chuyến bay, nếu khách hàng chọn được vécần mua thì thanh toán bằng nhiều cách và có thắc mắc gì thì gửi phản hồi về đại lý.Việc quản lý website dựa trên một số nhiệm vụ:

- Đảm bảo tính thống nhất và độc lập về dữ liệu, mỗi dữ liệu chỉ cập nhật mộtlần duy nhất, tránh lặp lại.

30

Trang 30

- Khi người dùng cần tra cứu thông tin thì chương trình phải theo dõi và cậpnhật để phục vụ yêu cầu đó Thực hiện yêu cầu một cách nhanh chóng, thuậntiện và chính xác.

- Tự điều chỉnh thông tin có trong cơ sở dữ liệu mỗi khi có sự cập nhật mớinhưng vẫn đảm bảo tính toàn diện và tổng thể của chương trình.

- Website phải thỏa mãn các điều kiện về tương tác, có thể hoạt động trongnhiều nhiều kích thước màn hình khác nhau, có định hướng để nâng cấp linhhoạt có thể mở rộng tính năng trong tương lai.

- Thông qua hệ thống, đại lý không mất nhiều thời gian cho việc giới thiệu địađiểm, dịch vụ vì khách hàng có thể tìm hiểu trên website vào bất cứ lúc nào.Website sẽ có những dịch vụ chăm sóc khách hàng chu đáo tin cậy, đó là mộttrong những yếu tố quan trọng trong việc thu hút và giữ khách lâu dài.

- Khách hàng có thể tìm kiếm các thông tin về các địa điểm chuyến bay, cáchthức lựa chọn thanh toán

b Đối với nhân viên

- Nhân viên phải đăng nhập để xem các giao diện khác của hệ thống- Nhân viên có thể quản lý các đơn đặt vé trên hệ thống

- Nhân viên quản lý thông tin vé một cách dễ dàng- Nhân viên có thể quản lý khách hàng.

c Đối với quản trị viên hệ thống

- Quản trị viên đăng nhập vào hệ thống

- Quản trị viên có thể quản lý các người dùng cấp mới tài khoản cho nhân viên,31

Trang 31

huỷ tài khoản

- Quản trị viên hệ thống tiến hành thống kê doanh số.

3.2.3 Yêu cầu phi chức năng

- Thao tác đơn giản, dễ hiểu không cần thiết biết nhiều về hệ thống- Dễ dàng sao lưu

- Tốc độ xử lí thông tin nhanh đảm bảo cung cấp thông tin chính xác và kịp thờihỗ trợ cho ban quản lý.

3.3 Phân tích hệ thống 3.3.1 Vai trò người dùng

Hệ thống gồm ba tác nhân chính : Quản lý, nhân viên, khách hàng

Trang 32

Usecase tổng quát

Hình 3.2 Usecase tổng quát

Hình trên mô tả tổng quan về các chức năng của hệ thống Đối tượng khách hàngmua có tất cả usecase của khách hàng xem, ngoài ra có các usecase như nhập thông tincá nhân, đặt chỗ trước, thanh toán, tìm kiếm chuyến bay đã đặt Tương tự đối với đốitượng quản lý.

3.4.3 Đặc tả chi tiết use case

a Usecase đăng nhập

33

Trang 33

Hình 3.3 Usecase đăng nhập

Điều kiện cần Người dùng đã có tài khoản

Mô tả chung - Quản lý, khách hàng muốn thực hiện công việchay chức năng của mình thì phải đăng nhập vàohệ thống

- Tất cả các trường trong màn hình bao gồmusername, password đều là trường bắt buộc Nếubỏ trống, hệ thống có thông báo ‘không được đểtrống’

Luồng sự kiện chính 1 Tại trang chủ chọn chức năng đăng nhập2 Hiển thị form đăng nhập

3 Nhập thông tin đăng nhập (username, password)4 Gửi thông tin đăng nhập tới hệ thống

5 Kiểm tra thông tin đăng nhập, nếu đúng thì chophép truy cập hệ thống, sai thì thông báo lỗi và yêucầu nhập lại

Luồng sự kiện phụ 3.1 Hệ thống thông báo thông tin nhập chưa đầyđủ

4.1 Hệ thống thông báo thông tin nhập bị sai

34

Trang 34

Tên use caseĐăng nhập

5.1 Hệ thống thông báo đăng nhập thất bại.

Bảng 3.4 Đặc tả use case đăng nhập

Luồng sự kiện chính 1 Chọn địa điểm ô input và ấn enter2 Nếu tìm thấy hiển thị ra màn hình

Luồng sự kiện phụ 1.1 Form chọn thông tin yêu cầu nhập đầy đủcác trường dữ liệu

2.1 Hệ thống thông báo địa điểm đến và vềkhông hợp lệ

35

Trang 35

Nội dungMô tả

2.2 Form nhập thông tin tìm kiếm

Bảng 3.5 Đặc tả usecase tìm kiếm

c Use case quản lý tài khoản người dùng

Hình 3.5 Biểu đồ use case quản lý tài khoản người dùng

Điều kiện cần Người dùng đã đăng nhập vào hệ thống

Mô tả chung Thêm tài khoản người dùng có quyền quản lýmới vào danh mục tài khoản người dùng

Luồng sự kiện chính 1 Chọn Quản lý tài khoản người dùng và chọnThêm mới

2 Hiển thị màn hình thêm mới thông tin tàikhoản người dùng

3 Nhập thông tin yêu cầu và gửi tới hệ thống.4 Kiểm tra định dạng của dữ liệu

36

Trang 36

Nội dungMô tả

5 Kiểm tra thông tin nếu hợp lệ thì hiển thị ramàn hình danh sách thông tin

Luồng sự kiện phụ 3.1 Hệ thống yêu cầu nhập đầy đủ thông tin 4.1 Hệ thống thông báo định dạng không hợp lệ 5.1 Hệ thống thông báo thêm thất bại

Bảng 3.6 Đặc tả use case thêm thông tin

Điều kiện cần Người dùng đã có tài khoản

Mô tả chung Quản lý truy cập vào hệ thống và có thể thao tácchỉnh sửa các thông tin

Luồng sự kiện chính 1 Tại giao diện danh sách tài khoản, người sửdụng chọn chức năng “Chỉnh sửa thông tin tàikhoản”

2 Hệ thống hiển thị form chỉnh sửa thông tin tàikhoản

3 Người sử dụng nhập các thông tin cần thay đổivà chọn lưu thông tin

4 Hệ thống kiểm tra dữ liệu

5 Nếu thông tin đúng thì thông tin được lưu vàocơ sở dữ liệu, và hiển thị thông báo thành côngLuồng sự kiện phụ 3.1 Nếu thông tin nhập sai định dạng thì hệ

thống sẽ thông báo lỗi và yêu cầu nhập lại

3.2 Nếu nhập thiếu thông tin thì hệ thống sẽthông báo lỗi và yêu cầu nhập tiếp thông tin5.1 Nếu thông tin thay đổi đã có thì hệ thốngbáo lỗi và kết thúc

Bảng 3.7 Đặc tả use case sửa đổi thông tin

37

Trang 37

Nội dungMô tả

Điều kiện cần Người dùng đã đăng nhập vào hệ thống và tồn tạitài khoản cần xóa

Mô tả chung Quản lý muốn xóa tài khoản người dùng trướctiên phải đăng nhập vào hệ thống Khi xóa tàikhoản đi hệ thống sẽ tự động cập nhật lại, tàikhoản đó sẽ bị xóa khỏi danh sách

Luồng sự kiện chính 1 Chọn Quản lý tài khoản người dùng2 Hiển thị danh sách các tài khoản3 Chọn tài khoản cần xóa Kích xóa

4 Hệ thống hiển thị thông báo“Bạn có muốn tàikhoản này không”

5 Người dùng chọn ok

6 Hệ thống xóa dữ liệu đó và cập nhật dữ liệuLuồng sự kiện phụ 5.1 Quản lý chọn hủy thì hệ thống trở về form

“Danh sách tài khoản người dùng”

Bảng 3.8 Đặc tả use case xóa thông tin.

d Usecase quản lý thông tin chuyến bay

38

Trang 38

Hình 3.6 Use case quản lý chuyến bay

Mục đích Thêm mới chuyến bay khi có thêm địa điểm baymới

Điều kiện cần Người dùng đã đăng nhập vào hệ thống

Mô tả chung Thêm chuyến bay vào lựa chọn trong ô tìm kiếmchuyến bay của người dùng

Luồng sự kiện chính 1 Chọn Quản lý chuyến bay và chọn Thêm mới2 Hiển thị màn hình thêm mới chuyến bay3 Nhập thông tin yêu cầu và gửi tới hệ thống4 Kiểm tra định dạng của dữ liệu

5 Kiểm tra thông tin nếu hợp lệ thì hiển thị ra mànhình danh sách sản phẩm

Luồng sự kiện phụ 3.1 Hệ thống yêu cầu nhập đầy đủ thông tin 3.2 Hệ thống thông báo định dạng không hợp lệ 5.1 Hệ thống thông báo thêm thất bại

Bảng 3.9 Đặc tả use case thêm mới thông tin chuyến bay

Điều kiện cần Người dùng đã đăng nhập vào hệ thống, tồn tạichuyến bay muốn cập nhật

Mô tả chung Giúp quản lý có thể cập nhật được chuyến bayLuồng sự kiện chính 1 Chọn Quản lý chuyến bay

2 Hiển thị màn hình danh sách chuyến bay3 Chọn chuyến bay cần cập nhật Kích chọn4 Hiển thị màn hình sửa chuyến bay

5 Sửa nội dung theo yêu cầu và gửi yêu cầu tới hệ39

Ngày đăng: 18/06/2024, 20:04