UML for beskrivelse av distribuerte informasjonssystemer

Slides:



Advertisements
Similar presentations
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Advertisements

OO-NIK /16/2017 4:19 AM Objektorientering og Informasjonssystemer for det 21. århundre (Understand – Explore – Master – Control) NIK 2003 Oslo.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6.
Chapter 3 Software Two major types of software
 2003 Prentice Hall, Inc. All rights reserved. Chapter 1 – Introduction to Computers, the Internet, and the Web Outline 1.1 Introduction 1.2 What Is a.
IT – DBMS Concepts Relational Database Theory.
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
Components of Database Management System
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
INTRODUCTION SOFTWARE HARDWARE DIFFERENCE BETWEEN THE S/W AND H/W.
1 Introduction to Information Systems Essentials for the Internetworked E-Business Enterprise C h a p t e r Computer Software 1.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
© Trygve Reenskaug 2008UMLChina Slide 1 20 November 2015 The Common Sense of Object Oriented Programming Trygve Reenskaug Department of Informatics University.
Data and Applications Security Developments and Directions Dr. Bhavani Thuraisingham The University of Texas at Dallas Lecture #12 Secure Object Systems.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
Programming Paradigms, Software Architectural Patterns, and MVC CS 378 – Mobile Computing for iOS Dr. William C. Bulko.
Databases and DBMSs Todd S. Bacastow January 2005.
Normalized bubble chart for Data in the Instructor’s View
Data and Applications Security Developments and Directions
Chapter 8 Environments, Alternatives, and Decisions.
CHAPTER 1: Computers and Systems
By: Raza Usmani SaaS, PaaS & TaaS By: Raza Usmani
Computer Science 2 What’s this course all about?
Discovering Computers 2010: Living in a Digital World Chapter 14
Chapter 1 – Introduction to Computers, the Internet, and the Web
Chapter 2 Database System Concepts and Architecture
William Stallings Computer Organization and Architecture 8th Edition
William Stallings Computer Organization and Architecture 7th Edition
CSCI-235 Micro-Computer Applications
Introduction to Visual Basic 2008 Programming
COMPACT Web Design Approach:
Computer System and Programming
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
MVC and other n-tier Architectures
Architectural Design of Distributed Business Systems
Design and Maintenance of Web Applications in J2EE
Perspectives on the Unified Modeling Language semantics
Chapter 1 – Introduction to Computers, the Internet, and the Web
ECEG-3202 Computer Architecture and Organization
Text Book Computer Organization and Architecture: Designing for Performance, 7th Ed., 2006, William Stallings, Prentice-Hall International, Inc.
William Stallings Computer Organization and Architecture 8th Edition
William Stallings Computer Organization and Architecture 7th Edition
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4th edition, Prentice Hall, Hans Van Vliet, Software Engineering:
MVC and DCA: Two complimentary system architectures.
Unleashing the Power of Distributed Objects
Distribuerte Systemer Viktigere enn vi tror, vanskeligere enn det høres Komponenttorget ‘99 Trondheim Trygve Reenskaug Numerica Taskon Distaribuerte.
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 3 Hardware and software 1.
“The UML Collaboration, a Standard for Role Modeling.”
Things your mother didn't tell you about architecture and GUIs Part II
ECEG-3202 Computer Architecture and Organization
Komponentbasert utvikling Den sanne objektorientering
The What, Why and How of the UML Collaboration
Visjoner og arkitektur
The semantics of the UML Collaboration
Chapter 1 – Introduction to Computers, the Internet, and the Web
Chapter 3 Hardware and software 1.
Chapter 1 Introduction.
Principles of Programming Languages
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
Data and Applications Security Developments and Directions
CSE 451: Operating Systems Winter 2007 Module 1 Course Introduction
ICS103 Programming in C 1: Overview of Computers And Programming
William Stallings Computer Organization and Architecture 7th Edition
Overview of Computer system
Presentation transcript:

UML for beskrivelse av distribuerte informasjonssystemer Understand IT Friday, November 23, 2018 UML for beskrivelse av distribuerte informasjonssystemer UML Fagseminar Mogul Academy Februar/Mars 2002 Trygve Reenskaug http://www.ifi.uio.no/~trygver trygve.reenskaug@ifi.uioi.no Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug

From partners' presentation to OMG Nov 2001 (With permission) UML 2.0 Partners From partners' presentation to OMG Nov 2001 (With permission) Arkitektur for distribuerte informasjonssystemer

Arkitektur for distribuerte informasjonssystemer Introduction UML Architecture as the composition of Parts CPU Centered Storage Centered Communication Centered UML - Useful on different levels Conclusion & Pervasive Computing Arkitektur for distribuerte informasjonssystemer

CPU-Centered paradigm Understand IT Friday, November 23, 2018 CPU-Centered paradigm FORTRAN Algol 60 …….. Output Input UML Activity diagram Central Processing Unit Flowchart Memory Processing data is the essence The world is the processing of data FORTRAN : FORmula TRAnslation COMMON variables Algol: ALGOrithmic Language GLOBAL variables Some people didn’t make the transition from punched card processing to computers Tape Hardware Software Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug

