Modern methods in Software Engineering UML.

Size: px
Start display at page:

Download "Modern methods in Software Engineering UML."

Transcription

1 Modern methods in Software Engineering UML

2 Introduction Content Software modeling (concepts and phenomena) OO modeling UML Use case Diagrams Organizational diagrams Class diagrams Sequence diagrams Communication diagrams Statechart diagrams Activity Diagrams Deployment diagrams

3 Literature used Chapter 2 in the text-book

4 Software modeling What is modeling? Why model software? System, Notation, Models and Views A model is an abstraction describing a subset of a system System A view depicts selected aspects of a model A notation is a set of graphical or textual rules for depicting views Views and models of a single system may overlap each other Aircraft Blueprints Model 1 View 1 Model 2 Flightsimulator Scale model View 2 View 3 Electrical Wiring

5 Concepts and Phenomena Phenomenon An object in the world of a domain as you perceive it Example: The lecture you are attending Concept Describes the properties of phenomena that are common. Example: Lectures in software engineering course Concept is a 3-tuple: Name (To distinguish it from other concepts) Purpose (Properties that determine if a phenomenon is a member of a concept) Members (The set of phenomena which are part of the concept)

6 Concepts and phenomena Name" Purpose" Members" Clock A device that measures time. Abstraction Classification of phenomena into concepts Modeling Development of abstractions to answer specific questions about a set of phenomena while ignoring irrelevant details.

7 Concepts in software Type: An abstraction in the context of programming languages Name: int, Purpose: integer number, Members: 0, -1, 1, 2, -2,... Instance: Member of a specific type The type of a variable represents all possible instances the variable can take The following relationships are similar: type < > instance concept < > phenomenon

8 Software modeling paradigms Procedural paradigm: Software is organized around main the notion of procedures perform transaction credit debit compute interest compute fees Object oriented paradigm: Organizing procedural abstractions in the context of data abstractions Account credit debit CheckingAccount SavingsAccount compute interest compute fees compute interest compute fees

9 Objects, Classes, Inheritance Object combines features of data and procedure Has properties - Represent its state Has behavior set of methods how the object can be manipulated Class A template from which instances of the class (objects) can be created Carrier of properties common to the objects of the class Superclasses Contain features common to a set of subclasses Inheritance hierarchies Show the relationships among superclasses and subclasses Inheritance The implicit possession by all subclasses of features defined in its superclasses

10 Abstract Data Types and Classes Abstract data type Special type whose implementation is hidden from the rest of the system. Class: An abstraction in the context of object-oriented languages Like an abstract data type, a class encapsulates both state (variables) and behavior (methods) Unlike abstract data types, classes can be defined in terms of other classes using inheritance Unlike of classes, abstract data types may have axioms/ constraints on the values of their members Abstract data type is rather mathematical notion while class is a programming notion

11 Object-Oriented Modeling T The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may Application Domain" Application Domain Model" TrafficControl Solution Domain" System Model" SummaryDisplay MapDisplay Aircraft TrafficController FlightPlanDatabase FlightPlan Airport TrafficControl

12 UML UML (Unified Modeling Language) An emerging standard for modeling object-oriented software. Resulted from the convergence of notations from three leading object-oriented methods: OMT (James Rumbaugh) OOSE (Ivar Jacobson) Booch (Grady Booch) Reference: Quick reference: Supported by several CASE tools IBM Rational ROSE

13 UML: Brief overview Use case Diagrams Describe the functional behavior of the system as seen by the user. Organizational diagrams Packaging and components Class diagrams Describe the static structure of the system: Objects, Attributes, Associations Sequence diagrams Describe the dynamic behavior between actors and the system and between objects of the system Communication diagrams Alternative presentation of sequence diagrams State diagrams Describe the dynamic behavior of an individual object (essentially a finite state automaton) Activity Diagrams Model the dynamic behavior of a system, in particular the workflow (essentially a flowchart) Component diagrams Show structure of components Deployment diagrams Used to model the hardware that will be used to implement the system

14 Use Case Diagrams Package" Watch" Use case" Actor" ReadTime" WatchUser" SetTime" WatchRepairPerson" ChangeBattery"

15 Class diagrams Association" Class" Multiplicity" Watch PushButton state push() release() 1 LCDDisplay bitmap blinkseconds() blinkminutes() blinkhours() stopblinking() referesh() 2 Battery load 1 Time now Attribute" Operations"

16 Sequence diagrams Actor" Object" :WatchUser :Watch :LCDDisplay :Time pressbutton1() blinkhours() pressbutton1() blinkminutes() Message" pressbutton2() incrementminutes() refresh() pressbuttons1and2() stopblinking() commitnewtime() Activation" Lifeline"

