Domain Model I. Case requirements. Incremental Development. Lecture 4

Size: px
Start display at page:

Download "Domain Model I. Case requirements. Incremental Development. Lecture 4"

Transcription

1 Domain Model I Lecture 4 Case requirements The requirements for the first iteration of the NextGen POS: Implement a basic, key scenario of the Process use case Implement a Start Up use case as necessary to support the initialization needs of the iteration Nothing fancy or complex is handled No collaboration with external services No complex pricing rules are applied 2 Incremental Development Incremental development for the same use case across iteration A use case or feature is often too complex to complete in one short iteration. Use Case Process Use Case Process Use Case Process Therefore, different parts or scenarios must be allocated to different iterations. Feature: Logging Use Case Process Rentals 3

2 What is a domain model A domain model is a visual representation of conceptual classes or real-situation objects in a domain. Various names conceptual models, domain object models, analysis object models A domain model is illustrated with a set of CLASS DIAGRAMS in which no operations (method signatures) are defined Input Problem Description, Use Cases, Output A set of class diagrams 4 Example concept or domain object s LineItem quantity.. Records-sale-of 0.. Item association Contained-in Stocked-in Store attributes date time 0.. address name Houses Paid-by.. amount Payment Captured-on 4 Register Identifying a rich set of conceptual classes is at the heart of OO analysis 5 Domain models is a visual dictionary Domain model provides a conceptual perspective Domain objects or conceptual classes Associations between conceptual classes Attributes of conceptual classes The information it illustrates could alternatively have been expressed in plain text 6 2

3 Object and Class concepts Object is a thing with unique identity in a problem domain Joe Smith, the University of Sydney, Australia are all objects All objects have identity and are distinguishable Two apples with the same color, shape, and texture are still individual apples Objects are distinguished by their inherent existence and not by descriptive properties that they may have 7 Classes A class describes a group of objects with the same properties, behaviour and possible relationships. An object is an instance of a class Person, University and Country are classes Domain objects are the focus of modelling Why bother with conceptual class? The power of abstraction The level of abstraction is a matter of judgement and is related with the application. Client s description of a future system may have a combination of classes and objects 8 object & class diagram Person JoeSmith : Person MarySharp : Person : Person Class Objects Person -name : string -dob : Date JoeSmith : Person name : string = Joe Smith dob : Date = Oct MarySharp : Person name : string = Mary Sharp dob : Date = March Class with Attributes Objects with Values 9 3

4 Class and conceptual class Domain model is a visualization of things in a real-world domain of interest Domain model should not show software classes avoid datetime sdatabase visualization of a real-world concept in the domain of interest it is a not a picture of a software class software artifact; not part of domain model avoid date time software class; not part of domain model print() 0 Domain model vs. Data model Data model persistent data to be stored somewhere Domain model also include Temporary object Object with no attribute Motivation Help to understand the key concepts in a business or problem domain Lower representational gap with OO Modeling UP Domain Model Stakeholder's view of the noteworthy concepts in the domain. A Payment in the Domain Model is a concept, but a Payment in the Design Model is a software class. They are not the same thing, buttheformerinspired the the naming and definition of the latter. This reduces the representational gap. This is one of the big ideas in object technology. Payment amount Payment amount: Money getbalance(): Money Pays-for date time inspires objects and names in date: Date Pays-for starttime: Time gettotal(): Money... UP Design Model The object-oriented developer has taken inspiration from the real world domain in creating software classes. Therefore, the representational gap between how stakeholders conceive the domain, and its representation in software, has been lowered. 2 4

5 How to create a Domain Model Steps Find the conceptual classes Draw them as classes in a UML class diagram Add associations a o s and attributes 3 Find conceptual classes Three strategies to find conceptual classes Reuse or modify existing models There are published, well-crafted domain models and data models for common domains: inventory, finance, health.. Books: Analysis patterns by Martin Fowler, Data Model Patterns by David Hay, Data Model Resource Book by Len Silverston Use a category list Identify noun phrases 4 Use a category list Use a conceptual class category list: Physical or tangible objects Register, Airplane Specifications, descriptions of things ProductSpecification, FlightDescription Places Store, Airport Transactions, Payment, Reservation etc. (see Table 9. for a fuller list) 5 5

