1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng ứng dụng quản lý quán bi a trên nền tảng IOS

56 31 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 56
Dung lượng 1,35 MB

Cấu trúc

  • MỤC LỤC

  • Nhận xét của giáo viên hướng dẫn

    • Về ý thức và thái độ làm việc

    • Về kết quả công việc

    • Giảng viên hướng dẫn Sinh viên thực hiện

  • DANH MỤC CÁC HÌNH VẼ

  • DANH MỤC CÁC BẢNG BIỂU

    • 2. Mục tiêu

    • 3. Kết quả chính đạt được

  • MỞ ĐẦU

    • 1. Tổng quan tình hình

    • 2. Ý nghĩa thực tiễn

  • CHƯƠNG 1

    • 1.1 Tầm quan trọng của quản lý kinh doanh

    • 1.2 Xây dựng ứng dụng quản lý kinh doanh

      • 1.2.1 Mục tiêu chức năng của hệ thống

      • 1.2.2 Mục tiêu phi chức năng

      • 1.2.3 Giải pháp công nghệ

    • 1.3 Môi trường phát triển ứng dụng IOS

      • 1.3.1 Iphone và IOS

      • 1.3.2 Ngôn ngữ lập trình Swift

      • 1.3.3 Công cụ lập trình Xcode

      • 1.3.4 Cơ sở dữ liệu người dùng NSUserDefaults

      • 1.3.5 Cơ sở dữ liệu RealmDB

    • 1.4 Mô hình MVC

      • 1.4.1 Tổng quan về mô hình MVC

      • 1.4.2 Ưu điểm và nhược điểm của mô hình MVC

    • 1.5 Quản lý phiên bản Git

  • CHƯƠNG 2

    • 2.1 Mô hình Use case

      • 2.1.1 Xác định Actor và chức năng

      • 2.1.2 Sơ đồ UseCase tổng quan

      • 2.1.3 Danh sách các ca sử dụng

      • 2.1.4 Đặc tả ca sử dụng

    • 2.2 Sơ đồ tuần tự

    • 2.3 Sơ đồ lớp

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

  • KẾT LUẬN

  • TÀI LIỆU THAM KHẢO

  • PHỤ LỤC

Nội dung

