Midterm 2.0 Flashcards

(41 cards)

1
Q

What is an example of an accuracy non-functional requirement?

A

The software will correctly predict the winner of a football game at least 75% of the time.

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

What is an example of maintainability non-functional requirement?

A

Automated test units must exist for all components.

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

What do activity diagrams, use case diagrams and sequence diagrams have in common?

A

They are behavioral diagrams

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

What design principle represents “every piece of knowledge or logic must have a single, unambiguous representation within a system?

A

DRY (don’t repeat yourself)

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

What design principle values simplicity over complexity?

A

KISS (keep it simple stupid)

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

What design principle is used often in agile and extreme programming and favours thinking in the present?

A

YAGNI (you aren’t gonna need it)

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

What principle states that objects should be initialized when they are created?

A

RAII (resource allocation is initialization)

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

What is included in the agile philosophy?

A

reduce communication barrier, value working software over heavy documentation, respond to customer needs over the contract.

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

When we say we want to have elegant design, what do we mean? (Dependency Injection Principle)

A

Our classes shouldn’t depend on concrete details but on abstractions.

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

In a component diagram, if you have a line coming out with a circle attached, what does that represent?

A

The circle is an interface that our component is providing.

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

What are symptoms of software crisis?

A

Software was inefficient, software was never delivered, software was low quality.

(not an example: software processes were inefficient)

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

What are the layers of software engineering?

A

Quality focus (bedrock)
Process (foundation)
Methods (technical how-to’s)
Tools (semi-auto/auto method support)

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

What is CMMi and the levels?

A

Puts process stages into 5 maturity groups.
Initial, Managed, Defined, Quantitatively Managed, Optimizing.

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

What are examples of scrum practices?

A

self-organizing teams, time-boxed sprints, product backlog, reviews that do not need to be daily.

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

What are evolutionary software process models?

A

Iterative, accommodate changes, do not generally produce throwaway systems.

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

What is the spiral model?

A

It includes project risks evaluation during each iteration.

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

What questions are asked at the scrum meeting?

A

What did you do since last meeting?
What do you plan to do moving forward?
What obstacles are you encountering?
NOT the cause of the obstacles.

18
Q

What makes a good group meeting?

A

Having a chair, setting an agenda, documenting the meeting, having tangible action items

19
Q

What are non-functional requirements of our ATM example?

A
  • nominal withdrawal transaction < 2 min
  • defining a failure rate of comparing the pin number entered to the one on the card.
  • is open 24/7
20
Q

What areas does Ozkaya think a software engineer should know?

A

fundamental knowledge areas, data science, computing hardware, socially responsible engineering

21
Q

What version control problem does a software like git help solve?

A

recovering old versions
developing multiple versions of software
merging changes to a software project made by collaborating people

22
Q

What is Hyrum’s Law?

A

Whatever you deliver, someone is going to use it in a way you never imagined.

23
Q

What makes a user story smell?

A

Adding too many details, splitting too many stories, gold plating
Gold plating: occurs when a project manager or team member believes that a project could be enhanced by an additional feature and includes it without approval.

24
Q

What is an example of a go- or no-go decision tool?

A

Proof of concept

25
Does an agile method explicitly assess and resolve risks throughout?
No, it does not, but a spiral model does.
26
Is it common practice to use iterative and incremental software development models together?
No, they are opposing approaches.
27
What is a burn-down chart?
It shows the amount of work remaining on a project.
28
"agile processes promote sustainable development", does this refer to overall application efficiency and reduction of energy and space consumption.
No, it does not, it means that teams should be able to maintain a constant pace of work indefinitely while still delivering value consistently and mitigating risks
29
Why do we use project scope?
to bound the system so we can estimate cost and efficiency.
30
Does agile favour contracts over customer collaboration?
No, it is the opposite.
31
In software development, what type of coupling and cohesion do we want?
Low coupling and high cohesion.
32
Why do we use traceability information in SE?
It helps asses the impact of modifications to requirements.
33
When would we use the waterfall method?
When the requirements are well defined and the risks are low.
34
What is a pro of the spiral model?
It includes risk evaluation during each iteration.
35
How should someone design interfaces in regards to good design principle?
to have similar operations and elements for similar tasks.
36
What is interoperability non-functional requirements?
It describes how well a system can share information and data with other systems and external hardware. For example, reports made in a compatible format for all components, like JSON
37
What do codes of conduct from entities such as IEEE or ACM mean?
It is a standard of behavior that members need to follow.
38
Which user stories are chosen in the agile iteration process?
The ones with highest priority.
39
What is test-driven development?
A test is written before the code it is testing is written. Usually small.
40
What happens if you don't comply to documentation and coding instructions?
It can lead to software errors.
41
What does <> in a use case diagram represent?
a procedure call or something similar.