You are on page 1of 15

Software Engineering

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

•Software Engineering is the science and


art of building significant software
systems that are:
1) on time
2) on budget
3) with acceptable performance
4) with correct operation.

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

You might also like