BÁO CÁO THỰC TẬP TỐT NGHIỆP ĐỀ TÀI: Xây dựng ứng dụng quản lý quán bi-a trên nền tảng IOS Đơn vị thực tập : Trường Đại Học Mỏ - Địa Chất GVHD : Th.S. Đào Anh Thư Hà Nội, 4/2021 MỤC LỤC MỤC LỤC 2 Lời Cảm Ơn 4 Nhận xét của giáo viên hướng dẫn 5 DANH MỤC CÁC HÌNH VẼ 6 DANH MỤC CÁC BẢNG BIỂU 6 THÔNG TIN KẾT QUẢ NGHIÊN CỨU7 MỞ ĐẦU 9 CHƯƠNG 1 TỔNG QUAN VỀ ỨNG DỤNG QUẢN LÝ KINH DOANH VÀ NỀN TẢNG PHÁT TRIỂN ỨNG DỤNG 10 1.1 Tầm quan trọng của quản lý kinh doanh 10 1.2 Xây dựng ứng dụng quản lý kinh doanh 10 1.2.1 Mục tiêu chức năng của hệ thống 11 1.2.2 Mục tiêu phi chức năng 11 1.2.3 Giải pháp công nghệ 11 1.3 Môi trường phát triển ứng dụng IOS 12 1.3.1 Iphone và IOS 12 1.3.2 Ngôn ngữ lập trình Swift 14 Ưu điểm của Swift: 16 Nhược điểm của Swift: 17 1.3.3 Công cụ lập trình Xcode 18 1.3.4 Cơ sở dữ liệu người dùng NSUserDefaults 21 1.3.5 Cơ sở dữ liệu RealmDB 23 1.4 Mô hình MVC 24 1.4.1 Tổng quan về mô hình MVC 24 1.4.2 Ưu điểm và nhược điểm của mô hình MVC 25 1.5 Quản lý phiên bản Git 26 CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 32 2.1 Mô hình Use case 32 2.1.1 Xác định Actor và chức năng 33 2.1.2 Sơ đồ UseCase tổng quan 34 2.1.3 Danh sách các ca sử dụng 34 2.1.4 Đặc tả ca sử dụng 36 2.2 Sơ đồ tuần tự 48 2.3 Sơ đồ lớp 52 2.4 Thiết kế cơ sở dữ liệu 52 KẾT LUẬN 55 TÀI LIỆU THAM KHẢO 56 PHỤ LỤC 57 Lời Cảm Ơn Lời đầu tiên em xin chân thành cảm ơn cô Th.S. Đào Anh Thư cùng quý thầy cô bộ môn, trường. Trong quá trình thực hiện đồ án gặp các khó khăn về thời gian cũng như hạn chế về kiến thức và kinh nghiệm thiết kế. Nhưng được hướng dẫn và chỉ dạy nhiệt tình của quý thầy cô đã giúp em khắc phục được những khó khăn đó và có thể hoàn thành tốt đồ án. Bên cạnh đó, em cũng xin gửi lời cảm ơn đến các bạn sinh viên tập thể lớp, đã nhiệt tình giúp đỡ trong quá trình tìm kiếm tài liệu cũng như thực hiện để em có thể hoàn thành đồ án trong thời gian m nhất. Hà Nội, tháng 04 năm 2021 SV thực hiện Nhận xét của giáo viên hướng dẫn Họ và tên sinh viên: Mã sinh viên: Lớp: Mạng máy tính Khoá: 61 Đã hoàn thành quá trình thực tập tốt nghiệp theo quy định tại: Bộ môn: Mạng máy tính Khoa: Công nghệ Thông tin Trường: Đại học Mỏ - Địa chất từ ngày 16 tháng 03 năm 2020 đến ngày 18 tháng 04 năm 2021. Sau quá trình thực tập tại Bộ môn, giảng viên hướng dẫn có nhận xét như sau: - Về ý thức và thái độ làm việc  Sinh viên đã nghiêm túc trau dồi kiến thức chuyên môn, nghiên cứu ứng dụng cho các lĩnh vực đề tài đồ án tốt nghiệp.  Sinh viên đã làm quen với các công việc thực tế, cách thức áp dụng lý thuyết vào thực tế, phục vụ cho đề tài đồ án tốt nghiệp.  Sinh viên đã chấp hành nghiêm chỉnh nội quy, quy định của Bộ môn và tuân thủ lịch trình làm việc dưới sự quản lý của giảng viên hướng dẫn. - Về kết quả công việc  Sinh viên đã hoàn thành đầy đủ các công việc được giao tại Bộ môn.  Sinh viên đã hoàn thành đúng hạn báo cáo thực tập tốt nghiệp gồm các nội dung chính sau: • Phần 1: • Phần 2: • Phần 3:  Sinh viên đạt yêu cầu thực tập tốt nghiệp đề ra của Bộ môn. Hà Nội, ngày 18 tháng 04 năm 2021 Giảng viên hướng dẫn Sinh viên thực hiện Th.S. Đào Anh Thư Trần Mạnh Thắng DANH MỤC CÁC HÌNH VẼ Hình 1-1 Thao tác cập nhật mục lục 6 Hình 1-2 Cách chèn nhãn cho hình 8 Hình 1-3 Cách tạo một nhãn mới 8 Hình 1-4 Cách tham chiếu đến một nhãn 9 DANH MỤC CÁC BẢNG BIỂU Bảng 1-1 Tên bảng 9 THÔNG TIN KẾT QUẢ NGHIÊN CỨU 1. Thông tin chung Tên đề tài: Xây dựng ứng dụng quản lý quán bi-a trên nền tảng IOS Sinh viên thực hiện: Lớp: Hệ đào tạo: Điện thoại: Email: Thời gian thực hiện: 2. Mục tiêu Qua đề tài, sinh viên cần nắm được những kiến thức cơ bản về quá trình phát triển ứng dụng di động cụ thể là ứng dụng di động IOS. Ngoài ra, sinh viên cần nắm được quy trình quản lý kinh doanh trong thực tế. Sinh viên cần hiểu được quy trình phát triển phần mềm, từ đó cụ thể hoá những kiến thức nắm được để có thể xây dựng được ứng dụng mang tính thực tiễn phục vụ cho cầu quản lý kinh doanh trong thực tế. Sinh viên cần xây dựng được ứng dụng di động mang lại sự thuận tiện cho người sử dụng, đáp ứng nhu cầu quản lý kinh doanh trong thực tế. Bên cạnh đó, ứng dụng cần có giao diện trực quan và dễ dàng sử d 3. Kết quả chính đạt được Tài liệu này là tổng hợp kết quả đạt được trong quá trình nghiên cứu, tìm hiểu và triển khai về đề tài trên. Qua đó, xây dựng một ứng dụng mobile để đáp ứng yêu cầu mà mình đã đặt ra trong phần mục tiêu. Báo cáo đồ án tốt nghiệp được trình bày theo các phần như sau: - Lý thuyết: + Tổng quan về ứng dụng quản lý kinh doanh + Nền tảng phát triển ứng dụng - Sản phẩm: + Phân tích và thiết kế hệ thống + Quá trình xây dựng ứng dụng + Kiểm thử hệ thống MỞ ĐẦU 1. Tổng quan tình hình Thực tế, hiện nay trò chơi bida đang trở thành một trò chơi phổ biến và “hot” trong giới trẻ. Tuy nhiên, các quán bida hiện nay chỉ quản lý trên giấy tờ dẫn tới nhiều sai sót. Cụ thể, việc quản lý bằng giấy có thể dễ dàng bị mất mát, chỉnh sửa, thậm chí sẽ có nhân viên không trung thực gây thất thu cho quán. Ngoài ra, mỗi khi tổng hợp lại số liệu trong một khoảng thời gian thì vấn đề bảo quản đúng và đủ số liệu giấy tờ là rất khó, bên cạnh đó việc tổng hợp tính toán lại cũng mất nhiều thời gian và công sức. Ở một số mảng kinh doanh khác, ví dụ như quán cà phê, trà sữa, quán tạp hoá cũng đã từng xảy ra vấn đề tương tự. Đã có những giải pháp công nghệ được đưa ra nhằm giải quyết vấn đề này. Chúng ta có thể thấy quán trà sữa, quán tạp hoá đều thực hiện đặt đồ và thanh toán bằng máy và áp dụng công nghệ nhằm giúp việc quản lý kinh doanh trở nên dễ dàng hơn bao giờ hết. Tuy nhiên, do đặc thù kinh doanh là khác nhau với từng mặt hàng nên mỗi mô hình cần có một ứng dụng mang tính đặc thù riêng. Vì vậy, với mong muốn mang công nghệ mình đã học giải quyết vấn đề quản lý kinh doanh quán bi-a nên em đã thực hiện đề tài này. 2. Ý nghĩa thực tiễn Ý nghĩa thực tiễn của đề tài: - Ứng dụng được xây dựng trên nền tảng IOS, một nền tảng vô cùng phổ biến và được tin dùng - Các chức năng của ứng dụng được thiết kế hợp lý, có tính hiệu quả cao - Giao diện thân thiện với người dùng - Khắc phục, giải quyết một số vấn đề như: chồng chéo các khoản thu chi, tiết kiệm được sổ sách, tiết kiệm thời gian kiểm toán, một phần định hướng sự phát triển của quán theo nhu cầu của khách hàng

TỔNG QUAN VỀ ỨNG DỤNG QUẢN LÝ KINH DOANH VÀ NỀN TẢNG PHÁT TRIỂN ỨNG DỤNG 10

Tầm quan trọng của quản lý kinh doanh 10

Ngày nay, công nghệ thông tin đang ảnh hưởng sâu rộng đến mọi lĩnh vực, từ kinh tế đến chính trị, văn hóa và xã hội Những thành tựu trong công nghệ đã được ứng dụng để phát triển kinh tế, chính trị và quân sự của các quốc gia Trước đây, điện thoại chỉ phục vụ cho việc nghe và gọi, nhưng với sự phát triển của công nghệ thông tin và sự ra đời của các thiết bị di động thông minh, chức năng của điện thoại đã mở rộng đáng kể, hỗ trợ con người trong nhiều khía cạnh của đời sống xã hội Do đó, công nghệ thông tin đã trở thành công cụ quản lý quan trọng cho toàn bộ hệ thống xã hội.

