343 Chapter 3 Engineering Software

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/89

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

90 Terms

1
New cards

What happens when size and complexity of software projects increase?

Failed Projects Increase

2
New cards

What is “Engineering” software”?

  • Put some discipline into “programming”

  • Do more than just coding/programming

  • ‘Study’ (mode/measure), ‘Understand’ (analyze) and ‘Improve’ (Change) this field

3
New cards

What year was The CHAOS report published?

1995

4
New cards

Who published The CHAOS report?

The Standish Group

5
New cards

How many software projects were sampled in The CHAOS report?

365

6
New cards

What percentage of projects are “completed”, “on-time”, and “within-budget” according to The CHAOS report (1995)?

16%

7
New cards

What percentage of projects are “completed”, “on-time”, and “within-budget” according to The CHAOS report (2009)?

32%

8
New cards

What percentage of projects are “completed”, “on-time”, and “within-budget” according to The CHAOS report (2014)?

39%

9
New cards

What percentage of projects are “Late”, “over-budget”, and “less-functionality” according to The CHAOS report (2014)?

43%

10
New cards

What are the most important reasons for project success?

  1. User involvement

  2. Executive management support

  3. Clear requirement statements

  4. Proper planning

11
New cards

What are the reasons of failure for challenged projects?

  1. Lack of user input

  2. Incomplete requirements and specifications

  3. Changing Requirements and specifications

sadw

12
New cards

What are the reasons cited for failure of the projects that are impaired and cancelled?

  1. Incomplete requirements

  2. Incomplete requirements and specifications

  3. Changing requirements and specifications

13
New cards

Percentage of Requirement errors

12.50%

14
New cards

Percentage of Design Errors?

24.17%

15
New cards

Percentage of Code Errors?

38.33%

16
New cards

Percentage of Documentation Errors?

13.33%

17
New cards

Percentage of Bad-Fix Errors?

11.67%

18
New cards

Fixing a requirements error is usually-

More expensive

19
New cards

Why is a requirement error more expensive?

They may turn into several design and coding problems

20
New cards

(per A.P.) As systems grow more complicated failures-

have far less technical explanations (bad management, communications, or training)

21
New cards

Large endeavors involve what complex factors?

  • Executive commitments and leadership

  • Thorough planning of both business and technical processes

  • Skilled and experienced consultants

  • relentless management focus and monitoring of the project

  • willingness to change and make adjustments when required

22
New cards

What strategies were cited as key to ensuring the delivery of high-quality software on time and within budget?

  1. Focused attention on the software development environment(s)

  2. Disciplined development processes

  3. methodical usage of metrics to gauge cost, schedule, and performance targets

23
New cards

What did need for more “discipline” lead to?

Software Engineering

24
New cards

When was the term Software Engineering introduced?

1968 (NATO conference)

25
New cards

Software Engineering Definition (David Parnas)

a multiperson construction of multiversion software

26
New cards

Software Engineering Definition (Ian Sommerville)

an engineering discipline whose focus is the cost-effective development of high-quality software systems

27
New cards

Software Engineering Definition (Shari Pfleeger)

the application of computing tools to solving problems

28
New cards

Software Engineering Definition (F.L. Bauer)

The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and works on real machines

29
New cards

Software Engineering Definition (CMU/SEI-90- TR-003)

form of engineering that applies the principles of computer science and mathematics to achieving cost-effective solutions to software problems.

30
New cards

Software Engineering Definition (IEEE std 610-1990)

The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.

31
New cards

Software Engineering is a broad field that touches upon ___ and ___ a software system.

  • developing

  • supporting

32
New cards

What does Software engineering span?

  1. Techini8cal and business processes

  2. specific methodologies and techniques

  3. product characterization and metrics for measurements

  4. people skills and team work

  5. project coordination and management

33
New cards

How much money did software make in 2000

$180 billion

34
New cards

Why is software a serious business

It is ubiquitous across multiple industries

35
New cards

Software is a commodity of ___ “value”

increasing

36
New cards

Software has graduated from a “garage” operation to an-

“enterprise” profession

37
New cards

We need to treat software engineering as an-

engineering profession

38
New cards

How many universities received accreditation from accreditation board of engineering and technology (2009)

15

39
New cards

No equivalent “professional engineer” designation for-

Software engineers (expect texas)

40
New cards

How much money did software make in 2013 (Gartner report)

$407 Billion

41
New cards

How many universities received accreditation from accreditation board of engineering and technology (2014)

22

42
New cards

How many principles are in in Ethics and professional practices in software engineering (via The IEEE-CS/ACM Version 5.2)

8

43
New cards

(The IEEE-CS/ACM Version 5.2) Principle 1

Software engineers shall act consistently with the public interest

44
New cards

