UML Class Diagrams. Lesson Objectives

Size: px
Start display at page:

Download "UML Class Diagrams. Lesson Objectives"

Transcription

1 UML Class Diagrams 1 Lesson Objectives Understand UML class diagrams and object modelling Be able to identify the components needed to produce a class diagram from a specification Be able to produce class diagrams and document them using Eclipse/Together 2

2 UML Class BankAccount Name balance iratecharge deposit withdraw Attributes Methods/ operations 3 UML Class: Different levels of detail BankAccount BankAccount - balance: int - iratecharge: float +deposit:int +withdraw:int balance iratecharge deposit withdraw signature BankAccount BankAccount balance iratecharge 4

3 Objects and Classes anobject: ClassName attribute1 = value1 attribute2 = value2 ClassName attribute1 attribute2: data_type attribute3: type = init_val... operation1() operation2(arg_list) operation3() : returntype... Object (instance).. is instantiated from... Class 5 Objects and Classes: Example Car spacewagon: Car manufacturer = Mitsubishi registrationnumber = R637GNU driver = Naomi manufacturer registrationnumber: Integer driver: String = Unspecified... register() drive (Integer speed) getdriver() : String... 6

4 Class Diagrams BankAccount Customer 9 Associations: Multiplicity Student Module * * Many-to-many relationship Student Module 10..* A student takes between 0 and 12 modules A module is taken by at least 10 students 10

5 1-to-1 and 1-to-many Associations Country name:string 1 Has-capital 1 City name:string 1-to-1 association draw() Polygon 1 * Point x:integer y:integer 1-to-many association 11 Association Notation Family 0..1 parentage offspring child 0..* Individual 0..1 wife 0..1 husband married to 12

6 Aggregation An aggregation is a special case of association denoting a consists of hierarchy. The aggregate is the parent class, the components are the children class. Exhaust System is a part of Muffler Tailpipe 13 Aggregation Example Engine horsepower volume on off 1 Car serial number year manufacturer model colour weight drive purchase 3,4,5 * 2,4 1 Wheel Brakelight Door Battery diameter number of bolts on off 14 open close amps volts charge discharge

7 Composition A solid diamond denotes composition, a strong form of aggregation where components cannot exist without the aggregate. TicketMachine 3 ZoneButton 15 Assembly or Composition? Assembly: component can exist on its own Composition: component cannot exist on its own Football Club * Footballer * Fixtures to play 16

8 Generalization/Inheritance Account Balance AccountId Deposit() Withdraw() GetBalance() Is a kind of SavingsAccount ChequeAccount Withdraw() Withdraw() 17 Inheritance Classes inherit the attributes and operations of their parents i.e. from the generalization to the specialization Operations and attributes may be re-defined Additional operations or attributes must be defined Operations and attributes may not be removed in the specialization 18

9 Associations: which type? If in doubt use simple association Use aggregation or composition for has a relationships Use inheritance for is a relationships 19 Visibility and Scope... Public Visible to using classes Protected.. # Visible to subclasses Private... - Visible only within this class -size : Rectangle Window -xptr : Xwindow * -visibility : Boolean +Window () +display () : void +hide () : void #attachxwindow (Xwindow * xwin) : void 20

10 Finding Classes Study use case descriptions Grammatical analysis Nouns Adjectives Verbs Brainstorm Use CRC cards 21 Example: Scenario From Problem Statement Jim enters a store with the intention of buying a toy for his 3 year old child. Help must be available within less than one minute. The store owner gives advice to the customer. The advice depends on the age range of the child and the attributes of the toy. Jim selects a dangerous toy which is unsuitable for the child. The store owner recommends a more suitable toy - a doll. 22