Ngành công nghệ thông tin, đặc biệt là công nghệ phần mềm, đang phát triển mạnh mẽ, dẫn đến việc ngày càng nhiều cá nhân và doanh nghiệp áp dụng công nghệ vào cuộc sống hàng ngày và công việc của họ.

Theo khảo sát, hầu hết các quán Bi-a và câu lạc bộ Bida hiện nay đều quản lý hoạt động của mình chủ yếu thông qua giấy tờ hoặc thu tiền mặt Phương thức quản lý này thường dễ gây nhầm lẫn và đòi hỏi nhiều thời gian đầu tư, nhưng lại không mang lại hiệu quả cao trong việc quản lý.

Chính vì thế mà “Chương trình quản lý Bi-a” được ra đời Chương trình sẽ giải quyết được những vấn đề mà các quán, câu lạc bộ gặp phải.

Xây dựng ứng dụng quản lý kinh doanh 10

Chúng tôi hướng đến việc phát triển một hệ thống quản lý quán bida đơn giản, mang tên ứng dụng Bida Manage Để đảm bảo sự thành công trong việc xây dựng Bida Manage, chúng tôi sẽ bắt đầu với những mục tiêu nhỏ và cụ thể.

1 Nghiên cứu ứng dụng công nghệ mới Swift

2 Tìm hiểu thực tế vận hàng quán Bida

3 Xây dựng một quy trình quản lý quán một cách đầy đủ và chi tiết

4 Áp dụng kiến thức đã học vào thực tế xây dựng ứng dụng

5 Phân tích thiết kế hệ thống, cài đặt và triển khai hệ thống vào thực tế.

6 Chạy thử nghiệm, đánh giá hệ thống, tối ưu hệ thống.

1.2.1 Mục tiêu chức năng của hệ thống Ứng dụng Bida Manage đảm bảo các chức năng sau:

- Đăng nhập, Đăng ký, Đăng xuất

- Xem lịch sử doanh thu

1.2.2 Mục tiêu phi chức năng

Yêu cầu môi trường hoạt động:

- Ứng dụng được xây dựng trên các thiết bị di động IOS.

- Hiệu năng tốt, khả năng chịu tải tốt.

- Chuyển màn hình mượt mà.

- Ứng dụng cần có cấu hình nhẹ, dễ dàng chạy trên các thiết bị có cấu hình thấp.

Yêu cầu giao diện người dùng:

- Ứng dụng có giao diện hài hòa, các nút và icon được bố trí hài hòa đẹp mặt, dễ nhìn.

- Giao diện cần đơn giản nhất có thể nhưng vẫn phải đầy đủ chức năng.

- Giao diện lên dùng màu sắc tươi mát.

Yêu cầu khả năng mở rộng:

- Hệ thống cần có khả năng mở rộng khi các tác nhân khác tham gia vào quá trình.

1.2.3 Giải pháp công nghệ Để giải quyết vấn đề đã đặt ra cũng như đáp ứng đầy đủ các yêu cầu của ứng dụng Bida Manage, em đã quyết định chọn các giải pháp công nghệ như sau:

Nền tảng phát triển ứng dụng là iOS, sử dụng ngôn ngữ lập trình Swift và công cụ lập trình Xcode Mô hình lập trình áp dụng là MVC, trong khi cơ sở dữ liệu được quản lý thông qua NSUser Defaults và RealmDB Để quản lý source code, công cụ Git được sử dụng.

Phần tiếp theo sẽ trình bày đầy đủ về công nghệ mà em đã sử dụng để hoàn thành đề tài.

Môi trường phát triển ứng dụng IOS 12

1.3.1 Iphone và IOS iOS (trước đây là iPhone OS) là hệ điều hành trên các thiết bị di động của Apple Đây là hệ điều hành chạy trên các sản phẩm iPhone, iPad, và iPod Touch và là hệ điều hành phổ biến thứ 2 trên toàn cầu, sau Android của Google.

Hệ điều hành iOS, ban đầu được phát triển cho iPhone (gọi là iPhone OS), đã được mở rộng để hỗ trợ các thiết bị khác của Apple như iPod và iPad Tính đến tháng 1 năm 2017, App Store trên iOS có khoảng 2,2 triệu ứng dụng, trong đó 1 triệu ứng dụng dành riêng cho iPad, với tổng số lượt tải về lên tới 130 tỷ iOS, được công bố lần đầu vào năm 2007, đã chính thức đổi tên từ iPhoneOS thành “iOS” vào tháng 6 năm 2010 và hiện nay là hệ điều hành di động độc quyền của Apple.

Từ năm 2010, Apple đã ra mắt nhiều sản phẩm nổi bật như iPad Mini vào tháng 11 năm 2012 và thế hệ thứ hai của Apple TV vào tháng 9 năm 2010 Đến cuối năm 2011, iOS đã chiếm 60% thị phần trong lĩnh vực điện thoại thông minh và máy tính bảng Đến cuối năm 2012, iOS nắm giữ 21% thị phần hệ điều hành điện thoại thông minh và 43,6% thị trường hệ điều hành máy tính bảng Đến tháng 6 năm 2014, App Store của Apple đã có hơn 1.200.000 ứng dụng iOS, với tổng số lượt tải về vượt mốc 60 tỷ.

Giao diện người dùng của iOS được thiết kế để tương tác bằng tay, cho phép người dùng thực hiện nhiều thao tác trên màn hình cảm ứng của các thiết bị Apple.

Giao diện người dùng iOS được thiết kế thân thiện với thao tác cảm ứng đa điểm và hỗ trợ bút stylus Apple Pencil, chỉ dành cho iPad Pro Tuy nhiên, iOS chỉ cho phép người dùng thay đổi nhạc chuông và hình nền mà không hỗ trợ tùy biến giao diện Nhiều nhà sản xuất Android như Color OS và MIUI đã tùy biến giao diện của họ để giống với iOS.