6 Noun Phrase Identification Noun Phrase Identification [Abbot 83] Analyze textual description of the domain Identify nouns and noun phrases (indicate candidate classes, objects or attributes) Caveats: Automatic mapping isn t possible Textual descriptions are ambiguous! (different words may refer to the same class, people may refer to things at different abstract levels: class, object, or somewhere in between) 6 Example: a typical description An institution may issue many credit card accounts, each identified by an account number. Each account serves one or more customers who reside at the mailing address. The institution periodically issues a statement for each account. The statement lists a payment due date, finance charge, and minimum payment. The statement itemizes various transactions that have occurred through the billing interval: cash advances, interest charges, purchases, fees and adjustments to the account. The name of the merchant is associated for each purchase. 7 Mapping parts of speech to object model components MailingAddress CreditCardAccount -maximumcredit -currentbalance -accountnumber Institute Customer Statement -statementdate -paymentduedate -minimumpayment -financecharge Transaction -transactiondate -explanation CashAdvance Interest Purchase Fee Adjustment Merchant -name 8 6

7 Example: find and draw conceptual classes Case study: POS Domain Input fully dressed use case model (excellent textual description of the domain) Iteration-: success (cash-only) scenario of Process use case. Strategy: category list & noun phrase identification There is no such thing as a correct list. It is a somewhat ARBITRARY collection of domain vocabulary that the modelers consider NOTEWORTHY 9 POS Domain model:input 20 Initial POS domain model Register Item Store s LineItem Cashier Customer Ledger Cash Payment Product Catalog Product Description 2 7

8 Agile modeling style It is normal to miss significant conceptual classes during early domain modeling and to discover them later during DESIGN sketching or PROGRAMMING. We can maintain the model by drawing it with a software engineering tool OFTEN, a long-life OO analysis domain model does not add value 22 Include report objects? Receipt is a noteworthy term in POS domain It has duplicate information contained in sale and payment. Guidelines In general, showing a report of other information in a domain model is not useful However, it might has special role in terms of business rules. We might have a reason to show it in the model. 23 Associations Definition An association is a relationship between objects that indicates some meaningful and interesting connection Objects are usually linked by a ( or a number of ) physical or conceptual connections. Casher Joe Smith works on Register 2. Flight QF435 flies from Sydney to Melbourne association Register Records-current 24 8

9 When to show association Associations for which knowledge of the relationship needs to be preserved for some duration In the POS domain We need to remember what slineitem instances are associated with a. Cashier may look up ProductionDescription i during the process of sale, but we do not need to remember who looked up what after the sales has been made. We should avoid showing too many associations 25 Associations and implementation There is no direct relationship between associations and implementation. Associations do not indicate a certain implementation construct. Many associations may be implemented in software differently 26 Association Notation -"reading direction arrow" -it has no meaning except to indicate direction of reading the association label -often excluded Register Records-current association name multiplicity 27 9

10 Naming association Name an association based on a ClassName-VerbPhrase-ClassName format Eg. s paid-by CashPayment Bad alternative: s uses CashPayment Piece is-on Square Bad alternative: Piece has Square 28 Applying UML: multiplicity Multiplicity defines how many instances of a class A can be associated with one instance of class B Store Stocks Item multiplicity of the role 29 Multiplicity values Multiplicity focus on the relationship at a particular moment, rather than over a span of time. Eg. In countries with monogamy laws, a person can be Married-to only one other person at any particular moment, even though over a span of time, that same person may be married to many persons T T T T zero or more; "many" one or more one to 40 exactly 5 3, 5, 8 T exactly 3, 5, or

11 Object diagram may help to determine the multiplicity Country -has capital CipitalCity Class diagram -name -name China : Country -has capital Beijing : CipitalCity name = China name = beijing object diagram France : Country -has capital Paris : CipitalCity name name 3 Object Diagram to Class Diagram Person -owns stock of Company?? Mary : Person -owns stock of GE : Company Sue : Person -owns stock of Jeff : Person IBM : Company 32 Multiple association between two classes Description :Flight QF435 flies from Sydney to Melbourne -fly from -fly from Sydney : City Flight -fly to City QF435 : Flight -fly to Melbourne : City 33

12 Reflexive association A conceptual class may have association with itself Eg. A Directory can contain other directories Eg. A node in a liked list is linked to another node -contains -linked to Directory Node 34 Discussion Question Prepare a class diagram from the object diagram below 35 Find association Use the common associations list A is a physical part of B Square - Board A is a logical part of B slineitem - A uses or submanages B Cashier- Register etc. (see table 9.2 on p. 55 for a fuller list) Omit associations that can be defined in terms of other associations. Multiple paths between classes may indicate redundancy However keep the extra association if multiplicity is important. Keep the extra association if they represent an important relationship in the real world. 36 2

