SlideShare ist ein Scribd-Unternehmen logo
1 von 40
DEVELOPMENT
2   METHODOLOGIES
    Development processes and methodologies
1   INTRODUCTION
    2 METHODOLOGIES
    3 MODELS AND UML
    4 OBJECT CONCEPTS
    5   ANALYSIS
2
    6 SOFTWARE DESIGN
Goal of Presentation
3


       This presentation will
         Review software processes and methodologies
         Overview the System Development Life Cycles process
Addressing Complexity
4

         The complexity of creating software was identified as
          perhaps the most important cause of software problems.
         The solution to this problem, like to the solution to any
          problem, is to break up the process of solving it into
          stages.
               A process is a set of activities and associated results which
                produce a product.

                                                   Problem
                                                   definition
                                                                            Data
                                                                          gathering
                                                                                                   Problem
                                                                                                  redefinition
                                                                                                                 Finding
                                                                                                                  ideas



                                                                                       Finding
                                                                                      solutions



                                                         Implementation
               General problem solving process


        Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 46.
Advantages of Subdivision
5


        Subdividing the development process results in
         smaller tasks that can be more easily managed.
        Subdividing the development process allows
         techniques and skills specific to different phases to
         be developed and used.




        Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 46.
Project Lifecycles
6

       Subdividing the process of software development
        produces a life cycle model.
           A lifecycle identifies the phases along which a software
            product moves, from inception to shipping.
       The traditional lifecycle for information systems is also
        known as the waterfall life cycle model.
        System Planning

                     Requirements Analysis

                                             System Design

                                                             Implementation

                                                                              Testing

                                                                                        Maintenance
System Development Life Cycle
7

        Although there are numerous variations, the basic SDLC
         phases include:
           System planning - defines what the new system is intended
            to accomplish and how the project will be organized.
           Requirements analysis - investigating and documenting in
            detail what the system actually should do to accomplish
            what is intended.
           System design - specifying in detail how to implement the
            system using specific technology.
           Implementation - creating the actual system.
           Testing - ensuring the implemented system meets all of the
            specified requirements.
           Maintenance - providing needed improvements or fixes.


        Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 101-2
Waterfall SDLC
8


        Advantages
           Better         than ad-hoc, code-and-fix approach.
               It enforces planning before coding.
               "plan the work, work the plan"

           Provides   management with predictability and a
              foundation for measuring progress.




        Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 102
Waterfall SDLC
9

       Disadvantages
         there are few visible results (other than documents) until
          near the end of the lifecycle.
         higher risk and failure, and all-around lower productivity.
                It requires a low-change, low-novelty, and low-complexity
                 problem.
           pushes many high-risk and difficult elements toward the end
            of a project.




            Source: Craig Larmann, Agile and Iterative Development (Addison-Wesley, 2003)
Waterfall SDLC
10


         Disadvantages
            The  waterfall also aggravates complexity overload
               and analysis paralysis.
                  Large steps with overwhelming degrees of complexity are
                   attempted.
            Difficult         to plan accurate schedules




         Source: Craig Larmann, Agile and Iterative Development (Addison-Wesley, 2003)
Waterfall SDLC
11

         Disadvantages
              Difficult to fully specifying the requirements at the beginning
               of the project.
                 A great deal of time can take place between requirements phases
                  and the implementation phase.
                 The more complex the project, the more requirements change
                 Research shows that a typical software project experiences a 25%
                  change in requirements




         Source: Craig Larmann, Agile and Iterative Development (Addison-Wesley, 2003)
Waterfall SDLC
12


         In 1994, the DOD dropped their waterfall 2167A
          specification, because of abysmal failure.
            They        now encourage an iterative process.




         Source: Craig Larman, “Software Economics” presentation.
Iterative Development
13

         The iterative or incremental approach recognizes that users
          and developers learn about the requirements as they
          progress through the development process.
         Development is thus organized into a series of short, fixed-
          length mini-projects called iterations.
              Each iteration includes its own analysis, design, implementation,
               and testing phases.
                                                              Iteration   Iteration
                                                                                                 ...
                                                                     1           2




                                                Code, Test,                                                  Code, Test,
                Analyze       Design                                       Analyze      Design
                                                 Integrate                                                    Integrate


                          4 weeks (for example)                                                    4 weeks


         Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 102
         Source: Craig Larman, Applying UML and Patterns, 2nd Ed (Prentice Hall, 2001), p. 14-5.
14


    Iterative Development
   Each iteration is thus a self-contained mini-
    project containing multiple activities
    (requirements, analysis, etc)
   The goal for the end of an iteration is an
    iteration release, a stable, integrated and
    tested partially complete system.




    Source: Craig Larmann, Agile and Iterative Development (Addison-Wesley, 2003)
Iterative Development
15

         The Iterative SDLC is based on the successive
          enlargement and refinement of a system through
          multiple iterations/releases.
         The result of each iteration is an executable but
          incomplete system.
            The system will not be ready for delivery into production
             after many iterations (say 5 to 15 iterations).
            Each iteration should be a production-grade subset of the
             final system.
                   i.e., each iteration is not a prototype or proof of concept, but a
                    subset of the final system.


         Source: Craig Larman, Applying UML and Patterns, 2nd Ed (Prentice Hall, 2001), p. 14-6.
Iterative Development
16


        The system thus grows incrementally over time,
         iteration by iteration, with each new
         iteration/release embodying incremental
         improvements over the other.
          Each iteration generally tackles new requirements and
           incrementally extends the systems.
          Sometimes, however, an iteration may focus on
           improving the performance or integration of existing
           increments.
