vrije universiteit amsterdampostacademische cursus informatie technologie object-oriented software...
DESCRIPTION
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Introduction If OO is the Answer, What is the Question?TRANSCRIPT
![Page 1: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/1.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Object-Oriented Software Engineering
Anton EliënsVrije Universiteit, Amsterdam
28 october 1998
http://www.cs.vu.nl/~eliens/cmg/html/oohttp://www.cs.vu.nl/~eliens/online/courses/cmg/oo
![Page 2: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/2.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Topics:
• OO technology• The OO life cycle• Project Management• Application Frameworks• Current developments and trends
![Page 3: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/3.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Introduction
If OO
is the Answer,
What isthe Question?
![Page 4: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/4.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Keywords and phrases
• the OO lifecycle -- modelling• encapsulation, inheritance, delegation,
polymorphism• specification and implementation inheritance• design by contract• interfaces, components and frameworks• idioms, patterns, software architecture
![Page 5: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/5.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Characterisations of OO
1. encapsulation + inheritance2. data abstraction + polymorphism3. interfaces + components4. types + implementations5. CORBA + Application Frameworks6. Java + nothing else7. a metaphor + hype8. everything I can sell …
Let's have a look at the Introduction from Principles of Object-Oriented Software Development
![Page 6: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/6.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Managing O-O Projects
Did YOU ever manage a project?
![Page 7: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/7.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Critical Success Factors
• use incremental scheduling and staging• find and fix failing ideas• develop a habit of delivering• get: sponsor, project manager, technical leader
![Page 8: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/8.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Key Failure Indicators
• absence of incremental development• use of C++ in commercial IS
see Surviving Object-Oriented Projects: A Managers Guide
![Page 9: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/9.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
OO - Success and Failure
• OO = technology + mind-set• it might be new technology to your organisation• developers love it!• requires and enables communication between
groups• adopting OO may succeed or fail!
![Page 10: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/10.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Possible benefits - responsiveness
• responsiveness - variations on a theme• responsiveness to change!• time-to-market• communication - developers, users, executives• maintenance, reuse, productivity• GUI development• morale -- cutting-edge technology
![Page 11: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/11.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Drawbacks
• Are YOU underestimating?• productivity takes time• hazards of C++ (and Java, ...)• reuse is difficult• establishing a software process• business-modelling or software design?• CASE helps?• You will pay for: training, experience, tools,
consultants, ...
![Page 12: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/12.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
The hazards of C++?
• C++ won the language war over Eiffel, Objective-C, SOM, C@+, and Java?
• Java -- relative simplicity and portability
![Page 13: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/13.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Managing (the complexity of) C++
• misconception: C++ is like C• consider using another language• Why does C++ exist? - engineering and
systems programming• create a subset of the language• design and coding standards• use people with knowledge!
![Page 14: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/14.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Risk-reduction Strategies
• look carefully all around the project• detect the risks!• list the risks in order• work on the risks in order of danger
see Risk Avoidance Patterns
![Page 15: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/15.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Case studies: Application Framework
• The hush Framework• The San Francisco Framework
![Page 16: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/16.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Technology and Trends
UML Risks
JavaFrameworks
ContractsCORBAPatternsDOT
![Page 17: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/17.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
The Unified Modelling Language
• use case diagram• class diagram• behaviour diagrams:
– state-chart diagram– activity diagram– interaction diagrams:
• sequence diagram• collaboration diagram
• implementation diagrams:– component diagram– deployment diagram
For some background see: Ch. 11: Methods and Tools
![Page 18: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/18.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
UML - Quick Reference and Overview
adapted from the Rational Rose Quick Reference at http://www.rational.com/uml/qr
![Page 19: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/19.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
![Page 20: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/20.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
![Page 21: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/21.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
![Page 22: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/22.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
![Page 23: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/23.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
![Page 24: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/24.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
![Page 25: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/25.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
![Page 26: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/26.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
![Page 27: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/27.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
![Page 28: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/28.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
![Page 29: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/29.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Design by Contract
• formal basis -- pre and post conditions• refinement -- by inheritance or polymorphism• runtime checks -- division of responsibility
see Ch. 3, Contracts
![Page 30: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/30.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Frameworks
• Frameworks = Components + PatternsRalph Johnson, CACM Nov. 1997
• Self-documentation PrincipleBertrand Meyer, OO Software Construction
2nd ed.
the designer of a module should strive to make all information about the module part of the module itself ...
![Page 31: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/31.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
The benefits
The benefits of frameworks stem from the inversion of control.
A Framework defines an Architecture?
![Page 32: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/32.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Software Architecture
Software Architecture = a set of rules, guidelines, interfaces, and conventions used to define how components and applications communicate and interoperate with each other ...
see patterns
![Page 33: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/33.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
A Catalogue of Design patterns
• a common design vocabulary• documentation and learning aid• an adjunct to existing methods• a target for redesign
see the GOF Design Patterns and the Patterns Homepage
![Page 34: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/34.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
The Pattern Schema: structure
• Name - handle– increases design vocabulary
• Problem - when to apply– explains the problem and the conflict
• Solution - general arrangement– design, responsibilities, collaborations
• Consequences - trade-off's– to understand the costs and benefit
![Page 35: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/35.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Causes for Redesign (1)
1. creating an object by specifying a class explicitly -- Abstract Factory, Factory Method, Prototype
2. dependence on specific operations -- Chain of Responsibility, Command
3. dependence on hardware & software platforms -- Abstract Factory, Bridge
4. dependence on object implementation or representation -- Abstract Factory, Bridge, Memento, Proxy
![Page 36: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/36.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Causes for Redesign (2)
5. algorithm dependence -- Builder, Iterator, Strategy, Template Method, Visitor
6. extending functionality by subclassing -- Bridge, Chain, Composite, Decorator, Observer
7. tight coupling -- Abstract Factory, Bridge, Chain of Responsibilities, Command, Facade, Mediator, Observer
8. inability to alter classes conveniently -- Adaptor, Decorator, Visitor
![Page 37: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/37.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Kinds of Patterns
• creational patterns -- Factory, Singleton, ...• structural patterns -- Adaptor, Composite, Bridge, ...• behavioral patterns -- Mediator, Observer,
Command, …
see also
see UML
![Page 38: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/38.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Java
If Java
is the Answer,
What isthe Question?
see Ted Lewis, IEEE Computer, March 1997, p. 136
![Page 39: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/39.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
The dream: UNCOL
• Java is pervasive• remember, most of Java is just warmed-up C/C+
+• UNCOL = Universal Common Language
(1963) Algol -> PL/I -> Pascal -> Ada -> C++ -> …• Java as UNCOL: the dial-tone of the Internet
if today's languages are inadequate for Software then Java must be inadequate too ...
![Page 40: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/40.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Hostages of legacy code
• our responsibility is that future applications (built with Java) are well-behaved legacy systems
• US DOD: $ 30 billion in year 2000 problem• maintaining legacy COBOL from the 70's is a
major industry ...• by 2010, Java will be the maintenance tail
wagging the software dog!
![Page 41: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/41.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Is Java doomed to repeat history?
• elegant minimalism is one of the goals of Java,remember Pascal, a toy language!
• Java lacks IO, OS support ...
![Page 42: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/42.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Problems
• Java = watered-down C++, retrofitting Pascal– syntax: int i = ++i--;– unruly scope rules: C++ plus f i n a l, n a t i v e, s y n
c h r o n i z e d, ...– threads: potential deadlocks
![Page 43: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/43.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Java: a better mousetrap?
• requirements: no support (assert)• defacts: syntax, non-standard APIs• components: Beans ActiveX, CORBA,
OpenDoc• cycle time: Java does little to accommodate
Internet time, like script languages do• complexity: Java does not advance the
intellectual frontier!
![Page 44: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/44.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
CORBA
• the issue is standardisation• by means of interfaces• looking for consensus• this differs from a de-facto standard• imposed by market share ...
see Ch 11: Application integration -- standards andsee frameworks
![Page 45: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/45.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Dimensions of Risks
• Knowledge• Teaming• Productivity• Ownership• Distractions
Don't discuss risks, unless you know how to do Project Management
![Page 46: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/46.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Risk Reduction Strategies
• Knowledge– clear the fog -- get to the real issues– early and regular delivery -- discover what you don't
know– prototype! -- discover how it really works– create microcosm -- do something real, but with care
![Page 47: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/47.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Risk Reduction Strategies
• Teaming– holistic diversity -- co-ordinate specialists!
• Productivity– gold rush -- start immediately, adjust slowly
• Ownership– function / component owners -- create responsibility
![Page 48: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/48.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Risk Reduction Strategies
• Distractions– someone always makes progress -- no total
interruption– team per task -- a subteam deals with diversions– sacrifice one person -- and preserve the team
• Training– day care -- hire an expert to take care of novices
![Page 49: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/49.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Conclusions
• OO offers– a valid metaphor for SE– powerful technology– maturing design methods and notations– a rich set of patterns
![Page 50: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/50.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Yet beware of
• the learning curve• simplified hype• cutting edge technology• (over) ambitious projects
![Page 51: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/51.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Assignments:
• Write a paper about one of the following topics. The paper may discuss concepts or focus on a case study.– The Unified Modelling Language -- UML– Frameworks -- for example San Francisco
• Write a comparative study of object-oriented analysis and design methods, focussing on aspects of project management.
• Describe a case study concerning the deployment of design patterns.
![Page 52: Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Object-Oriented Software Engineering Anton Eliëns Vrije Universiteit, Amsterdam](https://reader036.vdocument.in/reader036/viewer/2022062905/5a4d1ae97f8b9ab05997a18d/html5/thumbnails/52.jpg)
vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie
Course material
• Chapter 1• Additional material
– Ch 3: Design by Contract– Ch 11: Methods and Tools– Object Tutorials
• Resources– http://www.rational.com -- Rational Rose, UML– http://www.ibm.com/java/sanfrancisco -- IBM Java San Francisco
Framework
• Papers and Reports– http://www.rational.com/uml/html/summary -- UML Summary– http://www.ibm.com/Java/Sanfrancisco/prd_summary.html -- San
Francisco Technical Summary