SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Nidhi. S
Introduction
 Software:

   Computer programs, procedures and possibly associated

    documentation and data pertaining to the operation of a
    computer system.

 Software Engineering:

   Engineering disciple that is concerned with all aspects of

    software production.
Introduction…
 Computer science is concerned with theory and
 fundamentals.

 Software engineering is concerned with the
 practicalities of developing and delivering useful
 software.
Software Programs
 Developed by individuals for their personal use.

 Small in size.

 Limited functionality.

 Lack good user interface and proper documentation.
Software Products
 Multiple users.

 Good user interface.

 Proper users’ manual.

 Good documentation support.

 Systematically designed, carefully implemented and
 thoroughly tested.
Software Development Life Cycle
    A series of identifiable stages that a software product
     undergoes during its lifetime.
    1)   Project planning, feasibility study.
    2)   Requirement analysis and specification.
    3)   Design.
    4)   Coding.
    5)   Testing.
    6)   Maintenance.
Software Development Life Cycle…
 A life cycle model defines entry and exit criteria for
  every phase.

 A phase can begin only when the phase entry criteria
  are satisfied and can be considered to be complete only
  when the exit criteria are satisfied.
1. Feasibility Study
 To determine whether it would be financially or
  technically feasible to develop the product.

 Analyze the problem.

 Collect all information relating to the product.
2. Requirement Analysis & Specification
 To understand the problem.

 Identify what is needed from the system, not how the
 system will achieve its goals.
 Document the requirements in a SRS document.

 Two major activities:
   Problem understanding or analysis.

   Requirement specification.
Requirement Analysis & Specification…
 Problem analysis:

   To understand the problem and its context, and its

    requirements of the developing system.

 Requirement specification:

   Requirements must be specified in the requirement

    specification document.

   Translates the ideas into a formal document.
3. Design
 To plan a solution of the problem specified by the
  requirements document.

 First step in moving from the problem domain to the
  solution domain.

 Results in three separate outputs:

    Architectural design

    High level design

    Detailed design
4. Coding
 To translate the design of the system into code in a
  programming language.

 Implement the design in the best possible manner.

 Affects both testing and maintenance phases.
5. Testing
 Major quality control measure used during software
 development.

 Detect defects in the software.

 Uncover requirement, design and coding errors.
Testing…
   Unit Testing    Different modules or components are tested individually.



   Integration
                   Test the interconnection between modules.
     Testing


                   Tested against the system requirements to see if all
  System Testing   requirements are met and performs as specified by the
                   requirements.


   Acceptance
                   Performed to demonstrate to the client.
    Testing
Testing…
 This phase starts with a test plan.

 Test plan satisfies:
    Conditions that should be tested.

    Different units to be tested.

    Manner in which the modules will be integrated.

 A test case specification document is produced for
  different test units.
Testing…
 The specified test cases are executed and the actual
  result is compared with the executed output.

 List report and error report are the final outputs of
  testing phase.
6. Maintenance
 Modification of a software product after delivery.

 Performed to correct faults, to improve performance or
 other attributes.
Software Life Cycle Models
 A descriptive and diagrammatic model of a software life
  cycle.
 Identifies all the activities required to develop and
  maintain a software and establishes a precedence ordering
  among the different activities.
 The main advantages of adhering to a life cycle model is
  that it encourages development of software in a systematic
  and disciplined manner.
Software Life Cycle Models…
 Otherwise it leads to a problem called 99% complete
 syndrome.

 Main models are waterfall model, prototyping model
 and spiral model.
Classical Waterfall Model
 Considered to be a theoretical way of developing
 software.

 The diagrammatic representation of this model
 resembles a cascade of waterfalls.

 This justifies the name of this model.
Classical Waterfall Model…
Feasibility
study
              Requirements
              analysis and
              specification

                              Design


                                       Coding and
                                       unit testing

                                                      Integration and
                                                      unit testing


                                                                        Maintenance
Classical Waterfall Model…
 Breaks down the life cycle into an intuitive set of phases.

 The phases starting from the feasibility study to the
  integration and system testing phase are known as the
  development phases.

 At the end of this phase, the product becomes ready to
  be delivered to the customer and the maintenance phase
  commences.
Classical Waterfall Model…
1) Feasibility Study:

   Determine whether it would be financially or technically

    feasible.

   Involves analysis of the problem and collection of all

    relevant documents.
