Professional Documents
Culture Documents
An Introduction
customers
Bespoke (custom) - developed for a single customer
work
use appropriate tools and techniques depending on
Programming languages
Operating systems
Data bases
Artificial intelligence
Theory
Management science
Systems engineering
Others
software and
process engineering
system specification,
architectural design,
integration and deployment
Srikanta Murthy.K Department of IS & Engg
What is CASE ?
(Computer-Aided Software Engineering)
Upper-CASE
Tools to support the early process
Maintainability
Software must evolve to meet changing needs
Dependability
Software must be trustworthy
Efficiency
Software should not make wasteful use of system resources
Usability
Software must be usable by the users for which it was
designed
Srikanta Murthy.K Department of IS & Engg
What are the key challenges
facing software engineering?
Heterogeneity
Systems are distributed and include
engineered or
developed, not
manufactured in
the traditional
sense.
Software does not
wear out in the
same sense as
hardware.
Right: hardware
failure rate
Srikanta Murthy.K Department of IS & Engg
Some Software Characteristics
In theory, software
does not wear out
at all.
BUT,
Hardware
upgrades.
Software upgrades.
Right: failure curve for
software
Myth: I can’t tell you how well we are doing until I get
parts of it running.
Reality: Formal reviews of various types both can give good
information and are critical to success in large projects.
Myth: The only deliverable that matters is working code.
Reality: Documentation, test history, and program configuration
are critical parts of the delivery.
Myth: I am a (super) programmer. Let me program it,
and I will get it done.
Reality: A sign of immaturity. A formula for failure. Software
projects are done by teams, not individuals, and success
requires much more than just coding.
Myth: Writing
code is the major
part of creating a
software product.
Reality: Coding
may be as little
as 10% of the
effort, and 50 -
70% may occur
after delivery.
Below: Impact of
change.
development constraints
Development - production of the software system
customer wants
Evolution - changing the software in response to
changing demands
Evolutionary development
Formal transformation
Requirements
Design
Implementation
Integration
Validation
Initial
Specification version
Outline Intermedia te
Development versions
description
Final
Valida tion version
Problems
Lack of process visibility;
For short-lifetime systems.
Requirements modification;
Development System
and integ ration validation
Spiral development
Process is represented as a spiral. Each loop of
the spiral show a phase of software processes
(e.g.: feasibility , requirement gathering).
Spiral development.
Develop, verify
Plan next phases
Srikanta Murthy.K Department of IS & Engg next-level product
Spiral model of the software process
Deter mine objecti ves,
Evalua te alterna tives,
alterna tives and
identify, resolv e risks
constr aints Risk
anal ysis
Risk
anal ysis
Risk
Oper a-
anal ysis
Pr ototype 3 tional
Prototype 2 protoype
Risk
REVIEW anal ysis Proto-
type 1
Requir ements plan Simula tions , models , benchmar ks
Life-cy cle plan Concept of
Oper a tion S/W
requir ements Product
design Detailed
Requir ement design
De velopment
plan valida tion Code
Unit test
Integ ra tion Design
V&V Integ ra tion
and test plan
Plan ne xt phase test
Acceptance
Service test De velop , verify
ne xt-le vel pr oduct
Srikanta Murthy.K Department of IS & Engg
Spiral model sectors
Objective setting
Specific objectives for the phase are identified.
spiral is planned.
Srikanta Murthy.K Department of IS & Engg
Rapid Application Development
(RAD)
A Product with
Early visibility
Reduced features
Reliance on third-party components may ...
sacrifice needed functionality
add unneeded functionality
create legal problems
Standardized look and feel