Lecture 16 Flashcards Preview

COP3503 > Lecture 16 > Flashcards

Flashcards in Lecture 16 Deck (18):
1

The term software engineering refers
to

the study of software development on large scales.

2

The Waterfall Model

Marketing (Requirements)
Analysis (Specifications)
Design (Architecture)
Implementation (Untested Software)
Testing (Program)
Maintenance

3

The idea of Use Cases is to determine

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

4

UML

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.

5

Focuses of Use Cases

“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.

6

Use of Use Cases

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.

7

Why is it important to get good requirements initially?

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.

8

Analysis
Input

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

9

Analysis
Outputs

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

10

Analysis
Constraints

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

11

Analysis
Assumptions

Are we operating under any sort of assumptions?
Either on our own part or on those of the client?

12

Analysis
Modifications

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

13

Analysis
Relationships/Effects

How are system-level modifications related to system constraints?

14

Once the specification is completed, the next step is to

determine the design for the desired system.

15

The goal of the design process is to

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

16

Ideal Program Division

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

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

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

18

Standard structure of a UML diagram element for a class

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