Top Banner
Soft. Eng. I Dr Driss Kettani 1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1
25

Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 1

CSC-3324: Chapter I

Introduction and definition

Reading: I. Sommerville, Edition 7, Chap. 1

Page 2: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 2

What is Software Engineering?

What is

it ?

Page 3: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 3

What is SE ?

Software engineering is concerned with theories,

methods and tools for professional software

development

Analyzing, Designing, Implementing and maintaining

software systems in a formal, transparent,

predictable and cost effective way…

Software + Engineering

Page 4: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 4

Why do we need Software Engineering?

Why SE ?

Page 5: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 5

Facts and Statistics…

23% of all projects undertaken by internal information systems organizations are cancelled before their completion

49% of projects cost 189% of their original estimates

Only 28% of projects are completed on time and within budget

Projects completed have 42% of the originally proposed features or functions.

Page 6: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 6

Facts and Statistics…

A poorly programmed ground-based altitude warning system was partly responsible for the 1997 Korean Air crash in Guam… Causing the kill of 228 people

The US$165M Mars Polar Lander probe was destroyed in its final descent to the planet in 1999, because its software shut the engines off 100 feet above the surface…

Faulty software in anti-lock brakes forced the recall of 39 000 trucks and tractors and 6000 school buses in 2000…

Page 7: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 7

Facts and Statistics…

$275 Billion Money spent on software development every year in

the US alone (2004) $70 Billion

The economic damage caused by software bugs $25 Billion

The expected sum the industry could save if it used better software infrastructure

Some examples from Morocco (2005): Biometric system: 300MDH (Cogent) + 900MDH

(Thalès) Government: 550MDH

Page 8: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 8

Why do we need Software Engineering?

The economy of the world is dependent on software... And, Software

engineering expenditure represents a significant fraction of GNP of

many countries…

More and more systems are software controlled...

Many important aspects of YOUR life depend on software

engineering

Why SE ?

Page 9: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 9

This is your world:

Your Interest as a Programmer

Page 10: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 10

Your Interest as a Software Engineer

A programmer is part of a subsystem team:

Page 11: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 11

Your Interest as a Software Engineer

A programmer is part of a subsystem team, which is part of a team:

Page 12: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 12

Your Interest as a Software Engineer

A programmer is part of a subsystem team, which is part of a team, which is part of a Project/Company:

Page 13: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 13

Your Interest as a Software Engineer

This is a program:

Page 14: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 14

Your Interest as a Software Engineer

It is part of a subsystem:

Page 15: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 15

Your Interest as a Software Engineer

It is part of a subsystem, which is part of a system:

Page 16: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 16

The main concern of SE ?

Software engineering is concerned with the final

product and the development process…

Page 17: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 17

What is a software product?

???

Page 18: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 18

Software product attributes

Maintainability It should be possible for the software to evolve to meet

changing requirements Dependability

The software should not cause physical or economic damage in the event of failure (Reliability, Security and Safety)

Efficiency The software should not make wasteful use of system

resources Usability

Software should have an appropriate user interface and documentation

Page 19: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 19

What is a software process ?

Structured set of activities (steps) required to

develop a software system...

Activities vary depending on the organization

and the type of system being developed…

Usually: Specifications, Programming, Validation

and Evolution

Models of SE process…

Page 20: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 20

Process attributes

Understandability: Is the process defined and understandable?

Visibility: Is the process progress externally visible

Supportability: Can the process be supported by CASE tools?

Acceptability: Is the process acceptable to those involved in it?

Reliability:Are process errors discovered before they result in

product errors?

Rapidity: How fast can the system be produced?

Page 21: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 21

Professional and ethical responsibility

Software engineering involves wider

responsibilities than simply the application of

technical skills.

Software engineers must behave in an honest and

ethically responsible way if they are to be

respected as professionals.

Ethical behaviour is more than simply upholding

the law.

Page 22: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 22

Issues of professional responsibility

Confidentiality Engineers should normally respect the confidentiality

of their employers or clients irrespective of whether or

not a formal confidentiality agreement has been

signed…

Competence Engineers should not misrepresent their level of

competence. They should not knowingly accept work

which is outwith their competence…

Page 23: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 23

Issues of professional responsibility

Intellectual property rights Engineers should be aware of local laws governing

the use of intellectual property such as patents, copyright, etc. They should be careful to ensure that the intellectual property of employers and clients is protected.

Computer misuse Software engineers should not use their technical

skills to misuse other people’s computers. Computer misuse ranges from relatively trivial (game playing on an employer’s machine, say) to extremely serious (dissemination of viruses).

Page 24: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 24

ACM/IEEE Code of Ethics

The professional societies in the US have cooperated to produce a code of ethical practice.

Members of these organisations sign up to the code of practice when they join.

The Code contains eight Principles related to the behaviour of and decisions made by professional software engineers, including practitioners, educators, managers, supervisors and policy makers, as well as trainees and students of the profession.

Page 25: Soft. Eng. IDr Driss Kettani1 CSC-3324: Chapter I Introduction and definition Reading: I. Sommerville, Edition 7, Chap. 1.

Soft. Eng. I Dr Driss Kettani 25

Miscellaneous…

Sensors election…

About the projects…

Team composition… Members: 3 to 4 students…

Deadline: Sept. 10th at/before class time

Projects proposal… Around one page that

contains the project title and description and the

client name, address and phone number…

Deadline: Sept. 14th 2007 at/before class time