iOS 14 và iPadOS 14, phiên bản mới nhất, chính thức ra mắt vào tháng 9 năm 2019 cùng với bộ ba iPhone 11, iPhone 11 Pro và 11 Pro Max Các phiên bản này hỗ trợ cập nhật cho các thiết bị từ iPhone 6s trở lên, iPod Touch (thế hệ 7) và iPad.

(2017) trở lên, iPad Air (thế hệ thứ hai) trở lên, iPad Mini (thế hệ thứ 4) trở lên và iPad Pro.

Qua nghiên cứu thực nghiệm thì đa phần những người quản lý vận hành các quán Bi-a đều sử dụng ít nhất một chiếc iphone cho mình.

1.3.2 Ngôn ngữ lập trình Swift

Swift là ngôn ngữ lập trình hướng đối tượng được Apple giới thiệu tại hội nghị WWDC 2014, phục vụ cho việc phát triển ứng dụng trên các hệ điều hành như iOS, macOS, watchOS, tvOS, Linux và z/OS Swift được kỳ vọng sẽ đồng hành cùng Objective-C, ngôn ngữ lập trình truyền thống hiện nay cho các hệ điều hành của Apple.

Swift là ngôn ngữ lập trình được Apple phát triển, tương thích với các framework Cocoa và Cocoa Touch, cùng với mã Objective-C hiện có Được biên dịch bằng trình biên dịch LLVM, Swift đã có mặt trong Xcode từ phiên bản 6, phát hành năm 2014 Trên các nền tảng của Apple, Swift sử dụng thư viện runtime Objective-C, cho phép mã C, Objective-C, C++ và Swift hoạt động đồng thời trong cùng một chương trình.

Apple dự định Swift hỗ trợ nhiều khái niệm lập trình tương tự như Objective-C, bao gồm thu hồi động và các ràng buộc phổ thông, nhưng theo cách an toàn hơn để dễ dàng bắt lỗi phần mềm Swift giải quyết một số lỗi lập trình phổ biến, như con trỏ rỗng, với cú pháp đặc biệt giúp tránh tình trạng kim tự tháp diệt vong Ngoài ra, Swift còn hỗ trợ khả năng mở rộng giao thức, cho phép áp dụng cho các kiểu, cấu trúc và lớp, mà Apple khuyến khích như một sự thay đổi thực sự trong mô hình lập trình, gọi là "lập trình hướng giao thức".

Swift được giới thiệu tại Worldwide Developers Conference (WWDC)

Vào năm 2014, Apple đã giới thiệu ngôn ngữ lập trình Swift, sau đó nâng cấp lên phiên bản 1.2 trong cùng năm và phiên bản lớn hơn Swift 2 tại WWDC 2015 Ban đầu, Swift là ngôn ngữ độc quyền của Apple, nhưng đến ngày 3 tháng 12 năm 2015, phiên bản 2.2 đã được chuyển sang phần mềm nguồn mở theo Giấy phép Apache 2.0, mở rộng cho các nền tảng của Apple và Linux.

Phiên bản Swift 3.0 đã đánh dấu sự phát triển quan trọng trong cú pháp của ngôn ngữ này, với nhóm phát triển tập trung vào việc nâng cao sự ổn định cho các phiên bản tiếp theo Đặc biệt, trong quý đầu tiên của năm 2018, Swift đã vượt qua Objective-C về mức độ phổ biến, khẳng định vị thế của mình trong cộng đồng lập trình.

Swift 4.0, được phát hành vào năm 2017, đã giới thiệu một số thay đổi đối với một số lớp và cấu trúc tích hợp Mã được viết bằng các phiên bản trước của Swift có thể được cập nhật bằng chức năng di chuyển được tích hợp trong Xcode.

Vào tháng 3 năm 2017, Swift đã vươn lên dẫn đầu bảng xếp hạng TIOBE về các ngôn ngữ lập trình phổ biến nhất Cùng thời điểm này, một tài liệu 500 trang về Swift cũng được phát hành miễn phí trên iBooks Store trong sự kiện WWDC Những ưu điểm nổi bật của Swift đã thu hút sự quan tâm lớn từ cộng đồng lập trình viên.

Khả năng phát triển ứng dụng di động và kiểm tra kết quả theo thời gian thực giúp lập trình viên tiết kiệm thời gian và công sức Việc giảm tần suất chạy chương trình biên dịch và các bài kiểm tra cũng giúp tiết kiệm tài nguyên cho nhà phát triển Thay vì chỉ tập trung vào các tính năng nhỏ lẻ, lập trình viên Swift có thể dành nhiều thời gian hơn cho các bài kiểm tra tích hợp, nâng cao chất lượng sản phẩm.

- Code của ngôn ngữ Swift ngắn, gọn và dễ đọc

Swift cho phép viết 3-5 dòng code của Obj-C chỉ trong 1 dòng, nhờ vào việc đơn giản hóa các lớp đối tượng và sắp xếp mã hợp lý hơn Điều này giúp lập trình viên tiết kiệm thời gian trong việc hoàn thành dự án và nâng cao hiệu quả bảo trì, sửa lỗi sau này Swift kế thừa sức mạnh của Objective-C, mang đến cho lập trình viên một môi trường runtime quen thuộc, dễ dàng quản lý và phát triển.

- Swift hỗ trợ phát triển các ứng dụng nhanh hơn

Mô hình MVC 24

1.4.1 Tổng quan về mô hình MVC

MVC, viết tắt của 'Model View Controller', là một kiến trúc quan trọng mà các nhà phát triển sử dụng để xây dựng ứng dụng Kiến trúc này giúp chúng ta hiểu rõ cách thức luồng dữ liệu trong ứng dụng hoạt động, từ đó tối ưu hóa cấu trúc và hiệu suất của ứng dụng.

Mô hình MVC được chia làm 3 lớp xử lý gồm Model – View – Controller :

Mô hình (Model) là thành phần chịu trách nhiệm tương tác với dữ liệu và hệ quản trị cơ sở dữ liệu như MySQL, MSSQL, v.v Nó bao gồm các lớp và hàm thực hiện các nghiệp vụ như kết nối cơ sở dữ liệu, truy vấn dữ liệu, cũng như thêm, xóa và sửa dữ liệu.

