Communications Software Engineering Analysis Model

Size: px
Start display at page:

Download "Communications Software Engineering Analysis Model"

Transcription

1 Communications Software Engineering Analysis Model Wolfgang Emmerich 1 Lecture Overview Aims of Analysis Model Building on outputs of Requirements Model Basic UML notations Introduction of new types of analysis objects Reuse of use cases Inputs for Design Model 2

2 Stages of Development Process User Reqs System Reqs Detailed Design Coding System Integr. Archit. Design Pre-Prod. Test Project and Risk Management System Management Version and Configuration Management Quality Management 3 System Reqs Document Owner: Chief Business Analyst 1 UML Use Case Model (Rose) + 2 UML Interaction Diagrams (Rose) + Analysis UML Sequence Diagrams Model UML Collaboration Diagrams 3 UML Analysis Class Diagram (Rose) + 4 User Interface Prototypes (GUI Tools, Office) * 5 Specification of Report Format (Office) 6 User Manual (Office) User Reference Manual User s Guide 4

3 Aims of the Analysis To provide a logical model of the system, in terms of : classes, relationships How to get the thing right, now and in the future 5 Producing an Analysis Model Inputs Actions 10 Draft initial class diagram 11 Re-examine use case and object behaviour 12 Refine class diagram 13 Execute check 14 Revise class diagram 15 Group classes into packages Outputs Notations 6

4 Analysis Input and Outputs Inputs: uses cases and use case model problem domain object list Outputs: class roles and responsibilities [text] use case description in terms of classes and operations [text x use case] completed analysis model [class and package diagrams] 7 Notations Class (rectangle containing name, attributes, operations) Object (rectangle plus obx:cx) Association (by value/aggregation, cardinality/multiplicity) Generalisation (UML term replacing OOSE inheritance ) Package Depends association 8

5 CLASSES IN UML classname attribute name: type Op name (parameter: type): result type Polygon centre: Point vertices: List of Point bordercolour: Colour fillcolour: Colour display (on: Surface) rotate (angle: Integer) erase () destroy () select (p: point): Boolean classname Polygon 9 Objects in UML objectname: classname attribute name: type = value (same operations for all instances of a class) objectname: classname triangle1: Polygon centre = (0,0) vertices = (0,0), (4,0), (4,3) bordercolour: black fillcolour: white display (on: Surface) rotate (angle: Integer) erase () destroy () select (p: point): Boolean triangle1: Polygon 10

6 UML Generalization SUPERCLASS Staff Member Librarian Lecturer Researcher SUBCLASS SUBCLASS SUBCLASS Handler KeyboardHandler MouseHandler JoystickHandler 11 Associations in UML bidirectional / binary unidirectional aggregation composition association name [+ single directional arrow] role name multiplicity role name multiplicity supplementary characteristics 12

