Chapter 2, Modeling with UML

Size: px
Start display at page:

Download "Chapter 2, Modeling with UML"

Transcription

1 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 Sequence diagrams Activity diagrams Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2

2 What is modeling? Modeling consists of building an abstraction of reality. Abstractions are simplifications because: They ignore irrelevant details and They only represent the relevant details. What is relevant or irrelevant depends on the purpose of the model. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Example: street map Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4

3 Why model software? Why model software? Software is getting increasingly more complex Windows XP > 40 mio lines of code A single programmer cannot manage this amount of code in its entirety. Code is not easily understandable by developers who did not write it We need simpler representations for complex systems Modeling is a mean for dealing with complexity Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 Systems, Models and Views A model is an abstraction describing a subset of a 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 Examples: System: Aircraft Models: Flight simulator, scale model Views: All blueprints, electrical wiring, fuel system Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6

4 Systems, Models and Views Aircraft System Blueprints Model 1 View 1 Flightsimulator Model 2 View 2 View 3 Scale Model Electrical Wiring Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 Models, Views and Systems (UML) System Model View Described by Depicted by Airplane: System Scale Model: Model Flight Simulator: Model Blueprints: View Fuel System: View Electrical Wiring: View Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8

5 Concepts and Phenomena Phenomenon An object in the world of a domain as you perceive it Example: The lecture you are attending Example: My black watch Concept Describes the properties of phenomena that are common. Example: Lectures on software engineering Example: Black watches 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) Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9 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. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10

6 Concepts in software: Type and Instance Type: An abstraction in the context of programming languages Name: int, Purpose: integral 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 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11 Abstract Data Types & Classes Abstract data type (ex, stack, queue) Special type whose implementation is hidden from the rest of the system. Class: (ex, Template) An abstraction in the context of objectoriented languages Like an abstract data type, a class encapsulates both state (variables) and behavior (methods) Class Vector Unlike abstract data types, classes can be defined in terms of other classes using inheritance time date Watch SetDate(d) CalculatorWatch calculatorstate EnterCalcMode() InputNumber(n) Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12

7 Application and Solution Domain Application Domain (Requirements Analysis): The environment in which the system is operating Solution Domain (System Design, Object Design): The available technologies to build the system Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13 Object-oriented modeling Application Domain Application Domain Model TrafficControl UML Package Solution Domain System Model SummaryDisplay MapDisplay Aircraft TrafficController FlightPlanDatabase FlightPlan Airport TrafficControl Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14

8 What is 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: The Unified Modeling Language User Guide, Addison Wesley, Supported by several CASE tools Rational ROSE TogetherJ HiMEM ver 1.0 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15 UML: First Pass You can model 80% of most problems by using about 20 % UML We teach you those 20% Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16

9 UML First Pass Use case Diagrams Describe the functional behavior of the system as seen by the user. 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 Statechart diagrams (=State machine, State Transition Diagram) 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) Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17 UML first pass: Use case diagrams Package Watch Use case Actor ReadTime WatchUser SetTime WatchRepairPerson ChangeBattery Use case diagrams represent the functionality of the system from user s point of view Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 18

10 UML first pass: Class diagrams Class diagrams represent the structure of the system Association Class Multiplicity Watch PushButton state push() release() 1 LCDDisplay blinkidx blinkseconds() blinkminutes() blinkhours() stopblinking() referesh() 2 Battery load 1 Time now Attribute Operations Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 19 UML first pass: Sequence diagram Actor Object :WatchUser :Watch :LCDDisplay :Time Message pressbutton1() blinkhours() pressbutton1() blinkminutes() pressbutton2() pressbuttons1and2() stopblinking() incrementminutes() refresh() commitnewtime() Activation Lifeline Sequence diagrams represent the behavior as interactions Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 20

11 UML first pass: Statechart diagrams for objects with interesting dynamic behavior Event Initial state State [button1&2pressed] BlinkHours [button2pressed] IncrementHrs Transition [button1pressed] [button1&2pressed] BlinkMinutes [button2pressed] IncrementMin. [button1pressed] [button1&2pressed] [button2pressed] BlinkSeconds IncrementSec. StopBlinking Final state Represent behavior as states and transitions Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 21 Other UML Notations UML provide other notations that we will be introduced in subsequent lectures, as needed. Implementation diagrams Component diagrams Deployment diagrams Introduced in lecture on System Design Object constraint language Introduced in lecture on Object Design Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 22

