Sommerville Chapter 7 Fowler Chapters 1, 3, 5, and 6. Conceptual Modeling and Class Diagrams
|
|
- Gavin Atkins
- 5 years ago
- Views:
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
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 informationOO 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 informationOO 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 informationLecture 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 informationDatabase 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 informationThe 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 informationObject Oriented Software Development CIS Today: Object Oriented Analysis
Object Oriented Software Development CIS 50-3 Marc Conrad D104 (Park Square Building) Marc.Conrad@luton.ac.uk Today: Object Oriented Analysis The most single important ability in object oriented analysis
More informationChapter 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 informationFrom 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 informationuser.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 informationConceptual 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 informationCSCI315 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 informationObject-Oriented Software Engineering Practical Software Development using UML and Java
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical
More informationThe 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 information22/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 informationS T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A
S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A G R A M S ) WHAT IS CLASS DIAGRAM? A class diagram
More informationA - 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 informationCTIS 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 informationCOSC 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 informationLecture 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 informationIntroduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M
Introduction to UML Part I 1 What is UML? Unified Modeling Language, a standard language for designing and documenting a system in an object- oriented manner. It s a language by which technical architects
More informationCS/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 informationChapter 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 informationCOMP 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 informationLecturer: 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 information0. 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 informationClass 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 informationChapter 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 informationPrinciples 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 informationChapter 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 informationUsing High-Level Conceptual Data Models for Database Design A Sample Database Application Entity Types, Entity Sets, Attributes, and Keys
Chapter 7: Data Modeling Using the Entity- Relationship (ER) Model Using High-Level Conceptual Data Models for Database Design A Sample Database Application Entity Types, Entity Sets, Attributes, and Keys
More information1. 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 informationSoftware 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 informationLesson 11. W.C.Udwela Department of Mathematics & Computer Science
Lesson 11 INTRODUCING UML W.C.Udwela Department of Mathematics & Computer Science Why we model? Central part of all the activities We build model to Communicate Visualize and control Better understand
More informationNOTES 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 informationObject-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes 5.1 What is UML? The Unified Modelling Language is a standard graphical language
More informationSoftware 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 informationCS350 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 information06. Analysis Modeling
06. Analysis Modeling Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Overview of Analysis Modeling 1 Requirement Analysis 2 Analysis Modeling Approaches
More informationOperating 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 informationLecture 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 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 informationChapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin
Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain
More informationLecture 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 informationCMPT 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 informationEntity 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 informationObject-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 informationThe 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 informationCSCU9T4: Managing Information
CSCU9T4: Managing Information CSCU9T4 Spring 2016 1 The Module Module co-ordinator: Dr Gabriela Ochoa Lectures by: Prof Leslie Smith (l.s.smith@cs.stir.ac.uk) and Dr Nadarajen Veerapen (nve@cs.stir.ac.uk)
More informationOBJECT 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 informationMSO 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 information2D1358 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 informationIntroduction 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 informationMIS 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 informationDesign 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 informationUML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram
UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling
More informationDatabase 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 informationThe 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 informationCS/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 information16 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 informationClient 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 informationEntity-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 informationCredit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects
Lecture 4: Fundamentals of Object Technology Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture
More informationEntity 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 informationConceptual 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 informationIntroduction 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 informationObject-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering
Module UFC016QM Object-Oriented Design and Programming O-O Design Unit 2: Objects and Classes Faculty of Computing, Engineering and Mathematical Sciences Schedule Quick recap on Use Case diagrams UWE Flix
More informationUse-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 informationClass diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch
Class diagrams Modeling with UML Chapter 2, part 2 CS 4354 Summer II 2015 Jill Seaman Used to describe the internal structure of the system. Also used to describe the application domain. They describe
More informationRequirements & 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 informationWeek 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 informationG 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 informationClass 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 informationOBJECT-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 informationCMSC 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 informationSEMANTIC 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 informationLecture 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 informationStructured 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 informationReference 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 informationObject Oriented Modeling
Overview UML Unified Modeling Language What is Modeling? What is UML? A brief history of UML Understanding the basics of UML UML diagrams UML Modeling tools 2 Modeling Object Oriented Modeling Describing
More informationDatabase 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 informationSoftware 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 informationITEC420: 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 informationObject-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 informationIntroduction 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 informationDatabase 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 informationChapter 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 informationDatabase 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 informationRepresent 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 informationDarshan 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 informationArchitectural 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 informationMSO 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 informationROEVER 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 informationCSE 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 informationObject-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 informationGoal: 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 informationCOSC 3351 Software Design. An Introduction to UML (I)
COSC 3351 Software Design An Introduction to UML (I) This lecture contains material from: http://wps.prenhall.com/esm_pfleeger_softengtp_2 http://sunset.usc.edu/classes/cs577a_2000/lectures/05/ec-05.ppt
More informationLecture 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 informationINTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal
INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD Slides by: Shree Jaswal What is UML? 2 It is a standard graphical language for modeling object oriented software. It was developed in mid 90 s by collaborative
More informationBasic 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