You are on page 1of 19

Chapter 1 – Introduction

Section 1

1
Software engineering

 Software is more than just a program code. A program is


an executable code, which serves some computational
purpose. Software is considered to be collection of
executable programming code, associated libraries and
documentations.
 Engineering on the other hand, is all about developing
products, using well-defined, scientific principles and
methods.
 Software engineering is an engineering branch
associated with development of software product using
well-defined scientific principles, methods and
procedures.
2
Software engineering

What is the difference between software engineering and


system engineering, computer science?
 Software engineering:
 Is an engineering discipline that is concerned with all aspects of
software production.
 System engineering:
 Is concerned with all aspects of computer-based systems
development including hardware, software and process
engineering. Software engineering is part of this more general
process.
 Computer science:
 Is concerned with the theories and methods that underlie
computers and software systems. 3
Software products

 Generic products
 Stand-alone systems that are marketed and sold to any
customer who wishes to buy them.
 Examples – PC software such as graphics programs, project
management tools; CAD software; software for specific markets
such as appointments systems for dentists.
 Customized products
 Software that is commissioned by a specific customer to meet
their own needs.
 Examples – embedded control systems, air traffic control
software, traffic monitoring systems.

4
Product specification

5
Software process activities

 Software specification
 Where customers and engineers define the software that is to be
produced and the constraints on its operation.
 Software development
 Where the software is designed and programmed.
 Software validation
 Where the software is checked to ensure that it is what the
customer requires.
 Software evolution
 Where the software is modified to reflect changing customer and
market requirements.

6
Essential attributes of good software

7
Essential attributes of good software

8
General issues that affect software

9
General issues that affect software

10
Software engineering diversity

11
Application types

12
Application types

13
Application types

14
Web-based software engineering

15
Web software engineering

16
Web software engineering

17
Software engineering ethics

18
Software engineering ethics

19

You might also like