Classical Waterfall Model…
  The collected data are analyzed to arrive at the

  following:
      An abstract problem definition.

      Formulation of the different strategies for solving the
       problem.

      Evaluation of the different solution strategies.
Classical Waterfall Model…
2) Requirement analysis and specification:

   Understand the exact requirements of the customer and

    to document them properly.

   Two distinct activities:

       Requirements gathering and analysis

       Requirements specification
Classical Waterfall Model…
  Requirements gathering and analysis:

      Collect all relevant information regarding the product to be
       developed from the customer with a view to clearly
       understand his requirements.

      Weed out the incompleteness and inconsistencies in the
       collected requirements.
Classical Waterfall Model…
  Requirements specification:

      Requirements are organized into a SRS document.

      It contains the functional requirements, non-functional
       requirements and the goals of implementation.

      SRS document be reviewed and approved by the customer.

      Serves as a contract between the development team and the
       customer.
Classical Waterfall Model…
3) Design:

   Transform the requirements specified in the SRS
    document into a structure.

   Software architecture is derived from the SRS
    document.

   Two design approaches: traditional design approach
    and object-oriented design approach.
Classical Waterfall Model…
 Traditional design approach:
   Based on the data flow-oriented design approach.

   Consists of 2 important activities:

       Structured analysis of the requirements specification is
        carried out where the detailed structure of the problem is
        examined.
       During structured design, the results of structured analysis
        are transformed into the software design.
Classical Waterfall Model…
  Structured design consists of 2 main activities:

      Architectural design (high-level design) involves decomposing
       the system into modules, and representing the interfaces and
       the invocation relationships among modules.
          Also referred to as the software architecture.

      Detailed design (low-level design): Internals of the individual
       modules are designed in greater detail.
Classical Waterfall Model…
 Object-Oriented design approach:

   Various objects that occur in the problem domain and

    the solution domain are first identified and the different
    relationships that exist among these objects are
    identified.

   Lower development time and effort.

   Better maintainability of the product.
Classical Waterfall Model…
4) Coding and Unit Testing:

   Translate the software design into source code.

   Coding phase is also called the implementation
    phase.

   The end product of this phase is a set of program
    modules that have been individually tested.
Classical Waterfall Model…
 After coding is complete, each module is unit tested.

 It determines the correct working of the individual
 modules during unit testing.
Classical Waterfall Model…
5) Integration and System Testing:

   The different modules are integrated in a planned
    manner.
   Integration is carried out incrementally over a
    number of steps.
   During each integration step, previously planned
    modules are added to the partially integrated system
    and the resultant system is tested.
Classical Waterfall Model…
 After all the modules have been successfully integrated
 and tested, system testing is carried out.

 Ensures that the developed system conforms to its
 requirements laid out in the SRS document.
Classical Waterfall Model…
 Consists of three different kinds of testing activities.

      -testing: Performed by the development team.

   β-testing: Performed by a friendly set of customers.

   Acceptance testing: Performed by the customer himself

      after the product delivery to determine whether to
      accept the delivered product or to reject it.
Classical Waterfall Model…
 Result of this phase are documented in the form of a
 test report.

 Test report summarizes the outcome of all the testing
 that were carried out during this phase.
Classical Waterfall Model…
6) Maintenance:

   Requires more effort than the effort necessary to
    develop the product itself.

   Involves performing any one or more of the following
    3 kinds of activities:
Classical Waterfall Model…
  Corrective maintenance: Involves correcting errors that

  were not discovered during the product development
  phase.

  Perfective maintenance: Involves improving the

  implementation of the system, and enhancing the
  system functionalities according to the customer’s
  requirements.
Classical Waterfall Model…
  Adaptive maintenance: Required for porting the

  software to work in a new environment.

Weitere ähnliche Inhalte

Was ist angesagt?

Bug life cycle
Bug life cycleBug life cycle
Bug life cycleBugRaptors
 
Rational unified process (rup)
Rational unified process (rup)Rational unified process (rup)
Rational unified process (rup)kdore
 
White Box Testing And Control Flow & Loop Testing
White Box Testing And Control Flow & Loop TestingWhite Box Testing And Control Flow & Loop Testing
White Box Testing And Control Flow & Loop TestingAnkit Mulani
 
SDLC- concept and models
SDLC- concept and modelsSDLC- concept and models
SDLC- concept and modelsAnjali Arora
 
SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)ghayour abbas
 
Software Testing
Software TestingSoftware Testing
Software TestingSengu Msc
 
Software Quality Analyst and Software Quality Management
Software Quality Analyst and Software Quality ManagementSoftware Quality Analyst and Software Quality Management
Software Quality Analyst and Software Quality Managementنور شزننا
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Al-Mamun Sarkar
 
Manual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaManual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaEdureka!
 
Difference between functional testing and non functional testing
Difference between functional testing and non functional testingDifference between functional testing and non functional testing
Difference between functional testing and non functional testingpooja deshmukh
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testingHadi Fadlallah
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts pptRathna Priya
 

Was ist angesagt? (20)

Bug life cycle
Bug life cycleBug life cycle
Bug life cycle
 
Rational unified process (rup)
Rational unified process (rup)Rational unified process (rup)
Rational unified process (rup)
 
White Box Testing And Control Flow & Loop Testing
White Box Testing And Control Flow & Loop TestingWhite Box Testing And Control Flow & Loop Testing
White Box Testing And Control Flow & Loop Testing
 
Manual testing
Manual testingManual testing
Manual testing
 
SDLC- concept and models
SDLC- concept and modelsSDLC- concept and models
SDLC- concept and models
 
Static Testing
Static Testing Static Testing
Static Testing
 
System testing
System testingSystem testing
System testing
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
 
Software Testing 4/5
Software Testing 4/5Software Testing 4/5
Software Testing 4/5
 
Testing
TestingTesting
Testing
 
SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Incremental model
Incremental modelIncremental model
Incremental model
 
Software Quality Analyst and Software Quality Management
Software Quality Analyst and Software Quality ManagementSoftware Quality Analyst and Software Quality Management
Software Quality Analyst and Software Quality Management
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Manual Testing Interview Questions | Edureka
Manual Testing Interview Questions | EdurekaManual Testing Interview Questions | Edureka
Manual Testing Interview Questions | Edureka
 
Difference between functional testing and non functional testing
Difference between functional testing and non functional testingDifference between functional testing and non functional testing
Difference between functional testing and non functional testing
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
SDLC vs STLC
SDLC vs STLCSDLC vs STLC
SDLC vs STLC
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
 

Andere mochten auch

Andere mochten auch (6)

Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Cohesion and coupling
Cohesion and couplingCohesion and coupling
Cohesion and coupling
 
System testing
System testingSystem testing
System testing
 
System testing ppt
System testing pptSystem testing ppt
System testing ppt
 
Process design
Process designProcess design
Process design
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 

Ähnlich wie Software engineering

SE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelSE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelAmr E. Mohamed
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software developmentPratik Devmurari
 
1. object oriented concepts & principles
1. object oriented concepts & principles 1. object oriented concepts & principles
1. object oriented concepts & principles poonam bora
 
System Development
System  DevelopmentSystem  Development
System DevelopmentSharad Patel
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
Software life-cycle
Software life-cycleSoftware life-cycle
Software life-cyclegnesoni
 
Software engineering.pptx
Software engineering.pptxSoftware engineering.pptx
Software engineering.pptxProvatMajhi
 
Waterfall models.ppt
Waterfall models.pptWaterfall models.ppt
Waterfall models.pptPawanRaj48
 
Software life-cycle
Software life-cycleSoftware life-cycle
Software life-cyclegnesoni
 
Software development PROCESS
Software development PROCESSSoftware development PROCESS
Software development PROCESSIvano Malavolta
 

Ähnlich wie Software engineering (20)

SE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelSE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle Model
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
 
1. object oriented concepts & principles
1. object oriented concepts & principles 1. object oriented concepts & principles
1. object oriented concepts & principles
 
2.SDLC Models.ppt
2.SDLC Models.ppt2.SDLC Models.ppt
2.SDLC Models.ppt
 
System Development
System  DevelopmentSystem  Development
System Development
 
2 (1).ppt
2 (1).ppt2 (1).ppt
2 (1).ppt
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Software life-cycle
Software life-cycleSoftware life-cycle
Software life-cycle
 
SE2.ppt
SE2.pptSE2.ppt
SE2.ppt
 
Software engineering.pptx
Software engineering.pptxSoftware engineering.pptx
Software engineering.pptx
 
