midterm Flashcards

(42 cards)

1
Q

Business setting

Software Development is __ __

In order for software companies to survive, development needs to be __

Need ways to avoid ____________________

A

extremely expensive

predictable

developers building things that are not needed

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

software delivery phases

____ - what is being built
____ - how it will be built
___ - build it
___ - Verify what is built matches the requirements

A

analysis
design
development
testing

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

Software Design creates a plan to build the entire software applications that __ __ __ __, avoid ____and avoid ___ __ _

A

multiple developers can follow
duplication
wasted development effort

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

good software design…
Make sure your software _________________

Apply basic __ __ to add ______

Strive for a __________________

A

does what the customer wants it to do

OO principles to add flexibility

maintainable, reusable design.

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

UML class notation
A class represent a concept which _____state (attributes) and ________(operations).

Each attribute has a ____.

Each operation has a ____.
The ___ __ name is the only mandatory information

A

encapsulates
behavior

type
signature
class name

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

multiplicity
0..1

1

1..1

A

zero or one (optional)

one and only one (mandatory)

one and only one alternate (mandatory)

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

multiplicity

0..*

*

1..*

A

zero or more (optional)

zero or more alternate (optional)

one or more (mandatory)

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

A superclass includes __ __ __ of the subclass, plus possibly more as well

A

all the instances

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

subclass superclass test
__-_

A

is-a
baker is a employee

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

A subclass is made up of __ __from another class, the “Parent class” or “superclass.”

A

selected instances

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

uml
how to show superclass subclass relation

A

point white arrow toward superclass

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

uml
how to show if a field is protected

A

#

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

Composition

__ relationship

When you get rid of the __, the __do not exist on their own anymore (in the system you are modelling)

what symbol

example

A

stronger

whole, parts

black diamond

house (whole), room(part)

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

Aggregation

__relationship

When the __is destroyed, the __can
still exist

More of “__” than an “owns”

what symbol

example

A

Weaker

whole, parts

uses

white diamond

team (whole) uses player (part)

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

why do we not use «includes» and «extends»

A

They do not help the diagram much if they are right, but if they are wrong it the diagram will not be correct

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

if b is referenced by classes outside of A (and/or) an instance of b can be referenced by more than 1 instance of A.

Aggregation or composition

A

aggregation

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

Encapsulation is where the internal details are ____ from the ___ ___and the user can interact only via a well-defined interface

A

hidden, end user

18
Q

What is the interface
The interface of a class

  • Anything that a ___ ___ can use
  • __-____ methods (that includes constructors)
  • ____-____ fields
  • The ____ of the class
  • ____ ____ are also part of the interface although the objects that can use these are restricted.
  • The interface of the ____ class
A
  • Anything that a client object can use
  • Non-private methods (that includes constructors)
  • Non-private fields
  • The name of the class
  • Protected methods are also part of the interface although the objects that can use these are
    restricted.
  • The interface of the base class
19
Q

In Java we use Inheritance to design classes that avoid ___ and are easy to maintain.

It is a separation of concerns, whereby we start with a more _____ class, called the ____ class, and derive a more ____ class
(derived class, subclass or “child class”)

When we extend a class, the derived class inherits all the
____-____ code from the base class and so we have accomplished reuse by design

A

redundancy

general, base, specialized

non-private

20
Q

benefits of inheritance

A

get to expose code to the derived class without making that code public to everyone.

get to reuse code

21
Q

We can ___ a method from a base class in a derived class to change the implementation of the
method

you must declare a method with the same ____ and ___ ___ in the derived class. This will become the new implementation
(for derived Objects)

A

override

signature, return type

22
Q

In your derived class, you can also use ____ to reference a method other than the constructor.

Only necessary when you have ____ the method in the derived class

syntax

A

super

overridden

super.methodNameFromBaseClass(params);

23
Q

abstract class

_____ for actual implementations

Definitions not ____

We can use abstract classes to define classes that should only be _____ of other classes.
Abstract classes can have abstract methods that are ___ _____

A

Placeholders

implementations

superclasses

not implemented

24
Q

An abstract method contains only a ____.

Subclasses __ ___ these methods

A

signature

must implement

25
Interfaces are ___ ___ and allow you to implement the sharing of ___ ___ amongst classes
completely abstract multiple properties
26
loose coupling each of its components has, or makes use of,___ ___ ___ _____of the definitions of other separate components takes advantage of ___ example
little or no knowledge encapsulation uber app rider-payment-ride
27
Loose coupling is also closely related to the concept of Class ___, which is to separate ___ ___ from the __ of the class. The creator of the class provides a ____ of the class and lets the user know how the class can be used. The user of the class does not need to know how the class is ____
Abstraction class implementation use description, implemented
28
loose coupling if you have classes Game, Deck and Card, how would you include UNO cards that does not use regular cards?
game, deck and card are still valid without touching the code. create an UnoCard class that extends the Card class
29
Coupling is the measure of the ____ of ___between the modules
degree of interdependence
30
A good software design will have ___ or __ ___
low or loose coupling
31
____ - is a measure of the degree to which the elements of the module are functionally related. all elements directed towards performing a single task are contained in the component A class should represent one logical entity only and all operations should logically fit together in the context of that one entity. MVP/MVC layers - ____ -____ - _____ why is this efficient good software design will have __ __
cohesion user interface data game logic if you want to change the GUI, on the UI has to be changed, the data and logic layers stay the same high cohesion
32
A ___ is something the system must do in order to function correctly A ___ ___ is the steps the system takes to complete a requirement. They also become the basis for your __ ___ ___. Are like the high-level ___ the system
requirement Use case user acceptance tests blueprints
33
use case narratives components
prerequisite goal happy path (1, 2, 3, 4) alternates (1.1, 1.2, 1.3)
34
__ ___ __ - is an interaction between the actor and the system from the point of view of what the user
use case narrative
35
Getting ___ identified and specified is key to the success of the software. They inform the development team as well as the client the entirety of what the software will do
alternates
36
The purpose of the narrative is to identify what the system must do in order to work for the scenario being described. It’s not a _____ __ ___of what is happening the use case is a flow diagram (t/f) The use case diagram is for __ ___ ___. The actual ___ of the application are normally too low level to put on the diagram the use cases should be __ of the software
The purpose of the narrative is to identify what the system must do in order to work for the scenario being described. It’s not a play-by-play of what is happening f, not a flow diagram The use case diagram is for high level requirements. The actual rules of the application are normally too low level to put on the diagram goals
37
______ ____ is a framework teams use to build software 3 types
Software Methodology waterfall iterative agile
38
SDLC meaning
software delivery lifecycle
39
___ ___ are typically the actors that initiate the Use Case(s)
Primary Actors
40
____ ____ are typically the actors that don’t necessarily initiate the Use Case(s), but are required in order to complete them
Secondary/Supporting Actors
41
___ * When a Use Case has specialized behavior, which is modelled by other Use Case(s)
Generalization
42