Storage-Centered paradigm Understand IT Friday, November 23, 2018 Storage-Centered paradigm Shared database App.1 App.2 App.4 App.3 DB Schema language e.g. Entity-Relation e.g. NIAM Output Input Memory Central Processing Unit B C A * 1 UML Class diagram Multiport memories Storing data is the essence The world is the management of data Schema languages GLOBAL schema Includes CPU-centered, but demoted to background Some people didn’t make the transition from FORTRAN or COBOL to databases A real programmer can write FORTRAN in any language! Disk Tape Hardware Software Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug

Water Resource Management Norway 1993 Arkitektur for distribuerte informasjonssystemer

Communication-Centered paradigm Understand IT Friday, November 23, 2018 Communication-Centered paradigm Object 1 Object 2 Object 4 Object 3 Information Bus Central Processing Unit Input Output Disk Communication Bus Memory Tape HW: the BUS or BACKPLANE flexible extensible simple SW: Surprisingly late coming! Exploded because 20 years needs finally released Includes, but demotes, CPU- and storage-centered flexible extensible simple Join enterprise with customers and subcontractors! UML Collaboration/OOram Composition tools ?? Hardware Software Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug

Dilemma: Ship designer needs more than Ship Design System Arkitektur for distribuerte informasjonssystemer

70-årenes datasystemer Prosjektforslag juni 1970 Arkitektur for distribuerte informasjonssystemer

Enterprise Java Bean (EJB) Application Assembler perspective Information Bus / WEB Browser / Name Server / Applet (End user tool) 1: lookup("roombroker"); / Booking Home Factory object / Booking Bean / Booking Object 2: create(xxx); 3: ejbCreate(xxx); 4: getRooms(); / Room Chooser Java Beans 5: getRooms(); 6: addItem(element) Arkitektur for distribuerte informasjonssystemer

Focus on Architecture Hide implementation Information Bus / WEB Browser / Name Server The component has responsibility knows its collaborators is robust Nobody knows everything! / Applet (End user tool) Code is invisible! 1: lookup("roombroker"); / Booking Home Factory object / Booking Bean / Booking Object 2: create(xxx); 3: ejbCreate(xxx); 4: getRooms(); Components References Interfaces are visible! / Room Chooser Java Beans 5: getRooms(); 6: addItem(element) Arkitektur for distribuerte informasjonssystemer

UML 2: Parts and Connectors Car a:Axle [2..*] w:Wheel [0..*] Part Structural features that specify future instances (objects, links) Contextualization instances will be part of same container instance and links will connect instances within this container From partners' presentation to OMG Nov 2001 (With permission) Arkitektur for distribuerte informasjonssystemer

From partners' presentation to OMG Nov 2001 (With permission) UML 2: Ports From partners' presentation to OMG Nov 2001 (With permission) Arkitektur for distribuerte informasjonssystemer

Arkitektur for distribuerte informasjonssystemer Introduction UML Architecture as the composition of Parts CPU Centered Storage Centered Communication Centered UML - Useful on different levels Conclusion & Pervasive Computing - - Arkitektur for distribuerte informasjonssystemer

Personal, Integrated Information Environments Understand IT Friday, November 23, 2018 Personal, Integrated Information Environments Enterprise level Work processes UML Object Model Enterprise level Work processes UML Object Model Personal level User's mental model UML Collaboration System level Design models All of UML Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug

UML Collaboration modeling Understand IT Friday, November 23, 2018 UML Collaboration modeling Peter (Technical author) Bill (Dispatcher) Joyce (Sales clerk) Douglas (Marketing manager) Kim (Methodologist) Elsie (Programmer) Eve (Software Manager) (Bookkeeper) Joe (Paymaster) Adam (Chief Accountant) Ruth (President) John (Cashier) Ann (Customer consultant) 4: authorizedExpenseReport Authorizer 1: travelPermissionRequest 2: travelPermission 3: expenseReport Paymaster 5: paymentRequest Traveler The classifierRole represents the object’s position in the structure and its responsibility for performing its part of the system function. Cashier Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug

<Check OK> <Authorize> Understand IT Friday, November 23, 2018 UML Activity Modeling Traveler Authorizer Bookkeeper Paymaster Who Travel perm. request <Decide> <Plan trip> What Travel permission <Buy tickets> When <Write exp. Report> <Travel> Expense Report <Check OK> <Authorize> Authorized Expense Report <Check> <Bookkeeping> Payment Request <Pay out> Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug

Task: Decide permission Travel Expense Model Understand IT Friday, November 23, 2018 Task: Decide permission Travel Expense Model / Traveler / Authorizer / Authorizer / BookKeeper / Paymaster Travel perm. request <Decide> Travel perm. request <Decide> Travel permission <Plan trip> Travel permission <Buy tickets> <Write exp. Report> <Travel> Expense Report <Check OK> <Authorize> Authorized Expense Report <Check> <Bookkeeping> Payment Request <Pay out> Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug

Personal Information Environment Understand IT Friday, November 23, 2018 Personal Information Environment Personal level User's mental model UML Collaboration Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug

Travel Permission Decision Tool Travel Expense System Understand IT Friday, November 23, 2018 Travel Permission Decision Tool Travel Expense System Traveler Peter Period week 11 Planned cost USD 2000.- Purpose Attend TOOLS Europe 2001 Current plan for Peter activity 1 activity 2 activity 3 week 10 11 12 13 14 15 Budget + commitments Item Budget Committed Travel 10,000 4,000 Permit Reject Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug

Travel Permission Decision Tool Required Topology Understand IT Travel Permission Decision Tool Required Topology Friday, November 23, 2018 Traveler Peter Period week 11 Planned cost USD 2000.- Purpose Attend TOOLS Europe 2001 Current plan for Peter activity 1 activity 2 activity 3 week 10 11 12 13 14 15 Budget + commitments Item Budget Committed Travel 10,000 4,000 Reject Permit / Planning Service / Authorizer / DecisionTool / Travel Service / Accounting Service Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug

Alan Kay's Dynabook View, navigate, edit, program objects Mommy: "Do your homework, June" June: " I am doing it, mommy" Arkitektur for distribuerte informasjonssystemer

Donald A. Norman: The Design of Everyday Things Arkitektur for distribuerte informasjonssystemer

The Importance of the User's Mental Model Understand IT Friday, November 23, 2018 The Importance of the User's Mental Model A good conceptual model allows us to predict the effects of our actions. Without a good model we do operations as we are told; we cannot fully appreciate why, what effects to expect, or what to do if things go wrong. System Image SYSTEM DESIGNER Design model USER USER'S MODEL Donald A. Norman: The Design of Everyday Things Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug

Model-View-Controller (MVC) The 1978 Original Controls the Tool User Model Persistence & Business Logic View Present and edit Information Arkitektur for distribuerte informasjonssystemer

Arkitektur for distribuerte informasjonssystemer Introduction UML Architecture as the composition of Parts CPU Centered Storage Centered Communication Centered UML - Useful on different levels Conclusion & Pervasive Computing Arkitektur for distribuerte informasjonssystemer

Pervasive / Ubiquitous Computing Pervasive Computing is a term for the strongly emerging trend toward: Numerous, casually accessible, often invisible computing devices Frequently mobile or imbedded in the environment Connected to an increasingly ubiquitous network structure Pervasing Computing 2001 Arkitektur for distribuerte informasjonssystemer

Ubiquitous Computing program Xerox PARC 1988 Radical answer to what was wrong with PC: Too complex & hard to use Too demanding of attention Too isolated from other people and activities Too dominating as it colonized our desktops and our lives Arkitektur for distribuerte informasjonssystemer

Ubiquitous Computing program Xerox PARC 1999 Vast potential: Improving work practices and knowledge sharing essentially getting computers out of the way amplifying human-to-human communication Arkitektur for distribuerte informasjonssystemer

Ubiquitous Computing program Xerox PARC 1999 The problem of control because system is invisible and extensive: hard to know what is controlling what hard to know what is connected to what hard to know where information is flowing hard to know how it is being used hard to know the consequences of any action Arkitektur for distribuerte informasjonssystemer

Empowering the user with objects in the computer interface Understand IT Friday, November 23, 2018 Objects Backplane (Java Virtual Machine etc.) Create the Illusion ! Computing is Simple! Operating System Hardware Net After Øystein Myhre Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug

Understand IT Friday, November 23, 2018 More details …. http://www.ifi.uio.no/~trygver trygve.reenskaug@ifi.uio.no Unified Modeling Language (UML). Object Management Group. Version 1.4, Formal version, September 2001. http://www.omg.org/technology/documents/formal/uml.htm Version 2.0, One of initial proposals, http://www.u2-partners.org/ Donald A. Norman: "The Design of Everyday Things." Doubleday/Currency 1990. ISBN 0-385-26774-6 End user programming: http://www-alt.pasteur.fr/~letondal/These/links-ihm.html The reference work on role modeling: Reenskaug, Wold, Lehne: Working With Objects. This book is out of print. A .pdf version kan be downloaded free from http://www.ifi.uio.no/~trygver The theory of role modeling: Egil P. Andersen: Conceptual Modeling of Objects. A Role Modeling Approach. Dr Scient thesis. Dept. of Informatics, University of Oslo. 4 November 1997. ftp://ftp.nr.no/pub/egil/ConceptualModelingOO.ps.gz Pervasive computing: IBM Journal of Research and Development 38, 4 (1999) http://www.research.ibm.com/journal/sj38-4.html Arkitektur for distribuerte informasjonssystemer ©2000 Trygve Reenskaug