SlideShare ist ein Scribd-Unternehmen logo
1 von 76
Models
When to use SDLC Waterfall Model?
• When the requirements are constant and not changed regularly.
• A project is short
• The situation is calm
• Where the tools and technology used is consistent and is not
changing
• When resources are well prepared and are available to use.
Advantages of Waterfall model
• This model is simple to implement also the number of resources that
are required for it is minimal.
• The requirements are simple and explicitly declared; they remain
unchanged during the entire project development.
• The start and end points for each phase is fixed, which makes it easy
to cover progress.
• The release date for the complete product, as well as its final cost,
can be determined before development.
• It gives easy to control and clarity for the customer due to a strict
reporting system.
Disadvantages of Waterfall model
• In this model, the risk factor is higher, so this model is not suitable for
more significant and complex projects.
• This model cannot accept the changes in requirements during
development.
• It becomes tough to go back to the phase. For example, if the
application has now shifted to the coding phase, and there is a
change in requirement, It becomes tough to go back and change it.
• Since the testing done at a later stage, it does not allow identifying
the challenges and risks in the earlier phase, so the risk reduction
strategy is difficult to prepare.
RAD (Rapid Application Development) Model
• RAD is a linear sequential software development process model that
emphasizes a concise development cycle using an element based
construction approach.
• RAD (Rapid Application Development) is a concept that products can
be developed faster and of higher quality through:
• Gathering requirements using workshops or focus groups
• Prototyping and early, reiterative user testing of designs
• The re-use of software components
• A rigidly paced schedule that refers design improvements to the next
product version
• Less formality in reviews and other team communication
When to use RAD Model?
• When the system should need to create the project that modularizes
in a short span time (2-3 months).
• When the requirements are well-known.
• When the technical risk is limited.
• When there's a necessity to make a system, which modularized in 2-3
months of period.
• It should be used only if the budget allows the use of automatic code
generating tools.
Advantage of RAD Model
• This model is flexible for change.
• In this model, changes are adoptable.
• Each phase in RAD brings highest priority functionality to the
customer.
• It reduced development time.
• It increases the reusability of features.
Disadvantage of RAD Model
• It required highly skilled designers.
• All application is not compatible with RAD.
• For smaller projects, we cannot use the RAD model.
• On the high technical risk, it's not suitable.
• Required user involvement.
Spiral Model
When to use Spiral Model?
• When deliverance is required to be frequent.
• When the project is large
• When requirements are unclear and complex
• When changes may require at any time
• Large and high budget projects
Advantages
• High amount of risk analysis
• Useful for large and mission-critical projects.
Disadvantages
• Can be a costly model to use.
• Risk analysis needed highly particular expertise
• Doesn't work well for smaller projects.
V-Model
Advantage (Pros) of V-Model:
• Easy to Understand.
• Testing Methods like planning, test designing happens well before
coding.
• This saves a lot of time. Hence a higher chance of success over the
waterfall model.
• Avoids the downward flow of the defects.
• Works well for small plans where requirements are easily understood.
Disadvantage (Cons) of V-Model:
• Very rigid and least flexible.
• Not a good for a complex project.
• Software is developed during the implementation stage, so no early
prototypes of the software are produced.
• If any changes happen in the midway, then the test documents along
with the required documents, has to be updated.
Incremental Model
When we use the Incremental Model?
• When the requirements are superior.
• A project has a lengthy development schedule.
• When Software team are not very well skilled or trained.
• When the customer demands a quick release of the product.
• You can develop prioritized requirements first.
Advantage of Incremental Model
• Errors are easy to be recognized.
• Easier to test and debug
• More flexible.
• Simple to manage risk because it handled during its iteration.
• The Client gets important functionality early.
Disadvantage of Incremental Model
• Need for good planning
• Total Cost is high.
• Well defined module interfaces are needed.
Agile Model
• The meaning of Agile is swift or versatile."Agile process model" refers
to a software development approach based on iterative development.
Agile methods break tasks into smaller iterations, or parts do not
directly involve long term planning.
• The project scope and requirements are laid down at the beginning of
the development process. Plans regarding the number of iterations,
the duration and the scope of each iteration are clearly defined in
advance.
Agile Testing Methods
• Scrum
• Crystal
• Dynamic Software Development Method(DSDM)
• Feature Driven Development(FDD)
• Lean Software Development
• eXtreme Programming(XP)
Scrum
• SCRUM is an agile development process focused primarily on ways to
manage tasks in team-based development conditions.
• There are three roles in it, and their responsibilities are:
• Scrum Master: The scrum can set up the master team, arrange the
meeting and remove obstacles for the process
• Product owner: The product owner makes the product backlog,
prioritizes the delay and is responsible for the distribution of
functionality on each repetition.
• Scrum Team: The team manages its work and organizes the work to
complete the sprint or cycle.
Crystal:
• There are three concepts of this method-
• Chartering: Multi activities are involved in this phase such as making a
development team, performing feasibility analysis, developing plans,
etc.
• Cyclic delivery: under this, two more cycles consist, these are:
• Team updates the release plan.
• Integrated product delivers to the users.
• Wrap up: According to the user environment, this phase performs
deployment, post-deployment.
Dynamic Software Development Method(DSDM):
• DSDM is a rapid application development strategy for software
development and gives an agile project distribution structure. The
essential features of DSDM are that users must be actively connected,
and teams have been given the right to make decisions. The
techniques used in DSDM are:
• Time Boxing
• MoSCoW Rules
• Prototyping
The DSDM project contains seven stages:
• Pre-project
• Feasibility Study
• Business Study
• Functional Model Iteration
• Design and build Iteration
• Implementation
• Post-project
Feature Driven Development(FDD)
• This method focuses on "Designing and Building" features. In contrast
to other smart methods, FDD describes the small steps of the work
that should be obtained separately per function.
When to use the Agile Model?
• When frequent changes are required.
• When a highly qualified and experienced team is available.
• When a customer is ready to have a meeting with a software team all
the time.
• When project size is small.
Advantage(Pros) of Agile Method
• Frequent Delivery
• Face-to-Face Communication with clients.
• Efficient design and fulfils the business requirement.
• Anytime changes are acceptable.
• It reduces total development time.
Disadvantages(Cons) of Agile Model
• Due to the shortage of formal documents, it creates confusion and
crucial decisions taken throughout various phases can be
misinterpreted at any time by different team members.
• Due to the lack of proper documentation, once the project completes
and the developers allotted to another project, maintenance of the
finished project can become a difficulty.
Iterative Model
• In this Model, you can start with some of the software specifications
and develop the first version of the software.
• After the first version if there is a need to change the software, then
a new version of the software is created with a new iteration.
• Every release of the Iterative Model finishes in an exact and fixed
period that is called iteration.
When to use the Iterative Model?
• When requirements are defined clearly and easy to understand.
• When the software application is large.
• When there is a requirement of changes in future.
Advantage(Pros) of Iterative Model:
• Testing and debugging during smaller iteration is easy.
• A Parallel development can plan.
• It is easily acceptable to ever-changing needs of the project.
• Risks are identified and resolved during iteration.
• Limited time spent on documentation and extra time on designing.
Disadvantage(Cons) of Iterative Model:
• It is not suitable for smaller projects.
• More Resources may be required.
• Design can be changed again and again because of imperfect
requirements.
• Requirement changes can cause over budget.
• Project completion date not confirmed because of changing
requirements.
Software Quality & Project Planning
Notion of Software Quality:
• Software quality product is defined in term of its fitness of purpose.
That is, a quality product does precisely what the users want it to do.
For software products, the fitness of use is generally explained in
terms of satisfaction of the requirements laid down in the SRS
document.
The modern view of a quality
• Portability
• Usability
• Reusability
• Correctness
• Maintainability
Software Quality Management System
• Managerial Structure and Individual Responsibilities
• Quality System Activities
ISO 9000 Certification
• ISO (International Standards Organization) is a group or consortium of
63 countries established to plan and fosters standardization. ISO
declared its 9000 series of standards in 1987.
• It serves as a reference for the contract between independent parties.
The ISO 9000 standard determines the guidelines for maintaining a
quality system.
How to get ISO 9000 Certification?
Software Engineering Institute Capability Maturity
Model (SEICMM)
• The Capability Maturity Model (CMM) is a procedure used to develop
and refine an organization's software development process.
• The model defines a five-level evolutionary stage of increasingly
organized and consistently more mature processes.
Methods of SEICMM
People Capability Maturity Model (PCMM)
• PCMM is a maturity structure that focuses on continuously improving
the management and development of the human assets of an
organization.
• It defines an evolutionary improvement path from Adhoc,
inconsistently performed practices, to a mature, disciplined, and
continuously improving the development of the knowledge, skills,
and motivation of the workforce that enhances strategic business
performance.
Six Sigma
• Six Sigma is the process of improving the quality of the output by
identifying and eliminating the cause of defects and reduce variability
in manufacturing and business processes.
• The maturity of a manufacturing process can be defined by a sigma
rating indicating its percentage of defect-free products it creates.
Characteristics of Six Sigma
Six Sigma Methodologies
• Six Sigma projects follow two project methodologies:
• DMAIC
• DMADV
DMAIC
DMADV
Software Project Planning
• Software development is a sort of all new streams in world business,
and there's next to no involvement in structure programming items.
Most programming items are customized to accommodate customer's
necessities.
• The most significant is that the underlying technology changes and
advances so generally and rapidly that experience of one element
may not be connected to the other one.
• All such business and ecological imperatives bring risk in software
development; hence, it is fundamental to manage software projects
efficiently.
Software Project Manager
• Software manager is responsible for planning and scheduling project
development.
• They monitor the progress to check that the event is on time and
within budget. The project planning must incorporate the major
issues like size & cost estimation scheduling, project monitoring,
personnel selection evaluation & risk management.
Various Steps of Planning
Software Cost Estimation
• Several estimation procedures have been developed and are having
the following attributes in common.
• Project scope must be established in advanced.
• Software metrics are used as a support from which evaluation is
made.
• The project is broken into small PCs which are estimated individually.
To achieve true cost & schedule estimate, several option arise.
• Delay estimation
• Used symbol decomposition techniques to generate project cost and
schedule estimates.
• Acquire one or more automated estimation tools.
Uses of Cost Estimation
• During the planning stage, one needs to choose how many engineers
are required for the project and to develop a schedule.
• In monitoring the project's progress, one needs to access whether the
project is progressing according to the procedure and takes corrective
action, if necessary.
Cost Estimation Models
• Static, Single Variable Models: When a model makes use of single variables to
calculate desired values such as cost, time, efforts, etc. is said to be a single
variable model. The most common equation is:
C=aLb
Where C = Costs
L= size
a and b are constants
• The Software Engineering Laboratory established a model called SEL model, for
estimating its software production. This model is an example of the static, single
variable model.
E=1.4L0.93
DOC=30.4L0.90
D=4.6L0.26
Where E= Efforts (Person Per Month)
DOC=Documentation (Number of Pages)
D = Duration (D, in months)
L = Number of Lines per code
• sstatic, Multivariable Models: These models are based on method
(1), they depend on several variables describing various aspects of the
software development environment. In some model, several variables
are needed to describe the software development process, and
selected equation combined these variables to give the estimate of
time & cost. These models are called multivariable models.
• WALSTON and FELIX develop the models at IBM provide the following
equation gives a relationship between lines of source code and effort:
• E=5.2L0.91
• duration of development is given by
D=4.1L0.36
• The productivity index uses 29 variables which are found to be highly
correlated productivity as follows:
•
Where Wi is the weight factor for the ithvariable and Xi={-1,0,+1} the estimator
gives Xione of the values -1, 0 or +1 depending on the variable decreases, has no effect
or increases the productivity.
• Example: Compare the Walston-Felix Model with the SEL model on a
software development expected to involve 8 person-years of effort.
i)Calculate the number of lines of source code that can be produced.
ii)Calculate the duration of the development.
iii)Calculate the productivity in LOC/PY
iv)Calculate the average manning
L (SEL) = (96/1.4)1⁄0.93=94264 LOC
L (SEL) = (96/5.2)1⁄0.91=24632 LOC
(b)Duration in months can be calculated by means of equation
D (SEL) = 4.6 (L) 0.26
= 4.6 (94.264)0.26 = 15 months
D (W-F) = 4.1 L0.36
= 4.1 (24.632)0.36 = 13 months
The amount of manpower involved = 8PY=96persons-months
(a)Number of lines of source code can be obtained by reversing equation to give:
Then
(c) Productivity is the lines of code produced per persons/month (year)
(d)Average manning is the average number of persons required per month in the project
COCOMO Model
• Boehm proposed COCOMO (Constructive Cost Estimation Model) in 1981.COCOMO is one of the most
generally used software estimation models in the world. COCOMO predicts the efforts and schedule of a
software product based on the size of the software.
• The necessary steps in this model are:
• Get an initial estimate of the development effort from evaluation of thousands of delivered lines of source
code (KDLOC).
• Determine a set of 15 multiplying factors from various attributes of the project.
• Calculate the effort estimate by multiplying the initial estimate with all the multiplying factors i.e., multiply
the values in step1 and step2.
• The initial estimate (also called nominal estimate) is determined by an equation of the form used in the static
single variable models, using KDLOC as the measure of the size. To determine the initial effort Ei in person-
months the equation used is of the type is shown below
• Ei=a*(KDLOC)b
In COCOMO, projects are categorized into three types:
• Organic
• Semidetached
• Embedded
1.Organic: A development project can be treated of the organic type, if the project deals with
developing a well-understood application program, the size of the development team is reasonably
small, and the team members are experienced in developing similar methods of projects. Examples
of this type of projects are simple business systems, simple inventory management systems, and
data processing systems.
2. Semidetached: A development project can be treated with semidetached type if the development
consists of a mixture of experienced and inexperienced staff. Team members may have finite
experience in related systems but may be unfamiliar with some aspects of the order being
developed. Example of Semidetached system includes developing a new operating system (OS),
a Database Management System (DBMS), and complex inventory management system.
3. Embedded: A development project is treated to be of an embedded type, if the software being
developed is strongly coupled to complex hardware, or if the stringent regulations on the operational
method exist. For Example: ATM, Air Traffic control.
1. Basic COCOMO Model
• The basic COCOMO model provide an accurate size of the project
parameters. The following expressions give the basic COCOMO
estimation model:
• Effort=a1*(KLOC) a2 PM
T dev=b1*(efforts)b2 Months
• Where
• KLOC is the estimated size of the software product indicate in Kilo
Lines of Code,
• a1,a2,b1,b2 are constants for each group of software products,
• Tdev is the estimated time to develop the software, expressed in
months,
• Effort is the total effort required to develop the software product, expressed
in person months (PMs).
• Estimation of development effort
• For the three classes of software products, the formulas for estimating the effort
based on the code size are shown below:
Organic: Effort = 2.4(KLOC) 1.05 PM
Semi-detached: Effort = 3.0(KLOC) 1.12 PM
Embedded: Effort = 3.6(KLOC) 1.20 PM
Estimation of development time
For the three classes of software products, the formulas for estimating the
development time based on the effort are given below:
Organic: Tdev = 2.5(Effort) 0.38 Months
Semi-detached: Tdev = 2.5(Effort) 0.35 Months
Embedded: Tdev = 2.5(Effort) 0.32 Months
Example1: Suppose a project was estimated to be 400 KLOC. Calculate the effort and development
time for each of the three model i.e., organic, semi-detached & embedded.
• The basic COCOMO equation takes the form:
Effort=a1*(KLOC) a2 PM
Tdev=b1*(efforts)b2 Months
Estimated Size of project= 400 KLOC
(i)Organic Mode
E = 2.4 * (400)1.05 = 1295.31 PM
D = 2.5 * (1295.31)0.38=38.07 PM
(ii)Semidetached Mode
E = 3.0 * (400)1.12=2462.79 PM
D = 2.5 * (2462.79)0.35=38.45 PM
(iii) Embedded Mode
E = 3.6 * (400)1.20 = 4772.81 PM
D = 2.5 * (4772.8)0.32 = 38 PM
Example2: A project size of 200 KLOC is to be developed. Software development team has average
experience on similar type of projects. The project schedule is not very tight. Calculate the Effort,
development time, average staff size, and productivity of the project.
• The semidetached mode is the most appropriate mode, keeping in
view the size, schedule and experience of development time.
• Hence E=3.0(200)1.12=1133.12PM
D=2.5(1133.12)0.35=29.3PM
Average staff size=38.67 persons
Productivity=0.1765 KLOCPM
P = 176 LOC/PM
2. Intermediate Model
• The basic Cocomo model considers that the effort is only a function of the number of lines of code
and some constants calculated according to the various software systems. The intermediate
COCOMO model recognizes these facts and refines the initial estimates obtained through the basic
COCOMO model by using a set of 15 cost drivers based on various attributes of software
engineering.
Classification of Cost Drivers and their attributes:
Product attributes -
• Required software reliability extent
• Size of the application database
• The complexity of the product
Hardware attributes -
• Run-time performance constraints
• Memory constraints
• The volatility of the virtual machine environment
• Required turnabout time
Personnel attributes -
• Analyst capability
• Software engineering capability
• Applications experience
• Virtual machine experience
• Programming language experience
Project attributes -
• Use of software tools
• Application of software engineering methods
• Required development schedule
3. Detailed COCOMO Model
• Detailed COCOMO incorporates all qualities of the standard version with an
assessment of the cost driver?s effect on each method of the software
engineering process. The detailed model uses various effort multipliers for each
cost driver property. In detailed cocomo, the whole software is differentiated into
multiple modules, and then we apply COCOMO in various modules to estimate
effort and then sum the effort.
• The Six phases of detailed COCOMO are:
• Planning and requirements
• System structure
• Complete structure
• Module code and test
• Integration and test
• Cost Constructive model

