Professional Documents
Culture Documents
SYLLA
BUS
1. Introduction, Software life-cycle models
2. Software Requirements, Requirements
Specification
3. Software Design and
Click to add text
Software User
Interface Design
Click to add text
success
failure 16%
31%
over budget
53%
Source: The Standish Group International, Inc. (CHAOS research)
THE EVOLVING ROLE OF
SOFTWARE
• Data on 28,000
projects completed
in 2000
THE EVOLVING ROLE OF
SOFTWARE
Hw cost
Sw
cost
• Larger problems,
• Software companies
• Software developers
• Legal system
• Universities
SOFTWARE
MYTHS
• Software is easy to change
• Computers provide greater reliability than
the devices the replace
• Testing software or “proving” software
correct can remove all the errors
SOFTWARE
MYTHS
• Reusing software increases safety
• Software can work right the first time
• Software can be designed thoroughly
enough to avoid most integration problems
SOFTWARE
MYTHS
• Software with more features is better
software
• Addition of more software engineers will
make up the delay
• Aim is to develop working programs
MANAGEMENT -
MYTHS
• We already have a book that's full of
standards and procedures for building
software, won't that provide my people
with everything they need to know?
• If we get behind schedule, we can add more
programmers and catch up.
CUSTOMER -
MYTHS
• Project requirements continually change,
but change can be easily accommodated
because software is flexible.
• A general statement of objectives is
sufficient to begin writing programs—we
can fill in the details later.
PRACTITIONER'S -
MYTHS
• Once we write the program and get it to
work, our job is done.
• The only deliverable work product for a
successful project is the working program.
WHAT IS
SOFTWARE?
• Computer programs and
associated documentation
WHAT IS
SOFTWARE?
Programs
Operating
Documentation Procedures
Software=Program+Documentation+Operating Procedures
Components of software
DOCUMENTATION CONSISTS OF DIFFERENT
TYPES OF MANUALS ARE
Formal Specification
Analysis Context-
/Specification Diagram
Data Flow Diagrams
Flow Charts
Design
Entity-Relationship Diagram
Documentation
Manuals
Source Code Listings
Implementation Cross-Reference Listing
Test Data
Testing
Test Results
Operating
Procedures
Installation Guide
Operational
Manuals
S
y
s
t
e
m
A
SOFTWARE PRODUCT
• Software products may be developed for a
particular customer or may be developed
for a general market
MANUAL
PLAN
pla
OBJECT
DATA
• Lack of knowledge
SOFTWARE
PROCESS
• Wrong motivations
• Insufficient commitment
Improved future state
Process improvement
begins
Initial state
state
Productivity
Learning curve
Time
SOFTWARE
CHARACTERISTIC
S
✓Software does not wear
out.
Burn-in
phase Wear out
phase
Failure Intensity
Useful life
phase
Time
SOFTWARE
CHARACTERISTICS
✓ Software is not manufactured
✓ Reusability of components
✓ Software is flexible
SOFTWARE
CHARACTERISTICS
Comparison of constructing a bridge vis-à-vis writing a
Sr. program.
Constructing a bridge Writing a program
No
1. Only some parts of the problemare
The problem is well understood understood, others are not
2. Every program is different and designed
There are many existing bridges for special applications.
3. The requirement for a bridge typically do Requirements typically change during all
not change much during construction phases of development.
4. The strength and stability of a bridge can Not possible to calculate correctness of a
be calculated with reasonable precision program with existing methods.
5. When a bridge collapses, there is a When a program fails, the reasons are
detailed investigation and report often unavailable or even deliberately
concealed.
6. Engineers have been constructing Developers have been writing programs
bridges for thousands of years for 50 years or so.
7. Materials (wood, stone,iron, steel) and Hardware and software changes rapidly.
techniques (making joints in wood,
carving stone, casting iron) change
slowly.
Basic Term Software Program
Definition It is a set of Programs. It is a set of Instructions.
Software Yes No
development
life cycle 45
Basic Term Software Program
Compiled Not need Compiled ,a whole A program is compiled every
Operation software is compiled, tested time when we need to
and debugged in the generate an output.
development process.
Artificial Personal
Intelligence Computer
Software Software
THE CHANGING NATURE
OF SOFTWARE
Trend has emerged to provide source code
to the customer and organizations.
Software where source codes are available are
known as open source software.
Examples
Open source software: LINUX, MySQL, PHP,
Open office, Apache webserver etc.
SOFTWARE MYTHS
(MANAGEMENT PERSPECTIVES)
Management may be confident about good
standards and clear procedures of the
company.
Unfortunately,
that may further delay the
schedule!
SOFTWARE MYTHS (MANAGEMENT
PERSPECTIVES)
Factors
People Project
Product Process
ROLE OF MANAGEMENT IN SOFTWARE
DEVELOPMENT
FOUR P'S IN SOFTWARE
ENGINEERING
Perfor
People m Process
Project
Responsible
for
Produces
Product
70
FOUR P'S IN SOFTWARE
ENGINEERING
The People –
People of a project includes from manager
to developer, from client to finish user.
"People" usually refer to all the people
involved in the life cycle of a software.
o Senior Managers o Testers
o Project Managers o Customers
o Programmers o End Users
71
FOUR P'S IN SOFTWARE
ENGINEERING
The Process –
A package method provides the
framework from that a comprehensive
arrange for package development is
established, etc.
"Product" refers to the estimation of the
cost, time and effort required to produce
the finished software product.
FOUR P'S IN SOFTWARE
ENGINEERING
The Product –
Product is any package that needs to be
developed.
"Process" means, the various models and
methodologies or sometimes even
technologies used while going through
the making of a software project.
REFERENCE