CHƯƠNG 1: GIỚI THIỆU 1.1 Tổng quan Ứng dụng quản lý thu chi cá nhân dành cho sinh viên nhóm đã thực hiện là một ứng dụng chạy trên hệ điều hành Android, hỗ trợ các vấn đề sau: - Giúp sinh viên quan lý những khoản thu, khoản chi của mình. - Quản lý số tiền hiện có trong các ví của mình. - Lập kế hoạch tiết kiệm, để dành một số tiền cho một sự kiện nào đó. - Xem tổng thu, tổng chi hằng ngày, hàng tháng, năm.2 Mục tiêu đề tài Vận dụng các lý thuyết căn bản đã được học trước đó và các nghiên cứu từ thực tiễn để thiết kế và xây dựng phần mềm quản lý chi tiêu cho sinh viên.
Đem lại sự tiện lợi cho sinh viên trong việc ghi chép lại việc thu chi của mình.3 Phạm vi đề tài Ứng dụng hướng tới đối tượng là sinh viên đang theo học ở các trường đại học, cao đẳng.4 Mô tả yêu cầu chức năng Yêu cầu chức năng: Đăng nhập, đăng ký tài khoản: người dùng tạo một tài khoản để sử dụng ứng dụng, tránh việc khi người khác mượn điện thoại thì sẽ dễ dàng vào được ứng dụng và xem nội dung của mình. Nguyễn Đình Thuận 16 Bùi Đức Thuận Phát Khóa luận tốt nghiệp chuyên ngành Kỹ Thuật Phần Mềm Quản lý tài khoản: người dùng có thể đổi mật khẩu của tài khoản, nếu quên mật khẩu thì có thể tạo lại mật khẩu thông qua mã bí mật, nhập vào các thông tin cá nhân của mình. Quản lý ví: với những ví đã có sẵn, người dùng có thể thêm ví cho phù hợp với nhu cầu sử dụng của mình và tiến hành thu chi dựa trên số tiền của những ví này, sinh viên có thể chuyển tiền qua lại giữa các ví với nhau. Quản lý khoản thu chi: Người dùng thêm mới khoản thu chi, chọn hình thức thu hoặc chi, nhập vào số tiền, thời gian, đối tượng, ghi chú về khoản thu chi, sửa và xóa khoản thu chi, có thể đặt thông báo cho một khoản thu chi ở tương lai.
Tổng thu chi: ứng dụng sẽ tự động tính tổng thu chi hàng ngày, hàng tháng, năm dựa vào các khoản thu chi đã thêm trước đó. Lập kế hoạch tiết kiệm: người dùng có thể lập ra một kế hoạch tiết kiệm với một số tiền và mục đích nhất định, nếu tiết kiệm đủ số tiền cho kế hoạch sẽ chuyển trạng thái thành thành công, nếu hết hạn của kế hoạch mà người dùng không thu vào đủ số tiền thì kế hoạch sẽ có trạng thái thất bại. Người dùng có thể bật thông báo cho những kế hoạch tiết kiệm quan trọng, khi kế hoạch kết thúc sẽ thông báo cho người dùng. Quản lý danh mục thu chi: với các danh mục thu chi có sẵn như khoản thu cho tiền lương, tiền thưởng, khoản chi cho học tập, ăn uống, người dùng có thể thêm các danh mục khác để phù hợp với nhu cầu sử dụng của mình, mỗi danh mục sẽ có một ví ưu tiên sử dụng tiền cho danh mục này.
Yêu cầu phi chức năng: Ứng dụng có dung lượng không quá lớn, tốc độ xử lý nhanh. Công việc xử lý thực hiện chính xác, không xảy ra sai sót. Tránh việc để lộ thông tin nhạy cảm của người dùng. Nguyễn Đình Thuận 17 Bùi Đức Thuận Phát Khóa luận tốt nghiệp chuyên ngành Kỹ Thuật Phần Mềm Đảm bảo an toàn dữ liệu.
Giao diện dễ sử dụng, không quá khó đối với người lần đầu tiếp xúc. Nguyễn Đình Thuận 18 Bùi Đức Thuận Phát Khóa luận tốt nghiệp chuyên ngành Kỹ Thuật Phần Mềm CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Những kiến thức cơ bản và bắt buộc khi học lập trình Android Hiện nay Android là một trong những hệ điều hành di động phổ biến nhất thế giới, rất nhiều công ty đăng tuyển lập trình ứng dụng di động trên Android. Chính vì vậy, cơ hội nghề nghiệp mở ra cho ngành nghề này rất cao, mức thu nhập lại cực kỳ hấp dẫn. [2] Lập trình Android là gì ? [2] Android là hệ điều hành trên điện thoại di động (và hiện nay là cả trên một số đầu phát HD, HD Player, TV) phát triển bởi Google và dựa trên nền tảng Linux.
Lập trình android là một lập trình ứng dụng di động phổ biến. Trước đây, Android được phát triển bởi công ty liên hợp Android (sau đó được Google mua lại vào năm 2005). Các nhà phát triển viết ứng dụng cho Android dựa trên ngôn ngữ Java. Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập của liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm mục đính tạo nên một chuẩn mở cho điện thoại di động trong tương lai.
Kiến trúc cơ bản của hệ điều hành Android: [2] Nhân Linux: Đây là nhân nền tảng mà hệ điều hành Android dựa vào nó để phát triển. Đây là lớp chứa tất cả các thiết bị giao tiếp ở mức thấp dùng để điều khiển các phần cứng khác trên thiết bị Android. Thư viện: Chứa tất cả các mã cái mà cung cấp những tính năng chính của hệ điều hành Android, đối với ví dụ này thì SQLite là thư viện cung cấp việc hỗ trợ làm việc với database dùng để chứa dữ liệu. Hoặc Webkit là thư viện cung cấp những tính năng cho trình duyệt Web.
Nguyễn Đình Thuận 19 Bùi Đức Thuận Phát Khóa luận tốt nghiệp chuyên ngành Kỹ Thuật Phần Mềm Android Runtime: Là tầng cùng với lớp thư viện, Android runtime cung cấp một tập các thư viện cốt lõi để cho phép các lập trình viên phát triển viết ứng dụng bằng việc sử dụng ngôn ngữ lập trình Java. Android Runtime bao gồm máy ảo Dalvik (ở các version < 4.4, hiện tại là phiên bản máy ảo ART được cho là mạnh mẽ hơn trong việc xử lý biên dịch). Là cái để điều khiển mọi hoạt động của ứng dụng Android chạy trên nó (máy ảo Dalvik sẽ biên dịch ứng dụng để nó có thể chạy, thực thi được, tương tự như các ứng dụng được biên dịch trên máy ảo Java vậy). Ngoài ra máy ảo còn giúp tối ưu năng lượng pin cũng như CPU của thiết bị Android.
Android Framework: Là phần thể hiện các khả năng khác nhau của Android (kết nối, thông báo, truy xuất dữ liệu) cho nhà phát triển ứng dụng, chúng có thể được tạo ra để sử dụng trong các ứng dụng của họ. Application: Tầng ứng dụng là tầng bạn có thể tìm thấy các thiết bị Android như Contact, trình duyệt…Và mọi ứng dụng bạn viết đều nằm trên tầng này.2 Tại sao phát triển ứng dụng Android là lựa chọn tốt nhất của bạn? Mỗi doanh nghiệp cần phải cạnh tranh với sự sáng tạo để thu hút sự chú ý của nhiều khách hàng tiềm năng hơn. Đó là bởi vì mục tiêu cuối cùng của bất kỳ doanh nghiệp là tạo ra doanh thu. Hơn nữa, sự phát triển của nền tảng phát triển Android cung cấp cho các doanh nghiệp một cơ hội hiệu quả và có thể mở rộng để phát triển ứng dụng.
[3] Các ứng dụng di động Android đã ảnh hưởng đến hầu hết các ngành công nghiệp như một phần của cuộc cách mạng kỹ thuật số ngày nay. Mặc dù iOS là một nền tảng phổ biến, nhưng được liệt kê dưới đây là một số lý do tại sao phát triển Android là nền tảng tốt nhất và hàng đầu cho các doanh nghiệp. [3] Nguyễn Đình Thuận 20 Bùi Đức Thuận Phát Khóa luận tốt nghiệp chuyên ngành Kỹ Thuật Phần Mềm Tỷ suất hoàn vốn cao với chi phí thấp: [3] Một trong những lợi thế chính của phát triển ứng dụng Android là sự sẵn có dễ dàng của SDK Android. Các nhóm phát triển có thể sử dụng thiết kế vật liệu từ các SDK này để xây dựng các ứng dụng tương tác.
Tuy nhiên, các developer/nhóm phát triển được yêu cầu trả phí đăng ký một lần để phân phối ứng dụng. Sau đó, họ có thể tận dụng bất kỳ thiết bị máy tính nào để xây dựng và thử nghiệm sản phẩm cho điện thoại thông minh của họ, đảm bảo đầu tư thấp và tăng sự tham gia của người dùng. Đổi lại, người dùng cuối, được hưởng lợi từ một ứng dụng tương tác và doanh nghiệp có được lợi tức đầu tư cao hơn. Triển khai nhanh hơn: [3] Các ứng dụng Android dành cho doanh nghiệp có chu kỳ phát triển nhanh chóng kéo dài vài giờ.
Nó cung cấp một lợi thế cạnh tranh cho các công ty muốn có một thị trường nhanh hơn cho ý tưởng mới của họ. Giảm thời gian tiếp cận thị trường (TTM), do đó, là một trong những lợi ích tốt nhất của phát triển Android. Nhiều nền tảng mục tiêu: [3] Việc sử dụng Java làm ngôn ngữ lập trình giúp dễ dàng chuyển ứng dụng sang nhiều hệ điều hành như Symbian và Ubuntu. Do đó, doanh nghiệp có thể nhắm mục tiêu nhiều nền tảng với phát triển ứng dụng Android.
Đó là một trong nhiều lý do tại sao các doanh nghiệp chọn phát triển Android. Tính linh hoạt và khả năng mở rộng: [3] Với sự xuất hiện của Android Studio, hệ điều hành đã mở rộng về tính linh hoạt và khả năng thích ứng. Nó tích hợp với toàn bộ hệ sinh thái Android bao gồm điện thoại thông minh, máy tính bảng, thiết bị đeo và TV Android. Chúng làm cho ứng dụng Android tương thích với các công nghệ mới nổi như IoT, AR và VR.
Do Nguyễn Đình Thuận 21 Bùi Đức Thuận Phát Khóa luận tốt nghiệp chuyên ngành Kỹ Thuật Phần Mềm đó, nó cũng là một trong những lợi ích đáng kể của ứng dụng Android. Hơn nữa, tính linh hoạt của nền tảng ứng dụng Android cho phép các nhóm phát triển xây dựng các ứng dụng di động động phục vụ nhiều mục đích sau khi được cài đặt trên thiết bị. Bảo mật nâng cao: [3] Android P đã giới thiệu một số tính năng bảo mật bổ sung và tích hợp. Nó sẽ giúp bảo vệ chống lại phần mềm độc hại và vi-rút.
Do đó, an toàn và độ tin cậy là lợi ích đặc biệt của phát triển ứng dụng Android. Đọc về các thực tiễn tốt nhất về bảo mật và quyền riêng tư của Android giúp các tổ chức xác định phương pháp phù hợp trong suốt vòng đời của ứng dụng. Tùy chỉnh: [3] Android là một nền tảng nguồn mở và cung cấp các tính năng tùy chỉnh tối đa cho các nhóm phát triển. Đó là lý do tại sao các ứng dụng Android là một lựa chọn phổ biến.
Hơn nữa, hệ điều hành này cho phép tạo ra các ứng dụng Android đa năng có thể dễ dàng tích hợp vào các công cụ đa phương tiện và chức năng quản lý dữ liệu của các quy trình kinh doanh hiện tại của bạn.