Weitere ähnliche Inhalte

Ähnlich wie Module-02.pptx

0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
BinNguynVn3
 
System development methodologies L2.ppt
System development methodologies L2.pptSystem development methodologies L2.ppt
System development methodologies L2.ppt
NyamburaKinyua
 

Ähnlich wie Module-02.pptx (20)

0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
 
CISSP - Software Development Security
CISSP - Software Development SecurityCISSP - Software Development Security
CISSP - Software Development Security
 
Ppt nardeep
Ppt nardeepPpt nardeep
Ppt nardeep
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
Software Process Model.ppt
Software Process Model.pptSoftware Process Model.ppt
Software Process Model.ppt
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Essential of SDLC: A Comprehensive Guide to Fundamentals, Phases, and Method...
Essential of  SDLC: A Comprehensive Guide to Fundamentals, Phases, and Method...Essential of  SDLC: A Comprehensive Guide to Fundamentals, Phases, and Method...
Essential of SDLC: A Comprehensive Guide to Fundamentals, Phases, and Method...
 
Selection of methodology - System Analysis and Design
Selection of methodology - System Analysis and Design  Selection of methodology - System Analysis and Design
Selection of methodology - System Analysis and Design
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
SDLC Method Training Course
SDLC Method Training CourseSDLC Method Training Course
SDLC Method Training Course
 
