SlideShare une entreprise Scribd logo
1  sur  99
Software
Development
Methodologies

 Damian Gordon
Timeline of Methodologies


1950s   Code & Fix
1960s   Design-Code-Test-Maintain
1970s   Waterfall Model
1980s   Spiral Model
1990s   V-Model/Rapid Application Development
2000s   Agile Methods
1950s: Code & Fix
Code-and-Fix
• Aka “Code-like-Hell”
  –Specification (maybe),
  –Code (yes),
  –Release (maybe)
• Suitable for prototypes or
  throwaways
Code-and-Fix
• Advantages
  – No overhead
  – Requires little expertise
• Disadvantages
  – No process, quality control, etc.
  – Highly risky
1960s: Design-Code-Test-Maintain
Design-Code-Test-Maintain
• Design:
  – Specify requirement diagrammatically
• Code:
  – Write the code
• Test:
  – Check if it is working
• Maintain:
  – Keep it up-to-date
Design-Code-Test-Maintain
• Advantages
  – More process control
  – Less risky
• Disadvantages
  – More Overhead
  – Requires more expretise
1970s: Waterfall Model
Managing the Development
of Large Software Systems
            by
       W.W. Royce
Reference
• Royce, W.W., 1970, "Managing the
  Development of Large Software Systems",
  Proceedings of IEEE WESCON 26 (August),
  pp.1–9.
Winston W. Royce
• Born in 1929.
• Died in 1995.
• An American computer scientist,
  director at Lockheed Software
  Technology Center in Austin,
  Texas, and one of the leaders in
  software development in the
  second half of the 20th century.
• He was the first person to
  describe the “Waterfall model”
  for software development,
  although Royce did not use the
  term "waterfall" in that article,
  nor advocated the waterfall
  model as a working methodology.
Introduction
• “I am going to describe my personal views about
  managing large software developments.
• I have had various assignments during the past nine
  years, mostly concerned with the development of
  software packages for spacecraft mission planning,
  commanding and post-flight analysis.
• In these assignments I have experienced different
  degrees of success with respect to arriving at an
  operational state, on-time, and within costs.
• I have become prejudiced by my experiences and I am
  going to relate some of these prejudices in this
  presentation.”
Small Developments
• For a small development, you only need the
  following steps
  – Typically done for programs for internal use
Large Developments
Large Developments


• System Requirements: Identify, select and
  document functional, scheduling and financial
  requirements.
Large Developments



• Software Requirements: Identify, select and
  document the software features necessary to
  satisfy the system requirements.
Large Developments




• Analysis: Methodically work through the
  details of each requirement.
Large Developments




• Program Design: Use programming
  techniques to design software and hardware
  within the constraints and objectives set in
  the earlier stages.
Large Developments




• Coding: Implement the program as designed
  in the earlier stages.
Large Developments




• Testing: Test the software and record the
  results.
Large Developments




• Operations: Deliver, install and
  configure the completed software.
Large Developments
Large Developments
Iterative Relationship between
Successive Development Phases
Iterative Relationship between
    Successive Development Phases
• Each step progresses and the design is further
  detailed, there is an iteration with the
  preceding and succeeding steps but rarely
  with the more remote steps in the sequence.
• The virtue of all of this is that as the design
  proceeds the change process is scoped down
  to manageable limits.
Unfortunately the design iterations are
never confined to the successive steps
Unfortunately the design iterations are
never confined to the successive steps
• The testing phase which occurs at the end of the
  development cycle is the first event for which
  timing, storage, input/output transfers, etc., are
  experienced as distinguished from analyzed.
• These phenomena are not precisely analyzable.
• Yet if these phenomena fail to satisfy the various
  external constraints, then invariably a major
  redesign is required.
How do we fix this?
Five Steps
1.   Program Design comes first
2.   Document the Design
3.   Do it twice
4.   Plan, Control and Monitor Testing
5.   Involve the Customer
1. Program Design comes first
• A preliminary program design phase has been
  inserted between the Software Requirements
  Generation phase and the Analysis phase.
1. Program Design comes first
1. Program Design comes first
• The following steps are required:
1) Begin the design process with program
  designers, not analysts or programmers.
2) Design, define and allocate the data
  processing modes.
3) Write an overview document that is
  understandable, informative and current.
2. Document the Design
• “How much documentation?"
• “Quite a lot"
• More than most programmers, analysts, or
  program designers are willing to do if left to
  their own devices.
• The first rule of managing software
  development is ruthless enforcement of
  documentation requirements.
2. Document the Design
3. Do It Twice
• Create a pilot study
• If the computer program in question is being
  developed for the first time, arrange matters
  so that the version finally delivered to the
  customer for operational deployment is
  actually the second version insofar as critical
  design/operations areas are concerned.
3. Do It Twice
4. Plan, Control and Monitor Testing
• Without question the biggest user of project
  resources, whether it be manpower, computer
  time, or management judgment, is the test
  phase. It is the phase of greatest risk in terms
  of dollars and schedule.
4. Plan, Control and Monitor Testing
4. Plan, Control and Monitor Testing
1) Many parts of the test process are best handled
  by test specialists who did not necessarily
  contribute to the original design.
2) Most errors are of an obvious nature that can be
  easily spotted by visual inspection.
3) Test every logic path in the computer program at
  least once with some kind of numerical check.
4) After the simple errors (which are in the majority,
  and which obscure the big mistakes) are
  removed, then it is time to turn over the software
  to the test area for checkout purposes.
5. Involve the Customer
• For some reason what a software design is
  going to do is subject to wide interpretation
  even after previous agreement.
• It is important to involve the customer in a
  formal way so that he has committed himself
  at earlier points before final delivery.
• To give the contractor free rein between
  requirement definition and operation is
  inviting trouble.
5. Involve the Customer
Summary
1980s: Spiral Model
A Spiral Model of Software
Development and Enhancement
              by
         Barry Boehm
Reference
• Boehm, B., 1986, "A Spiral Model of Software
  Development and Enhancement", ACM
  SIGSOFT Software Engineering Notes, 11(4)
  (August), pp.14-24.
Barry Boehm
• Born in 1935.
• An American software
  engineer, TRW Emeritus
  Professor of Software
  Engineering at the
  Computer Science
  Department of the
  University of Southern
  California.
