02291: System Integration

Size: px
Start display at page:

Download "02291: System Integration"

Transcription

1 02291: System Integration Week 7 Hubert Baumeister hub@imm.dtu.dk DTU Compute Technical University of Denmark Spring 2016

2 Contents Components (part III) Sequence Diagrams Design Validation: Use Case Realization

3 Synchronous version of the Bank

4 Closer View Port Bank to ATM (BA): Provided interface Port ATM to Bank (AB): Required interface

5 Protocol for interfaces BankToAtm and BankToATMSync Asynchronous version of the protocol state machine BankToAtm {protocol} withdraw(i,a)/[^withdrawok] withdraw(i,a)/[^withdrawnotok] Synchronous version of the protocol state machine BankToATMSync. {protocol} withdraw(i,a)/[result = true] withdraw(i,a)/[result = false] Idle verifypin(p)/[^pinok] Withdraw Idle verifypin(p)/[result = true] Withdraw verifypin(p)/[^pinnotok] verifypin(p)/[result = false]

6 Bank component with Implementation Bank BankToATMPort «delegate» «delegate» ClearingCompanyToBank * * BankToATM Bank Account Customer

7 Detailed Class Diagram for the Bank Component «interface» BankToATMSync verifypin(acct,pin): bool withdraw(acct,amt): bool BankToATMPort verifypin(acct,pin): bool withdraw(acct,amt): bool * Account number : IBAN balance : int withdraw(amount:int): bool * 1..* «interface» ClearingCompanyToBank verifypin(acct,pin): bool 1 cc * Bank name: String... accountfor(acct): Account verifypin(acct,pin) withdraw(acct,amount) 1 b * c * Customer name address...

8 Behaviour Design BankToATMPort Behaviour of class BanktToATMPort Behaviour of class Bank

9 Protocol conformance Protocol for the interface BankToATMSync BankToATMSync. {protocol} withdraw(i,a)/[result = true] withdraw(i,a)/[result = false] Idle verifypin(p)/[result = true] Withdraw verifypin(p)/[result = false] BankToATMPort lifecycle state machine

10 Summary: Components Ports in components have provided and required interfaces Each interface: Protocol state machine Implementing Components 1) Subcomponents delegating ports 2) Set of classes Classes implement provided interface of a port Classes use the required interface of a port Lifecycle state machine and protocol state machine have to conform to each other

11 Contents Components (part III) Sequence Diagrams Design Validation: Use Case Realization

12 Example: Interaction Diagrams Sequence Diagram Communication Diagram

13 Example Sequence Diagram

14 Arrow types a:a b:b async call sync call return

15 Arrow types a:a b:b

16 Example Interaction Frames

17 Interaction Frame Operators I

18 Nested sequence diagrams

19 Usages of sequence diagrams Abstract: show the execution (i.e. exchange of messages) of a system Concrete Design (c.f. CRC cards) Visualize program behaviour Visualize model execution use case realization

20 System design: Detailed Use Case Check out Use Case Name: Check out Summary: Checks out a book from the library Actors: User Preconditions: true Basic course of events 1. User scans his library card 2. User repeats 2.1 select check out 2.2 scan the book 2.3 System confirms loan Alternative paths... Postconditions Book is loaned by the user

21 Use Case scenarios as Sequence Diagrams Main scenario loop

22 System design for the main use case scenario loop [foreach b' in bor->books]

23 Contents Components (part III) Sequence Diagrams Design Validation: Use Case Realization

24 UML Models UML Model = one system UML Diagrams = view on the same system UML diagrams depend on each other Use case diagram(s) Detailed use cases Component diagram(s) Protocol statemachines Class diagram(s) Object life cycle state machines

25 Dependence between models: Consistency conditions 1) Components are implemented by class diagrams Provided interfaces in ports have to be implemented by classes Object life cycle behaviour conforms to the the protocol statemachines 2) Use case scenarios can be realized by the system use sequence diagrams to show this

26 Use Case Diagram Library System

