Domain Model I. Case requirements. Incremental Development. Lecture 4
|
|
- Ami Floyd
- 7 years ago
- Views:
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 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 informationHow 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 informationPrinciples 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 informationIteration 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 informationSoftware Development Process
Software Development Process 台 北 科 技 大 學 資 訊 工 程 系 鄭 有 進 教 授 2005 copyright Y C Cheng Software development process Software development process addresses requirements, expectations and realities simultaneously
More informationUse 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 informationLAB 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 informationChapter 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 information11 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 informationObject 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 informationDatabase 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 informationA 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 informationChapter 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 informationDeveloping 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 informationAnnouncements. 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 informationCase 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 informationThe 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 informationUsing 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 informationHigh-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 informationData 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 informationObject 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 informationAn 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 informationBCS 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 informationObject-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 informationChapter 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 informationRelational 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 informationPayment. 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 informationWhy 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 informationChapter 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 informationEntity-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 informationAnnouncements. 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 informationLecture 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 informationCollated 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 informationAlgebra 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 informationCSCI315 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 informationChap 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 informationCommunication 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 informationLesson 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 informationObject 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 information7 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 informationOptions. 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 informationCDC 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 informationTDDC88 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 informationTutorial - 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 informationUmbrello 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)
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 informationWhy & 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 informationBUSINESS 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 informationLECTURE 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 informationSoftware 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 informationSoftware 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 informationObject-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 informationUser 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 informationSoftware 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 informationChapter 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 informationOOP? 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 information6-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 informationChapter 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 informationSoftware 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 informationSoftware 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 informationConsiderations: 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 informationDecision 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 informationBCS 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 informationUnit 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 informationUsing 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 informationA 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 informationAerospace 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 informationModel 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 informationThe 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 informationLectures 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 informationScheduling 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 informationInteraction 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 informationLecturer: 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 informationAdvanced 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 informationExploratory 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 informationScenario-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 informationER 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 informationTOGAF 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 informationFoundations 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 informationRequirement 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 informationUML 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 informationEntity-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 informationIntermediate 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 informationData 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 informationLecture 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 informationF.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 informationAnalysis 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 informationObjectives 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 informationCMPSCI611: 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 information4. 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 informationAgile 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 informationSQL 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 informationTopic # 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 informationProcess 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 informationCounting 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 information2. 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 informationRUP 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 informationData 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 informationUML 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 informationBookstore 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