Iterative Development
17

         Advantages
              Users do not have to wait until system is delivered before they can gain
               value from it.
              Early risk mitigation and discovery
              Higher priority services added first and thus receive the most testing.
              More adaptive to changing requirements
                   is used by current agile methods, including Scrum and XP.
         Disadvantages
              Sometimes difficult to map user’s requirements into increments.
              Most systems require basic set of facilities which are used by all parts
               of a system; these basic facilities may not map well into increments.
              May require paradigm change for some developers




         Source: Ian Sommerville, Software Engineering, 6th Edition (Addison-Wesley, 2001), p. 52-3
Managing Iterative Development
18




      Source: Craig Larmann, Agile and Iterative Development (Addison-Wesley, 2003)
Which Iterations First?
19


        Two strategies:
          Risk-driven
              Choose the riskiest, most difficult elements for the early
               iterations
          Client-driven
              Client prioritizes the iterations based on whatever they
               perceive to have the highest business value to them.
System Development
20
     Methodologies
         A lifecycle gives a general understanding of what
          system development is about but it does not give
          guidance on how to carry out system development.
         To help develop quality information systems in a
          timely and manageable way, we may need a
          complete system development methodology.




         Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 104
Method and Methodology
21


         Method
            Step-by-step                 description of the steps involved in doing
               a job
         Methodology
           A  set of general principles that guide a practitioner to
             the choice of a particular method suited to a specific
             task or project.
            defines the process and sequence of tasks that need to
             be completed when developing a system, along with
             recommended techniques for completing the tasks.
            Defines a series of methods to be used.


         Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 555.
Methodologies
22


         A methodology generally has two components,
          related to what and how:
            Process  component - explains what tasks to do and
             when to do them, spelling out the life cycle to follow
             and the general project management approaches to
             be used.
            Techniques component - describes the techniques and
             tools that could or should be used for the tasks at hand.




         Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 104
Methodology Details
23

         What is needed in a methodology varies widely with
          the projects undertaken.
         A decisive factor is the number of people involved.
            In small projects, the main modeling techniques to be used
             are the most important aspect of the method.
            As the number of people increases, a comprehensive
             methodology with a clearly defined process increases
             rapidly.
         Another decisive factor is the use of the system:
              If the system being development is life critical or mission
               critical then a well-defined process is necessary.


         Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 104
Comprehensive Methodologies
24

         A comprehensive methodology should provide a clear work
          breakdown structure that divides the development effort into
          phases, steps, and tasks.
         The methodology should indicate the sequence of tasks:
          which can be done in parallel, which can be skipped under
          certain circumstances, and so on.
         The methodology should indicate inputs and outputs to the
          phases, steps, and tasks.
         It should indicate the techniques and tools that should or
          could be used.
         It should also be flexible and adaptable to the project at
          hand by allowing for the deleting, rearranging, and
          combining of steps and tasks.

         Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 104
Trends in Methodologies
25

        There are two opposing trends in methodology
         development:
            Methodologically Substantial
              advocates a clearly defined and tightly managed process,
               emphasizing rigor, predictability, and engineering-like
               development.
              e.g., Capability Maturity Model (CMM) and ISO 9000.
            Methodological Minimalism
              advocates a minimal methodology with maximum freedom on the
               part of the developers to adapt their approaches according to
               the needs of the project.
              e.g., Extreme Programming, Agile Development
Methodologies and Process
26


        Object-oriented development should also follow a
         well-defined software process.
          Remember, process is a more general term, while
           methodology the more specific.
Unified Software Development
27
     Process
         Developed (1999) by the team that created UML.
         Embodies best practice in system development.
         Uses iterative and incremental life cycles.
         Adopts an iterative approach with four main
          phases.
         Different tasks are captured in a series of
          workflows.



         Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 109-110.
Unified Software Development
28
     Process
        Has four main phases:
            Inception (determining scope and purpose of project)
            Elaboration (requirements capturing and determining structure of system)
            Construction (build the system)
            Transition (product installation and rollout)
        Each phases has a workflow or lifecycle:
            Requirements
            Analysis
            Design
            Implementation
            Test
        The balance of effort spent in each workflow varies from phase to phase.
        Within phases there may be more than one iteration.
The Unified Software Development Process
                                                    Project Phases



                     Inception         Elaboration         Construction              Transition

                        1        2        3        4        5        6         7        8              Iteration #

     Requirements



     Analysis

                                                                                                         Size of square
                                                                                                         indicates
                                                                                                         relative time
     Design                                                                                              spent on
                                                                                                         workflow in
                                                                                                         that iteration

     Implementation




     Test




       Workflows                                                                                  Iterations within
                                                   Time                                           each phase
29
        Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 111.
Waterfall Life Cycle
30


                         Requirements                 Design                       Test
                                         Analysis              Implementation


       Requirements



        Analysis




        Design



       Implementation


        Test




      Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 111.
UP Phases: Inception
31

         Goal
              is to get the project off the ground by establishing
               feasibility, creating a business case of benefits of project,
               capturing essential requirements and identifying critical
               risks.
         Focus
              on requirements and analysis workflows.
         Deliverables
              are a problem/vision statement document, initial use case
               model (10% complete), business case document, initial
               architecture, simple prototypes, project plan.
             Inception is about
             initiating the project
         Source: Arlow and Neustadt, UML and the Unified Process (Addison-Wesley, 2002), p. 33-4.