SDLC Methodologies
SDLC MethodologiesSDLC Methodologies
SDLC Methodologies
 
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
 
null-1.pptx
null-1.pptxnull-1.pptx
null-1.pptx
 
Software development life cycle (SDLC) Models
Software development life cycle (SDLC) ModelsSoftware development life cycle (SDLC) Models
Software development life cycle (SDLC) Models
 
V Model.pptx
V Model.pptxV Model.pptx
V Model.pptx
 
Effort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and AgileEffort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and Agile
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
 
System development methodologies L2.ppt
System development methodologies L2.pptSystem development methodologies L2.ppt
System development methodologies L2.ppt
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Software development life cycle
Software development life cycle Software development life cycle
Software development life cycle
 

Kürzlich hochgeladen

VIP Call Girls Valsad 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Valsad 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Valsad 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Valsad 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Principle of erosion control- Introduction to contouring,strip cropping,conto...
Principle of erosion control- Introduction to contouring,strip cropping,conto...Principle of erosion control- Introduction to contouring,strip cropping,conto...
Principle of erosion control- Introduction to contouring,strip cropping,conto...
ZAPPAC1
 

Kürzlich hochgeladen (20)

Get Premium Attur Layout Call Girls (8005736733) 24x7 Rate 15999 with A/c Roo...
Get Premium Attur Layout Call Girls (8005736733) 24x7 Rate 15999 with A/c Roo...Get Premium Attur Layout Call Girls (8005736733) 24x7 Rate 15999 with A/c Roo...
Get Premium Attur Layout Call Girls (8005736733) 24x7 Rate 15999 with A/c Roo...
 
