Você está na página 1de 9

SOFTWARE DEVELOPMENT LIFE CYCLE(SDLC)

INTRODUCTION
No one can deny the importance of computer in our life, especially during the present time. In
fact, computer has become indispensable in today's life as it is used in many fields of life such as
industry, medicine, commerce, education and even agriculture.

It has become an important element in the industry and technology of advanced as well as
developing countries. Now-a-days, organizations become more dependent on computer in their
works as a result of computer technology.

Computers considered a time-saving device and its progress helps in executing complex, long,
repeated processes in a very short time with a high speed. In addition to using computer for
work, people use it for fun and entertainment.

Noticeably, the number of companies that produce software programs for the purpose of
facilitating works of offices, administrations, banks, etc., during the previous four decades.
Moreover, the aim of software engineering is to construct programs of high quality.

SDLC PHASES
Requirements Gathering and Analysis
Design
Development
Testing
Implementation
Maintenance

1
SOFTWARE DEVELOPMENT LIFE CYCLE(SDLC)

SOFTWARE PROCESS MODELS


 Waterfall model.
 Iterative model.
 V-shaped model.
 Spiral model.
 Extreme programming.
 Incremental Method
 Rapid prototyping model
 The Chaos Model
 Adaptive Software Development (ASD)
 The Agile Software Process (ASP)
 Crystal Model
 Dynamic System Development Method (DSDM)
 Feature Driven Development (FDD)
 Rational Unified Process (RUP)

Software Development Life Cycle and Roles

Incremental Life Cycle Iterative Life Cycle

Requirements
Gathering Requirements
Gathering Buisness Analyst
Incremet3
Increment1 Increment2
Analysis Archect
Analysis Analysis Analysis

Design
Design Developer
Design
Design
Coding
Tester
Coding
Coding
Coding Testing
Release
Mngr
Testing Testing
Testing Conversion/
Maintenance

