29
SOFTWARE PROCESS AND PROCESS ITERATION

Soft lifecycle

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Soft lifecycle

SOFTWARE PROCESS AND PROCESS ITERATION

Page 2: Soft lifecycle

Life cycle model

To Describes the steps followed by the project team to produce a tangible software product that fully meets the requirements of the component or the part that the project set forth to build.

Page 3: Soft lifecycle

Software ProcessA set of activities, together with ordering

constraints among them, such that if the activities are performed properly and in accordance with the ordering constraints.

The process that deals with the technical and management issues of software development is called SWP.

Successful project talks about Cost, schedule and quality.

Page 4: Soft lifecycle

Contd..A set of activities that leads to the

production of a software product.There are many software processes, some

fundamental activities are common to all software processes:

Software SpecificationSoftware design and ImplementationSoftware ValidationSoftware evolution.

Page 5: Soft lifecycle

Software process Product Engineering process(produce

desired product) Development process Project Management process Software Configuration Management

Process Management process

Page 6: Soft lifecycle

ETVX Approach for process specification

Entry CriteriaTaskVerificationExit Criteria

Page 7: Soft lifecycle

A step in Development processPredictability.

Input OutputProcess V&V

Page 8: Soft lifecycle

SDLCA software development process, also

known as a software development life cycle (SDLC), is a structure imposed on the development of a software product.

Page 9: Soft lifecycle

Waterfall Model

Linear Sequential ModelWater – tight phasesOne phase is Completed before the next

phase starts

Page 10: Soft lifecycle

Life cycle model

Page 11: Soft lifecycle

Waterfall model problems

Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements.

Therefore, this model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process.

Few business systems have stable requirements.The waterfall model is mostly used for large

systems engineering projects where a system is developed at several sites.

Page 12: Soft lifecycle

Limitations of Waterfall modelIt assumes that the requirements of a system

can be frozen before the design begins.Freezing the requirements usually requires

choosing the hardware(because it forms a part of the requirements specification). A large project might take a few years to complete.

“Big bang approach” – an entire software is delivered in one shot at the end.

It encourages “requirements bloating”.It is a document-driven process that requires

formal documents at each phase.

Page 13: Soft lifecycle

Prototyping Model• Attractive idea for complicated and large

systems for which there is no manual process or existing system to help determine the requirements..

• Based on Currently known requirements.• Customer can get actual feel of the system.Types:1.Throwaway Prototype2.Evolutionary Prototype

Page 14: Soft lifecycle

Contd..Horizontal PrototypeA common term for a user interface

prototype is the horizontal prototypeIt provides a broad view of an entire

system or subsystem, focusing on user interaction more than low-level system functionality, such as database access

Vertical PrototypeA vertical prototype is a more complete

elaboration of a single subsystem or function.

Page 15: Soft lifecycle
Page 16: Soft lifecycle

Contd..Types of prototypingMajor types: first two..Throwaway prototypingEvolutionary prototypingIncremental prototypingExtreme prototyping

Page 17: Soft lifecycle

Adv and Dis-AdvAdvantagesReduced time and costs: Improved and increased user involvementDisadvantages of prototypingInsufficient analysisUser confusion of prototype and finished

systemDeveloper misunderstanding of user objectivesExpense of implementing prototyping:Excessive development time of the prototype

Page 18: Soft lifecycle

RAD Model

Combines the features of waterfall model and prototyping model.

Rapid application development (RAD) is a software dev.methodology that uses minimal planning in favor of rapid prototyping.

WYSIWYG mannerThe "planning" of software developed using RAD

is interleaved with writing the software itself.Each units Developed in a short time.Developments, using modelling tools and CASE,

translates to product.

Page 19: Soft lifecycle

Contd..Speed and Responsiveness.Loop continually, Changes and feedback

reflected.Key to the success of RAD lies in

application decomposition, automatic generation and effective re-use.

DisAdv: Modelling tools add expenses and Place restrictions(decompose, re-use..)

Not applicable in little or no customer involvement, Co-existence of new application in legacy system.

Page 20: Soft lifecycle

Iterative Development

Page 21: Soft lifecycle

Iterative Development Counters the Third and fourth limitation of

waterfall model, tries to combine the benefits of prototyping and Waterfall.

Based on incrementing and add some functional capability to system until it satisfies.

Project control list, gives an idea of how far the projects moves.

Page 22: Soft lifecycle

Spiral Model

Each cycle in the spiral begins with the identification of objectives for that cycle.

Next step is to evaluate the different alternatives based on objectives and constraints.

Resolve uncertainties and risksSoftware developedFinal stage Planned.

Page 23: Soft lifecycle
Page 24: Soft lifecycle

Time Boxing Model

The Timeboxing model for iterative software development in which each iteration is done in a time box of fixed duration, and the functionality to be built is adjusted to fit the time box.

Page 25: Soft lifecycle

RUPRational Unified ProcessDesigned for Object Oriented Development

using UML.Divided into Cycles, each cycle delivering a

fully working system.Each cycle have four phases: Inception ElaborationConstructionTransition

Page 26: Soft lifecycle

RUP Phases Inception: Goals and scope of project(life cycle

objectives milestone) Elaboration: Architecture of the system is

designed, based on the detailed requirement analysis (lifecycle Architecture milestone).

Construction: software is built and tested(Initial operational capability milestone)

Transition: To move the software from development environment to client’s environment(product release milestone).

Page 27: Soft lifecycle

Agile processesExtreme ProgrammingExtreme Programming is successful because it

stresses customer satisfaction.Extreme Programming emphasizes teamwork.

Extreme Programming improves a software project in five essential ways;

1.Communication2.Simplicity3.Feedback4.Respect5.Courage.

Page 28: Soft lifecycle

Principles of agile processesWorking software is the key measure of progressSoftware should be developed and delivered in

small increments.Late changes in requirements should be

entertained.Face to face communication over documentation.Continuous feedback and involvement of

customer.Simple design is better than elaborate design

upfront.Delivery dates are decided by the empowered

teams.

Page 29: Soft lifecycle

THANK YOU