Appdev Intro

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 38

INTRODUCTION TO

APPLICATION DEVELOPMENT
Jennifer P. Juaneza, PhDTM
Learning Objectives:

1.Understand the definition of application development.


2.Identify the different application development names.
3.Learn about Application Development Methodologies.
4.Enumerate the different application development
WHAT IS APPLICATION
DEVELOPMENT?
 It is the process of creating a computer
program or a set of programs to perform the
different tasks that a business requires.
 Application development is the process of
designing, building, and implementing
software applications. It can be done by
massive organizations with large teams
working on projects, or by a single freelance
developer.
 Application development defines the process
of how the application is made, and generally
follows a standard methodology.
DIFFERENT NAMES OF APPLICATION DEVELOPMENT

1. CUSTOM APPLICATION DEVELOPMENT

The process of designing, developing,


and deploying software applications for
specific users or use cases.
For example, many organizations have
custom-made HR portals for their
employees, freelancers, etc.
Automate Repetitive Task

Facilitate Collaboration

BENEFITS OF
THE CUSTOM Everyone can access the data they need
APPLICATION
DEVELOPMENT
Security

Maximize Technology Investment


2. RAPID APPLICATION DEVELOPMENT
The RAD (Rapid
Application Development)
model follows an
incremental approach.
You can simultaneously
develop the individual
modules of the application
to enable faster delivery of
the final product.
Advantages and Disadvantages of Rapid Application
Development (RAD)
Advantages Disadvantages
Requirements can be changed at any time Needs strong team collaboration
Encourages and priorities customer feedback Cannot work with large teams

Reviews are quick Needs highly skilled developers


Development time is drastically reduced Needs user requirement throughout the life cycle
of the product
More productivity with fewer people Only suitable for projects which have a small
development time
Time between prototypes and iterations is More complex to manage when compared to
short other models
Integration isn’t a problem, since it Only systems which can be modularized can be
integrates from project inception developed using Rapid application development.
3. LOW-CODE APPLICATION DEVELOPMENT
 Using low-code application platforms, skilled
developers can produce programs and
applications faster than through traditional
hand-coding methods.
 Another disruptive use-case for low-code is to
enable business users to create applications
even if they have no prior experience with
coding.
 The term “low-code” was first coined by
Gartner in 2014, to denote platforms which had
heavy GUI based development interfaces, which
could do the work of traditional hard coding,
without needing to explicitly know the
programming language in itself.
4. MOBILE APPLICATION DEVELOPMENT

 Mobile application development


is the process of creating apps
that run on any mobile platform:
Android and iOS.
 With everything you need right
at your fingertips, you can track
inventory or make instant
updates from your phone.
Several Types of Mobile App Development Technologies
Native Applications: These applications are built using
integrated development environments (IDEs) and languages
for mobile OSes such as Apple iOS or Google Android. Native
apps enable you to customize necessary features, but they
can be more costly than other technologies.

Hybrid Apps: These are web apps that act like native apps.
They are developed using technologies such as HTML,
JavaScript and Cascading Style Sheets (CSS). Hybrid apps
are more cost-effective to develop than native apps and
can be created faster, but they aren’t as feature-rich as
native applications.
Progressive web apps: A PWA is a website that looks and
behaves as if it is a mobile app. These applications are
developed with web technologies such as Facebook React.

Encapsulated apps: An encapsulated app runs within a


container app. Products such as the Microsoft Power App
drag-and-drop app creation tool enable less experienced
developers to build a mobile application rapidly.

Frameworks and Libraries: You can use this reusable code


written by someone else to accelerate your development of
a mobile app.
5. DATABASE APPLICATION DEVELOPMENT

 Database applications are


designed to collect, organize,
and manage information
efficiently. They're used to sort
data by criteria, perform
calculations, create reports,
and share information with
team members.
EXAMPLES OF SQL
DATABASES
Microsoft SQL Server A relational database
management system developed by Microsoft.
SQL Server is commonly used for Data
Warehousing, Online transactions processes, e-
commerce web sites.

MySQL is an open-source relational database


system. The main purpose of MySQL is for web
databases. It is most commonly used for e-
commerce, data warehousing and logging
applications.
Oracle database: is a multi-modal
database management system.
Produced and marketed by Oracle
Corporation, it is a database
commonly used for running online
transaction processes, Data
warehousing, and mixed data
workloads.
Microsoft Azure SQL Database:
Microsoft’s cloud database service is
based on SQL server database
technology and built on the Microsoft
Windows Azure Cloud Computing
Platform. It enables organizations to
store relational data in the cloud and
quickly scale the size of their
databases as required.
MongoDB is an open-source
database, which stores and
EXAMPLE indexes data in the form of
OF NO SQL collections of documents. In
DATABASES this way, it offers higher
performance in data retrieval,
when compared to
conventional SQL databases.
6. ENTERPRISE APPLICATION DEVELOPMENT

• Enterprise applications are a


