Kung Chapter 2 Flashcards

(28 cards)

1
Q

challenges of system development

A

manage clients changing needs
divide work between large teams
ensure proper communication and coordination
develop systems that fulfil all the requirements
create systems that are easy to understand, maintain and test

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

what is a software process

A

series of phases activities to construct a software system, each phase producing some artefacts that are the inputs to others

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

what is the waterfall software process

A

follows a linear sequence of steps: planning, design, construction, maintenance

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

advantages of waterfall

A

simplifies planning
good for complex, large systems

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

disadvantages of waterfall

A

can’t respond to requirements change
customers can’t reap benefit of system during long development period

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

what is the unified process (UP) software process

A

framework that guides the development of software through iterative and incremental cycles. integrates best practices of different methodologies.

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

phases of the UP

A

inception
elaboration
construction
transition

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

inception phase of UP

A

define project vision (high level requirements) and determine if it is feasible (cost, time)

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

elaboration phase of UP

A

refining the requirements and defining the architecture
detailed design (data models, UI, security protocols)

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

construction phase of UP

A

system is built
continuous integration and testing

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

transition phase of UP

A

moving system into production and delivering to user
now in maintenance mode

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

what is iterative and incremental development

A

system is developed in cycles where each increment adds functionality and each iteration improves code and stability of the software incorporating feedback from stakeholders and users

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

role of use cases in UP

A

capture functional requirements from user perspective.
each use case defines how the user interacts with the system to achieve something
can make sure system meets user requirements

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

how to adapt UP for smaller teams

A

reducing the formality of certain phases and focusing on the most essential practices
follow key phases of UP

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

agile process

A

iterative and flexible. many iterations of the same phases,

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

phases of agile

A

requirements analysis, design, implementation, testing, deployment

17
Q

agile manifesto

A

individuals and interactions&raquo_space; processes and tools
working software&raquo_space; comprehensive documentation
customer collaboration&raquo_space; contract negotiation
responding to change&raquo_space; following a plan

18
Q

agile principles

A

user involvement is imperative
team must be empowered to make decisions
requirements evolve but timescale is fixed
capture requirements at a high level
iterative and incremental approach
frequent delivery
complete each feature before moving on
testing is integrated throughout
collaborative and cooperative approach with stakeholders

19
Q

prototyping model

A

build a prototype to get user feedback. used to acquire and validate the requirements and assess feasibility of project, constraints and requirements.

20
Q

evolutional prototyping model

A

prototyping evolves into the final system, avoiding throwaway prototypes. development of exploratory types of systems like intelligent systems. not good if we need a predictable schedule

21
Q

benefits of a software methodology

A

helps dev team focus on important tasks
improves collaboration and communication
improves software productivity and quality
forms the basis for progress improvement because there are measures of progress
basis for process automation because large portions of the steps can be mechanically done
facilitates training of newcomers and enables less experienced developers to produce quality software

22
Q

types of methodologies

A

normative: based on solutions or steps known to work
rational: based on methods and techniques
participative: stakeholder based and aspects of customers involvement
heuristic: based on lesson’s learned

23
Q

roles in scrum methodology

A

product owner, scrum master, development team
hooker, prop, rest of the forwards…

24
Q

scrum process

A

backlog prioritisation
sprint planning
daily scrum meetings
sprint execution
sprint review and retrospective

25
extreme programming methodology
anyone can change any code anywhere at any time
26
concepts of extreme programming
continuous integration and frequent builds pair programming test driven development flexible working hours
27
test driven development methodology
write tests before writing code,
28
process for TDD
write a failing test write minimal code to pass the test refactor the code for efficiency and readability repeat for each new functionality