13 The Credit card problem An institution may issue many credit card accounts, each identified by an account number. Each account serves one or more customers who reside at the mailing address. The institution periodically issues a statement for each account. The statement lists a payment due date, finance charge, and minimum payment. The statement itemizes various transactions that have occurred through the billing interval: cash advances, interest charges, purchases, fees and adjustments to the account. The name of the merchant is associated for each purchase. MailingAddress Customer -reside -serve CreditCardAccount -maximumcredit -currentbalance -accountnumber -is issued for Statement -statementdate -paymentduedate -minimumpayment i -financecharge -issue -itemize Institute Transaction -transactiondate -explanation CashAdvance Interest Purchase Fee Adjustment Merchant -name -is made to 37 POS partial domain model Records-sale-of 0.. s LineItem Contained-in.. Ledger Recordsaccountsfor Logscompleted Captured-on 0.. Product Catalog Store Used-by Register Houses.. Contains.. Stocks Product Description Describes Item.. Paid-by Is-for 3 Works-on CashPayment Customer Cashier 38 Attributes An attribute is a logical data value of an object When to show attribute Include attributes that the requirements suggest or imply a need to remember information Eg. needs a datetime attribute Store needs a name and address. 39 3

14 UML notation Attributes are shown in the second compartment of the class box. Type and other information may optionally be shown Derived attribute The total attribute in the can be calculated from other information It is worth noting down. -datetime : Date - / total : Money Math + pi : Real = 3.4 {readonly} Person firstname middlename : [0..] lastname Private visibility attributes Public visibility readonly attribute with initialization Optional value 40 Suitable attribute types Most attribute types should be what are often thought of as primitive data types Relate conceptual classes with an association, not with an attribute Worse Better Worse Cashier name currentregister name Cashier Flight destination not a "data type" attribute Register Uses number destination is a complex concept Better Flight Flies-to Airport 4 Class or Attributes Class or attribute? If we do not think of some conceptual class X as a number or text in the real world, X is probably a conceptual class, not an attributes 42 4

15 Data types as attributes We sometimes represent what may initially be considered a number or string as a new data type class in the domain model We can show the data type only in attribute compartment or as a separate class associated with another class. ItemID Address OK Product Description id Store manufacturercode countrycode street street2 cityname... Product Description OK itemid : ItemID Store address : Address 43 Attributes are NOT foreign keys During implementation, there are many ways to relate objects, including foreign key, but the decision should be deferred till DESIGN stage. Worse Cashier name currentregisternumber a "simple" attribute, but being used as a foreign key to relate to another object Better name Cashier Register Works-on number 44 Description Class What s the rationale for representing the description or specification separately from the item In the following domain model, can you tell the difference between (description, price, itemid) and serial number? Item description price serial number itemid Worse ProductDescription description price itemid Describes Item serial number Better 45 5

16 Description classes When are description classes useful? There needs to be a description about an item or service, independent of the current existence of any examples of those items or services Deleting instances of things they describe results in a loss of information that needs to be maintained, but was incorrectly associated with the deleted things It reduces redundant or duplicated information Flight date number time Flight date time Airport Flies-to Worse name FlightDescription Better Described-by number Describes-flights-to Airport name 46 Iterative and evolutionary domain model Is the domain model correct? There is no such thing as a single correct domain model! Domain model is incrementally evolve over several iterations. In each iteration, the domain model is limited to the prior and current scenarios under consideration. 47 Discussion Question II Prepare a domain model to describe undirected graphs. An undirected graph consists of a set of vertices and a set of edges. Edges connect pairs of vertices. How would you modify the model to describe directed graphs? 48 6

17 Generalization We can identify commonality among concepts and define super class (general concept) and sub class (specialized concept) relationships in a domain model Payment superclass - more general concept these are conceptual classes, not software classes Cash Payment Credit Payment Check Payment subclass -more specialized concept 49 Conceptual super class and sub class 00% rule 00% of the conceptual superclass s definition should be applicable to the subclass. The subclass must conform to 00% of the superclass s Attributes Associations Is-a rule All the instances of a subclass must be instances of their superclasses. 50 Conceptual subclass When to define a conceptual subclass? The subclass has additional attributes of interest The subclass has additional associations of interest The subclass concept is operated on, handled, reacted to, or manipulated differently than the superclass or other subclasss, in a way that are of interest The subclass concept represents an animated thing (for example, animal, robot) that behaves differently than the superclass or other subclasses in a ways that are of interest Customer Correct subclasses. But useful? Male Customer Female Customer 5 7

