Top Banner
MCA 325, Requirement & Estimation Techniques © Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.1 © BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, byShivendra Goel. U4.1 UNIT-4 © BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.2 Learning Objective • Software Life Cycle Models • Tools: Software Estimation Tools • Management activities in software project • Industry Resources. © BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.3 Software Life Cycle Models Water Fall Model Rapid Application Development Spiral Model
19
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.1

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel. U4.1

UNIT-4

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.2

Learning Objective

• Software Life Cycle Models• Tools: Software Estimation

Tools• Management activities in

software project• Industry Resources.

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.3

Software Life Cycle Models

•Water Fall Model•Rapid Application Development•Spiral Model

Page 2: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.2

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.4

Water Fall Model• Earliest software life cycle model.• Linear model in which all tasks are performed

sequentially in predefined phases.• A phase can start only after all tasks in previous

phase are complete.• There a are 6 phases in this model.

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.5

Water Fall Model Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.6

WaterFall Model:RequirementsPhase• “what” of the system is defined i.e. what all features

does the software system should have.• This is told by the customer and hence this phase

involves user participation.• This phase ends with a set of requirements

documented as SRS.

Water Fall Model Cont..

Page 3: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.3

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.7

WaterFall Model:Design Phase• “how” of the system is defined here.• The problem definition specified in SRS is

translated into a design to solve the problem.• This phase is a bridge between what the user

wants and the code that will meet the user requirements.

• It makes use of models and diagrams to make the user understand what will be delivered to him.

• It ends in SDD.

Water Fall Model Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.8

WaterFall Model:Coding Phase• Code is written in the implementation/coding phase.• User manual is also written in this phase.

Water Fall Model Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.9

WaterFall Model:Testing Phase

• The developed code is tested during this phase.• It involves unit testing, integration testing and

system testing.• Last activity is acceptance testing which validates

that the system fulfills the user’s needs and hence requires user involvement.

Water Fall Model Cont..

Page 4: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.4

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.10

WaterFall Model:Deployment Phase• It includes training of the users, installation of the

system, and switch-over from the existing system to the new system.

• This phase gets adversely affected if requirements phase is hurried through, ie, new requirements are discovered when system is to be made operational.

Water Fall Model Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.11

WaterFall Model:Operations and Maintenance Phase

• Left-over defects are detected.• The system is made more efficient.• New requirements are added and based on these,

existing functionality and features are modified to meet the ever changing business needs.

Water Fall Model Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.12

Advantages:• This model has well-defined phases with well-

defined outputs.• It focuses on documentation (such as

SRS,SDD,etc) as well as source code. • The waterfall model is known for its simple and

more disciplined approach. The waterfall model provides a structured top – down approach.

• The waterfall model can be suited to software projects which are stable, especially those projects with unchanging requirements .

Water Fall Model Cont..

Page 5: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.5

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.13

Disadvantages:• This model assumes that requirements are

clearly specified at the beginning of the project.Hence, it cannot handle changes to requirements and thus is not adaptable.

• It doesnot provide feedback between phases. That is, feedback from following phases is needed to complete "preceding" phases satisfactorily. For example, the design phase may need feedback from the implementation phase to identify problem design areas.

• There is no user invlovement in intermediate phases, except in Requirements and Testing phases.

Water Fall Model Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.14

Disadvantages Cont..

• For large projects, the users have to wait a long time for the delivery of the system. But, requirements may change by that time.

• The waterfall model is an inflexible model, as it assumes that software activities can be compartmentalized, and that activities of a previous phase cannot be repeated after the next phase starts.

Water Fall Model Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.15

Rapid Application Development

• It is a concept by which products can be developed faster and of higher quality. So, it resolves the waterfall model’s disadvantage of taking too long.

• Required system is modularized into smaller independent applications which can be completed quickly in 2-3 months time.

• It requires creation of RAD teams to handle each identified application and is possible for projects where such modularizing is possible and meaningful.

• Each RAD team executes s/w development in 4 phases.

Page 6: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.6

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.16

Rapid Application Development Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.17

RAD: Requirements Planning Phase• Requirements are gathered using workshops.• End users and developers form JAD teams and

participate in workshops.• They together understand the application and the

problem they are trying to solve, and perepare for the next phase.

Rapid Application Development Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.18

RAD: User Design Phase• Prototyping and early, reiterative user testing of

designs is done, in this phase.• Prototyping tools are identified,• Then, a prototype is developed, evaluated, and

modified, till the team agrees that the prototype fulfills the user’s needs.

Rapid Application Development Cont..

Page 7: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.7

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.19

RAD: Construction Phase

• Deveopers refine the prototype, by adding missing validations, calculations and interfaces.

• User manual and documentation required to maintain the system is also developed in this phase.

Rapid Application Development Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.20

RAD: Cut-Over Phase• It involves installation of the new system after

testing the system with real data.• This becomes an easy task, because of prior user

involvement, as the users need not be trained from scratch, and also because of the continual testing of the system prototypes, during earlier phases.

