Lecture 1 (Part III) Flashcards

1
Q

Describe the Waterfall Model

A
  1. Analysis: Requirement Engineering Process
    • Feasibility: check if financially/technically feasible
    • Requirement analysis: understanding the customers requirements and its specifications
    • Requirement specification: describing the requirement specifications in detail
    • Requirement validity: are they valid?
  2. Design:
    • design a solution for the requirements and specifications
    • translate the requirements into a solution that meets the specifications
    • develop a software to meet the customers requirements.
  3. Implementation & Unit Testing:
    • translate the solution into a executable program/code
    • interleaving with design
  4. Integration, System Testing and Deployment:
    • verification & validity: to check if it meets the requirements
    • testing is done through different test cases. Most common in V&V (above)
  5. Maintenance and Evolution: Maintaining the software and adding functionality
    • fixing errors, bugs
    • improve existing functionality
    • adding new functionality if needed

Each step has to be completed before the next step.

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

What are the Advantages & Disadvantages of the waterfall model?

A

Advantages:
- Usable where there are stable requirements
- can be applied in very large projects where work is being done on multiple sites at the same time
- easy to measure progress

Disadvantages:
- Not good with changing requirements
- Not flexible

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

Where can Waterfall models be used?

A

Due to its advantages and limitations, the waterfall model can only be used in development of three types of softwares:

  • Embedded systems: systems where software has to interface with hardware
  • Critical systems: where there is extensive requirement for safety and security analysis.
  • Large Software Systems: Systems that are developed by multiple different partner companies and are part of broader systems.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is ‘Incremental Development’ ?

A

Development method that uses both plan-driven and agile methodologies. Better suited for systems which has changing requirements or a possibility of that

  • Development in increments
  • Evaluate after each step before moving to the next step.
  • Evaluation done by user
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How are requirements handled in Incremental Development?

A
  • Requirements are prioritised
  • Higher priority requirements are handled in earlier increments
  • Requirements are frozen during development
  • Requirements for other increments can evolve later.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is ‘Incremental Delivery’ ?

A
  • Deploy increments for use by end-users
  • More realistic feedback on the increments which can be used for development
  • Hard for replacement systems as the increment has less functionality than the system it is replacing.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the Advantages & Limitations of Incremental Development?

A

Advantages:
- Customer value provided with each increment
- Less chance of total project failure
- High priority requirement is tested the most
- Functionality is provided earlier
- Earlier increments are seen as prototypes to elicit requirements for later increments.

Disadvantages:
- process not visible
- structure/architecture is degraded when new increments are added
- specification is not known until increment is implemented, so it’s hard to identify common functionalities amongst different increments
- specification is developed with software, this conflicts with procurement of companies, since they define by contract.

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

What are the properties of a ‘Boehm’s Spiral Model’ ?

A
  • Loop represents phases in the process
  • Risk is assessed and resolved throughout the process
  • Flexible Loops/Phases i.e no fixed loops/phases. They are chosen depending on what is required.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the different sectors of ‘Boehm’s Spiral Model’? Where is it used?

A

**Acronym: DROP
- Development & Validation: A development method is chosen for the system

  • Risk assessment & reduction: Risk is assessed and activities are put in place to reduce them
  • Objective setting: specific objectives for phases are identified
  • Planning: project is reviewed and the next phase is planned.

Used in:
- Introduced iteration in software process
- Introduced risk-driven approach to development

however rarely used

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

What is ‘Reuse Oriented SE’ ?

A
  • Systematic usage of existing software
  • Systems are integrated from existing components or COTS (Commercial-of-the-shelf) systems
  • Now it is the standard method for developing various business systems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the ‘process’ of Reuse Oriented SE? Give examples

A

**Acronym: CSRD
- Component Analysis
- System design using reuse
- Requirements modification/adaptation
- Development & Integration

Examples:
- Web services developed according to standards and capable of remote invocation

  • Collection of objects developed as a package to be integrated with a component framework

Stand-alone software systems (COTS) for usage in specific environments

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