Traditional Software
Development
Software and its types
Module Learning Objective
01
History and evolution of
software engineering
02
Methods of software
development
03
Waterfall method of
software development
04
Conflicts
05
How conflicts between the
development and operation team
impact product development?
Software
 A software is an organized information in the form of operating system,
programs, utilities and applications that enables a computer to work.
 Any set of machine-readable instructions that directs a computer
processor to perform specific operations.
 Includes computer programs liberaries and their associated
documentation.
 Software programs are stored on the secondary storage and whenever
they are needed, they are loaded in compter memory.
Software
 An interface between computer and human being who uses them.
 Software is everything that governs the functioning of a computer.
 Software is product as well as vehicle.
 Siftware is an information transformer:
 Producing
 Managing
 Acquiring
 Modifying
 Displaying
 Transmiting
Software Engineering Definition
 Software Engineering is the technology that encompasses a process, a
set of methods and an array of tools that allow professionals to build
high quality computer software
- By Roger S. Pressman
 The software development models are the various processes or
methodologies that are being selected for the development of the
project depending on the project’s aims and goals. There are many
development life cycle models that have been developed in order to
achieve different required objectives.
Software Development Models
Different Software Life Cycle Models
 Many life cycle models have been proposed so far, with their own
merits and demerits. A few important and commonly applied life cycle
models are as follows:
“Great software today is often preferable to perfect
software tomorrow. If you give your users something
to play with early, their feedback will often lead you to
a better eventual solution.”
—ANDY HUNT
One of the seven original authors of Agile Manifesto
Explanation of Classical Model of Waterfall
 In “The Waterfall” approach, the outcome of one phase acts as the input for the
next phase sequentially.
First Stage – Feasibility Study
 The following activities are covered during the feasibility study phase.
1. Financial Feasibility
2. Technical Feasibility
3. Client visit
4. Study of input-output data
5. Case study
Second Stage – Requirement Analysis & Specification
Design
 The following activities are carried out during the requirements analysis and
specification design phase.
1. Requirements gathering and analysis
2. Requirement specification
Third Stage – Design Phase
 The following activities are covered during the design phase.
1. Creation of system design as per the requirements gathered during the previous phase.
2. Definition of overall system architecture
3. Documentation of design
 The two design phases are:
1. High level design
2. Low level design
Fourth Stage – Coding and Unit Testing
 The following activities are covered during the code and unit testing phase.
1. Implementation phase
2. Developing source code
3. Program modules
4. Testing of modules
5. Debug the errors
Fifth Stage – Integration and System Testing
 The following activities are covered during the integration and system testing phase.
1. Integration of planned manner
2. Steps of integration
3. Addition of modules
4. System testing
Fifth Stage – Integration and System Testing
(contd.)
 This is a level of software testing where a complete and integrated software is tested.
The various test may include:
1. Alpha Testing (Development team)
2. Beta Testing (Set of customers)
3. Acceptance Testing (customers)
Sixth Stage – System Deployment and
Maintenance
 The following activities are covered during the system deployment and maintenance
phase.
1. Product deployment
2. Development and maintenance
 Maintenance
1. Corrective maintenance
2. Perfective maintenance
3. Adaptive maintenance
Discipline
Every phase has a defined
start and end point. The
progress can be distinctly
identified by both the client
and the software developer,
through the use of
milestones
Time and cost Effective
The emphasis on
requirement and design,
before writing the
codes/programs ensures the
minimal wastage of time,
effort, cost and decreases
the risk of slipping of
schedule.
Quality Improvement
The flaws can be easily
caught and taken care of the
design stage much earlier
than the testing stage
Advantages of Waterfall Model
Drawbacks of Waterfall Model
Traditional IT Organizations
 Cultural hindrance between development and operations team in traditional SDLC.
 Development and operations: two sides of an equation-holding their own roles and
responsibilities.
 Development team works independently on code.
 Code sent to testing team for validation.
 Operations team comes in toward the end of the process, handover of release.
 No collaboration.
Developer vs IT Operations Conflict
 Meaning
 Development Changes
 Confusion/ Lack of communication
 Operations Stability
Problems with the Traditional Development and the
Operations
1. Organizational Silos
2. Different Mindsets
3. Different Implementations
4. Different Tools
5. Lack of interest in learning other tools
6. Different environment
7. Loss of work
8. Blame game
9. Build Rollback
10. Disintegrated process
11. No feedback loop