2
SOFTWARE DEVELOPMENT LIFE CYCLE(SDLC)
A Waterfall: The model that describes (first requirements followed by design, coding, testing
and release) is the Waterfall model. This model is useful only if the requirements are
absolutely clear and never change during the project.
Pros: Each phase is independent…useful when reqs will not change over time, project is
small.
Cons: cannot handle changes very well, users only involved in the end.
An incremental: requiring that the system be developed in succinct pieces. Each increment
(after the first) can reuse assets that were developed in earlier increments. The most common
requirements falling in the first and the least last.
Pros: issues raised in previous increments can be addressed in current, More frequent
releases can be done, everything in each phase does not have to be completed in order to
move forward, different teams can work on different increments independently.
Cons: Problems raised in a phase can not be addresses until future increment, Requires
planning to determine which requirements will be addresses in which increment.
Useful when not all functionality is necessary in order for the project to be useful. Not all
requirements are specified(or known) at the beginning of the project. Project is large scale.
An iterative: requiring that issues/errors identified and handled immediately in the
Appropriate phase. Objects allow this easy flow between phases because the language used is
always objects.
Characterized by the ability to move up the waterfall. (Pros: issues not put off addressed
immediately(in appropriate phase, changes made in later phase do not contradict what was
documented in earlier phase, all phases up-to-date, deliver system will have documentation in
current state. Issues are resolved in the appropriate phase & changes are cascaded down.
Cons: difficult to gauge where the project is according to plan. Difficult to project manage
where different group/people in different phase).
Useful when Documents needs to match system in production. A single team working on the
project. Flexibility is feasible on development team.
A combination of iterative and incremental life cycle fits our development process.
Based on the above SDLC:

3
SOFTWARE DEVELOPMENT LIFE CYCLE(SDLC)
The different roles could be defined as..
Project Manager: This would include

 Tracking the project progress, address issues.

 Supporting PDD

 Estimation Schedule

 Researching Risk Mgnt, Cust. Relation Mgnt


Business Analyst: This would include

 Requirements Gathering

 Gap Analysis with existing system or process

 Identify Actors, Use cases

 Work flow, Sequence diagram

 Screen Design

 Facilitate UAT
Architect: includes

 Workflow analysis: focus on specification of the system

 Architectural analysis - objects (use case realization)


Requirement and Use case analysis (Analyze class model)

 Object diagram, Sequence diagram

 Class Diagram

 Moving analysis to implementation

 Database Design
Developer: includes

 Analyze Database Design

 Coding and unit testing on Local host

4
SOFTWARE DEVELOPMENT LIFE CYCLE(SDLC)
Tester/QA : includes

 Functional/Integrated Testing (not developer)


Release Manager: includes

 Code review, Build war file, deploy to various environments

V-Shaped SDLC Model


• A variant of the Waterfall that emphasizes the verification and validation of the product.
• Testing of the product is planned in parallel with a corresponding phase of development

V-Shaped Steps
• Project and Requirements Planning – allocate resources
• Product Requirements and Specification Analysis – complete specification of the
software system
• Architecture or High-Level Design – defines how software functions fulfill the design
• Detailed Design – develop algorithms for each architectural component
• Production, operation and maintenance – provide for enhancement and corrections
• System and acceptance testing – check the entire software system in its environment
• Integration and Testing – check that modules interconnect correctly
• Unit testing – check that each module acts as expected
• Coding – transform algorithms into software

5
SOFTWARE DEVELOPMENT LIFE CYCLE(SDLC)

V-Shaped Strengths
• Emphasize planning for verification and validation of the product in early stages of
product development
• Each deliverable must be testable
• Project management can track progress by milestones
• Easy to use

V-Shaped Weaknesses
• Does not easily handle concurrent events

• Does not handle iterations or phases

• Does not easily handle dynamic changes in requirements

• Does not contain risk analysis activities

Structured Evolutionary Prototyping Model


• Developers build a prototype during the requirements phase

• Prototype is evaluated by end users

• Users give corrective feedback

• Developers further refine the prototype

• When the user is satisfied, the prototype code is brought up to the standards needed for a
final product.

Rapid Application Model (RAD)


• Requirements planning phase (a workshop utilizing structured discussion of business
problems)

• User description phase – automated tools capture information from users

• Construction phase – productivity tools, such as code generators, screen generators, etc.
inside a time-box. (“Do until done”)

• Cutover phase -- installation of the system, user acceptance testing and user training

6
SOFTWARE DEVELOPMENT LIFE CYCLE(SDLC)

Incremental SDLC Model

• Construct a partial implementation of a total system

• Then slowly add increased functionality

• The incremental model prioritizes requirements of the system and then implements them
in groups.

• Each subsequent release of the system adds function to the previous release, until all
designed functionality has been implemented.

Spiral SDLC Model


• Adds risk analysis, and 4gl RAD prototyping to the waterfall model
• Each cycle involves the same sequence of steps as the waterfall process model

Spiral Quadrant
Determine objectives, alternatives and constraints
• Objectives: functionality, performance, hardware/software interface, critical success
factors, etc.
• Alternatives: build, reuse, buy, sub-contract, etc.
• Constraints: cost, schedule, interface, etc.

Agile SDLC’s
• Speed up or bypass one or more life cycle phases
• Usually less formal and reduced scope
• Used for time-critical applications
• Used in organizations that employ disciplined methods

7
SOFTWARE DEVELOPMENT LIFE CYCLE(SDLC)

Feature Driven Design (FDD)


Five FDD process activities
Develop an overall model – Produce class and sequence diagrams from chief architect meeting
with domain experts and developers.
Build a features list – Identify all the features that support requirements. The features are
functionally decomposed into Business Activities steps within Subject Areas.
Features are functions that can be developed in two weeks and expressed in client terms with the
template: <action> <result> <object>
i.e. Calculate the total of a sale
Plan by feature the development staff plans the development sequence of features
Design by feature the team produces sequence diagrams for the selected features

Dynamic Systems Development Method (DSDM)


Applies a framework for RAD and short time frames
Paradigm is the 80/20 rule majority of the requirements can be delivered in a relatively short
amount of time.

Quality Assurance Plan


• Defect tracing – keeps track of each defect found, its source, when it was detected, when
it was resolved, how it was resolved, etc
• Unit testing – each individual module is tested
• Source code tracing – step through source code line by line
• Technical reviews – completed work is reviewed by peers
• Integration testing -- exercise new code in combination with code that already has been
integrated
• System testing – execution of the software for the purpose of finding defects.

8
SOFTWARE DEVELOPMENT LIFE CYCLE(SDLC)

References
Gallaugher, J. (2012). Understanding Software: A Primer For Managers. Information Systems: A
Manager's Guide to Harnessing Technology (1.4 ed.). Irvington, NY, United States: Flatworld
Knowledge, Inc.

Leau, Y. B., Loo, W. K., Tham, W. Y., & Tan, S. F. (2012). Software Development Life Cycle
AGILE vs Traditional Approaches. In 2012 International Conference on Information and
Network Technology (ICINT 2012) IPCSIT (Vol. 37).
McMurtrey, M. (2013). A Case Study of the Application of the Systems Development Life
Cycle (SDLC) in 21st Century Health Care: Something Old, Something New?. Journal of the
Southern Association for Information Systems,1(1).

Website: Systems Development Life Cycle. (2013). Wikipedia. Retrieved on July 12, 2013 from
http://en.wikipedia.org/wiki/Systems_development_life-cycle

Website: The Systems Development Life Cycle Basics. (n.d.). McGraw Hill Connect. Retrieved
on July 12, 2013 from http://highered.mcgraw-
hill.com/sites/dl/free/0073376736/596593/AppendixD.pdf

Você também pode gostar