Documente Academic
Documente Profesional
Documente Cultură
CS 312
OO Modeling
CS 214
Fall 2011
There will be a two hours lab.
Richard C. Lee
Currently:
Impaired 31.1%
Successful projects deliver full functionality
on-time and on-budget
Challenged projects deliver, but less than
full functionality, over-budget, and late
Impaired are cancelled during development
For 1995, the cost of challenged and
impaired projects was $1400 billion
in USA
Many projects are started with the wrong
goals and find themselves having to start
over again from the beginning.
Maintainable
Developed within budgeted resources
( time/ space / people )
Designed with appropriate longevity in mind
Classical
(structured,
Development data modeling,
ad hoc, etc )
Object-Oriented
A Student Guide Object-Oriented
Development
Requirements What are the problems, needs and wishes of clients List of requirements that can be used as
and users? a starting point for development.
What are the objectives and scope of the proposed List of problem areas that fall within
system? the scope of the proposed system.
What are the major risks involved? Assessment of risk factors.
Analysis What does the system look like from the clients’ and A set of models, each taking a different
users’ perspective? view of the system, which together
give a complete picture. The
models may be text, diagrams or
early prototypes.
Design How can the system be constructed, so as to satisfy Models from the analysis stage, refined
the requirements? to illustrate the underlying
architecture of the system. These
models take account of
technological considerations and
constraints arising from the
implementation environment.
Implementation How can the models produced be translated into A fully tested suite of programs.
code?
Installation What is needed to support clients and users and User manual, technical documentation,
ensure that they can use the new system user training.
effectively?
Poor modularity
Data versus function
Problems with Traditional Approach
Functional Decomposition
Poor modularity
– Ideally modules should be self-
contained
– Have well defined purpose
– Be independent
Major problem – interdependency
between modules
Data versus function
Problems with Traditional Approach
Functional Decomposition
Poor modularity
Data versus function
– System functionality is more likely to
change than the data
– Over time the functionality is more
unstable than the data
The Object-Orientated Approach
Phases (stages) of Development
Inception
Elaboration
Construction
Transition
Construction
Transition
The Object-Orientated Approach
Phases (stages) of Development
Inception
Elaboration
Construction – involves bulk of work on
building the system
– Ends with beta-release of system
Transition
The Object-Orientated Approach
Phases (stages) of Development
Inception
Elaboration
Construction
Transition – process involved in
transferring the system to the clients and
users
Workflows
The activities implied by the stages in a
traditional structured modelling approach
are referred to as Workflows in the object-
orientated approach
Workflows -
– Requirements
– Analysis
– Design
– Implementation
– Testing
Workflows - activities
PHASES WORKFLOWS
Inception Requirement
s
Elaboration Analysis
Construction Design
Transition Implementation
The Object-Orientated Approach
Iterative Process -
Workflows may be carried out during
any phase of development
In each phase a range of workflows
(activities) may be carried out several
times before moving on to the next
phase
The Object-Orientated Approach
A range of Requirements
workflows Analysis
(activities) take
Design
place during the
Implementation
development of a
Testing
system
The Object-Orientated Approach
Inception
An iterative
process.
Transition
The Object-Orientated Approach
A seamless Development Process
Phases less distinct than in a
structured approach
Difficult to say when one phase ends
and another begins
Driven by a single unifying idea – the
object
The Object
Basic building block
Objects in the real world translate
into objects in the software system
– Physical (customers, products)
– Conceptual (orders, reservations
– Organisation (companies, departments)
– Implementation (GUI Windows)
The Object-Orientated Approach
The foundation of all development
work is the object
No new system models introduced at
different stages
Early models developed and refined
through the development process
An iterative design process
Modelling
Scenario State
Scenario
Diagrams State
Diagrams
Sequence
Diagrams State
Diagrams
Diagrams Model Diagrams
Scenario Component
Scenario
Diagrams
Component
Diagrams
Component
Collaboration
Diagrams Deployment Diagrams
Diagrams Diagram Diagrams
Unified Modeling Language (UML)
-State
-Transition
-Event
-Condition
-Action
Structural Modeling: Core Elements
Construct Description Syntax
class a description of a set of objects
that share the same attributes,
operations, methods, relationships
and semantics.
interface a named set of operations that
characterize the behavior of an «interface»
element.
component a modular, replaceable and
significant part of a system that
packages implementation and
exposes a set of interfaces.
node a run-time physical object that
represents a computational
resource.
Structural Modeling: Core Elements
(Continued)
package or
a holder for grouping elements
subsystem
Structural Modeling: Core Relationships
Construct Description Syntax
association a relationship between two or more
classifiers that involves connections
among their instances.
aggregation A special form of association that
specifies a whole-part relationship
between the aggregate (whole) and
Composition the component part.
generalization a taxonomic relationship between a
more general and a more specific
element.
dependency a relationship between two modeling
elements, in which a change to one
modeling element (the independent
element) will affect the other modeling
element (the dependent element). (open arrow)
Structural Modeling: Core
Relationships (Continued)