(The IEEE-CS/ACM Version 5.2) Principle 2

Software engineers shall act in a manner that is in the best interests of their client and employer, consistent with the public interest

45
New cards

(The IEEE-CS/ACM Version 5.2) Principle 3

Software engineers shall ensure that their products and related modifications meet the highest professional standards possible

46
New cards

(The IEEE-CS/ACM Version 5.2) Principle 4

Software engineers shall maintain integrity and independence in their professional judgment

47
New cards

(The IEEE-CS/ACM Version 5.2) Principle 5

Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance

48
New cards

(The IEEE-CS/ACM Version 5.2) Principle 6

Software engineers shall advance the integrity and reputation of the profession consistent with the public interest

49
New cards

(The IEEE-CS/ACM Version 5.2) Principle 7

Software engineers shall be fair to and supportive of their colleagues

50
New cards

(The IEEE-CS/ACM Version 5.2) Principle 8

Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession

51
New cards

What are the set of Behavioral rules?

  • Respect others

  • strive for fairness

  • perform to one’s best capability

  • Follow the law

52
New cards

What makes software engineering different from other disciplines?

There is no one set of universal principles that is agreed to by everyone.

53
New cards

What are the well-received/respected principles?

  • Davis’s Principles

  • Royce’s principles

  • Wasserman’s Concepts

54
New cards

How many principles are in Davis’s?

15

55
New cards

(Davis’s Principles) Principle 1

Make quality number 1

56
New cards

(Davis’s Principles) Principle 2

High-quality software is possible

57
New cards

(Davis’s Principles) Principle 3

Give products to customers early

58
New cards

(Davis’s Principles) Principle 4

Determine the problem before writing the requirements

59
New cards

(Davis’s Principles) Principle 5

Evaluate design alternatives

60
New cards

(Davis’s Principles) Principle 6

Use an appropriate process model

61
New cards

(Davis’s Principles) Principle 7

Use different languages for different phases

62
New cards

(Davis’s Principles) Principle 8

Minimize intellectual distances

63
New cards

(Davis’s Principles) Principle 9

Put techniques before tools

64
New cards

(Davis’s Principles) Principle 10

Get it right before you make it faster

65
New cards

(Davis’s Principles) Principle 11

Inspect code

66
New cards

(Davis’s Principles) Principle 12

Good management is more important than good technology

67
New cards

(Davis’s Principles) Principle 13

People are the key to success

68
New cards

(Davis’s Principles) Principle 14

Follow with care

69
New cards

(Davis’s Principles) Principle 15

Take responsibility

70
New cards

How many principles are stated in Royce’s More Modern Principles?

10

71
New cards

(Royce’s More Modern Principles) Principle 1

Base the process on an architecture first approach

72
New cards

(Royce’s More Modern Principles) Principle 2

Establish iterative process—address risk early

73
New cards

(Royce’s More Modern Principles) Principle 3

Emphasize component-based development to reduce effort

74
New cards

(Royce’s More Modern Principles) Principle 4

Establish change management

75
New cards

(Royce’s More Modern Principles) Principle 5

Use round-trip engineering—a form of iterative process

76
New cards

(Royce’s More Modern Principles) Principle 6

Use model-based and machine processable notations for design

77
New cards

(Royce’s More Modern Principles) Principle 7

Establish process for quality control and project assessment

78
New cards

(Royce’s More Modern Principles) Principle 8

Use approach that allows artifacts to be demonstrated early

79
New cards

(Royce’s More Modern Principles) Principle 9

Plan to have incremental releases

80
New cards

(Royce’s More Modern Principles) Principle 10

Establish a configurable process to suit the needs

81
New cards

How many concepts are in Wasserman’s Fundamentals?

8

82
New cards

(Wasserman’s Fundamentals Concepts) Concept 1

Abstraction (a form of simplification)

83
New cards

(Wasserman’s Fundamentals Concepts) Concept 2

Analysis and design methods and notation

84
New cards

(Wasserman’s Fundamentals Concepts) Concept 3

User interface prototyping

85
New cards

(Wasserman’s Fundamentals Concepts) Concept 4

Modularity and architecture

86
New cards

(Wasserman’s Fundamentals Concepts) Concept 5

Reuse

87
New cards

(Wasserman’s Fundamentals Concepts) Concept 6

Life cycle and process

88
New cards

(Wasserman’s Fundamentals Concepts) Concept 7

Metrics

89
New cards

(Wasserman’s Fundamentals Concepts) Concept 8

Tools and integrated environment

90
New cards

What are the key strategies to ensuring delivery of high-quality software, on time, and within budget

  1. Focused attention on software development environment(people/tools/management/etc.)

  2. “Disciplined” Development processes

  3. Methodical use of metrics to gauge cost, schedule, and functional performance targets

Explore top flashcards