17 Event" Statechart Diagrams Initial state" State" [button1&2pressed] BlinkHours [button2pressed] IncrementHrs Transition" [button1pressed] [button1&2pressed] BlinkMinutes [button2pressed] IncrementMin. [button1pressed] [button1&2pressed] [button2pressed] BlinkSeconds IncrementSec. StopBlinking Final state"

18 Activity diagrams Buy Watch Use Watch Repair Watch StopUsing Watch LookingFor NewWatch

19 UML conventions Rectangles are classes or instances Ovals are functions or use cases Instances are denoted with an underlined names mywatch:simplewatch :Firefighter Types/concepts are denoted with non underlined names SimpleWatch Firefighter Diagrams are graphs Nodes are entities Arcs are relationships between entities

20 UML Diagams Use case Diagrams Organizational diagrams Class diagrams Sequence diagrams Communication diagrams Statechart diagrams Activity Diagrams Component and Deployment diagrams

21 Use Case Diagrams (more details) Used during requirements elicitation to represent external behavior Actors represent roles, that is, a type of user of the system Use cases represent a sequence of interaction for a type of functionality The use case model is the set of all use cases. It is a complete description of the functionality of the system and its environment Passenger PurchaseTicket

22 Actors and Use cases Passenger An actor models an external entity which communicates with the system: User External system Physical environment An actor has a unique name and an optional description. Examples: Passenger: A person in the train GPS satellite: Provides the system with GPS coordinates PurchaseTicket A use case represents a class of functionality provided by the system as an event flow. A use case consists of: Unique name Participating actors Entry conditions Flow of events Exit conditions Special requirements

23 Use Case description Name: Purchase ticket Participating actor(s): Passenger Entry condition: Passenger standing in front of ticket distributor. Passenger has sufficient money to purchase ticket. Exit condition: Passenger has ticket. Quality conditions:! Time constraints Event flow: 1. Passenger selects the number of zones to be traveled. 2. Distributor displays the amount due. 3. Passenger inserts money, of at least the amount due. 4. Distributor returns change. 5. Distributor issues ticket. Anything missing?" Exceptional cases!"

24 The <<extend>> Relationship Passenger PurchaseTicket <<extend>> <<extend>> <<extend>> OutOfOrder <<extend>> TimeOut Cancel NoChange <<extend>> relationships typically represent exceptional or seldom invoked cases. Use cases representing exceptional flows can extend more than one use case. The direction of a <<extend>> relationship is to the extended use case

25 The <<include>> relationship <<include>> relationship represents behavior that is factored out of the use case. <<include>> behavior is factored out for reuse, not because it is an exception. The direction of a <<include>> relationship is to the using use case (unlike <<extend>> relationships). Passenger PurchaseMultiCard PurchaseSingleTicket <<include>> <<include>> <<extend>> NoChange CollectMoney <<extend>> Cancel

26 Generalization (Inheritance relationships) Generalization between Use Cases Generalization between Actors payment" paymentcard" paymentcash" More general actor role name Passenger" Specialized actor role name

27 Another Use Case Diagram Cinema Employee Create/Update/Delete Movie Database Corporate Database Create/Update/Delete Screenings Database <<include>> MovieGoer Display Movie Details <<extend>> Retrieve Movie Details <<include>> Display Screenings Details Retrieve Screenings Details Adopted from Maciaszek

28 Use Case Diagrams (summary) Use case diagrams represent behavior from external view Use case diagrams are useful as an index into the use cases Use case descriptions provide meat of model, not the use case diagrams. All use cases need to be described for the model to be useful.

29 Class Diagrams Class diagrams represent the structure of the system. Used during requirements analysis to model problem domain concepts during system design to model subsystems and interfaces during object design to model classes.

30 Class Diagrams (Classes) Visibility" TarifSchedule! zone2price! getzones()! getprice()! Name" Attributes" Operations" TarifSchedule! - Zone2price: Table! +getzones():void! +getprice(zone:int):int! Signature" Type" TarifSchedule! A class represents a concept and it has a name A class encapsulates state (attributes) and behavior (operations). Each attribute has a type. Each operation has a signature. The class name is the only mandatory information.

31 Class Diagrams (Instances) tarif_1974:tarifschedule zone2price = {{ 1,.20}, { 2,.40},{ 3,.60}} LastUpdate:String= 2004/12/15 An instance represents a phenomenon. The name of an instance is underlined and can contain the class of the instance. The attributes are represented with their values.