Enhancing forest data transparency for climate action
Enhancing forest data transparency for climate actionEnhancing forest data transparency for climate action
Enhancing forest data transparency for climate action
 
VIP Model Call Girls Chakan ( Pune ) Call ON 8005736733 Starting From 5K to 2...
VIP Model Call Girls Chakan ( Pune ) Call ON 8005736733 Starting From 5K to 2...VIP Model Call Girls Chakan ( Pune ) Call ON 8005736733 Starting From 5K to 2...
VIP Model Call Girls Chakan ( Pune ) Call ON 8005736733 Starting From 5K to 2...
 
GENUINE Babe,Call Girls IN Chhatarpur Delhi | +91-8377877756
GENUINE Babe,Call Girls IN Chhatarpur Delhi | +91-8377877756GENUINE Babe,Call Girls IN Chhatarpur Delhi | +91-8377877756
GENUINE Babe,Call Girls IN Chhatarpur Delhi | +91-8377877756
 
Call Girls Moshi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Moshi Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Moshi Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Moshi Call Me 7737669865 Budget Friendly No Advance Booking
 
Hertwich_EnvironmentalImpacts_BuildingsGRO.pptx
Hertwich_EnvironmentalImpacts_BuildingsGRO.pptxHertwich_EnvironmentalImpacts_BuildingsGRO.pptx
Hertwich_EnvironmentalImpacts_BuildingsGRO.pptx
 