Rapid Application Development Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.21

Advantages:• It reduces amount of time taken to develop large

applications. For eg. Database applications that have extensive user interface.

• Continuous User participation in both testing and development phases helps in refining successive versions of the application.

• RAD helps in better and effective team communication.

Rapid Application Development Cont..

Page 8: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.8

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.22

Disadvantages:• It may be difficult to achieve consistency between

applications developed by different teams.• Design and coding standards are often ignored,

since emphasis is on rapid development.• Systems developed using RAD approach tend to be

inefficient and are prone to more defects.• This approach can be used only when System can

be split into several independent modules.

Rapid Application Development Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.23

Spiral Model• This model was proposed by Barry Boehm• It focuses on continuous re-assessment of plans

and risks.• Each loop of the spiral represents one phase. In

each successive phase, a more refined prototype is built.

• Each phase is split into 4 sectors: planning, risk analysis, development and assessment.

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.24

Spiral Model Cont..

Page 9: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.9

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.25

Planning:• Determine objectives• Determine alternatives• Determine constraints and resources.

Spiral Model Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.26

Risk Analysis:

• Analyze alternatives.• Try to identify the risks involved and resolve them.

Spiral Model Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.27

Development:• Product is developed , tested and installed in this

phase.• User training and documentation is also done in this

phase.

Spiral Model Cont..

Page 10: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.10

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.28

Assessment:

• Customer evaluates and provides feedback.

Spiral Model Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.29

Advantages:• Risk analysis is an integral part of this model and is

performed in every loop of the spiral. This leads to increased confidence in the product.

• It is a flexible model and can be usedin a variety of situations like: reuse, componenet based development and prototyping.

Spiral Model Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.30

Disadvantages:• Demands considerable risk-assessment expertise• Total development costs are higher.

Spiral Model Cont..

Page 11: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.11

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.31

SLIM:SOFTWARE LIFECYCLE MANAGEMENT

• SLIM Estimate• SLIM Control• SLIM Metrics

SOFTWARE ESTIMATION TOOLS

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.32

SLIM ESTIMATE• Used for estimation of effort required.

• Used for deciding on the strategy for design & implementation in terms of cycle time, team size, cost, quality and risk.

SOFTWARE ESTIMATION TOOLS Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.33

SLIM CONTROL

• Meant for project tracking and control.

• To access project status and highlight areas that need attention.

SOFTWARE ESTIMATION TOOLS Cont..

Page 12: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.12

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.34

SLIM Metrics• Builds the repository projects.• Performs benchmarking.• Future estimation.

SOFTWARE ESTIMATION TOOLS Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.35

FUNCTION POINT WORKBENCH

• Estimation tool for function point analysis.• Window based and supports graphics for counting

FP for a new system and for enhancement of existing system.

• Used to provide expert advice and documented counting rules to facilitate counting.

SOFTWARE ESTIMATION TOOLS Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.36

KNOWLEDGE PLAN• Allow quick development of an initial estimate by

using a set of questions that are to be answered to gather the required information.

• Able to determine effort, schedule, cost, resource requirement.

• Provide what-if analysis.

SOFTWARE ESTIMATION TOOLS Cont..

Page 13: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.13

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.37

CA-ESTIMACS• Build by Howard Rubin.• Dos based tool provide quick and accurate

estimates of the effort, duration, cost etc.• Useful for an early estimate of a project.

SOFTWARE ESTIMATION TOOLS Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.38

PQMPlus

• Mainly for size estimation.• Support IFPUG method.• Used to generate project schedules and manage

defects.• Able to access the risk.• Supports custom made s/w.

SOFTWARE ESTIMATION TOOLS Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.39

PROJECT BRIDGE MODELER• Part of Result Management v3.0 suit of tools from

ABT corporation.• It is a process modeling tool i.e. used to store data

from other project and then use this for future estimation and planning.

• Can work with any s/w development methodology.• Can be used for top-down & bottom-up estimation.

SOFTWARE ESTIMATION TOOLS Cont..

Page 14: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.14

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.40

FUNCTION POINT MANAGER

• Tool from ABT Corporation and is a part of Result Management v3.0 suite of tools.

• It is integrated with Metrics Manager and provides its functionality in conjunction with Metrics manager.

• It performs FP Analysis and stores data in a repository.

• Graphical interface.

SOFTWARE ESTIMATION TOOLS Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.41

• FP is supported for new development, enhancement, maintenance and conversion projects.

• Data can be displayed in a variety of worksheets with the calculations and can be printed in a report.

SOFTWARE ESTIMATION TOOLS Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.42

Result Management v5.0• Suite of tools from ABT corporation.• Repository based web based set of tools for entire

s/w process and its management.• ABT Planner allows project to be defined and

profiled.• ABT Repository is used to store historic data as

well as actual project data.

SOFTWARE ESTIMATION TOOLS Cont..

Page 15: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.15

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.43

• Profile matching can be used to select similar projects from the past data.

