IST350 / CSC485 Exam I - Review Sheet

grapedraughtΛογισμικό & κατασκευή λογ/κού

2 Δεκ 2013 (πριν από 4 χρόνια και 1 μήνα)

109 εμφανίσεις


1

IST350

/ CSC485

Exam I
-

Review Sheet


Modeling Using UML

(Chapter 2)


Describe the relationship between an object and its class.

What is the normal definition of equality of two objects?

What makes two objects
identical?

What about instances of a collec
tion class?


UML notations for classes and objects

UML notations for packages

-

Java package naming convention

-

Resolving name conflictions: classes/types in the Java API may share the same
name (e.g., the
List

class representing an AWT component and the
Lis
t

interface in the Java Collections Framework)


Design Principles

Modularity:

-

decomposition

-

(high) cohesion and (low) coupling

-

Frequent intra
-
module communication, less frequent inter
-
module communication

Abstraction:

-

contractual interface

-

two roles that
an object (or a module) can play: client and server

Encapsulation:

-

separation of implementation from interface

-

different degrees of separation

o

interface, abstract class, and (concrete) class

-

polymorphism


Relationships

Levels of abstraction

-

generalization
and specialization

-

inheritance

-

extension

-

realization

Association

Aggregation

Dependency


Use case models

-

actor

-

use case

Sequence diagram


From model to Java code


2

Application Frameworks

(Chapter 8)


What is an application framework?

What is the main objecti
ve of using application frameworks?


Inversion of Control

is listed in your text as one of the characteristics of frameworks.
Use an example to demonstrate how it works in Swing programming.


Type safe
ty

and
extensibility

are both listed as requirements f
or framework design. Use
two concrete Map classes
HashMap

(available since Java 1.2) and
LinkedHashMap

(available since Java 1.4) to demonstrate the benefit of binding to these requirements.
Consider the scenario in which a program that used
HashMap

is n
ow changed to use
LinkedHashMap
.


Design Guideline

Maximize the uniformity of common aspects of related classes/interfaces.

Use the Java Collections Framework as example

to show how this design guideline
was
used in the design of Java APIs? (Review the in
terfaces, abstract classes, and (concrete)
classes defined in the Collection and Map families.)


Compare the relative merits of different implementation styles:

HashSet, (red
-
black) TreeSet, LinkedHashSet

ArrayList and LinkedList


Design patterns

Describe

the following design patterns in terms of the four essential elements of a pattern:
name, intent, structure and participants, and consequences.

-

Composite

-

Decorator


Layout management

Why is layout management needed in the Java language?

Specify an approac
h to layout a graphical interface that is illustrated below.


Serialization

What is object serialization (including serializing and deserializing)? Why is it neede
d?
Describe what have you learned from Lab 6 about serialization.