Sommerville Chapter 7 Fowler Chapters 1, 3, 5, and 6. Conceptual Modeling and Class Diagrams

Size: px
Start display at page:

Download "Sommerville Chapter 7 Fowler Chapters 1, 3, 5, and 6. Conceptual Modeling and Class Diagrams"

Transcription

1 Sommerville Chapter 7 Fowler Chapters, 3, 5, and 6 Conceptual Modeling and Class Diagrams

2 ter> time> Announcements HW2 handout now available on the webpage. Interpration of throttle position and its relation to acceleration is different in HW2 Next tutorial in Week 4 on class diagrams and sequence diagrams

3 ter> time> Objective for Today To introduce conceptual modeling The goal of conceptual modeling To review the OO solution To introduce and discuss the object model (conceptual) Syntax and semantics

4 ter> time> Common Problems The requirements are wrong Incomplete, inconsistent, or ambiguous The developer and the customer did not interpret the requirements the same way Requirements drift The requirements tend to change throughout the project Late design changes Continual change The functionality of the system continually changes Many changes come late in the project Many changes during maintenance Breakdown of system structure The system finally becomes unusable

5 ter> time> Solutions Rigorous requirements and planning stage Make sure all stakeholders understand and agree on the requirements Structure the system design to accommodate change Isolate parts that are likely to change Modularize so changes are contained Attempt to not compromise system structure during change

6 ter> time> The OO Solution The problem domain is relatively constant Auto pilot Get a plane from point A to point B using the available control surfaces

7 ter> time> The OO Solution The problem domain is relatively constant Auto pilot Get a plane from point A to point B using the available control surfaces The functionality and data representation is what is likely to change Auto pilot The hardware interfaces are different between different models The operational modes vary between models and evolve over time

8 ter> time> The OO Solution The problem domain is relatively constant Auto pilot Get a plane from point A to point B using the available control surfaces The functionality and data representation is what is likely to change Auto pilot The hardware interfaces are different between different models The operational modes vary between models and evolve over time Structure the system based on the structure of the problem domain, NOT based on the structure of the solution

9 ter> time> What is OO A way of thinking about a problem (software) based on abstractions of concepts that exist in the real world OO is not constrained by implementation language (C, Pascal, FORTRAN, etc. will work)

10 ter> 0time> What is not OO Using an object oriented language (C++, Eiffel, Smalltalk) You can easily misuse the OO support in these languages Using an OO notation for design Misuse the notation for a non-oo design Calling what you do OO Management and customers like OO, therefore, that is what we are doing OO is not the answer to all your problems

11 ter> time> Several Complementary Models Structural Models Describes the structure of the objects in a system Structure of individual objects (attributes and operations) Relationships between the objects (inheritance, sharing, and associations) Clustering of objects in logical packages and on the actual hardware Dynamic models (behavioral models) The aspects related to sequencing of operations Changes to attributes and sequences of changes The control aspects of the system

12 2 l i A Short Discussion i Conceptual Modeling l

13 ter> 3time> Conceptual Modeling Early modeling to understand the problem Conducted in cooperation with the customer Domain experts Domain engineers No real problem analysis if the customer is not involved Power of OO It is simple and people can quickly participate effectively Or so they say

14 ter> 4time> The OO Solution The OO model closely resembles the problem domain Base your model on the objects in the problem domain Iteratively refine the high-level model until you have an implementation Attempt to avoid big conceptual jumps during the development process

15 ter> 5time> The OO Solution (Cont.) Organize the model as a collection of objects Concrete concepts in the physical world A drivers license, a credit card, an aircraft, etc. Logical concepts A scheduling policy in an OS, ATC conflict resolution rules, etc. Encapsulate all information within the objects Data representation Characteristics of the object - the object attributes Functionality (behavior) What the object can do - what operations can the object perform

16 Fall CSci Dr. Mats Heimdahl Objects Drivers License Ajitha Rajan A Ajitha Rajan

17 ter> 7time> Characteristics of Objects Identity Discrete and distinguishable entities Classification Abstract entities with the same structure (attributes) and behaviour (operations) into classes Polymorphism The same operation may behave different on different classes Inheritance Sharing of attributes and operations based on a hierarchical relationship

18 8 l i i The Class Diagrams l

19 ter> 9time> Objects Something that makes sense in the application context (application domain) Ajitha Rajan Joe s Homework Assignment Ajitha s drivers license All objects have identity and are distinguishable NOT objects Person Drivers license

20 0ter> time> Classes Describes a group of objects with similar properties (attributes), common behavior (operations), common relationships to other classes, and common semantics Person Ajitha Rajan Joe Smith Allan Clark Card Credit card Drivers license Teller card

21 Fall CSci Dr. Mats Heimdahl Attributes and Operations Person objects Card objects Drivers License Ajitha Rajan A abstracts to Ajitha Rajan Person class Attributes name age height weight Operations move change-job Card class Attributes height width id-number Operations issue change

22 Class Diagrams Class diagram Person name: String age: integer Class with attributes Person person ID: integer name: String age: integer Person Lisa Heimdahl 32 Instance diagram Person Mats Heimdahl 33 Objects with values Objects have an identity Do not explicitly list object identifiers SSN OK!

23 ter> 3time> Class Diagrams Class diagram Instance diagram Person name: String age: integer Person- : Person -name = Lisa Heimdahl -age = 32 Person-2 : Person -name = Mats Heimdahl -age = 33 Class with attributes Person person ID: integer name: String age: integer Objects with values Objects have an identity

