CƠ SỞ LÝ THUYẾT
Hệ điều hành Android
Android là một hệ điều hành dựa trên nền tảng Linux, được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005.
Chính mã nguồn mở của Android cùng với tính không ràng buộc nhiều đã cho phép các nhà phát triển thiết bị di động và các lập trình viên được điều chỉnh và phân phối Android một cách tự do Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị.
Nhờ yếu tố mở, dễ dàng tinh chỉnh cùng sự phát triển nhanh chóng đã khiến hệ điều hành này dần trở nên phổ biến, kết quả là mặc dù được thiết kế để chạy trên điện thoại và máy tính bảng nhưng giờ đây Android đã xuất hiện trên các smart
TV, máy chơi game và một số thiết bị điện tử khác.
Android là hệ điều hành mã nguồn mở cùng với việc phát hành mã nguồn mở theo giấy phép Apache của Google Apache là là một giấy phép không có nhiều ràng buộc cùng với mã nguồn mở đã cho phép các nhà phát triển thiết bị di,các nhà mạng và các lập trình viên nhanh chóng tiếp cận điểu chỉnh và phân phối Android một cách tự do Một số lượng lớn lập trình viên chuyên viết các ứng dụng mở rộng chức năng của các thiết bị, bằng ngôn ngữ lập trình Java có sửa đổi Android liên tục được phát triển, mỗi bản cập nhật từ Google là mỗi lần Android được tối ưu hóa hoạt động tốt hơn, nhanh và ổn định hơn, hỗ trợ thêm công nghệ mới.
Số lượng người dùng: Android là hệ điều hành di động phổ biến nhất trên thế giới, với hơn 2,5 tỷ thiết bị được sử dụng Điều này đảm bảo rằng ứng dụng của bạn sẽ có khả năng tiếp cận được với một lượng lớn người dùng.
Tính linh hoạt: Android cung cấp cho nhà phát triển nhiều lựa chọn để xây dựng ứng dụng, từ đó tạo ra sự linh hoạt cao trong phát triển ứng dụng
Người lập trình có thể sử dụng nhiều ngôn ngữ lập trình khác nhau như Java, Kotlin, C++, Python, và Rust để phát triển ứng dụng trên Android.
Dễ dàng phát triển và triển khai ứng dụng: Android Studio là môi trường phát triển tích hợp (IDE) cho phép nhà phát triển xây dựng và triển khai ứng dụng trên nền tảng Android một cách dễ dàng và thuận tiện.
Thị trường ứng dụng đa dạng: Google Play Store là kho ứng dụng lớn nhất trên thế giới, cung cấp cho người dùng các ứng dụng từ nhiều lĩnh vực khác nhau Điều này giúp cho nhà phát triển có thể tiếp cận với nhiều người dùng khác nhau và tăng khả năng tìm kiếm của ứng dụng.
Tính bảo mật cao: Android được thiết kế để đảm bảo tính bảo mật cao, với nhiều tính năng bảo mật như phát hiện mã độc, mã hóa dữ liệu, xác thực người dùng và kiểm soát quyền truy cập ứng dụng.
Hỗ trợ đa thiết bị: Android có thể hoạt động trên nhiều loại thiết bị khác nhau, từ điện thoại thông minh đến máy tính bảng và các thiết bị thông minh khác Điều này giúp cho ứng dụng có thể chạy trên nhiều loại thiết bị khác nhau, tăng khả năng tiếp cận với người dùng.
1.3.Tại sao chọn lập trình trên hệ điều hành Androi trên di động mà không phải trên Webside.
Chúng em đã lựa chọn hệ điều hành Android để xây dựng ứng dụng tìm kiếm việc làm với những lý do sau đây:
Sự phổ biến và đa dạng của hệ điều hành Android: Android là hệ điều hành phổ biến nhất trên thị trường điện thoại di động với một số lượng lớn người dùng Việc lựa chọn Android cho ứng dụng tìm kiếm việc làm đảm bảo rằng chúng em có thể tiếp cận và phục vụ một đối tượng người dùng rộng lớn.
Mở và linh hoạt: Hệ điều hành Android là một nền tảng mở, cho phép chúng em tùy chỉnh và phát triển ứng dụng theo ý muốn Chúng em có thể tận dụng các tính năng của Android như quyền truy cập vào các thành phần hệ thống, tương tác với các ứng dụng khác và tích hợp các dịch vụ bên thứ ba để cung cấp trải nghiệm tốt nhất cho người dùng.
Dễ dàng triển khai và cập nhật: Xây dựng ứng dụng trên nền tảng Android cho phép chúng em triển khai và cập nhật nhanh chóng Google Play Store cung cấp một cơ sở hạ tầng mạnh mẽ để phân phối và cập nhật ứng dụng Android Chúng em có thể đẩy các bản cập nhật và phiên bản mới của ứng dụng một cách dễ dàng và nhanh chóng đến người dùng.
Tích hợp với các công nghệ và dịch vụ Google: Android có tích hợp sâu sắc với các dịch vụ và công nghệ của Google như Google Maps, Firebase, Google Sign-In và nhiều hơn nữa Điều này cho phép chúng em tận dụng các công nghệ và dịch vụ mạnh mẽ của Google để cung cấp những tính năng và trải nghiệm tốt nhất cho người dùng.
Mặc dù hệ điều hành iOS và ứng dụng web có ưu điểm riêng của họ, tuy nhiên, lựa chọn Android cho ứng dụng tìm kiếm việc làm là phù hợp với mục tiêu và đối tượng người dùng của chúng em.
Ngôn ngữ lập trình (Kotlin)
Kotlin là một ngôn ngữ lập trình hiện đại, đa nền tảng, hướng đối tượng, được phát triển bởi JetBrains Kotlin được thiết kế để chạy trên Java Virtual
Machine (JVM) và cũng có thể biên dịch thành mã máy để chạy trên các thiết bị di động, máy tính và các thiết bị IoT khác Kotlin được coi là một ngôn ngữ lập trình thay thế cho Java trong việc phát triển ứng dụng Android, vì nó có nhiều tính năng tiện ích và dễ đọc hơn Java Kotlin cũng cung cấp tính năng an toàn hơn trong việc phát hiện các lỗi khi lập trình.
Kotlin có thể khắc phục được các yếu điểm của Java như:
Code ngắn gọn dễ hiểu: Ngôn ngữ lập trình Kotlin được xây dựng bằng hệ thống code ít giúp lập trình viên dễ đọc, dễ viết và dễ làm việc cùng Những người mới bắt đầu đều có thể tiếp thu dễ dàng các kiến thức đặc thù của loại ngôn ngữ này Việc tối giản được số lượng code đã giúp cho Kotlin mang lại những trải nghiệm thú vị hơn cho người dùng so với các loại ngôn ngữ khác như Java
Kotlin không bị lỗi NullPointerException: Với những lập trình viên thì bạn có thể thấy rõ NullPointerException là 1 trong những lỗi thường xuyên xuất hiện trong các dự án được viết bằng ngôn ngữ lập trình Java Lỗi NullPointerException sẽ xuất hiện ngay khi bạn gán giá trị null đến với một đối tượng nào đó, tuy nhiên khi truy xuất thì đối tượng này lại bị xuất hiện lỗi Khi chạy trên Android, nếu như bạn quên cập nhật đối tượng cho Java thì bạn sẽ nhận được log crash (dừng đột ngột) đã được báo cáo về hệ thống Những lỗi NullPointerException.Kotlin đều được thiết kế để có thể giảm thiểu cũng như loại bỏ được hầu hết các nguồn tham chiếu Null dựa vào cơ chế null-safety Chính vì vậy, theo các chuyên gia thì việc sử dụng ngôn ngữ lập trình Kotlin sẽ trở nên an toàn hơn Java rất nhiều Hầu hết các lập trình viên đều sẽ rất chú trọng đến những lỗi xảy ra ở code, vậy nên những code các ngắn thì càng ít lỗi hơn Chính vì thế, nên code trong Kotlin đều được thiết kế ngắn gọn hơn so với code được viết bằng Java mà kết quả kiểm tra đều cho ra giống nhau Để dễ hiểu hơn thì bạn có thể hình dung như sau: Nếu bạn định nghĩa một class trong Java cần phải sử dụng 7 đến 8 dòng thì khi dùng Kotlin dòng code đó sẽ được giảm xuống còn 2 đến 3 dòng hoặc thậm chí là 1 dòng mà kết quả sau cùng cho ra vẫn tương tự nhau.
Kotlin có khả năng tương tác cao: Kotlin được xem là một trong những ngôn ngữ lập trình có thể chạy trên máy ảo tương tự như Java Tuy nhiên, khả năng tương tác cao giúp cho Kotlin có thể tương thích 100% với Java nên 1 dự án có thể sử dụng cả Java và Kotlin Hiện nay, các developer Android đều có khả năng sử dụng Java class library ngay khi dùng Kotlin để có thể thực hiện viết code và ngược lại Nhờ vậy, bạn có thể sử dụng ngôn ngữ này để có thể phát triển cũng như mở rộng cho việc phát triển các dự án Java bằng cũ mà không cần phải bắt lại có thể sử dụng Java class library khi dùng Kotlin để viết code và ngược lại Điều này có nghĩa , bạn có thể sử dụng Kotlin để bạn mở rộng và phát triển các Với những lập trình viên đã quen làm việc với Java khi chuyển sang hợp tác cùng Kotlin thì sẽ không còn cảm thấy bỡ ngỡ hay xa lạ bởi cú pháp của nó bây giờ đều rất quen thuộc Nhờ vậy,k các kỹ năng bạn đã có trong việc code Java đều có thể áp dụng được với Kotlin.
Kotlin được hỗ trợ ưu tiên trong Android Studio và IDE: Hiện nay, các developer Android đều có thể dễ dàng tận dụng các IDE được tích hợp từ Android Studio 3.0. Những phiên bản Android Studio thấp hơn cần phải thực hiện cài thêm plugin và nó khiến cho cấu hình Kotlin trong dự án trở nên đơn giản hơn Hiện tại, các IDE hỗ trợ cho Java đều sẽ có thể hỗ trợ cho cả Kotlin Chính vì thế, hầu hết các
Developer đều có thể tận dụng IDE trong số đó cả cả Android Studio Kotlin cùng với tool làm việc thân thiện sẽ hỗ trợ cho bạn lựa chọn Java IDE làm việc hoặc thực hiện làm việc cùng với command line
Việc chọn ngôn ngữ Kotlin để viết ứng dụng tìm kiếm việc làm có nhiều lợi ích
Kotlin là một ngôn ngữ lập trình mới, hiện đại và linh hoạt được thiết kế để hoạt động tốt trên nền tảng Android Kotlin hỗ trợ rất nhiều tính năng mới, giúp cho việc viết code trở nên dễ dàng và thuận tiện hơn.
Kotlin là ngôn ngữ chính thức được Google lựa chọn để hỗ trợ cho Android, vì vậy nó được tích hợp sẵn trong Android Studio - môi trường phát triển tích hợp cho Android Việc sử dụng Kotlin cho ứng dụng tìm kiếm việc làm sẽ giúp cho việc phát triển và bảo trì ứng dụng trở nên đơn giản hơn.
Kotlin có khả năng tương thích ngược với Java, có nghĩa là code được viết bằng Java có thể được chuyển đổi sang Kotlin và ngược lại mà không cần phải thực hiện nhiều thay đổi Điều này giúp cho việc chuyển đổi từ Java sang Kotlin được thực hiện dễ dàng và không gây khó khăn cho các lập trình viên.
Kotlin có tính năng an toàn hơn so với Java về mặt kiểm soát kiểu dữ liệu Với Kotlin, các lập trình viên có thể tránh được các lỗi phát sinh do kiểu dữ liệu, giúp cho ứng dụng tìm kiếm việc làm được phát triển với chất lượng cao hơn.
Hệ quản trị cơ sở dữ liệu (Firebase)
Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS) là một phần mềm được sử dụng để quản lý và tổ chức dữ liệu trong một hệ thống máy tính Nó cung cấp các công cụ cho phép người dùng tạo, sửa đổi, xóa và truy xuất dữ liệu từ cơ sở dữ liệu Mục đích chính của DBMS là đảm bảo tính toàn vẹn, an ninh, hiệu quả và linh hoạt của dữ liệu trong toàn bộ hệ thống Tất cả các hệ quản trị cơ sở dữ liệu (DBMS) đều có cùng một chức năng, đó là quản lý và lưu trữ dữ liệu Tuy nhiên, mỗi hệ quản trị cơ sở dữ liệu đều có những đặc điểm, ưu điểm và hạn chế riêng, phù hợp với một số ứng dụng cụ thể Nhóm chúng em đã chọn Firebase cho việc lưu trữ dữ liệu và xây dựng ứng dụng tìm kiếm việc làm.
Firebase là một nền tảng đám mây do Google phát triển, cung cấp nhiều dịch vụ cho phát triển ứng dụng web và di động Trong đó, Firebase cũng cung cấp một cơ sở dữ liệu thời gian thực (real-time database) được lưu trữ trên đám mây, cho phép các ứng dụng sử dụng nó để lưu trữ và đồng bộ dữ liệu trực tiếp giữa các thiết bị và người dùng Cơ sở dữ liệu Firebase là một cơ sở dữ liệu NoSQL, sử dụng mô hình dữ liệu JSON để lưu trữ và truy xuất dữ liệu Firebase cũng cung cấp các tính năng bảo mật và quản lý truy cập cho cơ sở dữ liệu, giúp người dùng dễ dàng quản lý và bảo vệ dữ liệu của mình Các chức năng chính của Firebase bao gồm:
Cơ sở dữ liệu thời gian thực (Realtime Database): Firebase cung cấp cơ sở dữ liệu thời gian thực cho phép lưu trữ và đồng bộ dữ liệu giữa các thiết bị người dùng.
Lưu trữ (Storage): Firebase cung cấp một hệ thống lưu trữ đám mây cho phép lưu trữ và truy xuất các tệp tin, hình ảnh và video.
Xác thực (Authentication): Firebase cung cấp tính năng xác thực người dùng để đăng nhập và bảo vệ các ứng dụng trước các cuộc tấn công.
Thống kê (Analytics): Firebase cung cấp các dịch vụ thống kê cho phép theo dõi sự tương tác của người dùng với ứng dụng, giúp cho nhà phát triển hiểu rõ hơn về người dùng và cải thiện trải nghiệm người dùng.
Push Notification: Firebase cung cấp dịch vụ push notification cho phép nhà phát triển gửi thông báo tới người dùng, giúp tăng tính tương tác và tạo ra trải nghiệm tốt hơn cho người dùng.
AdMob: Firebase cung cấp tích hợp với AdMob, cho phép nhà phát triển hiển thị quảng cáo trong ứng dụng của họ.
Machine Learning: Firebase cung cấp tích hợp với Machine Learning cho phép nhà phát triển phát triển các tính năng thông minh trong ứng dụng của mình.
Cloud Functions: Firebase cung cấp dịch vụ Cloud Functions cho phép nhà phát triển viết mã backend trên máy chủ đám mây của Firebase.
3.2.Ưu điểm nổi bật của Firebase
Firebase là một nền tảng phát triển ứng dụng di động và web của Google, với những ưu điểm nổi bật sau:
Quản lý dữ liệu thời gian thực (Real-time database): Firebase cung cấp một cơ sở dữ liệu thời gian thực, cho phép đồng bộ dữ liệu giữa các thiết bị ngay lập tức Điều này rất hữu ích trong việc xây dựng các tính năng cập nhật trực tiếp và trò chuyện trong ứng dụng.
Xác thực người dùng (Authentication): Firebase cung cấp các công cụ mạnh mẽ để xác thực người dùng, bao gồm đăng ký, đăng nhập và quản lý tài khoản Nó hỗ trợ nhiều phương thức xác thực như email/password, Google, Facebook và các nhà cung cấp xác thực khác.
Lưu trữ tệp tin (Storage): Firebase cung cấp dịch vụ lưu trữ đám mây để lưu trữ và quản lý các tệp tin như hình ảnh, video và tệp tin tài liệu Việc sử dụng lưu trữ đám mây giúp giảm tải cho máy chủ của ứng dụng và tăng tính khả dụng của dữ liệu.
Phân tích và theo dõi (Analytics): Firebase cung cấp các công cụ phân tích và theo dõi hiệu suất ứng dụng, giúp nhà phát triển hiểu rõ hơn về hành vi người dùng, tương tác và tài nguyên tiêu thụ Thông qua việc thu thập dữ liệu và phân tích, nhà phát triển có thể tối ưu hóa ứng dụng và cải thiện trải nghiệm người dùng.
Thông báo đẩy (Push notifications): Firebase hỗ trợ gửi thông báo đẩy tới các thiết bị di động, cho phép nhà phát triển gửi thông báo tới người dùng ngay cả khi ứng dụng đang không hoạt động Điều này giúp tăng tính tương tác và tiếp cận với người dùng.
Tích hợp dễ dàng: Firebase được tích hợp mạnh mẽ với các công nghệ phát triển ứng dụng phổ biến như Android, iOS, web và các ngôn ngữ lập trình như Kotlin, Swift, JavaScript, v.v Điều này giúp nhà phát triển dễ dàng tích hợp Firebase vào dự án hiện có và sử dụng các tính năng một cách thuận tiện.
Tổng quan, Firebase mang lại nhiều lợi ích và tiện ích cho việc xây dựng ứng dụng di động và web, từ việc quản lý dữ liệu thời gian thực đến xác thực người dùng, lưu trữ tệp tin, phân tích và theo dõi, thông báo đẩy và tích hợp dễ dàng
Firebase là một nền tảng dịch vụ đám mây của Google cung cấp nhiều tính năng hữu ích cho việc phát triển ứng dụng di động Dưới đây là một số ưu điểm của Firebase trong việc phát triển ứng dụng tìm kiếm việc làm:
Real-time Database: Firebase cung cấp cơ sở dữ liệu thời gian thực cho phép các ứng dụng liên kết đến cùng một cơ sở dữ liệu và đồng bộ hóa dữ liệu một cách nhanh chóng, giúp cải thiện trải nghiệm người dùng. Đăng nhập và xác thực người dùng: Firebase cung cấp các công cụ đăng nhập và xác thực người dùng dễ sử dụng giúp tiết kiệm thời gian phát triển Các tính năng này bao gồm đăng nhập qua tài khoản Google, Facebook, Twitter, đăng ký, quên mật khẩu, đặt lại mật khẩu, xác thực email và số điện thoại.
Lưu trữ và chia sẻ tập tin: Firebase cung cấp tính năng lưu trữ và chia sẻ tập tin trong đám mây, giúp giảm thiểu việc lưu trữ dữ liệu trên máy chủ riêng Tính năng này giúp cho việc tải xuống và tải lên các tập tin như hình ảnh, video trở nên dễ dàng hơn.
Môi trường lập trình Android Studio
Android Studio là môi trường phát triển tích hợp (IDE) chính thức dành cho phát triển nền tảng Android Nó được ra mắt vào ngày 16 tháng 5 năm 2013 tại hội nghị Google I/O Android Studio được phát hành miễn phí theo giấy phép Apache Licence 2.0 Android Studio ở giai đoạn truy cập xem trước sớm bắt đầu từ phiên bản 0.1 vào tháng 5.2013, sau đó bước vào giai đoạn beta từ phiên bản 0.8 được phát hành vào tháng 6 năm 2014 Phiên bản ổn định đầu tiên được ra mắt vào tháng 12 năm 2014, bắt đầu từ phiên bản 1.0 Dựa trên phần mềm IntelliJ IDEA của JetBrains, Android Studio được thiết kế đặc biệt để phát triển ứng dụng
Android Nó hỗ trợ các hệ điều hành Windows, Mac OS X và Linux, và là IDE chính thức của Google để phát triển ứng dụng Android gốc để thay thế cho
Android Development Tools (ADT) dựa trên Eclipse.
Môt số ưu điểm của Android Studio khi lập trình ứng dụng tìm kiếm việc làm là:
Hỗ trợ đầy đủ cho ngôn ngữ lập trình Kotlin, giúp cho việc phát triển ứng dụng nhanh chóng và hiệu quả hơn.
Cung cấp giao diện trực quan, dễ sử dụng và có tính tương thích cao với các công cụ khác.
Cung cấp một bộ công cụ mạnh mẽ để có thể xây dựng ứng dụng tìm kiếm việc làm, bao gồm cả các công cụ cho phân tích dữ liệu và xử lý hình ảnh.
Hỗ trợ các tính năng như Live Layout, Live Templates và Instant Run, giúp phát triển ứng dụng một cách nhanh chóng và thuận tiện.
Có cộng đồng phát triển lớn, cung cấp các tài liệu học tập, tài nguyên và các thư viện mã nguồn mở, giúp cho các lập trình viên dễ dàng tìm kiếm giải pháp cho các vấn đề khác nhau. Được hỗ trợ bởi Google, giúp cho việc phát triển ứng dụng được cập nhật và bảo mật tốt hơn.
4.3.Lý do sử dụng Androi Studio
Trong quá trình phát triển ứng dụng tìm kiếm việc làm, chúng em đã lựa chọn Android Studio làm môi trường phát triển chính để xây dựng ứng dụng Lựa chọn này được đưa ra dựa trên các lý do sau:
Hỗ trợ đầy đủ cho phát triển ứng dụng Android: Android Studio là môi trường phát triển tích hợp (IDE) chính thức và được hỗ trợ bởi Google Nó cung cấp các công cụ và tài nguyên đáng tin cậy cho việc phát triển ứng dụng Android, bao gồm trình biên dịch, trình gỡ lỗi, quản lý dự án và giao diện người dùng thân thiện Điều này giúp chúng em tiết kiệm thời gian và năng lực phát triển, đồng thời tăng khả năng hiệu quả và chất lượng của ứng dụng.
Tương thích tốt với ngôn ngữ Kotlin: Android Studio hỗ trợ đặc biệt cho việc phát triển ứng dụng Android bằng ngôn ngữ Kotlin Kotlin là ngôn ngữ lập trình hiện đại, có cú pháp đơn giản và dễ hiểu, đồng thời hỗ trợ các tính năng tiên tiến như an toàn kiểu dữ liệu và lập trình hướng chức năng Việc sử dụng Kotlin giúp chúng em viết mã nguồn dễ dàng, tăng tính bảo mật và hiệu suất của ứng dụng.
Cộng đồng phát triển lớn: Android Studio được sử dụng rộng rãi bởi cộng đồng phát triển Android, điều này đồng nghĩa với việc có sẵn nhiều tài liệu, hướng dẫn và các thư viện hỗ trợ phong phú Chúng em có thể dễ dàng tìm kiếm và áp dụng các giải pháp, giúp giảm thời gian và công sức phát triển ứng dụng.
Trên cơ sở những lý do trên, chúng em quyết định sử dụng Android Studio để xây dựng ứng dụng tìm kiếm việc làm Sự kết hợp giữa Android Studio và ngôn ngữ Kotlin giúp chúng em tận dụng tối đa tiềm năng của nền tảng Android và phát triển ứng dụng chất lượng cao với hiệu suất tốt.
PHÂN TÍCH THIẾT KẾ
Actors Và Use Case
Hình 3.1.1.1: Use case mô tả ứng dụng
1 Nhà tuyển dụng Nhà tuyển dụng truy cập vào ứng dụng đăng tin
2 Ứng viên Ứng viên tìm kiếm việc làm
STT Code Name Mô Tả
1 UC01 Đăng Nhập Cho phép user đăng nhập vào hệ thống.
2 UC02 Đăng Ký Cho phép user đăng ký để sử dụng hệ thống.
3 UC03 Cập nhật công ty Cho phép nhà tuyển dụng cập nhật và giớI thiệu công ty
4 UC04 Đăng tin tuyển dụng Cho phép nhà tuyển dụng đăng tin tìm ứng viên phù hợp
5 UC05 Quản lý công ty Cho phép nhà tuyển dụng quản lý cty bật tắt chế độ đăng tin.
6 UC06 Thông báo khi có ai ứng tuyển
Thông báo khi có ai ứng tuyển vào cty
7 UC07 Cập nhật thông tin cá nhân.
Quản lý thông tin cá nhân
8 UC08 Ứng tuyển Cho phép ứng viên tìm kiếm và ứng tuyển vào cty
2 2.Chức năng chính Ứng dụng tìm kiếm việc làm là một ứng dụng di động được phát triển bằng ngôn ngữ Kotlin trên nền tảng Android Studio Ứng dụng cung cấp một giao diện người dùng hiện đại và thân thiện, giúp người dùng tìm kiếm và khám phá các cơ hội việc làm phù hợp với nhu cầu của họ.
Chức năng chính của ứng dụng bao gồm:
Chức năng Đăng nhập/Đăng xuất Quản lý thông tin cá nhân Cập nhật công ty Đăng tin tuyển dụng Quản lý công ty Thông báo khi có ai ứng tuyển Xem hồ sơ người ứng tuyển Cập nhật thông tin cá nhân.
Tìm kiếm việc làm Ứng tuyển.
Người dùng có thể đăng nhập vào ứng dụng bằng tài khoản đã đăng ký hoặc sử dụng các tài khoản mạng xã hội như Google. Ứng dụng cung cấp giao diện đăng nhập bảo mật với các trường nhập thông tin như tên đăng nhập và mật khẩu.
Người dùng có thể chọn chức năng "Lưu tài khoản" để tiện lợi cho lần đăng nhập sau.
Dưới đây là giao diện và mô tả cách người dùng và hệ thống tương tác với nhau để thực hiện chức năng đăng nhập:
Use case name: Đăng Nhập
Actor(s): Nhà tuyển dụng, ứng viên
Description: Nhà tuyển dụng, ứng viên cần phải đăng nhập để sử dụng chức năng của ứng dụng.
Trigger: Nhà tuyển dụng, ứng viên thực hiện đăng nhập, nhấn vào nút đăng nhập.
Pro-Condition(s): Thiết bị cần được kết nối vào internet khi đăng nhập.
Người dùng đăng nhập thất bại.
Sẽ xuất hiện thông báo đăng nhập thất bại (
Đăng nhập thành công sẽ vào thẳng màn hình chính
Main Flow: Đăng nhập thành công
1 Nhập thông tin đăng nhập
3 Validation xác thực tài khoản.
4 Cho phép người dùng truy cập ứng dụng.
5 Đưa người dùng đến thẳng giao diện chính của ứng dụng
MS01 Sai tài khoản/ mật khẩu!
Người dùng cần đăng ký tài khoản để sử dụng chức năng của ứng dụng Đăng ký bao gồm nhập thông tin như Gmail, mật khẩu, Họ tên, tuổi, số điện thoại cũng như chọn là nhà tuyển dụng hay là người ứng tuyển việc làm để mở giao diện đúng với mong muốn của người dùng.
Use case name: Đăng Ký
Actor(s): Nhà tuyển dụng và ứng viên
Description: Nhà tuyển dụng và ứng viên cần phải đăng ký để sử dụng chức năng của ứng dụng
Trigger: Nhà tuyển dụng và ứng viên thực hiện đăng ký, nhấn vào nút Đăng Ký.
Pro-Condition(s): Thiết bị cần được kết nối vào internet để đăng ký.Post-Condition(s): Đăng ký thành công.
Chuyển sang giao diện chính
Main Flow: Đăng ký thành công.
1 Nhập thông tin đăng ký
3 Validation xác thực tài khoản.
4 Thông báo nếu mật khẩu xác nhận lại không giống mật khẩu chính
5 Các thông tin đăng ký hợp lệ.
MS01 Mật khẩu không khớp!
MS02 Email đã được đăng ký!
2.3.UC03: Cập nhật công ty
Cập nhật công ty là một chức năng quan trọng trong ứng dụng tìm kiếm việc làm, cho phép nhà tuyển dụng cập nhật thông tin về công ty của mình Chức năng này giúp nhà tuyển dụng duy trì thông tin công ty mới nhất và thu hút sự quan tâm của ứng viên Giúp nhà tuyển dụng tạo ra một hồ sơ công ty chính xác và hấp dẫn, từ đó thu hút sự quan tâm của ứng viên và nâng cao khả năng tìm kiếm và ứng tuyển vào công ty.
Người dùng (nhà tuyển dụng) có thể cập nhật các thông tin sau về công ty:
Tên công ty: Người dùng có thể cập nhật tên của công ty hoặc tổ chức mà họ đại diện. Địa chỉ: Người dùng có thể cung cấp địa chỉ đầy đủ của công ty bao gồm số nhà, tên đường, quận/huyện, thành phố/tỉnh và quốc gia.
Thông tin liên hệ: Người dùng có thể cập nhật các thông tin liên lạc như số điện thoại, địa chỉ email, trang web công ty và các kênh liên lạc khác.
Mô tả công ty: Người dùng có thể cung cấp mô tả về công ty, bao gồm lĩnh vực hoạt động, quy mô, văn hóa công ty, giá trị cốt lõi và bất kỳ thông tin nào khác mà nhà tuyển dụng muốn chia sẻ với ứng viên.
Các thông tin khác: Ngoài những thông tin trên, người dùng còn có thể cập nhật các thông tin khác như logo công ty, hình ảnh văn phòng hoặc bất kỳ thông tin nào khác mà nhà tuyển dụng muốn chia sẻ với ứng viên.
Hình ảnh giao diện của khi cập nhật thông tin công ty.
Use case name: Cập nhật công ty
Description: Nhà tuyển dụng cập nhật công ty
Trigger: Nhà tuyển dụng nhấn vào nút cập nhật công ty Pro-Condition(s): Thiết bị cần được kết nối vào internet Post-Condition(s): Cập nhật công ty thành công.
Chuyển sang giao diện chính
Main Flow: Cập nhật thành công.
4 Thông báo tin đã thành công
5 Các thông tin hợp lệ.
MS01 Chưa điền đủ thông tin!
MS02 Cập nhật công ty thành công!
2.4.UC04: Đăng tin tuyển dụng Đăng tin tuyển dụng là một chức năng quan trọng trong ứng dụng tìm kiếm việc làm, cho phép nhà tuyển dụng đăng thông tin về các vị trí việc làm đang cần tuyển dụng Chức năng này giúp nhà tuyển dụng thu hút sự quan tâm của ứng viên và tìm kiếm nhân tài phù hợp cho công ty.
Người dùng (nhà tuyển dụng) có thể sử dụng chức năng "Đăng tin tuyển dụng" để thực hiện các công việc sau:
Chọn vị trí việc làm: Người dùng cần chọn vị trí việc làm cụ thể mà công ty đang tuyển dụng Điều này bao gồm tên vị trí, mô tả nhiệm vụ và yêu cầu công việc. Cung cấp thông tin công việc: Người dùng cần cung cấp thông tin chi tiết về công việc bao gồm vị trí, ngành nghề, mức lương, địa điểm làm việc, hình thức làm việc, thời gian làm việc và các thông tin khác liên quan đến công việc.
Yêu cầu ứng viên: Người dùng có thể đưa ra yêu cầu về kinh nghiệm, trình độ học vấn, kỹ năng, ngôn ngữ và bất kỳ yêu cầu nào khác mà ứng viên cần phải đáp ứng để được xem xét cho vị trí tuyển dụng.
Gửi tin tuyển dụng: Sau khi điền đầy đủ thông tin, người dùng có thể gửi tin tuyển dụng để được đăng trên ứng dụng và được hiển thị cho ứng viên.
Chức năng "Đăng tin tuyển dụng" giúp nhà tuyển dụng nhanh chóng thông báo vị trí việc làm đang cần tuyển dụng và thu hút sự quan tâm của ứng viên Đồng thời, chức năng này cũng giúp ứng viên dễ dàng tìm kiếm và ứng tuyển vào các vị trí phù hợp với kỹ năng và quan tâm của mình. Để đăng tin chúng ta cần tạo công việc muốn đăng với các bước sau trên giao diện sau đó đăng tin công việc đó
Use case name: Đăng tin tuyển dụng
Description: Nhà tuyển dụng đăng tin tìm ứng viên phù hợp
Trigger: Nhà tuyển dụng nhấn vào nút đăng tin
Pro-Condition(s): Thiết bị cần được kết nối vào internet để đăng ký.
Post-Condition(s): Đăng tin thành công.
Chuyển sang giao diện chính
Main Flow: Đăng ký thành công.
4 Thông báo tin đã được đăng
5 Các thông tin hợp lệ.
MS01 Chưa điền đủ thông tin!
MS02 Tin đăng thành công!
Thông báo trúng tuyển là một chức năng trong ứng dụng tìm kiếm việc làm, giúp gửi thông báo đến nhà tuyển dụng khi có ứng viên trúng tuyển vào một vị trí công việc Chức năng này giúp nhà tuyển dụng nhận được thông tin kịp thời về ứng viên đã trúng tuyển và cung cấp các chi tiết liên quan đến việc trúng tuyển. Nhà tuyển dụng có thể sử dụng chức năng "Thông báo trúng tuyển" để thực hiện các công việc sau: