1. Overview Objectives FAQs about software engineering Ethical and professional issues SW...

32
1

Transcript of 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW...

Page 1: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

1

Page 2: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

OverviewObjectivesFAQs about software engineeringEthical and professional issuesSW engineering vs. Systems

AnalysisCourse Syllabus

2

Page 3: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

ObjectivesIntroduce what software engineering is and

why it is importantUnderstand ethical and professional issues

that are important for software engineersUnderstand the relation between this

course and the systems analysis and designView of topics to be discussed this course

3

Page 4: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

Class Activity: Technology and us

With your team write down a list of everyday devices we use that contain software?

4

Page 5: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

Software development crisesProjects were: LateOver budgetUnreliable Difficult to maintainPerformed poorly

5

Page 6: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

Software errors... the cost

Errors in computer software can have devastating effects

6

Page 7: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

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

Page 8: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

8

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

Page 9: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

Ariane 5 ExplosionCaused by an

overflow error. Watch the video

http://www.youtube.com/watch?v=z-r9cYp3tTE

9

Page 10: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

10

A well-disciplined approach to software development and

management is necessary. This is called engineering.

Page 11: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

Software engineeringThe notion of software engineering was first proposed in 1968.

11

Page 12: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

12

Page 13: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

What is software?

Software is a product that software engineers design and build

It encompasses programs, documents, and data

Data Documents

Programs

Software

13

Page 14: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

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

Page 15: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

Software Types

There are two types of software products

Generic productsCustomized or bespoke products

15

Page 16: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

What is the difference between software engineering and computer science?

Computer science Theory and fundamentals

Software engineering Practicalities of delivering useful

softwareSoftware engineers need computer

science knowledge

16

Page 17: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

What is the difference between software engineering and system engineering?

System engineering Hardware + Software + ProcessOlder than software engineering

Software engineering is part of system engineering

17

Page 18: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

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

Page 19: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

What is a Software Process Model?A simplified description of a SW process that

presents one view of that process

Examples of process perspectives areWorkflow 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

Page 20: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

What is a Software Process Model?

20

Page 21: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

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

Page 22: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

Software engineering activity cost distribution

22

Waterfall model

Iterative development

Component-based software engineering

Development and evolution costs for long-lifetime systems

System evolution

10 200 30 4000

System development

Specification Design Development Integration and testing

25 50 75 1000

Specification Development Integration and testing

25 50 75 1000

Specification Iterative development System testing

25 50 75 1000

Page 23: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

What are software engineering methods?

Structured approaches to software development which include system models, notations, rules, design advice and process guidance.

Model descriptionsDescriptions 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

Page 24: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

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

Page 25: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

What are the attributes of good software?

Some essential attributes :

25

Page 26: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

26

What are the key attributes for..

Page 27: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

What are the key challenges facing software engineering?

27

Page 28: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

Professional and Ethical responsibility

Please read from the book section 1.2 pages 14-17

28

Page 29: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

SW engineering vs. Systems Analysis

29

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.

Page 30: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

SW Engineering vs. Systems Analysis and Design

30

Page 31: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

Syllabus

31

Page 32: 1. Overview Objectives FAQs about software engineering Ethical and professional issues SW engineering vs. Systems Analysis Course Syllabus 2.

References1. 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