Week 2 Flashcards

1
Q

In 2005 what percentage of projects were delivered on time and in budget?

A

34%

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

How much did the FBI spend on it’s project and how long did it last before they declared they were not even close to a working system?

A

$M170

2001-2005

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

What was project Everest?

A

Ford Motors

$M200 over budget, abandoned softare project to buy supplies and replace legacy software

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

What was project Innovate?

A

McDonalds

$1B budget to monitor all aspects of operations

1999-2002, killed off after $170M wasted by no progress

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

What are 3 problems often occurring with software development?

A

Unreliable products - crashes, unexpected behaviour, etc

Expensive Maintenance - usually exceed estimates, often over 90% of effort on maint

Incorrect - bad communication means all parties have a different idea in their head about final product

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

What are some of the underlying difficulties of software development?

A

Complexity - programs get very complex very quickly, no two are quite alike

Changeability - operating environment is constantly changing, client’s system may be completely different to users, different platforms etc.

Invisibility - software is not a physical thing - difficult to see progress sometimes

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

What is software engineering?

A

application of engineering to software

branch of compsci dealing with large, complex software built by teams to last many years and undergo changes

Involves formal procedures and techniques

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

What 6 properties does every system have?

A

Input/Output

A purpose

A boundary and Environment

Subsystems and interfaces

Control with feedback/feedforward

Some emergent property - greater than sum of parts

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

What elements must every information system have?

A

Human activity that needs information

Stored data

Input method

Process that turns data into information

output method

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

In addition to the required properties of information systems, what other properties may information systems have?

A

Subsystems

Interfaces with other systems

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

What are 3 types of software?

A

Custom (bespoke) software

Commercial/Off-the-shelf software

Embedded software

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

What is bespoke software?

A

Made for one particular client

Developed in-house or outsourced

Usually unique to the client - i.e. particular set of requirements

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

What is commercial/off the shelf software?

A

Software sold on the open market

Often cheaper and more reliable than custom software, but less customisable/flexible

May not fit all client’s needs

Not unique to the client

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

What is embedded software?

A

Made for and runs on a particular piece of hardware

User may not even be aware of it

e.g. software inside dvd player or washing machine

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

What do requirement analysts do?

A

Work with the customers to identify and document the requirements

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

what do designers do?

A

generate a system-level description of what the system is supposed to do

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

What do programmers do?

A

Write the lines of code to implement the design

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

What do testers do?

A

Test software for faults - try to break it

19
Q

What do trainers do?

A

Show users how to use the system

20
Q

what does the maintenance team do?

A

Fix faults that show up later, make sure the software is running smoothly

21
Q

What are the qualities of a software engineer?

A

Fantastic programmer

Also understands the other roles of software development and has some skill in them, e.g. requirements gathering

Good communicator

This feels like a job application or something…

22
Q

What is a software lifecycle?

A

The structure of the project, i.e. what tasks/activities are involved, resources needed, timing, deliverables, tools

23
Q

What are the 6 steps of waterfall model?

A

Requirements

Design

Implementation

Testing

Deployment

Maintenance

24
Q

What does the addition of feedback do to the waterfall cycle?

A

Means each phase can be revisited after feedback from the next phase

25
Q

Prototyping can be added as a phase in the waterfall methodology. Where would the prototyping step come in the cycle?

A

After design, before implementation

26
Q

What is the evolutionary model?

A

Similar to waterfall except maintenenance step is replaced by “evolution”, which basically runs the whole cycle again after it completes. So each version of the software is a mini waterfall cycle with revised requirements

27
Q

What is the spiral model?

A

4 sections, constantly going through the cycle and repeating

  1. Identify objectives, constraints, alternatives
  2. Risk analysis, mitigation, evaluation of alternatives
  3. Execution and Testing
  4. Review progress, plan for next phase
28
Q

What are the 12 basic features of extreme programming?

A

Customer defines value

Small releases

Metaphor (common vision, common names)

Simple Design

Writing Tests first

Refactoring

Pair Programming

Collective Ownership

Continuous Integration (small incremements)

Sustainable pace (40hrs/wk)

On-site customer

Coding Standard

29
Q

What are the 5 basic steps of extreme programming?

A

Architectural spike

Release Planning

Iteration

Acceptance tests

Small releases

30
Q

What is Unified Software Development process?

A

Developed by team that created UML

Embodies best practice in system development

Iterative approach with 4 phases

Tasks captures in a series of workflows

31
Q

What are the 4 phases of Unified Software Development?

A

Inception

Elaboration

Construction

Transition

32
Q

What are the workflows within each phase of Unified Software Development?

A

Requirements

Analysis

Design

Implementation

Test

33
Q

What techniques are used during requirements capture and modelling?

A

Requirements elicitation

Use case modeling

Architectural modeling

Prototyping

34
Q

what are the key deliverables during requirements capture and modelling?

A

Use case model

Requirements list

Initial Architecture

Prototypes

Glossary (!?!?)

35
Q

What are the techniques used in requirements analysis?

A

Communication diagrams

Class and object modelling

Analysis modelling

36
Q

What are the key deliverables in requirements analysis?

A

Analysis models

37
Q

What are the techniques used in system and architecture design?

A

Deployment modeling

Component modeling

Package modeling

Architectural modeling

Design patterns

38
Q

What are the key deliverables in system architecture and design?

A

overview design and implementation architecture

39
Q

What are the techniques in class design

A

class and object modeling

interaction modeling

state modeling

design patterns. again. ffs.

40
Q

What are the key deliverables in class design?

A

Design models

41
Q

What are the two types of quality which are criteria for quality software?

A

External - visible to client

Internal - concern developers, not visible to clients

42
Q

What are the external criteria for software quality?

A

Correctness

Reliability

Robust

Efficient

Usable

Safe

Secure

43
Q

What are the internal criteria for software quality?

A

Maintainable

Flexible

Modular

Cohesive

Comprehensible

Reusable

Portable