View là thành phần hiển thị giao diện, bao gồm nút bấm, khung nhập, menu và hình ảnh, giúp người dùng tương tác với hệ thống và hiển thị dữ liệu một cách hiệu quả.

Controller là thành phần tiếp nhận yêu cầu xử lý từ người dùng, bao gồm các lớp và hàm thực hiện nhiều nghiệp vụ logic Nó giúp truy xuất thông tin cần thiết từ lớp Model và hiển thị dữ liệu đó cho người dùng thông qua lớp View.

Sự tương tác giữa các thành phần:

• Controller tương tác với qua lại với View

• Controller tương tác qua lại với Model

• Model và View không có sự tương tác với nhau mà nó tương tác với nhau thông qua Controller

1.4.2 Ưu điểm và nhược điểm của mô hình MVC Ưu điểm của MVC:

Mô hình MVC rất phù hợp cho các dự án có đội ngũ làm việc độc lập, cho phép thực hiện công việc một cách linh hoạt và hiệu quả.

Như vậy, mô hình này nổi bật nhờ các ưu điểm sau:

MVC hỗ trợ quá trình phát triển nhanh chóng nhờ vào tính độc lập của từng thành phần, cho phép các lập trình viên làm việc đồng thời trên các bộ phận khác nhau Điều này giúp tiết kiệm thời gian đáng kể trong quá trình phát triển ứng dụng.

 Khả năng cung cấp đồng thời nhiều khung View: Với mô hình MVC, bạn có thể tạo ra đồng thời nhiều khung View cho Model.

MVC hỗ trợ các kỹ thuật không đồng bộ, cho phép hoạt động hiệu quả trên nền tảng JavaScript Nhờ đó, các ứng dụng MVC có khả năng tương tác với file PDF, các trình duyệt web đặc thù, và cả các widget máy tính.

Bộ phận Model hoạt động độc lập với View, cho phép bạn thực hiện các thay đổi, chỉnh sửa và cập nhật một cách dễ dàng ở từng phần mà không ảnh hưởng đến các bộ phận khác.

Mô hình MVC duy trì trạng thái dữ liệu mà không thay đổi định dạng, cho phép tái sử dụng các dữ liệu này cho những thay đổi trong tương lai.

Với mô hình MVC, bạn có thể dễ dàng tạo mã SEO URL hỗ trợ phát triển SEO, giúp thu hút lượng truy cập cho bất kỳ ứng dụng nào.

 Không thích hợp việc phát triển các ứng dụng nhỏ vì mô hình này yêu cầu bạn lưu trữ một số lượng lớn các file.

Điều hướng khung trong quá trình lập trình có thể gặp nhiều khó khăn do mô hình MVC bao gồm nhiều lớp phức tạp, yêu cầu người dùng phải thích ứng với các tiêu chí phân tách cụ thể.

Việc phân chia một tính năng thành ba bộ phận khác nhau có thể dẫn đến tình trạng phân tán, vì vậy các nhà phát triển cần phải duy trì tính nhất quán giữa các bộ phận này.

Quản lý phiên bản Git 26

Git là một Hệ thống quản lý phiên bản phân tán (DVCS) phổ biến, cho phép mỗi máy tính lưu trữ nhiều phiên bản khác nhau của mã nguồn được nhân bản từ kho chứa Người dùng có thể ủy thác các thay đổi vào mã nguồn qua lệnh commit và đưa lên máy chủ chứa chính Các máy tính khác có quyền truy cập có thể clone mã nguồn hoặc các thay đổi mới nhất từ kho chứa Thư mục làm việc trên máy tính trong Git được gọi là Working Tree.

Hình 1.9 Mô hình hoạt động của DVCS

Git là một công cụ quản lý phiên bản mã nguồn, giúp bạn lưu trữ và khôi phục các thay đổi một cách dễ dàng mà không cần phải sao chép mã nguồn Người khác có thể theo dõi và so sánh các thay đổi của bạn qua từng phiên bản, đồng thời có khả năng gộp các thay đổi của bạn vào phiên bản của họ Cuối cùng, tất cả mọi người có thể đẩy các thay đổi của mã nguồn lên một kho chứa chung.

Cơ chế lưu trữ phiên bản của Git tạo ra một “ảnh chụp” (snapshot) cho mỗi tập tin và thư mục sau khi thực hiện thay đổi phiên bản mã nguồn (commit), cho phép người dùng tái sử dụng các ảnh chụp này như những phiên bản khác nhau Điều này là một lợi thế nổi bật của Git so với các hệ thống kiểm soát phiên bản phân tán (DVCS) khác, vì Git lưu trữ dữ liệu dưới dạng snapshot thay vì lưu cứng.

Hình 1.10 Quy trình xử lí công việc (workflow) trên Git

Hình 1.11 Git GUI cho phép xem được trạng thái trong working directory

Trong Git, Repository là nơi lưu trữ và quản lý tất cả thông tin cần thiết cho dự án, bao gồm thư mục, tập tin, ảnh, video, cũng như các sửa đổi và lịch sử phát triển của dự án.

Hình 1.12 Các thao tác xử lý giữa remote repository và local repository

Trong các dự án thực tế, việc nhiều lập trình viên làm việc đồng thời là điều phổ biến Do đó, sử dụng hệ thống kiểm soát phiên bản như Git là rất quan trọng để tránh xung đột mã nguồn giữa các lập trình viên.

Các yêu cầu trong các dự án thường xuyên thay đổi, do đó, việc sử dụng hệ thống kiểm soát phiên bản giúp các nhà phát triển có thể dễ dàng quay lại và khôi phục các phiên bản cũ hơn của mã nguồn.

Trong quá trình phát triển phần mềm, nhiều dự án có thể chạy song song trên cùng một cơ sở mã nguồn Do đó, khái niệm phân nhánh trong Git trở nên vô cùng quan trọng để quản lý và tổ chức các thay đổi hiệu quả.

Có rất nhiều lợi thế để bạn nên sử dụng Git trong việc lập trình ngay từ hôm nay, bất kể là lập trình cái gì đi chăng nữa.

• Git dễ sử dụng, an toàn và nhanh chóng.

• Có thể giúp quy trình làm việc code theo nhóm đơn giản hơn rất nhiều bằng việc kết hợp các phân nhánh (branch).