27 Detail Use Case Check out Use Case Name: Check out Summary: Checks out a book from the library Actors: User Preconditions: true Basic course of events 1. User scans his library card 2. User repeats 2.1 select check out 2.2 scan the book 2.3 System confirms loan Alternative paths 3.a. User has overdue books System rejects loan with message overdue books 3.b User has more then 5 books on loan System rejects loan with message too many books 1.a User is not registered with the system... Postconditions Book is loaned by the user

28 Implementation: Component Diagram LibrarySystem LibraryInterface «interface» LibraryInterface scan library card() check out scan book() check in...

29 Implementation: Protocol State Machine (PSM): Library Interface /[result = false] scan book/ [result = (false,'too many books') or result = (false,'overdue books') or result = true] scan library card /[result = true] check out check in... More functionality

30 Implementation: Class Diagram «interface» LibraryInterface scan library card() check out scan book() check in... user Library scan library card() check out scan book() check in... * Borrower canborrow() * {inv: overdue iff duedate <> null and today > duedate} Book overdue duedate register() deregister() checkout() checkin() 0..5 {body: books->size <= 5 and books->forall(b not(b.overdue))} {pre: bor.canborrow() post: duedate = Date.today + 3 weeks and bor.books->containing(self) }

31 Implementation: Object Life Cycle State Machine (LSM): Class Library... Idle scan library card (l) User scanned [users->contains(l)]/ return true user ok check out book scanned [not users->contains(l)] / return false scan book(s)/ (cb,msg) := bor.canborrow() after 10min [not cb] / return (false,msg) can borrow? [cb] / book := books->select(b b.signature = s); book.check_out(); return true

32 Implementation: LSM Class Book registered check out(b) / duedate := today + 3 weeks; b.books := b.books->containing(self) not registered register available [not overdue] check in borrowed at duedate deregister check in overdue [overdue]

