IS 341
Business Systems Analysis
Chapter 7 - Notes
Structuring System Requirements: Conceptual Data Modeling
The
Second section of the Analysis Phase is Requirements Structuring, which is
itself broken down into two parts:
Process Modeling and Conceptual Data Modeling. Process flows, decision logic, and data model
descriptions of a system must be consistent and complete because each describes
different but complementary views of the same system. This chapter deals with Conceptual Data
Modeling.
I. Conceptual Data Modeling – a representation
of organizational data; shows the definition, structure, and relationships
within the data. Purpose: to show as many Rules about the meaning and
inter-relationships among the data as possible.
Business
Rules – details about the data
Conceptual
Data Model – a detailed model that
shows the overall structure of organizational data while being independent of
any database management system or other implementation considerations.
Data
modeling may be the most important part of analysis for four reasons:
1. Characteristics of Data are crucial in
designing databases, programs, screens, and reports;
2. Data, rather than processes, are the most
complex aspects of most modern systems;
3. The characteristics of Data are permanent (as
opposed to reports or programs which are constantly revised over time);
4. Structural information about data is
essential to generating programs automatically.
A.
The Process of Conceptual Data Modeling – first develop a model of the system
being replaced, if one exists (this is essential!), then develop a new one for
the proposed new system.
B.
Deliverables and Outcomes – the primary deliverable from this section is
the Entity-Relationship Diagram (ERD)
***IMPORTANT:
II. Gathering Information for Conceptual Data
Modeling – the questions asked must relate to understanding the rules and
policies by which the organization operates, i.e., the data model explains what
the organization does and what rules govern how work is performed; you do NOT
need to know how or when data is processed to do data modeling. ***
A.
Top-Down Approach – derives the data model from an intimate
understanding of the nature of the business rather than from forms, reports or
displays; questions are posed in Business terms.
B.
Bottom-Up Approach – information is gathered by reviewing specific
business documents – reports, forms, and displays – which appear as data flows
on DFDs as the data processed by the system.
III. Introduction to Entity-Relationship Modeling
Entity-Relationship
Diagram (ERD) – a detailed, logical, and graphical representation of the
entities, associations, and data elements of an organization or business area.
A.
Entities – anything about which the organization maintains data; represented
by a Rectangle
1. Entity Type (or Class) – a collection of
entities that show common properties or characteristics; described only once in
the data model
2. Entity Instance – a single occurrence of an
entity type/class; occurs as many times as there are entity instances of this
entity type
B.
Attributes – a named property or characteristic of an entity that is of
interest to the organization (NOTE:
relationships may also have characteristics; such a relationships is called
an Associative Entity)
1. Descriptors – any/every/all attribute(s) are
collected for a reason, and therefore provide a description of an entity,
therefore ALL attributes are descriptors
2. Identifiers – an attribute which has a unique
value for each entity, and therefore provides not only description but also
identification; Identifiers are also called Keys
3. (NOTE – NOT IN TEXT) – Domain – the range of
values that an attribute may legitimately assume
C.
Candidate Keys and Identifiers
Keys – an attribute (or combination
of attributes) of an entity which has a Unique value for each entity instance:
1. Candidate Key – any key which may be
considered to be used as THE key used for identification within the system
2. Primary Key (Identifier) – the candidate key
chosen as the identifier for the system
3. Alternate Key – any candidate key not chosen
as the primary key, but which could have been chosen as such
4. Concatenated (Compound/Composite) – key
created by combining two or more attributes
5. Foreign Key – a key in one relation (table)
used as a non-key attribute in another relation (table) for the purpose of
navigating between relations (tables)
Rules
for Selecting Keys:
1.
The value of the key must not change over the entity’s lifetime
2.
The value of the key must be valid
3.
The value must not be Null
4.
Avoid Intelligent Keys
5.
Consider using single-attribute surrogate keys instead of large
composite keys (create a GAME_ID key instead of HOME_TEAM-VISITING_TEAM-DATE)
D.
Multi-valued Attributes – an attribute that may take on more than one
value for each entity instance (this takes us to the first step of
Normalization – covered in Chapter 9)
1. Strong (independent) Entity - one that exists
regardless of the existence of any other Entity; its primary key contains no
attributes making a dependent on any other Entity
2. Weak (dependent/attributive) Entity - and
entity whose existence depends on the existence of other entities
E.
Relationships – associations between the instances of one or more entity
types
IV. Conceptual Data Modeling and the E-R Model
*****Since
the largest expense of any system is the maintenance of the system, we gain
efficiency (lower costs) by maintaining systems at the Rule Level (the data
level, the repository) rather than at the Code Level (the processes, the
programs).
A.
Degree of a Relationship – the number of entities participating in a
given relationship
1. Unary Relationship -
a. Employee - Manages - Employee
b. Person - Is Married To - Person
2. Binary Relationship
a. Employee – Is Assigned –
b. Product Line – Contains - Product
c. Student – Registers For - Course
3. Ternary Relationship
Entities: Vendor, Part, and Warehouse
Relationship: Ships (an Associative Entity)
Attribute of
Relationship: Quantity
The
relationship Ships keeps track of the Quantity of a given Part that is Shipped
from Vendor to Warehouse.
B.
Cardinalities in Relationships – the number of instances of one entity
instance that can (or must) be associated with each instance of another entity
1. Minimum and Maximum Cardinalities – minimum
number of instances of entity B that can/must be associated with each instance
of entity A.
A
Distributor must order a minimum of 6 of an item from the Manufacturer, so the
Minimum Cardinality on an order is 6 for an Order to exist. The Manufacturer has a limit of 4 Vendors for
each item, so the Maximum Cardinality for an Item Venbdor would be 4.
2. Associative Entities - an entity that inherits
its primary key from more than one other Entity (parents)&/or comes about
due to 1:Many or Many:Many relationships; each part of that concatenated key
points to only one instance of each of the connecting entities; this happens
when a Relationship has attributes which cannot be expressed as relating to
either entity alone (e.g., a Grade for a Student in a given Class), so the
Relationship becomes a kind of an entity by virtue of having attributes. An Associative Entity may actually be a
matter of your perspective of the data model – two persons may describe it
differently: one as an Entity, one as an Associative Entity.
C. (NOTE – NOT
IN TEXT) – Views – a particular way of looking at a system design
1. Schema – the Physical view (Computer’s view)
of the system; there is only one (1) schema for any system. The computer is “God”, as it were, and knows
everything about the entire system, what parts/pieces there are, where they are
located, and how they are connected.
2. Subschema – the Logical view (User’s view) of
the system; there may be one (1) or many (more than one) subschemas for a given
system. The user sees only that part of
the system that is relevant to him/her, and has no knowledge of (or access to,
usually) those parts of the system unrelated to him/her.
V. An Example of Conceptual Data Modeling at
Hoosier Burger
VI. Pine Valley Furniture’s WebStore: Conceptual Data Modeling
VII. Selecting the Best Alternative Design
Strategy - Two steps:
1.
Generate as Comprehensive set of alternative design strategies (what is
Comprehensive? How can we accommodate
ALL possible alternatives?);
2.
Select the one most likely to result in the desired information system
given all the organizational/economic/technical constraints (Just what is “the
desired information system”? Desired by
whom? Which requirements are filled and which unfilled?)
Design
Strategy – a particular approach
to developing the system
A.
The Process of Selecting the Best Alternative Design Strategy:
1. Divide requirements into different system
capabilities from bare minimum to most elaborate/advanced; or, alternatively,
represent different positions/requirements of different, conflicting parts of
the organization;
2. List the different potential implementation
environments (hardware, software, networks) that could be used to deliver
different sets of capabilities (choices here may limit development options in
the future! It’s NEVER a good idea to
choose physical models first because that limits the system’s capabilities fro
the start!)
3. Propose different ways to source/acquire the
various sets of capabilities for the different implementation environments.
Analysts
and Management (Steering Committee) may disagree on what is “Best” – get used
to it! The project may very well be
stopped altogether at this point due to considerations of costs/risks vs.
benefits, changing organizational needs, changing priorities of other projects,
or resource constraints.
Ok,
GET REAL!!!!! In most cases it is tough
enough to generate one acceptable, comprehensive plan that covers all
needs/requirements and is within organizational constraints. Three really good alternatives? GOOD LUCK!!!!!
Many
organizations do not have the time/funding/(enter your own favorite constraint)
to allow generation of multiple alternatives.
Most of the time it is the job of the analysts to come up with the
optimal solution at the first attempt, and it better be the right one!
B.
Generating Alternative Design Strategies – many analysts can see the
best solution as an obvious choice, but this reflects experience in the field
and with the organization. The reason
for suggesting three possible solutions is to advance low/medium/high dollar
costs to give the steering committee a choice.
However, all must consider:
1.
Minimum system requirements and mandatory features, such as 1. Data kept in files; 2. System outputs; 3. Analyses to generate the information in the
system outputs; and Expectations of accessibility, response time, or turnaround
time for system functions.
2.
Constraints on system development such as 1. a Date when the new system is required;
2. available financial and human
resources; 3. Elements of the current
systems that cannot be changed; 4.
Importance/Dynamics of the problem that may limit how the system can be
acquired.
VIII. Developing Design Strategies for Hoosier
Burger’s New Inventory Control System
A.
Selecting the most Likely Alternative (for Hoosier Burger)