Bạn có thể làm việc ở bất kỳ đâu chỉ cần sao chép mã nguồn từ kho chứa, phiên bản đã thay đổi hoặc một nhánh cụ thể trong kho.

• Dễ dàng trong việc deployment sản phẩm.

• Và nhiều hơn thế nữa.

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

Mô hình Use case 32

Khái niệm Use Case (UC) được Jacobson giới thiệu vào năm 1994 tại Ericsson, mô tả cách người dùng tương tác với hệ thống phần mềm để thực hiện các nhiệm vụ cụ thể UC tập trung vào hành vi của người sử dụng mà không đi sâu vào cách thức hoạt động nội bộ của hệ thống Nó không phải là thiết kế hay kế hoạch cài đặt, mà là một phần của vấn đề cần giải quyết Hệ thống được chia thành các UC nhỏ hơn để nhận diện rõ ràng từng phần và cho phép nhiều người cùng tham gia xử lý.

UC là nền tảng quan trọng trong phân tích hệ thống, giúp xác định đầy đủ các yêu cầu của người sử dụng Việc này đảm bảo rằng hệ thống được xây dựng sẽ đáp ứng mọi nhu cầu của người dùng một cách hiệu quả.

UC là tập hợp các hành động mà hệ thống thực hiện Mỗi hành động là một phần quan trọng, và UC đại diện cho hạt nhân của những gì hệ thống có thể thực hiện, cho dù là hoàn toàn hay một phần.

Sau đây, em tiến hành phân tích và xây dựng UC qua các bước:

- Xác định các actor và chức năng

- Vẽ biểu đồ UseCase cho hệ thống

- Xác định các ca sử dụng của hệ thống

- Đặc tả ca sử dụng

2.1.1 Xác định Actor và chức năng

Hệ thống sẽ gồm 3 Actor chính là Nhân viên, Quản trị viên và Khách hàng và có các chức năng được trình bày như bảng dưới:

Bảng 1.1 Danh sách các Actor

Nhân viên - Xem danh sách các bàn

- Xem thông tin chi tiết các bàn

- Tiến hành phiên thuê bàn

- Cập nhật thông tin bàn

- Kết thúc phiên thuê bàn

Mỗi khu vực còn có thêm một số chức năng khác nhau Nhân viên cần đăng nhập để có thể thực hiện các chức năng này

Quản trị viên Quản trị viên có tất cả các quyền của nhân viên.

Bên cạnh đó, quản trị viên còn có thêm các chức năng quản trị như:

- Chỉnh sửa danh sách bàn

- Xem thông tin nhân viên

- Đặt ca làm việc cho nhân viên

Khách hàng có thể dễ dàng truy cập vào ứng dụng từ xa để đặt bàn trước khi đến, giúp tiết kiệm thời gian và nâng cao trải nghiệm Ứng dụng cung cấp nhiều tính năng tiện ích cho người dùng.

- Gửi yêu cầu đặt bàn

2.1.2 Sơ đồ UseCase tổng quan

Qua phân tích các Actor cùng các chức năng, với công cụ Astah UML, chúng ta vẽ được sơ đồ UseCase tổng quan của hệ thống như hình dưới:

Hình 1.1 Sơ đồ UseCase của hệ thống

2.1.3 Danh sách các ca sử dụng

Do thời gian cùng điều kiện hạn chế, nên hệ thống được xây dựng với 10 ca sử dụng, được nêu chi tiết ở bảng dưới đây.

Bảng 1.2 Danh sách các ca sử dụng

ID Tên ca sử dụng Mô tả Tác nhân tham gia

Người dùng sẽ đăng nhập vào tài khoản của mình

Quản trị viên, Nhân viên

UC-02 Xem danh sách bàn

Người dùng được xem danh sách bàn của quán

Quản trị viên,Nhân viên, Khách hàng

UC-03 Gửi yêu cầu đặt bàn

Người dùng gửi yêu cầu đặt bàn tới nhân viên quản lý

UC-04 Quản lý phiên đặt bàn

Người dùng quản lý một phiên đặt và sử dụng bàn

Người dùng bắt đầu tính giờ phiên đặt bàn

Người dùng kết thúc tính giờ cho bàn và thu tiền từ khách hàng

UC-07 Quản lý nhân viên

Người dùng có quyền admin được phép quản lý nhân viên

UC-08 Xem thông tin nhân viên

Người dùng được xem thông tin chi tiết nhân viên cũng như ca hoạt động của họ

UC-09 Đặt ca làm việc cho nhân viên

Người dùng đặt ca làm việc cho nhân viên

Người dùng xem thống kê doanh thu trong ngày, trong tuần và trong tháng

2.1.4 Đặc tả ca sử dụng

Bảng 1.3 Đặc tả ca sử dụng “Đăng nhập”

Tên Use Case Đăng nhập

Nhân viên, Quản trị viên

Mô tả Ca sử dụng cho phép tác nhân có thể đăng nhập vào hệ thống để sử dụng các chức năng của hệ thống

Tiền điều kiện Người dùng ấn vào nút đăng nhập và yêu cầu được đăng nhập vào hệ thống.

Hậu điều kiện, ứng dụng sẽ hiển thị giao diện tương ứng với quyền hạn của tài khoản đang sử dụng Ứng dụng cung cấp toàn bộ quyền truy cập phù hợp với tài khoản đăng nhập.

2 Một màn hình hiển thị yêu cầu đăng nhập

3 Người dùng điền thông tin đăng nhập email và password

4 Người dùng ấn vào nút đăng nhập

- Hệ thống sẽ thông báo khi tác nhân nhập sai thông tin tài khỏan - Hoặc không đúng định dạng thông tin nhập bắt buộc

Bảng 1.4 Đặc tả ca sử dụng “Xem danh sách bàn” Use case ID

Tên tác nhân Nhân viên, Quản trị viên, Khách hàng

Ca cho phép tác nhân xem danh sách các bàn trong quán, bao gồm bàn trống, bàn đã được thuê và bàn gặp sự cố, giúp quản lý hiệu quả hơn.

Tiền điều kiện Người dùng ấn vào nút Xem danh sách bàn

Hậu điều kiện Không có

