L03: Software Lifecycle Flashcards

1
Q

What factors do we consider when choosing a software engineering process?

A

Choice of software process typically depends on:
- Characteristics of system being developed
- Customer requirements
- Skills and experience of development team
- Organisational culture and practices

An appropriate software process should be chosen for a system based on the project and its context

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

What are some examples of software lifecycle/process models?

A
  • Prescriptive models (such as waterfall)
  • Iterative and incremental development (such as agile)
  • Integration and configuration
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a software lifecycle/process model?

A

A software process model or lifecycle is an abstract
representation of software processes

  • What activity should be done next
  • How long it should last
  • Process determines activities and how they are structured
  • As well as outcomes, role of stakeholders involved and pre- and post-conditions of activities
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a lifecycle?

A

Oxford English Dictionary
“In extended use:
a course or evolution from a beginning, through
development and productivity, to decay or ending.”

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

What are the stages of a software lifecycle?

A
  • Inception
  • Feasibility
  • Commissioning
  • Development
  • Acceptance testing
  • Deployment and operation
  • Maintenance and evolution
  • Phase-out
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the waterfall model?

A

Requirements specification
-> Design
-> Implementation
-> Validation
-> Operation
-> Maintenance

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

What happens in a modified waterfall model?

A

After the maintenance phase, the process goes back to the requirements specification phase

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

What are the pros of the waterfall model?

A

Can be used when
- Requirements are well understood
- Requirements are unlikely to change radically during development

Possibly suitable for
- Embedded systems
- Critical systems
- Collaborative development scenarios for large engineering projects

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

What are the cons of the waterfall model?

A
  • Plan-driven
  • Lacks flexibility as you cannot go through the phase in any other order
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the spiral model?

A

Incremental but systematic
- Risk-driven software process framework
- Changes are results of project risks
- Process and product are determined by risks
- Aims to lower development costs by early elimination of
alternatives that are not viable
Each loop in the spiral
- A phase of the process

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

What are the 4 sectors in each loop of the spiral model?

A
  • Objective setting
  • Risk assessment and reduction
  • Development and validation
  • Planning for next loop
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is iterative and incremental development (IID)?

A

Initial release of software, followed by refinements
- Increments incorporating feedback from stakeholders
- Plan-driven or agile or a mix of both
- Basis for current development methods

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

What are the pros of IID?

A
  • Quicker delivery and deployment of useful software to customers
  • Earlier feedback from customers on work completed
  • Reduced cost of accommodating changes to customer
    requirements
  • Earlier identification of risks and mitigations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the cons of IID?

A
  • Lack of visible process and complete documentation
  • Degrading system structure as more increments are added
  • Challenges in identifying common concerns and utilities that apply across the system
  • Conflicts with procurement models of organisations without complete specification at the start
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the integration and configuration model?

A

Software reuse is common in projects
- Reuse-oriented approaches
- Reusable software components
Examples
- General-purpose stand-alone systems that can be
configured
- Web services satisfying service standards and can be
remotely invoked
- An integrating framework for composing components

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

What are the stages in reuse-oriented software engineering?

A

Requirement specification
-> Requirement refinement

If there is an application system available to refactor, the application system is configured

If there are components available (but not the full system), they are developed and adapted to be integrated in the system