7 Composition vs Aggregation Composition class Address { char *street; char * plz; } class Person { char * name; Address adr; } Person p = new Person() Aggregation class Address { char *street; char * plz; } class Person { char * name; Address *adr; Person(){ adr=new Address(); } Person p=new Person; 13 Association Examples in UML User authorised on > 1..* 1..* Workstation Authorisation priorities privileges AttributesOfClass OperationOfClass 1 1 ClassDecl start session() 1..* home directory 1 Directory 1..* 1..* Attribute Operation 14

8 Class Diagrams in UML Class diagrams : show logical, static structure of system provide core of unified model Generation of initial class diagram from problem domain object list classes of objects associations / attributes generalization relationships 15 A Recycling Machine Class Diagram Deposit Item Name Deposit value $Daily total Receipt Total cans Total bottles Total crates Can Width Height Bottle Neck Length Bottom Crate Width Height Length Customer panel Operator panel 16

9 Exploiting Use Cases Employ classes and use cases, one by one, to describe roles and responsibilities of each class to distribute behaviour specified in use cases to ensure that there is a class for every behaviour 17 Roles of Classes in OOSE Interface classes - for everything concerned with system interfaces Entity classes - for persistent information and behaviour coupled to it Control classes - for functionality not normally tied to other classes << interface >> << entity >> << control >> interface name entity name control name Integrated into UML as stereotypes: 18

10 Interface Classes Contain functionality directly dependant on system environment Definitions focus on interaction between actors and use cases Receipt Receiver Receipt Printer Operator Panel Customer Customer Panel Alarm Device Operator 19 Associations between Interface Classes Definition of both dynamic and static associations << interface >> Receipt button << interface >> Receipt Printer Operator Panel << interface >> Customer Panel Crate slot << interface >> Can slot Customer Panel << interface >> Alarm Device Bottle slot 20

11 Attributes of Entity Classes Purposes of entity classes : To store information persisting after completion of a use case To define behaviour for manipulating this information << entity >> Deposit Item Name: String Deposit value: ECU $Daily total: Integer << entity >> Can << entity >> Bottle << entity >> Crate 21 Entity Communication A primary task to identify associations involving communication modelling of communication between objects shows the sending and receiving of messages as stimuli starts from object initiating communication directed to object where reply generated or operation executed Receipt Basis Deposit Item 22

12 Entity Operations Defining entity operations for: storing and fetching information creating and removing object behaviour that must change if entity object is changed << entity >> Deposit Item Name: String Deposit value: ECU Daily total: Integer Create () setvalue (integer) Increment () 23 Control Classes Control classes needed to provide for: behaviour not natural in interface and entity classes 'glue' between other classes in use case typical control behaviours improved maintainability report generator information administrator deposit item receiver extends alarm device 24

13 Use Case View Model each use case Describe use case in terms of classes Customer Panel Deposit Item Receiver Receipt printer n Receipt Basis Deposit Item Can Bottle Crate 25 An elaborated Use Case When the customer returns a deposit item the Customer Panel s sensors measure its dimensions. These measurements are sent to the control object Deposit Item Receiver which checks via Deposit Item whether it is acceptable. If so, Receipt Basis increments the customer total and the daily total is also incremented. If it is not accepted, Deposit Item Receiver signals this back to Customer Panel which signals NOT VALID. When the Customer presses the receipt button, Customer Panel detects this and sends this message to Deposit Item Receiver. Deposit Item Receiver first prints the date via Receipt Printer and then asks Receipt Basis to go through the customer s returned items and sum them. This information is sent back to Deposit Item Receiver which asks Receipt Printer to print it out. 26

14 Packages Packages are a way to decompose class diagrams into manageable units Packages are necessary: because of large numbers of classes to provide optional functionality to minimise effect of change 27 Packages (Cont d) Packages should have a: tight functional coupling inside weak coupling outside indicated by 'dependency associations between packages Packages may: contain nested packages with service packages as atomic parts have individual classes outside be result of organisational or managerial pressures 28

15 Recycling Machine Packages Main Alarm Receipt printer Deposit Administration 29 Deposit Package in UML Deposit << interface >> Receipt button << interface >> Crate slot << interface >> << control >> Deposit Item Receiver << entity >> Receipt basis << entity >> Deposit Item Name: String Deposit value: ECU Daily total: Integer << interface>> Receipt printer::printer << control >> Alarm::Alarmist << interface >> Can slot Customer Panel Create () setvalue (integer) Increment () << interface >> Bottle slot << entity >> Can << entity >> Bottle << entity >> Crate 30

16 Analysis Model Outputs: class roles [text] use case description in terms of classes and operations [text x use case] completed analysis model classes [diagram] sub-system diagrams [package diagram] Notations introduced: class, object, associations (binary, unidirectional, aggregation, generalisation) stereotypes (classes, associations) package (+ dependency association) 31 Analysis in OOSE - Summary USER PERSECTIVE Actors and Use Cases Strong emphasis on requirements modelling Resistence to effects of change ADVANTAGES OVER OTHER METHODS Ways to identify and define classes and objects Effective and useful identification of roles of classes Recognition of user role (and interface) Refined with practical use 32

17 Modelling Processes 33 Processes and Threads Execution of a program is a process Concurrent programs consist of multiple processes Threads are lightweight processes Both threads and processes can be modelled in the same way We use finite state machines for that 34

18 Labelled Transition Systems Special form of finite state machines Used to model states of concurrent programs and transitions between them LTS:=(S,T,A,δ,c) where S (a finite set of states) T S S (a finite set of transitions) A (an alphabet of atomic actions) δ: T A (a transition labelling) c S (the current state) 35 Graphic LTS Notation 0 Current State scratch scratch n abc States Transitions Labels think talk scratch talk think 36

19 LTS Semantics All actions that are annotations of transitions starting from the current state are enabled If process engages in enabled action target of transition becomes current state Demo In this way LTS determines all possible traces of process 37 Finite State Processes (FSP) LTS become unmanageable for large number of states and transitions Process algebras determine LTSs in a more concise way Finite State Processes (FSP): machine readable notation for a process algebra For each FSP model an equivalent LTS can be constructed automatically 38

20 FSP Intro: Action Prefix Let x be an action and P a process. The action prefix(x->p) is process that initially engages in action x and then behaves in the same way as process P Used to model atomic actions Actions have lower case identifiers, states have upper case identifiers Example: ONESHOT=(once->STOP). once Equivalent LTS: FSP Intro: Recursion Let P be a process. Then P may be used in action prefixes in a recursive way. Used to model repetitive behaviour Example: SWITCH=OFF. OFF =(on->on). ON =(off->off). on Equivalent LTS: 0 1 Note: Processes are equivalent to states off 40

21 FSP Intro: Local Processes It is not necessary for all states/processes to be globally visible. Restricting states/processes by use of, Example: SWITCH=OFF, OFF=(on->ON), ON=(off->OFF). OFF and ON are not visible outside SWITCH Equivalent to: SWITCH=(on->off->SWITCH). 41 FSP Intro: Choice (x->p y->q) describes a choice that engages either in x or y. After x it contin-ues with P, after y it continues with Q Example: DRINKS=( red->tea->drinks blue->coffee->drinks ). Equivalent LTS: red 0 1 tea blue coffee 2 42

22 FSP Intro: Indexes A range type is a finite and scalar type: Example: range T=0..3 If T is a range type then x[i:t] is the declaration of an action index and P[i:T] is declares an indexed process. A process index variable is valid within the process, an indexed action is valid within the scope of the choice. 43 range T=0..5 X=X[0], X[i:T]=(inc->X[i+1]). 44

23 FSP Intro: Index Example const N =1 range T =0..N range R =0..2*N SUM =(in[a:t][b:t]->out[a+b], OUT[s:R]=(out[s]->SUM). Equivalent LTS: in.1.1 in.0.1 in out.0 out.1 in.1.0 out FSP Intro: Guarded Actions The guarded action when B x->p means that when the guard B is true action x is enabled and the process proceeds as P. Example: COUNT(N=3) =COUNT[0], COUNT[i:0..N]=(when(i<N) inc->count[i+1] when(i>0) dec->count[i-1] ). Equivalent LTS: inc 0 1 dec inc dec 2 inc dec 3 46

24 Summary Formal Definition of LTS Algebraic notation in FSP Equivalence between LTS and FSP FSP and LTS concepts introduced so far are sufficient for sequential programs Next session: FSP constructs for modelling concurrent programs 47 Modelling Concurrency in FSP 48

25 What do we have to model? Relative or absolute speed? Neither! Concurrency or parallelism? Interleaved model of concurrency! Relative order of actions? Arbitrary interleaving! We use an asynchronous model of execution! 49 FSP: Parallel Composition If P and Q are processes then (P Q) denotes the parallel execution of P and Q is used to model parallel composition of processes Names of concurrent processes are preceeded by Example: CONVERSE =(think->talk->stop). ITCH =(scratch->stop). CONVERSE_ITCH =(ITCH CONVERSE). 50

26 Equivalent LTSs CONVERSE =(think->talk->stop). think talk ITCH=(scratch->STOP) scratch 1 CONVERSE_ITCH =(ITCH CONVERSE). scratch scratch think talk scratch 0,0 1,0 2,0 2,1 1,1 0,1 talk think 51 Properties of Parallel Composition Parallel composition operator has two important algebraic properties Commutativeness (P Q)=(Q P) ordering is not important! Associativeness ((P Q) R)=(P (Q R))=(P Q R) brackets can be omitted! 52

27 FSP: Process Interactions Concurrent processes that share actions interact with each other Used to model synchronisation Example: MAKER = (make->ready->maker). USER = (ready->use->user). MAKER_USER = (MAKER USER). Product has to be ready before it can be used. 53 Equivalent LTS MAKER = (make->ready->maker). USER = (ready->use->user). MAKER_USER = (MAKER USER). make ready make Demo use use 54

28 Handshake An action that is acknowledged by another action is referred to as handshake Widely used to structure process interactions Example: MAKERv2=(make->ready->used->MAKERv2). USERv2 =(ready->use->used ->USERv2). MAKER_USERv2 = (MAKERv2 USERv2). LTS: 0 make ready use 1 2 used 3 55 FSP: Process Labelling The process label a:p prefixes each label in the alphabet of P with a Avoids name clashes in different instantiations of processes and enables reuse. Example: SWITCH = (on->off->switch). TWOSWITCH=(a:SWITCH b:switch). Alphabet of TWOSWITCH: {a.on, a.off, b.on, b.off} 56

29 FSP: Process Labelling (cont d). The process label {a1,..,ax}::p replaces every label n in the alphabet of P with label a1.n,,ax.n. Example: RESOURCE=(acquire->release->RESOURCE). USER = (acquire->use->release->user). RESOURCE_SHARE = (a:user b:user {a,b}::resource). 57 Equivalent LTSs 0 a:user a.acquire a.use 1 2 a.release {a,b}::resource a.acquire 0 b.acquire 1 a.release b.release a:user b:user {a,b}::resource b.acquire 0 a.acquire a.use 1 2 a.release b.release b.use

30 FSP: Relabelling Relabelling functions change names of action labels. The relabelling function is: /{new1/old1, newn/oldn}. Used to synchronise actions with different names in composite processes. Example: CLIENT=(call->wait->continue->CLIENT). SERVER=(request->serve->reply->SERVER). CLIENT_SERVER = (CLIENT SERVER) /{call/request, reply/wait}. 59 CLIENT=(call->wait-> 0 call wait 1 2 continue Equivalent LTSs request serve continue->client) reply SERVER=(request->serve ->reply->server). CLIENT_SERVER = (CLIENT SERVER) /{call/request, reply/wait}. 0 call serve reply 1 2 continue 3 60

31 FSP: Hiding The hiding operator \{a1..ax} removes action labels a1..ax from alphabet of P and hides them Hidden actions are labelled tau Hidden actions in different processes are not shared Example: USER=(acquire->use->release-> USER)\{use}. 61 FSP: Interfaces The interface hides all actions in the alphabet of P that do not occur in the set a1..ax. Complementary to hiding Like hiding used to reduce complexity of resulting LTS. Example: USER = (acquire->use->release-> USER)@{acquire,release}. 62

32 FSP: Structure Diagrams Process P with alphabet {a,c,x} a P c x Parallel Composition (P Q)/{m/a,m/b,c/d} P a c x m c x b d x Q Composite Process S = (T U)@{x,y} x T a U S y 63 Summary Parallel Composition Process Interactions Process Labelling Process Relabelling Hiding / Interfaces Structure Diagrams Solve Exercises of tutorial sheet 64

CSCI 5828: Foundations of Software Engineering

CSCI 5828: Foundations of Software Engineering CSCI 5828: Foundations of Software Engineering Lecture 7: Concurrent Execution Slides created by Magee and Kramer for the Concurrency textbook 1 Magee/Kramer 2nd Edition Chapter 3 Concurrent Execution

More information

CSCI 5828: Foundations of Software Engineering

CSCI 5828: Foundations of Software Engineering CSCI 5828: Foundations of Software Engineering Lecture 7: Concurrent Execution Slides created by Magee and Kramer for the Concurrency textbook 2/05/2008 1 Magee/Kramer 2nd Edition What s the Difference?

More information

Concurrent Execution

Concurrent Execution Jan. 30, 2013 Concepts Processes - concurrent execution and interleaving Process interaction Models Parallel composition of asynchronous processes Interleaving Interaction Shared actions Process labeling

More information

Verification Finite-state process modeling and reachability analysis

Verification Finite-state process modeling and reachability analysis Verification Finite-state process modeling and reachability analysis Topics: Finite-state process modeling Verification through interactive simulation Concurrent composition of processes Verification through

More information

Concurrent processes. Processes and Threads. A question asked by your friend. Warm-up exercises at beginning of Lecture 3. My question for you

Concurrent processes. Processes and Threads. A question asked by your friend. Warm-up exercises at beginning of Lecture 3. My question for you Reading material: Chapter 2 of Textbook. Processes and Threads Abhik Roychoudhury CS 3211 National University of Singapore Concurrent processes We structure complex systems as sets of simpler activities,

More information

Lecture 2: Modeling Introduction

Lecture 2: Modeling Introduction Concurrent Programming 19530-V (WS01) Lecture 2: Modeling Introduction Dr. Richard S. Hall rickhall@inf.fu-berlin.de Concurrent programming October 23, 2001 Our Approach to Concurrency Start with concurrency

More information

Introduction to modelling in FSP (Finite State Processes) and its application for analysis of Java Mutex problems

Introduction to modelling in FSP (Finite State Processes) and its application for analysis of Java Mutex problems Introduction to modelling in FSP (Finite State Processes) and its application for analysis of Java Mutex problems MVP3 1 Modeling Processes Models are described using state machines, known as Labelled

More information

Software Design Models, Tools & Processes. Lecture 3: Addendum Cecilia Mascolo

Software Design Models, Tools & Processes. Lecture 3: Addendum Cecilia Mascolo Software Design Models, Tools & Processes Lecture 3: Addendum Cecilia Mascolo Example object diagram Taken from [Booch 1999] Notation for objects an object icon Object name Class name Name compartment

More information

Chapter 9. Labelled Transition Systems. System Composition. specifications. implementations.

Chapter 9. Labelled Transition Systems. System Composition. specifications. implementations. SFWR ENG 3BB4 Software Design 3 Concurrent System Design SFWR ENG 3BB4 Software Design 3 Concurrent System Design 9.9 System Composition Chapter 9 Labelled Transition Systems A system specification is

More information

Concurrent processes. Processes and Threads. Processes and threads. Going back to Concurrency. Modelling Processes. Modeling processes

Concurrent processes. Processes and Threads. Processes and threads. Going back to Concurrency. Modelling Processes. Modeling processes Processes and Threads Abhik Roychoudhury CS 3211 National University of Singapore Modified from Kramer and Magee s lecture notes. Reading material: Chapter 2 of Textbook. Concurrent processes We structure

More information

Processes & Threads. Concepts: processes - units of sequential execution.

Processes & Threads. Concepts: processes - units of sequential execution. Chapter 2 Processes & Threads concurrent processes We structure complex systems as sets of simpler activities, each represented as a sequential process. Processes can overlap or be concurrent, so as to

More information

Chapter 2. Processes & Threads. Concurrency: processes & threads 1. Magee/Kramer

Chapter 2. Processes & Threads. Concurrency: processes & threads 1. Magee/Kramer Chapter 2 Processes & Threads Concurrency: processes & threads 1 concurrent processes We structure complex systems as sets of simpler activities, each represented as a sequential process. Processes can

More information

12 Tutorial on UML. TIMe TIMe Electronic Textbook

12 Tutorial on UML. TIMe TIMe Electronic Textbook TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3

More information

CSCI 5828: Foundations of Software Engineering

CSCI 5828: Foundations of Software Engineering CSCI 5828: Foundations of Software Engineering Lecture 4: Processes and Threads Slides created by Magee and Kramer for the Concurrency textbook 01/24/2008 1 Magee/Kramer 2nd Edition Chapter 2 Processes

More information

Object Oriented Software Development CIS Today: Object Oriented Analysis

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

Object-Oriented Systems Analysis and Design Using UML

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

06. Analysis Modeling

06. Analysis Modeling 06. Analysis Modeling Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Overview of Analysis Modeling 1 Requirement Analysis 2 Analysis Modeling Approaches

More information

Introduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M

Introduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M Introduction to UML Part I 1 What is UML? Unified Modeling Language, a standard language for designing and documenting a system in an object- oriented manner. It s a language by which technical architects

More information

COSC 3351 Software Design. An Introduction to UML (I)

COSC 3351 Software Design. An Introduction to UML (I) COSC 3351 Software Design An Introduction to UML (I) This lecture contains material from: http://wps.prenhall.com/esm_pfleeger_softengtp_2 http://sunset.usc.edu/classes/cs577a_2000/lectures/05/ec-05.ppt

More information

Object-Oriented Design

Object-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 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

Object-Oriented Software Engineering: Design Model - 1

Object-Oriented Software Engineering: Design Model - 1 Lecture 5 Object-Oriented Software Engineering: Design Model - 1 Dr Neil Maiden Dr Stephen Morris Dr Wolfgang Emmerich School of Informatics City University OOAD Design 1 5. 1 Last week, we have discussed

More information

UML 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: 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 information

Curriculum Map Grade(s): Subject: AP Computer Science

Curriculum Map Grade(s): Subject: AP Computer Science Curriculum Map Grade(s): 11-12 Subject: AP Computer Science (Semester 1 - Weeks 1-18) Unit / Weeks Content Skills Assessments Standards Lesson 1 - Background Chapter 1 of Textbook (Weeks 1-3) - 1.1 History

More information

MechEng SE3 Lecture 7 Domain Modelling

MechEng SE3 Lecture 7 Domain Modelling MechEng SE3 Lecture 7 Domain Modelling Simon Gay (slides by Phil Gray) 17 February 2010 1 This week s supplementary reading Zero Balances and Zero Responsibility Michael Bolton http://www.developsense.com/essays/zero.html

More information

OMG Modeling Glossary B

OMG Modeling Glossary B OMG Modeling Glossary B This glossary defines the terms that are used to describe the Unified Modeling Language (UML) and the Meta Object Facility (MOF). In addition to UML and MOF specific terminology,

More information

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus UML 2.0 Division of Computer Science, College of Computing Hanyang University ERICA Campus Introduction to UML 2.0 UML Unified Modeling Language Visual language for specifying, constructing and documenting

More information

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects Lecture 4: Fundamentals of Object Technology Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

More information

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L 2 0 1 5 Introduction UML Unified Modeling Language Very well recognized specification for modeling architectures, use cases, etc. UML

More information

Class 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. 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 information

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

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

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science Lesson 11 INTRODUCING UML W.C.Udwela Department of Mathematics & Computer Science Why we model? Central part of all the activities We build model to Communicate Visualize and control Better understand

More information

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

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

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

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

Interactions A link message

Interactions 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 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

Introduction to Software Engineering. 5. Modeling Objects and Classes

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

Chapter 1: Principles of Programming and Software Engineering

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

Software Engineering. Page 1. Objectives. Object-Behavioural Modelling. Analysis = Process + Models. Case Study: Event Identification

Software Engineering. Page 1. Objectives. Object-Behavioural Modelling. Analysis = Process + Models. Case Study: Event Identification Software Engineering Object-Oriented Analysis (State and Interaction Diagrams) James Gain (jgain@cs.uct.ac.za) http://people.cs.uct.ac.za/~jgain 1. Show the object-behaviour design process Objectives 2.

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Subject Code: 17630 Model Answer Page No: 1 /32 Important Instructions to examiners: 1) The answers should be examined by keywords and not as word-to-word as given in the model answer scheme. 2) The model