32 Class Diagrams (Associations) Has-capital! Country" 1 1 City" name:string" name:string" One-to-one association Polygon" 1 *" Point" x: Integer" draw()" One-to-many association y: Integer" Company" 1 *" Person" Employer" Employee" One-to-many association

33 Class Diagrams (Associations) Many-to-Many Associations StockExchange * Lists * Company tickersymbol Polygon" *" *" Point" x: Integer" draw()" y: Integer"

34 From Problem Statement To Object Model Problem Statement: A stock exchange lists many companies. Each company is uniquely identified by a ticker symbol Class Diagram:! StockExchange *" Lists *" Company tickersymbol Java Code (incomplete)! public class StockExchange { private Vector m_company = new Vector(); }; public class Company { public int m_tickersymbol; private Vector m_stockexchange = new Vector(); };

35 Class Diagrams (Aggregation) An aggregation is a special case of association denoting a consists of hierarchy. The aggregate is the parent class, the components are the children class. Exhaust system" 1" 0..2" Muffler" diameter" Tailpipe" diameter" A solid diamond denotes composition, a strong form of aggregation where components cannot exist without the aggregate. TicketMachine! 3" ZoneButton!

36 Class Diagrams (Qualifiers) Without qualification" Directory" 1" *" File" filename" With qualification" Directory" filename" 1" 0..1" File" Qualifiers can be used to reduce the multiplicity of an association.

37 Class Diagrams (Qualifiers) StockExchange 1" Lists 1" tickersymbol SX_ID Company

38 Class Diagrams (Inheritance) Button! CancelButton! ZoneButton! The children classes inherit the attributes and operations of the parent class. Inheritance simplifies the model by eliminating redundancy.

39 More examples * FileSystemElement * 1 Directory File

40 Class Diagrams (Association class) Assignment startdate : double role : double contractdate : double Contractor * * Project

41 Class Diagrams (End Notations and Association) Allocates FieldOfficer role:string notificationtime:time Incident name:string badgenumber:integer resources 1..* 1 incident FieldOfficer name:string badgenumber:integer 1 1..* resources Allocation role:string notificationtime:time 1 incident 1 Incident

42 Interaction Diagrams Interaction diagrams are the main design-level behavior modeling technique in UML Sequence diagrams Communication diagrams Interactions diagram is a graphical visualization of sequences of messages between objects Object receiving a message activates the relevant method. The time when the flow of control is focused in an object is called activation

43 Sequence Diagrams Used during requirements analysis To refine use case descriptions to find additional objects ( participating objects ) Used during system design to refine subsystem interfaces Objects participating in the interaction are represented by columns Messages are represented by arrows Activations are represented by narrow rectangles Lifelines are represented by dashed lines :TicketMachine Passenger selectzone() insertcoins() pickupchange() pickupticket()

44 Sequence Diagrams Passenger :ZoneButton :TarifSchedule :Display selectzone() lookupprice(selection) Dataflow" price displayprice(price) to be continued..." The source of an arrow indicates the activation which sent the message An activation is as long as all nested activations Horizontal arrows indicate data flow Vertical dashed lines indicate lifelines

45 Sequence Diagrams (Iteration & condition) continued from previous slide..." Passenger :ChangeProcessor :CoinIdentifier :Display :CoinDrop loop [owedamount>0] insertchange(coin)" lookupcoin(coin) price displayprice(owedamount) returnchange(-owedamount) " to be continued..."

46 Sequence Diagrams (branches) a b c alt [i>0] op1() [else] op2()

47 Sequence Diagrams (Creation and destruction) continued from previous slide..." Passenger :ChangeProcessor createticket(selection) Creation" print() :Ticket free() Destruction" Creation is denoted by a message arrow pointing to the object. Destruction is denoted by an X mark at the end of the destruction activation. In garbage collection environments, destruction can be used to denote the end of the useful life of an object.

48 Example :SimpleWatch :Display :Time :WatchUser pressbutton1and2() blinkhours() pressbutton1() blinkminutes() loop pressbutton2() [button2 pressed] incrementminutes() refresh() pressbuttons1and2() stopblinking() commitnewtime()

