Software Development Process. Basic concepts Flashcards

(38 cards)

1
Q

what is software development process?

A

set of related activities that leads to production of software system

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

does universal software process exist? why?

A

no, because there are many types of software systems, development teams and requirements could be very complex

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

why do we need software development process?

A

to make software development more efficient (less time and money) and standardized

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

what are the fundamental activities in software development process?

A
  • software specification
  • software development
  • software validation
  • software evolution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

is software development activities simple?

A

no, complex, could include many sub activities (code review, unit testing)

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

could software development process include other activities (except fundamental)?

A

yes, configuration management, project planning, etc

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

what is software specification activity?

A

activity of defining software functionality and constraints

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

what is software development activity?

A

activity of software production in order to meet specification

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

what is software validation activity?

A

activity of software validation to ensure that it does what customer wants

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

what is software evolution activity?

A

activity of software evolving in order to meet changing customer needs

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

what is produced by software activities?

A

products (model of architecture or requirements specification) or deliverables (software system(s))

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

who is involved in software activities?

A

people with different roles: programmer, project manager, qa

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

what is software activity conditions?

A

set of preconditions and post-conditions that must be met before or after activity

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

name precondition of software development activity

A

software requirements specification should be approved by customer and refined by team

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

name post condition of software development activity

A
  • software verification report should be approved by customer
  • demo for customer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

what is software process model?

A

abstract and high-level representation of activities and their order in software development process

17
Q

what is the first software process model?

18
Q

what is waterfall model?

A

model that creates cascade from fundamental activities and represent them as separate phases

19
Q

what is the software process model after waterfall?

A

incremental development

20
Q

what is incremental development model?

A

model that group fundamental activities into recurrent groups - increments

21
Q

what is output of increment?

A

software version

22
Q

what is software version?

A

functionality added to previous version of software

23
Q

what is integration and configuration model?

A

model that includes additional activities of discovering and configuring existing components and systems in order to create new one

24
Q

what software process model is the best for business systems?

A

integration and configuration + incremental model

25
what software process model is the best for safety-critical systems?
waterfall with detailed analysis and specification, because mistakes could be very expensive
26
what software process model is the best for large systems?
use best suitable model for different parts
27
what is structure of activities in waterfall model?
cascade
28
is feedback from one activity to another allowed in waterfall model?
no, waterfall model describes linear process
29
what software process model is the best for embedded systems (interaction with hardware)?
waterfall, because of inflexibility of hardware
30
what software process model is the best for large software programs (developed by several companies)?
waterfall, because specification is needed for independent development
31
what software process model for unstable software requirements?
incremental, because feedback loop is shorter
32
is feedback from one activity to another allowed in incremental development?
yes
33
what is incremental approach when all system increments are identified in advance?
plan-driven incremental development
34
what is incremental approach when development of later increments depends on progress (customer feedback)?
agile
35
what software development model it the best for likely dynamic requirements?
incremental model
36
what are the benefits of using incremental development model?
making small steps we reduce amount of analysis, documentation and mistakes
37
what are the downsides of using incremental development model?
system structure degrades because of regular changes and needs refactoring
38
is it OK to use incremental development for complex systems?
no, framework and architecture should be stable