College LMS: Session: BS Computer Science
College LMS: Session: BS Computer Science
College LMS: Session: BS Computer Science
Submitted By:
Fatima Sughra
Hajra Riaz
COLLEGE LEARNING MANAGEMENT SYSTEM
Statement of Submission
This is to certify that Fatima Sughra and Hajra Riaz have successfully completed
the final year project named as: College Learning Management System (College
LMS) at the Quaid-i-Azam University, Islamabad, for the partial requirement of the
degree of BS in Computer Science.
Proofreading Certificate
-----------------------------------
Mr. Hassan
Department of Computer Science,
IMCG F-6/2, Islamabad
Acknowledgement
First of all, we want to thank ALLAH Almighty, the most gracious and merciful, for
all his blessings who guided us on the road to success from our childhood till the
completion of the project. Without his blessings it was impossible for us to come up
with complete solution.
We want to dedicate this study to our beloved parents who have dedicated us their
sleepless nights waiting for us and praying for our success. Without their solid faith
and belief in our abilities, this study was impossible.
We thank Quaid-i-Azam University, Islamabad and IMCG F-6/2 for running this
program and giving girls an opportunity as a career and a better future.
Mr. Hassan, our supervisor has been an invaluable asset for us. Her leadership,
inspiration and raw passion for innovating things has kept us on track even when we
were at our lowest. It is the credit to her guidance that we have succeeded to make this
project.
We also extend our thanks to other faculty for their cooperation during our project.
Abstract
In today’s society where things are getting automated quickly, the colleges also start
to moving towards modern technology. This application will allow the colleges to
manage college semester activities which includes student portal side where student
can check their progress in almost every sector, teachers can manage their side as well
in perspective of course content, attendance, class scheduling. Examination
department can manage their side of examination activities, librarian can manage their
library stuff like issuing books, returning books, adding to library and so forth finance
department can manage their side as well. Furthermore, it also allows the colleges to
efforts manage whole college with minimal efforts.
Security of college data in our application is our first priority. This application has
authentication-based accesses to the services which are required to use by any
department.
Most users want their personal information to be secured which is why we have used
middle ware in order to secure user data from one and other. This application also has
an easy-to-use interface.
It can assist the user to concentrate on their other activities rather to concentrate on the
record keeping. Thus, it will help organization in better utilization of resources. The
organization can maintain computerized records without redundant entries. That
means that one need not be distracted by information that is not relevant, while being
able to reach the information.
Our application also retains the data records which helps institutes to re visit them any
time and can keep it safe only accessible to the authorizes person.
From revenue point of view an owner of this application can set paid ads of any
advertising agency using our app.
List of Figures
Figure 1.1 Lifecycle of System................................................................ 14
Table of Contents
(i) List of Figures.................................................................. 6
(ii) Table of Contents............................................................ 7
1 Introduction and Overview..............................................................10
1.1 Introduction................................................................................. 11
1.2 Purpose....................................................................................... 11
1.2.1 Scope.......................................................................... 11
1.3 Motivation................................................................................... 11
1.4 Project Description......................................................................12
1.5 Existing System..........................................................................12
1.5.1 BZ Reminder..............................................................13
1.5.2 Calendar Notify..........................................................13
1.5.3 Ike.............................................................................. 13
1.6 Proposed System......................................................................... 14
2 Background....................................................................................... 15
2.1 Android....................................................................................... 16
2.2 Android Architecture..................................................................16
2.3 Linux Kernel............................................................................... 17
2.4 Libraries...................................................................................... 17
2.5 Android Runtime........................................................................17
2.6 Android Framework....................................................................17
2.7 Applications................................................................................ 18
3 Feasibility Report.............................................................................19
3.1 Feasibility Report........................................................................20
3.1.1 Technical Feasibility..................................................20
3.1.2 Operational Feasibility...............................................21
3.1.3 Economic Feasibility.................................................22
4 Requirement Analysis......................................................................23
4.1 Requirement Analysis.................................................................24
4.2 Types of Requirements...............................................................24
4.2.1 Functional Requirements...........................................25
4.2.2 Non-Functional Requirements...................................26
8 UML Diagrams................................................................................. 53
8.1 UML Diagram............................................................................. 54
8.1.1 Sequence Diagram.....................................................54
8.2 Class Diagram............................................................................. 64
8.2.1 Purpose of Class Diagram..........................................64
9 Screen Shots...................................................................................... 66
9.1 Android Studio Codes.................................................................67
9.2 User Interface.............................................................................. 73
10 Testing............................................................................................... 97
10.1 Software Testing.........................................................................98
10.1.1 Unit Testing.............................................................98
10.1.2 Integration Testing..................................................99
10.1.3 Performance Testing................................................99
10.1.4 System Testing........................................................99
10.2 Test Cases................................................................................... 99
CHAPTER 1
INTRODUCTIO
N AND
OVERVIEW
1.1 INTRODUCTION
As in the Modern era where everyone is busy in their lives, mobile phones have
become an important part of life. Having a crisis situation due to great distraction
around is a serious problem and need a helping hand to solve the problem. If you have
mis your important meeting or any important thing having these apps on your mobile
phone can diminish your risk and bring assistance when you require it. In the light of
ever-increasing fast life, you need a helping hand that can help you have control on
your tasks, so a swarm of new apps have been developed to provide belling system to
people on their phones.
1.2 PURPOSE
The purpose of Automatic College Bell System (ACBS) is to:
1.2.1 SCOPE
Through this application user can schedule notification with note, bell the
phone / hardware device with note, find the current, overdue and future tasks,
set the note and ring bell (even on silent mode) on the scheduled time and date.
Institutes will also be able to set favorite tasks also repeat that it with multiple
options like in minutes, hours, days, weeks, months, and years.
This application will be helpful in multiple situations i.e. Shopping, meeting,
traveling, writing, reading and so on.
This application has the Bluetooth option to connect to any Bluetooth powered
device.
This application also has authentication module which ensures the security and
integrity.
The App uses firebase authentication which is state of the art authentication
facility.
1.3 MOTIVATION
As much as we would like to get rid of them, situations are unavoidable and usually
regretful. The nature and consequences of these situations can vary significantly and
in worst cases can also be in great loss of both financially and psychologically.
Therefore, it would be nice to have some mechanism by which we can remember our
tasks, our important meetings in it. The need for such a mechanism increases even
more as in this era of technology, platforms exist to support them. One and a very
common one in that is a Smartphone. Almost everyone today carries a Smartphone, as
they have become more and more affordable and easily available. Also, within the
Smartphone market, Android is the clear leader in terms of market share. According to
one report, 82.7 % of the total Smartphones sold in 2020 were the Smartphones that
run on Android Operating System. Hence developing an Android application becomes
an obvious choice.
Once the application is launched, the user is directed to the login page where he
/ she enters the right credentials after that main screen where he will have to
give permission to access the ringtones and the notification first to continue
using application. The user then will be on the home screen where he/she has
option to add new reminder or to see the all previous added reminder in all tab
and the home screen also have the favorites tab to see the important reminders
after clicking the add option the user will be asked to fill the fields like (adding
note, selecting date, time, repeat, marker report as, etc.).
The user has two option to select in order to view the reminder one is by
selecting bell to ring with the reminder note and other one is the notification
which will pop up in notification bar with the note status.
1.5.1 BZ Reminder
BZ reminder is the android mobile application, a closed source paid app that helps
user’s setup to-do lists.
In terms of features, Bz reminder is pretty simple. It allows user to select time, date,
and note input; it can be uninstalled. send alarm to users via popups.
Select data in the date panel for the alarm and the ringtone to ring.
Select Time from time panel and the sequence in which it will be alarmed.
Lastly you can see the scheduled notes that are being added all in the same view
without portion.
1.5.3 Ike
Ike To Do List is another reminder app. The app comes with reminders, due dates,
images, audio, notes, widgets, customization, and more. It definitely covers all of the
basics and does so in a fun way. The pro version goes for $1.99 and unlocks all
themes, widgets, and some additional features.
If user want set reminder of choice, user in application will first add the reminder with
the required fields and after that all reminders can be shown in All tab one the time is
reached it will bell the user or notify it with notification.
In this application, user will have automatic response from the reminder mobile app
after reaching on a specific defined time. If user wants to ring a bell on any time,
application will ring the bell even in silent mode and if bell is stopped before user gets
to the mobile, the application will repeat itself after few minutes automatically to the
mobile.
Similar is the case with notifications, if someone does not open the notification on the
mobile, user will be notified after few minutes again automatically.
CHAPTER 2
BACKGROUND
2.1 ANDROID
Android is one of the most widely used Mobile Operating
System today. It is a software bunch comprising not only
of the Operating System but also middleware and key
applications. Some of the most important features of an
Android operating system is that it enables reuse and
replacement of components, it is optimized for mobile
devices and tablets, it is based on the open source Web kit Figure 2.1 Android Logo
engine and supports 2-D and 3-D graphics using OpenGL-
ES standard.
2.4 LIBRARIES
This is a set of common functions of the application framework that enables the
device to handle different types of data. Some of the most important set of libraries
that are included are – Web kit which is the browser engine to display HTML,
OpenGL used to
render 2D or 3-D graphics on to the screen, SQLite which is a useful repository for
storing and sharing of application data.
Android application. It provides a generic abstraction for hardware access and also
helps
in managing the user interface with application resources. Generally, it provides the
services with the help of which we can create a particular class and make that class
helpful for the Applications creation.
It includes different types of services activity manager, notification manager, ring
manager, view system, package manager etc. which are helpful for the development of
our application according to the prerequisite.
2.7 APPLICATIONS
Applications is the top layer of android architecture. The pre-installed applications
like home, contacts, camera, gallery etc. and third-party applications downloaded from
the play store like chat applications, games etc. will be installed on this layer only. It
runs within the Android run time with the help of the classes and services provided by
the application framework.
CHAPTER 3
FEASIBILITY
REPORT
There are following aspects in the feasibility study portion of the preliminary
investigation:
1. Technical feasibility
2. Operational feasibility
3. Economic feasibility
The essential questions that help in testing the operational feasibility of a system
include the following:
a. Is the project feasible within the limits of current technology?
Yes, the project is feasible, the current technology is well known and already in
use.
b. Does the technology exist at all?
The software and hardware requirements for the development of this project
are not many and can be easily available.
c. Are the required frameworks available?
The current frameworks are well known and already in use. Many
commercially big applications have already been developed using it. No
hardware required for the project.
d. Can they be upgraded to provide the level of technology necessary for the new
system?
Yes, they can be upgraded to provide the level of technology necessary for the
new system.
CHAPTER 4
REQUIREMENT
ANALYSIS
OVERVIEW
This chapter gives details of the requirements of the project under development,
Automatic College Bell System. Requirements are the capabilities and conditions to
which the system and broadly, the project must conform. Hence, the complete
understanding of requirements is essential for the success of any application
development effort.
2. Non-Functional Requirements:
The definition for a non-functional requirement is that it essentially specifies
how the system should behave and that it is a constraint upon the systems
behavior. A non-functional requirement is essential to ensure the usability and
effectiveness of the entire software system. One could also think of non-
functional requirements as quality attributes of a system. The benefits of Non-
functional requirements are:
The user of the application should see the main screen which contain the All
and Favorite tab, Bluetooth connectivity button and logout in the home Screen.
The user must see on the main screen where various buttons are present to
perform tasks (All, Favorites, Add, Menu, Search, Adds, etc.).
User can create new reminder by clicking the Plus icon in the bottom of the
main screen.
User will be able to fill the required filled in the set Reminder screen where
he/she needs to provide Note, Date, Time, Repeat, Marker and Report as and
then click the yellow tick to finish the reminder setting up.
User will able to create either notification or ring Bell for the reminder. A
notification or bell ring will be provided to show the reminder text.
After setting the reminder and other features of the application, the user will be
able to see Calendar, Done Tasks, Over Due, Today Task, Tomorrow Task,
Upcoming Task and Setting in menu option of the application.
The system will be able to recognize the time and date reminder history and
will be able to give response to the mobile phone.
User will have the access to turn off and on the reminder bell and also change
the status of reminder that can in overdue, or postponed.
User can connect other Bluetooth powered devices by using Bluetooth option.
User can logout using the logout button.
1) Functionality
Validation Rule
Edit, update
2) Usability
The customer will have a user-friendly interface, so that he can easily find
all the features of the application.
Automatic College Bell System is easy to use for every type of users
without any training.
3) Reliability
The application should ensure that the user actions are performed correctly as:
If the user has entered invalid data at the time of adding reminder, his/her
will be notified at once.
The application will be available all the time and user will also get
response from application in the form of notifications in return of the action
performed.
4) Performance
The system shall give response in minimum possible time.
The system shall easily be installed.
5) Supportability
Comments will be used in code so it can easily be understandable at any time.
Relevant and same type of files will be maintained in respective folders.
6) Security
Secure access of private data (user’s keywords).
7) Extensibility
Automatic College Bell System will be highly desirable for future extensions.
CHAPTER 5
ARCHITECTURE
&
DESIGN
OVERVIEW
After careful analysis of the requirements of the proposed system, the design for the
application is described in this chapter. The previous chapters defined what is required
and needed in the Automatic College Bell System. In this chapter the architectural
design of the Offline Mobile Finder is proposed.
User:
This is the person who installs the application on his Android device. The user
provides various inputs like reminder note, and details etc. and triggers various
events on the application.
Front End
This is the part of the application that is visible to the user. A screen presented
to the user is usually an Activity, Fragment or a Dialog Box. They contain
various elements like text box or buttons to take inputs from and provide
outputs to the user.
Logic
These are the Code files that contain the logic of the application. They contain
various methods and classes that meet the functional requirements of the
application. These files also contain code to communicate with other
components in the application.
Services
This is the component of the application that is typically used to perform long
background tasks that do not have a user interface. For example – a service is
used to play bell at the device even when bell activity is not on the screen.
Receivers
This is the component of the application that typically listens for some events
or responses from other services. For example – A receiver is used to fetch the
reminder note and then perform the respective task.
SQLite
Android platform provides libraries for SQLite database. An SQLite database
is a relational database that is local to an Android device. It requires no
configuration and is available to use for an app developer. For example –
SQLite is used in the app to store various information about a bell.
Bell Manager
It is used to fetch the bell or alarm of the Android device. The fused bell
provider API uses system object—just like the time framework API—to fetch
the time and data also the note with it. The API provides features to listen for
ring tone updates as well as to get the last known bell reminder. All these
features make the fused bell provider API a good candidate to replace the
components that use the framework alarm API with minimal changes to the rest
of the app.
Notification Manager
It is used to manage notification operations such as sending notification and
text. For example, sending notification to the mobile phone from which the
reminder is setup.
Authentication Manager
It is used to manage authentication properties. Authentication is managed by
firebase auth which includes on both on client side as well as on admin side.
For example, when new user opens up the app, he / she first need’s to login
with the correct credential’s username and password which will be than
authenticated from firebase cloud and upon correct insertion it will be
authenticated to the home page.
CHAPTER 6
ANDROID FRAMEWORK
COMPONENTS
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.ReminderApp">
<activity android:name=".activity.SearchActivity"
android:screenOrientation="portrait"></activity>
<activity android:name=".activity.CalendarDayActivity"
android:screenOrientation="portrait"/>
<activity
android:name=".activity.BootActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.Transparent" />
<activity android:name=".activity.AlarmActivity"
android:screenOrientation="portrait">
>
</activity>
<activity android:name=".activity.AddNewReminder"
android:screenOrientation="portrait"/>
<activity
android:name=".activity.HomeActivity"
android:screenOrientation="portrait"
android:label="@string/title_activity_home"
android:theme="@style/Theme.ReminderApp.NoActionBar"
android:windowSoftInputMode="adjustNothing" />
<activity android:name=".activity.SplashActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<receiver android:name=".util.MyBroadCastReciver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="@string/google_ads_application_id"/>
</application>
</manifest>
6.1.2 Activities:
An Activity is the component of an Android app that is presented to the user and
responsible for interacting with them. The Activity may cover the entire screen of the
device or may only cover a part of the screen displaying on top of another Activity.
An Android app is a collection of loosely coupled activities along with other resources
where one Activity can call another Activity at any point usually using Intents. When
an Activity starts another Activity, the earlier Activity is pushed on to a back stack.
The back stack is a Last in – First out (LIFO) structure supported by the Android
system for every app. When the user starts a new Activity, it is pushed on the top of
the stack and displayed to the user, when the user is done with the Activity and
presses the back button, this Activity is popped from the stack and the user sees the
earlier Activity. An Activity implements a number of callback methods that are
invoked by different events during the lifecycle of an Activity.
The following diagram shows the various callback methods for an Activity.
CHAPTER 7
USE CASE DIAGRAMS
7.1.1 IMPORTANCE
Use case diagrams are valuable for visualizing the functional requirements of a system
that will translate into design choices and development priorities.
They also help identify any internal or external factors that may influence the system
and should be taken into consideration.
They provide a good high-level analysis from outside the system. Use case diagrams
specify how the system interacts with actors without worrying about the details of
how that functionality is implemented.
7.1.2 COMPONENTS
A use case diagram contains four components.
The boundary, which defines the system of interest in relation to the world around it.
The actors, usually individuals involved with the system defined according to their
roles.
The use cases, which are the specific roles played by the actors within and around
the system.
The relationships between and among the actors and the use cases.
1. Launch Application
Use Case ID: UC-01
Use Case name: Launch Application
Use Case created by: Laiba & Ishrat
Use Case created on: 1st January 2022
Use Case updated on: 1st January 2022
Use Case updated by: Laiba & Ishrat
Use case Description: This use case describes that how the user will launch the
application.
Primary Actor: App User
Stake Holder and Interests: User wants to launch the application
Pre-condition:
1. Phone must have Android Jelly Beans or higher.
2. The application must be installed properly.
Main Success Scenario:
6. Overdue Tasks
Use Case ID: UC-06
Use Case name: Overdue Tasks
Use Case created by: Laiba & Ishrat
Use Case created on: 1st January 2022
Use Case updated on: 1st January 2022
Use Case updated by: Laiba & Ishrat
Use case Description: This use case describes that the user wants to see the Over Due Bell
Reminders in the application.
Primary Actor: App User
Stake Holder and Interests: App User see the overdue tasks.
Pre-condition: None
Main Success Scenario:
Priority: High.
Frequency in use: Most frequent
QUAID-I-AZAM UNIVERSITY, ISLAMABAD Page | 49
COLLEGE LEARNING MANAGEMENT SYSTEM
Priority: High.
Frequency in use: Most frequent
12. Reset User Password Tasks
CHAPTER 8
UML DIAGRAMS
One of the primaries uses of sequence diagrams is in the transition from requirements
expressed as use cases to the next and more formal level of refinement. Use cases are
often refined into one or more sequence diagrams. In addition to their use in designing
new systems, sequence diagrams can be used to document how objects in an existing
(call it “legacy”) system currently interact.
Diagram building blocks:
If the lifeline is that of an object, it demonstrates a role. Note that leaving the instance
name blank can represent anonymous and unnamed instances.
Messages, written with horizontal arrows with the message name written above them,
display interaction. Solid arrow heads represent. synchronous calls, open arrow heads
represent asynchronous messages, and dashed lines represent reply messages. If a
caller sends a synchronous message, it must wait until the message is done, such as
invoking a subroutine. If a caller sends an asynchronous message, it can continue
processing and doesn’t have to wait for a response. Asynchronous calls are present in
multithreaded applications and in message-oriented middleware. Activation boxes, or
method-call boxes, are opaque rectangles drawn on top of lifelines to represents that
processes are being performed in response to the message.
Objects calling methods on themselves use messages and add new activation boxes on
top of any others to indicates a further level of processing.
The top part contains the name of the class. It is printed in Bold, centered
and the first letter capitalized.
The middle part contains the attributes of the class. They are left aligned
and the first letter is lower case.
The bottom part gives the methods or operations the class can take or
undertake. They are also aligned and the first letter is lower case.
In the design of a system, a number of classes are identified and grouped together in a
class diagram which helps to determine the static relations between those objects.
With detailed modeling, the classes of the conceptual design are often split into a
number of subclasses.
8.2.1 Purpose of Class Diagrams
The purpose of class diagram is to model the static view of an application. Class
diagrams are the only diagrams which can be directly mapped with object-oriented
languages and thus widely used at the time of construction.
UML diagrams like activity diagram, sequence diagram can only give the sequence
flow of the application, however class diagram is a bit different. It is the most popular
UML diagram in the coder community.
The purpose of the class diagram can be summarized as −
Analysis and design of the static view of an application.
Describe responsibilities of a system.
Base for component and deployment diagrams.
Forward and reverse engineering.
CHAPTER 9
SCREENSHOTS
Bell Activity
Boot Activity
Calendar Activity
Home Activity
Search Activity
Splash Activity
My Shared Preferences
Reminder Database
Bluetooth
Login
User Login
Permission
SPLASH SCREEN
Home Screen
Calendar Screen
Setting Screen
Help Screen
Feedback Screen
Ratting Screen
Sharing Screen
Bluetooth Screen
Bell Screen
CHAPTER 10
TESTING
Whereas Validation is the process of evaluating the software at the end of the
development phase to make sure that it meets the business requirements. It is
used to make sure that the product fulfills its intended use and that the end
product is built right.
Validation: “Are we building the right product?”
In this chapter we mainly validate the app to make sure it meets the requirements set
initially. One of the most important tools to test and debug an Android app is the
Dalvik debug monitor server (DDMS) that is part of the Android framework. DDMS
helps you to debug your code as it prints errors, warning and other information from
your code. It also provides stack traces for exceptions on the Logcat output. Various
other testing strategies have been adopted to make sure the correctness of the app.
There are different types of testing:
Unit Testing
Integration Testing
Regression Testing
Performance Testing
System Testing and so on.
Some of them are discussed in this chapter as follows:
It means that test cases clarify what needs to be done to test a system. It gives us the
steps which we execute in a system, the input data values which we enter in the
system along with the expected results when we execute a particular test case.
Test cases bring together the whole testing process. If the test cases are ready, they are
really helpful to measure whether client expectations were fulfilled or not.
Following are the test cases for all functionalities of the system taken independently.
Post-
S.No Test Case Pre-Condition Result
Condition
1. Phone must have
Android Jelly The
Launch Beans or higher. application
TC-01 Application should launch Pass
2. The application
must be successfully.
installed
properly.
Reminder is
Creating 1. No field should be
TC-02 successfully Pass
New empty.
saved.
Reminder
Reminder
List All
TC-03 1. The application shows shows Pass
Reminders
the list of all reminders are successfully
set. .
Favorite
Creating
TC-04 1. No field should be Reminder is Pass
Favorite
empty. successfully
Reminders
saved.
1. Reminder must be
Playing Bell Played
TC-05 saved in the Pass
Bell Successfully
application.
1. Reminder must be
Reminder saved in the application. Notification
TC-06 Pass
Notification Received
Successfully
Post-
S.No Test Case Pre-Condition Result
Condition
CHAPTER 11
CONCLUSION
&
FUTURE PROSPECTS
11.1 CONCLUSION
The Automatic College Bell System (ACBS) is an essential app to have on a
Smartphone. It is a college bell system and personal to-do reminder app that lets you
have assistance of your daily task and to-do’s in case of non-remembering things.
Furthermore, it is also very helpful in belling and notifying.
The Automatic College Bell System (ACBS) app was our first attempt at an Android
application. It gave us a very good exposure to the Android platform and mobile
development in general. The app enabled me in understanding the basic of Android
development and learning about Android Studio and performance testing of the app.
GPS:
A GPS feature can help the user to automatically add the location of choice.
This feature will help user to add location in the to-do notes to help recognize
or at least remember the location where he/she want to be reminded this feature
will enhance the importance of this app. You can set notes to pop up as
notifications at certain times or places. For instance, you can make your
shopping list note pop up when your GPS indicates that you’re at your local
grocery store.
Wildcard:
You leave notes on your wallpaper and re-apply it to get your reminders right
on your home screen at all times. It’s a neat way to accomplish the feat without
extra push notifications or a widget. User can create notes over plain
backgrounds or simply write them over your existing wallpaper. Just remember
that this is a wallpaper app, so if you decide you don’t like it, you still have to
switch your wallpaper back to what it was manually.
CHAPTER 12
BIBLIOGRAPHY
BIBLIOGRAPHY
https://developer.android.com/
https://online.visual-paradigm.com/
https://www.androidauthority.com/
https://www.oberlo.com/
https://beebom.com/
https://www.tutorialspoint.com/android/android_architecture.htm
https://www.geeksforgeeks.org/android-running-your-first-android-app/
Pan, Jiantao (Spring 1999). "Software Testing" (coursework). Carnegie
Mellon University. Re trieved September 22, 2021.