BON Business Object Notation Based on slides by Prof. Paige
|
|
- Lucy Sanders
- 5 years ago
- Views:
Transcription
1 BON Business Object Notation Based on slides by Prof. Paige 17-1
2 What is it? Notation for modeling object oriented software» Static: specifies classes, class relationships» Dynamic: behavioural properties Method» Guidelines to be used when producing specifications and descriptions Does not include» Entity-Relation models» Finite state machines 17-2
3 Characteristics of the Notation Simplicity» Concentrate on design aspects of the method Generality» Not restricted to application domains Design by Contract» Assertions for classes and features Two views» Graphical» Textual fi Eiffel 17-3
4 Characteristics of the Notation 2 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 designs 17-4
5 Tool Support Bon tools Eiffel diagrams 17-5
6 Compressed Classes Use to draw views with lots of classes bird's eye view early stages of design NAME NAME Shortest form Reused library * NAME Deferred NAME [G, H] Parameterized + NAME Implemented NAME Root Instances may be separate processes NAME Persistent NAME Interfaces with outside world 17-6
7 Inheritance Relations * PEOPLE + YOUNG_PEOPLE + OLD_PEOPLE ++ TODDLERS ++ PRE_TEEN ++ TEEN_AGERS 17-7
8 Client Supplier Association Client A uses the services of supplier B Each client instance may be attached to one or more supplier instances has a has a PERSON ADDRESS CITY 17-8
9 Client Supplier Aggregation Client A uses the services of supplier B Each client instance is attached to one or more supplier instances that represent integral parts of the client instance part of part of VEHICLE MOTOR CYLINDER propulsion combustion_chamber Difference between association and aggregation? Consider expanded vs reference use. Consider what happens when the client gets deleted. 17-9
10 Bidirectional Uses Links CUSTOMER shoppers : set [... ] preferred_mall SHOPPING_CENTER Client feature label is at the supplier side Generic classes can be used in labels Leave parameter unspecified Useful for recursive structures lists, trees, graphs 17-10
11 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 17-11
12 Cluster Example SORTING DATA_STRUCTURES LINEAR_SORT QUICKSORT INSERT_SORT GRAPH DIRECTED_GRAPH WEIGHTED_GRAPH GRAPHS ARRAY RECORD 17-12
13 Cluster Properties Clusters can be shrunk to hide their contents» Keep only the cluster name Every class belongs to exactly one cluster Not a language construct; just a mechanism for dealing with abstraction Implement in Eiffel with directory structure» Each cluster is a directory 17-13
14 Inheritance & Clusters SORTING LINEAR_SORT INSERT_SORT DIRECTED_GRAPH WEIGHTED_GRAPH GRAPHS ARRAY All classes in sorting inherit from ARRAY Only DIRECTED_GRAPH inherits from ARRAY 17-14
15 Graphical BON Class (Uncompressed) CITIZEN No need to show all features, just those of interest for the view 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-15
16 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-16
17 Typed Class Interface Early phases concentrate on public features Restricted features produced during detail design 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 underscore for longer names NAME Inherits: parent classes Public features A, B, C Restricted features Invariant Class invariant 17-17
18 Class Feature Decorators Feature names have an optional decorator showing status name* deferred name + effective name ++ redefined name : TYPE result type New_name { ^ CLASS_NAME. old_name } rename clause name : { TYPE aggregation result type Æ name : TYPE input argument 17-18
19 Class Feature Signatures Each feature has a signature attributes name : TYPE queries name ( arg : ARG_TYPE;... ) : RESULT_TYPE commands name ( arg : ARG_TYPE;... ) Types may be expanded 17-19
20 Graphical View Rule Graphical view is not used for just one class Always have two or more classes with inheritance and/or uses relations among them 17-20
21 Views Show Part of a Design PAPER Inherits: REVIEW final_score : VALUE award_best_paper : BOOLEAN accept + reject + PRESENTATION code : VALUE title : VALUE authors : SET [ PERSON ] status : STATUS speakers : SET [ PERSON ] accept * reject * PAPER has other features not important for this view 17-21
22 Assertion Language Queries and commands can be documented with a precondition and a postcondition Follow Eiffel language with respect to inheritance and redefinition of assertions Use predicate calculus and set theory Graphical Form? precondition! postcondition the_invariant Textual Form require precondition ensure postcondition invariant the_invariant 17-22
23 Assertion Language Symbols Arithmetic operators + * / ^ (exponent) // (integer division) \\ (modulus) Relational operators = < > Boolean operators & logic ^ and or xor not Æ implies iff Predicate logic " for_all $ exists such_that it_holds Set operators {... } Œ œ 17-23
24 Assertion Language Special Symbols old expr value of expr before a routine was called Result result of a query but only in ensure current object Void not attached D name name may change void reference : TYPE type operator 17-24
25 Quantifier Notation 1 Difference between BON and Eiffel assertions is the use of quantifiers in Eiffel use agents 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 sequence range each member in a sequence " k : low.. High member range each member in a set " c Œ CHILDREN it holds / it is the case that 17-25
26 Quantifier Notation 2 Quantifier Range_Expr [ Restriction ] Property Restrictions boolean expression or, recursively, any quantified expression Property boolean expression or, recursively, any quantified expression Example see previous slide "Graphical BON class" 17-26
27 BON Process ( The Method ) Process for analysis and development Idealized» In practice it is subject to variation, iteration, reversibility Three phases» Gathering collaboration with users» Designing initial working system» Refining improve design, refactor 17-27
28 BON deliverables & dependencies People create Auto (semi) generate Class dictionary Class chart Cluster chart Class Interface Class text System chart Static Model Dynamic Model Event chart Static architecture Object scenario Scenario chart Creation chart 17-28
29 Gathering Phase Steps 1 & 2 Delineate the system boundary» Determine what the system includes and excludes» Determine user metaphors» Determine the major subsystems > Charts: system, event, scenario List candidate classes» Produce first pass list of classes > Charts: class 17-29
30 Gathering Phase Step 3 Select classes and groups» Organize classes into logical groups / clusters > Charts: cluster, class > class dictionary» Determine status of classes > Deferred, effective, reused, 17-30
31 Example System Chart System Conference Management System Part # Purpose 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 One per system 17-31
32 Example Cluster Chart CLUSTER REGISTRATION Purpose: Track conference participants Part # Indexing Cluster components REGISTRATION ATTENDEE REFEREE CONTRIBUTOR Description Track participant status Track fees and events Track papers and results Track papers from initial offer to presentation Similar to the System Chart 17-32
33 Example Class Chart CLASS Type of Object CITIZEN Born or resident in a country Part # Indexing Queries Commands Constraints Name, Sex, Age, Single, Spouse, Children, Parents Marry, Divorce 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-33
34 Modeling Chart Uses Informal charts are useful for exchanging ideas with non-technical people 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-34
35 Modeling Chart Contents 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 class interface. > What information and services can other classes ask from the class? > What rules must be obeyed by the class? 17-35
36 Designing Phase Define class interfaces» Use graphical and/or textual descriptions Develop static architecture Sketch system behaviour dynamic properties» Event charts, scenario charts, object scenarios, creation charts» Develop dynamic object model 17-36
37 Purpose of Dynamic Model Analysis and design should not focus on implementation» Static relationships & contracts do not change, minimize implementation dependence 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 specification of how the classes can fulfill their specifications by calling routines of other classes 17-37
38 Dynamic Model What makes up a dynamic model in BON?» Feature calls object communication» also known as message passing or object communication Using feature calls in a dynamic model supports seamlessness» Feature calls map directly to a programming language Some design methods use finite state machines to specify what an object does in reaction to a message» Difficult to translate, in all but simple machines, into programs lack of seamlessness 17-38
39 Definition of events 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 17-39
40 Dynamic Model Charts Event chart» Lists selected external events that may trigger object communication Scenario chart» Describes a sequence of events for communicating objects Object creation chart» Describes which classes create instances of other classes 17-40
41 Event Chart Example EVENTS CONFERENCE_SUPPORT Part # Comment External Selected external events triggering representative types of behaviour Involved object types Indexing Request to register a submitted paper CONFERENCE, PROGRAM_COMMITTEE, PAPER 17-41
42 Scenario Chart Example SCENARIO DRIVING_SYSTEM Part # Comment Borrow car and go for a drive Indexing Step 1: Driver gets keys from owner DRIVER calls OWNER : send request receive keys Step 2: Driver turns ignition DRIVER calls IGNITION : send turn_on receive NIL Step 3: Engine starts IGNITION calls ENGINE : send turn_on receive NIL 17-42
43 Creation Chart Example 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-43
44 Object Representation How do we describe objects in BON? Use rectangles containing their class name with an optional qualifier (e.g. a name) CONFERENCE STACK ( parse ) FLIGHT STACK ( washing ) More than one instance possible 17-44
45 Communication Between Objects Pass or send a message, call a feature, invoke an operation are all synonymous A message is indicated by a dashed arrow from the calling to the receiving object INVOICE_SYSTEM STOCK 17-45
46 Scenario with Object Communication 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 Communication Properties 1 Message are always potential» They do not have to occur Flat battery Bidirectional messages are possible Group as for clusters 17-47
48 Communication Properties 2 Can specify concurrency» send/receive to many objects broadcast, or to one instance only (differentiate with note, if not obvious) BRAIN 2 1 LEG 1 LEG Scenario: Get coffee 1 Step forward alternate legs 2 Bump door Scenario: Jump 1 Step forward both legs 2 Land 17-48
49 Refining Phase Refine system» Find new design classes, add new features > Modify: Class interfaces, static architecture, class dictionary, event charts, object scenarios Generalize» Factor out common behaviour > Modify: class interfaces, static architecture, class dictionary Complete and review system» Produce final static architecture with dynamic system behaviour > All deliverables complete 17-49
50 Software Development Methods Many good ideas and much effort put into producing recipes for constructing software» 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-50
51 Understand 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-51
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 Largely based on slides by Prof. Paige
BON Business Object Notation Largely based on slides by Prof. Paige 17-1 What is it? Notation for modelling object oriented software Two versions» graphical» textual Static notations for specifying classes,
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 informationChapter 3. Describing Syntax and Semantics
Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:
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 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 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 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 informationChapter 3 (part 3) Describing Syntax and Semantics
Chapter 3 (part 3) Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings
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 information12 Tutorial on UML. TIMe TIMe Electronic Textbook
TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3
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 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 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 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 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 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 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 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 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 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 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 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 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 information7. Implementation Phase. 7.1 Architecture Diagrams 7.2 OO Languages: Java 7.3 Constraint Languages: OCL
7. Implementation Phase 7.1 Architecture Diagrams 7.2 OO Languages: Java 7.3 Constraint Languages: OCL Architecture Design Models An architecture model (structure model) is a model of a data processing
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 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 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 informationAn Annotated Language
Hoare Logic An Annotated Language State and Semantics Expressions are interpreted as functions from states to the corresponding domain of interpretation Operators have the obvious interpretation Free of
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 informationChapter : Analysis Modeling
Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints
More informationGoal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD
Domain analysis Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD OOA concerned with what, not how OOA activities focus on the domain layer
More informationChapter 1: Programming Principles
Chapter 1: Programming Principles Object Oriented Analysis and Design Abstraction and information hiding Object oriented programming principles Unified Modeling Language Software life-cycle models Key
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 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 informationChapter 3. Describing Syntax and Semantics ISBN
Chapter 3 Describing Syntax and Semantics ISBN 0-321-49362-1 Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the
More informationChapter 3. Describing Syntax and Semantics
Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:
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 informationPrinciples of Software Construction: Objects, Design, and Concurrency
Principles of Software Construction: Objects, Design, and Concurrency Designing (sub-) systems Responsibility assignment Charlie Garrod Michael Hilton School of Computer Science 1 Administrivia Reading
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 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 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 informationCompilers Project 3: Semantic Analyzer
Compilers Project 3: Semantic Analyzer CSE 40243 Due April 11, 2006 Updated March 14, 2006 Overview Your compiler is halfway done. It now can both recognize individual elements of the language (scan) and
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 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 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 informationPrinciples of Software Construction: Objects, Design and Concurrency. Just enough UML. toad
Principles of Software Construction: Objects, Design and Concurrency Just enough UML 15-214 toad Christian Kästner Charlie Garrod School of Computer Science With slides from Klaus Ostermann Learning Goals
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 informationEDMS. Architecture and Concepts
EDMS Engineering Data Management System Architecture and Concepts Hannu Peltonen Helsinki University of Technology Department of Computer Science Laboratory of Information Processing Science Abstract
More informationObject-Oriented Systems Analysis and Design Using UML
10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand
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 informationSoftware Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II)
Software Engineering Prof.N.L.Sarda IIT Bombay Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) We will continue our discussion on process modeling. In the previous lecture
More informationUNIT II Requirements Analysis and Specification & Software Design
UNIT II Requirements Analysis and Specification & Software Design Requirements Analysis and Specification Many projects fail: because they start implementing the system: without determining whether they
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 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 informationFinite State Machines and Statecharts
Finite State Machines and Statecharts Hassan Gomaa Dept of Information & Software Engineering George Mason University Reference: H. Gomaa, Chapter 10 - Designing Concurrent, Distributed, and Real-Time
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 informationEiffel: Analysis, Design and Programming. ETH Zurich, September-December Exception handling
Eiffel: Analysis, Design and Programming ETH Zurich, September-December 2008-6- Exception handling What is an exception? An abnormal event Not a very precise definition Informally: something that you don
More informationCS 370 The Pseudocode Programming Process D R. M I C H A E L J. R E A L E F A L L
CS 370 The Pseudocode Programming Process D R. M I C H A E L J. R E A L E F A L L 2 0 1 5 Introduction At this point, you are ready to beginning programming at a lower level How do you actually write your
More informationCS 451 Software Engineering
CS 451 Software Engineering Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Elaboration 2 Elaboration: Building the Analysis Model An analysis model provides a description
More informationSOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay. Lecture #10 Process Modelling DFD, Function Decomp (Part 2)
SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay Lecture #10 Process Modelling DFD, Function Decomp (Part 2) Let us continue with the data modeling topic. So far we have seen
More informationObject Oriented Programming with Java
Object Oriented Programming with Java What is Object Oriented Programming? Object Oriented Programming consists of creating outline structures that are easily reused over and over again. There are four
More informationUnit Assessment Guide
Unit Assessment Guide Unit Details Unit code Unit name Unit purpose/application ICTWEB425 Apply structured query language to extract and manipulate data This unit describes the skills and knowledge required
More informationECSE 321 Assignment 2
ECSE 321 Assignment 2 Instructions: This assignment is worth a total of 40 marks. The assignment is due by noon (12pm) on Friday, April 5th 2013. The preferred method of submission is to submit a written
More informationLecture 16+17: Modeling with UML
Chair of Software Engineering Software Engineering Spring Semester 2008 Slides: Based on KSE06 With kind permission of Peter Müller Lecture 16+17: Modeling with UML What is modeling? Building an abstraction
More informationLABORATORY 1 REVISION
UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the
More informationLecture 15: Modeling with UML
Chair of Software Engineering What is modeling? Software Engineering Prof. Dr. Bertrand Meyer March 2007 June 2007 Slides: Based on KSE06 With kind permission of Peter Müller Lecture 15: Modeling with
More informationINTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal
INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD Slides by: Shree Jaswal What is UML? 2 It is a standard graphical language for modeling object oriented software. It was developed in mid 90 s by collaborative
More informationObject Oriented Software Development CIS Today: Object Oriented Analysis
Object Oriented Software Development CIS 50-3 Marc Conrad D104 (Park Square Building) Marc.Conrad@luton.ac.uk Today: Object Oriented Analysis The most single important ability in object oriented analysis
More informationInteraction Modelling: Use Cases
Interaction Modelling: Use Cases Fabrizio Maria Maggi Institute of Computer Science (these slides are derived from the book Object-oriented modeling and design with UML ) Interaction Modelling: INPUT 1
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 information6.001 Notes: Section 15.1
6.001 Notes: Section 15.1 Slide 15.1.1 Our goal over the next few lectures is to build an interpreter, which in a very basic sense is the ultimate in programming, since doing so will allow us to define
More informationConceptual Data Models for Database Design
Conceptual Data Models for Database Design Entity Relationship (ER) Model The most popular high-level conceptual data model is the ER model. It is frequently used for the conceptual design of database
More information