UP Phases: Elaboration
32

         Goal
              is to capture up to 80% of the functional requirements in use cases, create
               detailed plan for construction phase, create initial executable architectural
               baseline (i.e., initial system) that will evolve and grow in next phase.
         Focus
              on requirements, analysis, and design workflows.
              Implementation and test workflows also become important toward the end of the
               phase on in so far that one constructs and tests the initial baseline.
         Deliverables
              are Use Case model, UML static model, UML dynamic model, updated project
               plan, and executable architectural baseline.


                                                                                            Elaboration is
                                                                                            perhaps the most
               Elaboration is about
                                                                                            critical phase, and for
               creating a partial but
                                                                                            this reason, most of
               working version of the
                                                                                            this course is
               system (the executable
                                                                                            focused on it.
               architectural baseline)
         Source: Arlow and Neustadt, UML and the Unified Process (Addison-Wesley, 2002), p. 34-5.
UP Phases: Construction
33

         Goal
              is to complete all requirements, analysis, and design, and to evolve the
               architectural baseline into the final system.
              Key issue is maintaining the integrity of the system architecture (i.e., not
               to cut corners, but maintain proper design).
         Focus
              on implementation and testing workflows, with secondary effort made
               on completing requirements, analysis and design.
         Deliverables
              The software product, the completed UML model, a test suite, and user
               manuals.

                Construction evolves
                the executable
                architectural baseline
                into a complete
                working system.


         Source: Arlow and Neustadt, UML and the Unified Process (Addison-Wesley, 2002), p. 36.
UP Phases: Transition
34

         Goal
              Starts when beta testing is complete and the system is
               deployed. Goal is thus to fix bugs and prepare for the
               rollout.
         Focus
              on testing workflows (as well on implementation in that bugs
               have to be fixed).
         Deliverables
              The software product, user manuals, and user support plan.

           Transition is about
           deploying the
           completed system into
           the user community



         Source: Arlow and Neustadt, UML and the Unified Process (Addison-Wesley, 2002), p. 37-8.
Workflows: Requirements

35 Workflow                          Techniques                                  Key Deliverables


  Requirements                       Requirements Elicitation                    Use Case Model

                                     Use Case Modelling                          Requirements List

                                     Prototyping                                 Prototypes

                                                                                 Glossary




    Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 112.
Workflows: Analysis

     Workflow                           Techniques                                  Key Deliverables
36

     Analysis                           Collaboration Diagrams                      Analysis Models

                                        Class and Object Models

                                        Analysis Modelling




       Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 112.
Workflows: Design
37



     Workflow                         Techniques                                Key Deliverables

     Design                           Class and Object Modelling                Design Models

                                      Interaction Modelling

                                      State Modelling

                                      Design Patterns

                                      Deployment Modelling                      Overview Design and
                                                                                Implementation Architecture
                                      Component Modelling

                                      Package Modelling

                                      Architectural Modelling




       Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 112.
Workflows: Implementation
38



     Workflow                         Techniques                                  Key Deliverables


     Implementation                   Programming                                 Executable System

                                      Component Re-use                            Documentation

                                      Database DDL

                                      Programming Idioms




         Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 112.
Workflows: Testing
39



 Workflow                         Techniques                                  Key Deliverables


 Testing                          Programming                                 Tested System

                                  Test Procedures




       Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 112.
O-O Methodologies
40

        The previous process is not a complete methodology.
            Most larger software companies have their own methodology that you
             must work within and follow.
            Most current methodologies are based upon the Unified Software
             Development Process.
        In this course, we will not be following a specific methodology.
        We will try to follow, in spirit, the Unified Software Development
         Process.
            Due to time-constraints, we will not be able to realistically follow all the
             phases and increments.
                                                               Inc eption   Elaboration Construction     Transi tion
                                                                  1     2      3    4    5    6      7     8

                                                  Requirem ents


                                                  Anal ys is



                                                  Des i gn


                                                  Implementation



                                                   Tes t

Weitere ähnliche Inhalte

Was ist angesagt?

Single and Multi core processor
Single and Multi core processorSingle and Multi core processor
Single and Multi core processorMunaam Munawar
 
Politics of Agile
Politics of AgilePolitics of Agile
Politics of AgileSVPMA
 
Data Parallel and Object Oriented Model
Data Parallel and Object Oriented ModelData Parallel and Object Oriented Model
Data Parallel and Object Oriented ModelNikhil Sharma
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and conceptsSlideshare
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysisasimnawaz54
 
Comparative Development Methodologies
Comparative Development MethodologiesComparative Development Methodologies
Comparative Development Methodologiesguestc990b6
 
System Design Presentation
System Design PresentationSystem Design Presentation
System Design PresentationSCOUT9989
 
Multimedia authoring and user interface
Multimedia authoring and user interface Multimedia authoring and user interface
Multimedia authoring and user interface nirmalbj
 
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
 
Goals Of Software Design - The main goals
Goals Of Software Design - The main goalsGoals Of Software Design - The main goals
Goals Of Software Design - The main goalsparag
 
Software Architecture and Design - An Overview
Software Architecture and Design - An OverviewSoftware Architecture and Design - An Overview
Software Architecture and Design - An OverviewOliver Stadie
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)Akash Kumar Dhameja
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineeringArun Nair
 
Multi Processors And Multi Computers
 Multi Processors And Multi Computers Multi Processors And Multi Computers
Multi Processors And Multi ComputersNemwos
 
System requirements specification (srs)
System requirements specification (srs)System requirements specification (srs)
System requirements specification (srs)Savyasachi14
 
Advanced Operating System- Introduction
Advanced Operating System- IntroductionAdvanced Operating System- Introduction
Advanced Operating System- IntroductionDebasis Das
 

Was ist angesagt? (20)

Single and Multi core processor
Single and Multi core processorSingle and Multi core processor
Single and Multi core processor
 
Politics of Agile
Politics of AgilePolitics of Agile
Politics of Agile
 
Data Parallel and Object Oriented Model
Data Parallel and Object Oriented ModelData Parallel and Object Oriented Model
Data Parallel and Object Oriented Model
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Comparative Development Methodologies
Comparative Development MethodologiesComparative Development Methodologies
Comparative Development Methodologies
 