24 ter> 4time> Operations and Methods Transformation that can be applied to or performed by an object Card height: integer width: integer thickness: integer id-number: integer issue() revoke() Shape height: integer width: integer rotate(angle: integer) move(x: integer, y: integer) May have arguments

25 ter> 5time> Object Notation - Summary Class name attribute- : data-type- = default-value- attribute-2 : data-type-2 = default-value-2 attribute-3 : data-type-3 = default-value-3 operation-(argument-list-) : result-type- operation-2(argument-list-2) : result-type-2 operation-3(argument-list-3) : result-type-3

26 ter> 6time> Associations Conceptual connection between classes A credit card is issued-by a bank A person works-for a company Credit Card Issued-by Bank Person Works-for Company Class diagrams Person-2 : Person -name = Mats Heimdahl -age = 33 Works-for U of M : Company Instance diagram

27 ter> 7time> Associations are Bidirectional There is no direction implied in an association Country name Has-capital City name Person name Is-issued Drivers-license lic.-number: integer

28 ter> 8time> Associations Have Direction Unified adds a direction indicator Country name Has-capital City name Person name Is-issued Drivers-license lic.-number: integer

29 9ter> time> Multiplicity One person holds one credit card Person name: String Holds Credit-card card-number: integer One object can be related to many objects through the same association One person can hold zero or more credit cards (* stands for many) Person name: String Holds 0..* Credit-card card-number: integer

30 ter> 0time> Multiplicity One person holds one credit card Person name: String Holds Credit-card card-number: integer One object can be related to many objects through the same association One person can hold zero or more credit cards (* stands for many) Person name: String Holds 0..* Credit-card card-number: integer

31 ter> time> Multiplicity (Cont.) One person can hold zero or more credit cards (0..*) Each card has zero or one holder (0..) Person name: String 0.. Holds 0..* Credit-card card-number: integer Credit-Card Person Holds Credit-Card Person Mats Heimdahl 33 Holds Credit-Card Lisa Heimdahl

32 ter> 2time> Multiplicity (Cont.) One person can hold zero or more credit cards (0..*) Each card has zero or one holder (0..) Person name: String 0.. Holds 0..* Credit-card card-number: integer Credit-Card Person Holds Credit-Card Person Mats Heimdahl 33 Holds Credit-Card Lisa Heimdahl

33 ter> 3time> Multiplicity (Cont.) One person can hold zero or more credit cards (0..*) Each card has one holder (no indication or ) Each card has one or more authorized users (..*) One person can be authorized to use zero or more cards Person name: String Holds 0..* Autorized..* 0..* Credit-card card-number: integer Credit-Card Autoriz ed Person Holds Mats Heimdahl 33 Holds Autoriz ed Credit-Card Explicit enumeration is also possible (2, 3, 2..5, etc.) Person Autoriz ed Lisa Heimdahl 32 Autoriz ed Holds Credit-Card

34 ter> 4time> Link Attributes Associations can have properties the same way objects have properties Person name: String age: integer SSN: integer address: String 0..* Works-for Company name: String address: String How represent salary and job title? Person name: String age: integer SSN: integer address: String 0..* Works-for Company name: String address: String Use a link attribute! salary: integer job-title: String

35 ter> 5time> Folding Link Attributes into Class Person name: String age: integer SSN: integer address: String salary: integer job-title: String 0..* Works-for Company name: String address: String Why not this? Salary and job title are properties of the job not the person Person name: String age: integer SSN: integer address: String 0..* Works-for 0..* Company name: String address: String In this case, a link attribute is the only solution salary: integer job-title: String

36 Ordering The objects on the many side of an association does not have order. Imply ordering with the ordered attribute Screen Visible 0..* Window Screen Visible 0..* {ordered} Window

37 ter> 7time> General Constraints Express constraints in plain English Draw a dotted line if feasible Do not clutter the diagram with constraint arrows!

38 ter> 8time> Attribute Constraints Constraints on the attributes Card number must be a 2 digit number Worker s salary is always less than the salary of the boss Credit-card card-number: integer {card-number is 2 digits} Manages boss 0.. worker 0..* Employee name salary address {worker.salary < boss.salary}

39 9 Navigability Indicates you can get information about objects in only one direction Pointer from one object to the next Object defined as a member in the implementation

40 ter> 0 l Role Names Attach names to the ends of an association to clarify its meaning Manages boss 0.. Person name: String age: integer SSN: integer address: String 0..* worker 0..* Works-for 0..* employee salary: integer job-title: String employer Company name: String address: String

41 ter> l Higher order associations Ternary association Project, language, person Language..*..* Project..* Person Language C++ Project Compiler Person Mats Heimdahl 33 Language LISP Project TicTacToe

42 2 Aggregation A special association, the is-part-of association A sentence is part of a paragraph (a paragraph consists of sentences) A paragraph is part of a document (a document consists of paragraphs) 0..* 0..* Document Paragraph Sentence Aggregation symbol

43 3 Aggregation (Cont.) Often used in parts explosion Car 4 Wheel Body Gearbox Engine..*..* 0..* Door Hood Trunk Piston Valve Crankshaft