18 Example subclass partitions Conceptual Subclass Motivation Additional attributes of interest Subclass has additional associations of interests The subclass is operated upon, handled, reacted to, or manipulated differently The subclass concept represents an animated thing that behaves differently than the superclass or other subclasses Examples Book, subclass of LoanableResource, has an ISBN attribute. CreditPayment, subclass of Payment, is associated with a CreditCard class. CreditPayment, subclass of Payment, is handled differently than other kinds of payments in how it is authorized Car, Truck are subclasses of PoweredVehicle, Car behaves differently from Truck 52 When to define a conceptual superclass Create a conceptual superclass in a generalization relationship to subclass when The potential conceptual subclasses represent variations of a similar concept The subclasses will conform to the 00% and Is-a rule All subclasses have the same attribute which can be factored out and expressed in the superclass All subclasses have the same association which can be factored out and related to the superclass 53 Example Transaction -transactiondate -explanation CashAdvance Interest Purchase Fee Adjustment -is made to Merchant -name 54 8

19 Thanks 55 9

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

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

Principles of Software Construction: Objects, Design, and Concurrency. Domain Modeling and Specifying System Behavior. toad

Principles of Software Construction: Objects, Design, and Concurrency. Domain Modeling and Specifying System Behavior. toad Principles of Software Construction: Objects, Design, and Concurrency Domain Modeling and Specifying System Behavior toad Fall 2014 Jonathan Aldrich Charlie Garrod School of Computer Science Administrivia:

More information

Iteration 3 Kick Off, Domain Model Refinement. Curt Clifton Rose-Hulman Institute of Technology

Iteration 3 Kick Off, Domain Model Refinement. Curt Clifton Rose-Hulman Institute of Technology Iteration 3 Kick Off, Domain Model Refinement Curt Clifton Rose-Hulman Institute of Technology 2/3 Course Evaluation Results Lecture Pace 15 10 5 0 Much too slow Somewhat too slow Somewhat too fast Much

More information

Software Development Process

Software Development Process Software Development Process 台 北 科 技 大 學 資 訊 工 程 系 鄭 有 進 教 授 2005 copyright Y C Cheng Software development process Software development process addresses requirements, expectations and realities simultaneously

More information

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6 Use Cases Reference: Craig Larman, Applying UML and Patterns, Ch. 6 Use Case What it is: Text story Widely used to discover and record (mostly functional) requirements What is it about: Some actor(s) using

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 3. Data Analysis and Diagramming

Chapter 3. Data Analysis and Diagramming Chapter 3 Data Analysis and Diagramming Introduction This chapter introduces data analysis and data diagramming. These make one of core skills taught in this course. A big part of any skill is practical

More information

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

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

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

A terminology model approach for defining and managing statistical metadata

A terminology model approach for defining and managing statistical metadata A terminology model approach for defining and managing statistical metadata Comments to : R. Karge (49) 30-6576 2791 mail reinhard.karge@run-software.com Content 1 Introduction... 4 2 Knowledge presentation...

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

Developing Entity Relationship Diagrams (ERDs)

Developing Entity Relationship Diagrams (ERDs) Developing Entity Relationship Diagrams (ERDs) Introduction This document seeks to give expanded explanation and examples of how to produce entity relationship diagrams. It is based on material adapted

More information

Announcements. HW due today, 2 to grade this week Welcome back from Spring Break!

