Unit 1 Lecture PPT
Unit 1 Lecture PPT
Unit 1 Lecture PPT
Presented By
DEEPTI GOUR
2
UNIT 1
Topic Covered SDLC MODELS
o System Fundamental o Waterfall Model
o Elements & Features o Itertative Waterfall Model
o System Types o Prototype Model
o Pysical & Conceptual System o RAD Model
oOpen & Close System o Evolutionary Model
o“Man Made” System – IS/ Computer oIncremental, Spiral , WinWin and
Based system Concurrent Model
oSDLC Overview oAgile Model
oGenric SDLC oConculsion
oPhases of SDLC
oFlow of SDLC
3
System
The Term System
may be defined as an orderly arrangement of a set of
interrelated and interdependent element that operate collectively
to accomplish some common purpose or goal. For example –
human body is a system, consisting of various parts such as
head, heart, hands, legs and so on. The various body parts are
related by mean of connecting networks of blood vessels and
nerves and the system has a main goal of “living”.
4
System Elements
A system is group of interrelated Elements are :
components working together toward a o Input & Output
common goal by accepting inputs and o Processor
producing outputs in an organized o Control & Feedback
transformation process. – Components
o Enviorment
and their attribution
o Boundary & Interface
• Systems structure: relationship
between components
• Subsystems – Environment and
Boundary
– Input and Output
SAD by Elias.M.Awad
5
Characteristics of System
Common Goal
Organized
Interdependence
Intergation & Interface
Equifinality
Entropy
6
Types of System
1. Physical or abstract,
2. Open or closed, and
3. “Man – Made” information systems
7
Genric SDLC
Planning ,
Requirement &
Analysis
Coding or
Development
Testing
9
1. Planning, Requirement & Analysis : is the most important and fundamental stage in
SDLC.
• It is performed by the senior members of the team with inputs from the customer, the
sales department, market surveys and domain experts in the industry.
• Planning for the quality assurance requirements and identification of the risks associated
with the project is also done in the planning stage.
2. Feasibility Study & Design : Requirements step is to clearly define and document the
product requirements and get them approved from the customer or the market analysts.
This information is then used to plan the basic project approach and to conduct product
feasibility study in the economical, operational and technical areas.
• This is done through an SRS (Software Requirement Specification) document which
consists of all the product requirements to be designed and developed during the project
life cycle.
• Usually more than one design approach for the product architecture is proposed and
documented in a DDS (Design Document Specification.)
• This DDS is reviewed by all the stakeholders and based on various parameters as risk
assessment, design modularity , budget and time constraints , the best design approach is
selected for the software.
10
3. Code or Development: In this stage of SDLC the actual development starts and the
product is built. The programming code is generated as per DDS during this stage. •
Developers have to follow the coding guidelines defined by their organization and
programming tools like compilers, interpreters, debuggers etc are used to generate
and implement the code.
4. Testing : This stage is usually a subset of all the stages as in the modern SDLC
models, the testing activities are mostly involved in all the stages of SDLC. • However
this stage refers to the testing only that stage of the software where defects are
reported, tracked, fixed and retested, until the software reaches the quality standards
defined in the SRS.
5. Implementation & Maintenance : Once the software is tested and no bugs or errors
are reported then it is deployed.
• Then based on the feedback, the software may be released as it is or with
suggested enhancements in the target segment.
• After the software is deployed then its maintenance starts.
11
System Design
Coding
Implementation
Testing
Deployment
Maintenance
13
Quick Decision
Refine
Build Prototype
Requirement
Customer
Evaluation of
Prototype
Design
Implementation
Testing
Maintenance
17
Steps of Prototype Model
1. Requirement Gathering and Analyst
2. Quick Decision
3. Build a Prototype
4. User Evaluation
5. Prototype Refinement
6. Engineer Product (Design , Implementation , Testing & Maintenance )
Advantage of Prototype Model
o Reduce the risk of incorrect user requirement
o Good where requirement are changing/uncommitted
o Regular visible process aids management
o Support early product marketing
o Reduce Maintenance cost.
o Errors can be detected much earlier as the system is made side by side.
18
Disadvantage of Prototype Model
o An unstable/Not Refine model also implemented prototype often becomes
the final product.
o Require extensive customer collaboration
o Costs customer money
o Needs committed customer
o Difficult to finish if customer withdraw
o May be too customer specific, no broad market
o Difficult to know how long the project will last.
o Easy to fall back into the code and fix without proper requirement analysis,
design, customer evaluation, and feedback.
o Prototyping tools are expensive.
o Special tools & techniques are required to build a prototype.
o It is a time-consuming process.
Evolutionary Process Model 19
Build M1
Design & Coding Implementation
(Development) Testing
& Maintenance
Build M2
Design & Coding Implementation
Testing
Requirement (Development) & Maintenance
Analysis
Build M3 Implementation
Design & Coding
Testing & Maintenance
(Development)
2. Design & Development: In this phase, the design of the system functionality and the
development method are finished with success. When software develops new practicality, the
incremental model uses style and development phase.
3. Testing: In this Model - testing phase checks & analysis the performance of each existing
function as well as additional functionality. (various methods are used to test the behavior – Test
Case, Test Scheduler, Test Schema & Activity Diagram))
When Incremental SDLC – Requirement Superior , Large Project, Long time , Customize
Requirement for Quick Release )
✖ Advantage of Incremental
Model 22
✖ Disadvantage of
Incremental Model
✖ Errors are easy to be
recognized.
✖ Need for good planning
✖ Easier to test and debug
✖ Total Cost is high.
✖ More flexible.
✖ Well defined module
✖ Simple to manage risk
interfaces are needed.
because it handled during
its iteration.
✖ The Client gets important
functionality early.
23
General Model of Design Process
1. Architectural design: where you identify the overall structure of the system, the 24
2. Interface design: define the interfaces between system components. This interface
specification must be unambiguous. With a precise interface, a component can be used
without other components having to know how it is implemented. Once interface
specifications are agreed, the components can be designed and developed concurrently.
3. Component design: You take each system component and design how it will operate.
This may be a simple statement of the expected functionality to be implemented, with
the specific design left to the programmer. Alternatively, it may be a list of changes to be
made to a reusable component or a detailed design model. The design model may be
used to automatically generate an implementation.
4. Database design: where you design the system data structures and how these are to
be represented in a database. Again, the work here depends on whether an existing
database is to be reused or a new database is to be created.
25
Generic Stages of Testing in SDLC
Module/Component/
Unit Testing Acceptance Testing
System Testing
+
(Few Integration T )
1. Development / Module / Unit / Component testing : Module making up the system are
tested by the people developing the system. Each component/Module/Unit is tested independently,
without other system components. Components may be simple entities such as functions or object
classes, or may be coherent groupings of these entities. Test automation tools, such as JUnit (Massol
and Husted, 2003), that can re-run component tests when new versions of the component are created,
are commonly used.
Functional or Non-Functional Requirements – Testing Resources Like Performance Testing , Structural
Testing etc - here Components – Project Test Plan , Specification & Unit Implementation )
26
2. System testing :System components are integrated to create a complete system.
This process is concerned with finding errors that result from unanticipated
interactions between components and component interface problems. It is also
concerned with showing that the system meets its functional and non-functional
requirements, and testing the emergent system properties. For large systems, this
may be a multi-stage process where components are integrated to form subsystems
that are individually tested before these sub-systems are themselves integrated to
form the final system. (also called Beta Testing )
3. Acceptance testing: This is the final stage in the testing process before the
system is accepted for operational use. The system is tested with data supplied by
the system customer rather than with simulated test data. Acceptance testing may
reveal errors and omissions in the system requirements definition, because the real
data exercise the system in different ways from the test data. Acceptance testing
may also reveal requirements problems where the system’s facilities do not really
meet the user’s needs or the system performance is unacceptable. (Also called
Alpha Testing)
Various Testing Phases in Plan –Driven 27
28
Spiral Model (Boehm’s Spiral Model )
A risk-driven software process framework (the spiral model) was proposed by Boehm (1988). Each loop in the
spiral represents a phase of the software process. The spiral model combines change avoidance with change
tolerance.
29
Requirements Elicitation & Analysis Phases
Alternatively, they may define constraints on the system implementation such as the capabilities of I/O
devices or the data representations used in interfaces with other systems.
For instance, the primary reason Google Lens failed was that Google lens was a software
integrated with many functionalities and was heavy on quality.
Thanks