• Known for his many
  contributions to software
  engineering.
“Stop the life cycle—I want to get off!”
    “Life-cycle Concept Considered Harmful.”
    “ The waterfall model is dead.”
    “No, it isn’t, but it should be.”
                                                            Introduction
•   “These statements exemplify the current debate about software life-cycle process
    models. The topic has recently received a great deal of attention.
•   The Defense Science Board Task Force Report on Military Software issued in 1987
    highlighted the concern that traditional software process models were discouraging
    more effective approaches to software development such as prototyping and software
    reuse. The Computer Society has sponsored tutorials and workshops on software
    process models that have helped clarify many of the issues and stimulated advances in
    the field (see “Further Reading”).
•   The spiral model presented in this article is one candidate for improving the software
    process model situation. The major distinguishing feature of the spiral model is that it
    creates a risk-driven approach to the software process rather than a primarily
    document-driven or code-driven process. It incorporates many of the strengths of other
    models and resolves many of their difficulties.
•   This article opens with a short description of software process models and the issues
    they address. Subsequent sections outline the process steps involved in the spiral
    model; illustrate the application of the spiral model to a software project, using the
    TRW Software Productivity Project as an example; summarize the primary advantages
    and implications involved in using the spiral model and the primary difficulties in using
    it at its current incomplete level of elaboration; and present resulting conclusions.”
Background
• The primary functions of a software process
  model are to determine the order of the
  stages involved in software development and
  evolution and to establish the transition
  criteria for progressing from one stage to the
  next.
Background
• Thus the key questions that a process model
  must consider are:

  1) What shall we do next?
  2) How long shall we continue to do it?
Background
• Problems with the Waterfall Model
• It emphasises fully elaborated documents as a
  completion criteria for the stages. This may
  not be always desirable, for example, for end-
  user applications a large amount of
  documentation is not necessarily desirable or
  needed.
The Spiral Model
• The spiral model of the software process has
  been evolving for several years, based on
  experience with various refinements of the
  waterfall model as applied to large
  government software projects.
The Spiral Model
• The radial dimension represents the cumulative
  cost incurred in accomplishing the steps to date;
  the angular dimension represents the progress
  made in completing each cycle of the spiral.
• The model reflects the underlying concept that
  each cycle involves a progression that addresses
  the same sequence of steps, for each portion of
  the product and for each of its levels of
  elaboration, from an overall concept of operation
  document down to the coding of each individual
  program.
1
The Spiral Model
• A typical cycle of the spiral. Each cycle of the
  spiral begins with the identification of
  – the objectives of the portion of the product being
    elaborated (performance, functionality, ability to
    accommodate change, etc.);
  – the alternative means of implementing this
    portion of the product (design A , design
    B, reuse, buy, etc.); and
  – the constraints imposed on the application of the
    alternatives (cost, schedule, inter-face, etc.).
2
The Spiral Model
• The next step is to evaluate the alternatives relative to
  the objectives and constraints.
• Frequently, this process will identify areas of
  uncertainty that are significant sources of project risk.
• If so, the next step should involve the formulation of a
  cost-effective strategy for resolving the sources of risk.
• This may involve prototyping, simulation,
  benchmarking, reference checking, administering user
  questionnaires, analytic modelling, or combinations of
  these and other risk resolution techniques.
3
The Spiral Model
• Once the risks are evaluated, the next step is
  determined by the relative remaining risks.
• If performance or user-interface risks strongly
  dominate program development or internal
  interface-control risks, the next step may be an
  evolutionary development one: a minimal effort
  to specify the overall nature of the product, a
  plan for the next level of prototyping, and the
  development of a more detailed prototype to
  continue to resolve the major risk issues.
4
The Spiral Model
• If this prototype is operationally useful and robust enough to serve
  as a low-risk base for future product evolution, the subsequent risk-
  driven steps would be the evolving series of evolutionary
  prototypes going toward the right of the figure.
• In this case, the option of writing specifications would be addressed
  but not exercised. Thus, risk considerations can lead to a project
  implementing only a subset of all the potential steps in the model.
• On the other hand, if previous prototyping efforts have already
  resolved all of the performance or user-interface risks, and program
  development or interface-control risks dominate, the next step
  follows the basic waterfall approach (concept of operation, soft-
  ware requirements, preliminary design, etc.), modified as
  appropriate to incorporate incremental development.
• Each level of software specification in the figure is then followed by
  a validation step and the preparation of plans for the succeeding
  cycle.
A prioritized top-ten list
 of software risk items
Risk Item                    Risk Management Techniques
1.    Personnel shortfalls         Staffing with top talent, job matching; teambuilding; morale
                                   building; cross-training; pre-scheduling key people
2.    Unrealistic schedules and    Detailed, multisource cost and schedule estimation; design
      budgets                      to cost; incremental development; software reuse;
                                   requirements scrubbing
3.    Developing the wrong         Organization analysis; mission analysis; ops-concept
      software functions           formulation; user surveys; prototyping; early users’ manuals
4.    Developing the wrong user    Task analysis; prototyping; scenarios; user characterization
      interface                    (functionality, style, workload)
5.    Gold plating                 Requirements scrubbing; prototyping; cost-benefit analysis;
                                   design to cost
6.    Continuing stream of         High change threshold; information hiding; incremental
      requirement changes          development (defer changes to later increments)
7.    Shortfalls in externally     Benchmarking; inspections; reference checking;
      furnished components         compatibility analysis
8.    Shortfalls in externally     Reference checking; pre-award audits; award-fee contracts;
      performed tasks              competitive design or prototyping; teambuilding
9.    Real-time performance        Simulation; benchmarking; modelling; prototyping;
      shortfalls                   instrumentation; tuning
10.   Straining computer-science   Technical analysis; cost—benefit analysis; prototyping;
      capabilities                 reference checking
1990s: The V-Model and
Rapid Application Development
The Relationship of System
Engineering to the Project Cycle
              by
Kevin Forsberg and Harold Mooz
Reference
• Forsberg, K., Mooz, H., 1991, "The
  Relationship of System Engineering to the
  Project Cycle", Chattanooga, Tennessee:
  Proceedings of the National Council for
  Systems Engineering (NCOSE) Conference, pp.
  57–65.