Announcements. HW due today, 2 to grade this week Welcome back from Spring Break! Announcements HW due today, 2 to grade this week Welcome back from Spring Break! Analysis (Domain) Modeling: Introduction Reading: Arlow and Neustadt chaps. 8, 9 (& 7) Also see Larman Chapter 10 (2 nd

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

The Entity-Relationship Model

The Entity-Relationship Model The Entity-Relationship Model 221 After completing this chapter, you should be able to explain the three phases of database design, Why are multiple phases useful? evaluate the significance of the Entity-Relationship

More information

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting Using Use Cases for requirements capture Pete McBreen 1998 McBreen.Consulting petemcbreen@acm.org All rights reserved. You have permission to copy and distribute the document as long as you make no changes

More information

High-level Design. What is software architecture?

High-level Design. What is software architecture? High-level Design Software Architecture What is it? Examples of common architectures Parnas KWIK index example of information hiding Model view controller in high level layered design 1 What is software

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

Object Oriented System Analyze and Design of Revenue Information System using UML

Object Oriented System Analyze and Design of Revenue Information System using UML Object Oriented System Analyze and Design of Revenue Information System using UML Sany Ang Department of Accounting Petra Christian University, Surabaya, Indonesia san_angkasa@yahoo.com and Prof. Dr. Chaiyong

More information

An Approach to Software Architecture Description Using UML

An Approach to Software Architecture Description Using UML An Approach to Software Architecture Description Using UML Henrik Bærbak Christensen, Aino Corry, and Klaus Marius Hansen Department of Computer Science, University of Aarhus Aabogade 34, 8200 Århus N,

More information

BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. September 2013 EXAMINERS REPORT

BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. September 2013 EXAMINERS REPORT BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT September 2013 EXAMINERS REPORT Systems Analysis and Design Section A General Comments Candidates in general

More information

Object-oriented design methodologies

Object-oriented design methodologies Object-oriented design methodologies An object-oriented methodology is defined as the system of principles and procedures applied to object-oriented software development. Five years ago, there was no standard

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

Relational Database Basics Review

Relational Database Basics Review Relational Database Basics Review IT 4153 Advanced Database J.G. Zheng Spring 2012 Overview Database approach Database system Relational model Database development 2 File Processing Approaches Based on

More information

Payment. amount. Payment. amount: Money. getbalance(): Money

Payment. amount. Payment. amount: Money. getbalance(): Money Dpto. de Computación y T.I. Taller de Ingeniería de Software Clase 5 Agenda 1.Exposición por equipos: Diagrama de Clases de Análisis 2. Diagrama de Clases 3.Traducción clases a Esquema Relacional 3. 4.Asignación

More information

Why Data Flow Diagrams?

Why Data Flow Diagrams? Flow Diagrams A structured analysis technique that employs a set of visual representations of the data that moves through the organization, the paths through which the data moves, and the processes that

More information

Chapter 6. Data-Flow Diagrams

Chapter 6. Data-Flow Diagrams Chapter 6. Data-Flow Diagrams Table of Contents Objectives... 1 Introduction to data-flow diagrams... 2 What are data-flow diagrams?... 2 An example data-flow diagram... 2 The benefits of data-flow diagrams...

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

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions Announcements SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 Send your group

More information

Lecture 9: Requirements Modelling

Lecture 9: Requirements Modelling A little refresher: What are we modelling? Lecture 9: Requirements Modelling Requirements; Systems; Systems Thinking Role of Modelling in RE Why modelling is important Limitations of modelling Brief overview

More information

Collated Food Requirements. Received orders. Resolved orders. 4 Check for discrepancies * Unmatched orders

Collated Food Requirements. Received orders. Resolved orders. 4 Check for discrepancies * Unmatched orders Introduction to Data Flow Diagrams What are Data Flow Diagrams? Data Flow Diagrams (DFDs) model that perspective of the system that is most readily understood by users the flow of information around the

More information

Algebra I Notes Relations and Functions Unit 03a

Algebra I Notes Relations and Functions Unit 03a OBJECTIVES: F.IF.A.1 Understand the concept of a function and use function notation. Understand that a function from one set (called the domain) to another set (called the range) assigns to each element

More information

CSCI315 Database Design and Implementation

CSCI315 Database Design and Implementation SCSSE School of Information Technology and Computer Science Family Name... First Name... Student Number... Table Number... CSCI315 Database Design and Implementation This paper is for students studying

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

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

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

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

7 Relations and Functions

7 Relations and Functions 7 Relations and Functions In this section, we introduce the concept of relations and functions. Relations A relation R from a set A to a set B is a set of ordered pairs (a, b), where a is a member of A,

More information

Options. Acquiring an application. Custom development. Off-the-shelf. Trade-off. Outsourcing development

Options. Acquiring an application. Custom development. Off-the-shelf. Trade-off. Outsourcing development University of California at Berkeley School of Information Management and Systems Information Systems 206 Distributed Computing Applications and Infrastructure Acquiring an application by David G. Messerschmitt

More information

CDC UNIFIED PROCESS PRACTICES GUIDE

CDC UNIFIED PROCESS PRACTICES GUIDE Purpose The purpose of this document is to provide guidance on the practice of Modeling and to describe the practice overview, requirements, best practices, activities, and key terms related to these requirements.

More information

TDDC88 Lab 2 Unified Modeling Language (UML)

TDDC88 Lab 2 Unified Modeling Language (UML) TDDC88 Lab 2 Unified Modeling Language (UML) Introduction What is UML? Unified Modeling Language (UML) is a collection of graphical notations, which are defined using a single meta-model. UML can be used

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

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

(Refer Slide Time 00:56)

(Refer Slide Time 00:56) Software Engineering Prof.N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-12 Data Modelling- ER diagrams, Mapping to relational model (Part -II) We will continue

More information

Why & How: Business Data Modelling. It should be a requirement of the job that business analysts document process AND data requirements

Why & How: Business Data Modelling. It should be a requirement of the job that business analysts document process AND data requirements Introduction It should be a requirement of the job that business analysts document process AND data requirements Process create, read, update and delete data they manipulate data. Process that aren t manipulating

More information

BUSINESS RULES AND GAP ANALYSIS

BUSINESS RULES AND GAP ANALYSIS Leading the Evolution WHITE PAPER BUSINESS RULES AND GAP ANALYSIS Discovery and management of business rules avoids business disruptions WHITE PAPER BUSINESS RULES AND GAP ANALYSIS Business Situation More

More information

LECTURE 11: PROCESS MODELING

LECTURE 11: PROCESS MODELING LECTURE 11: PROCESS MODELING Outline Logical modeling of processes Data Flow Diagram Elements Functional decomposition Data Flows Rules and Guidelines Structured Analysis with Use Cases Learning Objectives

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

Software Development Processes. Software Life-Cycle Models

Software Development Processes. Software Life-Cycle Models 1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 4/3/98 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning

More information

Object-Oriented Design. CSE 5236: Mobile Application Development Course Coordinator: Dr. Rajiv Ramnath Instructor: Adam C.

Object-Oriented Design. CSE 5236: Mobile Application Development Course Coordinator: Dr. Rajiv Ramnath Instructor: Adam C. Object-Oriented Design CSE 5236: Mobile Application Development Course Coordinator: Dr. Rajiv Ramnath Instructor: Adam C. Champion Elements of Good Object-Oriented Design Idea: Capture the complexity of

More information

User experience storyboards: Building better UIs with RUP, UML, and use cases

User experience storyboards: Building better UIs with RUP, UML, and use cases Copyright Rational Software 2003 http://www.therationaledge.com/content/nov_03/f_usability_jh.jsp User experience storyboards: Building better UIs with RUP, UML, and use cases by Jim Heumann Requirements

More information

Software Requirement Specification

Software Requirement Specification Software Requirement Specification Software Engineering 1 Requirements Analysis 1 As Marketing requested it. Software Engineering 2 Requirements Analysis 2 As Sales ordered it. Software Engineering 3 Requirements

More information

Chapter 3. Data Flow Diagrams

Chapter 3. Data Flow Diagrams Chapter 3. Data Flow Diagrams Table of Contents Objectives... 1 Introduction to Data Flow Diagrams... 2 What are Data Flow Diagrams?... 2 An example Data Flow Diagram... 2 The benefits of Data Flow Diagrams...

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

6-1. Process Modeling

6-1. Process Modeling 6-1 Process Modeling Key Definitions Process model A formal way of representing how a business system operates Illustrates the activities that are performed and how data moves among them Data flow diagramming

More information

Chapter 1 Lecture Notes: Economics for MBAs and Masters of Finance

Chapter 1 Lecture Notes: Economics for MBAs and Masters of Finance Chapter 1 Lecture Notes: Economics for MBAs and Masters of Finance Morris A. Davis Cambridge University Press stands for Gross Domestic Product. Nominal is the dollar value of all goods and services that

More information

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1 1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 1/10/99 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning

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

Considerations: Mastering Data Modeling for Master Data Domains

Considerations: Mastering Data Modeling for Master Data Domains Considerations: Mastering Data Modeling for Master Data Domains David Loshin President of Knowledge Integrity, Inc. June 2010 Americas Headquarters EMEA Headquarters Asia-Pacific Headquarters 100 California

More information

Decision Making under Uncertainty

Decision Making under Uncertainty 6.825 Techniques in Artificial Intelligence Decision Making under Uncertainty How to make one decision in the face of uncertainty Lecture 19 1 In the next two lectures, we ll look at the question of how

More information

BCS Certificate in Business Analysis Extended Syllabus. Version 2.4 March 2015

BCS Certificate in Business Analysis Extended Syllabus. Version 2.4 March 2015 BCS Certificate in Business Analysis Extended Syllabus Version 2.4 March 2015 http://certifications.bcs.org Change History Any changes made to the syllabus shall be clearly documented with a change history

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

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

A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles

A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles Jørgen Thelin Chief Scientist Cape Clear Software Inc. Abstract The three common software architecture styles

More information

Aerospace Software Engineering

Aerospace Software Engineering 16.35 Aerospace Software Engineering Software Architecture The 4+1 view Patterns Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Why Care About Software Architecture? An architecture provides a vehicle

More information

Model Simulation in Rational Software Architect: Business Process Simulation

Model Simulation in Rational Software Architect: Business Process Simulation Model Simulation in Rational Software Architect: Business Process Simulation Mattias Mohlin Senior Software Architect IBM The BPMN (Business Process Model and Notation) is the industry standard notation

More information

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.) The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling

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

