You are on page 1of 17

Java Programming: From

Problem Analysis to Program


Design, 5e
System Development Life Cycle
SOFTWARE CONCEPTS
What is a software?
• computer instructions or data

• anything that can be stored electronically

• computer programs, modules (support and data) working


together providing computers with instructions and data for
certain task (e.g. word processing, internet browsing)
SOFTWARE BASICS
Terminologies:

• Computer program (or “program”)


• an organized list of instructions that, when executed, causes the computer to behave in a
predetermined manner.

• Support module
• an auxiliary set of instructions used in conjunction with the main software program

• Data module
• contains data (not supplied by the user) necessary for the execution of certain task.
SOFTWARE BASICS
SOFTWARE BASICS
Data vs. Software

• Before, the term “software” is always associated to all non-hardware


components of a computer.

• However, modern definitions made it clear that all documents,


spreadsheets and even downloaded materials from the net are now
classified as data.
SOFTWARE BASICS
• Source code
• Code written by the programmer
• Object code
• machine language representation of the
source code
• Linker
• creates the executable code
• combines program object code, object
code from library routines and any other
required system code into one
addressable machine language file
SOFTWARE BASICS
Application Software vs. System Software

• Application software
• are computer programs that are used to accomplish specific or
specialized tasks for computer users

• System software
• helps the computer carry out its basic operating functions.
SOFTWARE BASICS
Computer User

computer user instructs


the application program
to print a document

Application
Software
(Microsoft Word)

application software
makes a request to the
system software to print
the document

System Software
(Operating System,
Device Drivers)

system software controls


the printer as the
document is printed

Hardware
(Computer, Printer)
SOFTWARE DEVELOPMENT LIFE
CYCLE
• Software Development Life Cycle
• a methodology that is typically used to develop, maintain, and
replace information systems for improving the quality of the
software design and development process
• Importance of SDLC
• In order to create systems that are good in design
• It serves as a guide in systems development
SOFTWARE DEVELOPMENT LIFE
CYCLE
Five phases of SDLC

• Planning
• Analysis
• Design
• Implementation
• Maintenance
SOFTWARE DEVELOPMENT LIFE
CYCLE
Planning Phase
• the initial stage in the SDLC that has to be performed
• includes the information about the requirements for the proposed software
• known as the feasibility study phase

“In the first phase of the SDLC,


the organization’s total information
system needs are identified, analyzed,
prioritized, and arranged.”
SOFTWARE DEVELOPMENT LIFE
CYCLE
Analysis Phase
• requires the analyst to thoroughly study the
current procedures or software used to execute
tasks in an organization
• the main goal in this phase is to identify the
requirements for a new software or simply change
several aspects in the current working system
“This phase studies the current system
and produces proposed alternatives or replacements.”
SOFTWARE DEVELOPMENT LIFE
CYCLE
Design Phase
• during this phase, the developer of the software
translates the result of the previous phase into actual
design or specifications of the software
• development of the software involves covering the
input and output screens to reports, databases, and
computer process
SOFTWARE DEVELOPMENT LIFE
CYCLE
Implementation Phase
• Coding
• creation of the actual program
• Testing
• both programmer and analyst submits the software to various “quality
testing” to discover if there are any bugs within the software
• Installation
• after coding and testing is done, the actual software must be installed
and slowly or completely replaces the old software
SOFTWARE DEVELOPMENT LIFE
CYCLE
Maintenance Phase

• used to make necessary patches to remove found errors


• where the software is systematically repaired and improved based on
errors or possible new requirements found
SOFTWARE DEVELOPMENT LIFE
CYCLE
Waterfall SDLC
• Suggests that prior to proceeding to next phase, the current phase should be
finished first.

Planning

Analysis

Design

Implementation

Maintenance
SOFTWARE DEVELOPMENT LIFE
CYCLE
• Modified waterfall
• allows overlap between phases
PLANNING

ANALYSIS

DESIGN

IMPLEMENTATION

MAINTENANCE

• Iterative SDLC
• allows phases to repeat, if necessary
ANALYZE ANALYZE
PLANNING DESIGN DESIGN MAINTAIN SYSTEM
IMPLEMENT IMPLEMENT

You might also like