Abstract
• “A new way of portraying the technical aspect of the
  project cycle clarifies the role and responsibility of
  system engineering to a project. This new three
  dimensional graphic illustrates the end-to-end
  involvement of system engineering in the project
  cycle, clarifies the relationship of system engineering
  and design engineering, and encourages the
  implementation of concurrent engineering.”
Introduction
• The Waterfall Model
  has a deficiency in that
  it implies that the work
  downstream cannot
  begin until the
  upstream major reviews
  have occurred.
Introduction
• The Spiral Model is
  better since it ensures
  prototyping occurs
  earlier, but the role of
  software engineering in
  the overall process is
  unclear.
The “Vee” Model
• Start with the user needs on the upper
  right, and ending with a user-validated system
  on the upper right.
Detailed Discussion of
            the “Vee” Model
• Start with the user needs on the upper right,
  and ending with a user-validated system on
  the upper right.
Detailed Discussion of
                    the “Vee” Model
• As project development progresses, a series of six baselines are
  established to systematically manage cohesive system development:
    – The first is the “User Requirements Baseline” established by the System
      Requirement Document approved and put under Configuration Management
      prior to the System Requirements Review.
    – The second is the “Concept Baseline” established by the Concept Definition
      section of the Integrated Program Summary document at the System
      Requirements Review.
    – The third is the “System Performance Baseline” (or Development Baseline)
      established by the System Performance Specification at the System Design
      Review.
    – The fourth is the “‘Design-To’ Baseline” (or Allocated Baseline) established at
      the series of Preliminary Design Reviews.
    – The fifth is the “‘Build-To’ Baseline” (or preliminary Product Baseline)
      established at the series of Critical Design Reviews.
    – The sixth is the “‘As-Built’ Baseline” (or Production Baseline) established at the
      series of Formal Qualification Reviews (FQRs). Each of the baselines is put
      under formal Configuration Management at the time they are approved.
Detailed Discussion of
             the “Vee” Model
• Incremental Development
• If the User Requirements are too vague to permit
  final definition at Preliminary Design Review, one
  approach is to develop the project in
  predetermined incremental releases.
• The first release is focused on meeting a
  minimum set of User Requirements, with
  subsequent releases providing added
  functionality and performance. This is a common
  approach in software development.
Detailed Discussion of
             the “Vee” Model
• Concurrent Engineering
• If high iteration with User Requirements is
  required after the System Design Review (SDR), it
  is probable that the project has passed early
  Control Gates prematurely, and it is not
  sufficiently defined.
• One cause of premature advance is that the
  appropriate technical experts were not involved
  at early stages, resulting in acceptance of
  requirements and design concepts which cannot
  be built, inspected, and/or maintained.
RAD: Rapid Application
    Development
         by
    James Martin
Reference
• Martin, J., RAD: Rapid Application
  Development, 1991, MacMillan Publishing Co.,
  New York.
James Martin
• Born in 1933.
• Born in Ashby,
  Leicestershire
• a British Information
  Technology consultant
  and author, who was
  nominated for a Pulitzer
  prize for his book, The
  Wired Society: A
  Challenge for Tomorrow
  (1977).
Rapid Application Development
• Rapid Application Development
   – 1. Joint Requirements Planning (JRP)
   – 2. Joint Application Design (JAD)
   – 3. Construction
      • Heavy use of tools: code generators
      • Time-boxed; many prototypes
   – 4. Cutover
• Good for systems with extensive user input available
Rapid Application Development
Rapid Application Development
Rapid Application Development
• RAD is a way to deliver systems very fast
   – The longer a project, the greater its likelihood of failure
• It is a lightweight approach
• Uses proven technology effectively
• Make the solution fit within the capabilities of the tools
  (hammer?)
• RAD is not Quick and Dirty with a thin veneer of discipline
• RAD operates where the 80 / 20 rule applies
• RAD can’t be used in all situations
2000s: Agile Development
Manifesto for Agile Software
      Development
            by
     Kent Beck       James Grenning    Robert C. Martin
    Mike Beedle       Jim Highsmith       Steve Mellor
Arie van Bennekum     Andrew Hunt        Ken Schwaber
 Alistair Cockburn      Ron Jeffries    Jeff Sutherland
Ward Cunningham          Jon Kern        Dave Thomas
   Martin Fowler       Brian Marick
Reference
• Beck, K. et al., 2001, "Manifesto for Agile
  Software Development“, Agile Alliance.
Background
• In February 2001, 17 software developers met at
  the Snowbird, Utah resort, to discuss lightweight
  development methods.
• They published the Manifesto for Agile Software
  Development to define the approach now known
  as agile software development.
• Some of the manifesto's authors formed the Agile
  Alliance, a non-profit organization that promotes
  software development according to the
  manifesto's principles.
Manifesto for Agile Software Development

         We are uncovering better ways of developing
          software by doing it and helping others do it.
           Through this work we have come to value:

      Individuals and interactions over processes and tools
       Working software over comprehensive documentation
         Customer collaboration over contract negotiation
             Responding to change over following a plan

           That is, while there is value in the items on
           the right, we value the items on the left more.
Agile Methods
• Well-known agile software development methods
  include:
  –   Agile Modelling
  –   Agile Unified Process (AUP)
  –   Dynamic Systems Development Method (DSDM)
  –   Essential Unified Process (EssUP)
  –   Extreme Programming (XP)
  –   Feature Driven Development (FDD)
  –   Open Unified Process (OpenUP)
  –   Scrum
  –   Velocity tracking

Contenu connexe

Tendances

Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)ShudipPal
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Fadhil Ismail
 
Advanced topics in software engineering
Advanced topics in software engineeringAdvanced topics in software engineering
Advanced topics in software engineeringRupesh Vaishnav
 
Ch 7 integrating quality activities in the projectlife cycle
Ch 7 integrating quality activities in the projectlife cycleCh 7 integrating quality activities in the projectlife cycle
Ch 7 integrating quality activities in the projectlife cycleKittitouch Suteeca
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)Nishkarsh Gupta
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement AnalysisSADEED AMEEN
 
Software development slides
Software development slidesSoftware development slides
Software development slidesiarthur
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptxubaidullah75790
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsHassan A-j
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process ModelsAhsan Rahim
 
