Midterm Flashcards

1
Q

What is the definition of Software Engineering? (use IEEE)

A

Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software and the study of it

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Software engineering is concerned with BIG programs. name 7 central themes of Software engineering

A
Mastering complexity
Software evolves
Efficiency is of crucial importance
You do it as a team
Software has to support its users effectively
Involves different disciplines
SE is a balancing act
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

T/F If a software component works perfectly well in one environment, if should do so in another?

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

T/F The introduction of the term of Software Engineering was in a NATO conference in 1968/1969.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

T/F We should include a feasibility study in the Requirement Engineering.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

T/F Verification is “are we building the right system”?

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

T/F We should start testing activities in phase 1, on day 1, even if there is no source code yet.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

T/F In 40-20-40 rule, maintenance counts for one of the 40.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

T/F Perfective maintenance adapts to changes in the environment (both hardware and software).

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

T/F Manager of a software company should promote productivity and sacrifice quality and ethical approach a little bit if needed, because software engineering is a balancing act.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

T/F In the context of Software Engineering, SaaS stands for Software as a Service.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

T/F Build software component with and for reuse.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

T/F Define software artifacts rigorously

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

T/FEstablish a software process that provides flexibility.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

T/F Manage quality as informal as possible.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

T/F Don’t limit software components interaction, and don’t control complexity with multiple perspectives and multiple levels of abstraction.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

T/F Produce software in a stepwise fashion

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

T/F Prevent change in software development process

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

T/F Tradeoffs are inherit, so make them explicit and document them

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

T/F Uncertainty is unavoidable, so identify and manage it.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

T/F Software engineering is a balancing act. Solutions are not right or wrong; at most they are better or worse.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

T/F To improve design, study previous solutions to similar problems.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

T/F Set quality objectives for each deliverable product.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

T/F We cannot use quantitative measurements in decision-making, because it is not possible.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

T/F As the deadline of the due date is approaching, we need to add more people in the team to speed it up.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

T/F Agile projects do less planning than document-driven projects that means documentation is not important at all.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

T/F Quality has to be designed in, and is not an afterthought

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

T/F Waterfall model is a good choice if the complete requirement is known accurately upfront.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

T/F The V-Model is not a waterfall model

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

T/F Agile process prefer working software over comprehensive documentation.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

T/F Agile process prefer following a plan to respond to change.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

T/F We should never throw away a prototype, because we already spent money and time on it.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

T/F Requirement elicitation through prototyping is a good strategy.

A

True

34
Q

T/F Prototyping could result a higher quality product, it may result a low quality product as well.

A

True

35
Q

T/FIn prototyping, we do not need to plan anything upfront in order to respond quickly to changes.

A

False

36
Q

T/F We can introduce changes in backlog as well as sprint in SCRUM process.

A

False

37
Q

T/F In SCRUM, demo is delivered internally in the company without the customers involved.

A

False

38
Q

T/F In XP, programmer are under high pressure to deliver code, since refactoring is time consuming, let’s postpone it until later stage.

A

False

39
Q

T/F In test-driven development, let’s write the code first then test it.

A

False

40
Q

T/F In XP, we should perform unit testing daily.

A

True

41
Q

T/F In XP, when deadline of demo is approaching, we should work overtime to get the code done.

A

False

42
Q

T/F In XP, collective code ownership is not applied.

A

False

43
Q

T/F JRP and JAD are two important elements in RAD.

A

True

44
Q

T/F In RAD, MoSCow stands for must have, should have, could have, and would have.

A

False

45
Q

T/F In RUP, Requirements, Analysis and Design, Deployment, and Configuration and Change Management belong to engineering disciplines.

A

False

46
Q

T/F In DSDM, time box is fixed. So, if needed, functionality is sacrificed.

A

True

47
Q

T/F Configuration items includes source code modules, test cases, requirements specification, the user manuals, etc., So they are the same as base lines.

A

False

48
Q

T/F Configuration management is about keep track of changes.

A

False

49
Q

T/F We should ensure that every change to the baseline (change request - CR) is properly authorized and executed.

A

True

50
Q

T/F We should support configuration management by powerful tools.

A

True

51
Q

T/F Change request is refer to change to base line.

A

True

52
Q

T/F In XP, CRC card is used in design phase.

A

True

53
Q

What is the result of requirement engineering?

A

A complete description of the problem to be solved and the requirements.

(
-A description of the desired system
-which functions
-possible extensions
-required documentation
-performance requirements
)
54
Q

What is a feasibility study?

A

the purpose is to asses whether there is a solution to the problem which is both economically and technically feasible.

55
Q

The document in which the results of requirements engineering is called ____.

A

Requirements specification.

56
Q

What should we cover in Software Engineering design

A

Model of the whole system.

Decomposition into parts(components). what are the functions and interfaces between those components

57
Q

During the design phase we try to separate the ____ form the _____.

A

what , how.

58
Q

The resulting document of the design phase is called _____.

A

design specification.

59
Q

validation can be summed up by this sentence.

A

Are we building the right system?

60
Q

verification can be summed by this sentence.

A

are we building the system right?

61
Q

the 40-20-40 rule is made up by

A

40% requirements engineering and design
20% coding
40% testing

62
Q

50-75% of a software system’s cost over its lifetime is attributed to.

A

Maintenance

63
Q

name the 4 different kinds of maintenance activities and give a small description

A
  • Corrective maintenance: Correcting errors
  • Adaptive maintenance: adapting to changes in the environment (both hardware and software)
  • Perfective maintenance: adapting to changing user requirements
  • Preventive maintenance: increasing the future maintainability
64
Q

Software Engineering Ethics - Principles

Act consistently with the ____ interest

A

Public

65
Q

Software Engineering Ethics - Principles Act in a manner that is in the best interest of the client and ______

A

Employer

66
Q

Software Engineering Ethics - Principles Ensure that Products meet the highest professional ______ _____

A

standards possible

67
Q

Software Engineering Ethics - Principles Maintain _______ in professional judgment

A

integrity

68
Q

Software Engineering Ethics - Principles Managers shall promote an _____ ______

A

ethical approach

69
Q

Software Engineering Ethics - Principles Advance the integrity and ____ of the profession

A

reputation

70
Q

Software Engineering Ethics - Principles be fair to and ______ of colleagues

A

supportive

71
Q

Software Engineering Ethics - Principles Participate in lifelong _____ and _____ an ethical approach

A

learning, promote

72
Q

The Agile Manifesto - Individuals and _______ over processes and _____.

A

interactions, tools

73
Q

The Agile Manifesto - Working _____ over ________ documentation

A

software, comprehensive

74
Q

The Agile Manifesto - Customer _____ over contract _______.

A

collaboration, negotiation

75
Q

The Agile Manifesto - _____ to change over following a ______

A

Responding, plan

76
Q

(CBSD) stands for

A

Component Based software development

77
Q

SPL stand for

A

Software product lines

78
Q

COTS stans for

A

Commercial Off The Shelves

79
Q

What are the five entities that require our continuous attention for project control.

A

Time:How do we assess progress towards the projects goals
Information: How do we handle the documents that are produced in the course of a project
Organization: How do we organize the project team and coordinate the activities of team members
Quality: How do we define and assess quality requirements for both the development process and the resulting product
Money: How do we estimate the cost of a project?

80
Q

What are the major constituents of a projects plan?

A
Introduction: background and history of the project are given 
Process model: 
Organization of the product:
Standards , guidelines. procedures:
Management activities :
Risk:
Staffing
Methods and techniques
Quality assurance
Work packages
Resources
Budget and schedule
Changes
Deliveries