Más contenido relacionado
La actualidad más candente (20)
Más de SivaprasanthRentala1975 (20)
Sdlc
- 1. IBM Global Services – Testing Competency
© Copyright IBM Corporation 2006
IBM Confidential14/12/2006
SDLC/PLC
- 2. IBM Confidential2
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
Introduction to software Engineering
Software Process
Software Process Models
What is Software Process ?
A process is a structured set of activities required to develop a system which includes
specification, Design, Validation and evaluation.
The roadmap to building high quality software products is software process.
Software processes are adapted to meet the needs of software engineers and managers
as they undertake the development of a software product.
A software process provides a framework for managing activities that can very easily get
out of control.
Different projects require different software processes.
The software engineer's work products (programs, documentation, data) are produced
as consequences of the activities defined by the software process.
The best indicators of how well a software process has worked are the quality,
timeliness, and long-term viability of the resulting software product.
- 3. IBM Confidential3
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
Software Engineering (contd.)
Objectives of Software Process
To introduce various software lifecycle models.
To describe a number of different lifecycle models and when they may be used.
To describe outline process models for requirements engineering, software
development, testing and evolution.
Software Engineering
Software engineering encompasses a process, management techniques, technical
methods, and the use of tools.
Generic Software Engineering Phases
Definition phase - focuses on what (information engineering, software project planning,
requirements analysis).
Development phase - focuses on how (software design, code generation, software
testing).
Support phase - focuses on change (corrective maintenance, adaptive maintenance,
perfective maintenance, preventative maintenance).
- 4. IBM Confidential4
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
Definition of Software Development Life Cycle (SDLC) (or)
Project Life Cycle (PLC)
The various phases which are under taken sequentially when developing a
software are commonly modeled as Software Development Life Cycle (SDLC)
(or) project life cycle (PLC).
The software development life cycle begins with the identification of
requirements for a software and ends with the formal validation of the
developed software against the requirements.
- 5. IBM Confidential5
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
Various Phases in the SDLC
• Feasibility Analysis/Assessment
• Planning & Estimation
• System Requirement Specification (SRS)
• System Analysis & Design
• Coding
• Testing/Validation
• Release/Delivery/deployment
• Maintenance/Technical Support
Solution Definition
Build & Acquire
- 6. IBM Confidential6
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
Feasibility Analysis/Assessment
Study of user requirements to know any hurdles before designing the system.
Generally following areas are analyzed in this phase.
Technical Feasibility
Project Schedules/time frames
Financial Activities
Key Players
Analysts
Developers
Testers
Deliverables
Feasibility Analysis Report
- 7. IBM Confidential7
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
Planning & Estimation
Proper estimation is done in this phase to complete the given task.
Estimation is done in the initial phase of project based on the requirements. Client has
to approve the estimation. There are different techniques like Function Point analysis,
COCOMO (involves costing also) for estimation. Estimation generally done by team
leads/experienced team members.
Key Players
Team leads
Senior Developers/Testers
Deliverables
Estimation
- 8. IBM Confidential8
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
System Requirement Specification (SRS)
User/client requirements are collected in this phase from the client. Requirements should
be specific not generic. Following requirements are collected in this phase.
Functional/Business requirements (how the user going to use the system)
Environmental requirements (like Hardware, Software, Networks etc.,)
User interface & Usability requirements (like look & feel, hot keys, key board supports)
Main focus of the system is
Who is going to use the system?
How will they use the system?
Business logic of the system?
What data should be input into the system?
What data should be output by the system?
Deliverables
System Requirement Specification (SRS) document
Use Cases
- 9. IBM Confidential9
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
System Analysis and Design
Software requirements are transformed into architecture and detailed design.
The software system design is produced from the results of the requirements phase.
Architects have the ball in their court during this phase and this is the phase in which
their focus lies. This is where the details on how the system will work is produced.
Architecture, including hardware and software, communication, software design (UML
is produced here) are all part of the deliverables of a design phase
Key Players
Architects and Developers
Deliverables
High level design (HLD)/ Architectural design
Low level design (LLD)/ Detailed design
Master Test Plan (MTP)
Test Scenarios
Test cases documents
Test Matrix
- 10. IBM Confidential10
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
Coding & Unit test
Transforms design into code (business logic)
Code is produced from the deliverables of the design phase.
Coding and unit testing are parallel activities.
For a developer, this is the main focus of the life cycle because this is where the code is
produced. Implementation my overlap with both the design and testing phases. Many
tools exists (Computer Aided Software Engineering (CASE) tools) to actually automate
the production of code using information gathered and produced during the design
phase.
Key Players
Developers
Deliverables
Unit test Report
Beta version of the application (.exe file, web link)
- 11. IBM Confidential11
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
Testing (Validation)
Validating the system against the user requirements.
During testing, the application is tested against the requirements to make sure that the
system is actually meeting the needs of the user needs addressed in the requirements
phase.
System Test, System Integration Test, acceptance tests are done during this phase.
Unit tests act on a specific component of the system, while system tests act on the
system as a whole.
Key Players
Testers, Test Leads
Deliverables
Final version of the completed application
Test Summary Report (TSR) (Summary of System test, system Integration testing)
Test Incident Report (TIR) (any event (environment down etc.,) that occurs during
testing which requires further investigation.
Test Status Report (TStR) (Progress/status of testing )
- 12. IBM Confidential12
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
Delivery/Release/deployment
Release the application to the end user/Production environment for real time use.
Key Players
Developers
Testers
Team Leads
- 13. IBM Confidential13
IBM Global Services – Testing Competency
© Copyright IBM Corporation 2005
Maintenance / Technical support
Supporting the application (24x7) during the run time (production) for undetected errors
during testing.
Technical support for the application may varies depending upon the application
criticality.
Critical applications - 24 x 7 support
Semi critical applications - 24 x 5 support
Low critical applications - 12 x 5 support
Key Players
Developers
Testers
Team Leads
- 15. IBM Global Services – Testing Competency
© Copyright IBM Corporation 2006
IBM Confidential14/12/2006