Introduction To Software Engineering
Introduction To Software Engineering
Software Engineering
Lecture 3
Introduction to Software
Engineering
1
Lecture Objectives
Software Myths.
Software Engineering Challenges.
What is a software process?
Generic framework activities.
2
Important Question
Why do we continue to have difficulty in
software development projects?
3
London Ambulance Service
Case Study
Automatic Vehicle
Location System
Computer Server
Aided
Ambulance Dispatch Server
Radio
Communication
Infrastructure
4
Software Myths
Affect managers, stakeholders, and
practitioners.
Are believable because they often have
elements of truth.
but…
Invariably lead to bad decisions,
therefore….
Insist on reality as you navigate your way
5
Management Myths
‘We already have books full of
standards and procedures for building
software. That will provide my people
with everything they need to know’.
‘My people do have state-of-the-art
software development tools. After all,
we buy them the latest computers’.
6
Management Myths
‘If we get behind schedule we can add
more programmers and catch up’.
‘If I decide to outsource the software
project to a third party, I can just relax
and let that firm build it.
7
Customer Myths
‘A general statement of objectives is
sufficient to begin writing software - we
can fill in the details later’.
‘Project requirements continually
change but change can be easily
accommodated because software is
flexible’.
8
Practitioner’s Myths
‘Once we write the program and get it to
work our job is done’.
‘Until I get the program running I really
have no way of assessing its quality’.
‘The only deliverable for a successful
project is the working program’.
9
Key Challenges
Heterogeneity
Developing techniques for building software that
can cope with heterogeneous platforms and
execution environments;
Delivery
Developing techniques that lead to faster delivery
of software;
Trust
Developing techniques that demonstrate that
software can be trusted by its users.
10
Key Challenges
An accompanying shift from a concern
with whether a system will work
towards how well it will work.
Components are selected and
purchased ‘off the shelf’ (COTS) with
development effort being refocused on
configuration and interoperability.
11
How a Project Starts?
Every software project is precipitated by
some business need
Need to correct a defect in an existing
application.
Need to adapt a legacy system to a
changing business environment.
Need to extend the functions and features
of an existing application.
Need to create a new product or system.
12
A Layered Technology
Software Engineering
tools
methods
process model
a “quality” focus
13
A Software Process
Umbrella Activities
Activity # 1
Work tasks
Milestones & deliverable
QA check points
Activity # 2
Process Framework
14
The software process
A structured set of activities required to
develop a software system
Specification;
Design;
Validation;
Evolution.
15
Umbrella Activities
Software project management.
Formal technical reviews.
Software quality assurance.
Measurements.
Risk management.
16
Software Process - Software
Life Cycle
Allows us to examine,
Understand, control and
improve activities
17
Key Points
Approaches which work for constructing
small programs for personal use do not
scale-up to the challenges of real
software construction.
Software processes are the activities
involved in producing and evolving a
software system.
18