44 ter> 4 l Generalization and Inheritance The is-a association Cards have many properties in common Generalize the common properties to a separate class, the base-card Let all cards inherit from this class, all cards is-a base-card (plus possibly something more) Drivers License Card height: integer width: integer thickness: integer id-number: integer issue() revoke() ID Card Credit Card class: vehicle issued: date expires: date expire() issued: date expires: date expire() credit-limit: integer issued: date validate()

45 5 Example Owns City name Based-In 0..* Airline name Works-for 0..* Pilot name license Located-In Offers..* Certified-On 0..* Pilots 0..* Airport name heat() clean() Departs 0..* 0..* Flight Arrives date Used-For flight # 0..* cancel() delay() 0..* Plane model serial # hours flown heat() refuel() clean() 30..* Passenger 0..* Seat location name Confirmed-for reserve()

46 ter> 6time> Aggregation Versus Association Can you use the phrase is-part-of or is-made-of Are operations automatically applied to the parts (for example, move) - aggregation Not clear what it should be Company 0..* 0..* Division Department Works-for 0..* Person

47 ter> 7time> Aggregation Versus Inheritance Do not confuse the is-a relation (inheritance) with the is-part-of relation (aggregation) Use inheritance for special cases of a general concept Use aggregation for parts explosion Station Wagon Car Compact 4 by 4 4 Wheel Body Gearbox Engine Transfer Case

48 8 l Object Modeling Summary Classes Name Attributes Operations Associations Roles Link attributes Aggregation Inheritance

49 9 l In Class Examples Draw a class diagram for a book chapter with the following structure. A chapter comprises several sections, each of which comprises several paragraphs and/or figures. A paragraph comprises several sentences, each of which comprises several words. Note : You may ignore punctuation and you need not pursue the structure of a figure any further. Note 2: Several in the text above refers to one or more. Draw a class diagram (using inheritance) that captures two categories of a company s customers: external customers, which are other companies buying goods from this company, and internal customer, which are all the divisions of this company.

50 0 l Suggested Solution Chapter Section Section Component..*..* Word..* Sentence..* Paragraph Picture

51 l Another Suggested Solution Corporate Division Customer Internal Customer External Customers

52 2 l i Sommerville Chapter 7 Fowler Chapters, 3, 5, and 6 i Object Modeling Approach l

53 ter> 3time> Objective To introduce one way of getting a model started Introduce a way of starting to find responsibilities, collaborators, and relationships

54 4 l Object Modeling Approach Start with a problem statement High-level requirements Define object model Identify objects and classes Prepare data dictionary Identify associations and aggregations Identify attributes of objects and links Organize and simplify using inheritance Iterate and refine the model Group classes into modules

55 Fall CSci Dr. Mats Heimdahl The Home Heating System Water Pump Water Valve Hot Water Burner Controller Home Fuel Valve Off Fuel On Control Panel Temp Sensor

56 ter> 6time> Home Heating Requirements The purpose of the software for the Home Heating System is to control the heating system that heats the rooms of a house. The software shall maintain the temperature of each room within a specified range by controlling the heat flow to individual rooms. The software shall control the heat in each room The room shall be heated when the temperature is 2F below desired temp The room shall no longer be heated when the temperature is 2F above desired temp The flow of heat to each room shall be individually controlled by opening and closing its water valve The valve shall be open when the room needs heat and closed otherwise The user shall set the desired temperature on the thermostat The operator shall be able to turn the heating system on and off The furnace must not run when the system is off When the furnace is not running and a room needs heat, the software shall turn the furnace on To turn the furnace on the software shall follow these steps open the fuel valve turn the burner on The software shall turn the furnace off when heat is no longer needed in any room To turn the furnace off the software shall follow these steps close fuel valve turn burner off

57 7 Identify Object Classes Requirements Statements Extract Nouns Tentative Object Classes Eliminate Spurious Classes Object Classes Candidate Classes Water Pump Controller Hot Water operator Home Heating System house furnace thermostat Burner room Water Valve heating system Fuel Valve temperature heat software desired temp Home Fuel Temp Sensor on-off switch Control Panel range

58 8 Eliminate Bad Classes Redundant classes Classes that represent the same thing with different words Irrelevant classes Classes we simply do not care about Vague classes Classes with ill defined boundaries Attributes Things that describe individual objects Operations Sequences of actions are often mistaken for classes Roles The name of a class should reflect what it is, not the role it plays Implementation details Save that for implementation

59 Eliminate Classes Redundant Irrelevant Vague Attributes heating system Fuel software heat house desired temp user Hot Water heat flow home temperature range Operations Roles Implementation None None None Fuel Valve Burner Water Pump thermostat on-off switch furnace operator room Controller Home Heating System Temp Sensor Water Valve Control Panel

60 0 Classes After Elimination Fuel Valve Burner Water Pump Room Home Heating System Thermostat Furnace Temp Sensor Water Valve Operator on-off switch Control Panel Controller

61 Prepare Data Dictionary Water Tank The storage tank containing the water that circulates in the system. Pump- The pump pumping water from the Water Tank to the radiators in the rooms Etc. Etc.

62 ter> 2time> Possible Associations A room consists of a thermometer and a radiator A radiator consists of a valve and a radiator element The home heating system consists of a furnace, rooms, a water pump, a control panel, and a controller The furnace consists of a fuel pump and a burner The control panel consists of an on-off switch and a thermostat The controller controls the fuel pump The controller controls the burner The controller controls the water pump The controller monitors the temperature in each room The controller opens and closes the valves in the rooms The operator sets the desired temperature The operator turns the system on and off The controller gets notified of the new desired temperature