Unit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.pptUnit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.pptDrTThendralCompSci
 
Software Coding- Software Coding
Software Coding- Software CodingSoftware Coding- Software Coding
Software Coding- Software CodingNikhil Pandit
 
Software Engineering - chp3- design
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- designLilia Sfaxi
 

Tendances (20)

Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 
Ch 8 configuration management
Ch 8 configuration managementCh 8 configuration management
Ch 8 configuration management
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
Advanced topics in software engineering
Advanced topics in software engineeringAdvanced topics in software engineering
Advanced topics in software engineering
 
Ch 7 integrating quality activities in the projectlife cycle
Ch 7 integrating quality activities in the projectlife cycleCh 7 integrating quality activities in the projectlife cycle
Ch 7 integrating quality activities in the projectlife cycle
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Software development slides
Software development slidesSoftware development slides
Software development slides
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 
Unit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.pptUnit 1 - Introduction to Software Engineering.ppt
Unit 1 - Introduction to Software Engineering.ppt
 
software quality
software qualitysoftware quality
software quality
 
Software Coding- Software Coding
Software Coding- Software CodingSoftware Coding- Software Coding
Software Coding- Software Coding
 
Software Engineering - chp3- design
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- design
 
SOFTWARE ENGINEERING
SOFTWARE ENGINEERINGSOFTWARE ENGINEERING
SOFTWARE ENGINEERING
 

En vedette

Methodologies of Software Engineering
Methodologies of Software EngineeringMethodologies of Software Engineering
Methodologies of Software EngineeringKaya Ota
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesKiran Munir
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering MethodologiesNesrine Shokry
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and MethodsRiant Soft
 
Library mangement system project srs documentation.doc
Library mangement system project srs documentation.docLibrary mangement system project srs documentation.doc
Library mangement system project srs documentation.docjimmykhan
 
Software development methodologies
Software development methodologiesSoftware development methodologies
Software development methodologiesAnkita Lachhwani
 
software development methodologies and their application
software development methodologies and their applicationsoftware development methodologies and their application
software development methodologies and their applicationmadhusha udayangani
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Code of ethics ppt
Code of ethics pptCode of ethics ppt
Code of ethics pptaneez103
 
Software requirements specification of Library Management System
Software requirements specification of Library Management SystemSoftware requirements specification of Library Management System
Software requirements specification of Library Management SystemSoumili Sen
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering pptshruths2890
 
6 basic steps of software development process
6 basic steps of software development process6 basic steps of software development process
6 basic steps of software development processRiant Soft
 
Software requirement enginering
Software requirement engineringSoftware requirement enginering
Software requirement engineringWajid Ali
 
Scrum model in game development
Scrum model in game developmentScrum model in game development
Scrum model in game developmentaction.vn
 
Empirical research methods for software engineering
Empirical research methods for software engineeringEmpirical research methods for software engineering
Empirical research methods for software engineeringsarfraznawaz
 

En vedette (20)

Methodologies of Software Engineering
Methodologies of Software EngineeringMethodologies of Software Engineering
Methodologies of Software Engineering
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and Methods
 
Library mangement system project srs documentation.doc
Library mangement system project srs documentation.docLibrary mangement system project srs documentation.doc
Library mangement system project srs documentation.doc
 
Software development methodologies
Software development methodologiesSoftware development methodologies
Software development methodologies
 
software development methodologies and their application
software development methodologies and their applicationsoftware development methodologies and their application
software development methodologies and their application
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development Process
 
Software design methodologies
Software design methodologiesSoftware design methodologies
Software design methodologies
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Code of ethics ppt
Code of ethics pptCode of ethics ppt
Code of ethics ppt
 
Software requirements specification of Library Management System
Software requirements specification of Library Management SystemSoftware requirements specification of Library Management System
Software requirements specification of Library Management System
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 
6 basic steps of software development process
6 basic steps of software development process6 basic steps of software development process
6 basic steps of software development process
 
Software requirement enginering
Software requirement engineringSoftware requirement enginering
Software requirement enginering
 
Scrum model in game development
Scrum model in game developmentScrum model in game development
Scrum model in game development
 
Empirical research methods for software engineering
Empirical research methods for software engineeringEmpirical research methods for software engineering
Empirical research methods for software engineering
 
Lesson 02.2
Lesson 02.2Lesson 02.2
Lesson 02.2
 

Similaire à Software Engineering Methodologies

Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03YousefYassin5
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Jkumararaja
 
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...WrushabhShirsat3
 
Software vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfSoftware vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfavishekpradhan24
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process modelssnehalkulkarni74
 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process ModelsAjit Nayak
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineeringArun Nair
 
Conventional software Management---.pptx
Conventional software Management---.pptxConventional software Management---.pptx
Conventional software Management---.pptxTONY562
 
Introduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxIntroduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxAbcXyz302255
 

Similaire à Software Engineering Methodologies (20)

The Waterfall Model
The Waterfall ModelThe Waterfall Model
The Waterfall Model
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03
 
The Software Development Process
The Software Development ProcessThe Software Development Process
The Software Development Process
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
 
The Spiral Model
The Spiral ModelThe Spiral Model
The Spiral Model
 
Software vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfSoftware vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdf
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process models
 
WaterFall Model.ppt
WaterFall Model.pptWaterFall Model.ppt
WaterFall Model.ppt
 
Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process Models
 
Unified process
Unified processUnified process
Unified process
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
Conventional software Management---.pptx
Conventional software Management---.pptxConventional software Management---.pptx
Conventional software Management---.pptx
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Introduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxIntroduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptx
 

Plus de Damian T. Gordon

Universal Design for Learning, Co-Designing with Students.
Universal Design for Learning, Co-Designing with Students.Universal Design for Learning, Co-Designing with Students.
Universal Design for Learning, Co-Designing with Students.Damian T. Gordon
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesDamian T. Gordon
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud ComputingDamian T. Gordon
 
Evaluating Teaching: SECTIONS
Evaluating Teaching: SECTIONSEvaluating Teaching: SECTIONS
Evaluating Teaching: SECTIONSDamian T. Gordon
 