Slide set 1 (Traditional Software Development) (1).pptx

  • 1.
  • 2.
    Software and itstypes Module Learning Objective 01 History and evolution of software engineering 02 Methods of software development 03 Waterfall method of software development 04 Conflicts 05 How conflicts between the development and operation team impact product development?
  • 3.
    Software  A softwareis an organized information in the form of operating system, programs, utilities and applications that enables a computer to work.  Any set of machine-readable instructions that directs a computer processor to perform specific operations.  Includes computer programs liberaries and their associated documentation.  Software programs are stored on the secondary storage and whenever they are needed, they are loaded in compter memory.
  • 4.
    Software  An interfacebetween computer and human being who uses them.  Software is everything that governs the functioning of a computer.  Software is product as well as vehicle.  Siftware is an information transformer:  Producing  Managing  Acquiring  Modifying  Displaying  Transmiting
  • 6.
    Software Engineering Definition Software Engineering is the technology that encompasses a process, a set of methods and an array of tools that allow professionals to build high quality computer software - By Roger S. Pressman
  • 9.
     The softwaredevelopment models are the various processes or methodologies that are being selected for the development of the project depending on the project’s aims and goals. There are many development life cycle models that have been developed in order to achieve different required objectives. Software Development Models
  • 10.
    Different Software LifeCycle Models  Many life cycle models have been proposed so far, with their own merits and demerits. A few important and commonly applied life cycle models are as follows:
  • 11.
    “Great software todayis often preferable to perfect software tomorrow. If you give your users something to play with early, their feedback will often lead you to a better eventual solution.” —ANDY HUNT One of the seven original authors of Agile Manifesto
  • 14.
    Explanation of ClassicalModel of Waterfall  In “The Waterfall” approach, the outcome of one phase acts as the input for the next phase sequentially.
  • 15.
    First Stage –Feasibility Study  The following activities are covered during the feasibility study phase. 1. Financial Feasibility 2. Technical Feasibility 3. Client visit 4. Study of input-output data 5. Case study
  • 16.
    Second Stage –Requirement Analysis & Specification Design  The following activities are carried out during the requirements analysis and specification design phase. 1. Requirements gathering and analysis 2. Requirement specification
  • 17.
    Third Stage –Design Phase  The following activities are covered during the design phase. 1. Creation of system design as per the requirements gathered during the previous phase. 2. Definition of overall system architecture 3. Documentation of design  The two design phases are: 1. High level design 2. Low level design
  • 18.
    Fourth Stage –Coding and Unit Testing  The following activities are covered during the code and unit testing phase. 1. Implementation phase 2. Developing source code 3. Program modules 4. Testing of modules 5. Debug the errors
  • 19.
    Fifth Stage –Integration and System Testing  The following activities are covered during the integration and system testing phase. 1. Integration of planned manner 2. Steps of integration 3. Addition of modules 4. System testing
  • 20.
    Fifth Stage –Integration and System Testing (contd.)  This is a level of software testing where a complete and integrated software is tested. The various test may include: 1. Alpha Testing (Development team) 2. Beta Testing (Set of customers) 3. Acceptance Testing (customers)
  • 21.
    Sixth Stage –System Deployment and Maintenance  The following activities are covered during the system deployment and maintenance phase. 1. Product deployment 2. Development and maintenance  Maintenance 1. Corrective maintenance 2. Perfective maintenance 3. Adaptive maintenance
  • 22.
    Discipline Every phase hasa defined start and end point. The progress can be distinctly identified by both the client and the software developer, through the use of milestones Time and cost Effective The emphasis on requirement and design, before writing the codes/programs ensures the minimal wastage of time, effort, cost and decreases the risk of slipping of schedule. Quality Improvement The flaws can be easily caught and taken care of the design stage much earlier than the testing stage Advantages of Waterfall Model
  • 23.
  • 27.
    Traditional IT Organizations Cultural hindrance between development and operations team in traditional SDLC.  Development and operations: two sides of an equation-holding their own roles and responsibilities.  Development team works independently on code.  Code sent to testing team for validation.  Operations team comes in toward the end of the process, handover of release.  No collaboration.
  • 28.
    Developer vs ITOperations Conflict  Meaning  Development Changes  Confusion/ Lack of communication  Operations Stability
  • 29.
    Problems with theTraditional Development and the Operations 1. Organizational Silos 2. Different Mindsets 3. Different Implementations 4. Different Tools 5. Lack of interest in learning other tools 6. Different environment 7. Loss of work 8. Blame game 9. Build Rollback 10. Disintegrated process 11. No feedback loop

Editor's Notes

  • #12 Andy Hunt: One of the seven original authors of agile manifesto.