49 Some other example 2005, Allen I. Holub ( All rights reserved.

50 Sequence Diagrams (Summary) UML sequence diagram represent behavior in terms of interactions. Useful to find missing objects. Time consuming to build but worth the investment. Complement the class diagrams (which represent structure).

51 Communication diagrams :2BwatchOwner 1:pressButtons1And2() 2:pressButton1() 3:pressButton2() 4*[button2pressed]: 5:pressButtons1And2() :2BwatchInput 1.1: blinkhours() 2.1:blinkMinutes() 5.2:stopBlinking() :2BwatchDisplay 4.1:incrementMinutes() 5.1:c ommitnewtime() :2BwatchTime 4.2:r efresh()

52 State Charts pressbuttonslandr MeasureTime SetTime after 2 min. after 20 years pressbuttonslandr/beep after 20 years DeadBattery

53 State Chart Diagrams [button1&2pressed] BlinkHours [button2pressed] IncrementHrs [button1pressed] [button1&2pressed] BlinkMinutes [button2pressed] IncrementMin. [button1pressed] [button1&2pressed] [button2pressed] BlinkSeconds IncrementSec. StopBlinking Represent behavior as states and transitions"

54 Internal transitions pressbothbuttons MeasureTime do/count ticks SetTime entry/blink hours pressbutton1/blink next number pressbutton2/increment current number exit/stop blinking after 2 min. pressbothbuttons/beep after 20 years after 20 years MeasureTime

55 State Chart Diagrams (nested charts) Movie Details Known buy it[ finances approved ] / sendpurchaseorder () Purchased for Screening screen it[ movie arrived ] Screening / schedule It () [ opening date ] Currently Screening [ closing date ] Scheduled for Screening withdraw Withdrawn from Screens Adopted from Maciazcek

56 Activity Diagrams An activity diagram shows flow control within a system Handle Incident Document Incident Archive Incident An activity diagram is a special case of a state chart diagram in which states are activities ( functions ) Two types of states: Action state: Cannot be decomposed any further Happens instantaneously with respect to the level of abstraction used in the model Activity state: Can be decomposed further The activity is modeled by another activity diagram

57 Statechart Diagram vs. Activity Diagram Statechart Diagram for Incident" (State: Attribute or Collection of Attributes of object of type Incident)" Active" Inactive" Closed" Archived" Incident-! Incident-! Incident-! Handled" Documented" Archived" Activity Diagram for Incident" (State: Operation or Collection of Operations) " Event causes" State transition" Handle Incident Document Incident Archive Incident Completion of activity " causes state transition" Triggerless" Transition"

58 Object flow Receive Invoice [paid] [else] Process Invoice Send Payment Cut Check

59 Object flow 2005, Allen I. Holub ( All rights reserved.

60 Activity Diagrams: Modeling Concurrency Synchronization of multiple activities Splitting the flow of control into multiple threads Splitting (fork)" Al loc ate Re sou rce s Synchronization (join)" Op en In cid ent Co ord ina te Re sou rce s Ar chi ve In cid ent Do cum ent In cid ent

61 Activity Diagrams: Swimlanes Actions may be grouped into swimlanes to denote the object or subsystem that implements the actions. Allocate" Resources" Dispatcher" Open" Incident" Coordinate" Resources" Archive" Incident" Document" Incident" FieldOfficer"

62 Component and Deployment diagrams Models for physical implementation of the system Show system components, their structure and dependencies and how they are deployed on computer nodes Two kinds of diagrams: component diagrams deployment diagrams Component diagrams show structure of components, including their interface and implementation dependencies Deployment diagrams show the runtime deployment of the system on computer nodes

63 Component Diagrams (component interface) PaymentTransaction <<component>> OnLinePayment IdentityManagement <<interface>> PaymentTransaction begin() commit() rollback() addlineitem() deletelineitem() <<component>> OnLinePayment <<use>> <<interface>> IdentifyManagement authenticate() Adopted from Shaum

64 Component Diagram PaymentTransaction <<component>> OnLinePayment EPayDay IdentityManagement <<component>> InsuranceBrokerage <<component>> MemberManagement Adopted from Shaum

65 Component Diagram (component realization) PaymentTransaction IdentityManagement <<component>> OnLinePayment <<realization>> Payment PaymentItem PaymentController Payment PaymentItem PaymentController Adopted from Shaum

66 Deployment diagrams Web-Server <<TCP/IP>> PC madrid:pcclient stockholm:pcclient dehli:pcclient <<TCP/IP>> <<TCP/IP>> <<TCP/IP>> boss:pcserver Adopted from Shaum

67 Deployment diagrams :MainServer <<J2EE Container>> :JBossServer <<device>> :CertifiedClock Adopted from Shaum

68 Packages A package is a UML mechanism for organizing elements into groups (usually not an application domain concept) Packages are the basic grouping construct with which you may organize UML models to increase their readability. DispatcherInterface Notification IncidentManagement A complex system can be decomposed into subsystems, where each subsystem is modeled as a package

69 Packages Adopted from Holub

70 Packages IncidentManagement Report Emergency OpenIncident Dispatcher FieldOfficer AllocateResources IncidentArchive SysAdministration ArchiveIncident ManageUsers Librarian SearchArchive ManageTerminals SysAdmin

71 Packages FieldStation DispatcherStation FieldOfficer Dispatcher EmergencyReport Incident

72 Notes FieldStation DispatcherStation FieldOfficer Dispatcher EmergencyReport The Emer gencyreport class is defined in FieldStation and used in both stations. Incident

73 Extensions Stereotypes «entity» Year «entity» Month «control» ChangeDateControl «entity» Day «boundary» ButtonBoundary «boundary» LCDDisplayBoundary Constraint EmergencyReport reports 1 Incident 1..* {ordered by time of receipt}

74 UML Summary UML provides a wide variety of notations for representing many aspects of software development Powerful, but complex language Can be misused to generate unreadable models Can be misunderstood when using too many exotic features For now we concentrate on a few notations: Functional model: Use case diagram Object model: class diagram Dynamic model: sequence diagrams, statechart and activity diagrams

75 Next lecture Requirements elicitation Chapter 4 in the text-book

Chapter 2, lecture 2 Modeling with UML

Chapter 2, lecture 2 Modeling with UML Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 2, lecture 2 Modeling with UML Overview: More detail on modeling with UML Use case diagrams Class diagrams Sequence diagrams Activity

More information

Chapter 2, Modeling with UML, Part 2

Chapter 2, Modeling with UML, Part 2 Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 2, Modeling with UML, Part 2 Outline of this Class What is UML? A more detailed view on ü Use case diagrams ü Class diagrams ü

More information

Chapter 2, Modeling with UML

Chapter 2, Modeling with UML Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML Overview: modeling with UML What is modeling? What is UML? Use case diagrams Class diagrams Sequence diagrams

More information

Chapter 2, Modeling with UML, Part 2

Chapter 2, Modeling with UML, Part 2 Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 2 Outline of this Class What is UML? A more detailed view on Use case diagrams Class diagrams Sequence

More information

Chapter 2, Modeling with UML

Chapter 2, Modeling with UML Chapter 2, Modeling with UML Using UML, Patterns, and Java Object-Oriented Software Engineering Overview: Modeling with UML What is modeling? What is UML? Use case diagrams Class diagrams Next lecture

More information

MSc programme (induction week) Department of Informatics INTRODUCTION TO UML

MSc programme (induction week) Department of Informatics INTRODUCTION TO UML MSc programme (induction week) Department of Informatics INTRODUCTION TO UML Some of this material is based on Bernd Bruegge and Allen H. Dutoit (2009) Object-Oriented Software Engineering: Using UML,

More information

Chapter 2, Modeling with UML

Chapter 2, Modeling with UML Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 2, Modeling with UML Overview: modeling with UML What is modeling? What is UML? Use case diagrams Class diagrams Next lecture

More information

Chapter 2, Modeling with UML, Part 2

Chapter 2, Modeling with UML, Part 2 Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 2, Modeling with UML, Part 2 Outline of this Class What is UML? A more detailed view on ü Use case diagrams ü Class diagrams ü

More information

Chapter 2, lecture 1, Modeling with UML

Chapter 2, lecture 1, Modeling with UML Chapter 2, lecture 1, Modeling with UML Using UML, Patterns, and Java Object-Oriented Software Engineering Overview: modeling with UML What is modeling? What is UML? Use case diagrams Class diagrams Sequence

More information

Design Patterns. Design Patterns

Design Patterns. Design Patterns Design Patterns As software engineers, we commonly have to make decisions about how to create complex objects, how to encapsulate some actions, how to allow for the undoing of certain operations, etc.

More information

Chapter 2, Modeling with UML, Part 2

Chapter 2, Modeling with UML, Part 2 Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 2, Modeling with UML, Part 2 Outline of this Class What is UML? A more detailed view on ü Use case diagrams ü Class diagrams ü

More information

Course "Softwaretechnik Modeling with UML Stephan Salinger

Course Softwaretechnik Modeling with UML Stephan Salinger Course "Softwaretechnik Modeling with UML Stephan Salinger (Foliensatz/Inhalt: Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit) Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) Unified Modeling Language (UML) Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park Overview Unified Modeling Language (UML) Models & views Class diagrams Sequence

More information

2. Modeling with UML

2. Modeling with UML 2. Modeling with UML Outline! History of Object Oriented Method! More Object Oriented Concepts! Modeling Concepts! An Overview of UML! UML Diagrams! Case Study 1. History of Object Oriented Method Software

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 Modeling, models and UML Static view: Class diagrams

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

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

Software Engineering

Software Engineering Software Engineering Object-Oriented Analysis and Design and Modeling with UML Assoc. Prof. Marenglen Biba MSc in Computer Science, UoG-UNYT Foundation Programme 3-1 Material Get the material from http://www.marenglenbiba.net/foundprog/

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) 1 / 45 Unified Modeling Language (UML) Miaoqing Huang University of Arkansas 2 / 45 Outline 1 Introduction 2 Use Case Diagram 3 Class Diagram 4 Sequence Diagram 3 / 45 Outline 1 Introduction 2 Use Case

More information

CSE 308. UML Overview Use Case Diagrams. Reference. en.wikipedia.org/wiki/class_diagram. Robert Kelly, B. Bruegge,

CSE 308. UML Overview Use Case Diagrams. Reference. en.wikipedia.org/wiki/class_diagram. Robert Kelly, B. Bruegge, CSE 308 UML Overview Use Case Diagrams Class diagrams Reference en.wikipedia.org/wiki/class_diagram 2 1 What is Modeling? Modeling consists of building an abstraction of reality Abstractions are simplifications

More information

Object Relationships UML Class diagrams. Software Requirements and Design CITS 4401 Lecture 4

Object Relationships UML Class diagrams. Software Requirements and Design CITS 4401 Lecture 4 Object Relationships UML Class diagrams Software Requirements and Design CITS 440 Lecture 4 UML Class Diagrams Describe the static structure of the system classes, class attributes, associations between

More information

CSE 308. UML Overview Use Case Diagrams. Reference. Class diagrams. Session 6 UML Intro/Use cases. Robert Kelly, B. Bruegge,

CSE 308. UML Overview Use Case Diagrams. Reference. Class diagrams. Session 6 UML Intro/Use cases. Robert Kelly, B. Bruegge, CSE 308 UML Overview Use Case Diagrams Class diagrams Reference en.wikipedia.org/wiki/use_case 2 1 What is Modeling? Modeling consists of building an abstraction of reality Abstractions are simplifications

More information

Overview of the OOA Process...

Overview of the OOA Process... Object-Oriented Analysis and Modeling Object-oriented analysis (OOA) What are the relevant objects? How do they relate to one another? How do we specify/model a problem so that we can create an effective

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

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

A Rapid Overview of UML

A Rapid Overview of UML A Rapid Overview of UML The Unified dmodeling Language (UML) Emerged in the mid 90s as the de facto standard for softwareengineering engineering design Use case diagram depicts user interaction with system

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

UML Primer. -Elango Sundaram

UML Primer. -Elango Sundaram UML Primer -Elango Sundaram About UML UML Can be thought of as a blue print for Software Graphical notation for expressing underlying OOA&D ideas Can be used to design any type of application, hardware,

More information

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram Modeling with UML A language or notation intended for analyzing, describing and documenting all aspects of the object-oriented software system. UML uses graphical notations to express the design of software

More information

CMSC 132: Object-Oriented Programming II

CMSC 132: Object-Oriented Programming II CMSC 132: Object-Oriented Programming II Unified Modeling Language (UML) Department of Computer Science University of Maryland, College Park UML (Unified Modeling Language) UML is a modeling language for

More information

Lecture 16+17: Modeling with UML

Lecture 16+17: Modeling with UML Chair of Software Engineering Software Engineering Spring Semester 2008 Slides: Based on KSE06 With kind permission of Peter Müller Lecture 16+17: Modeling with UML What is modeling? Building an abstraction

More information

Chapter 5, Analysis: Dynamic Modeling

Chapter 5, Analysis: Dynamic Modeling Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling An overview of OOSE development activities and their products Problem Statement Requirements Elicitation

More information

Lecture 15: Modeling with UML

Lecture 15: Modeling with UML Chair of Software Engineering What is modeling? Software Engineering Prof. Dr. Bertrand Meyer March 2007 June 2007 Slides: Based on KSE06 With kind permission of Peter Müller Lecture 15: Modeling with

More information

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

Progress Report. Object-Oriented Software Development: Requirements elicitation and analysis. Object-oriented analysis, design, implementation

Progress Report. Object-Oriented Software Development: Requirements elicitation and analysis. Object-oriented analysis, design, implementation Progress Report Object-Oriented Software Development: Requirements elicitation and analysis CS 4354 Fall 2012 Jill Seaman So far we have learned about the tools used in object-oriented design and implementation

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

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

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

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

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 2014 Jill Seaman Used to describe the internal structure of the system. Also used to describe the application domain. They describe

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

Introduction to Software Engineering. 6. Modeling Behaviour

Introduction to Software Engineering. 6. Modeling Behaviour Introduction to Software Engineering 6. Modeling Behaviour Roadmap > Use Case Diagrams > Sequence Diagrams > Collaboration (Communication) Diagrams > Activity Diagrams > Statechart Diagrams Nested statecharts

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

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

Engineering Design w/embedded Systems

Engineering Design w/embedded Systems 1 / 40 Engineering Design w/embedded Systems Lecture 33 UML Patrick Lam University of Waterloo April 4, 2013 2 / 40 What is UML? Unified Modelling Language (UML): specify and document architecture of large

More information

Course 3 7 March

Course 3 7 March Course 3 7 March adiftene@info.uaic.ro 1 From Courses 1, 2 Modeling Modeling Languages Graphic Languages UML History UML Definition UML Diagram Types UML Use Case Diagram Actors Use Case UML Class Diagrams

More information

Unified Modeling Language

Unified Modeling Language jonas.kvarnstrom@liu.se 2015 Unified Modeling Language A Brief Introduction History In the early 1990s, three common OO modeling approaches James Rumbaugh's Object-modeling technique (OMT) 2 Grady Booch's

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

UNIT-4 Behavioral Diagrams

UNIT-4 Behavioral Diagrams UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages

More information

Meltem Özturan

Meltem Özturan Meltem Özturan www.mis.boun.edu.tr/ozturan/samd 1 2 Modeling System Requirements Object Oriented Approach to Requirements OOA considers an IS as a set of objects that work together to carry out the function.

More information

UML part I. UML part I 1/41

UML part I. UML part I 1/41 UML part I UML part I 1/41 UML part I 2/41 UML - Unified Modeling Language unified it can be shared among workers modeling it can be used for description of software model language it has defined structure

More information

Advanced Software Engineering

Advanced Software Engineering Dev Bhoomi Institute Of Technology LABORATORY MANUAL PRACTICAL INSTRUCTION SHEET EXPERIMENT NO. ISSUE NO. : ISSUE DATE: REV. NO. : REV. DATE : PAGE: 1 LABORATORY Name & Code: Advanced Software Engineering

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

administrivia today UML start design patterns Tuesday, September 28, 2010

administrivia today UML start design patterns Tuesday, September 28, 2010 administrivia Assignment 2? promise to get past assignment 1 back soon exam on monday review slides are posted your responsibility to review covers through last week today UML start design patterns 1 Unified

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

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

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

UML: Unified Modeling Language

UML: Unified Modeling Language UML: Unified Modeling Language 1 Modeling Describing a system at a high level of abstraction A model of the system Used for requirements and specification Many notations over time State machines Entity-relationship

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

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools UML Modeling I Instructor: Yongjie Zheng September 3, 2015 CS 490MT/5555 Software Methods and Tools Object-Oriented Design: Topics & Skills Rational Unified Process Unified Modeling Languages (UML) Provide

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

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

Topics. Kinds of UML models. Use case modeling. Actors. Actor. Assignment of reqs to actors and use cases

Topics. Kinds of UML models. Use case modeling. Actors. Actor. Assignment of reqs to actors and use cases MACIASZEK, L.A. (2005): Requirements Analysis and System Design, 2 nd ed. Addison Wesley, Harlow England, 504p. ISBN 0 32 20464 6 Chapter 3.2 Objects and Object Modeling Fundamentals of object modeling

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

Practical UML - A Hands-On Introduction for Developers

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

More information

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011 UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011 1 Goals of the Lecture Review the material in Chapter 2 of the Textbook Cover key parts of the UML notation

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

CS 451 Software Engineering

CS 451 Software Engineering CS 451 Software Engineering Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Elaboration 2 Elaboration: Building the Analysis Model An analysis model provides a description

More information

Lecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1

Lecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1 ECE155: Engineering Design with Embedded Systems Winter 2013 Lecture 33 April 4, 2013 Patrick Lam version 1 Unied Modelling Language The Unied Modelling Language (UML) is a language for specifying and

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

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

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: , Q.1 What is Object Orientation? Explain the concept of class, objects, instance, generalization, and associations. Ans :-- In the past, information systems used to be defined primarily by their functionality:

More information

SEEM4570 System Design and Implementation Lecture 11 UML

SEEM4570 System Design and Implementation Lecture 11 UML SEEM4570 System Design and Implementation Lecture 11 UML Introduction In the previous lecture, we talked about software development life cycle in a conceptual level E.g. we need to write documents, diagrams,

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

VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM

VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM 534 202 LABORATORY MANUAL IV B.Tech I Sem CSE Unified Modeling Language & Design Patterns Lab DEPARTMENT OF CSE OUR MISSION LEARN TO EXCEL Regd.No

More information

OBJECT ORIENTED MODELLING & DESIGN 1

OBJECT ORIENTED MODELLING & DESIGN 1 OBJECT ORIENTED MODELLING & DESIGN 1 Contents 1. OBJECT ORIENTED CONCEPTS... 6 OBJECT... 6 CLASS... 6 CLASS vs OBJECT... 6 WHAT IS OBJECT ORIENTED?... 6 OBJECT ORIENTED METHODOLOGY... 7 ADVANTAGES OF OBJECT

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

UML Diagrams & And Some Of Their Elements

UML Diagrams & And Some Of Their Elements UML Diagrams 2013, J.P.N., page 1 UML Diagrams & And Some Of Their Elements UML Diagrams 2013, J.P.N., page 2 Building blocks of the UML As part of a model you have: modelling elements relationships between

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

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic Exercise Unit 2: Modeling Paradigms - RT-UML UML: The Unified Modeling Language Statecharts RT-UML in AnyLogic Simulation and Modeling I Modeling with RT-UML 1 RT-UML: UML Unified Modeling Language a mix

More information

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc. UML Modeling UML diagrams UML (Unified Modeling Language) is a general purpose visual modeling language that provides different types of diagrammatic techniques and notations to specify, visualize, analyze,

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all

More information

Interaction Modelling: Use Cases

Interaction Modelling: Use Cases Interaction Modelling: Use Cases Fabrizio Maria Maggi Institute of Computer Science (these slides are derived from the book Object-oriented modeling and design with UML ) Interaction Modelling: INPUT 1

More information

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development Progress Report Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) CS 4354 Summer II 2014 Jill Seaman So far we have learned about the tools used in object-oriented

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