12 UML Core Conventions Rectangles are classes or instances Ovals are functions or use cases Instances are denoted with an underlined names mywatch:simplewatch Joe:Firefighter Types are denoted with non underlined names SimpleWatch Firefighter Diagrams are graphs Nodes are entities Arcs are relationships between entities Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 23 Use Case Diagrams Used during requirements elicitation to represent external behavior Passenger PurchaseTicket 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 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 24

13 Actors 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 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 25 Use Case A use case represents a set of functionality provided by the system as an event flow. PurchaseTicket A use case consists of: Unique name Participating actors Entry conditions Flow of events Exit conditions Special requirements Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 26

14 Use Case Diagram: Example Name: Purchase ticket Participating actor: Passenger Entry condition: Passenger standing in front of ticket distributor. Passenger has sufficient money to purchase ticket. 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. Exit condition: Passenger has ticket. Anything missing? Exceptional cases! Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 27 The <<extends>> Relationship Passenger PurchaseTicket <<extends>> <<extends>> <<extends>> relationships represent exceptional or seldom invoked cases. The exceptional event flows are factored out of the main event flow for clarity. Use cases representing exceptional flows can extend more than one use case. The direction of a <<extends>> relationship is to the extended use case <<extends>> OutOfOrder <<extends>> TimeOut Cancel NoChange Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 28

15 The <<includes>> Relationship Passenger PurchaseMultiCard PurchaseSingleTicket <<includes>> <<includes>> <<includes>> relationship represents behavior that is factored out of the use case. <<includes>> behavior is factored out for reuse, not because it is an exception. The direction of a <<includes>> relationship is to the using use case (unlike <<extends>> relationships). <<extends>> CollectMoney <<extends>> NoChange Cancel Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 29 Use Case Diagrams: Summary Use case diagrams represent external behavior Use case diagrams are useful as an index into the use cases Use case descriptions provide contents of model, not the use case diagrams. All use cases need to be described for the model to be useful. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 30

16 Class Diagrams TarifSchedule Enumeration getzones() Price getprice(zone) Trip zone:zone Price: Price 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. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 31 Classes TarifSchedule zone2price getzones() getprice() Name Attributes Operations TarifSchedule Table zone2price Enumeration getzones() Price getprice(zone) Signature TarifSchedule A class represent a concept (or we can say Template ) A class encapsulates state (attributes) and behavior (operations or methods). Each attribute has a type. Each operation has a signature. (that is, types of its parameters and of the return value) The class name is the only mandatory information. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 32

17 Instances tarif_1974:tarifschedule zone2price = { { 1,.20}, { 2,.40}, { 3,.60}} 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. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 33 Actor vs Instances What is the difference between an actor, a class and an instance? Actor: An entity outside the system to be modeled, interacting with the system ( Passenger ) Class: An abstraction modeling an entity in the problem domain, must be modeled inside the system ( User ) Object: A specific instance of a class ( Joe, the passenger who is purchasing a ticket from the ticket distributor ). Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 34

18 Associations TarifSchedule Enumeration getzones() Price getprice(zone) TripLeg Price Zone Associations denote relationships between classes. The multiplicity of an association end denotes how many objects the source object can legitimately reference. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 35 public class Gugudan { { { public static void main(string args[]) for(int i=2; i<10; i++) System.out.println("===== " + i + " 단 " + " =============="); Gugu gugu = new Gugu(); gugu.operation(i); } } } class Gugu { private int sum = 0; public void Operation(int i) { for(int j=2; j<10; j++) { sum = i j; if(j == 5 j == 9) { } { } } else System.out.print("\n"); System.out.println(i + " " + j + " = " + sum); System.out.print(i + " " + j + " = " + sum + "\t"); } } Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 36

19 1-to-1 and 1-to-many Associations Country name:string Has-capital City name:string One-to-one association Polygon draw() Point x: Integer y: Integer One-to-many association Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 37 Many-to-Many Associations StockExchange Lists Company tickersymbol StockExchange tickersymbol Lists 1 SX_ID Company Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 38

20 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 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 39 From Problem Statement to Code Problem Statement : A stock exchange lists many companies. Each company is identified by a ticker Symbol Class Diagram: StockExchange Lists Company tickersymbol Java Code public class StockExchange { private Vector m_company = new Vector(); }; public class Company { public int m_tickersymbol; private Vector m_stockexchange = new Vector(); }; Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 40

21 Aggregation ( whole_of, HAS_A relationship) 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 Exhaust system Muffler Tailpipe diameter diameter Muffler Tailpipe diameter diameter A solid diamond denotes composition, a strong form of aggregation where components cannot exist without the aggregate. (Bill of Material) TicketMachine 3 ZoneButton Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 41 Qualifiers Without qualification Directory 1 File filename With qualification Directory filename File Qualifiers can be used to reduce the multiplicity of an association. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 42