VIP Model Call Girls Viman Nagar ( Pune ) Call ON 8005736733 Starting From 5K...
VIP Model Call Girls Viman Nagar ( Pune ) Call ON 8005736733 Starting From 5K...VIP Model Call Girls Viman Nagar ( Pune ) Call ON 8005736733 Starting From 5K...
VIP Model Call Girls Viman Nagar ( Pune ) Call ON 8005736733 Starting From 5K...
 
Verified Trusted Kalyani Nagar Call Girls 8005736733 𝐈𝐍𝐃𝐄𝐏𝐄𝐍𝐃𝐄𝐍𝐓 Call 𝐆𝐈𝐑𝐋 𝐕...
Verified Trusted Kalyani Nagar Call Girls  8005736733 𝐈𝐍𝐃𝐄𝐏𝐄𝐍𝐃𝐄𝐍𝐓 Call 𝐆𝐈𝐑𝐋 𝐕...Verified Trusted Kalyani Nagar Call Girls  8005736733 𝐈𝐍𝐃𝐄𝐏𝐄𝐍𝐃𝐄𝐍𝐓 Call 𝐆𝐈𝐑𝐋 𝐕...
Verified Trusted Kalyani Nagar Call Girls 8005736733 𝐈𝐍𝐃𝐄𝐏𝐄𝐍𝐃𝐄𝐍𝐓 Call 𝐆𝐈𝐑𝐋 𝐕...
 
VIP Call Girls Valsad 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Valsad 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Valsad 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Valsad 7001035870 Whatsapp Number, 24/07 Booking
 
Cyclone Case Study Odisha 1999 Super Cyclone in India.
Cyclone Case Study Odisha 1999 Super Cyclone in India.Cyclone Case Study Odisha 1999 Super Cyclone in India.
Cyclone Case Study Odisha 1999 Super Cyclone in India.
 
CSR_Module5_Green Earth Initiative, Tree Planting Day
CSR_Module5_Green Earth Initiative, Tree Planting DayCSR_Module5_Green Earth Initiative, Tree Planting Day
CSR_Module5_Green Earth Initiative, Tree Planting Day
 
Principle of erosion control- Introduction to contouring,strip cropping,conto...
Principle of erosion control- Introduction to contouring,strip cropping,conto...Principle of erosion control- Introduction to contouring,strip cropping,conto...
Principle of erosion control- Introduction to contouring,strip cropping,conto...
 
(Anamika) VIP Call Girls Jammu Call Now 8617697112 Jammu Escorts 24x7
(Anamika) VIP Call Girls Jammu Call Now 8617697112 Jammu Escorts 24x7(Anamika) VIP Call Girls Jammu Call Now 8617697112 Jammu Escorts 24x7
(Anamika) VIP Call Girls Jammu Call Now 8617697112 Jammu Escorts 24x7
 
VVIP Pune Call Girls Vishal Nagar WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Vishal Nagar WhatSapp Number 8005736733 With Elite Staff...VVIP Pune Call Girls Vishal Nagar WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Vishal Nagar WhatSapp Number 8005736733 With Elite Staff...
 
Presentation: Farmer-led climate adaptation - Project launch and overview by ...
Presentation: Farmer-led climate adaptation - Project launch and overview by ...Presentation: Farmer-led climate adaptation - Project launch and overview by ...
Presentation: Farmer-led climate adaptation - Project launch and overview by ...
 
VIP Model Call Girls Wagholi ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Wagholi ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Wagholi ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Wagholi ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Deforestation
DeforestationDeforestation
Deforestation
 
(INDIRA) Call Girl Katra Call Now 8617697112 Katra Escorts 24x7
(INDIRA) Call Girl Katra Call Now 8617697112 Katra Escorts 24x7(INDIRA) Call Girl Katra Call Now 8617697112 Katra Escorts 24x7
(INDIRA) Call Girl Katra Call Now 8617697112 Katra Escorts 24x7
 
Call Girls Jejuri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Jejuri Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Jejuri Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Jejuri Call Me 7737669865 Budget Friendly No Advance Booking
 
celebrity 💋 Kanpur Escorts Just Dail 8250092165 service available anytime 24 ...
celebrity 💋 Kanpur Escorts Just Dail 8250092165 service available anytime 24 ...celebrity 💋 Kanpur Escorts Just Dail 8250092165 service available anytime 24 ...
celebrity 💋 Kanpur Escorts Just Dail 8250092165 service available anytime 24 ...
 