BASICS OF UML (PART-2)

BASICS OF UML (PART-2) BASICS OF UML (PART-2) 1 USE CASE DIAGRAMS 2 USE CASE DIAGRAMS Use Case Model: a view of a system that emphasizes the behavior as it appears to outside users. A use case model partitions system functionality

More information

Activity Diagram Written Date : September 02, 2016

Activity Diagram Written Date : September 02, 2016 Written Date : September 02, 2016 s describe how activities are coordinated to provide a service which can be at different levels of abstraction. Typically, an event needs to be achieved by some operation,

More information

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram After studying this chapter you should be able to: Define an object. Understand the terms

More information

From Analysis to Design. LTOOD/OOAD Verified Software Systems

From Analysis to Design. LTOOD/OOAD Verified Software Systems From Analysis to Design 1 Use Cases: Notation Overview Actor Use case System X System boundary UCBase «extend» UCExt Actor A UCVar1 UCVar2 Extending case Generalization «include» Actor B UCIncl Included

More information

Modeling with UML eerin gin n are E oftw S ted rien ject-o b O

Modeling with UML eerin gin n are E oftw S ted rien ject-o b O Object-Oriented Software Engineering Modeling with UML What is modeling? Modeling consists of building an abstraction of reality. Abstractions are simplifications because: They ignore irrelevant details

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

Requirements Engineering

Requirements Engineering Chapter 3: Requirements Modeling Requirements Engineering Objectives In this chapter, you will learn about: Functional requirements Modeling requirements Overview of basic modeling paradigms Gus Requirements

More information

Interaction Modelling: Sequence Diagrams

Interaction Modelling: Sequence Diagrams Interaction Modelling: Sequence Diagrams Fabrizio Maria Maggi Institute of Computer Science (these slides are derived from the book Object-oriented modeling and design with UML ) Interaction Modelling

More information

Accessibility. EEC 521: Software Engineering. Classes and Objects. Inheritance. Classes and Objects (OO Analysis)

Accessibility. EEC 521: Software Engineering. Classes and Objects. Inheritance. Classes and Objects (OO Analysis) Accessibility EEC 521: Software Engineering Classes and Objects (OO Analysis) Attributes and Methods can be declared at three levels of accessibility Public (+) Visible everywhere Private (-) Visible only

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

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

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

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015 Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 09/29/2015 http://cs.gsu.edu/~ncasturi1 Class Announcements Grading is done for the Deliverable #2 (Requirement Elicitation)

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

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

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

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

More information