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

Software Modeling and Analysis L1 1-1

The document discusses software engineering, defining it as an engineering discipline concerned with all aspects of software production. It notes that software engineering uses computer and software technologies as problem-solving tools, and focuses on areas like requirements, design, implementation, testing and maintenance. The document also discusses what constitutes good software, and why taking a systems approach to engineering is important given that software products are large and complex. It provides examples of both software successes and failures to highlight the challenges in developing reliable systems.

Uploaded by

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

Software Modeling and Analysis L1 1-1

The document discusses software engineering, defining it as an engineering discipline concerned with all aspects of software production. It notes that software engineering uses computer and software technologies as problem-solving tools, and focuses on areas like requirements, design, implementation, testing and maintenance. The document also discusses what constitutes good software, and why taking a systems approach to engineering is important given that software products are large and complex. It provides examples of both software successes and failures to highlight the challenges in developing reliable systems.

Uploaded by

Almon 5
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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