type of software developed
to cater to large-scale
organizations. They support
enterprise-grade features,
like massive data storage
and automation of complex
business processes.
7. WEB APPLICATION DEVELOPMENT

• Web applications are software


developed for a specific purpose,
hosted on a web server. They can
be accessed using any internet-
enabled device, like phones,
laptops, and desktops. Some
examples of web applications are
online banking sites, ecommerce
websites, and social networks.
APPLICATION DEVELOPMENT LIFE CYCLE

 SDLC, or software development life cycle, describes the


process of software creation.
 The stages are all the same as for the application
development life cycle (ADLC), which explains how any
professional IT company makes apps: discovery, design,
development, release and maintenance.
SIX STAGES OF APPLICATION
DEVELOPMENT LIFE CYCLE
DISCOVERY PHASE: You think you know exactly the way your
project should be. But then you meet your developer and have to
answer a literal flow of incomprehensible questions: “How many
users with different rights for logging in should your app have? What
OS do you want it to work on? What smartphone screens do you
want your design to be suited to?”
The discovery phase is, therefore, necessary for the
developer to translate human language into technical
documentation
A correctly-devised discovery phase should include the
following stages:
 research into competitors;
 feature mapping;
 technical requirements specification;
 the setting of costs and deadlines.
2. DESIGN
Sketch
 The first step is sketching.

 At this stage, the designers prepare the concept of the app.

 If you need to create a sketch, a cool app to use Paper.

 Not only does it look similar to a real paper sketch, but it also
lets you seamlessly turn your paper draft into a digital
format.
3.WIREFRAME
 Next, it’s time to
transfer it onto a
tablet and prepare a
black and white
model of each
screen. These already
look more or less like
a finished design, but
without the actual
content and color
scheme having been
added
4. PROTOTYPE
 This is the last stage
of design. A
prototype is a
clickable model of
an app that looks
just like the real app.
However, the
backend part still
lies in the future, so
it doesn’t function.
5. DEVELOPMENT
The development process can be divided into two parts.

 The frontend. This is the user side, so-to-say, or the face of the
program with which users interact. The task of a front-end
developer is to guarantee a flawless user-friendly experience.
 The backend. This is the hard functional part that guarantees the
functioning of the whole system. Backend usually refers to the
server-side of the application. It's responsible for all the
operations, calculations and, finally, for how reliable the app is.
Quality Assurance
Some IT development agencies skip
or minimize this step and go for the
next SDLC phase – release.
However, without auto and manual
tests it is impossible to be sure of
the quality of your app. It’s like
writing a post on a social network
without checking your grammar –
you can’t be sure that it’s completely
free of errors.
It’s always easier to fix bugs before release than to keep coming back to
this step over and over again after you’ve published the app to the
store and collected negative user reviews.
6. RELEASE
Finally, you can publish the application to the store or offer it to the
business owner to put to work in their facilities (in the case of a web
application).

What’s important to understand if you want your app to be


exceptional and to satisfy your users’ needs is that the development
doesn’t stop now.
Maintenance
You continue polishing the app and
make it better by adding the
advanced features collected in
the backlog of the project.
THE THREE MAIN TYPES OF
APPLICATION DEVELOPMENT
• The basic stages of SDLC are: • Most application
• Planning development methodologies
• Analysis can be grouped into one of
three categories:
• Design
• Waterfall
• Construction
• RAD
• Testing
• Agile
• Implementation
• Support
WATERFALL MODEL
The Waterfall Model was the first
Process Model to be introduced. It
is also referred to as a linear-
sequential life cycle model. It is
very simple to understand and use.
In a waterfall model, each phase
must be completed before the
next phase can begin and there is
no overlapping in the phases.
 The advantages of waterfall development are that it
allows for departmentalization and control. A schedule
can be set with deadlines for each stage of
development and a product can proceed through the
development process model phases one by one.
 Development moves from concept, through design,
implementation, testing, installation, troubleshooting,
and ends up at operation and maintenance. Each
phase of development proceeds in strict order.
RAD (RAPID APPLICATION
DEVELOPMENT)
 RAD is based mostly on prototypes,
meaning that the goal is to produce a
working version of the application as
quickly as possible, and then to
continuously iterate after that.
 The application development team
and the customer work very closely
with each other throughout the
process.
 RAD teams are usually small and
only involve experienced developers
who are skilled in many disciplines.
AGILE METHODOLOGY
 Agile application development is very similar to RAD, but also
includes some changes to make it more suitable to larger projects.
 Agile is iterative, like RAD, but focuses on building features one at a
time. Each feature is built in a methodical way in the team, but the
customer is involved to see the features and sign off on them
before the next feature is developed.
 Agile uses sprints or set of time when a certain feature should be
built, tested, and presented. It tries to incorporate the entire SDLC
for a feature into each sprint. This, ideally, helps to stick to a
planned schedule, but also allow for frequent reviews.
Thank You!

You might also like