System Design Presentation
System Design PresentationSystem Design Presentation
System Design Presentation
 
Spiral model ppt
Spiral model pptSpiral model ppt
Spiral model ppt
 
Multimedia authoring and user interface
Multimedia authoring and user interface Multimedia authoring and user interface
Multimedia authoring and user interface
 
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
 
Goals Of Software Design - The main goals
Goals Of Software Design - The main goalsGoals Of Software Design - The main goals
Goals Of Software Design - The main goals
 
Software Architecture and Design - An Overview
Software Architecture and Design - An OverviewSoftware Architecture and Design - An Overview
Software Architecture and Design - An Overview
 
Linux Memory Management
Linux Memory ManagementLinux Memory Management
Linux Memory Management
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
Multi Processors And Multi Computers
 Multi Processors And Multi Computers Multi Processors And Multi Computers
Multi Processors And Multi Computers
 
System requirements specification (srs)
System requirements specification (srs)System requirements specification (srs)
System requirements specification (srs)
 
Chapter1(hci)
Chapter1(hci)Chapter1(hci)
Chapter1(hci)
 
Advanced Operating System- Introduction
Advanced Operating System- IntroductionAdvanced Operating System- Introduction
Advanced Operating System- Introduction
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 

Andere mochten auch

Introduction to software development methodologies- Agile vs Waterfall
Introduction to software development methodologies- Agile vs WaterfallIntroduction to software development methodologies- Agile vs Waterfall
Introduction to software development methodologies- Agile vs WaterfallPrateek Shrivastava
 
Software Development Methodologies-HSM, SSADM
Software Development Methodologies-HSM, SSADMSoftware Development Methodologies-HSM, SSADM
Software Development Methodologies-HSM, SSADMNana Sarpong
 
Software Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologiesSoftware Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologiesLilia Sfaxi
 
+Software development methodologies
+Software development methodologies+Software development methodologies
+Software development methodologieswalid sassi
 
OO Development 1 - Introduction to Object-Oriented Development
OO Development 1 - Introduction to Object-Oriented DevelopmentOO Development 1 - Introduction to Object-Oriented Development
OO Development 1 - Introduction to Object-Oriented DevelopmentRandy Connolly
 
Software Development Methodologies By E2Logy
Software Development Methodologies By E2LogySoftware Development Methodologies By E2Logy
Software Development Methodologies By E2LogyE2LOGY
 
Software development methodologies
Software development methodologiesSoftware development methodologies
Software development methodologiesAnkita Lachhwani
 
Diploma in Advanced Software Development Methodologies (DASDM)
Diploma in Advanced Software Development Methodologies  (DASDM)Diploma in Advanced Software Development Methodologies  (DASDM)
Diploma in Advanced Software Development Methodologies (DASDM)prabhatjon
 
An Introduction To User Centred Design Techniques
An Introduction To User Centred Design TechniquesAn Introduction To User Centred Design Techniques
An Introduction To User Centred Design Techniquessuzeingram
 
OO Development 3 - Models And UML
OO Development 3 - Models And UMLOO Development 3 - Models And UML
OO Development 3 - Models And UMLRandy Connolly
 
Basic android development
Basic android developmentBasic android development
Basic android developmentUpanya Singh
 
OO Development 5 - Analysis
OO Development 5 - AnalysisOO Development 5 - Analysis
OO Development 5 - AnalysisRandy Connolly
 
Information systems development methodologies (autosaved)
Information systems development methodologies (autosaved)Information systems development methodologies (autosaved)
Information systems development methodologies (autosaved)Vaska Shefteroska
 
software development methodologies and their application
software development methodologies and their applicationsoftware development methodologies and their application
software development methodologies and their applicationmadhusha udayangani
 
System Development Methodologies
System Development MethodologiesSystem Development Methodologies
System Development MethodologiesDevon Ravihansa
 
User Centred Design - Designing Better Experiences - General Assembly - April...
User Centred Design - Designing Better Experiences - General Assembly - April...User Centred Design - Designing Better Experiences - General Assembly - April...
User Centred Design - Designing Better Experiences - General Assembly - April...Matt Gibson
 
Introduction to Android, Architecture & Components
Introduction to  Android, Architecture & ComponentsIntroduction to  Android, Architecture & Components
Introduction to Android, Architecture & ComponentsVijay Rastogi
 
E learning Powerpoint
E learning Powerpoint E learning Powerpoint
E learning Powerpoint aliandfam
 
User centred design (UCD) and the connected home
User centred design (UCD) and the connected homeUser centred design (UCD) and the connected home
User centred design (UCD) and the connected homeCyber-Duck
 

Andere mochten auch (20)

Introduction to software development methodologies- Agile vs Waterfall
Introduction to software development methodologies- Agile vs WaterfallIntroduction to software development methodologies- Agile vs Waterfall
Introduction to software development methodologies- Agile vs Waterfall
 
Software Development Methodologies-HSM, SSADM
Software Development Methodologies-HSM, SSADMSoftware Development Methodologies-HSM, SSADM
Software Development Methodologies-HSM, SSADM
 
Software Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologiesSoftware Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologies
 
+Software development methodologies
+Software development methodologies+Software development methodologies
+Software development methodologies
 
OO Development 1 - Introduction to Object-Oriented Development
OO Development 1 - Introduction to Object-Oriented DevelopmentOO Development 1 - Introduction to Object-Oriented Development
OO Development 1 - Introduction to Object-Oriented Development
 
