Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 20

Application Development

David Eric S. Oreta


Instructor
Application Development

 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 is closely linked with
software development life-cycle (SDLC)
Software Development Life-Cycle
(SDLC)
 Basic Stages:
 Requirements gathering(Planning) and analysis
 Design
 Implementation/Coding
 Testing
 Deployment
 Maintenance/Support
Requirements gathering and
analysis
 Main focus of the project managers.
 Business requirements are gathered in this phase
 Meetings are held with managers, stakeholders
and users.
 Who is going to use the system?
 How will they use the system?
 What data should be input into the system?
 What data should be output by the system?
 Requirements are analysed for their validity and
possibility of incorporating it.
Requirements gathering and
analysis (cont’d)

 Finally, a Requirement Specification document is


created which serves the purpose of guideline for
the next phase of the model.
Design
 The system and software design is prepared from the
requirement specifications which were studied in the first phase.
 System Design helps in specifying hardware and system
requirements and also helps in defining overall system
architecture.
 The system design specifications serve as input for the next
phase of the model.
 System Design Tools
 Context Diagrams
 E-R Diagrams
 Flow Chart
 UML Diagrams
Implementation / Coding

 On receiving system design documents, the work


is divided in modules/units and actual coding is
started.
 Main focus of the developers.
 This is the longest phase of the software
development life cycle.
Testing

 After the code is developed it is tested against


the requirements to make sure that the product is
actually solving the needs addressed and
gathered during the requirements phase.
 Verification and Validation
 Unit Testing
 Integration Testing
 System Testing
 Acceptance Testing
Deployment

 After successful testing the product is delivered /


deployed to the customer for their use.
 As soon as the product is given to the customers
they will first do the beta testing.
 If any changes are required or if any bugs are
caught, then they will report it to the engineering
team.
 Once those changes are made or the bugs are
fixed then the final deployment will happen.
Maintenance

 Once the customers starts using the developed


system then the actual problems comes up and
needs to be solved from time to time.
 This process where the care is taken for the
developed product is known as maintenance.
 The way that application development
teams have accomplished these seven
tasks has changed a lot in the last few
decades, and numerous types of
application development methods have
emerged.
Three Categories of Application
development methodologies

 Waterfall
 RAD
 Agile
Waterfall
 The entire project is mapped out in the planning and
analysis stages.
 very explicit list of features and functionalities for the
application are defined by the customer.
 project manager takes the whole process and maps it
out amongst the team.
 It is called waterfall because once you go down, you
can’t go back up; everything flows downward.
 The waterfall method assumes that the project
requirements are clear and the customer and project
manager have a unified and clear vision about the end
result.
Waterfall
Waterfall

 Waterfall works best as an application


development method when:
 You don’t anticipate many changes
 Budgets are fixed for the project
 You’ve done a similar project before
 The customer is very clear and doesn’t plan to be
involved much until the end
RAD
 In many ways, RAD was the opposite of the
waterfall method.
 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.
RAD

 RAD is a great application development method


for:
 An experienced team of developers
 A highly engaged customer
 A flexible delivery date
 Pressing business
Agile

 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 doesn’t focus on prototypes, but only
presents completed work after the sprint is over.
Agile

 Agile methodology is also more team or squad


based.
 With RAD, you are working directly with a
programmer.
 With Agile, the application development team will
also include testers, UX designers, technical
writers, and many others.
System Design Activity

 Select one proposal you have created from the


previous activity.
 Read a tutorial on Use Case Diagram such as
https://creately.com/blog/diagrams/use-case-diagr
am-tutorial/
 Create a use case diagram for the proposed
project you selected

You might also like