CS 501: Software Engineering Fall 1999 - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

CS 501: Software Engineering Fall 1999

Description:

A collaboration defines an interaction, i.e., a society of roles and other ... A collaboration diagram emphasizes the structural organization of the objects ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 20
Provided by: paye
Category:

less

Transcript and Presenter's Notes

Title: CS 501: Software Engineering Fall 1999


1
CS 501 Software EngineeringFall 1999
Lecture 15 Object-Oriented Design I
2
Administration
?
3
The Waterfall Model
Requirements Definition
System and Software design
Implementation and Unit Testing
Integration and System Testing
Operation and Maintenance
4
Useful Texts
Grady Booch, James Rumbaugh, Ivar Jacobson, The
Unified Modeling Language. Addison-Wesley
1999. Grady Booch, Object-Oriented Analysis and
Design with Applications, second edition.
Benjamin/Cummings 1994. Rob Pooley, Perdita
Stevens, Using UML Software Engineering with
Objects and Components. Addison-Wesley 1999.
5
The Importance of Modeling
? A model is a simplification of reality. ? We
build models so that we can better understand the
system we are developing. ? We build models of
complex system because we cannot comprehend such
a system in its entirety. Models can be informal
or formal. The more complex the project the more
valuable a formal model becomes. BRJ

6
Principles of Modeling
? The choice of what models to create has a
profound influence on how a problem is attacked
and how a solution is shaped. ? Every model can
be expressed at different levels of precision. ?
The best models are connected to reality. ? No
single model is sufficient. Every nontrivial
system is best approached through a small set of
nearly independent models. BRJ
7
The Unified Modeling Language
UML is a standard language for modeling software
systems. ? Serves as a bridge between the
requirements specification and the
implementation. ? Provides a means to specify and
document the design of a software system. ? Is
process and programming language independent. ?
Is particularly suited to object-oriented program
development.
8
Notation Classes
name attributes operations
Window origin size open() close() move() display()
A class is a description of a set of objects that
share the same attributes, operations,
relationships and semantics.
9
Notation Interface
ISpelling
An interface is a collection of operations that
specify a service of a class or component, i.e.,
the externally visible behavior of that element.
10
Notation Collaboration Use Case
Chain of responsibility
A collaboration defines an interaction, i.e., a
society of roles and other elements that work
together to provide some cooperative behavior.
Place order
A use case is a description of a set of sequence
of actions that a system performs that yields an
observable result.
11
Notation Active Class
EventManager eventlist suspend() flush()
An active class is a class whose objects own one
or more processes or threads and therefore can
initiate control activity.
12
Notation Component Node
A component is a physical and replaceable part of
a system that conforms to and provides the
realization of a set of interfaces.
Server
A node is a physical element that exists at run
time and represents a computational resource.
13
Notation Behavioral ThingsMessages States
display
An interaction is a behavior that comprises a set
of messages exchanged among a set of objects
within a particular context to accomplish a
specific purpose.
Waiting
A state machine is a behavior that specifies the
sequence of states an object or an interaction
goes through during its lifetime in response to
events.
14
Notation Grouping and Annotation
Business rules
A package is a general-purpose mechanism for
organizing elements into groups.
return copy of self
A note is a symbol for rendering constraints and
comments attached to an element or a collection
of elements.
15
Notation Relationships
A dependency is a semantic relationship between
two things in which a change to one may effect
the semantics of the other.
0..1
employer employee
An association is a structural relationship that
describes a set of links, a link being a
connection amng objects.
16
Notation Relationships (continued)
child
parent
A generalization is a specialization/generalizatio
n relationship is which objects of the
specialized element (child) are substitutable for
objects of the generalized element (parent).
A realization is a semantic relationship between
classifiers, wherein one classifier specifies a
contract that another classifier guarantees to
carry out.
17
Diagrams in UML
A diagram is the graphical representation of a
set of elements, usually rendered as a connected
graph of vertices (things) and arcs
(relationships). ? Class diagram shows a set of
classes, interfaces, and collaborations with
their relationships. ? Object diagram shows a set
of objects and their relationships. ? Use case
diagram shows a set of use cases and actors (a
special kind of class) and their relationships.
18
Diagrams in UML (continued)
? Interaction diagram shows an interaction,
consisting of a set of objects and the
relationships, including the messages that may be
dispatched among them. gt A sequence diagram
emphasizes the time ordering. gt A
collaboration diagram emphasizes the structural
organization of the objects that send and receive
messages.
19
Diagrams in UML (continued)
? Statechart diagram shows a state machine
consisting of states, transitions, events, and
activities. ? Activity diagram is a statechart
diagram that shows the flow from activity to
activity within a system. ? Component diagram
shows the organization and dependencies among a
set of components. ? Deployment diagram shows the
configuration of processing nodes and the
components that live on them.
Write a Comment
User Comments (0)
About PowerShow.com