2 Người dùng bấm vào Xem danh sách bàn Ngoại lệ - Tạm thời chưa có ngoại lệ

Bảng 1.5 Đặc tả ca sử dụng “Gửi yêu cầu đặt bàn”

Gửi yêu cầu đặt bàn

Ca sử dụng cho phép người dùng gửi yêu cầu đặt bàn cho nhân viên sau khi xem danh sách bàn Người dùng chỉ cần chọn bàn mong muốn và nhấn nút Gửi yêu cầu đặt bàn để hoàn tất quá trình.

Sau khi người dùng gửi yêu cầu đặt bàn, ứng dụng sẽ hiển thị giao diện xác nhận Người dùng sẽ nhận được thông báo về tình trạng yêu cầu, cho biết liệu việc gửi yêu cầu thành công hay thất bại.

1 Khách hàng mở ứng dụng

2 Sau khi xem danh sách bàn, người dùng tiến hành chọn bàn

3 Sau khi chọn được bàn mong muốn, người dùng chọn Gửi yêu cầu đặt bàn

4 Xác nhận đặt bàn Ngoại lệ - Người dùng không bấm xác nhận đặt bàn

Bảng 1.6 Đặc tả ca sử dụng “Quản lý phiên đặt bàn”

Quản lý phiên đặt bàn

Ca sử dụng cho phép tác nhân bắt đầu và kết thúc phiên đặt bàn Người dùng chỉ cần nhấn nút "Bắt đầu đặt bàn" để khởi động phiên và nhấn nút "Kết thúc" khi muốn kết thúc phiên đó.

Hậu điều kiện Ứng dụng hiển thị giao diện tương ứng xác nhận bắt đầu và kết thúc phiên

2 Người dùng chọn vào Bắt đầu phiên đặt bàn

3 Khách hàng sẽ sử dụng bàn

4 Người dùng chọn vào Kết thúc để kết thúc phiên đặt bàn

Ngoại lệ - Bàn đã được chọn Hệ thống sẽ thông báo lỗi

Bảng 1.7 Đặc tả ca sử dụng “Bắt đầu phiên đặt bàn”

Bắt đầu phiên đặt bàn

Ca sử dụng cho phép người dùng bắt đầu phiên đặt bàn bằng cách nhấn nút "Bắt đầu đặt bàn".

Hậu điều kiện Ứng dụng hiển thị giao diện tương ứng xác nhận bắt đầu Luồng thực hiện

2 Người dùng chọn vào Bắt đầu phiên đặt bàn

3 Khách hàng sẽ sử dụng bàn Ngoại lệ - Bàn đã được chọn Hệ thống sẽ thông báo lỗi

Bảng 1.8 Đặc tả ca sử dụng “Kết thúc phiên đặt bàn”

Kết thúc phiên đặt bàn

Ca sử dụng cho phép tác nhân kết thúc phiên đặt bàn khi người dùng nhấn nút Kết thúc.

Hậu điều kiện Ứng dụng hiển thị giao diện tương ứng xác nhận kết thúc phiên Luồng thực hiện

1 Khách hàng sẽ sử dụng bàn

2 Người dùng chọn vào Kết thúc để kết thúc phiên đặt bàn

Ngoại lệ - Bàn đang không được ai sử dụng

Bảng 1.9 Đặc tả ca sử dụng “Quản lý nhân viên”

Mô tả Ca sử dụng cho phép tác nhân có thể quản lý được các nhân viên trong cửa hàng

Tiền điều kiện Người dùng đã đăng nhập bằng tài khoản của quản trị viên nhấn vào nút danh sách nhân viên

Hậu điều kiện Ứng dụng hiển thị giao diện danh sách nhân viên cùng với lịch làm việc của họ Luồng thực hiện

1 Người dùng đăng nhập bằng tài khoản admin

2 Người dùng chọn vào Danh sách nhân viên

3 Người dùng thao tác với danh sách này

Bảng 1.10 Đặc tả ca sử dụng “Xem thông tin nhân viên”

Xem thông tin nhân viên

Mô tả Ca sử dụng cho phép tác nhân có thể xem được thông tin chi tiết của nhân viên Tiền điều kiện

Người dùng đã đăng nhập bằng tài khoản của quản trị viên nhấn vào nút danh sách nhân viên sau đó chọn nhân viên muốn xem thông tin.

Hậu điều kiện Ứng dụng hiển thị giao diện Thông tin đầy đủ của nhân viên Luồng thực hiện

1 Người dùng đăng nhập bằng tài khoản admin

2 Người dùng chọn vào Danh sách nhân viên

3 Người dùng chọn vào Nhân viên để xem thông tin

Bảng 1.11 Đặc tả ca sử dụng “Đặt lịch làm việc cho nhân viên” Use case ID

Tên Use Case Đặt lịch làm việc cho nhân viên

Mô tả Ca sử dụng cho phép tác nhân có thể đặt lịch cho nhân viên Tiền điều kiện

Người dùng đã đăng nhập bằng tài khoản của quản trị viên nhấn vào nút danh sách nhân viên sau đó chọn nhân viên muốn đặt lịch làm việc

Hậu điều kiện Ứng dụng hiển thị giao diện Lịch làm việc của nhân viên Luồng thực hiện

1 Người dùng đăng nhập bằng tài khoản admin

2 Người dùng chọn vào Danh sách nhân viên

3 Người dùng chọn vào Nhân viên để đặt lịch Ngoại lệ - Lịch bị trùng với nhân viên khác

Bảng 1.11 Đặc tả ca sử dụng “Xem thông tin nhân viên”

Mô tả Ca sử dụng cho phép tác nhân có thể xem được thông tin chi tiết doanh thu

Người dùng đã đăng nhập bằng tài khoản quản trị viên và nhấn vào nút "Xem doanh thu" sẽ thấy giao diện hiển thị doanh thu của ứng dụng.

1 Người dùng đăng nhập bằng tài khoản admin

2 Người dùng chọn vào Xem doanh thu

3 Người dùng chọn vào mục thống kê doanh thu theo ngày, theo tuần và theo tháng

Sơ đồ tuần tự 48