Scheduling Software User s Guide

Scheduling Software User s Guide Scheduling Software User s Guide Revision 1.12 Copyright notice VisualTime is a trademark of Visualtime Corporation. Microsoft Outlook, Active Directory, SQL Server and Exchange are trademarks of Microsoft

More information

Interaction Design. Chapter 5 (June 8th, 2011, 9am-12pm): Sketching Interaction

Interaction Design. Chapter 5 (June 8th, 2011, 9am-12pm): Sketching Interaction Interaction Design Chapter 5 (June 8th, 2011, 9am-12pm): Sketching Interaction LMU München Medieninformatik Alexander Wiethoff + Andreas Butz Interaction Design SS2011 1 Sketching Interaction The Definition

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

Advanced Topics in Software Construction

Advanced Topics in Software Construction Advanced Topics in Software Construction Winter Semester 2009/10 Final Exam (10.02.2010) Please read the exercises carefully. Total time: 90 min. Name Matriculation Number 1 2 3 4 5 12 14 14 12 13 65 Grade

More information

Exploratory Testing in an Agile Context

Exploratory Testing in an Agile Context Exploratory Testing in an Agile Context A guide to using Exploratory Testing on Agile software development teams. Elisabeth Hendrickson 2 Exploratory Testing. So you bang on the keyboard randomly, right?

