1 Func
1 Func
Oriented Programming
Using Java
SYLLABUS OF MODULE 1
SOFTWARE ENGINEERING
● Software : Software is a collection of instructions that enable
the user to interact with a computer , its hardware or
perform tasks.
● There are two types of software
1. System Software
2. Application Software
● Examples of system software are Operating System, Compilers,
Interpreter, Assemblers, etc.
● Examples of Application software are Microsoft Word,
Microsoft PowerPoint , etc.
SOFTWARE ENGINEERING
● Software engineering discusses systematic and cost-effective
techniques for software development. These techniques help develop
software using an engineering approach.
Software life cycle
● The life cycle of a software represents the series of identifiable
stages through which it evolves during its life time.
● A Software development life cycle (SDLC) model (also called
software life cycle model and software development process model)
describes the different activities that need to be carried out for the
software to evolve in its life cycle.
Classical Waterfall Model
● In fact, it is hard to put this model into use in any non-
trivial software development project.
● All other life cycle models can be thought of as being
extensions of the classical waterfall model.
Classical Waterfall Model
Classical waterfall model is
intuitively the most obvious and
simple way to develop a software.
Phases of the classical waterfall model
Feasibility study
● The main focus of the feasibility study stage is to determine whether
it would be financially and technically feasible to develop the
software.
Requirements analysis and specification
● The aim of the requirements analysis and specification phase is to
understand the exact requirements of the customer and to document
them properly.
● This phase consists of two distinct activities, namely requirements
gathering and analysis, and requirements specification.
Phases of the classical waterfall model
Design
● The goal of the design phase is to transform the requirements
specified in the SRS document into a structure that is suitable
for implementation in some programming language.
● In technical terms, during the design phase the software
architecture is derived from the SRS document.
● Two distinctly different design approaches
Function-oriented design(Procedural design approach)
Object-oriented design approach
Phases of the classical waterfall model
Coding and unit testing
● The purpose of the coding and unit testing phase is to translate a
software design into source code and to ensure that individually
each function is working correctly.
● The coding phase is also sometimes called the implementation
phase, since the design is implemented into a workable solution.
● The end-product of this phase is a set of program modules that
have been individually unit tested.
● The main objective of unit testing is to determine the correct
working of the individual modules.
Phases of the classical waterfall model
Integration and system testing
● During the integration and system testing phase, the different
modules are integrated in a planned manner.
● Integration of various modules are normally carried out
incrementally over a number of steps.
● Finally, after all the modules have been successfully integrated
and tested, the full working system is obtained.
● System testing is carried out on this fully working system
Phases of the classical waterfall model
Maintenance
● Maintenance is carried out to correct errors that were not
discovered during the product development phase.
Object-oriented programming
There is no access specifier in has access specifiers like
procedural programming. private, public, protected, etc.
Adding new data and functions is Adding new data and function is
not easy. easy.