Domain Analysis. SWEN-261 Introduction to Software Engineering. Department of Software Engineering Rochester Institute of Technology.

Similar documents
Defining Project Requirements

Principles of Software Construction: Objects, Design, and Concurrency

SE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example.

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development

Chapter 5: Structural Modeling

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

Branching and Merging

THE ENTITY- RELATIONSHIP (ER) MODEL CHAPTER 7 (6/E) CHAPTER 3 (5/E)

DDD Where s the value and what s in it for me?

Writing Linear Functions

A Data Modeling Process. Determining System Requirements. Planning the Project. Specifying Relationships. Specifying Entities

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

Lecture 8: Use Case -Driven Design. Where UML fits in

Lecture 23: Domain-Driven Design (Part 1)

Four More GRASP Principles CSSE 574: Session 5, Part 2

SWEN 220 Mathematical Models of Software. Entity Relationship Modeling & Diagrams

2009 Shawn A. Bohner. Shawn Bohner Office: Moench Room F212 Phone: (812)

Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time!

Name 8-6A. 1. What type of quadrilateral is shown below? A Rectangle B Trapezoid C Rhombus D Square. 2. What is true about every rhombus?

5 Object Oriented Analysis

Basic Structural Modeling. Copyright Joey Paquet,

System Analysis & design

Lecture Notes. Structured Systems Analysis

Information Technology Audit & Cyber Security

Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel

OBJECT-ORIENTED MODELING AND DESIGN. Domain Analysis

Chapter 5, Analysis: Object Modeling

EXAMINATIONS 2011 END-OF-YEAR. SWEN 102 Introduction to Software Modelling. Question Topic Marks. 1. Use Case Descriptions 30

System Analysis and Design. Data Flow Diagram. System Analysis and Design

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

Design Engineering. Dr. Marouane Kessentini Department of Computer Science

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

User Story Workshop. BA-Squared, LLC

Review Version Control Concepts

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Domain Modeling: Associations and Attributes

Object-Oriented Design and Modeling Using the UML

Smaller, simpler, subcomponent of program Provides abstraction

Object-Oriented Design II - GRASP

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

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

Chapter 4. Enhanced Entity- Relationship Modeling. Enhanced-ER (EER) Model Concepts. Subclasses and Superclasses (1)

Principles of Software Construction: Objects, Design, and Concurrency

Domain Model and Domain Modeling

06. Analysis Modeling

An Introduction to Business Process Modeling using Data Flow Diagrams

Practical UML - A Hands-On Introduction for Developers

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

EmpowHER Brand Standards

Object-Oriented Design I

COIS Databases

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba

System Analysis and Design/ Object-Oriented System Modeling

Collaboration at Scale: Prioritizing a Backlog. 13-Dec-2017

Chapter 6 Structuring System Requirements: Process Modeling 6.1

Data Modeling During System Analysis. Logical Data Model Stages. What is Conceptual Database Design? Gathering Information for Conceptual

Make a Map. 1) Log in to BrainPOP as a student or teacher. 2) Visit a topic page and click the MAKE A MAP button.

Process Modelling. Data flow Diagrams. Process Modelling Data Flow Diagrams. CSE Information Systems 1

ERD Getting Started Guide

Model driven paradigm

Introduction to Software Engineering. ECSE-321 Unit 9 Architectural Design Approaches

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

Mini-Project 1: The Library of Functions and Piecewise-Defined Functions

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

Lecture 13: Analysis Modeling

Domain Modeling. CSSE 574: Week 1, Part 3. Steve Chenoweth Phone: Office (812) Cell (937)

Enhanced Entity-Relationship (EER) Modeling

Object-Oriented Design I - SOLID