33 Use Case success scenario realisation loop [foreach b' in bor->books]

34 Use Case fail realisation loop [foreach b' in bor->books]

35 Checking the a use case realization is correct 1 The sequence diagram shows correctly the user interaction of the use case scenario 2 All messages appear in the respective interfaces of the class 3 All messages are admissiable according to the protocol state machines (PSM) 4 All message sequences are admissible according to the behaviour specification

36 1) User interactions Basic course of events 1. User scans his library card 2. User repeats 2.1 select check out 2.2 scan the book 2.3 System confirms loan

37 2) Messages belong to interfaces «interface» LibraryInterface scan library card() check out scan book() check in... Library scan library card() check out scan book() check in... user * Borrower canborrow() * {inv: overdue iff duedate <> null and today > duedate} {pre: bor.canborrow() post: duedate = Date.today + 3 weeks and bor.books->containing(self) } Book overdue duedate register() deregister() checkout() checkin() 0..5 {body: books->size <= 5 and books->forall(b not(b.overdue))} loop [foreach b' in bor->books]

38 3) Messages conform to the PSM (LibraryInterface) Class Library implements the LibraryInterface /[result = false] scan book/ [result = (false,'too many books') or result = (false,'overdue books') or result = true] scan library card /[result = true] check out check in... More functionality loop [foreach b' in bor->books]

39 4a) Messages follow the LSM for class Library... Idle scan library card (l) User scanned [users->contains(l)]/ return true user ok check out book scanned [not users->contains(l)] / return false scan book(s)/ (cb,msg) := bor.canborrow() after 10min [not cb] / return (false,msg) can borrow? [cb] / book := books->select(b b.signature = s); book.check_out(); return true loop [foreach b' in bor->books]

40 4b) Messages follow the LSM for class Book registered check out(b) / duedate := today + 3 weeks; b.books := b.books->containing(self) not registered register available [not overdue] check in borrowed at duedate deregister check in overdue [overdue] loop [foreach b' in bor->books]

02291: System Integration

02291: System Integration 02291: System Integration Week 7 Hubert Baumeister hub@imm.dtu.dk DTU Compute Technical University of Denmark Spring 2013 Contents Sequence Diagrams Design Validation: Use Case Realization Example: Interaction

More information

Course System Integration Deriving the use case realization

Course System Integration Deriving the use case realization Course 02291 System Integration Deriving the use case realization Hubert Baumeister (huba@dtu.dk) March 21, 2017 The goal of the use case realization is to show that the use cases can be executed using

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 6 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Contents UML State Machines Components (part II) UML Behaviour Diagrams Activity Diagrams

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 4 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Contents From Requirements to Design CRC Cards Components (part Ia) Object-orientation:

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 7 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2018 Contents Sequence Diagrams Object-orientation: Centralized vs Decentralized

More information

02291: System Integration

02291: System Integration 02291: System Integration Introduction to UML Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2019 What is the UML? Unified Modelling Language (UML) Family of graphical

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 6: Design 1: CRC cards, class and sequence diagram Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Contents Midterm evaluation

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 5 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2015 Contents From Requirements to Design: CRC Cards Class Diagrams I Sequence Diagrams

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 2: Class diagrams part 1 Hubert Baumeister Informatics and Mathematical Modelling Technical University of Denmark Spring 2010 c 2010 H. Baumeister (IMM) Software Engineering

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 5 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Contents Components (part Ia) Class Diagrams Important Concepts Class Diagrams Software

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 3 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Recap Requirements Engineering functional / non-functional requirements Elicitation,

More information

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading:

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading: CompSci 280 S2 2107 Introduction to Software Development Today s Agenda Topics: Introduction Activity Diagram Object interaction Sequence Diagram Reading: Booch G.,The Unified Modeling Language User Guide,

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 8 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Last Week Components: Synchronized communication Sequence Diagrams Use Case Realization

More information

Objectives Pre-Test Questions Introduction Collaboration Diagrams Flow of Events and Special Requirements...

Objectives Pre-Test Questions Introduction Collaboration Diagrams Flow of Events and Special Requirements... 10 Analysis Modeling M MAJOR A J O R T TOPICSO P I C S Objectives... 144 Pre-Test Questions...144 Introduction... 145 Collaboration Diagrams... 145 Flow of Events and Special Requirements... 151 Class-Responsibility-Collaboration

More information

BOOK-IT 8.0. SIP2 implementation in the Z39.70 server

BOOK-IT 8.0. SIP2 implementation in the Z39.70 server BOOK-IT 8.0 2015-07-29 Axiell Sverige AB, Box 24014, 224 21 LUND. Besöksadress: Fältspatsvägen 4, 224 78 LUND Tel 046-270 04 00, e-post: axiellsverige@axiell.com, www.axiell.se Table of contents 1 Introduction...

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 3 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Contents Programming Tips and Tricks Booleans Constants Delegation Requirements

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 3 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2013 Recap Requirements Engineering user- / system requirements functional- / non-functional

More information

COMP-361 Software Engineering Project. Final. February 24th 2013: 6pm - 9pm. (10% of final grade) February 24, 2014

COMP-361 Software Engineering Project. Final. February 24th 2013: 6pm - 9pm. (10% of final grade) February 24, 2014 COMP-36 Software Engineering Project Final February 24th 203: 6pm - 9pm (0% of final grade) February 24, 204 Student Name: Examiner: Jörg Kienzle McGill ID: Instructions: DO NOT TURN THIS PAGE UNTIL INSTRUCTED

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 4 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Recap Test in general validation and defect test unit-, component-, system-,

More information

Dr. Manal Helal CC316:Object Oriented Programming, Fall 2015 AASTMT College of Engineering & Technology

Dr. Manal Helal CC316:Object Oriented Programming, Fall 2015 AASTMT College of Engineering & Technology OOP Term Project Ideas Goal: To learn how to build and evolve large-scale programs using object-oriented programming, and work in teams learning from each other. Topics: In exploring object-oriented programming,

More information

ATM Use Cases. ID: CIS Title: Check Balance Description: Customer aims to know the balance in his/her account

ATM Use Cases. ID: CIS Title: Check Balance Description: Customer aims to know the balance in his/her account ID: CIS375-01 Title: Login Description: Customer logs into the system by inserting the card and entering pin code. Preconditions: Customer has a bank account and an ATM Card. Postconditions: Customer logged

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 5 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2017 Contents Object-orientation: Centralized vs Decentralized Control/Computation Class

More information

Introduction to Unified Modelling Language (UML)

Introduction to Unified Modelling Language (UML) IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Introduction to Unified

More information

Translation to Relational Schema

Translation to Relational Schema Translation to Relational Schema Agenda this Week Translation of the Entity Relationship Diagram into a Relational Schema Understanding the Stable Translation method Understanding the concept of Foreign

More information

Lecture 17 Engineering Design Resolution: Generating and Evaluating Architectures

Lecture 17 Engineering Design Resolution: Generating and Evaluating Architectures Lecture 17 Engineering Design Resolution: Generating and Evaluating Architectures Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at

More information

02291: System Integration

02291: System Integration 02291: System Integration Hubert Baumeister hub@imm.dtu.dk Spring 2011 Contents 1 Recap 1 2 More UML Diagrams 2 2.1 Object Diagrams........................................... 2 2.2 Communication Diagrams......................................

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 4 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Recap week 1: Introduction week 2: Requirements: Domain model, Use Cases week

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 2 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Contents What are software requirements? Requirements Engineering Process Domain

More information

CS 1110: Introduction to Computing Using Python Loop Invariants

CS 1110: Introduction to Computing Using Python Loop Invariants CS 1110: Introduction to Computing Using Python Lecture 21 Loop Invariants [Andersen, Gries, Lee, Marschner, Van Loan, White] Announcements Prelim 2 conflicts due by midnight tonight Lab 11 is out Due

More information

ArchiMate symbols for relating system elements

ArchiMate symbols for relating system elements ArchiMate symbols for relating system elements Including diagrams and definitions edited from the ArchiMate 2.1 standard. Copyright The Open Group, All Rights Reserved. ArchiMate is a registered trademark

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 10 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2018 Recap Observer Pattern MVC Presentation Layer Example S.O.L.I.D. Simple Responsibility

More information

Testing, Debugging, and Verification

Testing, Debugging, and Verification Testing, Debugging, and Verification Formal Specification, Part II Srinivas Pinisetty 23 November 2017 Introduction Today: Introduction to Dafny: An imperative language with integrated support for formal

More information

UML Is Not a Methodology

UML Is Not a Methodology UML COSC 4354 1 UML Is Not a Methodology UML is an acronym for Unified Modeling Language UML is a language A language is simply a tool for communication and exchanging ideas UML is a notation, not a methodology

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 3 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Contents User Stories Activity Diagrams Acceptance Tests User stories Basic requirements

More information

Comp 151. Control structures.

Comp 151. Control structures. Comp 151 Control structures. admin quiz this week believe it or not only 2 weeks from exam. one a week each week after that. idle debugger Debugger: program that will let you look at the program as it

More information

Language and Tool Support for Class and State Machine Refinement in UML-B

Language and Tool Support for Class and State Machine Refinement in UML-B Language and Tool Support for Class and State Machine Refinement in UML-B Mar Yah Said, Michael Butler and Colin Snook (mys05r,mjb,cfs)@ecs.soton.ac.uk School of Electronic and Computer Science Outline

More information

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering Module UFC016QM Object-Oriented Design and Programming O-O Design Unit 2: Objects and Classes Faculty of Computing, Engineering and Mathematical Sciences Schedule Quick recap on Use Case diagrams UWE Flix

More information

4. Specifications and Additional Information

4. Specifications and Additional Information 4. Specifications and Additional Information AGX52004-1.0 8B/10B Code This section provides information about the data and control codes for Arria GX devices. Code Notation The 8B/10B data and control

More information

CS Lecture 19: Loop invariants

CS Lecture 19: Loop invariants CS 1110 Lecture 19: Loop invariants Announcements Prelim 2 conflicts Today (April 2) is two weeks before the prelim, and the deadline for submitting prelim conflicts. Instructor travel This week and the

More information

Business Requirements. for. cancellation of business documents

Business Requirements. for. cancellation of business documents Business Requirements for cancellation of business documents Status: Approved by ebix Forum Version/release: 2.0 Revision: A Date: December 2015 ebix Business requirements for cancellation of business

More information

Use C ases Cases 7/09

Use C ases Cases 7/09 Use Cases 7/09 Groups of 3 Recorder/Timekeeper Participation checker Devil s Advocate Motivation One way to describe a system is to create a story, y, the interaction between a user and the system This

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 1 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2013 Contents Course Introduction Introduction to Software Engineering Practical

More information

Software Specification 2IX20

Software Specification 2IX20 Software Specification 2IX20 Julien Schmaltz (slides from A. Serebrenik) Lecture 05: Interaction diagrams / Sequence diagrams This week sources Slides by Site by David Meredith, Aalborg University, DK

More information

CSC 520 Project Requirements

CSC 520 Project Requirements CSC 520 Project Requirements 1 Business Requirements 1.1 Business actor list Assistant: An employee of the library who helps Members borrow Books and reserve Cataloged Books. Person: A person who can browse

More information

CS246 Software Abstraction and Specification Final Examination

CS246 Software Abstraction and Specification Final Examination CS246 Software Abstraction and Specification ination Spring 2007 Date: 04-Aug-2007 Time: 4.00 6.30pm Permitted Aids: None 14 pages Student Name: UW Student ID: Instructions: (Read carefully before the

More information

VDX Manual for Member Libraries

VDX Manual for Member Libraries Contents How to Access VDX... 3 Searching VDX... 3 Making an ILL Request... 6 The Work Queue... 8 The Borrower Work Queue... 10 Borrower Work Queue Statuses... 10 Idle Requests Sending requests to lenders...

More information

Software Specification 2IX20

Software Specification 2IX20 Software Specification 2IX20 Julien Schmaltz (slides from A. Serebrenik) Lecture 06: (Behavioural diagrams) Activity diagrams and state machines Instructions - Status» Low interest in passive sessions

More information

Refresher: Interface Specifications. ADT Documentation. Set Represented as an Array. Representation Invariant, Abstraction Function

Refresher: Interface Specifications. ADT Documentation. Set Represented as an Array. Representation Invariant, Abstraction Function CS 247: Software Engineering Principles Representation Invariant, Abstraction Function Refresher: Interface Specifications An interface specification is a contract between a module's provider and the client

More information

Representation Invariant, Abstraction Function

Representation Invariant, Abstraction Function CS 247: Software Engineering Principles Representation Invariant, Abstraction Function Reading: Barbara Liskov and John Guttag, Program Development in Java: Abstraction, Specification, and Object Oriented

More information

Computer Systems Ms Jennifer. Ms Jennifer Senior 4 1

Computer Systems Ms Jennifer. Ms Jennifer Senior 4 1 Computer Systems Ms Jennifer Ms Jennifer Senior 4 1 Systems Analysis stages and the Waterfall model Ms Jennifer Senior 4 2 What is Analysis? When we are very young we undergo through the process of learning

More information

CS 451 Software Engineering

CS 451 Software Engineering CS 451 Software Engineering Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Design Engineering A systematical way to translate SRS into design Start with use cases from SRS

More information

CS 1063 Introduction to Computer Programming Midterm Exam 2 Section 1 Sample Exam

CS 1063 Introduction to Computer Programming Midterm Exam 2 Section 1 Sample Exam Seat Number Name CS 1063 Introduction to Computer Programming Midterm Exam 2 Section 1 Sample Exam This is a closed book exam. Answer all of the questions on the question paper in the space provided. If

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) 1.17 Software Engineering Case Study: Introduction to Object Technology and the UML (Required) Object orientation A natural way of thinking about the world and computer programs Unified Modeling Language

More information

Concurrency Abstractions in C#

Concurrency Abstractions in C# Concurrency Abstractions in C# Concurrency critical factor in behavior/performance affects semantics of all other constructs advantages of language vs. library compiler analysis/optimization clarity of

More information

OO Analysis and Design with UML 2 and UP

OO Analysis and Design with UML 2 and UP OO Analysis and Design with UML 2 and UP Dr. Jim Arlow, Zuhlke Engineering Limited Clear View Training 2008 v2.5 1 UML principles Clear View Training 2008 v2.5 2 1.2 What is UML? Unified Modelling Language

More information

C# Asynchronous Programming Model

C# Asynchronous Programming Model Spring 2014 C# Asynchronous Programming Model A PRACTICAL GUIDE BY CHRIS TEDFORD TABLE OF CONTENTS Introduction... 2 Background Information... 2 Basic Example... 3 Specifications and Usage... 4 BeginInvoke()...

More information

Concurrency Abstractions in C#

Concurrency Abstractions in C# Concurrency Abstractions in C# Concurrency critical factor in behavior/performance affects semantics of all other constructs advantages of language vs. library compiler analysis/optimization clarity of

More information

Using Standalone/Offline Mode

Using Standalone/Offline Mode Using Standalone/Offline Mode Use standalone/offline mode is for use if your library loses Internet connectivity, and one cannot log into Evergreen. Download Offline Patron List Once a week, download the

More information

Account-to-Account Transfers (A2A)

Account-to-Account Transfers (A2A) File located in S:\Public\CTI Documentation\Virtual Branch 1 Account-to-Account Transfers (A2A) Revised This feature will allow you to transfer money between your account and an account at a different

More information

Mobile Alerts Setup Guide

Mobile Alerts Setup Guide Mobile Alerts Setup Guide Table of Contents Adding an Email Address to Online Banking 1 Adding a Mobile Number to Online Banking 5 Setting up a Balance Alert 10 Setting up a Low Balance Alert 12 Setting

More information

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram.

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram. !"# $%&' !" #" $%%&&& ! Static Structure Diagram Collaboration Collaboration Diagram Collaboration Diagram Diagram Activity Diagram CRC Card CRC Card UML defines a standard notation for object-oriented

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 10 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Last Week Principles of good design: layered architecture Software Development Processes

More information

Summary of the course lectures

Summary of the course lectures Summary of the course lectures 1 Components and Interfaces Components: Compile-time: Packages, Classes, Methods, Run-time: Objects, Invocations, Interfaces: What the client needs to know: Syntactic and

More information

Concurrency Abstractions in C#

Concurrency Abstractions in C# Concurrency Abstractions in C# 1 1 Motivation Concurrency in C# Concurrency critical factor in behavior/performance affects semantics of all other constructs advantages of language vs. library Compiler

More information

CH 13 APPLICATION ANALYSIS

CH 13 APPLICATION ANALYSIS CH 13 APPLICATION ANALYSIS APPLICATION INTERACTION MODEL Steps: Determine system boundary Find actors Find use case Find initial & final events Prepare a normal scenario Add exception scenario Prepare

More information

1. BlueJ bank example with subclasses of BankAccount 2. Transparency of UML diagram for BankAccount class hierarchy

1. BlueJ bank example with subclasses of BankAccount 2. Transparency of UML diagram for BankAccount class hierarchy CS112 Lecture: Fundamental Concepts of Object-Oriented Software Development Last revised 1/13/04 Objectives: 1. To review/introduce key concepts of object-orientation: object, class, data members (class

More information

Question Sheet There are a number of criticisms to UML. List a number of these criticisms.

Question Sheet There are a number of criticisms to UML. List a number of these criticisms. Question Sheet 1 Name: ID: These questions do not have a formal, definitive answer. They are meant to be food for thoughts. Feel free to seek answers on browsing the Internet, talking to other software

More information

Object- Oriented Analysis, Design and Programming

Object- Oriented Analysis, Design and Programming Object- Oriented Analysis, Design and Programming Re- examination Medialogy Semester 4 Monday 16 August 2010 09:00 11:00 Instructions You have 2 hours to complete this examination. Neither written material

More information

COMP3111 EXAM 2013 COMP Two hours University of Manchester School of Computer Science Verified Develpment. Date and year Time.

COMP3111 EXAM 2013 COMP Two hours University of Manchester School of Computer Science Verified Develpment. Date and year Time. COMP3111 EXAM 2013 Two hours University of Manchester School of Computer Science Verified Develpment Date and year Time Rubric: Answer question 1. Answer one further question. Use of books or course notes

More information

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

INTRODUCTION 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 information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 9: Layered Architecture Persistency Layer; Software Development Process Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Recap

More information

Object-Oriented Software Development

Object-Oriented Software Development Chapter Sixteen Object-Oriented Software Development Inheritance and Polymorphism Summing Up The previous chapter introduced dynamic memory allocation and a linked list. The notions of indirection and

More information

1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE

1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE 1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE LECTURE-1 Syllabus Introduction 1.1 Introduction to Object Oriented 1.2 Introduction to UML 1.3 Software Process and OOA&D 1.4 Component and CBSD 1.5 Patterns

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 10 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Last Week Layered Architecture: Persistent Layer Software Development Processes

More information

The learning objectives of this chapter are the followings. At the end of this chapter, you shall

The learning objectives of this chapter are the followings. At the end of this chapter, you shall Chapter 5 Sequence diagrams In the previous chapters, we have seen different diagrams. Use case diagrams describe tasks that a system is supposed to perform. It gives high-level information about how a

More information

Lecture 16+17: Modeling with UML

Lecture 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 information

Lecture 15: Modeling with UML

Lecture 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 information

Software Design Models, Tools & Processes. Lecture 2: Inception Phase Cecilia Mascolo

Software Design Models, Tools & Processes. Lecture 2: Inception Phase Cecilia Mascolo Software Design Models, Tools & Processes Lecture 2: Inception Phase Cecilia Mascolo Inception Phase This is the phase when most of the system requirements are identified. Discover and reach agreement

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2018 Contents Basic Principles of Good Design Design Patterns Low Coupling High coupling

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Recap I Last week I Sequence diagrams I Centralized vs. Decentralized Control

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 6 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Contents Sequence Diagrams II Object-orientation: Centralized vs Decentralized

More information

Assertions, pre/postconditions

Assertions, pre/postconditions Programming as a contract Assertions, pre/postconditions Assertions: Section 4.2 in Savitch (p. 239) Specifying what each method does q Specify it in a comment before method's header Precondition q What

More information

CaseComplete Roadmap

CaseComplete Roadmap CaseComplete Roadmap Copyright 2004-2014 Serlio Software Development Corporation Contents Get started... 1 Create a project... 1 Set the vision and scope... 1 Brainstorm for primary actors and their goals...

More information

Génie Logiciel Avancé

Génie Logiciel Avancé L3 Mention Informatique Parcours Informatique et MIAGE Génie Logiciel Avancé UML/MOAL II Burkhart Wolff wolff@lri.fr Plan of the Chapter $ Semantics of MOAL Constraints % Class Invariants % Pre- and Post-Conditions

More information

Alma. Resource Sharing - Borrowing. Limor Cohen Head of Circulation and Interlibrary Loan Department. Technion Israel Institute of Technology

Alma. Resource Sharing - Borrowing. Limor Cohen Head of Circulation and Interlibrary Loan Department. Technion Israel Institute of Technology Alma Resource Sharing - Borrowing Limor Cohen Head of Circulation and Interlibrary Loan Department Israel Institute of Technology Table of Content Borrowing Request Books via on-line form Books via email

More information

Modelling the CoCoME with the Java/A Component Model

Modelling the CoCoME with the Java/A Component Model Modelling the CoCoME with the Java/A Component Model Rolf Hennicker, Alexander Knapp Ludwig-Maximilians-Universität München August 2007 The Java/A Team Ludwig-Maximilians-Universität München UML modelling,

More information

Notify Metering Point Characteristics

Notify Metering Point Characteristics Business Requirements for for Notify Metering Point Characteristics Status: Approved by ebix Forum Version: 3.2 Revision: B Date: June 2018 ebix Business Requirements for Notify Metering Point Characteristics

More information

Specifying Structural Requirements

Specifying Structural Requirements Specifying Structural Requirements Jörg Kienzle & Alfred Strohmeier COMP-361 Specifying Structural Requirements Structural Requirements Overview Purpose and Process of Requirements Specification / Analysis

More information

public static void negate2(list<integer> t)

public static void negate2(list<integer> t) See the 2 APIs attached at the end of this worksheet. 1. Methods: Javadoc Complete the Javadoc comments for the following two methods from the API: (a) / @param @param @param @return @pre. / public static

More information

Practical UML - A Hands-On Introduction for Developers

Practical UML - A Hands-On Introduction for Developers Practical UML - A Hands-On Introduction for Developers By: Randy Miller (http://gp.codegear.com/authors/edit/661.aspx) Abstract: This tutorial provides a quick introduction to the Unified Modeling Language

More information

Pattern for Structuring UML-Compatible Software Project Repositories

Pattern for Structuring UML-Compatible Software Project Repositories Pattern for Structuring UML-Compatible Software Project Repositories Pavel Hruby Navision Software a/s Frydenlunds Allé 6 2950 Vedbaek, Denmark E-mail: ph@navision.com Web site: www.navision.com/services/methodology/default.asp

More information

CS 153 Design of Operating Systems Winter 2016

CS 153 Design of Operating Systems Winter 2016 CS 153 Design of Operating Systems Winter 2016 Lecture 7: Synchronization Administrivia Homework 1 Due today by the end of day Hopefully you have started on project 1 by now? Kernel-level threads (preemptable

More information

Building blocks: Connectors: View concern stakeholder (1..*):

Building blocks: Connectors: View concern stakeholder (1..*): 1 Building blocks: Connectors: View concern stakeholder (1..*): Extra-functional requirements (Y + motivation) /N : Security: Availability & reliability: Maintainability: Performance and scalability: Distribution

More information

Section 3. Topics Covered

Section 3. Topics Covered Section 3 Topics Covered " Calculating using formulas... 3-2 " Copying formulas... 3-7 " Using absolute cell addresses... 3-13 " Calculating results using AutoCalculate... 3-18# " Using functions... 3-21

More information

USER INSTRUCTION FOR INTERNET BANKING SERVICE

USER INSTRUCTION FOR INTERNET BANKING SERVICE USER INSTRUCTION FOR INTERNET BANKING SERVICE SG SPLITSKA BANKA - SB net CONTENT: 1. Logging in to Internet banking... 32 1.1. Procedure for checking the identity of a client... 32 1.2. Possible problems

More information

Oaktree School Assessment. Computing P4

Oaktree School Assessment. Computing P4 dd Computing P4 With help can use device for simple functions With support show simple cause and effect i.e. click mouse on object With support make simple closed choices With support be able to take turns

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 5 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2018 Contents User Stories Class Diagrams I Version control User stories Requirements

More information

Lecture 7: Data Abstractions

Lecture 7: Data Abstractions Lecture 7: Data Abstractions Abstract Data Types Data Abstractions How to define them Implementation issues Abstraction functions and invariants Adequacy (and some requirements analysis) Towards Object

More information

Welcome to the new 2010 OutlookWebApp (OWA)

Welcome to the new 2010 OutlookWebApp (OWA) Welcome to the new 2010 OutlookWebApp (OWA) How to access: Within the district, on a district computer, type MyMail into any browser, like Firefox or Internet Explorer. Or, Go to 535net, under Menu, Applications,

More information

The terms Offline Interface and Standalone Mode mean the same thing a separate program to handle simple circulation tasks while the network is down.

The terms Offline Interface and Standalone Mode mean the same thing a separate program to handle simple circulation tasks while the network is down. Chapter 10 - Standalone Mode The terms Offline Interface and Standalone Mode mean the same thing a separate program to handle simple circulation tasks while the network is down. Several features are available

More information