More information

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A G R A M S ) WHAT IS CLASS DIAGRAM? A class diagram

More information

Introduction to Software Engineering. 5. Modeling Objects and Classes

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

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee 4th Edition It is important to have standard notations for modeling, documenting, and communicating decisions Modeling helps us to

More information

Using High-Level Conceptual Data Models for Database Design A Sample Database Application Entity Types, Entity Sets, Attributes, and Keys

Using High-Level Conceptual Data Models for Database Design A Sample Database Application Entity Types, Entity Sets, Attributes, and Keys Chapter 7: Data Modeling Using the Entity- Relationship (ER) Model Using High-Level Conceptual Data Models for Database Design A Sample Database Application Entity Types, Entity Sets, Attributes, and Keys

More information

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process Quatrani_Ch.01.fm Page 1 Friday, October 27, 2000 9:02 AM Chapter 1 Introduction What Is Visual Modeling? The Triangle for Success The Role of Notation History of the UML The Role of Process What Is Iterative

More information

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts Object-Oriented Analysis and Design Analysis vs. Design Analysis Activities Finding the Objects/ Classes An Analysis Example The Unified Modeling Language Pre-UML Situation Early 90s Explosion of OO methods/notations

More information

Hippo Software BPMN and UML Training

Hippo Software BPMN and UML Training Hippo Software BPMN and UML Training Icon Key: www.hippo-software.co.uk Teaches theory concepts and notation Teaches practical use of Enterprise Architect Covers BPMN, UML, SysML, ArchiMate Includes paper

