Unit - 1
Unit - 1
- Computer Program that when executed provide desired features, function &
performance
- Descriptive information in both hard and soft copy that describes the operation and
use of programs
+ +
Computer Data
Documents
Program Structure
System
Software
Artificial Application
Intelligence Software
Software
Software
Application Engineering
Web-based Domains & Scientific
Software Software
Product -
line
Software
- on time
- on budget
- with acceptable performance
- with correct operation
Tools Methods
- Provide automated or semi - Provides technical how-to’s for
automated support for the process building software
and the methods - Encompasses many tasks including
- Results in High-Quality, defect-free communication, requirement
and maintainable software products analysis, design modeling, program
- Eg. Testing tools, Support system for construction, testing and support
software engineering
Customer Myths
Reality Reality
• Do not look at the standards and • Computer-aided software
procedures. engineering (CASE) tools are
• Are software practitioners aware of more important than
standard’s existence? hardware.
Reality Reality
• Software development is not a
• Major cause of failure
mechanistic process like
manufacturing. • If an organization does not
understand how to manage and
• In the words of Fred Brooks : "adding
control software projects
people to a late software project
internally, it will invariably
makes it later."
struggle when it outsources
• People who were working must spend software projects.
time educating the newcomers.
• People can be added but only in a
planned and well-coordinated
manner.
Ms. Zarana Gajjar (IT-ICT Department)
Customer myth - 1 & 2
Requirement Changes
A general statement
easily accommodated
of objectives is
as software is very
sufficient to start a
flexible.
development.
Reality Reality
• Comprehensive (detailed) statements • It is true that software
of requirements is not always requirements change, but the
possible, an ambiguous (unclear) impact of change varies with
“statement of objectives” can lead the time at which it is
to disaster. introduced.
• Unambiguous (clear) requirements • When requirements changes
can be gathered only through are requested early the cost
effective and continuous impact is relatively small.
communication between customer
and developer.
Reality Reality
• Experts say "the sooner you begin • Most effective software quality
'writing code', the longer it will take assurance mechanisms can be
you to complete." applied from the beginning of a
• 50-70 % of the effort is spent after project - the technical review.
delivery to the customer for the • Software reviews are more
first time. effective “quality filter” than
testing.
Reality Reality
• A working program is only one part • Software engineering is not
of a software configuration. about creating documents. It is
• A variety of work products (e.g., about creating a quality
plans, models, documents etc.) product.
provide a foundation for successful • Better quality leads to reduced
engineering and, more important, rework. And reduced rework
guidance for software support. results in faster delivery times.
SDLC Phases
Prototype Model
Problem Areas
• Customer demand that “a few fixes” be applied to make the prototype a
working product, due to that software quality suffers as a result
• Developer often makes implementation in order to get a prototype working
quickly; without considering other factors in mind like OS, Programming
language, etc.
• Incomplete application may cause application not to be used as the full
system was designed.
Advantages
• Users are actively involved in the development
• Since in this methodology a working model of the system is provided, the
users get a better understanding of the system being developed
• Errors can be detected much earlier
Disadvantages
• When the system should need to create the project that modularizes
in a short span time (2-3 months).
• When the requirements are well-known.
• When the technical risk is limited.
• It should be used only if the budget allows the use of automatic code
generating tools.
Life A product life cycle tends to A process life cycle is generally long
be in the short term. term.
Goal The main goal of product The main goal of a process is to make a
development is to finish the good quality products.
work and get the product
delivered successfully.