OOAD chap 1: The Method


Published on

For ITU, SMDF2009

Published in: Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

OOAD chap 1: The Method

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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