11 Mapping Parts of Speech to Object Model Components Part of speech Model component Example Proper noun object Jim Smith Improper noun class Toy, doll Doing verb method Buy, recommend being verb inheritance is-a (kind-of) having verb aggregation has an modal verb constraint must be adjective attribute 3 years old transitive verb method enter intransitive verb method (event) depends on 23 Identifying Inappropriate Classes Redundant Vague An event or an operation Meta-language Outside the scope of the system An attribute Only operations are Set() and Get(). 24

12 CRC Card 25 Two OO Design Camps Data driven design Responsibility driven design 26

13 Package It All Up Pack up design into discrete physical units that can be edited, compiled, linked, reused Construct physical modules Ideally use one package for each subsystem System decomposition might not be good for implementation Two design principles for packaging Minimize coupling Maximize cohesiveness 27 UML Packages General mechanism for grouping modeling elements Package owns its contents Defines a nested name space e.g. PackageName::ClassName c.f. Java Style: PackageName.ClassName Elements belong to one and only one Package Packages can be nested. 29

14 Packages with Dependencies Dependencies should be one-way Avoid cyclic dependencies! Less stable components depend on more stable (reusable) ones Packages reflect development responsibility The art of large scale design is minimising dependencies. 30 Summary Class diagrams are the central feature of UML Class diagrams enable us to model objects, classes and associations between classes. At more detailed level you may need to consider special types of association like aggregation and composition Inheritance is an especially important type of association Finding classes is difficult - techniques like noun identification and CRC cards are helpful 32

11 November 2015. www.isbe.tue.nl. www.isbe.tue.nl

11 November 2015. www.isbe.tue.nl. www.isbe.tue.nl UML Class Diagrams 11 November 2015 UML Class Diagrams The class diagram provides a static structure of all the classes that exist within the system. Classes are arranged in hierarchies sharing common

More information

History OOP languages Year Language 1967 Simula-67 1983 Smalltalk

History OOP languages Year Language 1967 Simula-67 1983 Smalltalk History OOP languages Intro 1 Year Language reported dates vary for some languages... design Vs delievered 1957 Fortran High level programming language 1958 Lisp 1959 Cobol 1960 Algol Structured Programming

More information

Structural Modeling and Analysis

Structural Modeling and Analysis Chapter 2: Structural Modeling and Analysis 15 Chapter 2 Structural Modeling and Analysis Overview Structural modeling is concerned with describing things in a system and how these things are related to

More information

Chapter 13 - Inheritance

Chapter 13 - Inheritance Goals Chapter 13 - Inheritance To learn about inheritance To understand how to inherit and override superclass methods To be able to invoke superclass constructors To learn about protected and package

More information

CHAPTER 1 Introduction

CHAPTER 1 Introduction CHAPTER 1 Introduction Software Engineering Why & What Product & Process Correctness & Traceability Software Process Activities Waterfall Iterative & Incremental Development Sample Processes + Unified

More information

The UML Class Diagram

The UML Class Diagram The UML Class Diagram Is a static diagram (describes system structure) Combines a number of model elements: Classes Attributes Operations (methods) Associations Aggregations Compositions Generalisations

More information

Object Oriented Software Models

Object Oriented Software Models Software Engineering CSC 342/ Dr Ghazy Assassa Page 1 Object Oriented Software Models Use case diagram and use case description 1. Draw a use case diagram for a student-course-registration system. Show

More information

LAB 3: Introduction to Domain Modeling and Class Diagram

LAB 3: Introduction to Domain Modeling and Class Diagram LAB 3: Introduction to Domain Modeling and Class Diagram OBJECTIVES Use the UML notation to represent classes and their properties. Perform domain analysis to develop domain class models. Model the structural

More information

Chapter 5: Requirements Analysis and Validation Organizational Requirements Engineering

Chapter 5: Requirements Analysis and Validation Organizational Requirements Engineering Chapter 5: Requirements Analysis and Validation Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Introduction to Requirements Analysis Class and Object Identification

More information

ATM Case Study OBJECTIVES. 2005 Pearson Education, Inc. All rights reserved. 2005 Pearson Education, Inc. All rights reserved.

