Lecture 16 Flashcards

1
Q

The term software engineering refers

to

A

the study of software development on large scales.

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

The Waterfall Model

A
Marketing (Requirements)
Analysis (Specifications)
Design (Architecture)
Implementation (Untested Software)
Testing (Program)
Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

The idea of Use Cases is to determine

A

how potential users with differing roles would need to use a program to accomplish their tasks.

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

UML

A
Each class and interface gets specified, along with arrows to show the relationships among them.
The methods (and fields, for classes) of each are also specified.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Focuses of Use Cases

A

“Who” can do “what”?
Each potential “who” is referred to as an actor.
“What” needs to be done, rather than “how” it should be done.

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

Use of Use Cases

A

They’re very useful for communicating with clients.
Relatively simple notation, visually clear.
Helps to flesh out requirements.
They also help to design test cases for later use.

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

Why is it important to get good requirements initially?

A

70% of all projects failed, or were incomplete due to going overbudget or overschedule.
Changing or unclear (poor) requirements.
Could be overlooked, incorrect or poorly communicated.

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

Analysis

Input

A

what data will be input into the program by one or more “actors”?

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

Analysis

Outputs

A

what data will our program generate that will be needed by one or more “actors”?

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

Analysis

Constraints

A

to model what objects represent in the real world more accurately.

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

Analysis

Assumptions

A

Are we operating under any sort of assumptions?

Either on our own part or on those of the client?

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

Analysis

Modifications

A

Whenever an object within the program is modified, will any corresponding changes be expected elsewhere within the system?

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

Analysis

Relationships/Effects

A

How are system-level modifications related to system constraints?

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

Once the specification is completed, the next step is to

A

determine the design for the desired system.

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

The goal of the design process is to

A

develop the potential structure for a codified system which would fulfill the determined specification for the desired program.

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

Ideal Program Division

A

The manner by which the different data elements will be represented internally does not have to be tied to its representation for input or output.

17
Q

How can we represent these design ideas for a given programming project effectively and efficiently?

A

One super-common visualization tool for the design process is known as UML: the Unified Modeling Language.

18
Q

Standard structure of a UML diagram element for a class

A
MyClass
int integer_field
- String string_field
\+ int get_Integer_Field()
\+ void set_Integer_Field(int)
\+ void doSomething(String, int)