Professional Documents
Culture Documents
Introduction to Computing
bilal mir
1 bilal mir
Programs versus Software Products
Program Software
Usually small in Large
size Large number of
Author himself is users
sole user Team of developers
Single developer
Well-designed
Lacks proper
user interface interface
Lacks proper Well documented
& user-manual
documentatio prepared
n
2 bilal mir
Software Engineering
3 bilal mir
Software Engineering
• The economies of all developed
nations are dependent on software.
• Software engineering is concerned with
theories, methods and tools for
professional software development.
4 bilal mir
Why Study Software Engineering
• Toacquire skills to develop
large programs.
• Ability solve complex programming
problems:
to
• Learn techniques of:
• specification, design, interface
development, testing, project management, etc.
5 bilal mir
Software Costs
Software costs often dominate system costs. The
costs of software on a PC are often greater than the
hardware cost.
Software costs more to maintain than it does to
develop.
Software engineering is concerned with cost-
effective software development.
6 bilal mir
Software Products
Generic products:
Stand-alone systems which are produced by a
development
organization and sold on the open market to any
customer.
Customized products:
Systems which are commissioned by a specific
customer and developed specially by some
contractor.
7 bilal mir
Software Product Attributes
Maintainability: Software should be written in such a way
so that it can evolve to meet the changing needs of
customers.
Dependability: Software dependability includes a range of
characteristics including reliability, security and safety.
Dependable software should not cause physical or
economic damage in the event of system failure. Malicious
users should not be able to access or damage the system.
Efficiency: Software should not make wasteful use of
system resources such as memory and processor cycles.
Usability: Software must be acceptable to the type of users
for which it is designed. This means that it must be
understandable, usable and compatible with other systems
that they use.
8 bilal mir
Efficiency Costs
Cost
Ef ficienc
y
9 bilal mir
Engineering Process Model
Specification: Set out requirements
the constraints on the system. and
Design: Produce a model of the
system.
Manufacture:
Test: Build the
Check the system.
system the
meets specifications. required
Install: Deliver the system to
ensure
the it is operational. customer
Maintain: and
Repair faults in the system as
they are discovered.
10 bilal mir
Software Life Cycle
Software life cycle (or software process):
Series of identifiable stages that a software product
undergoes during its life time:
Feasibility study
Requirements analysis and specification,
design,
coding,
testing
maintenance.
11 bilal mir
Software Life Cycle
A software life cycle model (or process model):
a descriptive and diagrammatic model
of software life cycle:
identifies all the activities required for
product development,
establishes a precedence ordering among the different
activities,
Divides life cycle into phases.
12 bilal mir
Software Life Cycle
Many life cycle models have been proposed.
We will confine our attention to a few
important and commonly used models.
classical waterfall model
spiral model
Evolutionary model
Prototyping model
13 bilal mir
Waterfall Process Model
14 bilal mir
Spiral Process Model
15 bilal mir