Contenu connexe
Similaire à OOAD chap 1: The Method (20)
OOAD chap 1: The Method
- 1. Henrik Sternberg
• 1991 Cand. Mag. From RUC
– Computer Science and Danish Language
• 1991 – 2000
– Lecturer at the Datamatician Programme at Niels Brock
– Teaching:
• Systems development,
• Systems development Theory
• 2000 –
– Methodology Consultant at Tieto
• Proces Improvement
www.linkedin.com/in/henriksternberg
© ITU, February 09
Agenda
• Introduction to Systems Development
– Information Systems
– Information Systems development
– IS Development Methodologies
• The OOA&D Method
– Key Principles
© ITU, February 09
Information Systems
• Provides processes and information
useful to members of an organisation
• We will adress formal IS
– Opposite to informal/intuitive IS
• 3 different aspects of IS
– Human
– Organisational
– Technological
”Avison & Fitzgerald”
© ITU, February 09
1
- 2. 3 aspects of IS
”Psychology”
Interpretation of Models
Human Organisational
Used in and
developed for
required, developed
and used by humans organisations
Models
With use of technology
Technological
”Mathematics”
© ITU, February 09
Types of IS Online
• Payroll systems
• Invoicing systems
• Reservation systems
Batch
• Project planning
• E-trading systems
HW
• Decision support systems
• …
SW
© ITU, February 09
Views of IS development
Development of IT
Complex
development
of IS
Requires
Methods
ONE
VISION
Organisational development Development of qualifications
”Bødker, Kensing m.fl.
© ITU, February 09
2
- 3. IS Development Methods
• A collection of procedures, techniques,
tools and documentation aids which will
help system developers in their effort to
implement a new IS.
• Attributes of a method
– Phases, techniques, tools, training scheme
– A philosophy
• Implied or stated
• Underlying theories and assumptions
”Avison & Fitzgerald”
© ITU, February 09
IS Method Philosophy (example)
Organisational Change Process
Construction Process Cognition Process
Political Process
”Andersen, Kensing m.fl.”
© ITU, February 09
System development activities
Udførelse
Analysis Evaluation
Design Planning
Realisation Regulation
Tværgående
Decision
Communication
Socialisation
Oprindelig kilde: Andersen, et.al,
Professionel Systemudvikling,1986 Teknisk Forlag.
© ITU, February 09
3
- 4. What defines a method?
• A area of application: a type of software to be developed
using it, a way to organize the development process.
• A perspective, consisting of assumptions about the nature
of the system, organizations, the surrounding society and
the purpose of the local organization.
• Principles for organizing the development process,
splitting it into partial tasks.
• Techniques of work used in the partial tasks
• Tools used in the application of the technique. (Diagrams,
notations, or computer support.)
© Lars Matthiassen
© ITU, February 09
The OOA&D Method
Part I: System choice (next lecture) Part III:
Part II:
How is the
What does
system used?
the system Part V:
administrate? How are the
individual
components
designed and Part VI:
connected? documentation &
implementation
Next:
Key concepts:
- Objects & Classes
Principles:
- Model the context
Part IV:
- Emphasize architecture
How is the
- Reuse known patterns
system
- Tailor the method
structured?
© ITU, February 09
Key principles of the OOA&D Method
• Objects and classes
• Model the context
• Emphasize the architecture
• Reuse known patterns
• Tailor the method
© ITU, February 09
4
- 5. Object Orientation (OO)
• Class:
A collection of objects with particular
attributes, structure and behavior
• Object:
An identifiable instance of a class
© ITU, February 09
Why Object Orientation?
• Objects arise naturally from analysis of context
• “The Employee can be found by her name,
telephone or address, - addresses change
sometimes during employment.”
• OOA&D + OO programming language =
Coherent analysis, design & implementation
© ITU, February 09
Objects in analysis and design
• Design (and
• Analysis:
programing):
– Phenomena outside
– Phenomena inside the
the computer system
computer system
– Identity: identifies an
– Identity: gets access to
object
an object
– Behavior: the events
– Behavior: the
an object have operations an object
performed or suffered can perform on
request and offers to
other objects
© ITU, February 09
5
- 6. OO, Function and Data
• 70’ties: Focus on functions (behavior)
• 80’ties: Focus on data (state)
• 90’ties: OO Integrates and encapsulates
state and behavior
• last decade: Service & process orientation
© ITU, February 09
Key principles of the OOA&D Method
• Objects and classes
• Model the context
• Emphasize the architecture
• Reuse known patterns
• Tailor the method
© ITU, February 09
Object System: The users perspective
of the problem domain
Model the context
• Problem domain:
System
That part of a
context that is
administrated,
monitored, or User
controlled by a
system
Problem domain Application domain
•Application domain: The organization that
administrates, monitors, or controls a
problem domain
© ITU, February 09
6
- 7. Model the context (Hair Salon, ch
20)
How is it managed by the
users?
What is managed?
Make work plan
customer change appointment
assistant make booking
apprentice finish treatment
reservation
plan
booked
cancelled
treated
employed
resigned
Actors, Use cases,
Classes & events
functions
© ITU, February 09
A model of the problem domain
Application domain
Model
• The model is an updated
representation of the state in the
problem domain.
Problem domain • The users get information about
the problem domain mediated
through the model.
© ITU, February 09
Key principles of the OOA&D Method
• Objects and classes
• Model the context
• Emphasize the architecture
• Reuse known patterns
• Tailor the method
© ITU, February 09
7
- 8. System Architecture
•Model: a dynamic model of the object system (= problem domain)
•Functions: Facilities, the users exploits for doing their job and update the model component
•Interface: Interfaces the computer system with its environment (human and other systems)
• Achitecture = higher level of
abstraction
• Components, responsibilities &
dependencies
• Comprehensible (high cohesion):
to support efficient collaboration &
development
• Flexible (loosely coupled):
prepared for changes
The general 3 layered
Computer based IS:
system architecture
A Collection of components that realises
Requirements to model, functions and interface
© ITU, February 09
Key principles
• Objects and classes
• Model the context
• Emphasize the architecture
• Reuse known patterns
• Tailor the method
© ITU, February 09
Reuse known patterns
• RE-USE
– Objects and components
– Role models and patterns
• Role models works as inspiration for design
• Patterns are abstract role models
• Patters are starting points for analysis and design
– Lists, heaps and queues are patterns for designing
datastuctures
© ITU, February 09
8
- 9. Key principles
• Objects and classes
• Model the context
• Emphasize the architecture
• Reuse known patterns
• Tailor the method
© ITU, February 09
Tailor the method
The OOA&D method
defines the general
principles and
activities
Particular techniques define the
order and emphasize of each
activity
© ITU, February 09
Tailor the method
Iterative
Waterfall/Top-down, problem
Incremental
first
Iteration 2
Iteration 1
Iteration 5
Demonstration and User
feedback
More about that next week
© ITU, February 09
9
- 10. Overview of Literature
& History
80ties: Smalltalk and C++ - an OO modeling language?
OO programming
System Development
concepts & techniques
(Rumbaugh et al 1991)
(Booch et al 1999)
Patterns - gang of 4
Gamma et al (1995)
’95 Rational Unified Method v0.8
Rational Unified Process
Use-case driven
1997 UML 1.0 &1.3 (OMG) (Jacobson et al 1999)
© ITU, February 09
Project Groups
• We have formed groups with 3 -4 students in
each!
• Meet in the lunch break and interview each other
for 2 minutes about your background.
• Take notes so that you can present each other
next week at the beginning of the exercises.
• (You may change group if you have a good
reason - report it to me and Nok)
• Until next Tuesday, think of a possible case for
your project.
© ITU, February 09
Referenceset al. Object Oriented Analysis and Design. 2000,
• L. Mathiassen
chapter 1.
• Peter Naur: Knowing and the Mystique of Logic and Rules. KAP
1995.
• Christiane Floyd: Developing and Embedding Auto-Operational
Form. In: Y. Dittrich,C. Floyd, R. Klischeswski: Social Thinking -
Software Practice. MIT Press 2002.
• Meir M. Lehmann: ‘Programs, Life Cycles, and Laws of Software
Evolution.’ In: Proceedings of the IEEE 68 (1980), 1060-1076.
• Peter Naur: Programming as Theory Building. reprinted in: Peter
Naur: Computing: A Human Activity. Addison-Wesley 1991
• Christiane Floyd: Software Development as Reality Construction. In:
Floyd, Züllighoven, Budde, Keil-Slawik: Software Development and
Reality Construction. Springer 1992.
• Bødker, K et al, Professionel IT forundersøgelse, Samfundslitteratur
2000
• Andersen,N.E., F. Kensing et.al, Professionel Systemudvikling,
Teknisk Forlag 1986
• Avison, A, G. Fitzgerald, Information Systems development,
McGrawHill, 2006
© ITU, February 09
10