Vous êtes sur la page 1sur 32

1

Overview
 Objectives
 FAQs about software engineering
 Ethical and professional issues
 SW engineering vs. Systems Analysis
 Course Syllabus

2
Objectives
 Introduce what software engineering is and why it is
important
 Understand ethical and professional issues that are
important for software engineers
 Understand the relation between this course and the
systems analysis and design
 View of topics to be discussed this course

3
Class Activity: Technology and us

With your team write down a list of


everyday devices we use that contain
software?

4
Software development crises
Projects were:
 Late
 Over budget
 Unreliable
 Difficult to maintain
 Performed poorly
5
Software errors... the cost
Errors in computer software can
have devastating effects

6
CNN: Computer glitch delays dozens of
UK flights
Saturday 3rd October 2009-London, England (CNN)
Dozens of flights from the UK were delayed Saturday after
a glitch in an air traffic control system in Scotland, but
the problem was fixed a few hours later.
The agency said it reverted to backup equipment as
engineering worked on the system.
The problem did not create a safety issue but could cause
delays in flights.
Read more at
http://edition.cnn.com/2009/WORLD/europe/10/03/uk.flights.delayed

7
Loss of the Mars Climate
orbiter in 1999 because an
error in a Metric to English
conversion formula (pounds
and Kilograms)[1]

8
Ariane 5 Explosion
 Caused by an overflow
error.
 Watch the video
http://www.youtube.co
m/watch?v=z-
r9cYp3tTE

9
Therefore..
A well-disciplined approach to
software development and
management is necessary. This is
called engineering.

10
Software engineering
The notion of software
engineering was first proposed
in 1968.

11
12
What is software?
 Software is a product Programs

that software engineers


design and build
 It encompasses Software

programs, documents,
and data Data Documents

13
What is Software Engineering?
“An engineering discipline that is
concerned with all aspects of software
production from the early stages of system
specification to maintaining the system after
it has gone into use” [4]

14
Software Types
There are two types of software
products
 Generic products
 Customized or bespoke products

15
What is the difference between software
engineering and computer science?

 Computer science
Theory and fundamentals
 Software engineering
Practicalities of delivering useful software
 Software engineers need computer science
knowledge

16
What is the difference between software
engineering and system engineering?

System engineering
Hardware + Software + Process
Older than software engineering

Software engineering is part of system


engineering

17
What is a Software Process?
 Set of activities and associated results that produce a
software product.
 There are four fundamental activities common to all
software process models
 SW specification:
 What does the customer need “Requirements”?
 What are the constraints?
 SW development
 Design & programming
 SW validation:
 Checking whether it meets requirements
 SW evolution :
 Modifications (e.g. customer/market)

18
What is a Software Process Model?
 A simplified description of a SW process that presents
one view of that process

 Examples of process perspectives are


 Workflow perspective
 Sequence of activities: Human Actions
 What is input, output, and dependencies

 Data-flow perspective - information flow;


 Activities = transformations of information
 How the input is transformed into output

 Role/action perspective
 What is the role of people step of the process?

19
What is a Software Process Model?

20
What are the costs of SW
engineering?
 No simple answer, depends on :
 The process used, and
 The type of software being developed
 Each generic approach has a different profile of
cost distribution.
 Roughly 60% of costs are development costs, 40%
are testing costs.
 For custom software, evolution costs often exceed
development costs.

21
Software engineering activity cost
distribution
Wat erfall mo del
0 25 50 75 100

Specificat io n Design Develo pm ent In t egrat io n an d t est i ng

It erat ive develo pm ent

0 25 50 75 1 00

Specificat io n It erat ive develo pm ent Sy st em t est in g

Co m po nent -based soft ware eng in eeri ng

0 25 50 75 1 00

Specificat io n Develo pm ent In t egrat io n an d t est i ng

Develo pm ent an d evo lut ion cost s for l on g-l ifet im e syst em s
0 10 20 0 30 400

Sy st em develo pm ent Sy st em ev olut io n

22
What are software engineering
methods?
 Structured approaches to software development which
include system models, notations, rules, design advice
and process guidance.
 Model descriptions
 Descriptions of graphical models which should be produced;
 Rules
 Constraints applied to system models;
 Recommendations
 Advice on good design practice;
 Process guidance
 What activities to follow.

23
What is CASE?
 CASE (Computer Aided
Software Engineering)
 Programs used to
support software process
activities such as system
modeling, debugging,
and testing
 Some CASE tools include
automatic code
generation from
diagrams.

24
What are the attributes of good
software?
Some essential attributes :

25
Activity
What are the key attributes for..

26
What are the key challenges facing
software engineering?

27
Professional and Ethical
responsibility
Please read from the book section 1.2 pages 14-17

28
SW engineering vs. Systems Analysis
 What you studied in System Analysis course
constitutes part of software engineering.
 Software Engineering is a broader subject.
 To be a software engineer, you must master
several skills, one of which is analysis and
design.

29
SW Engineering vs. Systems Analysis and
Design

30
Syllabus

31
References
1. PRESS&SUN-BULLETIN, The Binghamton Press Co., Binghamton, NY,
October 1,1999.
2. “Software Hell: Is there a way out?”, BUSINESS WEEK, December 6, 1999.
3. IEEE Standards Collection: Software Engineering, IEEE standard 610.12-1990,
IEEE 1993.
4. Sommerville, Ian “Software Engineering”, 8th edition, Addison-Wesley.

32

Vous aimerez peut-être aussi