You are on page 1of 17

What is Software Engineering?

1.1 What is Software Engineering?

1.2 What Is Good Software?

1.3 A System Approach & Engineering Approach

1 Faculty of Information Science


Learning Objectives

✓ To understand what software engineering is and why it is important

✓ To know software engineering’s track record

✓ To know what we mean an error, a fault and a failure?

✓ To understand what we mean by good software?

✓ To understand why system approach is important

2 Faculty of Information Science


What is Software Engineering?

1.1 What is Software Engineering?

1.2 What Is Good Software?

1.3 A System Approach & Engineering Approach

3 Faculty of Information Science


1.1 What is Software Engineering?

What is Software

➢ Software is instructions (Computer programs)


that when executed provide desire feature,
function, performance

4 Faculty of Information Science


1.1 What is Software Engineering?

❖There are two fundamental types of software products:

Generic products : These are stand-alone systems


that are produced by a development organization and
sold on the open market to any customer who is able
to buy them.

Customised products : These are systems which are


commissioned by a particular customer. A software
contractor develops the software especially for that
customer.

5 Faculty of Information Science


1.1 What is Software Engineering?

➢ Software Engineering is an engineering discipline


which is concerned with all aspects of software
production.

6 Faculty of Information Science


1.1 What is Software Engineering?

Solving Problem

Software products are large and complex

Development requires analysis and synthesis

7 Faculty of Information Science


1.1 What is Software Engineering?

Solving Problem

Analysis: decompose a large Synthesis: build (compose) a


problem into smaller, software from smaller
understandable pieces building blocks

• abstraction is the key • composition is challenging

8 Faculty of Information Science


1.1 What is Software Engineering?

The analysis process

9 Faculty of Information Science


1.1 What is Software Engineering?

The synthesis process

10 Faculty of Information Science


1.1 What is Software Engineering?
Solving Problem(continued)

Method: refers to a formal procedure; a formal “recipe” for


accomplishing a goal that is typically independent of the tools used

Tool: an instrument or automated system for accomplishing


something in a better way

Procedure: a combination of tools and techniques to produce a


product

Paradigm: philosophy or approach for building a product (e.g., OO


vs structured approaches)
11 Faculty of Information Science
1.1 What is Software Engineering?

Where Does the Software Engineer Fit In?

Computer science: focusing on computer hardware,


compilers, operating systems, and programming languages

Software engineering: a discipline that uses computer and


software technologies as a problem-solving tools

12 Faculty of Information Science


1.1 What is Software Engineering?

❖ Relationship between computer science and software engineering

13 Faculty of Information Science


1.1 What is Software Engineering?

How Successful Have We Been?

➢ Perform tasks more quickly and effectively Word


processing, spreadsheets, e-mail
➢ Support advances in medicine, agriculture,
transportation, multimedia education, and most
other industries
➢ Many good stories
➢ However, software is not without problems

14 Faculty of Information Science


1.1 What is Software Engineering?
How Successful Have We Been?

A fault: occurs when a human makes a mistake, called an


error, in performing some software activities

A failure: is a departure from the system’s required behaviour

15 Faculty of Information Science


1.1 What is Software Engineering?

Examples of Software Failure

➢ IRS hired Sperry Corporation to build an automated


federal income tax form processing process
• An extra $90 M was needed to enhance the original
$103 product
• IRS lost $40.2 M on interests and $22.3 M in
overtime wages because refunds were not returned
on time
➢ Malfunctioning code in Therac-25 killed several people

16 Faculty of Information Science


1.1 What is Software Engineering?
Examples of Software Failure

Reliability
constraints have Safety-critical:
caused something whose
cancellation of failure poses a
many safety threat to life or
critical systems health

17 Faculty of Information Science

You might also like