More information

Observable Behaviour Observable behaviour can be defined in terms of experimentation.

Observable Behaviour Observable behaviour can be defined in terms of experimentation. Observable Behaviour Observable behaviour can be defined in terms of experimentation. Consider a coffee machine. We don t need to understand and don t what to understand how the coffee machine works. All

More information

THE QUEEN S UNIVERSITY OF BELFAST

THE QUEEN S UNIVERSITY OF BELFAST THE QUEEN S UNIVERSITY OF BELFAST FSP Quick Reference Guide is attached to the end of the examination paper. 110CSC321 Level 3 EXAMINATION FOR THE DEGREE(S) OF MEng, BEng, BSc Concurrent Programming January

More information

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

Object-Oriented and Classical Software Engineering

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

PROCESSES AND THREADS

PROCESSES AND THREADS PROCESSES AND THREADS A process is a heavyweight flow that can execute concurrently with other processes. A thread is a lightweight flow that can execute concurrently with other threads within the same

More information

Object Oriented Modeling

Object Oriented Modeling Overview UML Unified Modeling Language What is Modeling? What is UML? A brief history of UML Understanding the basics of UML UML diagrams UML Modeling tools 2 Modeling Object Oriented Modeling Describing

More information

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification Object Oriented Design Part 2 Analysis Design Implementation Program Design Analysis Phase Functional Specification Completely defines tasks to be solved Free from internal contradictions Readable both

