1. Intro Flashcards

1
Q

Types of Software

A

▪ System software
▪ Application software
▪ Distributed systems
▪ Embedded systems
▪ Product-line software
▪ Games
▪ Artificial intelligence systems

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

Successful software will be used and built on for a long time (possibly decades).

Meaning:

A

➢Software should be built to be adaptable and extensible (maintenance).

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

A software process model defines

A

how the various software engineering
activities are structured in time

how they depend on each other through
the creation and consumption of artifacts

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

A sequential model (i.e. an extreme version of the “waterfall”) attempts to

A

identify all or most requirements at the start of the project

create a thorough design as a “blueprint” of the complete system before programming starts

defines a complete project schedule at the beginning of the project

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

What is the problem with the sequential model?

A

It assumes that nothing will change over the course of the project, it is unrealistic

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

Iterative-Incremental Process Models

A

Split the project into iterations where each iteration is a mini-project

Has many benefits, like :
Better productivity,
early visible progress,
early user engagement, etc.

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

Iterative-Incremental Process Models

A

Split the project into iterations where each iteration is a mini-project

Has many benefits, like :
Better productivity,
early visible progress,
early user engagement, etc.

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

Plan-driven Iterative Development

A

Aspiration for stable structures
Risk management through planning
Defined roles and responsibilities

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

Agile Iterative Development

A

Acceptance of fluid structures
Gain understanding through
communication and feedback
Risk management through flexibility

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

The Unified Process (UP) was devoloped by?

A

Ivar Jacobson, Grady Booch and James Rumbaugh in parallel with the Unified Modeling Language (UML); first published in 1999

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

The Unified Process (UP) does ?

A

Defines a number of roles, workflows, activities and artifacts

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

The UP defines four phases called ?

A

inception,
elaboration,
construction,
transition

IECT

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

Each phase consists of :

A

several iterations.

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

Each iteration :

A

produces an increment.

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

What is included in the Inception phase?

A

Approximate vision

Business case

Scope

Vague estimates

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

What is included in the Elaboration phase?

A

Refined vision

Identification of most
requirements and scope

More realistic estimates

Iterative implementation
of core architecture

Resolution of high risks

16
Q

What is included in the Construction phase?

A

Iterative implementation of lower-risk and
other elements

Preparation for deployment

17
Q

What is included in the Transition phase?

A

Beta tests

Deployment

18
Q

Time and Effort Distribution in the Unified Process Phases

A

Inception and Transition typically take
up to 10% each of time and effort

Elaboration typically takes at most
one third of time and effort

Construction typically takes at least
half of time and effort

19
Q

Milestones in the Unified Process Phases

A

Activities within phases overlap

However, phases are separated by
milestones to judge project feasibility
and progress

Milestones have defined deliverables
and evaluation criteria

20
Q

Inception: Primary Objectives

A

Establish the project’s software scope and boundary conditions

Identify the critical use cases of the system

Identify (and maybe demonstrate) at least one candidate architecture

Estimate the overall cost and schedule for the entire project

Estimate potential risks (i.e. sources of unpredictability / uncertainty)

Prepare the supporting environment for the project

21
Q

Elaboration: Primary Objectives

A

Establish baseline architecture addressing the architecturally significant scenarios

Address all architecturally significant risks of the project

Produce an executable architecture and possibly exploratory, throw-away prototypes

Demonstrate that the baseline architecture will support the requirements of the system

Establish the supporting environment for the project

22
Q

During Inception and Elaboration, the project still is

A

a relatively light-and-fast, low-risk operation.

23
Q

During Construction and Transition, the project becomes

A

a high-cost, high-risk operation with substantial organizational inertia.

24
Q

Construction: Primary Objectives

A

Analyze, design, develop and test all required functionality.

25
Q

Transition: Primary Objectives

A

Beta-testing

Tuning activities such as bug-fixing, enhancement for performance and usability

Executing deployment plans

26
Q

Key Practices of the Unified Process

A

Build a cohesive core architecture in early iterations

Apply use cases where appropriate

Model visually with the UML