63 ter> 3 l Class Diagram Home Heating System Control Panel Furnace Water Pump Runs On-Off Switch Thermostat Burner Fuel Valve Pushes Adjusts..* Room Notifies Operator Water Valve Temp Sensor Opens/Closes Ignites Monitor Actuates Controller

64 ter> 4 l Class Diagram (Better?) Control Panel Furnace Water Pump Runs On-Off Switch Thermostat Burner Fuel Valve Pushes Adjusts Room Notifies Operator Water Valve Temp Sensor Opens/Closes Ignites Actuates Monitor Controller

65 5 Class Diagram - Modified Home Heating System Control Panel Furnace Water Pump Runs On-Off Switch Thermostat Burner Fuel Valve Pushes Adjusts..* Room..* Ignites Opens/Closes Notifies Operator..* Heats Monitor Water Valve Temp Sensor Controller

66 ter> 6time> Class Diagram Alternate Notify * Room * Request Heat Water Valve Temp Sensor Start Water Pump Control Panel Furnace Power Switch Thermostat Fuel Valve Burner Push Operator Adjust

67 7 Attributes Thermostat desired-temp On-Off switch setting Temp Sensor temperature

68 8 Final Class Diagram Home Heating System Control Panel Furnace Water Pump Runs On-Off Switch Thermostat Burner Fuel Valve setting desired-temp Pushes Adjusts..* Room..* Ignites Opens/Closes Notifies Operator..* Heats Monitor Water Valve Temp Sensor temperature Controller

69 ter> 9time> Final Alternative Notify * Room * Request Heat Water Valve Temp Sensor -Temperature Start Water Pump Control Panel Furnace Power Switch -setting Thermostat -Desired Temp Fuel Valve Burner Push Operator Adjust

70 Iterate the Model Keep on doing this until you, your customer, and your engineers are happy with the model Iterate

71 ter> time> Different Types of Interaction Diagrams An Interaction Diagram typically captures a use-case A sequence of user interactions Sequence diagrams Highlight the sequencing of of the interactions between objects Collaboration diagrams Highlight the structure of the components (objects) involved in the interaction

72 ter> 2time> Home Heating Use-Case Use case: Power Up Actors: Home Owner (initiator) Type: Primary and essential Description: The Home Owner turns the power on. Each room is temperature checked. If a room is below the the desired temperature the valve for the room is opened, the water pump started, the fuel valve opened, and the burner ignited. If the temperature in all rooms is above the desired temperature, no actions are taken. Cross Ref.: Requirements XX, YY, and ZZ Use-Cases: None

73 ter> 3 l Class Diagram v Control Panel Furnace Water Pump Runs On-Off Switch Thermostat Burner Fuel Valve setting Pushes desired-temp Adjusts Room..* Opens/Closes Ignites Notifies Operator Water Valve..* Temp Sensor Heats Monitor temperature Controller

74 ter> 4time> Sequence Diagrams (for cd v)

75 ter> 5time> Sequence Diagrams (old) (for cd v)

76 ter> time> 6 We Have Learned An object is an entity in the problem domain A class is an abstraction of a collection of objects Objects (classes) have attributes and operations Objects (classes) are related to each other trough associations Regular association Aggregation Inheritance Associations have multiplicity May have link attributes Role names may be used to clarify the model

77 Fall CSci Dr. Mats Heimdahl We Have Learned How to approach an OO modeling effort Identify objects (nouns) Identify associations (typically verbs) Identify attributes and operations The model will need a lot of iteration In conjunction with other models we have not yet talked about We will the next few lectures

The OO Solution. Objects

The OO Solution. Objects C870: Cheng The OO Solution The OO model closely resembles the problem domain Base your model on the objects in the problem domain Iteratively refine the high-level model until you have an implementation

More information

OO Using UML: Dynamic Models

OO Using UML: Dynamic Models OO Using UML: Dynamic Models Defining how the objects behave Overview The object model describes the structure of the system (objects, attributes, and operations) The dynamic model describes how the objects

More information

OO Using UML: Dynamic Models

OO Using UML: Dynamic Models OO Using UML: Dynamic Models Defining how the objects behave Overview The object model describes the structure of the system (objects, attributes, and operations) The dynamic model describes how the objects

More information

Lecture 13: Analysis Modeling

Lecture 13: Analysis Modeling Lecture 13: Analysis Modeling Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Oct. 16, 2008 Announcements Midterms graded

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) The Entity Relationship Model Lecture 2, January 15, 2014 Mohammad Hammoud Today Last Session: Course overview and a brief introduction on databases and database systems

More information

The Next Step: Designing DB Schema. Chapter 6: Entity-Relationship Model. The E-R Model. Identifying Entities and their Attributes.

The Next Step: Designing DB Schema. Chapter 6: Entity-Relationship Model. The E-R Model. Identifying Entities and their Attributes. Chapter 6: Entity-Relationship Model Our Story So Far: Relational Tables Databases are structured collections of organized data The Relational model is the most common data organization model The Relational

More information

Object Oriented Software Development CIS Today: Object Oriented Analysis

Object Oriented Software Development CIS Today: Object Oriented Analysis Object Oriented Software Development CIS 50-3 Marc Conrad D104 (Park Square Building) Marc.Conrad@luton.ac.uk Today: Object Oriented Analysis The most single important ability in object oriented analysis

More information