ATM Case Study OBJECTIVES. 2005 Pearson Education, Inc. All rights reserved. 2005 Pearson Education, Inc. All rights reserved. 1 ATM Case Study 2 OBJECTIVES.. 3 2 Requirements 2.9 (Optional) Software Engineering Case Study: Examining the Requirements Document 4 Object-oriented design (OOD) process using UML Chapters 3 to 8, 10

More information

Java: overview by example

Java: overview by example Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer Java: overview by example Bank Account A Bank Account maintain a balance (in CHF) of the total amount of money balance can go

More information

How To Understand The Purpose Of A Class Diagram In Java.Io 2.5.2.2 (Java)

How To Understand The Purpose Of A Class Diagram In Java.Io 2.5.2.2 (Java) Software Engineering I (02161) Week 3: Class diagrams part 1 Hubert Baumeister Informatics and Mathematical Modelling Technical University of Denmark Spring 2009 c 2009 H. Baumeister (IMM) Software Engineering

More information

Object Oriented Design

Object Oriented Design Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and

More information

An Introduction To UML Class Diagrams Classes

An Introduction To UML Class Diagrams Classes An Introduction To UML Class Diagrams Classes 1. Represent a user-created or defined data type a. they are an abstract data type (ADT) b. they implement data hiding and encapsulation c. they establish

More information

UML basics. Part III: The class diagram. by Donald Bell IBM Global Services

UML basics. Part III: The class diagram. by Donald Bell IBM Global Services Copyright Rational Software 2003 http://www.therationaledge.com/content/nov_03/t_modelinguml_db.jsp UML basics Part III: The class diagram by Donald Bell IBM Global Services In June 2003, I began a series

More information

Lectures 2 & 3: Introduction to Modeling & UML. Getting started

Lectures 2 & 3: Introduction to Modeling & UML. Getting started Lectures 2 & 3: Introduction to Modeling & UML Why Build Models? What types of Models to build Intro to UML Class Diagrams Relationship between UML and program code Uses of UML 202 Steve Easterbrook. This

More information

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)

More information

How To Design Software

How To Design Software The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program Last Time The design process and design methods Design strategies

More information

D06 PROGRAMMING with JAVA

D06 PROGRAMMING with JAVA Cicles Formatius de Grau Superior Desenvolupament d Aplicacions Informàtiques D06 PROGRAMMING with JAVA Ch13 Inheritance PowerPoint presentation, created by Angel A. Juan - ajuanp(@)gmail.com, for accompanying

More information

III. Class and Object Diagrams

III. Class and Object Diagrams III. Class and Object Diagrams Classes, Attributes and Operations Objects and Multi-objects Generalization and Inheritance Associations and Multiplicity Aggregation and Composition Business Objects and

More information

Lecture 12: Entity Relationship Modelling

Lecture 12: Entity Relationship Modelling Lecture 12: Entity Relationship Modelling The Entity-Relationship Model Entities Relationships Attributes Constraining the instances Cardinalities Identifiers Generalization 2004-5 Steve Easterbrook. This

More information

Using UML Part One Structural Modeling Diagrams

Using UML Part One Structural Modeling Diagrams UML Tutorials Using UML Part One Structural Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,

More information

Design and UML Class Diagrams

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

More information

Abstract Classes. Suppose we want write a program that manipulates various types of bank accounts. An Account typically has following features;

Abstract Classes. Suppose we want write a program that manipulates various types of bank accounts. An Account typically has following features; Abstract Classes Suppose we want write a program that manipulates various types of bank accounts. An Account typically has following features; Name, AccountNumber, Balance. Following operations can be

More information

Software Development: An Introduction

Software Development: An Introduction Software Development: An Introduction Fact: Software is hard. Imagine the difficulty of producing Windows 2000 29 million lines of code 480,000 pages of listing if printed a stack of paper 161 feet high

More information

Object Oriented Analysis and Design and Software Development Process Phases