More information

Scenario-based Requirements Engineering and User-Interface Design

Scenario-based Requirements Engineering and User-Interface Design Scenario-based Requirements Engineering and User-Interface Institut für Computertechnik ICT Institute of Computer Technology Hermann Kaindl Vienna University of Technology, ICT Austria kaindl@ict.tuwien.ac.at

More information

ER modelling, Weak Entities, Class Hierarchies, Aggregation

ER modelling, Weak Entities, Class Hierarchies, Aggregation CS344 Database Management Systems ER modelling, Weak Entities, Class Hierarchies, Aggregation Aug 2 nd - Lecture Notes (Summary) Submitted by - N. Vishnu Teja Saurabh Saxena 09010125 09010145 (Most the

More information

TOGAF 9 Level 1 + 2 Exam Study Guide

TOGAF 9 Level 1 + 2 Exam Study Guide TOGAF 9 Level 1 + 2 Exam Study Guide Created by Nik Ansell http://ae.linkedin.com/in/nikansell Introduction This document was created to help focus the study areas of TOGAF 9 students, studying for the

More information

Foundations of Information Management

Foundations of Information Management Foundations of Information Management - WS 2012/13 - Juniorprofessor Alexander Markowetz Bonn Aachen International Center for Information Technology (B-IT) Data & Databases Data: Simple information Database:

More information

Requirement Analysis & Conceptual Database Design. Problem analysis Entity Relationship notation Integrity constraints Generalization

Requirement Analysis & Conceptual Database Design. Problem analysis Entity Relationship notation Integrity constraints Generalization Requirement Analysis & Conceptual Database Design Problem analysis Entity Relationship notation Integrity constraints Generalization Introduction: Lifecycle Requirement analysis -> Text Conceptual Design

More information

UML for the C programming language.

UML for the C programming language. Functional-based modeling White paper June 2009 UML for the C programming language. Bruce Powel Douglass, PhD, IBM Page 2 Contents 2 Executive summary 3 FunctionalC UML profile 4 Functional development

More information

Entity-Relationship Model

Entity-Relationship Model UNIT -2 Entity-Relationship Model Introduction to ER Model ER model is represents real world situations using concepts, which are commonly used by people. It allows defining a representation of the real

More information

Intermediate PowerPoint

Intermediate PowerPoint Intermediate PowerPoint Charts and Templates By: Jim Waddell Last modified: January 2002 Topics to be covered: Creating Charts 2 Creating the chart. 2 Line Charts and Scatter Plots 4 Making a Line Chart.

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

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

F.IF.7b: Graph Root, Piecewise, Step, & Absolute Value Functions

F.IF.7b: Graph Root, Piecewise, Step, & Absolute Value Functions F.IF.7b: Graph Root, Piecewise, Step, & Absolute Value Functions F.IF.7b: Graph Root, Piecewise, Step, & Absolute Value Functions Analyze functions using different representations. 7. Graph functions expressed

More information

Analysis and Design with UML

Analysis and Design with UML Analysis and Design with UML Page 1 Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process Page 2 What is Visual Modeling? Item Order

More information

Objectives After completion of study of this unit you should be able to:

Objectives After completion of study of this unit you should be able to: Data Flow Diagram Tutorial Objectives After completion of study of this unit you should be able to: Describe the use of data flow diagrams Produce a data flow diagram from a given case study including

More information

CMPSCI611: Approximating MAX-CUT Lecture 20

CMPSCI611: Approximating MAX-CUT Lecture 20 CMPSCI611: Approximating MAX-CUT Lecture 20 For the next two lectures we ll be seeing examples of approximation algorithms for interesting NP-hard problems. Today we consider MAX-CUT, which we proved to

More information

4. Incorporate Lessons Learned with SDLC

4. Incorporate Lessons Learned with SDLC 131 4. Incorporate Lessons Learned with SDLC In today s world, there are lots of Software Development Life Cycle Models. We have seen some of them earlier. We have seen the analytical study of these models

More information

Agile Software Development

Agile Software Development Agile Software Development Lecturer: Raman Ramsin Lecture 13 Refactoring Part 3 1 Dealing with Generalization: Pull Up Constructor Body Pull Up Constructor Body You have constructors on subclasses with

More information

SQL Server Table Design - Best Practices

SQL Server Table Design - Best Practices CwJ Consulting Ltd SQL Server Table Design - Best Practices Author: Andy Hogg Date: 20 th February 2015 Version: 1.11 SQL Server Table Design Best Practices 1 Contents 1. Introduction... 3 What is a table?...

More information

Topic # 08. Structuring System Process Requirements. CIS Life Cycle and Requirements Structuring Stage

Topic # 08. Structuring System Process Requirements. CIS Life Cycle and Requirements Structuring Stage Topic # 08 Structuring System Process Requirements CIS Life Cycle and Requirements Structuring Stage Objectives 1. Data Flow Diagrams 2. Rules and Guidelines to DFD development that lead to accurate and

More information

Process Modeling Notations and Workflow Patterns

Process Modeling Notations and Workflow Patterns Process Modeling Notations and Workflow Patterns Stephen A. White, IBM Corp., United States ABSTRACT The research work of Wil van der Aalst, Arthur ter Hofstede, Bartek Kiepuszewski, and Alistair Barros

More information

Counting Money and Making Change Grade Two

Counting Money and Making Change Grade Two Ohio Standards Connection Number, Number Sense and Operations Benchmark D Determine the value of a collection of coins and dollar bills. Indicator 4 Represent and write the value of money using the sign

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,

More information

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch RUP Design RUP Artifacts and Deliverables RUP Purpose of Analysis & Design To transform the requirements into a design of the system to-be. To evolve a robust architecture for the system. To adapt the

More information

Data Flow Diagrams. Outline. Some Rules for External Entities 1/25/2010. Mechanics

Data Flow Diagrams. Outline. Some Rules for External Entities 1/25/2010. Mechanics Data Flow Diagrams Mechanics Outline DFD symbols External entities (sources and sinks) Data Stores Data Flows Processes Types of diagrams Step by step approach Rules Some Rules for External Entities External

More information

UML TUTORIALS THE USE CASE MODEL

UML TUTORIALS THE USE CASE MODEL UML TUTORIALS THE USE CASE MODEL www.sparxsystems.com.au Sparx Systems 2004 Page 1/5 describes the proposed functionality of the new system. A Use Case represents a discrete unit of interaction between

More information

Bookstore Inventory System Software Design Document. Version 1.0

Bookstore Inventory System Software Design Document. Version 1.0 Bookstore Inventory System Software Design Document Version 1.0 Revision History Date Version Description Author 17 November, 2010 0.1 Initial Draft Gerson Recinos Ho Nam Ho Jimar Miller Adam Wurtzel David

More information