• Metrics can be calculated.

SOFTWARE ESTIMATION TOOLS Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.44

ANGEL• ANoloGy s/w Estimation tooL• PC Tool produced by Deptt. of Trade and Industry

and British Telecom.• Supports collection of data, finding of analogies and

generation of estimates. The tools has been demonstrated on seven diff. industrial data sets and in all cases analogy approach is found better than traditional approach.

SOFTWARE ESTIMATION TOOLS Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.45

COSTAR• Developed by Softstar• Based on COCOMO• Estimates for project duration, staffing levels, effort

and cost.• Interactive tool that permits manager to make trade-

offs and experiment with “what-if” analysis to arrive at the optimal project plan.

SOFTWARE ESTIMATION TOOLS Cont..

Page 16: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.16

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.46

USC’s COCOMO II Tools• Univ. of Southern California Center for SE

maintains a website for COCOMO.• Offers COCOMO s/w for various versions of

COCOMO such as:USC COCOMO II.1998.0USC COCOMO II.1997.2

• The tools are offered as self extracted prog. that can be downloaded.

SOFTWARE ESTIMATION TOOLS Cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.47

Management activities in a Software Project

• It includes the following:§ Project startup:§ Estimation:§ Requirement Management§ Project Planning, Execution and Control§ Configuration Management§ Project Quality Assurance

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.48

§Project startup:üAt this stage broad scope of the project

is decided. A contract may be signed or an agreement may cover all activities

§Estimation:üSize, effort, schedule and cost of the

project is typically estimated.

Management activities in a Software Project Cont..

Page 17: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.17

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.49

§Requirement Management:üA set of documented requirements being

reviewed and agreed to between the development team and the customer/end users.

§Project Planning, Execution and Control:üIncludes breaking up of the engineering

and management activities in partsüIdentify teamsüAssign roles

Management activities in a Software Project

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.50

§ Configuration ManagementüIdentifying the items that are important to the

projectüEstablishing repositories where the items will

be keptüHandling changes to itemsüReleasing items

§ Project Quality AssuranceüIt Provides preventive set of activities in a

project that provide greater confidence that the project will be completed successfully.

Management activities in a Software Project

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.51

Industry Resources

• IFPUG• UQAM-SEMRL• COSMIC• IEEE• COCOMO

Page 18: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.18

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.52

Conclusion• There are variety of Software life cycle models namely Water Fall

Model, Rapid Application Development, Spiral Model, Prototyping Model, Iterative Enhancement Model, V-Model etc.

• Tools are available for estimation as a separate activity or with estimation as an integral part of overall project management, and vary from simple templates and spreadsheets to complex integrated tools using repositories.

• Management activities in a Software Project includes Project startup, Estimation, Requirement Management, Project Planning, Execution and Control, Configuration Management, Project QualityAssurance

• Software engineering and software management are rapidly evolving disciplines. Practitioners need to be able to access the resources, including research work being carried out to understand and use the state-of-the-art techniques and technologies.

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.53

Objective Questions

• UQAM-SEMRL Stands for ________________

• __________, ____________, ________ are the variations of SLIM

• Result Management v5.0 is Suite of tools from _____ corporation.

• CA-ESTIMACS is build by_________• PQMPlus support _________method.• Spiral Model was proposed by__________

Review Questions

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.54

Short answer type Questions• What are the three variations of SLIM? Explain

each variation briefly• Discuss Spiral Model with the help of an example.• Explain Result Management v5.0 and ANGEL in

Detail• Write short notes on COSMIC, UQAM-SEMRL,

IFPUG, IEEE• Explain V-Model as a Software life Cycle model.• Discuss various advantages and disadvantages of

Water Fall Model.

Review Questions Cont..

Page 19: Sdlc

MCA 325, Requirement & Estimation Techniques

© Bharati Vidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by Shivendra Goel U4.19

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.55

Long answer type Questions• List all the Software Estimation Tools? Explain

any three in brief.• Explain the process of management activities in

software project?• Explain in detail Project Bridge Modeler• Discuss UQAM-SEMRL and COSMIC in detail?• List all the Industry Resources? Discuss any

two• What do you mean by Water Fall Model?

Explain in detail.

Review Questions cont..

© BharatiVidyapeeth’s Institute of Computer Applications and Management, New Delhi-63, by ShivendraGoel. U4.56

References[1]. Swapna Kishore, Rajesh Naik, “Software

Requirements and Estimation”, TMH,1992.[2]. K.K. Aggarwal & Yogesh Singh, "Software

Engineering", 2nd Ed., New Age International Publishers, New Delhi, 2005.

[3]. Roger Pressman, “Software Engineering: A Practitioiner’s Approach”, 3rd Edition, McGraw Hill, 1992.

[4]. James Peter, W. Pedrycz, “Software Engineering: An Engineering Approach”, John Wiley & Sons.

[5]. I. Sommerville , “Software Engineering”, Addison Wesley, 2002.

Suggested Reading/References