22 Inheritance (Generalization; IS-A relationship) Button Parent class CancelButton Children classes ZoneButton The children classes inherit the attributes and operations of the parent class. Inheritance simplifies the model by eliminating redundancy. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 43 Object Modeling in Practice: Class Identification Foo Betrag CustomerId Deposit() Withdraw() GetBalance() Class Identification: Name of Class, Attributes and Methods Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 44

23 Object Modeling in Practice: Encourage Brainstorming Dada Betrag CustomerId Deposit() Withdraw() GetBalance() Foo Betrag CustomerId Deposit() Withdraw() GetBalance() Account Betrag CustomerId Naming is important! Is Foo the right name? Deposit() Withdraw() GetBalance() Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 45 Object Modeling in Practice ctd Account Bank Name Betrag CustomerId AccountId Deposit() Withdraw() GetBalance() Customer Name CustomerId 1) Find New Objects 2) Iterate on Names, Attributes and Methods Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 46

24 Object Modeling in Practice: A Banking System Account Bank Name Betrag CustomerId AccountId AccountI d Deposit() Withdraw() GetBalance() Has Customer Name CustomerId 1) Find New Objects 2) Iterate on Names, Attributes and Methods 3) Find Associations between Objects 4) Label the assocations 5) Determine the multiplicity of the assocations Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 47 Practice Object Modeling: Iterate, Categorize! Bank Name Account Amount CustomerId AccountId AccountI d Deposit() Withdraw() GetBalance() Has Customer Name CustomerId() Savings Account Checking Account Mortgage Account Withdraw() Withdraw() Withdraw() Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 48

25 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 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 49 UML sequence diagrams TicketMachine Passenger selectzone() insertcoins() pickupchange() pickupticket() Used during requirements analysis To refine use case descriptions to find additional objects ( participating objects ) Used during system design to refine subsystem interfaces Classes are represented by columns Messages are represented by arrows Activations are represented by narrow rectangles Lifelines are represented by dashed lines Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 50

26 Nested messages Passenger selectzone() ZoneButton TarifSchedule Display lookupprice(selection) price Dataflow 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 dashed arrows indicate data flow Vertical dashed lines indicate lifelines Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 51 Iteration & condition continued from previous slide... ChangeProcessor CoinIdentifier Display CoinDrop Passenger insertchange(coin) lookupcoin(coin) Iteration price displayprice(owedamount) Condition [owedamount<0] returnchange(-owedamount) to be continued... Iteration is denoted by a preceding the message name Condition is denoted by boolean expression in [ ] before the message name Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 52

27 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. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 53 Sequence Diagram 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). Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 54

28 State Chart Diagrams Event Initial state State [button1&2pressed] Transition BlinkHours [button1pressed] [button2pressed] IncrementHrs [button1&2pressed] BlinkMinutes [button2pressed] IncrementMin. [button1pressed] [button1&2pressed] [button2pressed] BlinkSeconds IncrementSec. StopBlinking Final state Represent behavior as states and transitions Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 55 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 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 56