More information

UML- a Brief Look UML and the Process

UML- a Brief Look UML and the Process UML- a Brief Look UML grew out of great variety of ways Design and develop object-oriented models and designs By mid 1990s Number of credible approaches reduced to three Work further developed and refined

More information

MAPPING THE IMPACT OF REQUIREMENT CHANGES USING LABELLED TRANSITION SYSTEM FOR REQUIREMENT CHANGE (LTS-RC)

MAPPING THE IMPACT OF REQUIREMENT CHANGES USING LABELLED TRANSITION SYSTEM FOR REQUIREMENT CHANGE (LTS-RC) 315 MAPPING THE IMPACT OF REQUIREMENT CHANGES USING LABELLED TRANSITION SYSTEM FOR REQUIREMENT CHANGE (LTS-RC) Martasari Widiastuti *, Daniel Siahaan Informatics Department, Information Technology Faculty,

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

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers

More information

Z Notation. June 21, 2018

Z Notation. June 21, 2018 Z Notation June 21, 2018 1 Definitions There are many different ways to introduce an object in a Z specification: declarations, abbreviations, axiomatic definitions, and free types. Keep in mind that the

More information

Patterns and Testing

Patterns and Testing and Lecture # 7 Department of Computer Science and Technology University of Bedfordshire Written by David Goodwin, based on the lectures of Marc Conrad and Dayou Li and on the book Applying UML and (3