Data Flow Diagrams System Analysis ( (

Object-Oriented Systems Development: Using the Unified Modeling Language

Database Applications (15-415)

AN INTRODUCTION TO SCRATCH (2) PROGRAMMING

Algorithms and protocols

OmniJoin.com. Secure web conferencing from Brother

CSE 403 Lecture 8. UML Class Diagrams. Thanks to Marty Stepp, Michael Ernst, and other past instructors of CSE 403

An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs)

Deloitte TMT Predictions 2018

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

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

Object Modeling. Entity-Relationship (ER) diagrams (1976) Object Modelling Technique (OMT) diagrams (1991)

Design and UML Class Diagrams

2

Chapter 5, Object Modeling

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

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

Practical UML : A Hands-On Introduction for Developers

APPROACHES TO IMPLEMENT SEMANTIC SEARCH. Johannes Peter Product Owner / Architect for Search

Class Diagrams in Analysis

Requirements. Chapter Learning objectives of this chapter. 2.2 Definition and syntax

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

MATH 90 CHAPTER 8 Name:.

Fundamentals of Health Workflow Process Analysis and Redesign

Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay

Progress Report. Object-Oriented Software Development: Requirements elicitation and analysis. Object-oriented analysis, design, implementation

Computing Key Skills

Fundamentals of Design, Implementation, and Management Tenth Edition

Getting Started With bluec 802 bluebutler Integration

Object-Oriented Design

OODP Session 4. Web Page: Visiting Hours: Tuesday 17:00 to 19:00

Transcription:

Domain Analysis Die 2 played with Monopoly Game played on Board Count 2 takes turn defines a using location on SWEN-261 Introduction to Software Engineering Player 2..8 represents Piece Character 0..8 is on Property 40 Square Location Utility Jail Department of Software Engineering Rochester Institute of Technology

The domain for a software system defines the context in which the software operates. This is also referred to as the application domain. Retail sales Banking Customer contact management Checkers playing The domain model describes the ubiquitous world in which the system's experts and users exist and work on a daily basis. Domain entities Domain language Associations/relationships between entities 2

Domain analysis provides an understanding of the application problem space. Application Domain What are the entities and associations within this domain? Use the language of the application and user! It does not define the implementation. Domain Model What entities and associations are important for this application? Class Model The domain model influences the naming and structure in the software class model. What software structure and relationships will provide the implementation of this application?

The domain model identifies important aspects of the application not the implementation. Only use vocabulary from the problem statement For example, a unique identifier needed to store data with no meaning to the user would not be in a domain model. Establishes a common understanding of the problem for customer/user and software team

Domain model definition starts with an analysis of the nouns in the domain. The steps in the noun analysis include Identify the nouns in the problem statement and language of the domain experts and users. Identify any words that might be specializations of other nouns. Identify any nouns that might be attributes or properties of other nouns. Identify any other associations between nouns. 5

The domain model is typically drawn using a simplified class diagram notation. Show the following information Domain entities Attributes in domain entities Associations between domain entities Use user vocabulary Attributes do not indicate data type Associations come from the problem statement Place label on the association line Usually completes a phrase between two domain entities: DE 1 association DE 2 (LineItem records-sale-of Product) Indicate multiplicity, if known Use inheritance, if appropriate

An association should describe the relationship between two domain entities. All associations should have an arrow to indicate the direction to read the association. Use the active voice for the verb when possible. An association of "has" or "contains" does not describe much about the relationship. Reverse the direction and rephrase the association Customer is shipping Address has * location for 1

This partial domain model for a game of Monopoly demonstrates these ideas. Die Monopoly Game Board 2 played with played on Count 2 takes turn defines a using location on Player 2..8 represents Piece 0..8 is on 40 Square Character Location Arrows indicate direction for reading the associations. Property Utility Jail

Domain analysis continues through the project. The domain model continues to evolve as you learn more about the project. Working on the project gives you a different understanding of the domain. New features change your understanding of the domain. When user stories are refined during backlog refinement more details may come out about the domain. Keep your domain model up-to-date so that there is always a common understanding between the development team and Product Owners. 9