0% found this document useful (0 votes)
6 views15 pages

Chapter 4 Revison

Download as docx, pdf, or txt
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 15

Terms

 Attributes: Descriptive pieces of information about things or objects.


 Identifier or key: An attribute that uniquely identifies a specific thing,
such as an employee number or order number.
 Compound attribute: contains a collection of related attributes, an
analyst may choose one compound attribute to represent all these names.
 Association: A naturally occurring relationship between specific things,
such as “an order is placed by a customer” and “an employee works in the
department”. Is placed by” and “works in” are two associations that
naturally occur between specific things. It is defined by UML. In database
management, the term relationship is used in place of association.
 Cardinality: The number of links that occur. Cardinality can be one-to-one
or one-to-many. For example, a customer may place many different orders,
but an order is placed by only one customer.
 Multiplicity: In UML, it refers to the number of links and used when
discussing models. Multiplicity is established for each direction of
association.
 Multiplicity constraints: The actual numeric count of the constraints on
things (UML objects) allowed in an association.
 Entity-relationship diagram: A diagram consisting of data entities, their
attributes, and their relationships.
 Data entities: The term used in ERD modelling to describe things about
which the system needs to store information.
 Semantic net: A graphical representation of an individual data entity and
its relationship with other individual data entities.
 State: a condition during an objects life when it satisfies some criterion
performs some action or waits for an event.
 Transition: The movement of an object from one state to another state.
 Path: A sequential set of connected states and transitions.

Explain how the concept of “things” in the


problem domain also defines requirements.
The problem domain is the specific area of the user’s business that is included
within the scope of the new business. The new system involves working with and
remembering these “things”.
Domain classes or data entities are what end users deal with when they do their
work – for example, products, sales, shippers, shipments, and customers. These
are often referred to as “things”
Often things are related to the people who interact with the system or to other
stakeholders. The system needs to store “things” related to those who interact
with the system.
There are two techniques for identifying things in the problem domain:
 Brainstorming technique – a technique to identify a problem domain object
in which developers work with users in an open group setting.
 Noun technique - a technique to identify problem domain objects by
finding and classifying the nouns in a dialogue or description.

Identify and analyse data entities and


domain classes needed in the system
QUESTION: WHAT ARE SOME EXAMPLES OF TANGIBLE THINGS IN THE
PROBLEM DOMAIN?
Tangibles are often the most obvious things such as a book or a vehicle. Tangible
items include merchandise items that you can see and touch.
QUESTION: WHAT ARE SOME SITES FOR LOCATIONS IN THE PUBLIC
DOMAIN?
A sight or location could include things such as a warehouse, store, branch office,
retail store or even a desktop.
QUESTION: WHAT ARE SOME ROLES PLAYED BY PEOPLE IN THE PROBLEM
DOMAIN?
An employee, customer, doctor, patient. Roles could also include end user or
system administrator.
The brainstorming technique has the following steps:
 Identify a user in a set of use cases
 Brainstorm with a user to identify things involved when carrying out the
use case. Like which information should be captured by them.
 Use the types of things to systematically ask questions about potential
things, such as: are there any things you store information about? Are
there roles played by people that you need to remember?
 Continue to work with all types of users and stakeholders to expand the
brainstorming lists.
 Merge the results, eliminate any duplicates, and compile an initial list.
The main steps for the noun technique includes:
 Using the use cases, actors, and other information about the system,
including inputs and outputs, identify all nouns.
 Using information from existing systems, current procedures, and current
reports on forms, add items or categories of information needed.
 Some items might be additional things and some more specific pieces of
information called attributes; about things you have already identified.
 Refine the list and then record assumptions or issues to explore.
 Ask these questions about each row to help you decide whether you
should include it.
o Is it a unique thing the system needs to know about?
o Is it inside the scope of the system I am working on?
o Does the system need to remember more than one of these items
 Ask these questions about each noun to decide whether you should
exclude it:
o Is it really a synonym for some other things I have identified?
o Is it just an output of the system produced from other information I
have identified.
o Is it just an input that results in recording some other information I
have identified.
 Ask these questions about each noun to decide if you should research it.
o Is it likely to be a specific piece of information or attribute about
some other thing I have identified.
o Is it something I might need if assumptions change
 Create a master list of all nouns identified and note where each one should
be included, excluded, or researched further.
 Review the list with users, stakeholders, and members and then refine the
list of things in the problem domain.
QUESTION: EXPLAIN WHY IDENTIFYING NOUNS HELPS INDETIFY THINGS
IN THE PROBLEM DOMAIN?
A noun is a person, place, or thing. Identifying nouns helps you identify what
needs to be stored by the system. Nouns used to describe events, use cases, and
the actors are potential “things”
The noun technique differs from the brainstorming technique in that the analyst
list all nouns without thinking about them and talking to users

QUESTION: HOW WOULD YOU DESCRIBE OR NAME THE ASSOCIATION


BETWEEN A SHIP AND A CAPTAIN?
The ship has a captain while a captain has a ship.
QUESTION: WHAT ARE THE THREE TYPES OF ASSOCIATIONS AND WHICH
IS THE MOST COMMONLY USED?
Binary associations: An association between tow different types of things, for
example, a customer and an order.
Unary associations (recursive): An association between two things of the
same type, for example, one organizational unit reports to another organizational
unit.
Ternary associations: an association among three different types of things, for
example, an order is associated with a customer who is associated with a sales
representative.
n-ary association: An association among any number of different types of
things.

