lecture 3: system development models Flashcards

1
Q

system development life cycle (SDLC)

A

a series of development phases arranged in a certain sequence

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

Tailoring

A

apting a model to a specific project, in order for it to be successful.

models which can be adapted: The waterfall development model, prototyping, agile development, crowd sourcing

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

model –> plan –> process:

development process model

A

We use development process models to benefit from previous experience and knowledge, and to establish some kind of shared understanding.

The systems development model that is used should be as simple as possible given the level of complexity involved.

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

model –> plan –> process:

Project strategy and plan

A

when the development process model is tailored, there will be produced som kind of strategy and plan for the project

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

model –> plan –> process:

the actual process

A

then try to execute the project according to the plan and the strategy – a real process is established. This process is never as the plan, and the plan will change during project execution.

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

model –> plan –> process: large organizations

A

large organizations often develop and describe their own models.

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

simple model - simple jobs

A

For small, low complexity systems to be used internally, more or less by the people who develops them, a very simple model can be used.

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

The waterfall model: for more complex projects

A

A nice rational model for developing large and complicated systems

Problems with the waterfall model: Errors late in the process can be very expensive, because you have redo a lot of work

How to deal with the problem:
- Introduce a preliminary design phase: then the technical feasibility of the development effort is decreased.
- Document the design carefully: this documentations supports communication and coordination
○ Quality of design is transparent, reduce cost during test, operations and maintanance,
- Do it twice
- Plan, control and monitor testing.
- Involve the customer

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

risk analysis

A
application:
- primary goal
- size
- environment
Management:
- customer relations
- planning and control
-communications
technical:
- requirements
- test
personnel
-customers
-developers
-culture
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

tailoring process

A

Step 1: Apply risk analysis to specific risk areas associated with agile and plan-driven methods (specific risk categories: environmental, agile, and plan-driven).

Step 2: Evaluate the risk analysis results to determine if the project is appropriate for either purely agile or purely plan-driven methods.

Step 3: If the risk analysis shows that the project has no clear agile or plan-driven home ground. It also applies to cases in which parts of the system have such different risks that they fall into different home grounds.

Step 4: In this step overall project strategy that addresses the identified risks is developed. This involves identifying risk resolution strategies for each risk and integrating them.

Step 5: No decision is ideal for all time, the management team must constantly monitor and evaluate the performance of its selected processes while keeping an eye on the environment.

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

crowdsourcing

A

an organization takes a function once performed by employees and outsourcing it to an undefined network of people in the form of an open call
- Changing how software is being developed, and is becoming and established practice within systems development
Can be done e.g. hosting different software, development and data science competitions, or testers offering their services to test new things

  • -> this work is announced in a open call where anyone can respond.
  • -> the volunteer are unknown to the organization needing the work done
  • -> the group of workers can be very large and geographically, culturally etc. Distanced
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

models of crowdsourcing

A

Peer production: Open source development

Competitions: competitors come up with each their solution, treat people as contestants rather than collaborations

Microtasking: decomposes work into a set of self-contained microtasks, which can each be completed in minutes and which together constitute a solution to a more complex task.
To ensure quality, multiple workers might be asked to complete the same microtask, with the best solution selected by voting and other mechanisms.

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

crowd source advantages

A

increase development speed
generating alternative solutions
getting easier acces to specialists

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

XP

A

Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development.

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