Sơ đồ tuần tự cung cấp cái nhìn tổng quát về trình tự xử lý của hệ thống cho từng chức năng cụ thể, thể hiện luồng chức năng qua các Use Case Đây là biểu đồ mô tả sự tương tác giữa các đối tượng, tập trung vào việc trình bày trật tự các thông điệp theo thời gian.

Hình 2.1 Sơ đồ tuần tự đăng nhập

Khách hàng mở ứng dụng và được đưa đến màn hình đăng nhập Tại đây, họ điền thông tin đăng nhập, sau đó thông tin này được mã hóa và gửi lên server Server tiến hành kiểm tra thông tin bằng cách truy vấn cơ sở dữ liệu Nếu thông tin từ cơ sở dữ liệu khớp với dữ liệu mà khách hàng cung cấp, server sẽ gửi thông báo xác nhận đăng nhập thành công cho khách hàng.

Hình 2.2 Sơ đồ tuần tự Bắt đầu phiên

Nhân viên mở ứng dụng và đăng nhập, sau đó chọn bàn để bắt đầu phiên Hệ thống sẽ kiểm tra xem bàn đó có sẵn sàng để bắt đầu hay không Sau khi hoàn tất kiểm tra, hệ thống sẽ lưu trạng thái và giờ bắt đầu của bàn vào cơ sở dữ liệu Cuối cùng, cơ sở dữ liệu trả về kết quả bắt đầu phiên và hệ thống hiển thị thông tin này.

Hình 2.3 Sơ đồ tuần tự kết thúc phiên

Nhân viên mở ứng dụng và đăng nhập, sau đó chọn bàn cần kết thúc phiên Hệ thống sẽ kiểm tra xem bàn đó có đang hoạt động để kết thúc hay không Sau khi kiểm tra, hệ thống gửi trạng thái và giờ kết thúc của bàn để lưu vào cơ sở dữ liệu Cơ sở dữ liệu sẽ trả về kết quả kết thúc phiên, và hệ thống sẽ hiển thị kết quả này.

Hình 2.4 Sơ đồ tuần tự Xem doanh thu

Quản trị viên đăng nhập vào hệ thống để xem doanh thu Hệ thống sẽ xử lý yêu cầu và kiểm tra cơ sở dữ liệu (DB), sau đó trả về kết quả doanh thu và hiển thị thông tin này cho quản trị viên.

Hình 2.5 Sơ đồ tuần tự Gửi yêu cầu đặt bàn

Khách hàng mở ứng dụng và bấm vào danh sách bàn, hệ thống sẽ kiểm tra cơ sở dữ liệu để hiển thị danh sách bàn Sau khi chọn bàn, khách hàng gửi yêu cầu đặt bàn, hệ thống chuyển yêu cầu đến nhân viên Nhân viên xác nhận yêu cầu và hệ thống sẽ trả kết quả đặt bàn cho khách hàng.

Sơ đồ lớp 52

Class diagram mô tả kiểu của các đối tượng trong hệ thống và các loại quan hệ khác nhau tồn tại giữa chúng.

Hình 2.6 Biểu đồ lớp của hệ thống

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

Các bảng trong cơ sở dữ liệu:

Bảng 2.1 Chi tiết bảng “User”

Trường dữ liệu bao gồm các thông tin quan trọng như mã định danh (id) dưới dạng số, tên tài khoản (account) và mật khẩu (pass) dưới dạng chuỗi, họ tên (name) cũng là chuỗi, số điện thoại (phone) và địa chỉ (address) dưới dạng chuỗi Cuối cùng, quyền của người dùng (role) được lưu trữ dưới dạng số.

Bảng 2.2 Chi tiết bảng “Table”

The table features several key attributes: the 'id' is a unique identifier represented as a number, while 'name' is a string denoting the table's name The 'type' is also a number indicating the table's category, and 'room' is a string specifying the reservation room Additionally, 'price' is a numeric value that reflects the hourly rental cost of the table, and 'status' is a number representing the table's current availability status.

Bảng 2.3 Chi tiết bảng “Customer”

Trường dữ liệu bao gồm các thông tin quan trọng như: "id" (Mã định danh) kiểu số, "name" (Họ tên) kiểu chuỗi, "phone" (Số điện thoại) kiểu chuỗi, "address" (Địa chỉ) kiểu chuỗi, và "bills" (Các giao dịch đã thực hiện) kiểu mảng.

Bảng 2.4 Chi tiết bảng “Services”

Trường dữ liệu bao gồm các thông tin quan trọng như: "id" là mã định danh kiểu số, "name" là tên dịch vụ kiểu chuỗi, "price" là giá dịch vụ kiểu số, "status" thể hiện trạng thái của dịch vụ kiểu chuỗi, và "number" là số lượng dịch vụ kiểu số.

Bảng 2.5 Chi tiết bảng “Bill”

The article outlines a school data structure with key attributes: "id" as a unique identifier of type Number, "table" representing the name of the table in String format, "start" indicating the start time as Date Time, "stop" denoting the end time also as Date Time, and "services" as an Array listing the requested services.

Dù gặp nhiều thuận lợi và khó khăn trong quá trình thực tập, em đã cơ bản hoàn thành môn học này, mặc dù không tránh khỏi một số sai sót Tuy nhiên, em đã nỗ lực hết mình và học hỏi được nhiều điều quý giá.

 Nắm được kiến thức về ngôn ngữ lập trình Swift, lập trình iOS cơ bản, ( cơ sở dữ liệu được xây dựng chạy trên thiết bị di động)

 Có khả năng phân tích và phát triển ứng dụng iOS một cách độc lập

 Tự xây dựng được một số app đơn giản như: App máy tính cầm tay, App nghe nhạc đơn giản

Do thời gian hạn chế, em chưa có cơ hội tìm hiểu sâu về ngôn ngữ Swift và lập trình iOS Em mong nhận được sự hỗ trợ từ các thầy cô để nâng cao kiến thức của mình.

Xin chân thành cảm ơn Trường Đại học Mỏ - Địa Chất đã hỗ trợ và tạo điều kiện thuận lợi để em hoàn thành môn học một cách tốt nhất trong thời gian vừa qua.

Các tài liệu Tiếng Việt

Các tài liệu Tiếng Anh

Ngày đăng: 23/10/2021, 08:45

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w