Communications Software Engineering Analysis Model
|
|
- Brendan Allison
- 5 years ago
- Views:
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 Lecture 7: Concurrent Execution Slides created by Magee and Kramer for the Concurrency textbook 1 Magee/Kramer 2nd Edition Chapter 3 Concurrent Execution
More informationCSCI 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 informationConcurrent 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 informationVerification 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 informationConcurrent 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 informationLecture 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 informationIntroduction 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 informationSoftware 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 informationChapter 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 informationConcurrent 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 informationProcesses & 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 informationChapter 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 information12 Tutorial on UML. TIMe TIMe Electronic Textbook
TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3
More informationCSCI 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 informationObject Oriented Software Development CIS Today: Object Oriented Analysis
Object Oriented Software Development CIS 50-3 Marc Conrad D104 (Park Square Building) Marc.Conrad@luton.ac.uk Today: Object Oriented Analysis The most single important ability in object oriented analysis
More informationObject-Oriented Systems Analysis and Design Using UML
10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand
More information06. 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 informationIntroduction 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 informationCOSC 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 informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationIntroduction 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 informationObject-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 informationUML REFERENCE SHEETS. 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site:
UML Reference Sheets 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site: http://www.tatanka.com/ Revision Information This document was last revised 2014.03.02. The current
More informationCurriculum 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 informationMechEng 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 informationOMG 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 informationUML 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 informationCredit 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 informationObject-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 informationObject-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 informationCS 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 informationClass diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch
Class diagrams Modeling with UML Chapter 2, part 2 CS 4354 Summer II 2015 Jill Seaman Used to describe the internal structure of the system. Also used to describe the application domain. They describe
More informationCourse "Softwaretechnik" Book Chapter 2 Modeling with UML
Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,
More informationLesson 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 informationUNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?
Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------
More informationUML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram
UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling
More informationInteractions A link message
Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between
More informationObject-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 informationIntroduction to Software Engineering. 5. Modeling Objects and Classes
Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities
More informationChapter 1: Principles of Programming and Software Engineering
Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without
More informationSoftware 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 informationMAHARASHTRA 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 informationS 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 informationIntroduction to Software Engineering. 5. Modeling Objects and Classes
Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities
More informationChapter 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 informationUsing 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 informationIntroduction. 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 informationObject-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 informationHippo 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 informationObservable 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 informationTHE 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 informationChapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin
Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain
More informationObject-Oriented and Classical Software Engineering
Slide 16.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 16 Slide 16.2 MORE ON UML 1 Chapter Overview Slide
More informationPROCESSES 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 informationObject 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 informationObject 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 informationUML- 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 informationMAPPING 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 informationUML 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 informationObjectives. 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 informationZ 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 informationPatterns 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 informationSequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c
Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions
More informationSolved 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 informationA 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 informationObject-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 informationSoftware 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 informationSoftware Service Engineering
Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language
More informationModellistica 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 informationUnified 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 informationRecap : 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 informationObject-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 informationNew 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 informationWeiss 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 informationSoftware 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 informationConcurrent 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 informationADVANCED 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 informationCSCU9T4: Managing Information
CSCU9T4: Managing Information CSCU9T4 Spring 2016 1 The Module Module co-ordinator: Dr Gabriela Ochoa Lectures by: Prof Leslie Smith (l.s.smith@cs.stir.ac.uk) and Dr Nadarajen Veerapen (nve@cs.stir.ac.uk)
More informationChapter 1: Programming Principles
Chapter 1: Programming Principles Object Oriented Analysis and Design Abstraction and information hiding Object oriented programming principles Unified Modeling Language Software life-cycle models Key
More informationUML 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 informationLab 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 informationUnified 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 informationSoftCOM 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 informationChapter : Analysis Modeling
Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints
More informationSoftware 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 informationUnified 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 informationPractical 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 informationMAHARASHTRA 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 informationFormal 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 informationHistory 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 information2. 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 informationFor 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 informationOBJECT 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 informationStandard. 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 informationLABORATORY 1 REVISION
UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the
More informationINTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal
INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD Slides by: Shree Jaswal What is UML? 2 It is a standard graphical language for modeling object oriented software. It was developed in mid 90 s by collaborative
More informationUNIT 5 - UML STATE DIAGRAMS AND MODELING
UNIT 5 - UML STATE DIAGRAMS AND MODELING UML state diagrams and modeling - Operation contracts- Mapping design to code UML deployment and component diagrams UML state diagrams: State diagrams are used
More informationSOFTWARE 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 informationSE 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 informationScheme 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