CPSC3720:FinalExam

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/156

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.

157 Terms

1
New cards

There are universal notations, methods, or techniques for software engineering regardless of the type of software you are developing and the approach needed.

FALSE

2
New cards

According to the author, which are likely explanations for most software failures?

Increase system complexity; Failure to use software engineering methods

3
New cards

Select the essential attributes of good software.

Acceptability; Dependability; Maintainability

4
New cards

Which best describes embedded control systems?

Software control systems that control and manage hardware devices

5
New cards

Software engineering fundamentals applicable to all systems.

Managed/understood development process; Dependability/performance; Manage requirements; Use existing resources

6
New cards

Since the development of the internet, business applications are mostly monolithic single programs.

FALSE

7
New cards

Major change in web-based systems.

Software reuse is dominant

8
New cards

Areas of professional responsibility regarding ethics.

Competence; Intellectual property rights

9
New cards

Engineers should be aware of ethical issues even if not in a formal code.

TRUE

10
New cards

Where customers and engineers define the software & constraints.

Software Specification

11
New cards

Where software is designed and programmed.

Software Development

12
New cards

Where software is checked that it meets requirements.

Software Validation

13
New cards

Where software is modified for new requirements.

Software Evolution

14
New cards

Represents fundamental activities as separate phases.

Waterfall model

15
New cards

System developed as versions adding functionality.

Incremental Development

16
New cards

Approach relying on reusable components.

Integration and Configuration

17
New cards

Method used in safety-critical systems.

Waterfall

18
New cards

Stage of waterfall: "system's services... established with users."

Requirements analysis and definition

19
New cards

Appropriate systems for waterfall.

Embedded systems; Critical systems; Large software systems

20
New cards

Advantages of incremental over waterfall.

Reduced change cost; Easier customer feedback; Early delivery

21
New cards

Downside of incremental development.

System structure degrades as increments added

22
New cards

NOT a type of frequently reused software component.

Custom student project systems

23
New cards

Requirements engineering definition statement.

TRUE

24
New cards

Three main activities in requirements engineering.

Elicitation/analysis; Specification; Validation

25
New cards

Improving processes using maturity models.

Process Maturity Approach

26
New cards

Iterative development reducing overhead.

Agile Approach

27
New cards

Reason companies value rapid delivery.

Business climate changes quickly

28
New cards

Agile principles.

Individuals/interactions; Working software; Customer collaboration; Responding to change

29
New cards

Advantage of user stories: "easy for users to understand/critique."

Advantage

30
New cards

"They are liable to be incomplete."

Disadvantage

31
New cards

"Represent real situations."

Advantage

32
New cards

"Relationship to architecture unclear."

Disadvantage

33
New cards

Agile methods work only for large projects.

FALSE

34
New cards

Difficulty with test-first development.

Programmers may take shortcuts writing tests

35
New cards

Pair programming productivity is greater than sum of individuals.

TRUE

36
New cards

Scrum aspect disrupted by sudden remote work.

Stand-up meeting

37
New cards

Reasons to adopt plan-based methods when scaling agile.

Project planning; Requirements documentation; Design documentation; Risk management

38
New cards

Functional requirements definition.

Functional Requirements

39
New cards

Non-functional requirements definition.

Non-Functional Requirements

40
New cards

Natural language + diagrams for customers.

User Requirements

41
New cards

Detailed system descriptions for contract.

System Requirements

42
New cards

Ambiguities in ticket machine example.

Cards inserted early?; Cancel request?

43
New cards

First chapter of requirements document.

Preface

44
New cards

Example non-functional requirement.

System downtime < 5 minutes per day

45
New cards

Requirements engineering type used by agile.

Incremental

46
New cards

Stakeholders often don't know exactly what they want.

TRUE

47
New cards

Stakeholders of an ATM.

Bank customers; Other-bank customers; Bank employees

48
New cards

Closed interviews definition.

Predefined set of questions

49
New cards

Open interviews definition.

No set agenda

50
New cards

Guidelines for natural language requirements.

Avoid overly technical language; Standard format

51
New cards

Ambiguities do not greatly affect cost.

FALSE

52
New cards

User story template components.

Benefit; Role; Goal

53
New cards

Research questions from paper.

How practitioners perceive user stories; How practitioners use user stories

54
New cards

Stage 1 research method.

Survey

55
New cards

Stage 2 research method.

Interviews

56
New cards

First follow-up interview question.

Describe role of user stories

57
New cards

% respondents not using a template.

15%

58
New cards

Template users say user stories improve deliverable quality.

TRUE

59
New cards

Optional template section important for full benefit.

Benefit

60
New cards

Quality guidelines link to productivity.

TRUE

61
New cards

User stories improve what?

Productivity

62
New cards

Many practitioners are very negative about user stories.

FALSE

63
New cards

Architectural design overlaps with what?

Requirements engineering

64
New cards

Architecture in the small.

Architecture of individual programs

65
New cards

Architecture in the large.

Architecture of enterprise systems with subsystems

66
New cards

Advantages of architecture.

Stakeholder communication; System analysis; Large-scale reuse

67
New cards

Block diagrams are intuitive.

TRUE

68
New cards

Requirements architecture must satisfy.

Functional & Non-functional requirements

69
New cards

Match: Logical view.

Key abstractions as objects/classes

70
New cards

Match: Process view.

Runtime process interactions

71
New cards

Match: Development view.

Software decomposition for development

72
New cards

Match: Physical view.

Hardware layout

73
New cards

API definition.

Method allowing different code to communicate

74
New cards

Most common web API type.

REST

75
New cards

HTTP method to retrieve data.

GET

76
New cards

Status code for success.

200

77
New cards

NOT an API architecture style.

HTML

78
New cards

Partner API definition.

API accessible to orgs with relationship

79
New cards

Which API used for building accessibility information?

Web API

80
New cards

Request parameter definition.

Data modifying API response

81
New cards

What is a 500 error?

Server error

82
New cards

Query parameter definition.

Located after question mark

83
New cards

Program must be defect-free before delivery.

FALSE

84
New cards

Testing detects only presence of errors.

TRUE

85
New cards

Argument for developer testing: knowledge.

In-depth knowledge

86
New cards

Argument for developer testing: speed.

Immediate feedback

87
New cards

Argument against: bias.

Bias and familiarity

88
New cards

Argument against: specialization.

Specialization

89
New cards

Appropriate partitions for catWhiteSpace.

All options (middle, single blank, start/end)

90
New cards

Regression testing purpose.

Check changes didn't break previous code

91
New cards

COTS testing difference.

No access to primary source code

92
New cards

Best scenario for weather station testing.

Meteorologist overlaying cold fronts

93
New cards

Stress testing should degrade how?

Degrade slowly

94
New cards

Benefits of early user involvement.

Real-world feedback; Early bug detection

95
New cards

Ethical focus before release.

Customer trust in reputation

96
New cards

Businesses never need to change working software.

FALSE

97
New cards

Example urgent operational change.

Serious system fault

98
New cards

Problematic evolution situations.

Agile→Plan-based mismatch; Plan-based→Agile mismatch

99
New cards

Old systems still critical.

TRUE

100
New cards

NOT a reason replacing legacy systems is risky.

Creates new roles in org