Evaluating Teaching: MERLOT
Evaluating Teaching: MERLOTEvaluating Teaching: MERLOT
Evaluating Teaching: MERLOTDamian T. Gordon
 
Evaluating Teaching: Anstey and Watson Rubric
Evaluating Teaching: Anstey and Watson RubricEvaluating Teaching: Anstey and Watson Rubric
Evaluating Teaching: Anstey and Watson RubricDamian T. Gordon
 
Designing Teaching: Pause Procedure
Designing Teaching: Pause ProcedureDesigning Teaching: Pause Procedure
Designing Teaching: Pause ProcedureDamian T. Gordon
 
Designing Teaching: ASSURE
Designing Teaching: ASSUREDesigning Teaching: ASSURE
Designing Teaching: ASSUREDamian T. Gordon
 
Designing Teaching: Laurilliard's Learning Types
Designing Teaching: Laurilliard's Learning TypesDesigning Teaching: Laurilliard's Learning Types
Designing Teaching: Laurilliard's Learning TypesDamian T. Gordon
 
Designing Teaching: Gagne's Nine Events of Instruction
Designing Teaching: Gagne's Nine Events of InstructionDesigning Teaching: Gagne's Nine Events of Instruction
Designing Teaching: Gagne's Nine Events of InstructionDamian T. Gordon
 
Designing Teaching: Elaboration Theory
Designing Teaching: Elaboration TheoryDesigning Teaching: Elaboration Theory
Designing Teaching: Elaboration TheoryDamian T. Gordon
 
Universally Designed Learning Spaces: Some Considerations
Universally Designed Learning Spaces: Some ConsiderationsUniversally Designed Learning Spaces: Some Considerations
Universally Designed Learning Spaces: Some ConsiderationsDamian T. Gordon
 

Plus de Damian T. Gordon (20)

Universal Design for Learning, Co-Designing with Students.
Universal Design for Learning, Co-Designing with Students.Universal Design for Learning, Co-Designing with Students.
Universal Design for Learning, Co-Designing with Students.
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
REST and RESTful Services
REST and RESTful ServicesREST and RESTful Services
REST and RESTful Services
 
Serverless Computing
Serverless ComputingServerless Computing
Serverless Computing
 
Cloud Identity Management
Cloud Identity ManagementCloud Identity Management
Cloud Identity Management
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
Introduction to ChatGPT
Introduction to ChatGPTIntroduction to ChatGPT
Introduction to ChatGPT
 
How to Argue Logically
How to Argue LogicallyHow to Argue Logically
How to Argue Logically
 
Evaluating Teaching: SECTIONS
Evaluating Teaching: SECTIONSEvaluating Teaching: SECTIONS
Evaluating Teaching: SECTIONS
 
Evaluating Teaching: MERLOT
Evaluating Teaching: MERLOTEvaluating Teaching: MERLOT
Evaluating Teaching: MERLOT
 
Evaluating Teaching: Anstey and Watson Rubric
Evaluating Teaching: Anstey and Watson RubricEvaluating Teaching: Anstey and Watson Rubric
Evaluating Teaching: Anstey and Watson Rubric
 
Evaluating Teaching: LORI
Evaluating Teaching: LORIEvaluating Teaching: LORI
Evaluating Teaching: LORI
 
Designing Teaching: Pause Procedure
Designing Teaching: Pause ProcedureDesigning Teaching: Pause Procedure
Designing Teaching: Pause Procedure
 
Designing Teaching: ADDIE
Designing Teaching: ADDIEDesigning Teaching: ADDIE
Designing Teaching: ADDIE
 
Designing Teaching: ASSURE
Designing Teaching: ASSUREDesigning Teaching: ASSURE
Designing Teaching: ASSURE
 
Designing Teaching: Laurilliard's Learning Types
Designing Teaching: Laurilliard's Learning TypesDesigning Teaching: Laurilliard's Learning Types
Designing Teaching: Laurilliard's Learning Types
 
Designing Teaching: Gagne's Nine Events of Instruction
Designing Teaching: Gagne's Nine Events of InstructionDesigning Teaching: Gagne's Nine Events of Instruction
Designing Teaching: Gagne's Nine Events of Instruction
 
Designing Teaching: Elaboration Theory
Designing Teaching: Elaboration TheoryDesigning Teaching: Elaboration Theory
Designing Teaching: Elaboration Theory
 
Universally Designed Learning Spaces: Some Considerations
Universally Designed Learning Spaces: Some ConsiderationsUniversally Designed Learning Spaces: Some Considerations
Universally Designed Learning Spaces: Some Considerations
 

Dernier

Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034 Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034  Independent Chenna...Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034  Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034 Independent Chenna... Shivani Pandey
 
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...rahim quresi
 
❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.
❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.
❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.Nitya salvi
 
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...ritikasharma
 
Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448ont65320
 
College Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls Service
College Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls ServiceCollege Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls Service
College Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls ServiceNitya salvi
 
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser... Shivani Pandey
 
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...noor ahmed
 
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...ritikasharma
 
Top Rated Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...
Top Rated  Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...Top Rated  Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...
Top Rated Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...Call Girls in Nagpur High Profile
 
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...noor ahmed
 
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...SUHANI PANDEY
 
Russian Escorts Agency In Goa 💚 9316020077 💚 Russian Call Girl Goa
Russian Escorts Agency In Goa  💚 9316020077 💚 Russian Call Girl GoaRussian Escorts Agency In Goa  💚 9316020077 💚 Russian Call Girl Goa
Russian Escorts Agency In Goa 💚 9316020077 💚 Russian Call Girl Goasexy call girls service in goa
 
𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...rahim quresi
 
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...ritikasharma
 
Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...
Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...
Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...Riya Pathan
 
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...russian goa call girl and escorts service
 
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...noor ahmed
 

Dernier (20)

Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034 Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034  Independent Chenna...Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034  Independent Chenna...
Verified Trusted Call Girls Tambaram Chennai ✔✔7427069034 Independent Chenna...
 
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
 
❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.
❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.
❤Personal Whatsapp Number Keylong Call Girls 8617697112 💦✅.
 
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...
Hotel And Home Service Available Kolkata Call Girls Howrah ✔ 6297143586 ✔Call...
 
