Vous êtes sur la page 1sur 35

Rationale

Computer science is a field ofto


study App
that deals with solving a
Introduction
variety of problems by using computers.
To solve a given problem by using computers, you need to design an
Development
algorithm for it.
Multiple algorithms can be designed to solve a particular problem.
An algorithm that provides the maximum efficiency should be
used for solving the problem.
The efficiency of an algorithm can be improved by using an
appropriate data structure.

Data structures help in creating programs that are simple,


reusable, and easy to maintain.
This module will enable a learner to select and implement an
appropriate data structure and algorithm to solve a given
programming problem.
Ver. 1.0

Slide 1 of 11

Rationale

Click the following link to view the introduction animation.

Rationale

Ver. 1.0

Slide 2 of 11

Objectives

In this session, you will learn to:


Identify the fundamentals of application development
Identify the various phases of the application
development life cycle
Identify the various application development models

Ver. 1.0

Slide 3 of 11

Introduction to Application
Development

Custom-made
software

Application

Ver. 1.0

Designed to
meet specific
user
requirements

Slide 4 of 11

Introduction to Application
Development (Contd.)

Factors to be considered while creating an application.

Type of application to be
developed

Ver. 1.0

Technology to develop the


required application

Slide 5 of 11

Identifying the Types of


Applications

Interface

Character
User
Interface
Graphical
User
Interface

Ver. 1.0

Architecture

Single-tier
Two-tier
Three-tier

Platform

Desktop
Web
Cloud
Mobile

Device

Native
Device
Agnostic

Slide 6 of 11

Identifying the Application


Development Technologies

You need to identify the technology that you will use to


develop the application.
There is a variety of programming and scripting languages,
which can be used for developing an application.
Some of these languages are C#, Java, C++, and PHP.
For developing an application for a particular hardware or
software platform, you need a Software Development Kit
(SDK).
An SDK is a collection of development tools that allows you
to create applications for a particular platform.

Ver. 1.0

Slide 7 of 11

The Application
Development Process

Click the following link to view an animation, which depicts


the need for the application development process.

SDLC

Ver. 1.0

Slide 8 of 11

The Application
Development Process
(Contd.)

Ver. 1.0

Slide 9 of 11

Requirement Analysis

Business Analyst

Ver. 1.0

Slide 10 of 11

Requirement Analysis
(Contd.)

Ver. 1.0

Slide 11 of 11

Requirement Analysis
(Contd.)

Ver. 1.0

Slide 12 of 11

Requirement Analysis
(Contd.)

Ver. 1.0

Slide 13 of 11

Design

System Architect

Ver. 1.0

Creates the design of the


application as per the
specifications provided in
the SRS document.

Slide 14 of 11

Design (Contd.)

The design specification acts as an input for the


development phase, as shown in the following figure.

Ver. 1.0

Slide 15 of 11

Development

System

Programmers

Ver. 1.0

Slide 16 of 11

Testing

Software Tester

Ver. 1.0

Slide 17 of 11

Testing (Contd.)

Testing

Ver. 1.0

Slide 18 of 11

Data
and Algorithms
Just aStructures
Minute

Which one of the following types of testing involves


evaluation of the application by the customer?
1. Unit testing
2. Integration testing
3. System testing
4. Acceptance testing

Ver. 1.0

Session 1

Data
and Algorithms
Just aStructures
Minute (Contd.)

Solution:
4. Acceptance testing

Ver. 1.0

Session 1

Deployment

Release Manager delivers the


application to the customer.

Support is provided to the


customer to use the application
effectively.
Ver. 1.0

Slide 21 of 11

Maintenance

Customer Support
Personnel

Ver. 1.0

Slide 22 of 11

Identifying the Various


Application Development
Models
SDLC phases need to be adapted to different types of
requirements.
Various development models exist that can be implemented
based on the nature of the application.
Mostly used application development models:
Waterfall model
Prototype model
Incremental model
Agile model

Ver. 1.0

Slide 23 of 11

The Waterfall Model

Click the following link to view an animation, which


describes the Waterfall model.

Waterfall

Ver. 1.0

Slide 24 of 11

The Prototype Model

Click the following link to view an animation, which


describes the Prototype model.

Prototype

Ver. 1.0

Slide 25 of 11

The Prototype Model


(Contd.)

Variants of the Prototype model

Ver. 1.0

Slide 26 of 11

Data
and Algorithms
Just aStructures
Minute

Which one of the following types of prototyping involves


creating a prototype that will not be used to create the final
system?
1. Throwaway
2. Evolutionary
3. Incremental

Ver. 1.0

Session 1

Data
and Algorithms
Just aStructures
Minute (Contd.)

Solution:
1. Throwaway

Ver. 1.0

Session 1

The Incremental Model

Involves providing various application deliveries/increments


to the end user.
Involves the evaluation of each increment by the
end user.

Ver. 1.0

Slide 29 of 11

The Incremental Model


(Contd.)

The following figure shows the Incremental model.

Ver. 1.0

Slide 30 of 11

The Agile Model

Ver. 1.0

Slide 31 of 11

The Agile Model (Contd.)

Is directed by the following principles:


Development team members are more important than
processes and tools.
Creation of software has more priority than timeconsuming documentation.
Effort of the development team is focused on working
together with the customers.
Development plan is flexible enough to accommodate
changes.

Ver. 1.0

Slide 32 of 11

Summary

In this session, you learned that:


An application is custom-made software that is
designed to meet specific user requirements.
SDLC is a disciplined and systematic approach to
software development. It divides the software
development process into the following phases:
Requirement analysis
Design
Development
Testing
Deployment
Maintenance

Ver. 1.0

Slide 33 of 11

Summary (Contd.)

Once the application is implemented and the end-users have


started using it, the maintenance activities begin.
There are various development models that you can
implement based on the nature of the application.
The following application development models are mostly
used:
Waterfall model
Prototype model
Incremental model
Agile model

Ver. 1.0

Slide 34 of 11

Whats Next?

Before the next session, please ensure to:


Read Chapter 1 of the book, Fundamentals of
Application Development.
Go through the recorded lectures and Knowledge Byte,
and complete the Lab@Home exercises, based on the
learning plan available on the technology page on
Cloudscape.

Ver. 1.0

Slide 35 of 11

Vous aimerez peut-être aussi