You are on page 1of 32

System Development

Classical Problem-solving approach


1. Study and understand the problem, its context,

and its impact.


2. Define the requirements that must be meet by any solution. 3. Identify candidate solutions that fulfill the requirements and select the best solution.

4. Design and/or implement the chosen solution.


5. Observe and evaluate the solutions impact, and refine the solution accordingly.

SDLC
SDLC stands for System Development Life Cycle. A System Development Life Cycle is simply a series of orderly, interrelated activities leading to the successful completion of a set of programs.

The periods of time during which these activities take


place are called phases.

The different phases of System Development Life Cycle are Definition, Analysis, Design, Coding, Testing, System Installation / Acceptance

Preliminary Survey System Analysis System Running SYSTEM DEVELOPMENT

LIFE
System Installation CYCLE

System Design

System Testing

System Development

System Development Life Cycle

SDLC
Preliminary Survey: Key question: What is the problem? Initial investigations are done. Output is statement specifying the scope and objective of the problem. Feasibility Study: Feasibility study is a test for system proposal according to its workability, impact on organization, ability to meet user needs & effective use of resources. Key questions are: What are the demonstrable needs? Is the problem worth solving? Cost & Benefits are estimated.

SDLC
Analysis: Analysis is a detailed study of various operations performed by a system and their relationships within and outside of the system. Key questions are: what must be done to solve the

problem?
The tools used are Data flow diagrams, interviews, onsite questions and observations After this phase, the

analyst has the clear understanding of what is to be done.


The output of this phase is logical model of the system.

SDLC
Design:

Most creative and challenging phase. Key questions are: How the problem will be solved? What

is the system flow? Does user approve the system?


This stage specifies technical specification, program construction and testing.

The format of output is decided. Accordingly, input is


decided and files are designed. All details are documented and evaluated by

management.
The output consists of procedural flowcharts, file layouts and report layouts. The projected cost is compared with actual cost.

SDLC
Implementation:
Less creative phase. Performs activities like testing, user training, site preparation, network installation etc. User acceptance is tested. Extensive user training is given if required. During testing, diagnostic procedures are used to locate and correct errors.

SDLC
Post-implementation & Maintenance: The user staff is adjusted to changes due to software. Because of aging process, periodic maintenance of hardware and software is required. Due to maintenance activity, standards of new system is maintained.

SDLC
Project termination: A system project may be dropped at any time because of some unavoidable conditions. Projects are dropped because of following conditions:

changing objectives and requirements. Benefits of software are not sufficient.

Sudden change in users budget or


increased design cost. Exceeding the time schedule.

Waterfall Model

Also named as classic life cycle

Suggests a systematic, sequential approach to software


development. Oldest paradigm. Consists of phases like Analysis Design Code Generation Testing

Waterfall Model

Support: Software will undergo change after it is


delivered to the customer. Change will occur because errors or enhancements.

Waterfall Model
Advantages: Helps project management, documentation Complex systems are well-defined and structured Encourages a discipline of modelling

Disadvantages:
The requirements must be completely specified before programming begins. Rather inflexible Impossible to deal with changes

Iterative Approach

Incremental model

The incremental model combines elements of the linear sequential model with the iterative approach.

Incremental model
Incremental model applies linear sequences in a staggered
fashion as calendar time progresses. Each linear sequence produces a deliverable increment of the software.

E.g.

Word-processing

software

developed

using

the

incremental paradigm might deliver basic file management, editing, and document production functions in the first increment; more sophisticated editing. When an incremental model is used, the first increment is often a core product. In core product basic requirements are addressed, but many advanced features remain undelivered.

Incremental model
The core product is used by the customer. As a result of use, a plan is developed for the next

increment. More modifications are performed to better


meet the needs of the customer. This process is repeated following the delivery of each

increment, until the complete product is produced.


Advantage: Incremental development is particularly useful when staffing is unavailable for a complete implementation.

Incremental model
Advantage: Early increments can be implemented with fewer

people.
increments can be planned to manage technical risks The incremental model delivers software in small but usable pieces, called increments. In

general, each increment builds on those that


have already been delivered.

Spiral Model

Spiral Model
An evolutionary software process model. It combines the iterative nature of prototyping with

the controlled and systematic aspects of the linear


sequential model. Software is developed in a series of incremental

releases.
During early iterations, the release may be a paper model or prototype.

During later iterations, more complete versions of the


engineered system are produced. The phases are called task regions.

Spiral Model
Customer communication tasks required to establish effective communication between developer and customer. Planningtasks required to define resources,

timelines, and other project related information.


Risk analysistasks required to assess both technical and management risks.

Engineeringtasks required to build one or more


representations of the application.

Spiral Model
Construction and releasetasks required to construct, test, install, and provide user support (e.g., documentation and training). Customer evaluationtasks required to obtain customer feedback. Each pass through the planning region results in

adjustments to the project plan. Cost and schedule are adjusted based on feedback derived from customer

evaluation.
The spiral model can be adapted to apply throughout the life of the computer software.

Spiral Model
Advantages: A realistic approach to the development of large-scale

systems and software. Because software evolves as the


process progresses, the developer and customer better understand and react to risks at each evolutionary level.

It demands a direct consideration of technical risks at


all stages of the project. Disadvantage:

It may be difficult to convince customers.


The Schedule may not be completed due to iterative nature.

RAD Model

RAD Model
It is an incremental model with short development cycle.

It is a high speed adaptation of waterfall model.


It follows concept of component based construction approach. If requirements are well understood and project scope is limited, development is possible within 60-90 days. Each major module is handled by separate RAD team. All modules are integrated after completion.

RAD Model
Activities:

Communication
Planning Modeling

Business modeling
Data modeling Process modeling
Construction Deployment

RAD Model
Disadvantages: 1. Large number of human resources 2. If decomposition is not proper then project may fail. 3. The project may fail if technical risks are high.

Concurrent Model
none Modeling act ivit y

Under development

represent s t he st at e of a sof t ware engineering act ivit y or t ask

A wait ing changes

Under review Under revision Baselined

Done

Concurrent Model
The activities of software development will undergo all

stages.
The activities lie in any one of the state at any time. All activities may exist concurrently. This process model is applicable to all types of software development. This model provides an accurate picture of current state of a project.

Unified Process
Elab o r at io n Incep t io n

co nst r uct io n
Release
soft ware increment

t r ansit io n

p r o d uct io n

Unified Process
This model is use case driven, architecture centric, iterative and incremental. During inception phase, fundamental business requirements are described through use cases. During elaboration phase, use cases are refined. From construction phase testing starts. For every use case unit tests are designed.

Extreme Programming

You might also like