Midterm Flashcards

(80 cards)

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
T/F As the deadline of the due date is approaching, we need to add more people in the team to speed it up.
False
26
T/F Agile projects do less planning than document-driven projects that means documentation is not important at all.
False
27
T/F Quality has to be designed in, and is not an afterthought
True
28
T/F Waterfall model is a good choice if the complete requirement is known accurately upfront.
True
29
T/F The V-Model is not a waterfall model
False
30
T/F Agile process prefer working software over comprehensive documentation.
True
31
T/F Agile process prefer following a plan to respond to change.
False
32
T/F We should never throw away a prototype, because we already spent money and time on it.
False
33
T/F Requirement elicitation through prototyping is a good strategy.
True
34
T/F Prototyping could result a higher quality product, it may result a low quality product as well.
True
35
T/FIn prototyping, we do not need to plan anything upfront in order to respond quickly to changes.
False
36
T/F We can introduce changes in backlog as well as sprint in SCRUM process.
False
37
T/F In SCRUM, demo is delivered internally in the company without the customers involved.
False
38
T/F In XP, programmer are under high pressure to deliver code, since refactoring is time consuming, let’s postpone it until later stage.
False
39
T/F In test-driven development, let’s write the code first then test it.
False
40
T/F In XP, we should perform unit testing daily.
True
41
T/F In XP, when deadline of demo is approaching, we should work overtime to get the code done.
False
42
T/F In XP, collective code ownership is not applied.
False
43
T/F JRP and JAD are two important elements in RAD.
True
44
T/F In RAD, MoSCow stands for must have, should have, could have, and would have.
False
45
T/F In RUP, Requirements, Analysis and Design, Deployment, and Configuration and Change Management belong to engineering disciplines.
False
46
T/F In DSDM, time box is fixed. So, if needed, functionality is sacrificed.
True
47
T/F Configuration items includes source code modules, test cases, requirements specification, the user manuals, etc., So they are the same as base lines.
False
48
T/F Configuration management is about keep track of changes.
False
49
T/F We should ensure that every change to the baseline (change request - CR) is properly authorized and executed.
True
50
T/F We should support configuration management by powerful tools.
True
51
T/F Change request is refer to change to base line.
True
52
T/F In XP, CRC card is used in design phase.
True
53
What is the result of requirement engineering?
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
What is a feasibility study?
the purpose is to asses whether there is a solution to the problem which is both economically and technically feasible.
55
The document in which the results of requirements engineering is called ____.
Requirements specification.
56
What should we cover in Software Engineering design
Model of the whole system. | Decomposition into parts(components). what are the functions and interfaces between those components
57
During the design phase we try to separate the ____ form the _____.
what , how.
58
The resulting document of the design phase is called _____.
design specification.
59
validation can be summed up by this sentence.
Are we building the right system?
60
verification can be summed by this sentence.
are we building the system right?
61
the 40-20-40 rule is made up by
40% requirements engineering and design 20% coding 40% testing
62
50-75% of a software system's cost over its lifetime is attributed to.
Maintenance
63
name the 4 different kinds of maintenance activities and give a small description
- 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
Software Engineering Ethics - Principles | Act consistently with the ____ interest
Public
65
Software Engineering Ethics - Principles Act in a manner that is in the best interest of the client and ______
Employer
66
Software Engineering Ethics - Principles Ensure that Products meet the highest professional ______ _____
standards possible
67
Software Engineering Ethics - Principles Maintain _______ in professional judgment
integrity
68
Software Engineering Ethics - Principles Managers shall promote an _____ ______
ethical approach
69
Software Engineering Ethics - Principles Advance the integrity and ____ of the profession
reputation
70
Software Engineering Ethics - Principles be fair to and ______ of colleagues
supportive
71
Software Engineering Ethics - Principles Participate in lifelong _____ and _____ an ethical approach
learning, promote
72
The Agile Manifesto - Individuals and _______ over processes and _____.
interactions, tools
73
The Agile Manifesto - Working _____ over ________ documentation
software, comprehensive
74
The Agile Manifesto - Customer _____ over contract _______.
collaboration, negotiation
75
The Agile Manifesto - _____ to change over following a ______
Responding, plan
76
(CBSD) stands for
Component Based software development
77
SPL stand for
Software product lines
78
COTS stans for
Commercial Off The Shelves
79
What are the five entities that require our continuous attention for project control.
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
What are the major constituents of a projects plan?
``` 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 ```