0% found this document useful (0 votes)
3 views

Lecture Two IT

Uploaded by

graeblac
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Lecture Two IT

Uploaded by

graeblac
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

1

Mbarara University of
Science and Technology

Lecture two

Course
Software Engineering
History of Software Design
and Development
 The pioneering era

 The origins

 The software crisis

2
Lecture Objectives
 Introduce software engineering and to
explain its importance
 Develop a broad understanding of the
software engineering domain

3
Student Activity
 What makes software so important?
 A software product’s impacts our life
 Behind the Scene Impact
 Think of non-computer related business
where software has a significant role

4
General Observations
 Software is used by virtually everyone in
society either directly or indirectly

 The economies of the world are depend


on software

5
Software Engineering
Definition
 Software Engineering is concerned with
theories, methods and tools for
professional software development

6
What is software?
 Computer programs and associated
documentation; such as
 requirements,
 design models; and
 user manuals
 Software products may be developed
for a particular customer or may be
developed for a general market

7
Software Types
 Generic - developed to be sold to a range of
different customers,
 e.g. PC software such as Word or Excel
 Custom - developed for a single customer
according to their specification
 Cooperative Solutions
 Starting with generic system and customizing it to
the needs of a particular customer.For example,
Resource Planning (ERP) system

8
Software’s Dual Role
 Software is a product
 Delivers computing potential
 Produces, manages, acquires, modifies, displays, or
transmits information
 Software is a vehicle for delivering a product
 Supports or directly provides system functionality
 Controls other programs (e.g. operating systems)
 Effects communications (e.g. networking software)
 Helps build other software (e.g. software tools)

9
Software Characteristics
 To date, most software is still custom
build.
 Different to hardware manufacturing
process.
 However, software industry is moving
towards component-based development
 Software does not wear out,
 but it does deteriorate

10
Hardware Failure
Failure Rate

Infant Mortality Wear Out

Time
11
Software Failure (Ideal)
Failure Rate

Infant Mortality

Time
12
Software Failure (Realistic)
Increased Failure
Failure Rate
Rate due to side Effects

Actual

Change

Time
13
Software Applications
 No clear breakdown of application types,
following are some generally accepted
overlapping categories
 System software
 Real-time software
 Business information software
 Engineering & scientific software
 Embedded software
 Personal application software
 Communication software

14
Attributes of a Good Software
 It is not enough just to produce software
 Software should deliver the required
functionality
 Software should have the appropriate
product characteristics
 The relative importance of these
characteristics varies from from product to
product

15
Attributes of a Good Software

Cost

Performance
16
Attributes of a Good Software
 Maintainability
 Software must evolve to meet changing needs;
 Dependability
 Software must be trustworthy; e.g. reliability,
security, safety.
 Efficiency
 Software should not make wasteful use of system
resources;

17
Attributes of a Good Software
 Usability
 Software must accepted by the users for
what it was designed.
 Appropriate user interface & adequate
documentation.

18
Essential Attributes of Good Software
Often referred to as "Quality Metrics"
Sometimes called "Non-Functional
Requirements"
Product characteristic Description

Maintainability Software should be written in such a way so that it can evolve to meet
the changing needs of customers. This is a critical attribute because
software change is an inevitable requirement of a changing business
environment.

Dependability and security 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. Efficiency therefore includes
responsiveness, processing time, memory utilisation, etc.

Acceptability 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.
19
Important Questions
 Why does it takes so long to get
software finished?
 Why are development costs so high?
 Why can’t we find all errors before we
give the software to our customers?
 Why do we spend much time and effort
in maintaining existing programs?

20
Software Development
Process
 A set of activities whose goal is the
development or evolution of software.
 Generic activities in all software processes
are
 Specification - what the system should do and its
development constraints
 Development - production of the software system
 Validation - checking that the software is what the
customer wants
 Evolution - changing the software in responses to
changing demands
21
Software Process Model
 A simplified representation of a software
process, presented from a specific
perspective.
 Examples of process perspectives are
 Workflow - sequence of activities
 Data-flow - information flow
 Role/action - who does what

22
Key Points
 Software engineering is an engineering
discipline that is concerned will all aspects of
software production
 Software production consist of developed
programs and associated documentation.
 Basic software activities are software
specification, development, validation and
evolution.

23

You might also like