internet and society · 2020-01-22 · –railway reservation: manual system exists, so srs can be...
TRANSCRIPT
![Page 1: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/1.jpg)
Lecture – 04
Software Engineering
SECTION - A
![Page 2: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/2.jpg)
Outline
• Quick Recap of Lecture – 03.
• Waterfall model for development
• Prototyping Model
• Iterative enhancement Model
• Spiral Model
![Page 3: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/3.jpg)
Software Life Cycle Models
• “The period of time that starts when a software
product is conceived and ends when the
product is no longer available for use.
• The software life cycle typically includes a
requirement phase, design phase,
implementation phase, test phase, operation
and maintenance phase”.
![Page 4: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/4.jpg)
The “Standard” Development
Cycle Definition
Requirement
Design
Coding
Testing
![Page 5: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/5.jpg)
Definition (cont.)
Project Planning
• Allocate resources
• Estimate costs
• Define work tasks
• Define schedule
System analysis
Allocate system resources to
• Hardware
• Software
• Users
![Page 6: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/6.jpg)
Development
• Software design
• User interface design
• High-level design
– Define modular components
– Define major data structures
• Detailed design
– Define algorithms and procedural detail
![Page 7: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/7.jpg)
Development (cont.)
Coding
• Develop code for each
module
• Unit testing
Integration
• Combine modules
• System testing
![Page 8: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/8.jpg)
Maintenance
• Correction - Fix software defects
• Adaptation - Accommodate changes
– New hardware
– New company policies
• Enhancement - Add functionality
• Prevention - make more maintainable
![Page 9: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/9.jpg)
Waterfall Model for Development
• Here, steps (phases) are arranged in linear
order.
– A step take inputs from previous step, gives
output to next step (if any)
– Exit criteria of a step must match with entry
criteria of the succeeding step.
• It follows ‘specify, design, build’ sequence
that is intuitively obvious and appears
natural.
![Page 10: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/10.jpg)
Waterfall Model …
• Produces many intermediate deliverables,
usually documents
– Standard formats defined.
– Acts as ‘baseline’ used as reference (for contractual
obligations, for maintenance)
– Important for quality assurance, project
management, etc.
• It is widely used (with minor variations) when
requirements are well understood.
![Page 11: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/11.jpg)
Waterfall Model » - software part of some larger system.
» - establish requirements for all elements of the system; assign some
to software.
- understand information domain, functions,
performance and interfacing. Project plans made
» -translate requirements into s/w architecture,
» data structures and procedural details.
A ‘detailed design’ step can be added.
»
» -programming
»
» - test logic and function interface
»
» - deployment; make changes for
» - Errors, performance
» - changes in requirement
»
System
engineering
Analysis
Project planning
design
code
Testing &
integration
Installation &
maintenance
![Page 12: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/12.jpg)
Deliverables in Waterfall model
• Project plan and feasibility report
• Requirements document (SRS :
Software Requirement Specifications)
• System design document
• Detailed design document
• Test plans and test reports
• Source code
• Software manuals (user manual,
installation manual)
• Review reports
![Page 13: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/13.jpg)
Cost/ Effort Distribution
• Accumulated cost increases dramatically as programmers,
operators, technical writes and computer time is committed.
• Cost of discovering and fixing errors also increases with steps.
![Page 14: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/14.jpg)
Shortcomings of Waterfall Model
• Requirements may not be clearly known,
especially for applications not having existing
(manual) counterpart.
– Railway reservation: manual system exists, so
SRS can be defined.
– On-line container management for railways – new.
– Knowledge management for a cetral bank – new.
![Page 15: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/15.jpg)
Shortcomings …
• Requirements change with time during project
life cycle itself.
– Users may find solution of little use.
– Better to develop in parts in smaller increments;
this is common for packages, system software
• Considered documentation-heavy: so much
documentation may not be required for all
types of projects.
![Page 16: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/16.jpg)
Prototyping Model
• When customer or developer is not
sure
– Of requirements (inputs, outputs)
– Of algorithms, efficiency, human-machine
interaction.
• A throw-away prototype built from
currently known user needs.
• Working or even ‘paper’ prototype.
![Page 17: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/17.jpg)
Prototyping …
• Quick design focuses on aspects visible to user;
features clearly understood need not be
implemented.
• Prototype is tuned to satisfy customer needs
– Many iterations may be required to incorporate
changes and new requirements.
• Final product follows usual define-design-build-
test life cycle.
![Page 18: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/18.jpg)
Prototyping
Requirements
gathering
‘Quick’ design
Build
prototype
Evaluate &
refine
Engineer
product
![Page 19: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/19.jpg)
Limitations of Prototyping
• Customer may want prototype itself !
• Developer may continue with implementation
choices made during prototyping
– may not give required quality, performance, ..
• Good tools need to be acquired for quick
development.
• May increase project cost
![Page 20: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/20.jpg)
Iterative Development • Useful for product development where
developers define scope, features to serve many
customers
• Early version with limited features important to
establish market and get customer feedback
• Initial version may follow any method.
• A list of features for future versions maintained.
• Each version is analyzed to decide feature list for
next iteration.
![Page 21: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/21.jpg)
Lecture – 05
![Page 22: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/22.jpg)
Introduction
• Evolutionary Model
• Spiral Model
• Incremental Model
![Page 23: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/23.jpg)
Evolutionary Development model
![Page 24: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/24.jpg)
Evolutionary Development …
• Main characteristics:
– The phases of the software construction
are interleaved
– Feedback from the user is used throughout
the entire process.
– The software product is refined through
many versions.
• Types of evolutionary development
– Exploratory development
– Throw-away prototyping
![Page 25: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/25.jpg)
Evolutionary Development …
• Advantages:
– Deals constantly with changes
– Provides quickly an initial version of the system.
– Involves all development teams.
• Disadvantages:
– Quick fixes may be involved.
– “invisible” process, not well-supported by documentation
– The system’s structure can be corrupted by continuous
change.
![Page 26: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/26.jpg)
Evolutionary Development …
• Disadvantages [cont’d]:
– Special tools and techniques may be necessary
– The client may have the impression the first
version is very close to the final product and thus
be less patient.
• Applicability:
– When requirements are not well understood.
– When the client and the developer agree on a
“rapid prototype” that will be thrown away
– Good for small and medium-sized software
systems.
![Page 27: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/27.jpg)
Spiral Model Activities are organized in a spiral having many
cycles.
Four quadrants in each cycle.
![Page 28: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/28.jpg)
Spiral Model …
• Prototyping, simulations, benchmarking may be
done to resolve uncertainties/ risks.
• Development step depends on remaining risks; e.g.,
– Do prototype for user interface risks.
– Use basic waterfall model when user interface and
performance issues are understood but only development
risk remains.
• Risk driven : allows us mix of specification- oriented,
prototype-oriented, simulation based or any other
approach.
![Page 29: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/29.jpg)
Spiral model of the software
process
![Page 30: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/30.jpg)
Spiral Model
• Main characteristics:
– Also a hybrid model that support process
iteration.
– The process is represented as a spiral, each
loop in the spiral representing a process
phase
– Four sectors per loop: objective setting, risk
assessment and reduction, development and
validation, planning
– Risk is explicitly taken into consideration.
![Page 31: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/31.jpg)
Spiral Model • Advantages:
– Risk reduction mechanisms are in place,
– Supports iteration and reflects real-world practices.
– Systematic approach
• Disadvantages:
– Requires expertise in risk evaluation and reduction
– Complex, relatively difficult to follow strictly
– Applicable only to large systems.
• Applicability:
– Internal development of large systems.
![Page 32: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/32.jpg)
Incremental process models
• The incremental model
• The RAD model
![Page 33: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/33.jpg)
The Incremental Model
C o m m u n i c a t i o n
P l a n n i n g
M o d e l i n g
C o n s t r u c t i o n
D e p l o y m e n t
d e l i v e r y
f e e d b a c k
analy s is
des ign c ode
t es t
increment # 1
increment # 2
delivery of
1st increment
delivery of
2nd increment
delivery of
nt h increment
increment # n
project calendar t ime
C o m m u n i c a t i o n
P l a n n i n g
M o d e l i n g
C o n s t r u c t i o n
D e p l o y m e n t
d e l i v e r y
f e e d b a c k
analy s is
des ign c ode
t es t
C o m m u n i c a t i o n
P l a n n i n g
M o d e l i n g
C o n s t r u c t i o n
D e p l o y m e n t
d e l i v e r y
f e e d b a c k
analy s is
des ignc ode
t es t
![Page 34: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/34.jpg)
The Incremental Model
• The incremental model applies linear sequences in a staggered(spread
over a period of time) fashion as calendar time progresses.
• Each linear sequence produces deliverable “increments” of the
software. For eg. 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, and document production capabilities in the
second increment; spelling grammar checking in the third increment;
and advanced page layout capability in the fourth increment.
![Page 35: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/35.jpg)
• When the incremental model is used, the first increment is often a
core product; i.e. basic requirements are addressed, but many
supplementary features known, others unknown) remain
undelivered.
• The core product is used by the customer. As a result of use
and/or evaluation, a plan is developed for the next increment.
• The plan addresses the modification of the core product to better
meet the needs of the customer and the delivery of additional
features and functionality. This process is repeated following the
delivery of each increment, until the complete product is produced.
![Page 36: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/36.jpg)
Uses
• This model is particularly useful when staffing is
unavailable for a complete implementation by the business
deadline that has been established for the project.
• Early increments can be implemented with fewer people. If
the core product is well received, additional staff(if reqd)
can be added to implement the next increment.
![Page 37: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/37.jpg)
• In addition, increments can be planned to manage
technical risks. For eg. A major system might
require the availability of new hardware that is
under development and whose delivery date is
uncertain.
• It might be possible to plan early increments in a
way that avoids the use of this hardware, there by
enabling partial functionality to be delivered to end
users without unreasonable delay.
![Page 38: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/38.jpg)
The RAD Model
Communicat ion
Planning
Mode lingbusiness modeling
dat a modeling
process modeling
Const ruct ioncomponent reuse
aut omat ic code
generat ion
t est ing
De ployme nt
6 0 - 9 0 days
Team # 1
Modelingbusiness m odel ing
dat a m odel ing
process m odel ing
Const ruct ioncom ponent reuse
aut om at ic code
generat ion
t est ing
M o d e lin gbusiness m odeling
data m odeling
process m odeling
Co n st ru ct io ncom ponent reuse
autom at ic code
generat ion
test ing
Team # 2
Team # n
int egrat ion
delivery
feedback
![Page 39: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/39.jpg)
The RAD Model
• Rapid Application Model(RAD) is an incremental software process
model that emphasizes a short development cycle.
• The RAD model is a” high-speed” adaptation of the waterfall model, in
which rapid development is achieved by using a component based
construction approach.
• If requirements are well understood and project scope is constrained
(controlled) the RAD process enables a development team to create a
“fully-functional system” with in a very short time period (eg. 60 to 90
days).
![Page 40: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/40.jpg)
• Communication works to understand the business problem and the information
characteristics that the software must accommodate.
• Planning is essential because multiple software teams work in parallel on
different system functions.
• Modeling encompasses three major phases – business modeling, data
modeling, process modeling – and establishes design representations that serve
as the basis for RAD’s construction activity.
• Construction emphasizes the use of pre-existing software components and the
application of automated code generation.
• Finally, deployment establishes a basis for subsequent iterations, if required.
• The RAD process model is illustrated in fig. Obviously the time constraints
imposed on a RAD project demand a “scalable scope”
![Page 41: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/41.jpg)
• If a business application can be modularized in a way that enables each
major function to be completed in less than three months (using the
above described approach), it is a candidate for RAD. Each major
function can be addressed by a separate RAD team and then integrated
to form a whole.
• Like all process models, the RAD approach has drawbacks:
(1) For large, but scalable projects, RAD requires sufficient human resources to
create the right number of RAD teams.
(2) If developers and customers are not committed to rapid fire activities necessary
to complete the system in a much abbreviated (reduced) time frame, RAD
projects will fail.
(3) RAD may not be appropriate when technical risks are high (eg. When a new
application makes heavy use of a new technology)
![Page 42: Internet and Society · 2020-01-22 · –Railway reservation: manual system exists, so SRS can be defined. –On-line container management for railways – new. –Knowledge management](https://reader030.vdocuments.site/reader030/viewer/2022040323/5e65f879b3630f7a126ce27f/html5/thumbnails/42.jpg)
Assignment
Explain in detail:
• Evolutionary Model
• Spiral Model
• Incremental Model