Module-02.pptx

  • 2. When to use SDLC Waterfall Model? • When the requirements are constant and not changed regularly. • A project is short • The situation is calm • Where the tools and technology used is consistent and is not changing • When resources are well prepared and are available to use.
  • 3. Advantages of Waterfall model • This model is simple to implement also the number of resources that are required for it is minimal. • The requirements are simple and explicitly declared; they remain unchanged during the entire project development. • The start and end points for each phase is fixed, which makes it easy to cover progress. • The release date for the complete product, as well as its final cost, can be determined before development. • It gives easy to control and clarity for the customer due to a strict reporting system.
  • 4. Disadvantages of Waterfall model • In this model, the risk factor is higher, so this model is not suitable for more significant and complex projects. • This model cannot accept the changes in requirements during development. • It becomes tough to go back to the phase. For example, if the application has now shifted to the coding phase, and there is a change in requirement, It becomes tough to go back and change it. • Since the testing done at a later stage, it does not allow identifying the challenges and risks in the earlier phase, so the risk reduction strategy is difficult to prepare.
  • 5. RAD (Rapid Application Development) Model • RAD is a linear sequential software development process model that emphasizes a concise development cycle using an element based construction approach. • RAD (Rapid Application Development) is a concept that products can be developed faster and of higher quality through: • Gathering requirements using workshops or focus groups • Prototyping and early, reiterative user testing of designs • The re-use of software components • A rigidly paced schedule that refers design improvements to the next product version • Less formality in reviews and other team communication
  • 6.
  • 7. When to use RAD Model? • When the system should need to create the project that modularizes in a short span time (2-3 months). • When the requirements are well-known. • When the technical risk is limited. • When there's a necessity to make a system, which modularized in 2-3 months of period. • It should be used only if the budget allows the use of automatic code generating tools.
  • 8. Advantage of RAD Model • This model is flexible for change. • In this model, changes are adoptable. • Each phase in RAD brings highest priority functionality to the customer. • It reduced development time. • It increases the reusability of features.
  • 9. Disadvantage of RAD Model • It required highly skilled designers. • All application is not compatible with RAD. • For smaller projects, we cannot use the RAD model. • On the high technical risk, it's not suitable. • Required user involvement.
  • 11. When to use Spiral Model? • When deliverance is required to be frequent. • When the project is large • When requirements are unclear and complex • When changes may require at any time • Large and high budget projects
  • 12. Advantages • High amount of risk analysis • Useful for large and mission-critical projects. Disadvantages • Can be a costly model to use. • Risk analysis needed highly particular expertise • Doesn't work well for smaller projects.
  • 14. Advantage (Pros) of V-Model: • Easy to Understand. • Testing Methods like planning, test designing happens well before coding. • This saves a lot of time. Hence a higher chance of success over the waterfall model. • Avoids the downward flow of the defects. • Works well for small plans where requirements are easily understood.
  • 15. Disadvantage (Cons) of V-Model: • Very rigid and least flexible. • Not a good for a complex project. • Software is developed during the implementation stage, so no early prototypes of the software are produced. • If any changes happen in the midway, then the test documents along with the required documents, has to be updated.
  • 17. When we use the Incremental Model? • When the requirements are superior. • A project has a lengthy development schedule. • When Software team are not very well skilled or trained. • When the customer demands a quick release of the product. • You can develop prioritized requirements first.
  • 18. Advantage of Incremental Model • Errors are easy to be recognized. • Easier to test and debug • More flexible. • Simple to manage risk because it handled during its iteration. • The Client gets important functionality early.
  • 19. Disadvantage of Incremental Model • Need for good planning • Total Cost is high. • Well defined module interfaces are needed.
  • 20. Agile Model • The meaning of Agile is swift or versatile."Agile process model" refers to a software development approach based on iterative development. Agile methods break tasks into smaller iterations, or parts do not directly involve long term planning. • The project scope and requirements are laid down at the beginning of the development process. Plans regarding the number of iterations, the duration and the scope of each iteration are clearly defined in advance.
  • 21.
  • 22. Agile Testing Methods • Scrum • Crystal • Dynamic Software Development Method(DSDM) • Feature Driven Development(FDD) • Lean Software Development • eXtreme Programming(XP)
  • 23. Scrum • SCRUM is an agile development process focused primarily on ways to manage tasks in team-based development conditions. • There are three roles in it, and their responsibilities are: • Scrum Master: The scrum can set up the master team, arrange the meeting and remove obstacles for the process • Product owner: The product owner makes the product backlog, prioritizes the delay and is responsible for the distribution of functionality on each repetition. • Scrum Team: The team manages its work and organizes the work to complete the sprint or cycle.
  • 24. Crystal: • There are three concepts of this method- • Chartering: Multi activities are involved in this phase such as making a development team, performing feasibility analysis, developing plans, etc. • Cyclic delivery: under this, two more cycles consist, these are: • Team updates the release plan. • Integrated product delivers to the users. • Wrap up: According to the user environment, this phase performs deployment, post-deployment.
  • 25. Dynamic Software Development Method(DSDM): • DSDM is a rapid application development strategy for software development and gives an agile project distribution structure. The essential features of DSDM are that users must be actively connected, and teams have been given the right to make decisions. The techniques used in DSDM are: • Time Boxing • MoSCoW Rules • Prototyping
  • 26. The DSDM project contains seven stages: • Pre-project • Feasibility Study • Business Study • Functional Model Iteration • Design and build Iteration • Implementation • Post-project
  • 27. Feature Driven Development(FDD) • This method focuses on "Designing and Building" features. In contrast to other smart methods, FDD describes the small steps of the work that should be obtained separately per function.
  • 28. When to use the Agile Model? • When frequent changes are required. • When a highly qualified and experienced team is available. • When a customer is ready to have a meeting with a software team all the time. • When project size is small.
  • 29. Advantage(Pros) of Agile Method • Frequent Delivery • Face-to-Face Communication with clients. • Efficient design and fulfils the business requirement. • Anytime changes are acceptable. • It reduces total development time.
  • 30. Disadvantages(Cons) of Agile Model • Due to the shortage of formal documents, it creates confusion and crucial decisions taken throughout various phases can be misinterpreted at any time by different team members. • Due to the lack of proper documentation, once the project completes and the developers allotted to another project, maintenance of the finished project can become a difficulty.
  • 31. Iterative Model • In this Model, you can start with some of the software specifications and develop the first version of the software. • After the first version if there is a need to change the software, then a new version of the software is created with a new iteration. • Every release of the Iterative Model finishes in an exact and fixed period that is called iteration.
  • 32.
  • 33. When to use the Iterative Model? • When requirements are defined clearly and easy to understand. • When the software application is large. • When there is a requirement of changes in future.
  • 34. Advantage(Pros) of Iterative Model: • Testing and debugging during smaller iteration is easy. • A Parallel development can plan. • It is easily acceptable to ever-changing needs of the project. • Risks are identified and resolved during iteration. • Limited time spent on documentation and extra time on designing.
  • 35. Disadvantage(Cons) of Iterative Model: • It is not suitable for smaller projects. • More Resources may be required. • Design can be changed again and again because of imperfect requirements. • Requirement changes can cause over budget. • Project completion date not confirmed because of changing requirements.
  • 36. Software Quality & Project Planning
  • 37. Notion of Software Quality: • Software quality product is defined in term of its fitness of purpose. That is, a quality product does precisely what the users want it to do. For software products, the fitness of use is generally explained in terms of satisfaction of the requirements laid down in the SRS document.
  • 38. The modern view of a quality • Portability • Usability • Reusability • Correctness • Maintainability
  • 39. Software Quality Management System • Managerial Structure and Individual Responsibilities • Quality System Activities
  • 40. ISO 9000 Certification • ISO (International Standards Organization) is a group or consortium of 63 countries established to plan and fosters standardization. ISO declared its 9000 series of standards in 1987. • It serves as a reference for the contract between independent parties. The ISO 9000 standard determines the guidelines for maintaining a quality system.
  • 41. How to get ISO 9000 Certification?
  • 42. Software Engineering Institute Capability Maturity Model (SEICMM) • The Capability Maturity Model (CMM) is a procedure used to develop and refine an organization's software development process. • The model defines a five-level evolutionary stage of increasingly organized and consistently more mature processes.
  • 44.
  • 45. People Capability Maturity Model (PCMM) • PCMM is a maturity structure that focuses on continuously improving the management and development of the human assets of an organization. • It defines an evolutionary improvement path from Adhoc, inconsistently performed practices, to a mature, disciplined, and continuously improving the development of the knowledge, skills, and motivation of the workforce that enhances strategic business performance.
  • 46. Six Sigma • Six Sigma is the process of improving the quality of the output by identifying and eliminating the cause of defects and reduce variability in manufacturing and business processes. • The maturity of a manufacturing process can be defined by a sigma rating indicating its percentage of defect-free products it creates.
  • 48. Six Sigma Methodologies • Six Sigma projects follow two project methodologies: • DMAIC • DMADV
  • 49. DMAIC
  • 50. DMADV
  • 51. Software Project Planning • Software development is a sort of all new streams in world business, and there's next to no involvement in structure programming items. Most programming items are customized to accommodate customer's necessities. • The most significant is that the underlying technology changes and advances so generally and rapidly that experience of one element may not be connected to the other one. • All such business and ecological imperatives bring risk in software development; hence, it is fundamental to manage software projects efficiently.
  • 52. Software Project Manager • Software manager is responsible for planning and scheduling project development. • They monitor the progress to check that the event is on time and within budget. The project planning must incorporate the major issues like size & cost estimation scheduling, project monitoring, personnel selection evaluation & risk management.
  • 53. Various Steps of Planning
  • 54. Software Cost Estimation • Several estimation procedures have been developed and are having the following attributes in common. • Project scope must be established in advanced. • Software metrics are used as a support from which evaluation is made. • The project is broken into small PCs which are estimated individually. To achieve true cost & schedule estimate, several option arise. • Delay estimation • Used symbol decomposition techniques to generate project cost and schedule estimates. • Acquire one or more automated estimation tools.
  • 55. Uses of Cost Estimation • During the planning stage, one needs to choose how many engineers are required for the project and to develop a schedule. • In monitoring the project's progress, one needs to access whether the project is progressing according to the procedure and takes corrective action, if necessary.
  • 57. • Static, Single Variable Models: When a model makes use of single variables to calculate desired values such as cost, time, efforts, etc. is said to be a single variable model. The most common equation is: C=aLb Where C = Costs L= size a and b are constants • The Software Engineering Laboratory established a model called SEL model, for estimating its software production. This model is an example of the static, single variable model. E=1.4L0.93 DOC=30.4L0.90 D=4.6L0.26 Where E= Efforts (Person Per Month) DOC=Documentation (Number of Pages) D = Duration (D, in months) L = Number of Lines per code
  • 58. • sstatic, Multivariable Models: These models are based on method (1), they depend on several variables describing various aspects of the software development environment. In some model, several variables are needed to describe the software development process, and selected equation combined these variables to give the estimate of time & cost. These models are called multivariable models. • WALSTON and FELIX develop the models at IBM provide the following equation gives a relationship between lines of source code and effort: • E=5.2L0.91
  • 59. • duration of development is given by D=4.1L0.36 • The productivity index uses 29 variables which are found to be highly correlated productivity as follows: • Where Wi is the weight factor for the ithvariable and Xi={-1,0,+1} the estimator gives Xione of the values -1, 0 or +1 depending on the variable decreases, has no effect or increases the productivity.
  • 60. • Example: Compare the Walston-Felix Model with the SEL model on a software development expected to involve 8 person-years of effort. i)Calculate the number of lines of source code that can be produced. ii)Calculate the duration of the development. iii)Calculate the productivity in LOC/PY iv)Calculate the average manning
  • 61. L (SEL) = (96/1.4)1⁄0.93=94264 LOC L (SEL) = (96/5.2)1⁄0.91=24632 LOC (b)Duration in months can be calculated by means of equation D (SEL) = 4.6 (L) 0.26 = 4.6 (94.264)0.26 = 15 months D (W-F) = 4.1 L0.36 = 4.1 (24.632)0.36 = 13 months The amount of manpower involved = 8PY=96persons-months (a)Number of lines of source code can be obtained by reversing equation to give: Then
  • 62. (c) Productivity is the lines of code produced per persons/month (year)
  • 63. (d)Average manning is the average number of persons required per month in the project
  • 64. COCOMO Model • Boehm proposed COCOMO (Constructive Cost Estimation Model) in 1981.COCOMO is one of the most generally used software estimation models in the world. COCOMO predicts the efforts and schedule of a software product based on the size of the software. • The necessary steps in this model are: • Get an initial estimate of the development effort from evaluation of thousands of delivered lines of source code (KDLOC). • Determine a set of 15 multiplying factors from various attributes of the project. • Calculate the effort estimate by multiplying the initial estimate with all the multiplying factors i.e., multiply the values in step1 and step2. • The initial estimate (also called nominal estimate) is determined by an equation of the form used in the static single variable models, using KDLOC as the measure of the size. To determine the initial effort Ei in person- months the equation used is of the type is shown below • Ei=a*(KDLOC)b
  • 65. In COCOMO, projects are categorized into three types: • Organic • Semidetached • Embedded
  • 66. 1.Organic: A development project can be treated of the organic type, if the project deals with developing a well-understood application program, the size of the development team is reasonably small, and the team members are experienced in developing similar methods of projects. Examples of this type of projects are simple business systems, simple inventory management systems, and data processing systems. 2. Semidetached: A development project can be treated with semidetached type if the development consists of a mixture of experienced and inexperienced staff. Team members may have finite experience in related systems but may be unfamiliar with some aspects of the order being developed. Example of Semidetached system includes developing a new operating system (OS), a Database Management System (DBMS), and complex inventory management system. 3. Embedded: A development project is treated to be of an embedded type, if the software being developed is strongly coupled to complex hardware, or if the stringent regulations on the operational method exist. For Example: ATM, Air Traffic control.
  • 67. 1. Basic COCOMO Model • The basic COCOMO model provide an accurate size of the project parameters. The following expressions give the basic COCOMO estimation model: • Effort=a1*(KLOC) a2 PM T dev=b1*(efforts)b2 Months • Where • KLOC is the estimated size of the software product indicate in Kilo Lines of Code, • a1,a2,b1,b2 are constants for each group of software products, • Tdev is the estimated time to develop the software, expressed in months,
  • 68. • Effort is the total effort required to develop the software product, expressed in person months (PMs). • Estimation of development effort • For the three classes of software products, the formulas for estimating the effort based on the code size are shown below: Organic: Effort = 2.4(KLOC) 1.05 PM Semi-detached: Effort = 3.0(KLOC) 1.12 PM Embedded: Effort = 3.6(KLOC) 1.20 PM Estimation of development time For the three classes of software products, the formulas for estimating the development time based on the effort are given below: Organic: Tdev = 2.5(Effort) 0.38 Months Semi-detached: Tdev = 2.5(Effort) 0.35 Months Embedded: Tdev = 2.5(Effort) 0.32 Months
  • 69.
  • 70.
  • 71. Example1: Suppose a project was estimated to be 400 KLOC. Calculate the effort and development time for each of the three model i.e., organic, semi-detached & embedded. • The basic COCOMO equation takes the form: Effort=a1*(KLOC) a2 PM Tdev=b1*(efforts)b2 Months Estimated Size of project= 400 KLOC (i)Organic Mode E = 2.4 * (400)1.05 = 1295.31 PM D = 2.5 * (1295.31)0.38=38.07 PM (ii)Semidetached Mode E = 3.0 * (400)1.12=2462.79 PM D = 2.5 * (2462.79)0.35=38.45 PM (iii) Embedded Mode E = 3.6 * (400)1.20 = 4772.81 PM D = 2.5 * (4772.8)0.32 = 38 PM
  • 72. Example2: A project size of 200 KLOC is to be developed. Software development team has average experience on similar type of projects. The project schedule is not very tight. Calculate the Effort, development time, average staff size, and productivity of the project. • The semidetached mode is the most appropriate mode, keeping in view the size, schedule and experience of development time. • Hence E=3.0(200)1.12=1133.12PM D=2.5(1133.12)0.35=29.3PM Average staff size=38.67 persons Productivity=0.1765 KLOCPM P = 176 LOC/PM
  • 73. 2. Intermediate Model • The basic Cocomo model considers that the effort is only a function of the number of lines of code and some constants calculated according to the various software systems. The intermediate COCOMO model recognizes these facts and refines the initial estimates obtained through the basic COCOMO model by using a set of 15 cost drivers based on various attributes of software engineering.
  • 74. Classification of Cost Drivers and their attributes: Product attributes - • Required software reliability extent • Size of the application database • The complexity of the product Hardware attributes - • Run-time performance constraints • Memory constraints • The volatility of the virtual machine environment • Required turnabout time
  • 75. Personnel attributes - • Analyst capability • Software engineering capability • Applications experience • Virtual machine experience • Programming language experience Project attributes - • Use of software tools • Application of software engineering methods • Required development schedule
  • 76. 3. Detailed COCOMO Model • Detailed COCOMO incorporates all qualities of the standard version with an assessment of the cost driver?s effect on each method of the software engineering process. The detailed model uses various effort multipliers for each cost driver property. In detailed cocomo, the whole software is differentiated into multiple modules, and then we apply COCOMO in various modules to estimate effort and then sum the effort. • The Six phases of detailed COCOMO are: • Planning and requirements • System structure • Complete structure • Module code and test • Integration and test • Cost Constructive model