soft lifecycle

Post on 29-Nov-2014

1.492 Views

Category:

Design

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

SOFTWARE PROCESS AND PROCESS ITERATION

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.

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.

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.

Software process Product Engineering process(produce

desired product) Development process Project Management process Software Configuration Management

Process Management process

ETVX Approach for process specification

Entry CriteriaTaskVerificationExit Criteria

A step in Development processPredictability.

Input OutputProcess V&V

SDLCA software development process, also

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

Waterfall Model

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

phase starts

Life cycle model

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.

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.

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

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.

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

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

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.

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.

Iterative Development

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.

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.

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.

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

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).

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.

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.

THANK YOU

top related