Chapter 6: Entity-Relationship Model. The Next Step: Designing DB Schema. Identifying Entities and their Attributes. The E-R Model.

Chapter 6: Entity-Relationship Model. The Next Step: Designing DB Schema. Identifying Entities and their Attributes. The E-R Model. Chapter 6: Entity-Relationship Model The Next Step: Designing DB Schema Our Story So Far: Relational Tables Databases are structured collections of organized data The Relational model is the most common

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

user.book Page 45 Friday, April 8, :05 AM Part 2 BASIC STRUCTURAL MODELING

user.book Page 45 Friday, April 8, :05 AM Part 2 BASIC STRUCTURAL MODELING user.book Page 45 Friday, April 8, 2005 10:05 AM Part 2 BASIC STRUCTURAL MODELING user.book Page 46 Friday, April 8, 2005 10:05 AM user.book Page 47 Friday, April 8, 2005 10:05 AM Chapter 4 CLASSES In

More information

Conceptual Database Design. COSC 304 Introduction to Database Systems. Entity-Relationship Modeling. Entity-Relationship Modeling

Conceptual Database Design. COSC 304 Introduction to Database Systems. Entity-Relationship Modeling. Entity-Relationship Modeling COSC 304 Introduction to Database Systems Entity-Relationship Modeling Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Conceptual Database Design Conceptual database design

More information

CSCI315 Database Design and Implementation Singapore Assignment 2 11 January 2018

CSCI315 Database Design and Implementation Singapore Assignment 2 11 January 2018 School of Computer Science & Software Engineering Session: 1, January 2017 University of Wollongong Lecturer: Janusz R. Getta CSCI315 Database Design and Implementation Singapore 2018-1 Assignment 2 11

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

The Entity-Relationship (ER) Model 2

The Entity-Relationship (ER) Model 2 The Entity-Relationship (ER) Model 2 Week 2 Professor Jessica Lin Keys Differences between entities must be expressed in terms of attributes. A superkey is a set of one or more attributes which, taken

More information

22/09/2012 INFO2110. Copyright Warning. Revision of class diagram. Overview. Purpose of class diagram. Generalization Relationship

22/09/2012 INFO2110. Copyright Warning. Revision of class diagram. Overview. Purpose of class diagram. Generalization Relationship 22/09/202 INFO20 Copyright Warning System Analysis and Modelling Semester 2, 202 Lecture 8, Structural Modelling (II) COMMONWEALTH OF AUSTRALIA Copyright Regulations 969 WARNING This material has been

More information

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

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

More information

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

CTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D

CTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D CTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D Today s Objectives To explain the basic concepts of OO(A)D To describe some best practices regarding to OO(A)D What is NOT UML? The UML

More information

COSC 304 Introduction to Database Systems. Entity-Relationship Modeling

COSC 304 Introduction to Database Systems. Entity-Relationship Modeling COSC 304 Introduction to Database Systems Entity-Relationship Modeling Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Conceptual Database Design Conceptual database design

More information

Lecture 5 STRUCTURED ANALYSIS. PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall Bühnová, Sochor, Ráček

Lecture 5 STRUCTURED ANALYSIS. PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall Bühnová, Sochor, Ráček Lecture 5 STRUCTURED ANALYSIS PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall 2015 1 Outline ² Yourdon Modern Structured Analysis (YMSA) Context diagram (CD) Data flow diagram

More information

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

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

More information

CS/IT Secure Software Construction

CS/IT Secure Software Construction CS/IT 328 - Secure Software Construction Chapter 6 Class-Diagrams Relationships and Associations Book: Fowler Class Diagrams Class diagrams and models can be looked at from three different perspectives:

More information

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Classes, Class Diagrams Values and Attributes Operations

More information

COMP Instructor: Dimitris Papadias WWW page:

COMP Instructor: Dimitris Papadias WWW page: COMP 5311 Instructor: Dimitris Papadias WWW page: http://www.cse.ust.hk/~dimitris/5311/5311.html Textbook Database System Concepts, A. Silberschatz, H. Korth, and S. Sudarshan. Reference Database Management

More information

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:

Lecturer: Sebastian Coope Ashton Building, Room G.18   COMP 201 web-page: Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 19 Essentials of Class Models 1 On Naming classes

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

Class Diagrams in Analysis

Class Diagrams in Analysis 3.2 Subject/Topic/Focus: Introduction to Classes Summary: Conceptual Modeling Notation: Classes Associations: Multiplicity, Roles, Aggregation, Composition Generalization Objects Analysis Process Literature:

More information

Chapter 5: Structural Modeling

Chapter 5: Structural Modeling Chapter 5: Structural Modeling Objectives Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. Understand the processes used to create CRC cards, class

More information

Principles of Software Construction: Objects, Design and Concurrency. Just enough UML. toad

Principles of Software Construction: Objects, Design and Concurrency. Just enough UML. toad Principles of Software Construction: Objects, Design and Concurrency Just enough UML 15-214 toad Christian Kästner Charlie Garrod School of Computer Science With slides from Klaus Ostermann Learning Goals

More information

Chapter 2: Entity-Relationship Model

Chapter 2: Entity-Relationship Model Chapter 2: Entity-Relationship Model! Entity Sets! Relationship Sets! Design Issues! Mapping Constraints! Keys! E-R Diagram! Extended E-R Features! Design of an E-R Database Schema! Reduction of an E-R

More information

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

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

More information

