Test1 Flashcards

(37 cards)

1
Q

What is the software crisis?

A

Only 30% of software projects are successful.

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

Definitions of successful, challenged, and failed/impaired software projects.

A

Successful - project completed on time & on budget with most desired features & functions.
Challenged - over-budget, over-time, fewer features & functions.
Failed/Impaired - project cancelled or unused.

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

Causes of the software crisis.

A

A large amount of completely different applications of software. Initially developed software changes very frequently. Large time lag & cost incurred from conception to implementation. It’s a new field, so there wasn’t much managerial experience.

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

Failure factors. Stupid mnemonic device: Computer User Interfaces Lack Life

A
C - changing requirements & specifications.
U - Unclear objectives
I - Incomplete requirements & specs.
L - Lack of user input
L - Lack of planning
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Waterfall method. RADIIM

A
  • Requirement specifications.
  • Analysis
  • Design
  • Implementation & unit testing
  • Integration
  • Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Phases of software development process. (RSITM)

A
  • Requirements analysis.
  • System design.
  • Implementation and prototyping
  • Testing, verification, and validations
  • Maintenance.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Requirement specification (waterfall method step # and definition)

A

Step #1. Talking to the customer.

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

Analysis (waterfall method step # and definition)

A

Step #2. Focus on the “what” of the system.

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

Design (waterfall method step # and definition)

A

Step #3. Focus on the “how” of the system.

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

Implementation & unit testing (waterfall method step # and definition)

A

Step #4. Code the “how” and make sure the individual code pieces work.

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

Integration (waterfall method step # and definition)

A

Step #5. Put it all together and make it work.

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

Maintenance (waterfall method step # and definition)

A

Final phase. All “follow-up” stuff after shipping (dangerous phase apparently).

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

Problem with waterfall method.

A

Doesn’t allow iteration since each level must be completed & “signed off” on by managers higher in the organization.

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

Functional approach to programming definition.

A

Focuses on what to do & how to do it (assignment statements, expressions, if-statements, loop, subprograms, etc).

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

Problem with functional approach.

A

Functions work on data but the data is kept separate from them (no inherent connection between them.

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

How does OOP address the problems with the functional approach?

A

You never think of what is done without considering who does it, and to whom (function & data are kept together).

17
Q

How does OOP model the real world?

A

We have classes, from which objects are created. These objects represent real-world entities. In the real world, everything that is done has a doer, and the action is done to something (object).

18
Q

The set of actions that an object of a class may be requested to perform are called ____

A

Responsibilities.

19
Q

Definition of cohesion.

A

How natural to the class are the entire set of responsibilities that are assigned to that class.

20
Q

Definition of coupling.

A

Which classes interact (talk) to each other and how much they need to know about each other.

21
Q

Ideally, we’d have (high/low) cohesion & (high/low) coupling.

A

High cohesion & low coupling.

22
Q

Most important tasks in OOP.

A

Finding the objects, defining their operations, how they interact, their internal structure, and organizing them.

23
Q

5 attributes of a complex system.

A
  • Hierarchy
  • Few objects with many instances
  • Intra-component linkages are stronger than inter-component linkages
  • Evolves from a simpler system
  • The level of detail is arbitrary (Booch model)
24
Q

Spiral model

A

Allows iteration. Basically you go through the waterfall method over & over, each iteration results in a new release/version of the product.

25
Booch model macro process
- Conceptualization - Analysis - Design - Evolution - Maintenance
26
Booch model micro process
- Identify classes & objects - Identify semantics of classes & objects - Identify relationships among classes & objects - Implement classes - Test class methods
27
What does RUP stand for?
Rational Unified Process
28
4 main phases of RUP
Inception, Elaboration, Construction, Translation
29
Inception (RUP) definition
Requirements capture & some analysis
30
Elaboration (RUP) definition
Mostly analysis & some design
31
Construction (RUP) definition
Detailed design, coding, & some testing
32
Translation (RUP) definition
Integration testing, shipping, gathering customer feedback.
33
Steps of our process (to use in class)
1. Focus on the problem to be solved. 2. Always maintain full & complete traceability. 3. Don't be afraid to go back & re-do.
34
________ is used to bring an old persistable object into existence.
Instantiate.
35
________ is used to bring a new persistable object into existence.
Create.
36
Old persistable object definition.
Object that is created with data which is already there (in a data repository).
37
New persistable object definition.
An object created with new data coming from the front end.