Object Oriented Analysis and Design and Software Development Process Phases Object Oriented Analysis and Design and Software Development Process Phases 28 pages Why object oriented? Because of growing complexity! How do we deal with it? 1. Divide and conquer 2. Iterate and increment

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

Entity-Relationship Model. Purpose of E/R Model. Entity Sets

Entity-Relationship Model. Purpose of E/R Model. Entity Sets Entity-Relationship Model Diagrams Class hierarchies Weak entity sets 1 Purpose of E/R Model The E/R model allows us to sketch the design of a database informally. Designs are pictures called entityrelationship

More information

Construction Principles and Design Patterns. Flyweight, Bridge, Builder

Construction Principles and Design Patterns. Flyweight, Bridge, Builder Construction Principles and Design Patterns Flyweight, Bridge, Builder 1 The Flyweight Design Pattern: Structure Use: To avoid employing a large number of objects with similar state When objects with intrinsic

More information

USING UML FOR OBJECT-RELATIONAL DATABASE SYSTEMS DEVELOPMENT: A FRAMEWORK

USING UML FOR OBJECT-RELATIONAL DATABASE SYSTEMS DEVELOPMENT: A FRAMEWORK USING UML FOR OBJECT-RELATIONAL DATABASE SYSTEMS DEVELOPMENT: A FRAMEWORK Ming Wang, California State University, ming.wang@calstatela.edu ABSTRACT Data model of object-relational databases (ORDBs) is

More information

III. Class and Object Diagrams

III. Class and Object Diagrams III. Class and Object Diagrams Classes, Attributes and Operations Objects and Multi-objects Generalization and Inheritance Associations and Multiplicity Aggregation and Composition How to Use Class Diagrams

More information

Data Modeling Basics

Data Modeling Basics Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy

More information

How to Make a Domain Model. Tutorial

How to Make a Domain Model. Tutorial How to Make a Domain Model Tutorial What is a Domain Model? Illustrates meaningful conceptual classes in problem domain Represents real-world concepts, not software components Software-oriented class diagrams

More information

Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk. COMP 201 web-page: http://www.csc.liv.ac.

Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk. COMP 201 web-page: http://www.csc.liv.ac. 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 18 Introductory Case Study Introduction to UML During

More information

BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Software Engineering 2

BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Software Engineering 2 BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT March 2013 EXAMINERS REPORT Software Engineering 2 General Comments The pass rate this year was significantly better than

More information

Lab Manual: Using Rational Rose

Lab Manual: Using Rational Rose Lab Manual: Using Rational Rose 1. Use Case Diagram Creating actors 1. Right-click on the Use Case View package in the browser to make the shortcut menu visible. 2. Select the New:Actor menu option. A

More information

Design and UML Class Diagrams. Suggested reading: Practical UML: A hands on introduction for developers http://dn.codegear.

Design and UML Class Diagrams. Suggested reading: Practical UML: A hands on introduction for developers http://dn.codegear. Design and UML Class Diagrams Suggested reading: Practical UML: A hands on introduction for developers http://dn.codegear.com/article/31863 UML Distilled Ch. 3, by M. Fowler 1 Big questions What is UML?

More information

CS 111 Classes I 1. Software Organization View to this point:

CS 111 Classes I 1. Software Organization View to this point: CS 111 Classes I 1 Software Organization View to this point: Data Objects and primitive types Primitive types operators (+, /,,*, %). int, float, double, char, boolean Memory location holds the data Objects

More information

Chapter 1 Java Program Design and Development

Chapter 1 Java Program Design and Development presentation slides for JAVA, JAVA, JAVA Object-Oriented Problem Solving Third Edition Ralph Morelli Ralph Walde Trinity College Hartford, CT published by Prentice Hall Java, Java, Java Object Oriented

More information

System Modeling / Class Diagra Diagr m a Week 6