More information

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

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

Solved Question Paper June 2017

Solved Question Paper June 2017 Solved Question Paper June 2017 1.a) What are the benefits of Object Oriented Methodology in real life applications? Briefly explain each element of the state diagram with respect to dynamic modeling.

More information

A UML 2 Profile for Variability Models and their Dependency to Business Processes

A UML 2 Profile for Variability Models and their Dependency to Business Processes A UML 2 Profile for Variability Models and their Dependency to Business Processes Birgit Korherr and Beate List Women s Postgraduate College for Internet Technologies Institute of Software Technology and

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes 5.1 What is UML? The Unified Modelling Language is a standard graphical language

More information

Software Architecture With ColdFusion: Design Patterns and Beyond Topics Outline Prepared by Simon Horwith for CFUnderground 6

Software Architecture With ColdFusion: Design Patterns and Beyond Topics Outline Prepared by Simon Horwith for CFUnderground 6 Software Architecture With ColdFusion: Design Patterns and Beyond Topics Outline Prepared by Simon Horwith for CFUnderground 6 Some Terms: Architecture the manner in which the components of a computer

More information

Software Service Engineering

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

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 6 UML Introduction Structural diagrams Basics What is? Please explain

More information

Unified Modeling Language (UML) Class Diagram

Unified Modeling Language (UML) Class Diagram 1 / 10 Unified Modeling Language (UML) Class Diagram Miaoqing Huang University of Arkansas Spring 2010 2 / 10 Outline 1 2 3 / 10 Class Diagram Class diagrams show the static structure of the classes that

