2 - Software Dev Process Flashcards

1
Q

What are the steps in managing a software project?

A

Inception

Elaboration

Construction

Continued Support

Product Retirement

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

What is the inception stage?

A

Project starting point, has brief description of need for system and scope

Generates business case for undertaking project:

Project cost, how much it will bring in, how long it will take

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

What are the steps in elaboration?

A

Finding requirements

Evaluating risks

Producing a baseline architecture

Planning and setting priorities

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

What is a use case?

A

A typical interaction between user and system to achieve a simple goal

E.g. in a word processor: making text bold or generating index for a document

Use cases focus on simple task (from users POV), engineering effort can vary greatly

Important part of designing a system is to discover all potential use cases

Not possible to find all immediately

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

Use cases complexity and interaction

A

Systems have large number of small use cases

Each should be as simple as possible, but no simpler

More complex = more scope of ambiguity

Many use cases will interact, this should be described in a use case diagram

There will typically be many different user roles associated with these use cases

Some use cases will be clear and unambiguous, others will be difficult to describe accurately and so pose a requirements risk

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

What is a Domain Model?

A

Description of all the different parts of the system

It is the big picture of how the system will operate, and the world it will support

Different from use cases in that it tries to describe complete domain in which the system will operate

In OOD we look for things that make up domain of interest, e.g. words like customer, site, service, bill form basis of OOD model

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

What is Elaboration: Risk Analysis?

A

4 types of risk in most project:

Requirements Risk
Technology Risk
Skills Risk
Political Risk

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

What is Political Risk?

A

Projects need funding

  • Write a project proposal
  • Sell it to people with money
  • Protect it from threats

Amount of politics varies across company size, government agency etc

Each project needs someone will political skill

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

What is Skills Risk?

A

Common attitude that someone having learned to program can do any programming task

Can lead to situation where X language programmers are using Y language without training

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

What is Technical Risk?

A

Technology moves fast

Most important technique to deal with new tech is to experiment with it, using new ideas in simplified way

  • Code wont be used in project
  • Will make project code easier to write

Usually a choice between several similar technologies

  • Not immediately apparent which is best
  • Experiment to compare

Connecting parts can also be difficult

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

What is Requirements Risk?

A

Most common failure to to build wrong system
- May work perfectly but bad if it does not do what is required

Two main causes:

  • Cultural problem between way engineers and customers think about system
  • Natural language is ambiguous, words can have different meanings to different people, accurate communication is difficult

Risk from engineer’s perspective is we don’t know what customer really wants

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

How to deal with requirements risk?

A

Use Cases or User Stories to precisely describe what system should do, what requirements are

Use Prototyping to quickly build parts of system so customer can see requirements in practise

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

What is Elaboration: Baseline Architecture?

A

Simple description of how complete system may be structured
- E.g. 3-tier architecture with client, server and database

Can be described in simple way with component diagram

Can also partition code into manageable chunks using a package (module) diagram

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

What is Elaboration: Planning?

A

Use cases are built in batches through several iterations

Planning stage assigns use cases to successive iterations

Time to complete each use case needs to be estimated at this stage

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

What numbers are associated with use cases?

A

Priority (must have, should have, could have etc)

Understanding of use case
- Low value indicates high requirements risk

Confidence in time estimate
- Low value indicates high scheduling risk

Planning should assign high risk items to early iterations if possible

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

Planning high risk items/use cases

A

Common practise of putting risky items to end leads to well known experience of project being on time and budget to 90% then major problems cause delays

Large number of high risk items indicates requirements stage not completed

Could also mean customer doesn’t know what they really want and can’t finalises requirements until they see some use cases in action
- Iteration approach to construction helps here

17
Q

What is Construction?

A

Iteration approach to construction builds use cases in batches
- Each batch involves analysis, design, coding, testing and integration

Iteration finishes with demo to customer and users, together with system tests

18
Q

Constructing high risk items first

A

Customer gets quick look at items that are likely to be wrong, can be corrected at early stage

Can be a need to reassure customer everything is going fine by building and demoing a few low risk features first