Systems Analysis and Integration

profileiAREduce
w1c4.ppt

CIS320
Systems Analysis and Integration

Week 1 – Domain Modeling

*

Systems Analysis and Design in a Changing World, 6th Edition

*

Chapter 4 Outline

  • Overview
  • This chapter focuses on another key concepts for defining requirements— data entities or domain classes (what need to be remembered!)
  • Outline
  • “Things” in the Problem Domain
  • Data entities
  • Domain classes
  • The Domain Model Class Diagram

Systems Analysis and Design in a Changing World, 6th Edition

*

Systems Analysis and Design in a Changing World, 6th Edition

*

Things in the Problem Domain

  • Problem domain—the specific area (or domain) of the users’ business need that is within the scope of the new system.
  • “Things” are those items users work with when accomplishing tasks that need to be remembered
  • Examples of “Things” are products, sales, shippers, customers, invoices, payments, etc.
  • These “Things” are modeled as domain classes or data entities
  • In this course, we will call them domain classes. In database class you call them data entities

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

Things in the Problem Domain
Two Techniques for Identifying them

  • Brainstorming Technique
  • Use a checklist of all of the usual types of things typically found and brainstorm to identify domain classes of each type
  • Noun Technique
  • Identify all of the nouns that come up when the system is described and determine if each is a domain class, an attribute, or not something we need to remember

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

Brainstorming Technique

  • Are there any tangible things? Are there any organizational units? Sites/locations? Are there incidents or events that need to be recorded?

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

The Noun Technique

  • A technique to identify problem domain classes (things) by finding, classifying, and refining a list of nouns that come up in in discussions or documents
  • Popular technique. Systematic.
  • Does end up with long lists and many nouns that are not things that need to be stored by the system
  • Difficulty identifying synonyms and things that are really attributes
  • Good place to start when there are no users available to help brainstorm

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

Partial List of Nouns for RMO

With notes on whether to include as domain class

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

Details about Domain Classes

  • Attribute— describes one piece of information about each instance of the class
  • Customer has first name, last name, phone number
  • Identifier or key
  • One attribute uniquely identifies an instance of the class. Required for data entities, optional for domain classes. Customer ID identifies a customer
  • Compound attribute
  • Two or more attributes combined into one structure to simplify the model. (E.g., address rather than including number, street, city, state, zip separately). Sometimes an identifier or key is a compound attribute.

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

Attributes and Values

  • Class is a type of thing.
  • Object is a specific instance of the class. Each instance has its own values for an attribute

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

Associations Among Things

  • Association— a naturally occurring relationship between classes (UML term)

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

Minimum and Maximum Multiplicity

  • Associations have minimum and maximum constraints
  • minimum is zero, the association is optional
  • If minimum is at least one, the association is mandatory

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

Types of Associations

  • Binary Association
  • Associations between exactly two different classes
  • Course Section includes Students
  • Members join Club
  • Unary Association (recursive)
  • Associations between two instances of the same class
  • Person married to person
  • Part is made using parts
  • Ternary Association (three)
  • N-ary Association (between n)

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

Semantic Net
Shows instances and how they are linked

Example shows instances of three classes
Quick quiz:

How many associations are there?

What are the minimum and maximum multiplicities in each direction?

What type of associations are they?

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

The Domain Model Class Diagram

  • Class
  • A category of classification used to describe a collection of objects
  • Domain Class
  • Classes that describe objects in the problem domain
  • Class Diagram
  • A UML diagram that shows classes with attributes and associations (plus methods if it models software classes)
  • Domain Model Class Diagram
  • A class diagram that only includes classes from the problem domain, not software classes so no methods

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

Domain Class Notation

  • Domain class has no methods
  • Class name is always capitalized
  • Attribute names are not capitalized and use camelback notation (words run together and second word is capitalized)

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

A Simple Domain Model Class Diagram

  • Note: This diagram matches the semantic net shown previously
  • A customer places zero or more orders
  • An order is placed by exactly one customer
  • An order consists of one or more order items
  • An order item is part of exactly one order

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

UML Notation for Multiplicity

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

More Complex Issues about Classes:
Generalization/Specialization Relationships

  • Generalization/Specialization
  • A hierarchical relationship where subordinate classes are special types of the superior classes. Often called an Inheritance Hierarchy
  • Superclass
  • the superior or more general class in a generalization/specialization hierarchy
  • Subclass
  • the subordinate or more specialized class in a generalization/specialization hierarchy
  • Inheritance
  • the concept that subclasses classes inherit characteristics of the more general superclass

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

Generalization/Specialization
Inheritance for RMO Three Types of Sales

  • Abstract class— a class that allow subclasses to inherit characteristics but never gets instantiated. In Italics (Sale above)
  • Concrete class— a class that can have instances

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

More Complex Issues about Classes:
Whole Part Relationships

  • Whole-part relationship— a relationship between classes where one class is part of or a component portion of another class
  • Aggregation— a whole part relationship where the component part exists separately and can be removed and replaced (UML diamond symbol, next slide)
  • Computer has disk storage devices
  • Car has wheels
  • Composition— a whole part relationship where the parts can no longer be removed (filled in diamond symbol)
  • Hand has fingers
  • Chip has circuits

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

Whole Part Relationships
Computer and its Parts

  • Note: this is composition, with diamond symbol.
  • Whole part can have multiplicity symbols, too (not shown)

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

More on UML Relationships

  • There are actually three types of relationships in class diagrams
  • Association Relationships
  • These are associations discussed previously, just like ERD relationships
  • Whole Part Relationships
  • One class is a component or part of another class
  • Generalizations/Specialization Relationships
  • Inheritance
  • So, try not to confuse relationship with association

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

*

Summary

  • This chapter focuses on modeling functional requirements of “things or items” that need to be remembered!
  • “Things” in the problem domain are identified and modeled, called domain classes or data entities
  • Two techniques for identifying domain classes/data entities are the brainstorming technique and the noun technique
  • Domain classes have attributes and associations
  • Associations are naturally occurring relationships among classes, and associations have minimum and maximum multiplicity
  • There are actually three UML class diagram relationships: association relationships, generalization/specialization (inheritance) relationships, and whole part relationships

Systems Analysis and Design in a Changing World, 6th Edition