System Modeling / Class Diagra Diagr m a Week 6 System Modeling / Class Diagram Week 6 System modeling Agenda (Lecture) Agenda (Lab) Create CRC cards for your group project Create a system level (analysis level) class diagram (Lab Assignment #6) for

More information

Software Project Management and UML

Software Project Management and UML Software Project Management and UML Ali Bigdelou Computer Aided Medical Procedures (CAMP), Technische Universität München, Germany Outline Intro to Software Project Management Project Requirements Specification

More information

SysML Modelling Language explained

SysML Modelling Language explained Date: 7 th October 2010 Author: Guillaume FINANCE, Objet Direct Analyst & Consultant UML, the standard modelling language used in the field of software engineering, has been tailored to define a modelling

More information

D06 PROGRAMMING with JAVA. Ch3 Implementing Classes

D06 PROGRAMMING with JAVA. Ch3 Implementing Classes Cicles Formatius de Grau Superior Desenvolupament d Aplicacions Informàtiques D06 PROGRAMMING with JAVA Ch3 Implementing Classes PowerPoint presentation, created by Angel A. Juan - ajuanp(@)gmail.com,

More information

Programming Language Constructs as Basis for Software Architectures

Programming Language Constructs as Basis for Software Architectures Programming Language Constructs as Basis for Software Architectures 1 From individual parts to components In the 50s: Machine/Assembler programs: bound to specific hardware In the 60s-70s: Higher programming

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

Masters of Science in Software & Information Systems

Masters of Science in Software & Information Systems Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January

More information

2. Analysis. The goal of this is to understand the problem. The key question is What?.

2. Analysis. The goal of this is to understand the problem. The key question is What?. Objectives: CPS122 Lecture: Class Diagrams in UML Last revised January 31, 2012 1. To introduce UML Class Diagrams 2. To explain the association relationship between objects, adornments possible on such

More information

Database Modelling in UML

Database Modelling in UML Database Modelling in UML By Geoffrey Sparks, sparks@sparxsystems.com.au : http://www.sparxsystems.com.au Originally published in Methods & Tools e-newsletter : http://www.martinig.ch/mt/index.html Introduction

More information

ATM Case Study Part 1

ATM Case Study Part 1 ATM Case Study Part 1 A requirements document specifies the purpose of the ATM system and what it must do. Requirements Document A local bank intends to install a new automated teller machine (ATM) to

More information

Umbrello UML Modeller Handbook

Umbrello UML Modeller Handbook 2 Contents 1 Introduction 7 2 UML Basics 8 2.1 About UML......................................... 8 2.2 UML Elements........................................ 9 2.2.1 Use Case Diagram.................................

More information

Introduction to Object-Oriented Programming

Introduction to Object-Oriented Programming Introduction to Object-Oriented Programming Objects and classes Abstract Data Types (ADT) Encapsulation and information hiding Aggregation Inheritance and polymorphism OOP: Introduction 1 Pure Object-Oriented

More information

Architecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/

Architecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Architecture Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Some slides were adapted from L. Osterweil, B. Meyer, and P. Müller material Reda Bendraou LI386-S1

More information

Inheritance, overloading and overriding

Inheritance, overloading and overriding Inheritance, overloading and overriding Recall with inheritance the behavior and data associated with the child classes are always an extension of the behavior and data associated with the parent class

More information

Requirements engineering

Requirements engineering Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and

More information

Database Design Methodology

Database Design Methodology Database Design Methodology Three phases Database Design Methodology Logical database Physical database Constructing a model of the information used in an enterprise on a specific data model but independent

More information

Graphical Systems Modeling with UML / SysML Class diagrams

Graphical Systems Modeling with UML / SysML Class diagrams Graphical Systems Modeling with UML / SysML Class diagrams Piotr Ciskowski Perspectives - views: architecture class diagram object diagram composite structure diagram package diagram Logical view Use case

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

7 Mutating Object State

7 Mutating Object State Lab 7 c 2009 Felleisen, Proulx, et. al. 7 Mutating Object State Goals Today we touch the void. (Go, see the movie, or read the book, to understand how scary the void can be.) We will focus on the following

More information

Chapter 2: Entity-Relationship Model. Entity Sets. " Example: specific person, company, event, plant

Chapter 2: Entity-Relationship Model. Entity Sets.  Example: specific person, company, event, plant 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

a. Inheritance b. Abstraction 1. Explain the following OOPS concepts with an example

a. Inheritance b. Abstraction 1. Explain the following OOPS concepts with an example 1. Explain the following OOPS concepts with an example a. Inheritance It is the ability to create new classes that contain all the methods and properties of a parent class and additional methods and properties.

More information

Engineering Process Software Qualities Software Architectural Design

Engineering Process Software Qualities Software Architectural Design Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical

More information

Data Analysis 1. SET08104 Database Systems. Copyright @ Napier University

Data Analysis 1. SET08104 Database Systems. Copyright @ Napier University Data Analysis 1 SET08104 Database Systems Copyright @ Napier University Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is a relationship?

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 7: Finding Analysis Classes 1 Analysis Workflow: Analyze a Use Case The analysis workflow consists of the following activities: Architectural analysis

More information

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program.

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Software Testing Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Testing can only reveal the presence of errors and not the

More information

International Journal of Advanced Research in Computer Science and Software Engineering

International Journal of Advanced Research in Computer Science and Software Engineering Volume 3, Issue 3, March 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Coupling and Cohesion

More information

Multichoice Quetions 1. Atributes a. are listed in the second part of the class box b. its time is preceded by a colon. c. its default value is

Multichoice Quetions 1. Atributes a. are listed in the second part of the class box b. its time is preceded by a colon. c. its default value is Multichoice Quetions 1. Atributes a. are listed in the second part of the class box b. its time is preceded by a colon. c. its default value is preceded by an equal sign d. its name has undereline 2. Associations

More information

Domain Modeling. Domain Modeling

Domain Modeling. Domain Modeling Domain Modeling A representation of the conceptual classes in problem domain UML (conceptual) class diagrams What s a conceptual class? What are its attributes? What are description classes? What are inter-class

More information

Modeling with UML. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/

Modeling with UML. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Modeling with UML Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ UML: Static/architecture viewpoint - OO Basics -Class Diagram -Object Diagram - Package Diagram

More information

UML: Classes -- Association

UML: Classes -- Association UML: Classes -- Association Class1 You can indicate that two classes have an association by using a simple line connector. Class2 Web Development for Business 69 UML: Classes -- Association Class1 You

More information

Part 7: Object Oriented Databases

Part 7: Object Oriented Databases Part 7: Object Oriented Databases Junping Sun Database Systems 7-1 Database Model: Object Oriented Database Systems Data Model = Schema + Constraints + Relationships (Operations) A logical organization

More information

Object Oriented Programming. Risk Management

Object Oriented Programming. Risk Management Section V: Object Oriented Programming Risk Management In theory, there is no difference between theory and practice. But, in practice, there is. - Jan van de Snepscheut 427 Chapter 21: Unified Modeling

More information

Chapter 2: Entity-Relationship Model. E-R R Diagrams

Chapter 2: Entity-Relationship Model. E-R R Diagrams Chapter 2: Entity-Relationship Model What s the use of the E-R model? Entity Sets Relationship Sets Design Issues Mapping Constraints Keys E-R Diagram Extended E-R Features Design of an E-R Database Schema

More information

Lecture 7 Notes: Object-Oriented Programming (OOP) and Inheritance

Lecture 7 Notes: Object-Oriented Programming (OOP) and Inheritance Introduction to C++ January 19, 2011 Massachusetts Institute of Technology 6.096 Lecture 7 Notes: Object-Oriented Programming (OOP) and Inheritance We ve already seen how to define composite datatypes

More information

A technical discussion of UML 06/11/03 Relational Modeling with UML

A technical discussion of UML 06/11/03 Relational Modeling with UML A technical discussion of UML 06/11/03 Relational Modeling with UML Davor Gornik Improving software development capability 2 Table of Contents Relational Databases... 1 Core Elements of Relational Modeling...

More information

Unit 2.1. Data Analysis 1 - V2.0 1. Data Analysis 1. Dr Gordon Russell, Copyright @ Napier University

Unit 2.1. Data Analysis 1 - V2.0 1. Data Analysis 1. Dr Gordon Russell, Copyright @ Napier University Data Analysis 1 Unit 2.1 Data Analysis 1 - V2.0 1 Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is a relationship? Entities, attributes,

More information

OOP? What is OOP? Why? OOP in a nutshell. Stéphane Ducasse 2.1

OOP? What is OOP? Why? OOP in a nutshell. Stéphane Ducasse 2.1 OOP? What is OOP? Why? OOP in a nutshell Stéphane Ducasse 2.1 Reality on Software Development Analyze Maintain Design Construct Test What is important? maintainability extensibility understandability Stéphane

More information

Writing Use Case Scenarios for Model Driven Development

Writing Use Case Scenarios for Model Driven Development Writing Use Case Scenarios for Model Driven Development This guide outlines how to use Enterprise Architect to rapidly build Use Cases and increase your productivity through Model Driven Development. Use

More information

CPS211 Lecture: Class Diagrams in UML

CPS211 Lecture: Class Diagrams in UML CPS211 Lecture: Class Diagrams in UML Last revised July 24, 2008 Objectives: 1. To introduce UML Class Diagrams 2. To explain the association relationship between objects, adornments possible on such relationships,

More information

Programming by Contract. Programming by Contract: Motivation. Programming by Contract: Preconditions and Postconditions

Programming by Contract. Programming by Contract: Motivation. Programming by Contract: Preconditions and Postconditions COMP209 Object Oriented Programming Designing Classes 2 Mark Hall Programming by Contract (adapted from slides by Mark Utting) Preconditions Postconditions Class invariants Programming by Contract An agreement

More information

Database Design Overview. Conceptual Design ER Model. Entities and Entity Sets. Entity Set Representation. Keys

Database Design Overview. Conceptual Design ER Model. Entities and Entity Sets. Entity Set Representation. Keys Database Design Overview Conceptual Design. The Entity-Relationship (ER) Model CS430/630 Lecture 12 Conceptual design The Entity-Relationship (ER) Model, UML High-level, close to human thinking Semantic

More information

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements

More information

An Approach towards Automation of Requirements Analysis

An Approach towards Automation of Requirements Analysis An Approach towards Automation of Requirements Analysis Vinay S, Shridhar Aithal, Prashanth Desai Abstract-Application of Natural Language processing to requirements gathering to facilitate automation

More information

CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards

CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards Course Title: TeenCoder: Java Programming Course ISBN: 978 0 9887070 2 3 Course Year: 2015 Note: Citation(s) listed may represent

More information

Moving from CS 61A Scheme to CS 61B Java

Moving from CS 61A Scheme to CS 61B Java Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you

More information

Lesson 8: Introduction to Databases E-R Data Modeling

Lesson 8: Introduction to Databases E-R Data Modeling Lesson 8: Introduction to Databases E-R Data Modeling Contents Introduction to Databases Abstraction, Schemas, and Views Data Models Database Management System (DBMS) Components Entity Relationship Data

More information

SYSML PLUGIN. version 17.0.1. user guide

SYSML PLUGIN. version 17.0.1. user guide SYSML PLUGIN version 17.0.1 user guide No Magic, Inc. 2011 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced by

More information

ICOM 4015: Advanced Programming

ICOM 4015: Advanced Programming ICOM 4015: Advanced Programming Lecture 10 Reading: Chapter Ten: Inheritance Copyright 2009 by John Wiley & Sons. All rights reserved. Chapter 10 Inheritance Chapter Goals To learn about inheritance To

More information

More on Objects and Classes

More on Objects and Classes Software and Programming I More on Objects and Classes Roman Kontchakov Birkbeck, University of London Outline Object References Class Variables and Methods Packages Testing a Class Discovering Classes

More information

1 Class Diagrams and Entity Relationship Diagrams (ERD)

1 Class Diagrams and Entity Relationship Diagrams (ERD) 1 Class Diagrams and Entity Relationship Diagrams (ERD) Class diagrams and ERDs both model the structure of a system. Class diagrams represent the dynamic aspects of a system: both the structural and behavioural

More information

Tutorial - Building a Use Case Diagram

Tutorial - Building a Use Case Diagram Tutorial - Building a Use Case Diagram 1. Introduction A Use Case diagram is a graphical representation of the high-level system scope. It includes use cases, which are pieces of functionality the system

More information

LESSON 12 ALL SAVINGS CHOICES INVOLVE RISK: GRANDMA S GIFT

LESSON 12 ALL SAVINGS CHOICES INVOLVE RISK: GRANDMA S GIFT LESSON 12 ALL SAVINGS CHOICES INVOLVE RISK: GRANDMA S GIFT INTRODUCTION In this lesson, students learn that all savings choices involve risk. Students evaluate various alternatives for saving money. ECONOMICS

More information

Programming and Software Development CTAG Alignments

Programming and Software Development CTAG Alignments Programming and Software Development CTAG Alignments This document contains information about four Career-Technical Articulation Numbers (CTANs) for Programming and Software Development Career-Technical

More information

UML Diagram Types. Use Cases do the Following. Use Case Diagram

UML Diagram Types. Use Cases do the Following. Use Case Diagram UML Diagram Types Dynamic Models activity diagrams statechart diagrams interaction diagrams sequence diagrams collaboration diagrams use case diagrams Structural Models class diagrams object diagrams packages

More information

Building Java Programs

Building Java Programs Building Java Programs Chapter 9 Lecture 9-1: Inheritance reading: 9.1 The software crisis software engineering: The practice of developing, designing, documenting, testing large computer programs. Large-scale

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2004 Vol. 3, No. 3, March-April 2004 Software Product Lines John D. McGregor, Clemson

More information

Communication Diagrams

Communication Diagrams Communication Diagrams Massimo Felici Realizing Use cases in the Design Model 1 Slide 1: Realizing Use cases in the Design Model Use-case driven design is a key theme in a variety of software processes

More information

Programming to Interfaces

Programming to Interfaces Chapter 9 Programming to Interfaces 9.1 Why We Need Specifications 9.2 Java Interfaces 9.2.1 Case Study: Databases 9.3 Inheritance 9.4 Reference Types, Subtypes, and instanceof 9.5 Abstract Classes 9.5.1

More information

How To Draw A Cell Phone Into A Cellphone In Unminimal Diagram (Uml)

How To Draw A Cell Phone Into A Cellphone In Unminimal Diagram (Uml) UML Tutorial: Collaboration Diagrams Robert C. Martin Engineering Notebook Column Nov/Dec, 97 In this column we will explore UML collaboration diagrams. We will investigate how they are drawn, how they

More information

Chap 4. Using Metrics To Manage Software Risks

Chap 4. Using Metrics To Manage Software Risks Chap 4. Using Metrics To Manage Software Risks. Introduction 2. Software Measurement Concepts 3. Case Study: Measuring Maintainability 4. Metrics and Quality . Introduction Definition Measurement is the

More information

3 Pillars of Object-oriented Programming. Industrial Programming Systems Programming & Scripting. Extending the Example.

3 Pillars of Object-oriented Programming. Industrial Programming Systems Programming & Scripting. Extending the Example. Industrial Programming Systems Programming & Scripting Lecture 12: C# Revision 3 Pillars of Object-oriented Programming Encapsulation: each class should be selfcontained to localise changes. Realised through

More information