29 Statechart Diagram vs. Activity Diagram Statechart Diagram for Incident (similar to Mealy Automaton) (State: Attribute or Collection of Attributes of object of type Incident) Event causes State transition Active Inactive Closed Archived Incident- Incident- Incident- Handled Documented Archived Activity Diagram for Incident (similar to Moore (State: Operation or Collection of Operations) Handle Incident Document Incident Archive Incident Completion of activity causes state transition Triggerless Transition Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 57 Activity Diagram: Modeling Decisions Open Incident [lowpriority] [fire & highpriority] Allocate Resources [not fire & highpriority] Notify Fire Chief Notify Police Chief Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 58

30 Activity Diagrams: Modeling Concurrency Synchronization of multiple activities Splitting the flow of control into multiple threads Splitting Allocate Resources Synchronization Open Incident Coordinate Resources Archive Incident Document Incident Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 59 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 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 60

31 What should be done first? Coding or Modeling? It all depends. Forward Engineering: Creation of code from a model Greenfield projects Reverse Engineering: Creation of a model from code Interface or reengineering projects (legacy) Roundtrip Engineering: Move constantly between forward and reverse engineering Useful when requirements, technology and schedule are changing frequently Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 61 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 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 62

32 Additional Slides Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 63 Models for Plato s and Aristotle s Views of Reality Plato Material reality is a second-class subordinate type of reality. The first-class type is a form Forms lie behind every thing or in the world. Forms can be abstract nouns like beauty or mammal or concrete nouns like tree or horse. There is an important difference between the world of forms and particulars. Forms are nonmaterial, particulars are material. Forms are permanent and changeless. Particulars are changing. Forms can be acquired intellectually through a dialectic process that moves toward the highest understanding of reality through the interaction of questions and answers. Aristotle Aristotle accepted the reality of Forms as nonmaterial entities. However, he could not accept Plato s idea, that these Forms were not real. Instead of two separate worlds, one for Forms and one for Particulars, Aristotle had only one world, a world of particular things. Particular things according to Aristotle have a certain permance about them, even while they are subject to change: A tree changes colors without ceasing to be a tree. A horse grows in size without ceasing to be a horse. What is the root of this permancence? It is the thing s internal form, which minds detect, when they penetrate beyond the thing s changing attributes. So for Aristotle, reality is thus made up of particular things that are each composed of form antdn matter.. Using UML, we can illustrate Platon s and Aristotle s viewpoints very easily and see their differences as well Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 64

33 Model for Plato s View of Reality Plato Material reality is a secondclass subordinate type of reality. The first-class type is a form Forms lie behind every thing or in the world. Forms can be abstract nouns like beauty or mammal or concrete nouns like tree or horse. There is an important difference between the world of forms and particulars. Forms are nonmaterial, particulars are material. Forms are permanent and changeless. Particulars are changing. Forms can be acquired intellectually through a dialectic process that moves toward the highest understanding of reality th h th i t ti f Particular Reality Thing Form Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 65 Model Aristotle s Views of Reality Aristotle Aristotle accepted the reality of Forms as nonmaterial entities. However, he could not accept Plato s idea, that these Forms were not real. Instead of two separate worlds, one for Forms and one for Particulars, Aristotle had only one world, a world of particular things. Particular things according to Aristotle have a certain permance about them, even while they are subject to change: A tree changes colors without ceasing to be a tree. A horse grows in size without ceasing to be a horse. What is the root of this permancence? It is the thing s internal form, which minds detect, when they penetrate beyond the thing s changing attributes. So for Aristotle, reality is thus made up of particular things that are each composed of form antdn matter Form Reality Substance Matter Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 66

34 Comparison of Plato s and Aristotle s Views Plato Aristotle Reality Reality Thing Substance Form Matter Particular Form Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 67

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

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

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

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

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

Modern methods in Software Engineering UML.

Modern methods in Software Engineering UML. Modern methods in Software Engineering UML www.imit.kth.se/courses/2g1522 Introduction Content Software modeling (concepts and phenomena) OO modeling UML Use case Diagrams Organizational diagrams Class

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Chapter 5, Object Modeling

Chapter 5, Object Modeling Chapter 5, Object Modeling Using UML, Patterns, and Java Object-Oriented Software Engineering Where we are, where we are going problem statement Requirements elicitation Requirements Specification nonfunctional

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

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

Use Case Modeling. Bernd Bruegge Carnegie Mellon University School of Computer Science. 8 September Bernd Brügge Software Engineering 1

Use Case Modeling. Bernd Bruegge Carnegie Mellon University School of Computer Science. 8 September Bernd Brügge Software Engineering 1 15-413 Use Case Modeling 2 Bernd Bruegge Carnegie Mellon University School of Computer Science 8 September 1998 Bernd Brügge Software Engineering 1 Outline of Today s Class Use Case Model Actors Use cases

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

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

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

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

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

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

Chapter 5, Analysis: Object Modeling

Chapter 5, Analysis: Object Modeling Chapter 5, Analysis: Object Modeling Résumé Maintenant: Modélisation des objets du domaine La partie statique (diagramme de classe) Les activités durant la modélisation des objets L identification des

More information

3.0 Object-Oriented Modeling Using UML

3.0 Object-Oriented Modeling Using UML 3.0 Object-Oriented Modeling Using UML Subject/Topic/Focus: Introduction to UML Summary: History of OOAD leading to UML UML Diagrams: Overview UML Models in the Objectory Software Development Process Literature:

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

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

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

LABORATORY 1 REVISION

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

More information

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

Advanced Interaction

Advanced Interaction 8 Advanced nteraction Modeling The interaction model has several advanced features that can be helpful. You can skip this chapter on a first reading of the book. 8.1 Use Case Relationships ndependent use

More information

Object-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered

Object-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered Object-oriented development Object-oriented Design Object-oriented analysis, design and programming are related but distinct. OOA is concerned with developing an object model of the application domain.

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

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

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

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based

More information

Object Design II: Design Patterns

Object Design II: Design Patterns Object-Oriented Software Engineering Using UML, Patterns, and Java Object Design II: Design Patterns Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen A Game: Get-15 The game

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

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

UNIT-I Introduction of Object Oriented Modeling

UNIT-I Introduction of Object Oriented Modeling UNIT-I Introduction of Object Oriented Modeling - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,

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

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

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

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

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

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering (CSC 4350/6350) Rao Casturi Software Engineering (CSC 4350/6350) Rao Casturi Recap 1 to 5 Chapters 1. UML Notation 1. Use Case 2. Class Diagrams 3. Interaction or Sequence Diagrams 4. Machine or State Diagrams 5. Activity Diagrams

More information

0. Database Systems 1.1 Introduction to DBMS Information is one of the most valuable resources in this information age! How do we effectively and efficiently manage this information? - How does Wal-Mart

More 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

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

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

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

The Unified Modeling Language (UML)

The Unified Modeling Language (UML) The Unified Modeling Language (UML) A Very Distilled Introduction to The Unified Modeling Language (UML). A quick introduction to UML is given. Thereafter, the surface of class and activity diagrams and

More information

Lecture #2 on Object-Oriented Modeling

Lecture #2 on Object-Oriented Modeling Outline Lecture #2 on Object-Oriented Modeling Thierry Géraud EPITA Research and Development Laboratory (LRDE) 2006 Thierry Géraud Lecture #2 on Object-Oriented Modeling EPITA-LRDE 2006 1 / 38 Outline

More information

Chapter 4 Requirements Elicitation

Chapter 4 Requirements Elicitation Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 4 Requirements Elicitation Outline Today: Motivation: Software Lifecycle Requirements elicitation challenges Problem statement

More information

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1. Outline of UML and Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule Feb. 27th 13:00 Scope and Goal 14:30 Basic Concepts on Representing the World (object, class, association,

More information

How and Why to Use the Unified Modeling Language. among software components, architectural-based

How and Why to Use the Unified Modeling Language. among software components, architectural-based This article addresses the Unified Modeling Language and its purpose, constructs, and application to defense software development applications. The Unified Modeling Language (UML) is a notation that can

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

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

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information

Page 1. Dynamic Modeling. How do you find classes? Dynamic Modeling with UML. UML Interaction Diagrams. UML State Chart Diagram.

Page 1. Dynamic Modeling. How do you find classes? Dynamic Modeling with UML. UML Interaction Diagrams. UML State Chart Diagram. Dynamic Modeling How do you find classes? We have already established several sources for class identification: Application domain analysis: We find classes by talking to the client and identify abstractions

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

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

UML & OO Fundamentals. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012

UML & OO Fundamentals. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012 UML & OO Fundamentals CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012 1 Goals of the Lecture Review the material in Chapter 2 of the Textbook Cover key parts of the UML notation

More information

Object-Oriented Systems Analysis and Design Using UML

Object-Oriented Systems Analysis and Design Using UML 10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand

More information

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models CS 494 Object-Oriented Analysis & Design UML Class Models Overview How class models are used? Perspectives Classes: attributes and operations Associations Multiplicity Generalization and Inheritance Aggregation

More 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

Chapter 5, Analysis: Dynamic Modeling

Chapter 5, Analysis: Dynamic Modeling Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 5, Analysis: Dynamic Modeling ü Requirements Elicitation (Ch.4) ü Introduction (Ch 1-3) OOSE- Galaxy ü Nonfunctional Requirements

More information

Chapter 5, Analysis: Dynamic Modeling

Chapter 5, Analysis: Dynamic Modeling Chapter 5, Analysis: Dynamic Modeling Using UML, Patterns, and Java Object-Oriented Software Engineering Dynamic Modeling with UML Diagrams for dynamic modeling Interaction diagrams describe the dynamic

More information

Software Engineering Fall 2014

Software Engineering Fall 2014 Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 10/01/2014 Class Announcements Grading is done for the Deliverable #2 (Requirement Elicitation) Will be posed

More information

Design and UML Class Diagrams

Design and UML Class Diagrams Design and UML Class Diagrams 1 Suggested reading: Practical UML: A hands on introduction for developers http://dn.codegear.com/article/31863 UML DistilledCh. 3, by M. Fowler How do people draw / write

More information

OO Analysis and Design with UML 2 and UP

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

More information

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

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

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

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

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

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis. SOFTWARE ENGINEERING UML FUNDAMENTALS Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Bernd Oestereich, Developing Software with UML: Object- Oriented

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