1. Write two major differences between Object-oriented programming and procedural programming?

1. Write two major differences between Object-oriented programming and procedural programming? 1. Write two major differences between Object-oriented programming and procedural programming? A procedural program is written as a list of instructions, telling the computer, step-by-step, what to do:

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

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

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

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

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

More information

Software 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

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae CS350 Lecture 2 Requirements Engineering Doo-Hwan Bae bae@se.kaist.ac.kr Contents Overview of Requirements Engineering OO Analysis: Domain modeling, Use-case, sequence, class Structured Analysis: Dataflow

More information

06. Analysis Modeling

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

More information

Operating system. Hardware

Operating system. Hardware Chapter 1.2 System Software 1.2.(a) Operating Systems An operating system is a set of programs designed to run in the background on a computer system, giving an environment in which application software

More information

Lecture 1. Abstraction

Lecture 1. Abstraction Lecture 1 Abstraction 1 Programming Techniques Unstructured Programming Procedural Programming Modular & Structural Programming Abstract Data Type Object-Oriented Programming 2 Unstructured Programming

More information

Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel

Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel Enn Õunapuu enn.ounapuu@ttu.ee What is a domain model? A domain model captures the most important types of objects in the context

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

Lecture 4: Goals and Scenarios. System context. Usage facet. IT system facet. Core activities. Negotiation. Requirements artefacts

Lecture 4: Goals and Scenarios. System context. Usage facet. IT system facet. Core activities. Negotiation. Requirements artefacts Lecture 4: Goals and Scenarios Stakeholders Identifying the problem owners Goals Identifying the success criteria Scenarios Identifying how it works 1 System context Subject facet Usage facet IT system

More information

CMPT 354 Database Systems I

CMPT 354 Database Systems I CMPT 354 Database Systems I Chapter 2 Entity Relationship Data Modeling Data models A data model is the specifications for designing data organization in a system. Specify database schema using a data

More information

Entity Relationship Modelling

Entity Relationship Modelling Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is a relationship? Entities, attributes, and relationships in a system The degree of

More information

Object-Oriented Analysis and Design

Object-Oriented Analysis and Design 0. Object Orientation: An Subject/Topic/Focus: over this lecture Summary: Lecturer, lecture, rooms, assistants, lab classes, credit points... Need for systems analysis and software engineers Literature

More information

The Software Design Process. CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed

The Software Design Process. CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed The Software Design Process CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed Outline Challenges in Design Design Concepts Heuristics Practices Challenges in Design A problem that can only be defined

More information

CSCU9T4: Managing Information

CSCU9T4: Managing Information CSCU9T4: Managing Information CSCU9T4 Spring 2016 1 The Module Module co-ordinator: Dr Gabriela Ochoa Lectures by: Prof Leslie Smith (l.s.smith@cs.stir.ac.uk) and Dr Nadarajen Veerapen (nve@cs.stir.ac.uk)

More information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance

More information

MSO Analysis & UML. Hans Philippi (based on the course slides of Wouter Swierstra) August 24, Analysis & UML 1 / 56

MSO Analysis & UML. Hans Philippi (based on the course slides of Wouter Swierstra) August 24, Analysis & UML 1 / 56 MSO Analysis & UML Hans Philippi (based on the course slides of Wouter Swierstra) August 24, 2018 Analysis & UML 1 / 56 Recap: Last lectures How can I manage the process of constructing complex software?

More information

2D1358 Object Oriented Program Construction in C++ Exercises & Labs. Course Registration / Accounts. Course Literature

2D1358 Object Oriented Program Construction in C++ Exercises & Labs. Course Registration / Accounts. Course Literature 2D1358 Object Oriented Program Construction in C++ Exercises & Labs Lecturer: Frank Hoffmann hoffmann@nada.kth.se Assistents: Danica Kragic danik @nada.kth.se Anders Orebäck oreback @nada.kth.se Peter

More information

Introduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University

Introduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University Introduction to Computers and Programming Languages CS 180 Sunil Prabhakar Department of Computer Science Purdue University 1 Objectives This week we will study: The notion of hardware and software Programming

More information

MIS Database Systems Entity-Relationship Model.

MIS Database Systems Entity-Relationship Model. MIS 335 - Database Systems Entity-Relationship Model http://www.mis.boun.edu.tr/durahim/ Ahmet Onur Durahim Learning Objectives Database Design Main concepts in the ER model? ER Diagrams Database Design

More information

Design Concepts and Principles

Design Concepts and Principles Design Concepts and Principles Analysis to Design Data Object Description Entity- Relationship Diagram Data Flow Diagram Process Specification (PSPEC) Component level design (or) procedural design Data

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

Database Systems. Overview - important points. Lecture 5. Some introductory information ERD diagrams Normalization Other stuff 08/03/2015

Database Systems. Overview - important points. Lecture 5. Some introductory information ERD diagrams Normalization Other stuff 08/03/2015 Lecture 5 Database Systems Instructor: M.Imran Khalil Imrankhalil3@gmail.com Resource:Imrankhalil3.wordpress.com University of Sargodha Canal Campus Lahore Overview - important points Some introductory

More information

The Entity-Relationship (ER) Model

The Entity-Relationship (ER) Model The Entity-Relationship (ER) Model Week 1-2 Professor Jessica Lin The E-R Model 2 The E-R Model The Entity-Relationship Model The E-R (entity-relationship) data model views the real world as a set of basic

