SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
MedTech
Chapter 1 – Software Development
Methodologies
Methods and Methodologies for designing software
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 1
MedTech – Mediterranean Institute of Technology
Software Engineering
MedTech
MedTech
Summary of the Course
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 2
• Introduction to Software Development Methodoogies
• Software Development Models
• Software Development Methodologies
• Ad-hoc
• Waterfall
• Prototyping
• V-Model
• Spiral
• RAD
• Unified Process
• Agile
MedTech
Software Project
• A project is a set of actions planned and executed by a group of
people in order to reach a goal, limited by a deadline, and having a
certain cost
• To manage a project
• Define a methodology
• Manage concerned people
• Manage technical constraints
• Manage available means…
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 3
Introduction to Software Development Methodologies
MedTech
Software Development Methodology
• Also called:
• System Development Methodology
• Software Development Lifecycle
• Software Development Process
• A set f activities whose goal is the development or evolution of
software
• Generic activities in all software processes
• Specification
• Design
• Development
• Validation
• Evolution
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 4
Introduction to Software Development Methodologies
MedTech
Software Lifecycle
• Defines all the software development phases, starting from the
requirements specification of the client, to the final stages of
software creation
• These phases are organized with regard to models that guide the
engineer in his activities
• Linear models
• Iterative models
• Incremental models
• Adaptive models
• Extreme models
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 5
Introduction to Software Development Methodologies
MedTech
Summary of the Course
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 6
• Introduction to Software Development Methodoogies
• Software Development Models
• Software Development Methodologies
• Ad-hoc
• Waterfall
• Prototyping
• V-Model
• Spiral
• RAD
• Unified Process
• Agile
MedTech
Software Development Models
• Linear Model
• A number of dependent phases that are executed in a sequential order
with no feedback loops
• The solution is only produced at the final phase
• Well defined goals, requirements and solution, few scope change requests
• Incremental Model
• Same as the linear model, except that each phase releases a partial
solution or deliverable
• Well defined goals, requirements and solution, more agressive schedule
• Iterative Model
• A number of phases repeated in groups with a feedback loop after each
group is completed
• The last phase in a group might release a partial or final solution
• Well defined goals, not all features known, learn-by-doing strategy
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 7
Introduction to Software Development Methodologies
MedTech
Sw. Dev. Models : Incremental vs. Iterative
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 8
Introduction to Software Development Methodologies
MedTech
Sw. Dev. Models : Incremental and Iterative
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 9
Introduction to Software Development Methodologies
MedTech
Software Development Models
• Adaptive Model
• Progresses from iteration to iteration based on limited specification of the
solution
• Each iteration learns from the preceding ones
• Attempts to converge on an acceptable solution for the customer
• Well defined goals but frequent change requests
• Extreme Model
• Same as the adaptive model except that the specification of the solution is
minimal and the goals are not clearly defined
• Goals are unknown, typical R&D projects
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 10
Introduction to Software Development Methodologies
MedTech
Summary of the Course
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 11
• Introduction to Software Development Methodoogies
• Software Development Models
• Software Development Methodologies
• Ad-hoc
• Waterfall
• Prototyping
• V-Model
• Spiral
• RAD
• Unified Process
• Agile
MedTech
Ad-hoc (Big Bang) Methodology
• Typically, no methodology at all!
• The client states his needs, and the developer
just does the work!
• Pros
• Simple and straightforward
• Adequate for small and simple systems
• Cons: A big problem if:
• The client doesn’t express his needs correctly
• The developer doesn’t know how to proceed with the implementation
• … and it does not support any changes in the requirements
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 12
Software Development Methodologies
MedTech
Waterfall
Analysis
Design
Development
Testing
Implementation
Maintenance
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 13
Software Development Methodologies
• Linear Model
• Requirementshould be clear before the next step
• Testing is done once the code fully developed
• A time period is defined for eachstep
MedTech
Waterfall
• Pros
• Requirement is clear before development starts
• Each phase is completed in specific period of time, after that it moves to
the next phase
• As a linea model, it is easy to implement
• The amount of required resources are minimal
• Each phase requires a proper documentation
• Cons
• Some phases problems appear when going through the next phases
• It is not flexible and does not support any requirements changes
• The client sees the resulting product once all the phases are over
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 14
Software Development Methodologies
MedTech
Prototyping
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 15
Software Development Methodologies
MedTech
Prototyping
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 16
Software Development Methodologies
• Remedies to the problem of the waterfall methodology, where we are
never sure if the specification will work until you are at the last stage
• Creates a prototype of the application:
• Incomplete versions of the program
• Simulates only a few aspects of the final product
• Pros
• The customer can be reassured with a sample of his application way before
the development is achieved
• Cons
• A prototype mostly cannot cover all the problems a real application does!
• You spend a significant time creating the prototype
• Sometimes, the customer is happy with the prototype, and doesn’t go
further with the real application!!
MedTech
V-Model
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 17
Software Development Methodologies
Analysis
High	Level
Design
Low Level
Design
Implementation
Acceptance
Testing
System	Testing
Integration
Testing
Unit	Testing
MedTech
V-Model
• Modified version of the waterfall method (linear model)
• The stages turn back upwards to verify and validate every step
• The test cases are prepared with every step
• Tester et developer work in parallel
• Pros
• Same as those of the waterfall + the tester is involved from the
requirement phase
• Cons
• Rigid
• If changes happen midway, not only the requirements documentation, but
also the test documentation need to be changed
• Is not adequate for short term projects as it requires reviews at each stage
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 18
Software Development Methodologies
MedTech
Spiral
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 19
Software Development Methodologies
MedTech
Spiral
• Linear and Incremental Model + Prototyping
• Big emphasis on risk assessment
• 4 main phases:
• Objective Setting, Risk Analysis, Engineering and Planning
• Pros
• High amount of risk analysis
• Software produced early in the lifecycle
• Cons
• Can be costly
• Risk analysis requires highly specific expertise
• Is not adequate for small projects
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 20
Software Development Methodologies
MedTech
RAD: Rapid Application Development
• First method that fundamentally breaks with the waterfall-based methods
• Iterative, incremental and adaptative
• Uses minimal planning in favor of rapid prototyping
• Massive use of computarized development tools (CASE, GUI builders, DBMS…)
• Gathers customer requirements through:
• Workshops or focus groups
• Early testing of the prototypes using iterative concept
• Reuse of existing prototypes
• Continuous integration
• Used if:
• There is a need to produce the system in a short span of time (2-3 months)
• There is a high availabilityof designers and a high budget for code generating
tools
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 21
Software Development Methodologies
MedTech
RAD: Rapid Application Development
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 22
Software Development Methodologies
MedTech
RAD: Rapid Application Development
• Pros
• Reduced development time
• Increased reusability of components
• Quick initial reviews
• Encourages customer feedback
• Iteration time can be short using RAD tools
• Cons
• Depends on a strong team and individual performance
• Only applicable for modularizable systems
• Inapplicable to cheaper projects as cost of modeling and automated code
generation is very high
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 23
Software Development Methodologies
MedTech
Unified Process
• Iterative and incremental model, use case driven and architecture
centered
• A software engineering process based on best practices in software
development
• A disciplines approach to assigning and managing tasks and
responsabilities in a development organization
• Focused on high-quality software that meets the needs of its end users
• Uses the UML notation
• Consists of five core workflows and four phases
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 24
Software Development Methodologies
MedTech
Unified Process
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 25
Software Development Methodologies
MedTech
Unified Process : Terminology
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 26
Software Development Methodologies
• Development Cycle
• Period of time that elapses from the start of the project until product release
• Artifact
• Piece of information produced, modified or used by a process
• Workflow
• Sequence of activities that produces a result of observable value
• Phase
• Each cycle is broken down into a sequence of four phases
• Time during which a well-defined set of objectives is met, artifacts are
completed and decisions whether to move to the next step or not are made
• Iteration
• Inside eahc phase, there may be one or more iterations
• Software is developed in each iteration, concluded by a minor milestone
• The software product grows incrementally as you iterate over the activities
• Milestone
• Release point at which an iteration formally ends
MedTech
Unified Process : Phases
• Inception: 10% Time, 5% Effort
• Helps determine the project feasibility,
what the customer wants and how to get there
• Understand what to build
• A vision document
• Optional business model
• Initial project glossary
• Identify key system functionality
• An initial use case model (10-20% complete)
• One or several prototypes
• Understand costs, schedule and risks
• Decide what process to follow and what tools to use
• Project plan
• First Major Milestone: Lifecyle Objective Milestone
• Is the project doomed to fail?
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 27
Software Development Methodologies
MedTech
Unified Process : Phases
• Elaboration : 30% Time, 20% Effort
• Define and baseline the architecture of the
System to provide a stable basis for the design
• Deeper requirements understanding
• At least 80% complete use case model
• Non functional requirements capturing
• Architect consideration
• Software architecture description
• Executable architectural prototype
• Revised risk list and business case
• Development case refinement
• Coarse grained project plan
• Defining iterations & evaluation criteria for each one
• Major Milestone: Lifecycle Architecture
• Is the project’s plane, vision, architecture are good enough to achieve project
goals?
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 28
Software Development Methodologies
MedTech
Unified Process : Phases
• Construction: 50% Time, 65% Effort
• Targets a cost-efficient development of a
complete product
• Minimize development costs and achieve
some degree of parallelism
• Iteratively develop a complete product
• Software product integrated on the adequate
platforms
• User manuals
• Desciption of the current release
• Major Milestone: Initial Operational Capability
• Is the product ready to be deployed to a beta test env.?
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 29
Software Development Methodologies
MedTech
Unified Process : Phases
• Transition: 10% Time, 30% Effort
• Transition the software product to the user
community
• Think about next releases, finish postponed
features
• Beta testing to validate the new system
against user experience
• Conversion of operational databases
• Training of users and maintainers
• Marketing, distribution
• Improve performance
• Major Milestone: Product Release
• Are the objectives met and should we start another development cycle?
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 30
Software Development Methodologies
MedTech
Two Track Unified Process
• Declination of the Unified Process Methodology
• Takes into account the continuous contraints changes during the
development
• Considers two risks:
• Functional inaccuracy: inadequacy to the requirements
• Unability to integrate technologies
• General principle
• Every possible evolution of the system can be decomposed and managed
separately, following a functional axis and a technical axis
• 2TUP
• Unified process (iterative, archi-centered and UC driven)
• Two branches (technical and functional), merged into a realization branch
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 31
Software Development Methodologies
MedTech
Two Track Unified Process
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 32
Software Development Methodologies
Capture ofBusiness
requirements
Analysis
Capture ofTechnical
requirements
Generic Design
Preliminary Design
Detailed Design
Coding and Tests
Recipe
Functional Branch Technical Branch
Design and Development Branch
MedTech
Two Track Unified Process
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 33
Software Development Methodologies
MedTech
Agile Approach
• Agile movement seeks alternatives to traditional project management
• Uses the incremental and iterative model
• Regular cadences of work (sprints or iterations) at the end of which
the team must present a product increment
• Every aspect of development (requirements, design, …) is continually
revisited throughout the lifecycle
• Possible changes of direction while the project is running: Agility!
• Inspect-and-adapt approach
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 34
Software Development Methodologies
MedTech
Agile Manifesto : agilemanifesto.org
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 35
Software Development Methodologies
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
MedTech
Agile Approach : 12 Principles
1. Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile
processes harness change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a
couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout
the project.
5. Build projects around motivated individuals. Give them the
environment and support their need, and trust them to get the job
done.
6. The most efficient and effective method of conveying information to
and within a development team is face-to-face conversation.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 36
Software Development Methodologies
MedTech
Agile Approach : 12 Principles
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors,
developers, and users should be able
to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design
enhances agility.
10. Simplicity--the art of maximizing the amount of work not done--is
essential.
11. The best architectures, requirements, and designs emerge from self-
organizing teams.
12. At regular intervals, the team reflects on how to become more
effective, then tunes and adjusts its behavior accordingly.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 37
Software Development Methodologies
MedTech
Agile Approach
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 38
Software Development Methodologies
MedTech
Extreme Programming (XP)
• Is an Agile Methodology
• Iterative, Incremental and Extreme
• Key principles (see http://www.extremeprogramming.org/ )
1. Planning
• User stories are written
• Release planning creates the release schedule
• Divide the project iterations and start each one with a planning step
2. Managing
• Give the team a dedicated workspace
• Set a sustainable pace
• A stand up meeting starts each day
• The project velocity is measured
• Move people around
• Fix XP when it breaks
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 39
Software Development Methodologies
MedTech
Extreme Programming (XP)
• Key principles
3. Designing
• Simplicity
• Choose a system metaphor
• Never add functionalities early
• Refactor whenever and wherever possible
4. Coding
• Customer always available
• Code the unit test first
• All production code is pair programmed
• Integrate often, with a dedicated computer
5. Testing
• All code must have unit tests, and must pass them before it is released
• When a bug is found, tests are created
• Acceptance tests are run often and the score is published
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 40
Software Development Methodologies
MedTech
Extreme Programming (XP)
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 41
Software Development Methodologies
MedTech
SCRUM
A little story to kick it off
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 42
Software Development Methodologies
MedTech
SCRUM
• Agile Methodology
• SCRUM is a team pack in Rugby, everybody in the pack acts together
with everyone else to move the ball down the field
• A framework for complex software development projects (but not
only…)
• Actors:
• The Scrum Master: is responsible to deliver the expected deliverables. Know
how to get things done.
• The Product Owner: represent stakeholders in meetings. Know what has to
get done. Can prioritize.
• The Team: includes (but is not limited to) developers. They commit to
deliver.
• The Stakeholders: are the sponsor of the project. They might not know what
has to be done, they know (most of the times) what they need.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 43
Software Development Methodologies
MedTech
SCRUM
• A product owner creates a prioritized wish list called a product backlog.
• During sprint planning, the team pulls a small chunk from the top of that
wish list, a sprint backlog, and decides how to implement those pieces.
• The team has a certain amount of time — a sprint (usually two to four
weeks) — to complete its work, but it meets each day to assess its
progress (daily Scrum).
• Along the way, the ScrumMaster keeps the team focused on its goal.
• At the end of the sprint, the work should be potentially shippable: ready to
hand to a customer, put on a store shelf, or show to a stakeholder.
• The sprint ends with a sprint review and retrospective.
• As the next sprint begins, the team chooses another chunk of the product
backlog and begins working again.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 44
Software Development Methodologies
MedTech
SCRUM
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 45
Software Development Methodologies
MedTech
References
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 46
• A.U. Hakizabera and al. Linear Models vs Agile Models: Making the right model
decision, 2010
• S. Balaji and al. WATEERFALL Vs V-MODEL Vs AGILE: A COMPARATIVE STUDY ON SDLC,
JITBM, 2012
• N. Munassar and al. A Comparison Between Five Models Of Software Engineering,
IJCSI, 2010
• M. Kalali, RUP Overview, 2004
• K. Beck, Extreme Programming Explained, 2000

Más contenido relacionado

La actualidad más candente

White box black box & gray box testing
White box black box & gray box testingWhite box black box & gray box testing
White box black box & gray box testingHimanshu
 
Software Engineering - chp3- design
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- designLilia Sfaxi
 
Requirements engineering scenario based software requirement specification
Requirements engineering scenario based software requirement specificationRequirements engineering scenario based software requirement specification
Requirements engineering scenario based software requirement specificationWolfgang Kuchinke
 
Agile methodologiesvswaterfall
Agile methodologiesvswaterfallAgile methodologiesvswaterfall
Agile methodologiesvswaterfallMuthu Natarajan
 
9 requirements engineering2
9 requirements engineering29 requirements engineering2
9 requirements engineering2Lilia Sfaxi
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationDVClub
 
Agile software development
Agile software developmentAgile software development
Agile software developmentRajesh Piryani
 
Validating Non Functional Requirements
Validating Non Functional RequirementsValidating Non Functional Requirements
Validating Non Functional RequirementsReuben Korngold
 
Owasp SAMM v1.5
Owasp SAMM v1.5Owasp SAMM v1.5
Owasp SAMM v1.5Brian Glas
 

La actualidad más candente (20)

White box black box & gray box testing
White box black box & gray box testingWhite box black box & gray box testing
White box black box & gray box testing
 
Software Engineering - chp3- design
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- design
 
Oscp - Journey
Oscp - JourneyOscp - Journey
Oscp - Journey
 
Requirements engineering scenario based software requirement specification
Requirements engineering scenario based software requirement specificationRequirements engineering scenario based software requirement specification
Requirements engineering scenario based software requirement specification
 
Adopting Scrum
Adopting ScrumAdopting Scrum
Adopting Scrum
 
SDLC
SDLCSDLC
SDLC
 
Agile methodologiesvswaterfall
Agile methodologiesvswaterfallAgile methodologiesvswaterfall
Agile methodologiesvswaterfall
 
9 requirements engineering2
9 requirements engineering29 requirements engineering2
9 requirements engineering2
 
Spiral model
Spiral modelSpiral model
Spiral model
 
Iterative model
Iterative modelIterative model
Iterative model
 
Introduction to threat_modeling
Introduction to threat_modelingIntroduction to threat_modeling
Introduction to threat_modeling
 
Pre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si ValidationPre-Si Verification for Post-Si Validation
Pre-Si Verification for Post-Si Validation
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Validating Non Functional Requirements
Validating Non Functional RequirementsValidating Non Functional Requirements
Validating Non Functional Requirements
 
Spiral model
Spiral modelSpiral model
Spiral model
 
Owasp SAMM v1.5
Owasp SAMM v1.5Owasp SAMM v1.5
Owasp SAMM v1.5
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
GDPR and Hadoop
GDPR and HadoopGDPR and Hadoop
GDPR and Hadoop
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 

Similar a Software Engineering - chp1- software dev methodologies

Software development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsSoftware development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsAOmaAli
 
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.pptloloka1
 
ISTQB - Software development life cycle
ISTQB - Software development life cycleISTQB - Software development life cycle
ISTQB - Software development life cycleHoangThiHien1
 
CISSP - Software Development Security
CISSP - Software Development SecurityCISSP - Software Development Security
CISSP - Software Development SecurityKarthikeyan Dhayalan
 
Software life cycle
Software life cycleSoftware life cycle
Software life cyclekingseif
 
Software development life cycle
Software development life cycle Software development life cycle
Software development life cycle ParikshitTaksande1
 
Software Engineering - chp6- development phase
Software Engineering - chp6- development phaseSoftware Engineering - chp6- development phase
Software Engineering - chp6- development phaseLilia Sfaxi
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSaravanan Manoharan
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process modelssnehalkulkarni74
 
Waterfall-Model-in-SDLC-8861433.ppsx.pdf
Waterfall-Model-in-SDLC-8861433.ppsx.pdfWaterfall-Model-in-SDLC-8861433.ppsx.pdf
Waterfall-Model-in-SDLC-8861433.ppsx.pdfABINASHACHERJEE1
 
Introduction to Software Engineering and Software Process Models
Introduction to Software Engineering and Software Process ModelsIntroduction to Software Engineering and Software Process Models
Introduction to Software Engineering and Software Process Modelssantoshkawade5
 
Process Model in Software Engineering.ppt
Process Model in Software Engineering.pptProcess Model in Software Engineering.ppt
Process Model in Software Engineering.pptAtharvaBavge
 
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdfBinNguynVn3
 
Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle modelsWasif Khan
 

Similar a Software Engineering - chp1- software dev methodologies (20)

what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Software development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsSoftware development life cycle (SDLC) Models
Software development life cycle (SDLC) Models
 
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
 
ISTQB - Software development life cycle
ISTQB - Software development life cycleISTQB - Software development life cycle
ISTQB - Software development life cycle
 
Managing Technology Projects
Managing Technology ProjectsManaging Technology Projects
Managing Technology Projects
 
Process models
Process modelsProcess models
Process models
 
The Waterfall Model
The Waterfall ModelThe Waterfall Model
The Waterfall Model
 
CISSP - Software Development Security
CISSP - Software Development SecurityCISSP - Software Development Security
CISSP - Software Development Security
 
Software life cycle
Software life cycleSoftware life cycle
Software life cycle
 
Software development life cycle
Software development life cycle Software development life cycle
Software development life cycle
 
Software Engineering - chp6- development phase
Software Engineering - chp6- development phaseSoftware Engineering - chp6- development phase
Software Engineering - chp6- development phase
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process models
 
Software process
Software processSoftware process
Software process
 
Waterfall-Model-in-SDLC-8861433.ppsx.pdf
Waterfall-Model-in-SDLC-8861433.ppsx.pdfWaterfall-Model-in-SDLC-8861433.ppsx.pdf
Waterfall-Model-in-SDLC-8861433.ppsx.pdf
 
Introduction to Software Engineering and Software Process Models
Introduction to Software Engineering and Software Process ModelsIntroduction to Software Engineering and Software Process Models
Introduction to Software Engineering and Software Process Models
 
Process Model in Software Engineering.ppt
Process Model in Software Engineering.pptProcess Model in Software Engineering.ppt
Process Model in Software Engineering.ppt
 
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
 
Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle models
 

Más de Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfLilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-CorrectionLilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-SéquencesLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésLilia Sfaxi
 

Más de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 

Último

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
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
 
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 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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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 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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Software Engineering - chp1- software dev methodologies

  • 1. MedTech Chapter 1 – Software Development Methodologies Methods and Methodologies for designing software Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 1 MedTech – Mediterranean Institute of Technology Software Engineering MedTech
  • 2. MedTech Summary of the Course Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 2 • Introduction to Software Development Methodoogies • Software Development Models • Software Development Methodologies • Ad-hoc • Waterfall • Prototyping • V-Model • Spiral • RAD • Unified Process • Agile
  • 3. MedTech Software Project • A project is a set of actions planned and executed by a group of people in order to reach a goal, limited by a deadline, and having a certain cost • To manage a project • Define a methodology • Manage concerned people • Manage technical constraints • Manage available means… Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 3 Introduction to Software Development Methodologies
  • 4. MedTech Software Development Methodology • Also called: • System Development Methodology • Software Development Lifecycle • Software Development Process • A set f activities whose goal is the development or evolution of software • Generic activities in all software processes • Specification • Design • Development • Validation • Evolution Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 4 Introduction to Software Development Methodologies
  • 5. MedTech Software Lifecycle • Defines all the software development phases, starting from the requirements specification of the client, to the final stages of software creation • These phases are organized with regard to models that guide the engineer in his activities • Linear models • Iterative models • Incremental models • Adaptive models • Extreme models Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 5 Introduction to Software Development Methodologies
  • 6. MedTech Summary of the Course Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 6 • Introduction to Software Development Methodoogies • Software Development Models • Software Development Methodologies • Ad-hoc • Waterfall • Prototyping • V-Model • Spiral • RAD • Unified Process • Agile
  • 7. MedTech Software Development Models • Linear Model • A number of dependent phases that are executed in a sequential order with no feedback loops • The solution is only produced at the final phase • Well defined goals, requirements and solution, few scope change requests • Incremental Model • Same as the linear model, except that each phase releases a partial solution or deliverable • Well defined goals, requirements and solution, more agressive schedule • Iterative Model • A number of phases repeated in groups with a feedback loop after each group is completed • The last phase in a group might release a partial or final solution • Well defined goals, not all features known, learn-by-doing strategy Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 7 Introduction to Software Development Methodologies
  • 8. MedTech Sw. Dev. Models : Incremental vs. Iterative Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 8 Introduction to Software Development Methodologies
  • 9. MedTech Sw. Dev. Models : Incremental and Iterative Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 9 Introduction to Software Development Methodologies
  • 10. MedTech Software Development Models • Adaptive Model • Progresses from iteration to iteration based on limited specification of the solution • Each iteration learns from the preceding ones • Attempts to converge on an acceptable solution for the customer • Well defined goals but frequent change requests • Extreme Model • Same as the adaptive model except that the specification of the solution is minimal and the goals are not clearly defined • Goals are unknown, typical R&D projects Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 10 Introduction to Software Development Methodologies
  • 11. MedTech Summary of the Course Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 11 • Introduction to Software Development Methodoogies • Software Development Models • Software Development Methodologies • Ad-hoc • Waterfall • Prototyping • V-Model • Spiral • RAD • Unified Process • Agile
  • 12. MedTech Ad-hoc (Big Bang) Methodology • Typically, no methodology at all! • The client states his needs, and the developer just does the work! • Pros • Simple and straightforward • Adequate for small and simple systems • Cons: A big problem if: • The client doesn’t express his needs correctly • The developer doesn’t know how to proceed with the implementation • … and it does not support any changes in the requirements Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 12 Software Development Methodologies
  • 13. MedTech Waterfall Analysis Design Development Testing Implementation Maintenance Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 13 Software Development Methodologies • Linear Model • Requirementshould be clear before the next step • Testing is done once the code fully developed • A time period is defined for eachstep
  • 14. MedTech Waterfall • Pros • Requirement is clear before development starts • Each phase is completed in specific period of time, after that it moves to the next phase • As a linea model, it is easy to implement • The amount of required resources are minimal • Each phase requires a proper documentation • Cons • Some phases problems appear when going through the next phases • It is not flexible and does not support any requirements changes • The client sees the resulting product once all the phases are over Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 14 Software Development Methodologies
  • 16. MedTech Prototyping Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 16 Software Development Methodologies • Remedies to the problem of the waterfall methodology, where we are never sure if the specification will work until you are at the last stage • Creates a prototype of the application: • Incomplete versions of the program • Simulates only a few aspects of the final product • Pros • The customer can be reassured with a sample of his application way before the development is achieved • Cons • A prototype mostly cannot cover all the problems a real application does! • You spend a significant time creating the prototype • Sometimes, the customer is happy with the prototype, and doesn’t go further with the real application!!
  • 17. MedTech V-Model Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 17 Software Development Methodologies Analysis High Level Design Low Level Design Implementation Acceptance Testing System Testing Integration Testing Unit Testing
  • 18. MedTech V-Model • Modified version of the waterfall method (linear model) • The stages turn back upwards to verify and validate every step • The test cases are prepared with every step • Tester et developer work in parallel • Pros • Same as those of the waterfall + the tester is involved from the requirement phase • Cons • Rigid • If changes happen midway, not only the requirements documentation, but also the test documentation need to be changed • Is not adequate for short term projects as it requires reviews at each stage Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 18 Software Development Methodologies
  • 20. MedTech Spiral • Linear and Incremental Model + Prototyping • Big emphasis on risk assessment • 4 main phases: • Objective Setting, Risk Analysis, Engineering and Planning • Pros • High amount of risk analysis • Software produced early in the lifecycle • Cons • Can be costly • Risk analysis requires highly specific expertise • Is not adequate for small projects Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 20 Software Development Methodologies
  • 21. MedTech RAD: Rapid Application Development • First method that fundamentally breaks with the waterfall-based methods • Iterative, incremental and adaptative • Uses minimal planning in favor of rapid prototyping • Massive use of computarized development tools (CASE, GUI builders, DBMS…) • Gathers customer requirements through: • Workshops or focus groups • Early testing of the prototypes using iterative concept • Reuse of existing prototypes • Continuous integration • Used if: • There is a need to produce the system in a short span of time (2-3 months) • There is a high availabilityof designers and a high budget for code generating tools Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 21 Software Development Methodologies
  • 22. MedTech RAD: Rapid Application Development Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 22 Software Development Methodologies
  • 23. MedTech RAD: Rapid Application Development • Pros • Reduced development time • Increased reusability of components • Quick initial reviews • Encourages customer feedback • Iteration time can be short using RAD tools • Cons • Depends on a strong team and individual performance • Only applicable for modularizable systems • Inapplicable to cheaper projects as cost of modeling and automated code generation is very high Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 23 Software Development Methodologies
  • 24. MedTech Unified Process • Iterative and incremental model, use case driven and architecture centered • A software engineering process based on best practices in software development • A disciplines approach to assigning and managing tasks and responsabilities in a development organization • Focused on high-quality software that meets the needs of its end users • Uses the UML notation • Consists of five core workflows and four phases Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 24 Software Development Methodologies
  • 25. MedTech Unified Process Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 25 Software Development Methodologies
  • 26. MedTech Unified Process : Terminology Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 26 Software Development Methodologies • Development Cycle • Period of time that elapses from the start of the project until product release • Artifact • Piece of information produced, modified or used by a process • Workflow • Sequence of activities that produces a result of observable value • Phase • Each cycle is broken down into a sequence of four phases • Time during which a well-defined set of objectives is met, artifacts are completed and decisions whether to move to the next step or not are made • Iteration • Inside eahc phase, there may be one or more iterations • Software is developed in each iteration, concluded by a minor milestone • The software product grows incrementally as you iterate over the activities • Milestone • Release point at which an iteration formally ends
  • 27. MedTech Unified Process : Phases • Inception: 10% Time, 5% Effort • Helps determine the project feasibility, what the customer wants and how to get there • Understand what to build • A vision document • Optional business model • Initial project glossary • Identify key system functionality • An initial use case model (10-20% complete) • One or several prototypes • Understand costs, schedule and risks • Decide what process to follow and what tools to use • Project plan • First Major Milestone: Lifecyle Objective Milestone • Is the project doomed to fail? Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 27 Software Development Methodologies
  • 28. MedTech Unified Process : Phases • Elaboration : 30% Time, 20% Effort • Define and baseline the architecture of the System to provide a stable basis for the design • Deeper requirements understanding • At least 80% complete use case model • Non functional requirements capturing • Architect consideration • Software architecture description • Executable architectural prototype • Revised risk list and business case • Development case refinement • Coarse grained project plan • Defining iterations & evaluation criteria for each one • Major Milestone: Lifecycle Architecture • Is the project’s plane, vision, architecture are good enough to achieve project goals? Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 28 Software Development Methodologies
  • 29. MedTech Unified Process : Phases • Construction: 50% Time, 65% Effort • Targets a cost-efficient development of a complete product • Minimize development costs and achieve some degree of parallelism • Iteratively develop a complete product • Software product integrated on the adequate platforms • User manuals • Desciption of the current release • Major Milestone: Initial Operational Capability • Is the product ready to be deployed to a beta test env.? Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 29 Software Development Methodologies
  • 30. MedTech Unified Process : Phases • Transition: 10% Time, 30% Effort • Transition the software product to the user community • Think about next releases, finish postponed features • Beta testing to validate the new system against user experience • Conversion of operational databases • Training of users and maintainers • Marketing, distribution • Improve performance • Major Milestone: Product Release • Are the objectives met and should we start another development cycle? Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 30 Software Development Methodologies
  • 31. MedTech Two Track Unified Process • Declination of the Unified Process Methodology • Takes into account the continuous contraints changes during the development • Considers two risks: • Functional inaccuracy: inadequacy to the requirements • Unability to integrate technologies • General principle • Every possible evolution of the system can be decomposed and managed separately, following a functional axis and a technical axis • 2TUP • Unified process (iterative, archi-centered and UC driven) • Two branches (technical and functional), merged into a realization branch Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 31 Software Development Methodologies
  • 32. MedTech Two Track Unified Process Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 32 Software Development Methodologies Capture ofBusiness requirements Analysis Capture ofTechnical requirements Generic Design Preliminary Design Detailed Design Coding and Tests Recipe Functional Branch Technical Branch Design and Development Branch
  • 33. MedTech Two Track Unified Process Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 33 Software Development Methodologies
  • 34. MedTech Agile Approach • Agile movement seeks alternatives to traditional project management • Uses the incremental and iterative model • Regular cadences of work (sprints or iterations) at the end of which the team must present a product increment • Every aspect of development (requirements, design, …) is continually revisited throughout the lifecycle • Possible changes of direction while the project is running: Agility! • Inspect-and-adapt approach Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 34 Software Development Methodologies
  • 35. MedTech Agile Manifesto : agilemanifesto.org Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 35 Software Development Methodologies 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
  • 36. MedTech Agile Approach : 12 Principles 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support their need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 36 Software Development Methodologies
  • 37. MedTech Agile Approach : 12 Principles 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity--the art of maximizing the amount of work not done--is essential. 11. The best architectures, requirements, and designs emerge from self- organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 37 Software Development Methodologies
  • 38. MedTech Agile Approach Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 38 Software Development Methodologies
  • 39. MedTech Extreme Programming (XP) • Is an Agile Methodology • Iterative, Incremental and Extreme • Key principles (see http://www.extremeprogramming.org/ ) 1. Planning • User stories are written • Release planning creates the release schedule • Divide the project iterations and start each one with a planning step 2. Managing • Give the team a dedicated workspace • Set a sustainable pace • A stand up meeting starts each day • The project velocity is measured • Move people around • Fix XP when it breaks Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 39 Software Development Methodologies
  • 40. MedTech Extreme Programming (XP) • Key principles 3. Designing • Simplicity • Choose a system metaphor • Never add functionalities early • Refactor whenever and wherever possible 4. Coding • Customer always available • Code the unit test first • All production code is pair programmed • Integrate often, with a dedicated computer 5. Testing • All code must have unit tests, and must pass them before it is released • When a bug is found, tests are created • Acceptance tests are run often and the score is published Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 40 Software Development Methodologies
  • 41. MedTech Extreme Programming (XP) Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 41 Software Development Methodologies
  • 42. MedTech SCRUM A little story to kick it off Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 42 Software Development Methodologies
  • 43. MedTech SCRUM • Agile Methodology • SCRUM is a team pack in Rugby, everybody in the pack acts together with everyone else to move the ball down the field • A framework for complex software development projects (but not only…) • Actors: • The Scrum Master: is responsible to deliver the expected deliverables. Know how to get things done. • The Product Owner: represent stakeholders in meetings. Know what has to get done. Can prioritize. • The Team: includes (but is not limited to) developers. They commit to deliver. • The Stakeholders: are the sponsor of the project. They might not know what has to be done, they know (most of the times) what they need. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 43 Software Development Methodologies
  • 44. MedTech SCRUM • A product owner creates a prioritized wish list called a product backlog. • During sprint planning, the team pulls a small chunk from the top of that wish list, a sprint backlog, and decides how to implement those pieces. • The team has a certain amount of time — a sprint (usually two to four weeks) — to complete its work, but it meets each day to assess its progress (daily Scrum). • Along the way, the ScrumMaster keeps the team focused on its goal. • At the end of the sprint, the work should be potentially shippable: ready to hand to a customer, put on a store shelf, or show to a stakeholder. • The sprint ends with a sprint review and retrospective. • As the next sprint begins, the team chooses another chunk of the product backlog and begins working again. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 44 Software Development Methodologies
  • 46. MedTech References Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 46 • A.U. Hakizabera and al. Linear Models vs Agile Models: Making the right model decision, 2010 • S. Balaji and al. WATEERFALL Vs V-MODEL Vs AGILE: A COMPARATIVE STUDY ON SDLC, JITBM, 2012 • N. Munassar and al. A Comparison Between Five Models Of Software Engineering, IJCSI, 2010 • M. Kalali, RUP Overview, 2004 • K. Beck, Extreme Programming Explained, 2000