More information

Recap : UML artefacts. Black Box Requirements. Functional Specification. System. System. Test. Design. System. System. Development.

Recap : UML artefacts. Black Box Requirements. Functional Specification. System. System. Test. Design. System. System. Development. L5-1 Recap : UML artefacts Actors Use Cases Use Case Diagrams Storyboards Black Box Requirements System Validation Test Cases System Test Functional Specification System Development Notes Details Signatures

More information

Object-oriented design. More UML

Object-oriented design. More UML Object-oriented design More UML Interfaces An interface is a language construct specific to Java Java does not support multiple inheritance Interfaces provide some of the same functionality A Java class

More information

New Programming Paradigms

New Programming Paradigms New Programming Paradigms Lecturer: Pánovics János (google the name for further details) Requirements: For signature: classroom work and a 15-minute presentation Exam: written exam (mainly concepts and

More information

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

Weiss Chapter 1 terminology (parenthesized numbers are page numbers) Weiss Chapter 1 terminology (parenthesized numbers are page numbers) assignment operators In Java, used to alter the value of a variable. These operators include =, +=, -=, *=, and /=. (9) autoincrement

More information

Software Engineering using Formal Methods

Software Engineering using Formal Methods Software Engineering using Formal Methods Introduction to Promela Wolfgang Ahrendt 03 September 2015 SEFM: Promela /GU 150903 1 / 36 Towards Model Checking System Model Promela Program byte n = 0; active

More information

Concurrent Execution

Concurrent Execution Concurrent Execution Overview: concepts and definitions modelling: parallel composition action interleaving algebraic laws shared actions composite processes process labelling, action relabeling and hiding

More information

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE Dave Clarke 1 THIS LECTURE At the end of this lecture you will know notations for expressing software architecture the design principles of cohesion

More information

CSCU9T4: Managing Information

CSCU9T4: 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 information

Chapter 1: Programming Principles

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

UML Tutorial. Unified Modeling Language UML Tutorial

UML Tutorial. Unified Modeling Language UML Tutorial UML Tutorial Unified Modeling Language UML Tutorial A Unified Modeling Language is a language for specifying, constructing, visualizing and documenting the software system and its components. UML is a

More information

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester Lab Manual Object Oriented Analysis And Design TE(Computer) VI semester Index Sr. No. Title of Programming Assignment Page No. 1 2 3 4 5 6 7 8 9 10 Study of Use Case Diagram Study of Activity Diagram Study

More information

Unified Modeling Language for Real-Time Systems Design

Unified Modeling Language for Real-Time Systems Design Unified Modeling Language for Real-Time Systems Design Introduction The Unified Modeling Language, or UML, is a third-generation object-oriented modeling language. It adapts and extends the published works

More information

SoftCOM 2000 THE EFFICIENT SYMBOLIC TOOLS PACKAGE

SoftCOM 2000 THE EFFICIENT SYMBOLIC TOOLS PACKAGE 8th International Conference Software, Telecommunications and Computer Networks, Split, Croatia THE EFFICIENT SYMBOLIC TOOLS PACKAGE Robert Meolic, Tatjana Kapus, Zmago Brezočnik Faculty of Electrical

More information

Chapter : Analysis Modeling

Chapter : 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 information

Software Engineering with Objects and Components Open Issues and Course Summary

Software Engineering with Objects and Components Open Issues and Course Summary Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) Unified Modeling Language (UML) Troy Mockenhaupt Chi-Hang ( Alex) Lin Pejman ( PJ ) Yedidsion Overview Definition History Behavior Diagrams Interaction Diagrams Structural Diagrams Tools Effect on Software