Software Development Methodologies By E2Logy
Software Development Methodologies By E2LogySoftware Development Methodologies By E2Logy
Software Development Methodologies By E2Logy
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Software development methodologies
Software development methodologiesSoftware development methodologies
Software development methodologies
 
Diploma in Advanced Software Development Methodologies (DASDM)
Diploma in Advanced Software Development Methodologies  (DASDM)Diploma in Advanced Software Development Methodologies  (DASDM)
Diploma in Advanced Software Development Methodologies (DASDM)
 
An Introduction To User Centred Design Techniques
An Introduction To User Centred Design TechniquesAn Introduction To User Centred Design Techniques
An Introduction To User Centred Design Techniques
 
OO Development 3 - Models And UML
OO Development 3 - Models And UMLOO Development 3 - Models And UML
OO Development 3 - Models And UML
 
Basic android development
Basic android developmentBasic android development
Basic android development
 
OO Development 5 - Analysis
OO Development 5 - AnalysisOO Development 5 - Analysis
OO Development 5 - Analysis
 
Information systems development methodologies (autosaved)
Information systems development methodologies (autosaved)Information systems development methodologies (autosaved)
Information systems development methodologies (autosaved)
 
software development methodologies and their application
software development methodologies and their applicationsoftware development methodologies and their application
software development methodologies and their application
 
System Development Methodologies
System Development MethodologiesSystem Development Methodologies
System Development Methodologies
 
User Centred Design - Designing Better Experiences - General Assembly - April...
User Centred Design - Designing Better Experiences - General Assembly - April...User Centred Design - Designing Better Experiences - General Assembly - April...
User Centred Design - Designing Better Experiences - General Assembly - April...
 
Introduction to Android, Architecture & Components
Introduction to  Android, Architecture & ComponentsIntroduction to  Android, Architecture & Components
Introduction to Android, Architecture & Components
 
E learning Powerpoint
E learning Powerpoint E learning Powerpoint
E learning Powerpoint
 
User centred design (UCD) and the connected home
User centred design (UCD) and the connected homeUser centred design (UCD) and the connected home
User centred design (UCD) and the connected home
 

Ähnlich wie OO Development 2 - Software Development Methodologies

Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology
 
Hazen michael
Hazen michaelHazen michael
Hazen michaelNASAPMC
 
CH12-Exploring Information System Development
CH12-Exploring Information System DevelopmentCH12-Exploring Information System Development
CH12-Exploring Information System DevelopmentSukanya Ben
 
Discovering Computers: Chapter 12
Discovering Computers: Chapter 12Discovering Computers: Chapter 12
Discovering Computers: Chapter 12Anna Stirling
 
Ch01 eng design_process
Ch01 eng design_processCh01 eng design_process
Ch01 eng design_processNapex Terra
 
Pdu session challenges in agile
Pdu session   challenges in agilePdu session   challenges in agile
Pdu session challenges in agileBhawani N Prasad
 
Waterfallacies V1 1
Waterfallacies V1 1Waterfallacies V1 1
Waterfallacies V1 1Jorge Boria
 
Software engineering
Software engineeringSoftware engineering
Software engineeringnidhi5388
 
SDLC Apresentação - Shift Education of Technology
SDLC Apresentação - Shift Education of TechnologySDLC Apresentação - Shift Education of Technology
SDLC Apresentação - Shift Education of TechnologyRaphaff
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLESwarnima Tiwari
 
Agile Adoption Framework
Agile Adoption FrameworkAgile Adoption Framework
Agile Adoption FrameworkVaibhav Sathe
 
CSC1100 - Chapter10 - Information System
CSC1100 - Chapter10 - Information SystemCSC1100 - Chapter10 - Information System
CSC1100 - Chapter10 - Information SystemYhal Htet Aung
 

Ähnlich wie OO Development 2 - Software Development Methodologies (20)

Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineering
 
Hazen michael
Hazen michaelHazen michael
Hazen michael
 
10.1.1.136.9597
10.1.1.136.959710.1.1.136.9597
10.1.1.136.9597
 
CH12-Exploring Information System Development
CH12-Exploring Information System DevelopmentCH12-Exploring Information System Development
CH12-Exploring Information System Development
 
Discovering Computers: Chapter 12
Discovering Computers: Chapter 12Discovering Computers: Chapter 12
Discovering Computers: Chapter 12
 
Ch01 eng design_process
Ch01 eng design_processCh01 eng design_process
Ch01 eng design_process
 
reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx
 
Pdu session challenges in agile
Pdu session   challenges in agilePdu session   challenges in agile
Pdu session challenges in agile
 
4 sdlc and stlc
4 sdlc and stlc4 sdlc and stlc
4 sdlc and stlc
 
Waterfallacies V1 1
Waterfallacies V1 1Waterfallacies V1 1
Waterfallacies V1 1
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
SDLC Apresentação - Shift Education of Technology
SDLC Apresentação - Shift Education of TechnologySDLC Apresentação - Shift Education of Technology
SDLC Apresentação - Shift Education of Technology
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 
Feasible
FeasibleFeasible
Feasible
 
Ch 2
Ch 2Ch 2
Ch 2
 
Agile Adoption Framework
Agile Adoption FrameworkAgile Adoption Framework
Agile Adoption Framework
 
Mba it unit 3 ppt
Mba it unit 3 pptMba it unit 3 ppt
Mba it unit 3 ppt
 
Mba it unit 3 ppt
Mba it unit 3 pptMba it unit 3 ppt
Mba it unit 3 ppt
 
Mba it unit 3 ppt
Mba it unit 3 pptMba it unit 3 ppt
Mba it unit 3 ppt
 
CSC1100 - Chapter10 - Information System
CSC1100 - Chapter10 - Information SystemCSC1100 - Chapter10 - Information System
CSC1100 - Chapter10 - Information System
 