3. ch 2-process model
3. ch 2-process model3. ch 2-process model
3. ch 2-process model
 
chapter 2 (1).ppt
chapter 2 (1).pptchapter 2 (1).ppt
chapter 2 (1).ppt
 
Waterfall models.ppt
Waterfall models.pptWaterfall models.ppt
Waterfall models.ppt
 
Model.ppt
Model.pptModel.ppt
Model.ppt
 
2. Software process
2. Software process2. Software process
2. Software process
 
SE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdfSE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdf
 
4 sdlc
4 sdlc4 sdlc
4 sdlc
 
Software life-cycle
Software life-cycleSoftware life-cycle
Software life-cycle
 
Software development PROCESS
Software development PROCESSSoftware development PROCESS
Software development PROCESS
 
SE notes by k. adisesha
SE notes by k. adiseshaSE notes by k. adisesha
SE notes by k. adisesha
 

Kürzlich hochgeladen

Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...RKavithamani
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 

Kürzlich hochgeladen (20)

Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 

Software engineering

  • 2. Introduction  Software:  Computer programs, procedures and possibly associated documentation and data pertaining to the operation of a computer system.  Software Engineering:  Engineering disciple that is concerned with all aspects of software production.
  • 3. Introduction…  Computer science is concerned with theory and fundamentals.  Software engineering is concerned with the practicalities of developing and delivering useful software.
  • 4. Software Programs  Developed by individuals for their personal use.  Small in size.  Limited functionality.  Lack good user interface and proper documentation.
  • 5. Software Products  Multiple users.  Good user interface.  Proper users’ manual.  Good documentation support.  Systematically designed, carefully implemented and thoroughly tested.
  • 6. Software Development Life Cycle  A series of identifiable stages that a software product undergoes during its lifetime. 1) Project planning, feasibility study. 2) Requirement analysis and specification. 3) Design. 4) Coding. 5) Testing. 6) Maintenance.
  • 7. Software Development Life Cycle…  A life cycle model defines entry and exit criteria for every phase.  A phase can begin only when the phase entry criteria are satisfied and can be considered to be complete only when the exit criteria are satisfied.
  • 8. 1. Feasibility Study  To determine whether it would be financially or technically feasible to develop the product.  Analyze the problem.  Collect all information relating to the product.
  • 9. 2. Requirement Analysis & Specification  To understand the problem.  Identify what is needed from the system, not how the system will achieve its goals.  Document the requirements in a SRS document.  Two major activities:  Problem understanding or analysis.  Requirement specification.
  • 10. Requirement Analysis & Specification…  Problem analysis:  To understand the problem and its context, and its requirements of the developing system.  Requirement specification:  Requirements must be specified in the requirement specification document.  Translates the ideas into a formal document.
  • 11. 3. Design  To plan a solution of the problem specified by the requirements document.  First step in moving from the problem domain to the solution domain.  Results in three separate outputs:  Architectural design  High level design  Detailed design
  • 12. 4. Coding  To translate the design of the system into code in a programming language.  Implement the design in the best possible manner.  Affects both testing and maintenance phases.
  • 13. 5. Testing  Major quality control measure used during software development.  Detect defects in the software.  Uncover requirement, design and coding errors.
  • 14. Testing… Unit Testing Different modules or components are tested individually. Integration Test the interconnection between modules. Testing Tested against the system requirements to see if all System Testing requirements are met and performs as specified by the requirements. Acceptance Performed to demonstrate to the client. Testing
  • 15. Testing…  This phase starts with a test plan.  Test plan satisfies:  Conditions that should be tested.  Different units to be tested.  Manner in which the modules will be integrated.  A test case specification document is produced for different test units.
  • 16. Testing…  The specified test cases are executed and the actual result is compared with the executed output.  List report and error report are the final outputs of testing phase.
  • 17. 6. Maintenance  Modification of a software product after delivery.  Performed to correct faults, to improve performance or other attributes.
  • 18.
  • 19. Software Life Cycle Models  A descriptive and diagrammatic model of a software life cycle.  Identifies all the activities required to develop and maintain a software and establishes a precedence ordering among the different activities.  The main advantages of adhering to a life cycle model is that it encourages development of software in a systematic and disciplined manner.
  • 20. Software Life Cycle Models…  Otherwise it leads to a problem called 99% complete syndrome.  Main models are waterfall model, prototyping model and spiral model.
  • 21. Classical Waterfall Model  Considered to be a theoretical way of developing software.  The diagrammatic representation of this model resembles a cascade of waterfalls.  This justifies the name of this model.
  • 22. Classical Waterfall Model… Feasibility study Requirements analysis and specification Design Coding and unit testing Integration and unit testing Maintenance
  • 23. Classical Waterfall Model…  Breaks down the life cycle into an intuitive set of phases.  The phases starting from the feasibility study to the integration and system testing phase are known as the development phases.  At the end of this phase, the product becomes ready to be delivered to the customer and the maintenance phase commences.
  • 24. Classical Waterfall Model… 1) Feasibility Study:  Determine whether it would be financially or technically feasible.  Involves analysis of the problem and collection of all relevant documents.
  • 25. Classical Waterfall Model…  The collected data are analyzed to arrive at the following:  An abstract problem definition.  Formulation of the different strategies for solving the problem.  Evaluation of the different solution strategies.
  • 26. Classical Waterfall Model… 2) Requirement analysis and specification:  Understand the exact requirements of the customer and to document them properly.  Two distinct activities:  Requirements gathering and analysis  Requirements specification
  • 27. Classical Waterfall Model…  Requirements gathering and analysis:  Collect all relevant information regarding the product to be developed from the customer with a view to clearly understand his requirements.  Weed out the incompleteness and inconsistencies in the collected requirements.
  • 28. Classical Waterfall Model…  Requirements specification:  Requirements are organized into a SRS document.  It contains the functional requirements, non-functional requirements and the goals of implementation.  SRS document be reviewed and approved by the customer.  Serves as a contract between the development team and the customer.
  • 29. Classical Waterfall Model… 3) Design:  Transform the requirements specified in the SRS document into a structure.  Software architecture is derived from the SRS document.  Two design approaches: traditional design approach and object-oriented design approach.
  • 30. Classical Waterfall Model…  Traditional design approach:  Based on the data flow-oriented design approach.  Consists of 2 important activities:  Structured analysis of the requirements specification is carried out where the detailed structure of the problem is examined.  During structured design, the results of structured analysis are transformed into the software design.
  • 31. Classical Waterfall Model…  Structured design consists of 2 main activities:  Architectural design (high-level design) involves decomposing the system into modules, and representing the interfaces and the invocation relationships among modules.  Also referred to as the software architecture.  Detailed design (low-level design): Internals of the individual modules are designed in greater detail.
  • 32. Classical Waterfall Model…  Object-Oriented design approach:  Various objects that occur in the problem domain and the solution domain are first identified and the different relationships that exist among these objects are identified.  Lower development time and effort.  Better maintainability of the product.
  • 33. Classical Waterfall Model… 4) Coding and Unit Testing:  Translate the software design into source code.  Coding phase is also called the implementation phase.  The end product of this phase is a set of program modules that have been individually tested.
  • 34. Classical Waterfall Model…  After coding is complete, each module is unit tested.  It determines the correct working of the individual modules during unit testing.
  • 35. Classical Waterfall Model… 5) Integration and System Testing:  The different modules are integrated in a planned manner.  Integration is carried out incrementally over a number of steps.  During each integration step, previously planned modules are added to the partially integrated system and the resultant system is tested.
  • 36. Classical Waterfall Model…  After all the modules have been successfully integrated and tested, system testing is carried out.  Ensures that the developed system conforms to its requirements laid out in the SRS document.
  • 37. Classical Waterfall Model…  Consists of three different kinds of testing activities.  -testing: Performed by the development team.  β-testing: Performed by a friendly set of customers.  Acceptance testing: Performed by the customer himself after the product delivery to determine whether to accept the delivered product or to reject it.
  • 38. Classical Waterfall Model…  Result of this phase are documented in the form of a test report.  Test report summarizes the outcome of all the testing that were carried out during this phase.
  • 39. Classical Waterfall Model… 6) Maintenance:  Requires more effort than the effort necessary to develop the product itself.  Involves performing any one or more of the following 3 kinds of activities:
  • 40. Classical Waterfall Model…  Corrective maintenance: Involves correcting errors that were not discovered during the product development phase.  Perfective maintenance: Involves improving the implementation of the system, and enhancing the system functionalities according to the customer’s requirements.
  • 41. Classical Waterfall Model…  Adaptive maintenance: Required for porting the software to work in a new environment.