Week 1 Flashcards

(19 cards)

1
Q

What is SD?

A

SD is problem solving and planning a software solution.
low level component design
algorithm design
high level architectural design

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

What are some common aspects of SD?

A

Requirements gathering
Object-oriented design
Design patterns
Architectural patterns
Testing

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

What is the role of a Software engineers, meaning what is their task?

A

To understand how the software-to-be needs to interact with the user or environment so that customers requirements is met and design the software-to-be

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

Programmer’s task

A

To implement the software-to-be designed by the engineer

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

Divide and conquer works like how

A

Identify logical parts of the system that each solves a part of the problem
Easiest done with the help of a domain expert who already knows the steps in the process (“how it is currently done”)
Result: Model of the problem domain

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

What are Actors
in terms of atm give example

A

Agents external to the system that interact with it
Easy to identify, most visible part of equation : Bank customer, ATM, Datacentre

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

what are Concepts/Objects
in terms of atm give example

A

Agents working inside the system to make it function
Hard to identify, Conceptual parts
Window clerk, Bookkeepper, Dispenser, safekeeper, telephone, safe, cash , transaction record

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

What are user stories
in terms of atm give example

A

Scenarios for using the system
Typing in a pin, withdrawing, collecting cash (when the machine prompts you)

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

What are the 3 SD methodologies

A

Waterfall
Iterative & Incremental
Agile

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

Waterfall : what is it pros and cons

A

One phase after another
Unidirectional

Pros:
Simple to come up with
Easy to manage

Cons:
Only have a working product at the very end
Hard to revise; locked in after planning
High risk, high uncertainty
Does not incorporate feedback
Not suitable for larger systems

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

Iterative and Incremental: what is it pros and cons

A

Create a Minimum Viable Product (MVP), and incrementally add to it
Increments defined by amount of work to be done
Repeat until product is done

Pros:
Get minimum viable product (MVP) out sooner
Can work in order of priority
Can accommodate requirements changes
Client can give feedback after every iteration

Cons:
Harder to manage
Initial planning must be efficient as every increment must work with future increments
Defining increments can be difficult

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

Agile: what is it pros and cons

A

Build on Iterative and Incremental
Increments are defined by timed intervals
Not so much planning, focus more on immediate requirements
Focus on collaboration

Pros:
Early and frequent releases
Can accommodate changing requirements
Constant feedback
Simple
Cons:
Can be difficult to constantly meet with client
Requires more discipline to meet time goals
Time estimation needs to be good

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

What is part of the Scrum and who are those people

A

Development Team :
Developers, Analysts, Designers, Domain Experts, etc.
Autonomy on how to develop increment
Collaborative

Product Owner:
Responsible for vision
Final arbiter on requirements
Reprioritises backlog constantly

ScrumMaster:
Part of the dev team
Helps facilitate the scrum process
Ensures the team works together smoothly
Is a leader, but not a manager

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

Scrum Ceremonies, what are they

A

Sprint Planning
Daily Scrum
Sprint Review
Sprint Retrospective
Backlog Refinement

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

Sprint Planning : explain

A

Product Backlog: list of requirements (user stories)
Dev team and product owner work together to pull backlog items into the sprint
Break each backlog item into tasks
Need to estimate how many backlog items to do in time window
Need to prioritise certain backlog items over others

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

Daily Scrum : explain

A

~15 minutes every day
Create plan for today
Discuss goals, impediments, etc.
What did I do yesterday? What did I do today?
Are there any impediments?
Commitment to you and your team

17
Q

Sprint Review : explain

A

Meet with product owner
Live demo of current version of product
Product owner determines which backlog items are done
Code complete
Deployed to appropriate env
Adequately tested Feedback

18
Q

Sprint Retrospective: explain

A

Reflect on how the last sprint went
How can the team improve?
Needs to be transparent and a safe space for all devs
Avoid blaming

19
Q

Backlog Refinement: explain

A

Take the product backlog and refine it
Break down large items into smaller ones
Smaller, evenly-sized tasks are easier to estimate times for
Adjust estimates based on progress
Reassess priorities
Prune unnecessary items