Mehr von Randy Connolly

Ten-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS DegreeTen-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS DegreeRandy Connolly
 
Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)Randy Connolly
 
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...Randy Connolly
 
Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)Randy Connolly
 
Modern Web Development (2018)
Modern Web Development (2018)Modern Web Development (2018)
Modern Web Development (2018)Randy Connolly
 
Helping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing DisciplinesHelping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing DisciplinesRandy Connolly
 
Constructing a Web Development Textbook
Constructing a Web Development TextbookConstructing a Web Development Textbook
Constructing a Web Development TextbookRandy Connolly
 
Web Development for Managers
Web Development for ManagersWeb Development for Managers
Web Development for ManagersRandy Connolly
 
Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"Randy Connolly
 
17 Ways to Fail Your Courses
17 Ways to Fail Your Courses17 Ways to Fail Your Courses
17 Ways to Fail Your CoursesRandy Connolly
 
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...Randy Connolly
 
Constructing and revising a web development textbook
Constructing and revising a web development textbookConstructing and revising a web development textbook
Constructing and revising a web development textbookRandy Connolly
 
Computing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing DisciplinesComputing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing DisciplinesRandy Connolly
 
Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...Randy Connolly
 
Thinking About Technology
Thinking About TechnologyThinking About Technology
Thinking About TechnologyRandy Connolly
 
A longitudinal examination of SIGITE conference submission data
A longitudinal examination of SIGITE conference submission dataA longitudinal examination of SIGITE conference submission data
A longitudinal examination of SIGITE conference submission dataRandy Connolly
 
Is Human Flourishing in the ICT World of the Future Likely?
Is Human Flourishing in the ICT World of the Future Likely?Is Human Flourishing in the ICT World of the Future Likely?
Is Human Flourishing in the ICT World of the Future Likely?Randy Connolly
 
Constructing a Contemporary Textbook
Constructing a Contemporary TextbookConstructing a Contemporary Textbook
Constructing a Contemporary TextbookRandy Connolly
 

Mehr von Randy Connolly (20)

Ten-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS DegreeTen-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS Degree
 
Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)
 
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
 
Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)
 
Modern Web Development (2018)
Modern Web Development (2018)Modern Web Development (2018)
Modern Web Development (2018)
 
Helping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing DisciplinesHelping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing Disciplines
 
Constructing a Web Development Textbook
Constructing a Web Development TextbookConstructing a Web Development Textbook
Constructing a Web Development Textbook
 
Web Development for Managers
Web Development for ManagersWeb Development for Managers
Web Development for Managers
 
Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"
 
17 Ways to Fail Your Courses
17 Ways to Fail Your Courses17 Ways to Fail Your Courses
17 Ways to Fail Your Courses
 
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
 
Constructing and revising a web development textbook
Constructing and revising a web development textbookConstructing and revising a web development textbook
Constructing and revising a web development textbook
 
Computing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing DisciplinesComputing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing Disciplines
 
Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...
 
Thinking About Technology
Thinking About TechnologyThinking About Technology
Thinking About Technology
 
A longitudinal examination of SIGITE conference submission data
A longitudinal examination of SIGITE conference submission dataA longitudinal examination of SIGITE conference submission data
A longitudinal examination of SIGITE conference submission data
 
Web Security
Web SecurityWeb Security
Web Security
 
Is Human Flourishing in the ICT World of the Future Likely?
Is Human Flourishing in the ICT World of the Future Likely?Is Human Flourishing in the ICT World of the Future Likely?
Is Human Flourishing in the ICT World of the Future Likely?
 
Constructing a Contemporary Textbook
Constructing a Contemporary TextbookConstructing a Contemporary Textbook
Constructing a Contemporary Textbook
 
CSS: Introduction
CSS: IntroductionCSS: Introduction
CSS: Introduction
 