More information

CS/INFO 330 Entity-Relationship Modeling. Announcements. Goals of This Lecture. Mirek Riedewald

CS/INFO 330 Entity-Relationship Modeling. Announcements. Goals of This Lecture. Mirek Riedewald CS/INFO 330 Entity-Relationship Modeling Mirek Riedewald mirek@cs.cornell.edu Announcements Office hour update (see class homepage) First homework assignment will be available from CMS later today Some

More information

16 April 2011 Alan, Edison, etc, Saturday.

16 April 2011 Alan, Edison, etc, Saturday. 16 April 2011 Alan, Edison, etc, Saturday. Knowledge, Planning and Robotics 1. Knowledge 2. Types of knowledge 3. Representation of knowledge 4. Planning 5. Knowledge for planning 6. Planning in robotics

More information

Client Code - the code that uses the classes under discussion. Coupling - code in one module depends on code in another module

Client Code - the code that uses the classes under discussion. Coupling - code in one module depends on code in another module Basic Class Design Goal of OOP: Reduce complexity of software development by keeping details, and especially changes to details, from spreading throughout the entire program. Actually, the same goal as

More information

Entity-Relationship Modelling. Entities Attributes Relationships Mapping Cardinality Keys Reduction of an E-R Diagram to Tables

Entity-Relationship Modelling. Entities Attributes Relationships Mapping Cardinality Keys Reduction of an E-R Diagram to Tables Entity-Relationship Modelling Entities Attributes Relationships Mapping Cardinality Keys Reduction of an E-R Diagram to Tables 1 Entity Sets A enterprise can be modeled as a collection of: entities, and

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

Entity Relationship Data Model. Slides by: Shree Jaswal

Entity Relationship Data Model. Slides by: Shree Jaswal Entity Relationship Data Model Slides by: Shree Jaswal Topics: Conceptual Modeling of a database, The Entity-Relationship (ER) Model, Entity Types, Entity Sets, Attributes, and Keys, Relationship Types,

More information

Conceptual Design with ER Model

Conceptual Design with ER Model Conceptual Design with ER Model Lecture #2 1/24/2012 Jeff Ballard CS564, Spring 2014, Database Management Systems 1 See the Moodle page Due February 7 Groups of 2-3 people Pick a team name Homework 1 is

More information

Introduction to Data Management. Lecture #3 (Conceptual DB Design) Instructor: Chen Li

Introduction to Data Management. Lecture #3 (Conceptual DB Design) Instructor: Chen Li Introduction to Data Management Lecture #3 (Conceptual DB Design) Instructor: Chen Li 1 Announcements v HW #1 is now available v Today s plan Conceptual DB design, cont. Advanced ER concepts 2 Weak Entities

More information

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

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

More information

Use-Case Analysis. Architecture Oriented Analysis. R. Kuehl/J. Scott Hawker p. 1 R I T. Software Engineering

Use-Case Analysis. Architecture Oriented Analysis. R. Kuehl/J. Scott Hawker p. 1 R I T. Software Engineering Use-Case Analysis Architecture Oriented Analysis R. Kuehl/J. Scott Hawker p. 1 Notes The slides are based on UML use-case analysis techniques This is an introduction detailed techniques and notation will

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

Requirements & Domain Models. Lecture 13: Object Oriented Modelling. Nearly anything can be an object. Object Oriented Analysis

Requirements & Domain Models. Lecture 13: Object Oriented Modelling. Nearly anything can be an object. Object Oriented Analysis Lecture 3: Object Oriented Modelling Object Oriented Analysis Rationale Identifying Classes Attributes and Operations Class Diagrams Associations Multiplicity Aggregation Composition Generalization Easterbrook

More information

Week 4 Tute/Lab Entity-Relationship (ER) Model

Week 4 Tute/Lab Entity-Relationship (ER) Model ISYS1055/1057 Database Concepts 2018 Semester 2 Week 4 Tute/Lab Entity-Relationship (ER) Model The objectives of this tute/lab session are: Learn about the entity-relationship model; Learn how to build

More information

G Programming Languages - Fall 2012

G Programming Languages - Fall 2012 G22.2110-003 Programming Languages - Fall 2012 Lecture 2 Thomas Wies New York University Review Last week Programming Languages Overview Syntax and Semantics Grammars and Regular Expressions High-level

More information

Class diagrams and architectural design

Class diagrams and architectural design Class diagrams and architectural design Perdita Stevens School of Informatics University of Edinburgh More unified modelling language We saw use case diagrams, which are part of UML, the Unified Modelling

More information

OBJECT-ORIENTED MODELING AND DESIGN. Domain Analysis

OBJECT-ORIENTED MODELING AND DESIGN. Domain Analysis OBJECT-ORIENTED MODELING AND DESIGN Domain Analysis CONTENTS :. Overview of Analysis 2. Domain Class Model 3. Domain State Model 4. Domain Interaction Model 5. Iterating the Analysis 6. Chapter Summary.

More information

CMSC 424 Database design Lecture 2: Design, Modeling, Entity-Relationship. Book: Chap. 1 and 6. Mihai Pop

CMSC 424 Database design Lecture 2: Design, Modeling, Entity-Relationship. Book: Chap. 1 and 6. Mihai Pop CMSC 424 Database design Lecture 2: Design, Modeling, Entity-Relationship Book: Chap. 1 and 6 Mihai Pop Administrative issues TA: Sharath Srinivas TA office hours: Mon 10-11:30, Wed 3-4:30, AVW 1112 Glue

