Software Development Process. Basic concepts Flashcards

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?

A

waterfall

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
Q

what software process model is the best for safety-critical systems?

A

waterfall with detailed analysis and specification, because mistakes could be very expensive

26
Q

what software process model is the best for large systems?

A

use best suitable model for different parts

27
Q

what is structure of activities in waterfall model?

A

cascade

28
Q

is feedback from one activity to another allowed in waterfall model?

A

no, waterfall model describes linear process

29
Q

what software process model is the best for embedded systems (interaction with hardware)?

A

waterfall, because of inflexibility of hardware

30
Q

what software process model is the best for large software programs (developed by several companies)?

A

waterfall, because specification is needed for independent development

31
Q

what software process model for unstable software requirements?

A

incremental, because feedback loop is shorter

32
Q

is feedback from one activity to another allowed in incremental development?

A

yes

33
Q

what is incremental approach when all system increments are identified in advance?

A

plan-driven incremental development

34
Q

what is incremental approach when development of later increments depends on progress (customer feedback)?

A

agile

35
Q

what software development model it the best for likely dynamic requirements?

A

incremental model

36
Q

what are the benefits of using incremental development model?

A

making small steps we reduce amount of analysis, documentation and mistakes

37
Q

what are the downsides of using incremental development model?

A

system structure degrades because of regular changes and needs refactoring

38
Q

is it OK to use incremental development for complex systems?

A

no, framework and architecture should be stable