BON Business Object Notation Largely based on slides by Prof. Paige
|
|
- Alfred Lee
- 5 years ago
- Views:
Transcription
1 BON Business Object Notation Largely based on slides by Prof. Paige 17-1
2 What is it? Notation for modelling object oriented software Two versions» graphical» textual Static notations for specifying classes, relationships and behavioural properties A method» rules and guidelines to be used when producing specifications and descriptions 17-2
3 What is it? 2 Concentrate on design aspects of the method Guiding concepts» seamlessness» reversibility» simplicity Does not include "standard" notational concepts» ER models» finite state machines 17-3
4 Characteristics of the Notation Generality» not restricted to application domains Seamlessness» Smooth transition from requirements through design to implementation all in one form of model Reversibility» Direct mapping of design concepts to and from implementation concepts Scalability» Scales up to large size designs 17-4
5 Characteristics of the Notation 2 Typed interfaces Support for software contracting» Supports require and ensure clauses by default Simplicity Space economy Tool support 17-5
6 Typed Class Interface Restricted features are produced during detail design Early phases concentrate on public features Arbitrary number of sections, each with export list Each feature has a signature and optionally a behavioural specification Conventions» Classes all in upper case» features all in lower case» use of underscore to make longer names NAME Inherits: parent classes Public features A, B, C Restricted features Invariant Class invariants 17-6
7 Compression and Class Hierarchy Use of compressed views when drawing specifications with lots of classes Use detail when you know more about the class Very useful in early stages of design NAME NAME * NAME Shortest form Reused library Deferred NAME [G, H] Parameterized + NAME Implemented NAME Root Instances may be separate processes NAME NAME Persistent Interfaces with outside world 17-7
8 Class Features Any number of features sections, each listing the set of classes permitted to use them Each feature name is listed with an optional mark showing status as follows» name* deferred name unimplemented feature» name + effective name implemented feature» name ++ redefine name redefined feature» name : TYPE result type» name : { TYPE aggregation result type» name : TYPE input argument» { ^ CLASS_NAME. name } rename clause 17-8
9 Class Features 2 Each feature has a signature» attributes: name : TYPE» functions: name ( arg : ARG_TYPE;... ) : RESULT_TYPE Types may be expanded, other classes, reused classes, et cetera 17-9
10 Example of Part of a Design PAPER Inherits: PRESENTATION copyright_transferred : BOOLEAN reviews : SET [ REVIEW ] final_score : VALUE award_best_paper : PAPER transfer_copyright : PERSON accept + reject + PRESENTATION code : VALUE title : VALUE authors : SET [ PERSON ] status : STATUS speakers : SET [ PERSON ] accept + reject
11 Assertion Language Each query and command can be documented with a precondition and a postcondition Classes obey the Eiffel language laws w.r.t. the effect of assertions, inheritance and redefinition Documentation may be written using the full predicate calculus, as well as set theory Graphical Form Textual Form?! precondition postcondition require precondition ensure postcondition the_invariant invariant the_invariant 17-11
12 Example Graphical BON Class CITIZEN name, sex, age : VALUE spouse : CITIZEN children, parents : SET [ CITIZEN ] single : BOOLEAN! Result ( spouse = Void ) divorce? not single! single and ( old spouse ).single invariant single or spouse.spouse parents.count = 2 c children ( p c.parents p 17-12
13 Equivalent Textual Notation class CITIZEN feature name, sex, age : VALUE spouse : CITIZEN single : BOOLEAN ensure Result iff ( spouse = Void ) end divorce require not single ensure single and ( old spouse ). single end invariant single or spouse.spouse = Current parents.count = 2 for_all c member_of children it_holds ( exists p member_of c.parents it_holds p = Current) end -- class CITIZEN 17-13
14 Assertion Language 2 Boolean operators & logic» and or xor not Predicate logic» for_all exists Aritmetic operators» + * / ^ (exponent) // (integer division) \\ (modulus) Relational operators» = ε < > Set operators» {... } 17-14
15 Assertion Language 3 old expr value of expr before a routine was called Special keywords & symbols» Result result of a function but only in ensure» Current current object» Void not attached» name attribute name may current object, void reference» : TYPE type operator 17-15
16 Assertion Language 4 BON assertions can be full-blown predicates and set expressions Part of design involves refining BON predicate assertions into Eiffel assertions 17-16
17 Quantifier Notation Main difference between BON and Eiffel assertions is the use of quantifiers Used to express properties about groups of objects General syntax such that» Quantifier Range_Expr [ Restriction ] Property > Quantifier > Range_Expr type range each value of a given type v : VEHICLE member range each member in a set c CHILDREN it holds / it is the case that 17-17
18 Quantifier Notation 2»Quantifier Range_Expr [ Restriction ] Property >Restrictions boolean expression a, b : INTEGER a 0 ^ b 0 some_property >Property boolean expression 17-18
19 Clusters A cluster represents a group of classes, and possibly other clusters, according to some point of view Classes may be grouped differently depending on the characteristics of the specification one wants to highlight» Subsystem functionality, user categories, abstraction level, et cetera Drawn as a dashed box with rounded corners, with name of the cluster in a separate rounded box 17-19
20 Clusters Example SORTING DATA_STRUCTURES LINEAR_SORT QUICKSORT INSERT_SORT GRAPH DIRECTED_GRAPH WEIGHTED_GRAPH GRAPHS ARRAY RECORD 17-20
21 Clusters 2 Clusters can be shrunk to hide their contents Every class in a system belongs to exactly one cluster Not a language construct, simply a mechanism for dealing with abstraction Implement in Eiffel with directory structure» Each cluster is a directory 17-21
22 Inheritance Relations PEOPLE YOUNG_PEOPLE OLD_PEOPLE TODDLERS PUPILS UNDERGRADS Can draw between uncompressed classes Can involve clusters» Either component or entire cluster Question: what are the rules for writing an inheritance relationship between a class and a cluster? 17-22
23 SORTING Inheritance & Clusters LINEAR_SORT INSERT_SORT DIRECTED_GRAPH WEIGHTED_GRAPH GRAPHS ARRAY All classes in sorting inherit from ARRAY Only DIRECTED_GRAPH inherits from ARRAY 17-23
24 Client Supplier Relations A uses the services supplied by B» Basic client supplier relations > Association some instance of the client class may be attached to one or more instances of the supplier class has a has a PERSON ADDRESS CITY Note should be only one arrowhead problem with double lines and single arrow head in slides 17-24
25 Client Supplier Relations 2 A uses the services supplied by B» Basic client supplier relations > Aggregation each client instance is attached to one or more supplier instances which represent "integral parts" of the client instance part of part of VEHICLE MOTOR CYLINDER propulsion combustion_chamber What's the difference between association and aggregation? Consider expanded vs reference use. Consider what happens when the client gets deleted
26 Bidirectional Links shoppers : set [... ] CUSTOMER SHOPPING_CENTER preferred_mall Put each label closer to the supplier side Generic classes can be used in labels» Leave parameter unspecified Useful for recursive structures» trees 17-26
27 BON Process ( The Method ) Precise process for analysis and development Idealized» In practice it is subject to variation, iteration, reversibility 17-27
28 Development Steps Gathering Delineate the system boundary > System chart, scenario charts» Identify what the system will include and what it will exclude. Determine» Determine the major subsystems» Determine user metaphors List candidate classes > Cluster charts» Produce a first pass list of classes 17-28
29 Gathering cont'd Select classes and groups > System chart, cluster charts, static architecture, class dictionary» Organise classes into logical groups / clusters» Determine status of classes > Deferred, effective, reused, et cetera 17-29
30 Development Steps Describing Define classes > Class charts» Give queries, commands, attributes, constraints > See slides on abstract data types Sketch system behaviour» Event charts, scenario charts, creation charts, object scenarios» Dynamic object model Define public features > class interfaces, static architecture» Give final class interfaces 17-30
31 Development Steps Designing Refine system > Class interfaces, static architecture, class dictionary, event charts, object scenarios» Find new design classes, add new features Generalize > Class interface, static architecture, class dictionary» Factor out common behaviour Complete and review system > Final static and dynamic models. All BON deliverables complete» Produce final static architecture with dynamic system behaviour 17-31
32 Modelling Charts First two steps of BON process : determine boundary, list candidate classes Informal charts are very useful for communicating basic ideas to non-technical people Very useful for serving as high-level documentation and as a scratch pad for ideas and thoughts Idea is to provide medium for social communication and discussing their ideas 17-32
33 Types of Modelling Charts System chart» Exactly one per system > Contains a brief description of each top level cluster in the system Cluster chart» Brief description of a cluster, each class and subcluster within it Class chart» Informally specify each class. > What information and services can other classes ask from the class? > What rules must be obeyed by the class? 17-33
34 Example System Chart SYSTEM Conference Management System Part # Purpose General conference administration support Indexing Cluster ORGANIZATION TECHNICAL_EVENTS REGISTRATION Description Handles major events occurring during the conference from initial decisions through to conclusion Responsible for putting together the programme, recording status of contributions, checking in reviews and following a precise timetable of what is to be done Collect registration data, produce lists, print badges, send form letters. Store data relevant to whatever may change the cost/benefit of the conference 17-34
35 Example Cluster Chart CLUSTER Conference Management System Part # Purpose General conference administration support Indexing Cluster components COMPONENT_ 1 Description Component 1 description COMPONENT_2 COMPONENT_3 Component 3 description Component 3 description Similar to the System Chart 17-35
36 Example Class Chart CLASS Type of Object CITIZEN Person born or resident in a country Part # Indexing Queries Commands Name, Sex, Age, Single, Spouse, Children, Parents Marry, Divorce Constraints Each citizen has two parents At most one spouse is allowed May not marry children or parents Spouse's spouse must be this person All children, if any, must have this person as their parent 17-36
37 Example Class Chart 2 Short description of purpose of class» Can add version control information Can add inherits from clause Constraints may be translated into formal assertions» Though some may never become formal 17-37
38 BON Dynamic Diagrams Diagrams we have seen so far are used to specify the static relationships among classes When executing such a system the static relationships will not change from execution to execution Contracts for class routines do not contain details of their implementation 17-38
39 BON Dynamic Diagrams 2 Analysis and design should not focus on implementation» However, it is reasonable to want to ensure implementation is possible» For other considerations see... Swartout, W., Balzer, R., On the Inevitable Intertwining of Specification and Implementation, Communications of the ACM, July 1982, Vol 25, No 7, pp Need a rough specification of how the classes can fulfil their specifications by calling routines of other classes» This is the purpose of the BON Dynamic Model 17-39
40 Dynamic Model What makes up a dynamic model in BON?» Feature calls In some methods you'll see it called message passing or object communication.» It all boils down to feature calls Using feature calls in our dynamic model supports seamlessness» They map directly to a programming language Some methods use finite state machines to specify what an object does in reaction to a message» Difficult to translate all but simple machines into programs lack of seamlessness 17-40
41 BON Dynamic Notations Diagrams are useful» One of the advantages of using finite state machines Event charts» Describe incoming and outgoing system events Scenario charts» Describe selected object communication scenarios > typically used with other notations Object creation chart» which classes create instances of other classes 17-41
42 Event Charts Definitions A system is a black box with behaviour described by responses to stimuli system events An external event is triggered by something in the outside world over which the system has no control» terminal input, interrupts An internal event is triggered by the system itself An event chart lists selected external events that may trigger object communication 17-42
43 Event Chart Example EVENTS CONFERENCE_SUPPORT Part # Comment Selected external events triggering representative types of behaviour Indexing External Involved object types Request to register a submitted paper CONFERENCE, PROGRAM_COMMITTEE, PAPER 17-43
44 Objects and Communication Dynamic models are all about objects and their interactions How do we describe objects in BON?» Use rectangles containing their class with an object qualifier (e.g. a name) CONFERENCE FLIGHT STACK ( type ) More than one instance possible 17-44
45 Objects and Communication 2 Passing or sending a message» calling a feature, invoking an operation are all synonymous A message is indicated by a dashed arrow from calling to receiving object INVOICE_SYSTEM STOCK 17-45
46 Objects and Communication 3 Message links may be annotated with sequence numbers representing order of calls.» Cross reference to entries in a scenario box DRIVER 1,6 OWNER 2,4 3,5 IGNITION ENGINE Scenario: Borrow car and go for a drive 1 Driver gets keys from owner 2 Driver turns ignition 3 Engine starts 4 Driver removes key 5 Engine stops 6 Driver returns keys to owner 17-46
47 Objects and Communication 4 Message are always potential» They do not have to occur > Flat battery Bidirectional messages are also possible Can specify concurrency» send receive to many objects Group as for clusters BRAIN 1 LEG Scenario: Get coffee 1 Step forward LEG 17-47
48 Scenario Charts Previous slides showed scenario charts combined with diagrams. In that case the scenario charts are simplified as portrayed. In general, scenario and event charts are similar in structure when diagrams are not involved
49 Scenario Charts 2 SCENARIO DRIVING_SYSTEM Part # Comment Borrow car and go for a drive Indexing Scenario 1: Driver gets keys from owner DRIVER calls OWNER : send request receive keys Scenario 2: Driver turns ignition DRIVER calls IGNITION : send turn_on receive NIL Scenario 3: Engine starts IGNITION calls ENGINE : send turn_on receive NIL 17-49
50 Creation Charts CREATION MATRIX_SYSTEM Part # Comment Class Only those classes dealing with the CIRCUS cluster Creates instances of Indexing SPARSE_MATRIX ARRAY, MATRIX_ELEMENT MATRIX_ELEMENT STACK [ ELEPHANT ] MINIMUM_TEST SPARSE_MATRIX, MATRIX_ELEMENT, STRING, ELEPHANT 17-50
51 BON deliverables & dependencies People create Auto (semi) gen Class dictionary Class chart Cluster chart Class Interface Class text System chart Static Model Dynamic Model Event chart Scenario chart Static architecture Object scenario Creation chart 17-51
52 Software Development Methods Much effort put into producing recipes for construction software Lots of good ideas» But no sure fire method No easy path to producing quality software» F.P. Brooks Jr., No Silver Bullet, Computer, Vol. 20, No. 4, April 1987, pp » Replies in Computer, Vol. 20, No. 7, July 1987, pp As our knowledge and experience have increased so has our reach 17-52
53 Understand Method Limitations and Benefits General principles for constructing software can be taught» But no teaching can guarantee success This is not to say methods are worthless» If you restrict their domain of applicability, you can have success Many method creators are unwilling to do this» They want to sell their method and its tools All relies on invention, creativity and expertise of the individual developers 17-53
BON Business Object Notation Based on slides by Prof. Paige
BON Business Object Notation Based on slides by Prof. Paige 17-1 What is it? Notation for modeling object oriented software» Static: specifies classes, class relationships» Dynamic: behavioural properties
More informationBON Business Object Notation Based on slides by Prof. Paige
BON Business Object Notation Based on slides by Prof. Paige 17-1 What is it? Notation for modeling object oriented software» Static: specifies classes, class relationships» Dynamic: behavioural properties
More informationBON Business Object Notation Based on slides by Prof. Paige
BON Business Object Notation Based on slides by Prof. Paige 17-1 What is it? Notation for modeling object oriented software» Static: specifies classes, class relationships» Dynamic: behavioural properties
More informationAssertions! How to write correct programs and know it! Harlan Mills! Gunnar Gotshalks! 08-1
Assertions How to write correct programs and know it Harlan Mills Gunnar Gotshalks 08-1 Assertions Boolean expressions or predicates that evaluate to true or false in every state In a program they express
More informationIntegrating BON and Object-Z
Vol. 3, No. 3, March April 2004 Integrating BON and Object-Z Richard Paige, Department of Computer Science, University of York, U.K. Phillip J. Brooke, School of Computing, Communications, and Electronics,
More informationERC An object-oriented refinement calculus for Eiffel
DOI 10.1007/s00165-003-0024-3 BCS 2004 Formal Aspects of Computing (2004) 16: 51 79 Formal Aspects of Computing ERC An object-oriented refinement calculus for Eiffel Richard F. Paige and Jonathan S. Ostroff
More informationIntroduction to Software Engineering. 5. Modeling Objects and Classes
Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities
More informationCITS5501 Software Testing and Quality Assurance Formal methods
CITS5501 Software Testing and Quality Assurance Formal methods Unit coordinator: Arran Stewart May 1, 2018 1 / 49 Sources Pressman, R., Software Engineering: A Practitioner s Approach, McGraw-Hill, 2005
More informationObject-Oriented Design
Object-Oriented Design Lecturer: Raman Ramsin Lecture 15: Object-Oriented Principles 1 Open Closed Principle (OCP) Classes should be open for extension but closed for modification. OCP states that we should
More informationMultiple & Repeated! Inheritance!
Multiple & Repeated Inheritance 21-1 Multiple Inheritance Example Combining two abstractions into one» COMPARABLE and NUMERIC are both useful abstractions > Some abstractions make use of both while others
More informationSpell Checker for EiffelStudio
Spell Checker for EiffelStudio Software Engineering Laboratory: Open-Source EiffelStudio Semester project by Benjamin Fischer Student number: 10-916-971 Supervised by Julian Tschannen ETH Computer Science
More informationMultiple & Repeated Inheritance
Multiple & Repeated Inheritance 21-1 Multiple Inheritance Example Combining two abstractions into one» COMPARABLE and NUMERIC are both useful abstractions > Some abstractions make use of both while others
More informationMock exam 1. ETH Zurich. Date: 9./10. November 2009
Mock exam 1 ETH Zurich Date: 9./10. November 2009 Name: Group: 1 Terminology (8 points) Put checkmarks in the checkboxes corresponding to the correct answers. Multiple correct answers are possible; there
More informationThe architecture of Eiffel software 3.1 OVERVIEW classes clusters systems
3 Draft 5.02.00-0, 15 August 2005 (Santa Barbara). Extracted from ongoing work on future third edition of Eiffel: The Language. Copyright Bertrand Meyer 1986-2005. Access restricted to purchasers of the
More informationProgramming Languages Third Edition
Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand
More informationObject Oriented Programming
Object Oriented Programming Primary object-oriented language concepts dynamic lookup encapsulation inheritance subtyping Program organization Organize concepts into objects and relationships between them
More informationXV. The Entity-Relationship Model
XV. The Entity-Relationship Model The Entity-Relationship Model Entities, Relationships and Attributes Cardinalities, Identifiers and Generalization Documentation of E-R Diagrams and Business Rules Acknowledgment:
More information2004 John Mylopoulos. The Entity-Relationship Model John Mylopoulos. The Entity-Relationship Model John Mylopoulos
XVI. The Entity-Relationship Model The Entity Relationship Model The Entity-Relationship Model Entities, Relationships and Attributes Cardinalities, Identifiers and Generalization Documentation of E-R
More informationPrecise and Formal Metamodeling with the Business Object Notation and PVS
Precise and Formal Metamodeling with the Business Object Notation and PVS Richard F. Paige and Jonathan S. Ostroff Department of Computer Science York University Toronto, Ontario M3J 1P3, CANADA. fpaige,jonathang@cs.yorku.ca
More informationChapter 1: Principles of Programming and Software Engineering
Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without
More informationCS 4604: Introduction to Database Management Systems. B. Aditya Prakash Lecture #5: Entity/Relational Models---Part 1
CS 4604: Introduction to Database Management Systems B. Aditya Prakash Lecture #5: Entity/Relational Models---Part 1 E/R: NOT IN BOOK! IMPORTANT: Follow only lecture slides for this topic! Differences
More informationLecture 5 STRUCTURED ANALYSIS. PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall Bühnová, Sochor, Ráček
Lecture 5 STRUCTURED ANALYSIS PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall 2015 1 Outline ² Yourdon Modern Structured Analysis (YMSA) Context diagram (CD) Data flow diagram
More informationSoftware Architecture 4. July 2005
Chair of Software Engineering Bertrand Meyer Software Architecture 4. July 2005 Name, First name:... I confirm with my signature, that I was able to take this exam under regular conditions and that I have
More informationUC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara
CS189A - Capstone Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ Design by Contract Design by Contract and the language that implements the Design by Contract principles
More informationLecture 13: Introduction to inheritance and genericity
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Lecture 13: Introduction to inheritance and genericity On the menu for today (& next
More informationJOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2002 Vol. 1, no. 4, September-October 2002 Eiffel Assertions and the External Structure of
More informationChapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin
Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain
More informationNOTES ON OBJECT-ORIENTED MODELING AND DESIGN
NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented
More informationAssignment 7: Inheritance
Assignment 7: Inheritance ETH Zurich Hand-out: 11 December 2006 Due: 19 December 2006 Calvin and Hobbes c Bill Watterson 1 Dynamic exercise Goal Understand the effects of dynamic binding. Summary Have
More informationCA314 Object Oriented Analysis & Design - 7. File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16
CA314 Object Oriented Analysis & Design - 7 File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16 Table of Contents 7. UML State & Activity Diagrams (see ref 1, Chap. 11, 12)...3 7.1 Introduction...3
More informationMotivation State Machines
Motivation State Machines Generating test cases for complex behaviour Textbook Reading: Chapter 7 We are interested in testing the behaviour of object-oriented software systems Behaviour: Interactions
More informationSLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language]
Lecture day 2016-04-07 SLIDES: Introductory Modeling Example Employing UML and OCL [UML: Unified Modeling Language, OCL:Object Constarint Language] - System design in an object-oriented way employing USE
More informationInheritance. Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L
Inheritance Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L 9.1 9.4 1 Inheritance Inheritance allows a software developer to derive
More informationDesign by Contract in Eiffel
Design by Contract in Eiffel 2002/04/15 ctchen@canthink.com.com.tw.tw Reference & Resource Bertrand Meyer, Object-Oriented Oriented Software Construction 2nd,, 1997, PH. Bertrand Meyer, Eiffel: The Language,,
More informationSpecification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008
SEFM School 2008 Specification-based Testing of Embedded Systems Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer FIRST, Berlin Lecture 5: OCL, ParTeG Course Outline L1: Introduction
More informationUNIT-II Introduction to UML
UNIT-II Introduction to UML - P. P. Mahale UML OVERVIEW OF UML :- We need a Modeling Language! We will use the Unified Modeling Language, UML), Provides a standard for artifacts produced during development
More information12 Tutorial on UML. TIMe TIMe Electronic Textbook
TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3
More informationChapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,
Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Classes, Class Diagrams Values and Attributes Operations
More informationEinführung in die Programmierung Introduction to Programming
Chair of Software Engineering Einführung in die Programmierung Introduction to Programming Prof. Dr. Bertrand Meyer Exercise Session 10 News Mock exam in 2 weeks (December 6 th, 7 th ) You have to be present
More informationBasic Structural Modeling. Copyright Joey Paquet,
Basic Structural Modeling Copyright Joey Paquet, 2000 1 Part I Classes Copyright Joey Paquet, 2000 2 Classes Description of a set of objects sharing the same attributes, operations and semantics Abstraction
More informationComposite Structures
Composite Structures Marie-Agnès Peraldi-Frati UNSA/I3S/INRIA map@unice.fr UML 2 Composition Model Purpose: improve the black diamond composition Supports connections between parts at the same level of
More informationFondamenti della Programmazione: Metodi Evoluti. Lezione 5: Invariants and Logic
Fondamenti della Programmazione: Metodi Evoluti Prof. Enrico Nardelli Lezione 5: Invariants and Logic versione originale: http://touch.ethz.ch Reminder: contracts Associated with an individual feature:
More informationJML Class Specifications The Java Modeling Language (Part 2) A Java Class
JML Class Specifications The Java Modeling Language (Part 2) Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria
More informationObject-Oriented Design
Object-Oriented Design Department of Computer Engineering Lecture 12: Object-Oriented Principles Sharif University of Technology 1 Open Closed Principle (OCP) Classes should be open for extension but closed
More informationUniverse Type System for Eiffel. Annetta Schaad
Universe Type System for Eiffel Annetta Schaad Semester Project Report Software Component Technology Group Department of Computer Science ETH Zurich http://sct.inf.ethz.ch/ SS 2006 Supervised by: Dipl.-Ing.
More informationControl flow in Eiffel
Announcements Assignment will be posted this week.» We ll make sure you have enough time to it! A little more Eiffel, Genericity and ADTs Week 3, Lecture 4 January 16 Section N Review What is the definition
More informationSOFTWARE DESIGN COSC 4353 / Dr. Raj Singh
SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a
More informationInteraction Modelling: Sequence Diagrams
Interaction Modelling: Sequence Diagrams Fabrizio Maria Maggi Institute of Computer Science (these slides are derived from the book Object-oriented modeling and design with UML ) Interaction Modelling
More informationCMPT 354 Database Systems I
CMPT 354 Database Systems I Chapter 2 Entity Relationship Data Modeling Data models A data model is the specifications for designing data organization in a system. Specify database schema using a data
More informationExample Test Questions for Inheritance
2009 November 23 Example Test Questions for Inheritance 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Give and explain the type rule with genericity using an example method call. escribe constraint genericity.
More informationSpecification-based Testing of Embedded Systems H. Schlingloff, SEFM 2008
SEFM School 2008 Specification-based Testing of Embedded Systems Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin and Fraunhofer FIRST, Berlin Lecture 4: Mutations, OCL etc. Course Outline L1:
More informationWhat is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships
Class Diagram What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification
More informationWhat is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51
What is a Class Diagram? Class Diagram A diagram that shows a set of classes, interfaces, and collaborations and their relationships Why do we need Class Diagram? Focus on the conceptual and specification
More informationMulti-Methods in Racket
Multi-Methods in Racket António Menezes Leitão April, 18, 2013 1 Introduction Multi-methods are an advanced concept that extends the single dispatch approach that is used in the majority of object-oriented
More informationSoftware Service Engineering
Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language
More informationSoftware Development. Modular Design and Algorithm Analysis
Software Development Modular Design and Algorithm Analysis Precondition and Postcondition To create a good algorithm, a programmer must be able to analyse a precondition (starting state) and a postcondition
More informationInformatics 1: Data & Analysis
Informatics 1: Data & Analysis Lecture 3: The Relational Model Ian Stark School of Informatics The University of Edinburgh Tuesday 24 January 2017 Semester 2 Week 2 https://blog.inf.ed.ac.uk/da17 Lecture
More information0. Database Systems 1.1 Introduction to DBMS Information is one of the most valuable resources in this information age! How do we effectively and efficiently manage this information? - How does Wal-Mart
More informationA - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models
CS 494 Object-Oriented Analysis & Design UML Class Models Overview How class models are used? Perspectives Classes: attributes and operations Associations Multiplicity Generalization and Inheritance Aggregation
More informationCh t 8 Chapter 8. System Models
Ch t 8 Chapter 8. System Models Objectives To explain why the context t of a system should be modelled d as a part of requirements engineering process To describe behavioural modelling, data modelling
More informationSequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c
Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions
More informationCourse "Softwaretechnik" Book Chapter 2 Modeling with UML
Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,
More informationInteractions A link message
Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between
More informationChapter 2, lecture 2 Modeling with UML
Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 2, lecture 2 Modeling with UML Overview: More detail on modeling with UML Use case diagrams Class diagrams Sequence diagrams Activity
More informationSemantic Analysis. CSE 307 Principles of Programming Languages Stony Brook University
Semantic Analysis CSE 307 Principles of Programming Languages Stony Brook University http://www.cs.stonybrook.edu/~cse307 1 Role of Semantic Analysis Syntax vs. Semantics: syntax concerns the form of a
More informationConcept as a Generalization of Class and Principles of the Concept-Oriented Programming
Computer Science Journal of Moldova, vol.13, no.3(39), 2005 Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Alexandr Savinov Abstract In the paper we describe a
More informationCSCU9T4: Managing Information
CSCU9T4: Managing Information CSCU9T4 Spring 2016 1 The Module Module co-ordinator: Dr Gabriela Ochoa Lectures by: Prof Leslie Smith (l.s.smith@cs.stir.ac.uk) and Dr Nadarajen Veerapen (nve@cs.stir.ac.uk)
More informationThe Java Modeling Language (Part 2)
The Java Modeling Language (Part 2) Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at
More informationCombined Modeling and Programming with State Machines
Combined Modeling and Programming with State Machines Kjetil Andresen Master s Thesis Spring 2014 Combined Modeling and Programming with State Machines Kjetil Andresen 1st May 2014 ii Abstract As part
More informationMIS Database Systems Entity-Relationship Model.
MIS 335 - Database Systems Entity-Relationship Model http://www.mis.boun.edu.tr/durahim/ Ahmet Onur Durahim Learning Objectives Database Design Main concepts in the ER model? ER Diagrams Database Design
More informationER modeling. Lecture 4
ER modeling Lecture 4 1 Copyright 2007 STI - INNSBRUCK Today s lecture ER modeling Slides based on Introduction to Entity-relationship modeling at http://www.inf.unibz.it/~franconi/teaching/2000/ct481/er-modelling/
More informationFrom Analysis to Design. LTOOD/OOAD Verified Software Systems
From Analysis to Design 1 Use Cases: Notation Overview Actor Use case System X System boundary UCBase «extend» UCExt Actor A UCVar1 UCVar2 Extending case Generalization «include» Actor B UCIncl Included
More information*ANSWERS * **********************************
CS/183/17/SS07 UNIVERSITY OF SURREY BSc Programmes in Computing Level 1 Examination CS183: Systems Analysis and Design Time allowed: 2 hours Spring Semester 2007 Answer ALL questions in Section A and TWO
More informationHypertext A Case Study of Formal Object-Oriented Software Development
Hypertext A Case Study of Formal Object-Oriented Software Development Andreas Rüping Forschungszentrum Informatik (FZI) Bereich Programmstrukturen Haid-und-Neu-Straße 10-14 D-76131 Karlsruhe e-mail: rueping@fzi.de
More informationUNIT-IV BASIC BEHAVIORAL MODELING-I
UNIT-IV BASIC BEHAVIORAL MODELING-I CONTENTS 1. Interactions Terms and Concepts Modeling Techniques 2. Interaction Diagrams Terms and Concepts Modeling Techniques Interactions: Terms and Concepts: An interaction
More informationIntroduction to Eiffel
Introduction to Eiffel Martin Nordio, Christian Estler ETH Zurich Distributed Software Engineering Lab 1 Overview Part 1: Language Constructs Ø Basics: definition, if then else, expressions, loops and
More informationMeltem Özturan
Meltem Özturan www.mis.boun.edu.tr/ozturan/samd 1 2 Modeling System Requirements Object Oriented Approach to Requirements OOA considers an IS as a set of objects that work together to carry out the function.
More informationScheme Quick Reference
Scheme Quick Reference COSC 18 Fall 2003 This document is a quick reference guide to common features of the Scheme language. It is not intended to be a complete language reference, but it gives terse summaries
More informationBuilding custom components IAT351
Building custom components IAT351 Week 1 Lecture 1 9.05.2012 Lyn Bartram lyn@sfu.ca Today Review assignment issues New submission method Object oriented design How to extend Java and how to scope Final
More informationADVANCED LINK AND ASSOCIATION CONCEPTS
OBJECT We define an object as a concept, abs ration or thin g with crisp boundaries and meaning for the problem at hand. Object serve two purpose: They promote understanding of the real world and provide
More informationClass diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch
Class diagrams Modeling with UML Chapter 2, part 2 CS 4354 Summer II 2015 Jill Seaman Used to describe the internal structure of the system. Also used to describe the application domain. They describe
More informationUNIT-4 Behavioral Diagrams
UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages
More informationIntroduction to Software Engineering. ECSE-321 Unit 9 Architectural Design Approaches
Introduction to Software Engineering ECSE-321 Unit 9 Architectural Design Approaches Requirement Elicitation Analysis (Software Product Design) Architectural Design Detailed Design Architectural Design
More informationAssignment 4: Object creation
Assignment 4: Object creation ETH Zurich Hand-out: 15 November 2005 Due: 22 November 2005 Copyright FarWorks, Inc. Gary Larson 1 Summary Today you are going to write your rst stand-alone program. Please
More informationUML REFERENCE SHEETS. 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site:
UML Reference Sheets 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site: http://www.tatanka.com/ Revision Information This document was last revised 2014.03.02. The current
More informationInheritance and Interfaces
Inheritance and Interfaces Object Orientated Programming in Java Benjamin Kenwright Outline Review What is Inheritance? Why we need Inheritance? Syntax, Formatting,.. What is an Interface? Today s Practical
More informationUML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram
UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling
More informationPatterns Example Exam Questions
2014 November 27 Patterns Example Exam Questions 1.. Using on, give a generic static diagram of the pattern and include relevant interface s. 2. 3.. Give a scenario and object communication diagram
More informationObject-Oriented and Classical Software Engineering
Slide 16.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 16 Slide 16.2 MORE ON UML 1 Chapter Overview Slide
More informationIntroducing the UML Eng. Mohammed T. Abo Alroos
Introducing the UML Eng. Mohammed T. Abo Alroos Islamic University of Gaza Introduction to the UML: The UML stands for Unified Modeling Language. It was released in 1997 as a method to diagram software
More informationSystem models Abstract descriptions of systems whose requirements are being analysed. System modelling. Structured methods
System models Abstract descriptions of systems whose requirements are being analysed Ian Sommerville 995/2000 (Modified by Spiros Mancoridis 999) Software Engineering, 6th edition. Chapter 7 Slide System
More informationStatecharts 1.- INTRODUCTION 1.- INTRODUCTION
Statecharts INDEX 1.- Introduction 2.- When to use Statecharts 3.- Basic components 4.- Connectors and compound transitions Mª Ángeles Martínez Ibáñez University of Bergen Selected topics in programming
More informationOBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis
UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance
More informationUNIT 5 - UML STATE DIAGRAMS AND MODELING
UNIT 5 - UML STATE DIAGRAMS AND MODELING UML state diagrams and modeling - Operation contracts- Mapping design to code UML deployment and component diagrams UML state diagrams: State diagrams are used
More informationCS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM
CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM Objectives Defining a wellformed method to check class invariants Using assert statements to check preconditions,
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationSystem Models & Simulation
The PROJECT PERFECT White Paper Collection Abstract System Models & Simulation Harold Halbleib - Excel Software We live in a world of systems driven by cause and affect. Those systems include financial,
More informationAbsolute C++ Walter Savitch
Absolute C++ sixth edition Walter Savitch Global edition This page intentionally left blank Absolute C++, Global Edition Cover Title Page Copyright Page Preface Acknowledgments Brief Contents Contents
More informationUNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?
Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------
More informationFrom OCL to Typed First-order Logic
22c181: Formal Methods in Software Engineering The University of Iowa Spring 2008 From OCL to Typed First-order Logic Copyright 2007-8 Reiner Hähnle and Cesare Tinelli. Notes originally developed by Reiner
More information