QUESTION: WHAT ARE SOME EXAMPLES OF MULTIPLICITY


CONSTRAINTS?
It is important to describe the range of multiplicity (minimum and maximum
multiplicity). For example, a customer might not ever place an order, in this case,
there are zero associations. Another customer might place 1 or, 2 or more
orders. This could mean one or more associations.
These terms are referred to as multiplicity constraints
Read, interpret, and create an entity-
relationship diagram
Read, interpret, and create a domain model
class diagram
A class is a category or classification of a set of objects or things.
Domain classes are classes that describes objects from the problem domain.
A Class diagram is a diagram consisting of classes (i.e. sets of objects) and
associations among the classes.
A domain class diagram is a class diagram that only includes classes from the
problem domain.
Class names and attribute names use camelCase
QUESTION: WHAT DOES A DOMAIN CLASS DIAGRAM SHOW ABOUT
SYSTEM REQUIREMENTS, AND HOW IS IT DIFFERENT FROM AM ERD?
A domain class diagram only includes classes from the problem domain. An ERD
is a diagram consisting of data entities (sets of things) and their relationships.
An association class is an association that is also treated as a class, often
required to capture attributes for the association. A dashed line connects the
association class with the association line between the core section and student
classes.

There are 3 types of relationships found in a class diagram:


1. Association relationships
2. Generalization/ specialization relationships
3. Whole part relationships
Generalization/ specialization is a type of hierarchical relationship where
subordinate classes are subsets of objects of the superior class: an inheritance
hierarchy
It is based on the idea that people classify things in terms of similarities and
differences.
Generalizations are judgements that group similar types of things.
Specializations are judgements that group different types of things.
A generalization / specialization relationship is used to structure or rank these
things from the more general to the more special.
The object-oriented terms it illustrates are inheritance, object orientation, and
encapsulation.
Inheritance is the concept that specialization classes inherit characteristics of
the generalization classes.

A superclass is the superior or more general class. UML class diagram notation
uses a triangle that points to the superclass to show a
generalization/specialization hierarchy
Subclasses are the subordinate or more specialized class.
An abstract class describes a category or set of objects that never includes
individual objects or instances. It exists so subclasses can inherit from it
A concrete class allows individual objects or instances to exist. It contains actual
objects.
QUESTION: WHAT IS A WHOLE PART RELATIONSHIP, AND WHY DOES IT
SHOW MULTIPLICITY?
A whole part relationship between classes has one class that is a part or
component portion of another class.
There are 2 types of whole part relationships:
1. Aggregation: a type of whole part relationship between aggregates and its
components, where the parts can exist separately
2. Composition: A whole part relationship that are even stronger with the
parts, once associated with, can no longer exist separately.
These types of relationships allow the analyst to express distinctions about
associations among classes.
Multiplicity can apply such as when a computer has one or more storage devices.
QUESTION: COMPARE AGGREGATION AND COMPOSITION
Aggregation is a type of whole part relationship in which the component parts
also exist as individual objects apart from the aggregate.
Composition is the type of whole part relationship where the component parts
cannot exist as individual objects apart from the total composition.

QUESTION: WHAT TWO UML DIAGRAMS ARE USED TO MODEL DOMAIN


CLASSES?
A State machine diagram and a problem domain class diagram.
A state machine diagram shows the life of an object in states and transitions. It
can be developed for problem domain classes that have complex behaviour
status conditions that need to be tracked. Not all classes will require state
machine diagram.
Read, interpret, and create a state machine
diagram that models object behaviour

A state machine diagram shows the life of an object in states and transitions.
A state machine diagram is composed of rounded rectangles representing the
states of an object and arrows representing the transitions.
The starting point of a state machine diagram is called the pseudostate
indicated by a black dot. The first shape after the dot is the first state of the
object.
It then transitions to a new state called the transition state - the state to which
an object moves after the completion of a transition.
A transition begins with an arrow from the origin state – the original state of an
object from which the transition occurs.

 Transition name - the name of a message event that triggers the transition
and causes the object to leave the origin state.
 Guard condition – a true / false test to see whether the transition can fire.
 The forward slash divides the firing mechanism from the actions or
processes.
 Action-expressions – indicate some process that must occur before the
transition is completed and the object arrives in the destination state
A composite state is a state containing other states and transitions. It
represents a higher level of abstraction and can contain listed states and
transition parts.
Sometimes an object will be in two states at the same time. For example, a
printer can be on and be printing or on idle.
The condition of being in more than one state at a time is called concurrency or
concurrent states.
When there are several states in a path that are parallel to another state, we say
those are concurrent paths.

Rules for developing state machine diagrams:


1. Review the class diagram and select the classes that might require a state
machine diagram.
2. For each selected class in the group, make a list of all the status conditions
you can identify.
3. Begin building state machine diagram fragments by identifying the
transitions that cause an object to leave the identified state.
4. Sequence these state-transition fragments in the correct order.
5. Review the paths and look for independent, concurrent paths.
6. Look for additional transitions
7. Expand each transition with the appropriate message event, guard-
condition, and action-expression.
8. Review and test each state diagram.

You might also like