Kürzlich hochgeladen

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Kürzlich hochgeladen (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

OO Development 2 - Software Development Methodologies

  • 1. DEVELOPMENT 2 METHODOLOGIES Development processes and methodologies
  • 2. 1 INTRODUCTION 2 METHODOLOGIES 3 MODELS AND UML 4 OBJECT CONCEPTS 5 ANALYSIS 2 6 SOFTWARE DESIGN
  • 3. Goal of Presentation 3  This presentation will  Review software processes and methodologies  Overview the System Development Life Cycles process
  • 4. Addressing Complexity 4  The complexity of creating software was identified as perhaps the most important cause of software problems.  The solution to this problem, like to the solution to any problem, is to break up the process of solving it into stages.  A process is a set of activities and associated results which produce a product. Problem definition Data gathering Problem redefinition Finding ideas Finding solutions Implementation General problem solving process Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 46.
  • 5. Advantages of Subdivision 5  Subdividing the development process results in smaller tasks that can be more easily managed.  Subdividing the development process allows techniques and skills specific to different phases to be developed and used. Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 46.
  • 6. Project Lifecycles 6  Subdividing the process of software development produces a life cycle model.  A lifecycle identifies the phases along which a software product moves, from inception to shipping.  The traditional lifecycle for information systems is also known as the waterfall life cycle model. System Planning Requirements Analysis System Design Implementation Testing Maintenance
  • 7. System Development Life Cycle 7  Although there are numerous variations, the basic SDLC phases include:  System planning - defines what the new system is intended to accomplish and how the project will be organized.  Requirements analysis - investigating and documenting in detail what the system actually should do to accomplish what is intended.  System design - specifying in detail how to implement the system using specific technology.  Implementation - creating the actual system.  Testing - ensuring the implemented system meets all of the specified requirements.  Maintenance - providing needed improvements or fixes. Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 101-2
  • 8. Waterfall SDLC 8  Advantages  Better than ad-hoc, code-and-fix approach.  It enforces planning before coding.  "plan the work, work the plan"  Provides management with predictability and a foundation for measuring progress. Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 102
  • 9. Waterfall SDLC 9  Disadvantages  there are few visible results (other than documents) until near the end of the lifecycle.  higher risk and failure, and all-around lower productivity.  It requires a low-change, low-novelty, and low-complexity problem.  pushes many high-risk and difficult elements toward the end of a project. Source: Craig Larmann, Agile and Iterative Development (Addison-Wesley, 2003)
  • 10. Waterfall SDLC 10  Disadvantages  The waterfall also aggravates complexity overload and analysis paralysis.  Large steps with overwhelming degrees of complexity are attempted.  Difficult to plan accurate schedules Source: Craig Larmann, Agile and Iterative Development (Addison-Wesley, 2003)
  • 11. Waterfall SDLC 11  Disadvantages  Difficult to fully specifying the requirements at the beginning of the project.  A great deal of time can take place between requirements phases and the implementation phase.  The more complex the project, the more requirements change  Research shows that a typical software project experiences a 25% change in requirements Source: Craig Larmann, Agile and Iterative Development (Addison-Wesley, 2003)
  • 12. Waterfall SDLC 12  In 1994, the DOD dropped their waterfall 2167A specification, because of abysmal failure.  They now encourage an iterative process. Source: Craig Larman, “Software Economics” presentation.
  • 13. Iterative Development 13  The iterative or incremental approach recognizes that users and developers learn about the requirements as they progress through the development process.  Development is thus organized into a series of short, fixed- length mini-projects called iterations.  Each iteration includes its own analysis, design, implementation, and testing phases. Iteration Iteration ... 1 2 Code, Test, Code, Test, Analyze Design Analyze Design Integrate Integrate 4 weeks (for example) 4 weeks Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 102 Source: Craig Larman, Applying UML and Patterns, 2nd Ed (Prentice Hall, 2001), p. 14-5.
  • 14. 14 Iterative Development  Each iteration is thus a self-contained mini- project containing multiple activities (requirements, analysis, etc)  The goal for the end of an iteration is an iteration release, a stable, integrated and tested partially complete system. Source: Craig Larmann, Agile and Iterative Development (Addison-Wesley, 2003)
  • 15. Iterative Development 15  The Iterative SDLC is based on the successive enlargement and refinement of a system through multiple iterations/releases.  The result of each iteration is an executable but incomplete system.  The system will not be ready for delivery into production after many iterations (say 5 to 15 iterations).  Each iteration should be a production-grade subset of the final system.  i.e., each iteration is not a prototype or proof of concept, but a subset of the final system. Source: Craig Larman, Applying UML and Patterns, 2nd Ed (Prentice Hall, 2001), p. 14-6.
  • 16. Iterative Development 16  The system thus grows incrementally over time, iteration by iteration, with each new iteration/release embodying incremental improvements over the other.  Each iteration generally tackles new requirements and incrementally extends the systems.  Sometimes, however, an iteration may focus on improving the performance or integration of existing increments.
  • 17. Iterative Development 17  Advantages  Users do not have to wait until system is delivered before they can gain value from it.  Early risk mitigation and discovery  Higher priority services added first and thus receive the most testing.  More adaptive to changing requirements  is used by current agile methods, including Scrum and XP.  Disadvantages  Sometimes difficult to map user’s requirements into increments.  Most systems require basic set of facilities which are used by all parts of a system; these basic facilities may not map well into increments.  May require paradigm change for some developers Source: Ian Sommerville, Software Engineering, 6th Edition (Addison-Wesley, 2001), p. 52-3
  • 18. Managing Iterative Development 18 Source: Craig Larmann, Agile and Iterative Development (Addison-Wesley, 2003)
  • 19. Which Iterations First? 19  Two strategies:  Risk-driven  Choose the riskiest, most difficult elements for the early iterations  Client-driven  Client prioritizes the iterations based on whatever they perceive to have the highest business value to them.
  • 20. System Development 20 Methodologies  A lifecycle gives a general understanding of what system development is about but it does not give guidance on how to carry out system development.  To help develop quality information systems in a timely and manageable way, we may need a complete system development methodology. Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 104
  • 21. Method and Methodology 21  Method  Step-by-step description of the steps involved in doing a job  Methodology A set of general principles that guide a practitioner to the choice of a particular method suited to a specific task or project.  defines the process and sequence of tasks that need to be completed when developing a system, along with recommended techniques for completing the tasks.  Defines a series of methods to be used. Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 555.
  • 22. Methodologies 22  A methodology generally has two components, related to what and how:  Process component - explains what tasks to do and when to do them, spelling out the life cycle to follow and the general project management approaches to be used.  Techniques component - describes the techniques and tools that could or should be used for the tasks at hand. Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 104
  • 23. Methodology Details 23  What is needed in a methodology varies widely with the projects undertaken.  A decisive factor is the number of people involved.  In small projects, the main modeling techniques to be used are the most important aspect of the method.  As the number of people increases, a comprehensive methodology with a clearly defined process increases rapidly.  Another decisive factor is the use of the system:  If the system being development is life critical or mission critical then a well-defined process is necessary. Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 104
  • 24. Comprehensive Methodologies 24  A comprehensive methodology should provide a clear work breakdown structure that divides the development effort into phases, steps, and tasks.  The methodology should indicate the sequence of tasks: which can be done in parallel, which can be skipped under certain circumstances, and so on.  The methodology should indicate inputs and outputs to the phases, steps, and tasks.  It should indicate the techniques and tools that should or could be used.  It should also be flexible and adaptable to the project at hand by allowing for the deleting, rearranging, and combining of steps and tasks. Source: Satzinger and Orvik, The Object-Oriented Approach (Course Technology, 2001), p. 104
  • 25. Trends in Methodologies 25  There are two opposing trends in methodology development:  Methodologically Substantial  advocates a clearly defined and tightly managed process, emphasizing rigor, predictability, and engineering-like development.  e.g., Capability Maturity Model (CMM) and ISO 9000.  Methodological Minimalism  advocates a minimal methodology with maximum freedom on the part of the developers to adapt their approaches according to the needs of the project.  e.g., Extreme Programming, Agile Development
  • 26. Methodologies and Process 26  Object-oriented development should also follow a well-defined software process.  Remember, process is a more general term, while methodology the more specific.
  • 27. Unified Software Development 27 Process  Developed (1999) by the team that created UML.  Embodies best practice in system development.  Uses iterative and incremental life cycles.  Adopts an iterative approach with four main phases.  Different tasks are captured in a series of workflows. Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 109-110.
  • 28. Unified Software Development 28 Process  Has four main phases:  Inception (determining scope and purpose of project)  Elaboration (requirements capturing and determining structure of system)  Construction (build the system)  Transition (product installation and rollout)  Each phases has a workflow or lifecycle:  Requirements  Analysis  Design  Implementation  Test  The balance of effort spent in each workflow varies from phase to phase.  Within phases there may be more than one iteration.
  • 29. The Unified Software Development Process Project Phases Inception Elaboration Construction Transition 1 2 3 4 5 6 7 8 Iteration # Requirements Analysis Size of square indicates relative time Design spent on workflow in that iteration Implementation Test Workflows Iterations within Time each phase 29 Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 111.
  • 30. Waterfall Life Cycle 30 Requirements Design Test Analysis Implementation Requirements Analysis Design Implementation Test Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 111.
  • 31. UP Phases: Inception 31  Goal  is to get the project off the ground by establishing feasibility, creating a business case of benefits of project, capturing essential requirements and identifying critical risks.  Focus  on requirements and analysis workflows.  Deliverables  are a problem/vision statement document, initial use case model (10% complete), business case document, initial architecture, simple prototypes, project plan. Inception is about initiating the project Source: Arlow and Neustadt, UML and the Unified Process (Addison-Wesley, 2002), p. 33-4.
  • 32. UP Phases: Elaboration 32  Goal  is to capture up to 80% of the functional requirements in use cases, create detailed plan for construction phase, create initial executable architectural baseline (i.e., initial system) that will evolve and grow in next phase.  Focus  on requirements, analysis, and design workflows.  Implementation and test workflows also become important toward the end of the phase on in so far that one constructs and tests the initial baseline.  Deliverables  are Use Case model, UML static model, UML dynamic model, updated project plan, and executable architectural baseline. Elaboration is perhaps the most Elaboration is about critical phase, and for creating a partial but this reason, most of working version of the this course is system (the executable focused on it. architectural baseline) Source: Arlow and Neustadt, UML and the Unified Process (Addison-Wesley, 2002), p. 34-5.
  • 33. UP Phases: Construction 33  Goal  is to complete all requirements, analysis, and design, and to evolve the architectural baseline into the final system.  Key issue is maintaining the integrity of the system architecture (i.e., not to cut corners, but maintain proper design).  Focus  on implementation and testing workflows, with secondary effort made on completing requirements, analysis and design.  Deliverables  The software product, the completed UML model, a test suite, and user manuals. Construction evolves the executable architectural baseline into a complete working system. Source: Arlow and Neustadt, UML and the Unified Process (Addison-Wesley, 2002), p. 36.
  • 34. UP Phases: Transition 34  Goal  Starts when beta testing is complete and the system is deployed. Goal is thus to fix bugs and prepare for the rollout.  Focus  on testing workflows (as well on implementation in that bugs have to be fixed).  Deliverables  The software product, user manuals, and user support plan. Transition is about deploying the completed system into the user community Source: Arlow and Neustadt, UML and the Unified Process (Addison-Wesley, 2002), p. 37-8.
  • 35. Workflows: Requirements 35 Workflow Techniques Key Deliverables Requirements Requirements Elicitation Use Case Model Use Case Modelling Requirements List Prototyping Prototypes Glossary Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 112.
  • 36. Workflows: Analysis Workflow Techniques Key Deliverables 36 Analysis Collaboration Diagrams Analysis Models Class and Object Models Analysis Modelling Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 112.
  • 37. Workflows: Design 37 Workflow Techniques Key Deliverables Design Class and Object Modelling Design Models Interaction Modelling State Modelling Design Patterns Deployment Modelling Overview Design and Implementation Architecture Component Modelling Package Modelling Architectural Modelling Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 112.
  • 38. Workflows: Implementation 38 Workflow Techniques Key Deliverables Implementation Programming Executable System Component Re-use Documentation Database DDL Programming Idioms Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 112.
  • 39. Workflows: Testing 39 Workflow Techniques Key Deliverables Testing Programming Tested System Test Procedures Source: Bennett, McRobb, and Farmer, Object-Oriented Systems Analysis and Design (McGraw Hill, 2002), p. 112.
  • 40. O-O Methodologies 40  The previous process is not a complete methodology.  Most larger software companies have their own methodology that you must work within and follow.  Most current methodologies are based upon the Unified Software Development Process.  In this course, we will not be following a specific methodology.  We will try to follow, in spirit, the Unified Software Development Process.  Due to time-constraints, we will not be able to realistically follow all the phases and increments. Inc eption Elaboration Construction Transi tion 1 2 3 4 5 6 7 8 Requirem ents Anal ys is Des i gn Implementation Tes t