More information

SEMANTIC NETWORK AND SEARCH IN VEHICLE ENGINEERING

SEMANTIC NETWORK AND SEARCH IN VEHICLE ENGINEERING Martin Sturm, Sylke Rosenplaenter SEMANTIC NETWORK AND SEARCH IN VEHICLE ENGINEERING From Concept to Deployment Vehicle Design Operations & System Development GM Europe Engineering Adam Opel AG www.opel.com

More information

Lecture 8 Requirements Engineering

Lecture 8 Requirements Engineering Lecture 8 Requirements Engineering Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 18, 2008 Lecture Overview

More information

Structured Programming

Structured Programming CS 170 Java Programming 1 Objects and Variables A Little More History, Variables and Assignment, Objects, Classes, and Methods Structured Programming Ideas about how programs should be organized Functionally

More information

Reference Resolution and Views Working Note 25

Reference Resolution and Views Working Note 25 Reference Resolution and Views Working Note 25 Peter Clark Knowledge Systems Boeing Maths and Computing Technology peter.e.clark@boeing.com May 2001 Abstract A common phenomenon in text understanding is

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

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) The Entity Relationship Model Lecture 2, January 12, 2016 Mohammad Hammoud Today Last Session: Course overview and a brief introduction on databases and database systems

More information

Software Specification 2IX20

Software Specification 2IX20 Software Specification 2IX20 Julien Schmaltz (slides partly from M. Mousavi and A. Serebrenik) Lecture 02: Requirements Requirements specification» Textual description of system behaviour» Basic specification

More information

ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow

ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow Box Leangsuksun SWECO Endowed Professor, Computer Science Louisiana Tech University box@latech.edu CTO, PB Tech International

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

Introduction to Modeling

Introduction to Modeling Introduction to Modeling Software Architecture Lecture 9 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Objectives Concepts What is modeling? How do we choose

More information

Database Design with Entity Relationship Model

Database Design with Entity Relationship Model Database Design with Entity Relationship Model Vijay Kumar SICE, Computer Networking University of Missouri-Kansas City Kansas City, MO kumarv@umkc.edu Database Design Process Database design process integrates

More information

Chapter 6: Entity-Relationship Model

Chapter 6: Entity-Relationship Model Chapter 6: Entity-Relationship Model Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Chapter 6: Entity-Relationship Model Design Process Modeling Constraints E-R Diagram

More information

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 7 Data Modeling with Entity Relationship Diagrams

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 7 Data Modeling with Entity Relationship Diagrams Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition Chapter 7 Data Modeling with Entity Relationship Diagrams Objectives In this chapter, students will learn: The

More information

Represent entities and relations with diagrams

Represent entities and relations with diagrams LEARNING OBJECTIVES Define data modeling terms Describe E-R Model Identify entities and relations Represent entities and relations with diagrams WHAT IS DATA MODELING? A data model is a collection of concepts

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

Architectural Design. CSCE Lecture 12-09/27/2016

Architectural Design. CSCE Lecture 12-09/27/2016 Architectural Design CSCE 740 - Lecture 12-09/27/2016 Architectural Styles 2 Today s Goals Define what architecture means when discussing software development. Discuss methods of documenting and planning

More information

MSO Lecture 3. Wouter Swierstra. September 14, 2015

MSO Lecture 3. Wouter Swierstra. September 14, 2015 1 MSO Lecture 3 Wouter Swierstra September 14, 2015 2 Haven t found a lab partner yet? Come talk to me in the break. 3 LAST LECTURE How can I manage the process of constructing complex software? How do

More information

ROEVER ENGINEERING COLLEGE DEPARTMENT OF INFORMATION TECHNOLOGY CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN. Unit-I. Introduction to OOAD

ROEVER ENGINEERING COLLEGE DEPARTMENT OF INFORMATION TECHNOLOGY CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN. Unit-I. Introduction to OOAD ROEVER ENGINEERING COLLEGE CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN 1. What is Object-Oriented Analysis? Unit-I Introduction to OOAD PART-A During object-oriented analysis there is an emphasis on finding

More information

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak CSE 403: Software Engineering, Spring 2015 courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams Emina Torlak emina@cs.washington.edu Outline Designing classes Overview of UML UML class diagrams

More information

Object-Oriented Design

Object-Oriented Design Software and Programming I Object-Oriented Design Roman Kontchakov / Carsten Fuhs Birkbeck, University of London Outline Discovering classes and methods Relationships between classes An object-oriented

More information

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD Domain analysis Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD OOA concerned with what, not how OOA activities focus on the domain layer

More information

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

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

More information

Lecture 4. Lecture 4: The E/R Model

Lecture 4. Lecture 4: The E/R Model Lecture 4 Lecture 4: The E/R Model Lecture 4 Today s Lecture 1. E/R Basics: Entities & Relations ACTIVITY: Crayon time! 2. E/R Design considerations ACTIVITY: Crayon time pt. II 3. Advanced E/R Concepts

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

Basic Structural Modeling. Copyright Joey Paquet,

Basic Structural Modeling. Copyright Joey Paquet, Basic Structural Modeling Copyright Joey Paquet, 2000 1 Part I Classes Copyright Joey Paquet, 2000 2 Classes Description of a set of objects sharing the same attributes, operations and semantics Abstraction

More information