More information

Practical UML : A Hands-On Introduction for Developers

Practical UML : A Hands-On Introduction for Developers Borland.com Borland Developer Network Borland Support Center Borland University Worldwide Sites Login My Account Help Search Practical UML : A Hands-On Introduction for Developers - by Randy Miller Rating:

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate

More information

Formal Specification and Verification

Formal Specification and Verification Formal Specification and Verification Introduction to Promela Bernhard Beckert Based on a lecture by Wolfgang Ahrendt and Reiner Hähnle at Chalmers University, Göteborg Formal Specification and Verification:

More information

History of object-oriented approaches

History of object-oriented approaches Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented

More information

2. Concurrency and Java

2. Concurrency and Java 2. Concurrency and Java Oscar Nierstrasz Selected material Magee and Kramer Roadmap > Threads in Java Threads (vs. Processes) Thread creation Thread lifecycle > Synchronization in Java wait() and notify()

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : , Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,

More information

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization OBJECT ORIENTED DESIGN with the Unified Process Use Case Realization Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop detailed sequence diagrams

More information

Standard. Number of Correlations

Standard. Number of Correlations Computer Science 2016 This assessment contains 80 items, but only 80 are used at one time. Programming and Software Development Number of Correlations Standard Type Standard 2 Duty 1) CONTENT STANDARD

More information

LABORATORY 1 REVISION

LABORATORY 1 REVISION UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the

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

UNIT 5 - UML STATE DIAGRAMS AND MODELING

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

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa SOFTWARE MODELING AND DESIGN UML, Use Cases, Patterns, and Software Architectures Hassan Gomaa George Mason University, Fairfax, Virginia Ki Cambridge UNIVERSITY PRESS Contents Preface P"U

More information

SE 1: Software Requirements Specification and Analysis

SE 1: Software Requirements Specification and Analysis SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 U Waterloo SE1 (Winter 2006)

More information

Scheme of work Cambridge International AS & A Level Computing (9691)

Scheme of work Cambridge International AS & A Level Computing (9691) Scheme of work Cambridge International AS & A Level Computing (9691) Unit 2: Practical programming techniques Recommended prior knowledge Students beginning this course are not expected to have studied

More information