Software Engineering Flashcards

1
Q

The intent of a computer program is to solve a particular type of problem. In this end solution to a problem, two components typically exist; what are they?

A

Algorithm and data

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

(T/F) The primary purpose of the testing phase in the life cycle of software is to prove the code is correct.

A

F, it is to test the code to find errors

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

What are the two aspects to the maintenance phase of software?

A

fixing and enhancing

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

Abstraction is the separation of the _____ of a module from its ______.

A

purpose and implementation

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

What is an ADT from a programmers perspective?

A

data and operations

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

List two ways discussed in class to make your code more modifiable.

A

functions and comments

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

The _____ phase in the software life cycle should take the shortest amount of time in general.

A

coding

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

The branch of computer science that provides techniques, theories and methodologies for software construction is called ______.

A

software engineering

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

An argument passed as a _____ parameter will pass the actual address of the argument, while an argument passed as a ______ parameter simply passes the data stored in the argument.

A

reference and value

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

A ________ is a construct you can define within a programming language to store a collection of data. An array would be an example.

A

data structure

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

What makes a good program?

A
  1. Meets it’s specifications
  2. Cost is minimal over its life cycle
  3. Efficient
  4. Maintenance friendly
  5. Reliable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the Software Life Cycle?

A
  1. Specification
  2. Design
  3. Coding
  4. Testing
  5. Refinement
  6. Production
  7. Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Specification in the life cycle?

A

What is the software to do?

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

What is Design in the life cycle?

A

How will it be done?

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

What is Coding in the life cycle?

A

syntax debugging

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

What is Testing in the life cycle?

A

finding errors

17
Q

What is Refinement in the life cycle?

A

fix errors in logic (recode, retest)

18
Q

What is Production in the life cycle?

A

people start using it

19
Q

What is Maintenance in the life cycle?

A

fixing errors and enhancing

20
Q

What is the Rational Unified Process (RUP)?

A
  1. Inception
  2. Elaboration
  3. Construction
  4. Transition
21
Q

What is Inception in RUP?

A

feasibility, time and cost estimates

22
Q

What is Elaboration in RUP?

A

more specific, determine iterations, core architecture

23
Q

What is Construction in RUP?

A

iterative development

24
Q

What is Transition in RUP?

A

testing and deployment of system, beta testing