CHEAP Call Girls in Malviya Nagar, (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in  Malviya Nagar, (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in  Malviya Nagar, (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Malviya Nagar, (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448Beautiful 😋 Call girls in Lahore 03210033448
Beautiful 😋 Call girls in Lahore 03210033448
 
College Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls Service
College Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls ServiceCollege Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls Service
College Call Girls Pune 8617697112 Short 1500 Night 6000 Best call girls Service
 
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
Model Call Girls In Pazhavanthangal WhatsApp Booking 7427069034 call girl ser...
 
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...
Independent Joka Escorts ✔ 8250192130 ✔ Full Night With Room Online Booking 2...
 
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...
Hotel And Home Service Available Kolkata Call Girls Sonagachi ✔ 6297143586 ✔C...
 
Top Rated Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...
Top Rated  Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...Top Rated  Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...
Top Rated Pune Call Girls Pimpri Chinchwad ⟟ 6297143586 ⟟ Call Me For Genuin...
 
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
↑Top Model (Kolkata) Call Girls Sonagachi ⟟ 8250192130 ⟟ High Class Call Girl...
 
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
VIP Model Call Girls Budhwar Peth ( Pune ) Call ON 8005736733 Starting From 5...
 
Russian Escorts Agency In Goa 💚 9316020077 💚 Russian Call Girl Goa
Russian Escorts Agency In Goa  💚 9316020077 💚 Russian Call Girl GoaRussian Escorts Agency In Goa  💚 9316020077 💚 Russian Call Girl Goa
Russian Escorts Agency In Goa 💚 9316020077 💚 Russian Call Girl Goa
 
Russian ℂall gIRLS In Goa 9316020077 ℂall gIRLS Service In Goa
Russian ℂall gIRLS In Goa 9316020077  ℂall gIRLS Service  In GoaRussian ℂall gIRLS In Goa 9316020077  ℂall gIRLS Service  In Goa
Russian ℂall gIRLS In Goa 9316020077 ℂall gIRLS Service In Goa
 
𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
𓀤Call On 6297143586 𓀤 Sonagachi Call Girls In All Kolkata 24/7 Provide Call W...
 
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...
Book Sex Workers Available Kolkata Call Girls Service Airport Kolkata ✔ 62971...
 
Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...
Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...
Independent Garulia Escorts ✔ 9332606886✔ Full Night With Room Online Booking...
 
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
 
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...
 

Software Engineering Methodologies

  • 2. Timeline of Methodologies 1950s Code & Fix 1960s Design-Code-Test-Maintain 1970s Waterfall Model 1980s Spiral Model 1990s V-Model/Rapid Application Development 2000s Agile Methods
  • 4. Code-and-Fix • Aka “Code-like-Hell” –Specification (maybe), –Code (yes), –Release (maybe) • Suitable for prototypes or throwaways
  • 5. Code-and-Fix • Advantages – No overhead – Requires little expertise • Disadvantages – No process, quality control, etc. – Highly risky
  • 7. Design-Code-Test-Maintain • Design: – Specify requirement diagrammatically • Code: – Write the code • Test: – Check if it is working • Maintain: – Keep it up-to-date
  • 8. Design-Code-Test-Maintain • Advantages – More process control – Less risky • Disadvantages – More Overhead – Requires more expretise
  • 10. Managing the Development of Large Software Systems by W.W. Royce
  • 11. Reference • Royce, W.W., 1970, "Managing the Development of Large Software Systems", Proceedings of IEEE WESCON 26 (August), pp.1–9.
  • 12. Winston W. Royce • Born in 1929. • Died in 1995. • An American computer scientist, director at Lockheed Software Technology Center in Austin, Texas, and one of the leaders in software development in the second half of the 20th century. • He was the first person to describe the “Waterfall model” for software development, although Royce did not use the term "waterfall" in that article, nor advocated the waterfall model as a working methodology.
  • 13. Introduction • “I am going to describe my personal views about managing large software developments. • I have had various assignments during the past nine years, mostly concerned with the development of software packages for spacecraft mission planning, commanding and post-flight analysis. • In these assignments I have experienced different degrees of success with respect to arriving at an operational state, on-time, and within costs. • I have become prejudiced by my experiences and I am going to relate some of these prejudices in this presentation.”
  • 14. Small Developments • For a small development, you only need the following steps – Typically done for programs for internal use
  • 16. Large Developments • System Requirements: Identify, select and document functional, scheduling and financial requirements.
  • 17. Large Developments • Software Requirements: Identify, select and document the software features necessary to satisfy the system requirements.
  • 18. Large Developments • Analysis: Methodically work through the details of each requirement.
  • 19. Large Developments • Program Design: Use programming techniques to design software and hardware within the constraints and objectives set in the earlier stages.
  • 20. Large Developments • Coding: Implement the program as designed in the earlier stages.
  • 21. Large Developments • Testing: Test the software and record the results.
  • 22. Large Developments • Operations: Deliver, install and configure the completed software.
  • 26. Iterative Relationship between Successive Development Phases • Each step progresses and the design is further detailed, there is an iteration with the preceding and succeeding steps but rarely with the more remote steps in the sequence. • The virtue of all of this is that as the design proceeds the change process is scoped down to manageable limits.
  • 27. Unfortunately the design iterations are never confined to the successive steps
  • 28. Unfortunately the design iterations are never confined to the successive steps • The testing phase which occurs at the end of the development cycle is the first event for which timing, storage, input/output transfers, etc., are experienced as distinguished from analyzed. • These phenomena are not precisely analyzable. • Yet if these phenomena fail to satisfy the various external constraints, then invariably a major redesign is required.
  • 29. How do we fix this?
  • 30. Five Steps 1. Program Design comes first 2. Document the Design 3. Do it twice 4. Plan, Control and Monitor Testing 5. Involve the Customer
  • 31. 1. Program Design comes first • A preliminary program design phase has been inserted between the Software Requirements Generation phase and the Analysis phase.
  • 32. 1. Program Design comes first
  • 33. 1. Program Design comes first • The following steps are required: 1) Begin the design process with program designers, not analysts or programmers. 2) Design, define and allocate the data processing modes. 3) Write an overview document that is understandable, informative and current.
  • 34. 2. Document the Design • “How much documentation?" • “Quite a lot" • More than most programmers, analysts, or program designers are willing to do if left to their own devices. • The first rule of managing software development is ruthless enforcement of documentation requirements.
  • 35. 2. Document the Design
  • 36. 3. Do It Twice • Create a pilot study • If the computer program in question is being developed for the first time, arrange matters so that the version finally delivered to the customer for operational deployment is actually the second version insofar as critical design/operations areas are concerned.
  • 37. 3. Do It Twice
  • 38. 4. Plan, Control and Monitor Testing • Without question the biggest user of project resources, whether it be manpower, computer time, or management judgment, is the test phase. It is the phase of greatest risk in terms of dollars and schedule.
  • 39. 4. Plan, Control and Monitor Testing
  • 40. 4. Plan, Control and Monitor Testing 1) Many parts of the test process are best handled by test specialists who did not necessarily contribute to the original design. 2) Most errors are of an obvious nature that can be easily spotted by visual inspection. 3) Test every logic path in the computer program at least once with some kind of numerical check. 4) After the simple errors (which are in the majority, and which obscure the big mistakes) are removed, then it is time to turn over the software to the test area for checkout purposes.
  • 41. 5. Involve the Customer • For some reason what a software design is going to do is subject to wide interpretation even after previous agreement. • It is important to involve the customer in a formal way so that he has committed himself at earlier points before final delivery. • To give the contractor free rein between requirement definition and operation is inviting trouble.
  • 42. 5. Involve the Customer
  • 45. A Spiral Model of Software Development and Enhancement by Barry Boehm
  • 46. Reference • Boehm, B., 1986, "A Spiral Model of Software Development and Enhancement", ACM SIGSOFT Software Engineering Notes, 11(4) (August), pp.14-24.
  • 47. Barry Boehm • Born in 1935. • An American software engineer, TRW Emeritus Professor of Software Engineering at the Computer Science Department of the University of Southern California. • Known for his many contributions to software engineering.
  • 48. “Stop the life cycle—I want to get off!” “Life-cycle Concept Considered Harmful.” “ The waterfall model is dead.” “No, it isn’t, but it should be.” Introduction • “These statements exemplify the current debate about software life-cycle process models. The topic has recently received a great deal of attention. • The Defense Science Board Task Force Report on Military Software issued in 1987 highlighted the concern that traditional software process models were discouraging more effective approaches to software development such as prototyping and software reuse. The Computer Society has sponsored tutorials and workshops on software process models that have helped clarify many of the issues and stimulated advances in the field (see “Further Reading”). • The spiral model presented in this article is one candidate for improving the software process model situation. The major distinguishing feature of the spiral model is that it creates a risk-driven approach to the software process rather than a primarily document-driven or code-driven process. It incorporates many of the strengths of other models and resolves many of their difficulties. • This article opens with a short description of software process models and the issues they address. Subsequent sections outline the process steps involved in the spiral model; illustrate the application of the spiral model to a software project, using the TRW Software Productivity Project as an example; summarize the primary advantages and implications involved in using the spiral model and the primary difficulties in using it at its current incomplete level of elaboration; and present resulting conclusions.”
  • 49. Background • The primary functions of a software process model are to determine the order of the stages involved in software development and evolution and to establish the transition criteria for progressing from one stage to the next.
  • 50. Background • Thus the key questions that a process model must consider are: 1) What shall we do next? 2) How long shall we continue to do it?
  • 51. Background • Problems with the Waterfall Model • It emphasises fully elaborated documents as a completion criteria for the stages. This may not be always desirable, for example, for end- user applications a large amount of documentation is not necessarily desirable or needed.
  • 52. The Spiral Model • The spiral model of the software process has been evolving for several years, based on experience with various refinements of the waterfall model as applied to large government software projects.
  • 53.
  • 54. The Spiral Model • The radial dimension represents the cumulative cost incurred in accomplishing the steps to date; the angular dimension represents the progress made in completing each cycle of the spiral. • The model reflects the underlying concept that each cycle involves a progression that addresses the same sequence of steps, for each portion of the product and for each of its levels of elaboration, from an overall concept of operation document down to the coding of each individual program.
  • 55.
  • 56.
  • 57. 1
  • 58. The Spiral Model • A typical cycle of the spiral. Each cycle of the spiral begins with the identification of – the objectives of the portion of the product being elaborated (performance, functionality, ability to accommodate change, etc.); – the alternative means of implementing this portion of the product (design A , design B, reuse, buy, etc.); and – the constraints imposed on the application of the alternatives (cost, schedule, inter-face, etc.).
  • 59.
  • 60.
  • 61. 2
  • 62. The Spiral Model • The next step is to evaluate the alternatives relative to the objectives and constraints. • Frequently, this process will identify areas of uncertainty that are significant sources of project risk. • If so, the next step should involve the formulation of a cost-effective strategy for resolving the sources of risk. • This may involve prototyping, simulation, benchmarking, reference checking, administering user questionnaires, analytic modelling, or combinations of these and other risk resolution techniques.
  • 63.
  • 64.
  • 65. 3
  • 66. The Spiral Model • Once the risks are evaluated, the next step is determined by the relative remaining risks. • If performance or user-interface risks strongly dominate program development or internal interface-control risks, the next step may be an evolutionary development one: a minimal effort to specify the overall nature of the product, a plan for the next level of prototyping, and the development of a more detailed prototype to continue to resolve the major risk issues.
  • 67.
  • 68.
  • 69. 4
  • 70. The Spiral Model • If this prototype is operationally useful and robust enough to serve as a low-risk base for future product evolution, the subsequent risk- driven steps would be the evolving series of evolutionary prototypes going toward the right of the figure. • In this case, the option of writing specifications would be addressed but not exercised. Thus, risk considerations can lead to a project implementing only a subset of all the potential steps in the model. • On the other hand, if previous prototyping efforts have already resolved all of the performance or user-interface risks, and program development or interface-control risks dominate, the next step follows the basic waterfall approach (concept of operation, soft- ware requirements, preliminary design, etc.), modified as appropriate to incorporate incremental development. • Each level of software specification in the figure is then followed by a validation step and the preparation of plans for the succeeding cycle.
  • 71. A prioritized top-ten list of software risk items
  • 72. Risk Item Risk Management Techniques 1. Personnel shortfalls Staffing with top talent, job matching; teambuilding; morale building; cross-training; pre-scheduling key people 2. Unrealistic schedules and Detailed, multisource cost and schedule estimation; design budgets to cost; incremental development; software reuse; requirements scrubbing 3. Developing the wrong Organization analysis; mission analysis; ops-concept software functions formulation; user surveys; prototyping; early users’ manuals 4. Developing the wrong user Task analysis; prototyping; scenarios; user characterization interface (functionality, style, workload) 5. Gold plating Requirements scrubbing; prototyping; cost-benefit analysis; design to cost 6. Continuing stream of High change threshold; information hiding; incremental requirement changes development (defer changes to later increments) 7. Shortfalls in externally Benchmarking; inspections; reference checking; furnished components compatibility analysis 8. Shortfalls in externally Reference checking; pre-award audits; award-fee contracts; performed tasks competitive design or prototyping; teambuilding 9. Real-time performance Simulation; benchmarking; modelling; prototyping; shortfalls instrumentation; tuning 10. Straining computer-science Technical analysis; cost—benefit analysis; prototyping; capabilities reference checking
  • 73. 1990s: The V-Model and Rapid Application Development
  • 74. The Relationship of System Engineering to the Project Cycle by Kevin Forsberg and Harold Mooz
  • 75. Reference • Forsberg, K., Mooz, H., 1991, "The Relationship of System Engineering to the Project Cycle", Chattanooga, Tennessee: Proceedings of the National Council for Systems Engineering (NCOSE) Conference, pp. 57–65.
  • 76. Abstract • “A new way of portraying the technical aspect of the project cycle clarifies the role and responsibility of system engineering to a project. This new three dimensional graphic illustrates the end-to-end involvement of system engineering in the project cycle, clarifies the relationship of system engineering and design engineering, and encourages the implementation of concurrent engineering.”
  • 77. Introduction • The Waterfall Model has a deficiency in that it implies that the work downstream cannot begin until the upstream major reviews have occurred.
  • 78. Introduction • The Spiral Model is better since it ensures prototyping occurs earlier, but the role of software engineering in the overall process is unclear.
  • 79. The “Vee” Model • Start with the user needs on the upper right, and ending with a user-validated system on the upper right.
  • 80.
  • 81. Detailed Discussion of the “Vee” Model • Start with the user needs on the upper right, and ending with a user-validated system on the upper right.
  • 82. Detailed Discussion of the “Vee” Model • As project development progresses, a series of six baselines are established to systematically manage cohesive system development: – The first is the “User Requirements Baseline” established by the System Requirement Document approved and put under Configuration Management prior to the System Requirements Review. – The second is the “Concept Baseline” established by the Concept Definition section of the Integrated Program Summary document at the System Requirements Review. – The third is the “System Performance Baseline” (or Development Baseline) established by the System Performance Specification at the System Design Review. – The fourth is the “‘Design-To’ Baseline” (or Allocated Baseline) established at the series of Preliminary Design Reviews. – The fifth is the “‘Build-To’ Baseline” (or preliminary Product Baseline) established at the series of Critical Design Reviews. – The sixth is the “‘As-Built’ Baseline” (or Production Baseline) established at the series of Formal Qualification Reviews (FQRs). Each of the baselines is put under formal Configuration Management at the time they are approved.
  • 83. Detailed Discussion of the “Vee” Model • Incremental Development • If the User Requirements are too vague to permit final definition at Preliminary Design Review, one approach is to develop the project in predetermined incremental releases. • The first release is focused on meeting a minimum set of User Requirements, with subsequent releases providing added functionality and performance. This is a common approach in software development.
  • 84. Detailed Discussion of the “Vee” Model • Concurrent Engineering • If high iteration with User Requirements is required after the System Design Review (SDR), it is probable that the project has passed early Control Gates prematurely, and it is not sufficiently defined. • One cause of premature advance is that the appropriate technical experts were not involved at early stages, resulting in acceptance of requirements and design concepts which cannot be built, inspected, and/or maintained.
  • 85.
  • 86.
  • 87. RAD: Rapid Application Development by James Martin
  • 88. Reference • Martin, J., RAD: Rapid Application Development, 1991, MacMillan Publishing Co., New York.
  • 89. James Martin • Born in 1933. • Born in Ashby, Leicestershire • a British Information Technology consultant and author, who was nominated for a Pulitzer prize for his book, The Wired Society: A Challenge for Tomorrow (1977).
  • 90. Rapid Application Development • Rapid Application Development – 1. Joint Requirements Planning (JRP) – 2. Joint Application Design (JAD) – 3. Construction • Heavy use of tools: code generators • Time-boxed; many prototypes – 4. Cutover • Good for systems with extensive user input available
  • 93. Rapid Application Development • RAD is a way to deliver systems very fast – The longer a project, the greater its likelihood of failure • It is a lightweight approach • Uses proven technology effectively • Make the solution fit within the capabilities of the tools (hammer?) • RAD is not Quick and Dirty with a thin veneer of discipline • RAD operates where the 80 / 20 rule applies • RAD can’t be used in all situations
  • 95. Manifesto for Agile Software Development by Kent Beck James Grenning Robert C. Martin Mike Beedle Jim Highsmith Steve Mellor Arie van Bennekum Andrew Hunt Ken Schwaber Alistair Cockburn Ron Jeffries Jeff Sutherland Ward Cunningham Jon Kern Dave Thomas Martin Fowler Brian Marick
  • 96. Reference • Beck, K. et al., 2001, "Manifesto for Agile Software Development“, Agile Alliance.
  • 97. Background • In February 2001, 17 software developers met at the Snowbird, Utah resort, to discuss lightweight development methods. • They published the Manifesto for Agile Software Development to define the approach now known as agile software development. • Some of the manifesto's authors formed the Agile Alliance, a non-profit organization that promotes software development according to the manifesto's principles.
  • 98. Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
  • 99. Agile Methods • Well-known agile software development methods include: – Agile Modelling – Agile Unified Process (AUP) – Dynamic Systems Development Method (DSDM) – Essential Unified Process (EssUP) – Extreme Programming (XP) – Feature Driven Development (FDD) – Open Unified Process (OpenUP) – Scrum – Velocity tracking