SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
Typically, analysis, development, and database teams work for different business units, and use different design notations. With UML and the Rational Unified Process (RUP), however, they can unify their efforts -- eliminating time-consuming, error-prone translations, and accelerating software to market. In this book, two data modeling specialists from Rational Software Corporation show exactly how to model data with UML and RUP, presenting proven processes and start-to-finish case studies. The book utilizes a running case study to bring together the entire process of data modeling with UML. Each chapter dissects a different stage of the data modeling process, from requirements through implementation. For each stage, the authors cover workflow and participants' roles, key concepts, proven approach, practical design techniques, and more. Along the way, the authors demonstrate how integrating data modeling into a unified software design process not only saves time and money, but gives all team members a far clearer understanding of the impact of potential changes. The book includes a detailed glossary, as well as appendices that present essential Use Case Models and descriptions. For all software team members: managers, team leaders, systems and data analysts, architects, developers, database designers, and others involved in building database applications for the enterprise.
Introduction to UML for Database Design
Foreword.
Preface.
The Approach.
Chapter Summaries.
Acknowledgments.
Why Read This Book?
Who Should Read This Book?
How To Read This Book?
Database Modeling vs. Database Design.
Data Modeling Today.
UML Diagrams for Database Design.
UML Differs From Traditional Database Modeling.
The Case Study.
The Workflow.
The Case Study Status.
The Concepts.
The Approach.
The Design.
The Workflow.
The Case Study Status.
The Concepts.
The Approach.
The Design.
The Workflow.
The Case Study Status.
The Concepts.
The Approach.
The Design.
The Workflow.
The Case Study Status.
The Concepts.
The Approach.
The Design.
The Workflow.
The Case Study Status.
The Concepts.
The Approach.
The Design.
The Workflow.
The Case Study Status.
The Concepts.
The Approach.
The Design.
The Workflow.
The Case Study Status.
The Approach.
The Design.
Organization.
The Business Use Case Models.
The Business Object Models.
The Traditional Conceptual Data Models.
The System Use Case Models.
The Design Models.
The Database Design Models.
For database professionals, this book provides a practical guide to the use of the Unified Modeling Language (UML) for database design. It is intended for those who have to make things happen in the real world; those who have to deliver real systems to meet real business needs. In short, this book is designed for those pragmatic, working database designers who need to get things done.
UML for Database Design addresses the questions most frequently asked of us by database professionals from all over the globe:
We have endeavored to ensure that this book didn't get lost in theory, buried in formalism, or trivialized by unrealistic, contrived examples. Thus, at times we may run contrary to the purists. That's OK. The approach we take is to introduce the use of UML for database design in a stepwise fashion, for each phase of the system development life cycle. We move from business modeling at the beginning of the life cycle to database design at the end. We show how the UML applies to the process and the value it provides to the database designer in each phase. A robust, realistic case study (described in Chapter 2) helps demonstrate how to use the UML and how to handle challenges that you may encounter during your real-world projects.
Chapter 1--Introduction. This chapter indicates who should read this book and why. It describes the basic structure of subsequent chapters and the overall flow of the book.
Chapter 2--Database Design from Requirements to Implementation.This chapter discusses database modeling versus database design, addresses data modeling as it exists today, describes how using the UML differs from traditional techniques, and introduces the case study used throughout the remainder of the book.
Chapter 3--Business Modeling for Database Design. This chapter introduces business modeling and how it, and the UML, can be used for database design. Here is where the conceptual model is established.
Chapter 4--Requirements Definition.This chapter shows how all the artifacts provided by the previous business modeling are used to establish the system requirements.
Chapter 5--Analysis and Preliminary Design.This chapter moves from the realm of business requirements into the logical design of the system and its database.
Chapter 6--Preparing for Transformation to the Database Design Model. This chapter transitions from the logical analysis model to the database design model. This chapter also addresses the issues that arise during the mapping of object models to data models.
Chapter 7--Database Design Models--the UML Profile for Database Design.This chapter introduces the UML Profile for Database Design developed by Rational Software Corporation.
Chapter 8--Implementing the Physical Aspects of the Database.This chapter focuses on the physical component of database design.
Chapter 9--Summary of Using the UML for Database Design.This chapter performs a "postmortem" on how the UML was used in the case study project.
Appendix A--UML Models for EAB Healthcare, Inc.This appendix contains the UML models from the case study project.
Appendix B--Use Case Descriptions.This appendix contains the use case descriptions from the case study project.
We would appreciate your feedback on this book. If you have questions or comments, please feel free to contact us by email at gurus@UMLforDatabaseDesign.com, or visit our website http://www.UMLforDatabaseDesign.com.
Note: Page numbers followed by letters f and t indicate figures and tables, respectively.
A
Access Clinical Records
sequence diagram, 255f
system use case, 61, 64t, 66, 71f
use case description, 266f
use case template, 71f
Accounts Receivable
activity diagram, 34, 35f, 191f
business object model, 198f–201f
business use case, 30, 31f, 60, 60t
Accreditation, sequence diagram, 61, 206f
Activity diagram(s)
Accounts Receivable, 34, 35f, 191f
from business use cases, 32
for class diagram support, 78
Compliance Assessment, 61, 63f, 193f
Compliance Review, 61, 62f, 194f
in current systems comprehension, 23–24
in database implementation, 151
in describing processes, 36
description of, 11
elements of, 21f. See also specific elements
examples of, 22f, 35f
Provide Clinical Care, 33f, 33–34, 196f
purposes of, 18–19
Respond to Inquiry, 197f
sequence diagram vs., 88–89
simulation of, 24
in system use case model transition, 61, 62f, 63f
Transfer Records, 32f, 33, 195f
in use cases, 19
Actor(s)
automating functions of, 61
definition of, 19, 25
symbol for, 19f
in system use cases, 58
Actor generalization(s), 46, 46f, 47f
Administrator
class diagram view, 253f
system use case view, 101, 101f
Admit Prior Resident, sequence diagram, 38–40, 39f, 41f, 86f, 89, 218f
Agents, 236f
Aggregation, definition of, 25, 111
Alternate keys, primary key used instead of, 138–41, 142f
Analysis datatype(s). See Type(s)
Analysis paralysis, 22, 70
ARBackgroundView, 143, 146f
Association(s)
definition of, 25, 110
mapping many-to-many, 106
symbol for, 19
Association class(es)
definition of, 111
in logical models, 106, 107f
mapping, 106
Attribute(s)
columns mapped to, 108–10
derived, 109
of logical models, 7
as primary keys, 115
in tablespaces, 156
transformation of, 114–17
Auditors, 18, 20f, 34, 35, 236f
B
Background (MDS), 114
class, 135–36, 137f
class diagram, 95, 96f
database diagram, 135–36, 137f
primary key, 141, 142f
table, 135–36, 137f, 143, 146f, 164, 165f
tablespace, 164, 165f
Basic Assessment (MDS), 114
class, 136, 138f
class diagram, 95, 96f
database diagram, 136, 138f
primary key, 141, 142f
subtype class, 112
table, 136, 138f, 162, 164f
tablespace, 162, 164f
Best-of-breed solutions
full life-cycle CASE tools vs., 9–10
UML vs., 10
Billing Manager, 34, 35f
Business actor(s)
Agents, 236f
Auditors, 18, 20f, 34, 35, 236f
Care Providers, 237f
Clinical Records User, 66, 67f
definition of, 25
describing, 28–29
diagrams of, 236f–238f
External Facility, 33
External Service Providers, 18, 20f
identifying, 28, 29f
Inquirer, 30
Investigator, 47f, 61
Medical Records Manager, 61
Medical Supply Vendors, 18, 20f
Nurses, 61
other, 238f
perspective of, 28
Physicians, 18, 20f, 29
Residents, 18, 20f, 28
symbol for, 19
system actors transformed from, 57–58, 58t, 61
Time, 66, 67f
Transport Service, 30, 33
Business entities
Care Plan, 68, 68t
Clinical Records, 36, 36f, 44, 44f, 80–84, 83t, 84t, 85f–87f
conceptual data models for, 48f–50f
definition of, 25
Treatment, 68, 68t
Business modeling
completion of, 34, 56
as cooperative effort, 27
for database design, 17–51
definition of, 25
focus of, 26, 67–68
goals of, 27–28
JAD session in, 27
participants' roles in, 72
refining, 27
scenarios in, 82–84, 83t
scope of, 27
sequences vs. system use case model, 73
testing, 82–84
workflow, 17–24
Business object model(s)
Accounts Receivable, 198f–201f
actors' view of, 204f, 224f
Comply with Regulations, 61, 64f, 65t, 202f–213f
in conceptual model development, 44
and database designer, 45, 50, 69
definition of, 25
development of, 36–44, 38f, 40f, 44f
Manage Clinical Records, 36, 38, 38f, 40, 40f, 44f, 80–84, 81f, 82f, 83t, 84f, 214f–221f
MDS view of, 203f
Medical Records Manager view, 216f
modifying, 80–84, 81f, 82f, 84f
perspective of, 34–35
Provide Clinical Care, 222f–231f
Respond to Inquiry, 36f, 232f
in sequence prioritization, 68t
in system use case model transition, 61, 64f
Update Care Plan, 223f
updating, 38, 40, 40f, 44f, 80–84, 81f, 82f, 83t, 84f–87f
for view construction, 79–80
Business Process Reengineering, 27
Business use case (models), 28–34
Accounts Receivable, 30, 31f, 60, 60t
for activity diagram creation, 32
completion, 34, 56
Comply with Regulations, 30, 31f, 60t, 60–62
deferring, 60, 60t
definition of, 25
explanation of, 28
Manage Clinical Records, 30, 31f, 60, 60t, 63–68, 73t
overview, 29f, 29–30
perspective of, 28
prioritizing, 60, 60t, 60–62, 68t
Provide Clinical Care, 30, 60t, 66–68, 68t
Provide Resident Care, 29f, 29–30, 30, 31f, 189f, 190f
refining, 30
Respond to Inquiry, 30, 31f, 36, 36f, 60, 60t, 67–68
scope of, 29–30
in subsystem transformation, 57–58, 58t
symbol for, 19
in system use case model transformation, 58t, 60–69
Business worker(s)
activities transformed to system use cases, 57–58, 58t
Billing Manager, 34, 35f
definition of, 25
Medical Records Manager, 32f, 33, 34, 35f, 66
system actors, transformation to, 57–58, 58t
C
Candidate key(s), definition of, 282
Cardinality, 127, 128f
Care Plan, business entities, 68, 68t
Care Providers, 237f
Check constraint(s), creating, 131, 132, 141, 144f
Class(es)
association, 106, 107f, 111
Background MDS, 135–36, 137f
Basic Assessment MDS, 136, 138f
defining, 112
Full Assessment MDS, 136–38, 139f, 140f
passive, 78
persistent, 111, 133–34
subtype, 25, 106–8, 112
supertype, 25, 106–8
tables created from, 133–46
tables mapped to, 106–8
Class diagram(s)
activity diagram as support for, 78
Administrator view, 253f
in application design, 77
Background MDS, 95, 96f
Basic Assessment MDS, 95, 96f
in change management, 77
Comply with Regulations, 242f–253f
control classes in updating, 90, 91f
in database design, 77
and database designer, 92, 102, 102f
in database implementation, 151
definition of, 25
description of, 11, 35–36, 36f
developing, 79
elaborating, 91
Establish MDS, 93f, 243f
from existing business models, 80
Full Assessment MDS, 95, 96f–99f
initial, 94, 96f
integrating, 103f, 104
MDS, 95, 96f, 247f–250f
normalizing, 111
Nurse view, 245f
in partitioning tables, 151
Security Access, 254f
sequence diagrams for, 78–79
statechart diagrams for support of, 78
system use case model in developing, 79
Transmit MDS, 101, 101f–103f, 251f
in UML, 76–77
updating, 95, 97f–99f
Class model(s). See Class diagram(s)
Clinical Records
business entities, 36, 36f, 44, 44f, 80–84, 83t, 84t, 85f–87f
conceptual data model, 48f, 233f
Clinical Records User, 66, 67f
Close Clinical Records
sequence diagrams, 40, 42f, 220f
use case description, 267f
Column(s)
attributes mapped to, 108–10
definition of, 125
elements of, 131
identity, 131, 133
modeling, 125
Comment(s), 131, 133
Compliance Assessment activity diagram, 61, 63f, 193f
Compliance Review activity diagram, 61, 62f, 194f
Comply with Regulations
business object model, 61, 64f, 65t, 202f–213f
business use case, 30, 31f, 60t, 60–62
class diagram, 242f–253f
database diagram, 257f–264f
sequence diagram, 56, 207f, 244f, 246f, 252f
system use case, 61–63, 64f, 65f, 86, 88f, 239f
Component(s)
databases. See Database (component)
definition of, 154
schemas. See Schema(s)
in storage modeling, 156–59
tablespaces. See Tablespace(s)
Component diagram(s)
in database implementation, 151–52
description of, 11
Composite domain(s), 130–31
Composite index, 141
Conceptual model(s)
for business entities, 48f–50f
business object models in developing, 44
Clinical Records, 48f, 233f
definition of, 282
initial components of, 32, 34
from JAD sessions, 27–28
for miscellaneous data, 235f
for miscellaneous entities, 50f
refining, 58
Schedules and Reports, 49f, 234f
traditional, 47, 48f–50f
Connection, definition of, 154
Constraint(s)
check, 131, 132, 141, 144f
definition of, 131
explanation of, 132
key. See Key(s)
unique, 131, 132
Control class(es)
in class diagram updating, 90
definition of, 78
statechart diagrams for, 90, 92f
Create Clinical Records
system use case, 66
use case description, 268f
D
Data Definition Language (DDL), 113
Data dictionary, definition of, 282
Database(s), definition of, 282
Database (component)
in database modeling, 154
dependency on tablespaces, 159
determining, 170–71
icon for, 159f
MDSDatabases, 170, 171f
modeling, 158–59
Database administrator (DBA)
in database implementation, 149–50
in DBMS selection, 120
Database design
business modeling for, 17–51
class diagrams in, 77
domains in, 116, 129–31
focus of, 8
with logical model basis, 105–6
model-driven development of, 123–24
physical modeling for, 8
preliminary, 75–104
and requirements, 76
and sequence diagrams, 79
traditional, 7
UML for, 2–3, 11, 119–48
Database design model(s), transformation to, 105–18
Database designer
and business object models, 45, 50, 69
in class diagram creation, 102, 102f
in postmortem, 179
and requirements definition, 59
and scope, 66
and system use case models, 69
Database diagram(s)
Background MDS, 135–36, 137f
Basic Assessment MDS, 136, 138f
Comply with Regulations, 257f–264f
definition of, 282
Establish MDS, 258f
Full Assessment MDS, 136–38, 139f, 140f
icons for, 126f
MDS, 139f, 260f–263f
Nurse view, 259f
Transmit MDS, 264f
typing, 122–23
Database implementation (deployment), 149–74
activity diagrams in, 151
class diagrams in, 151
component diagrams in, 151–52
database administrator in, 149–50
deployment diagrams in, 151–52
modeling, importance of, 150
sequence diagrams in, 151
use cases in, 150
Database management system (DBMS), selecting, 120, 157, 159–60
Database modeling
conceptual. See Conceptual model(s)
database components in, 154
diagrams for. See UML diagram(s)
focus of, 7
logical. See Logical model(s)
metadata, 12
physical. See Physical model(s)
reasons for, 123
schemas in, 154
stages of, 5, 176–77
tablespaces in, 154, 161–62, 163f
traditional, 7, 8
traditional vs. UML, 12–14
in understanding business, 23–24
in understanding current systems, 23–24
updating, 87f
usefulness of, 152–53
Database view(s). See View(s)
Datatype(s), definition of, 131, 133
DBA. See Database administrator
DBMS. See Database management system
DDL (Data Definition Language), 113
Decision point(s)
symbol for, 21f
using, 34, 35f
Denormalization
definition of, 282
of physical models, 7
Dependencies
of database components on tablespaces, 159
definition of, 154
explanation of, 154
in storage modeling, 156
symbol for, 19
Deployment (implementation) diagram(s)
in database implementation, 151–52
definition of, 154
description of, 11, 154
elements of, 154
Derived attribute(s), definition of, 109
Destroy Clinical Records
sequence diagram, 40, 43f, 221f
system use case, 66
use case description, 269f
Developer(s), and system use case model, 57
Development cycle, 2
Device(s)
definition of, 154
in storage modeling, 156
Domain(s) (user-defined datatypes)
composite, 130–31
in database design, 116, 129–31
definition of, 125
E
Element(s)
of activity diagrams, 21f
aggregate, 25
of columns, 131
of deployment diagrams, 154
of packages, 122f
stereotyping, 12
of tables, 131, 132f
of UML diagrams, 125
End state(s), symbol for, 21f
Entities. See also Business entities
defining, 112
definition of, 283
making persistent, 113–14
Entity-relationship (ER) diagram(s), definition of, 283
Entity-relationship (ER) notation(s), UML and, 107, 121
Establish Care Plan
sequence diagram, 229f
use case description, 270f
Establish MDS
class diagram, 93f, 243f
database diagram, 258f
sequence diagram, 56, 63, 90f, 164, 166f, 207f, 244f
system use case, 63, 65f, 88–93
use case description, 271f
user view, 89f
Establish Treatment
sequence diagram, 225f
use case description, 272f
Evaluate Eligibility sequence diagram, 199f
Extend(s)
definition of, 56
in use case templates, 70
Extension point(s), definition of, 283
External Facility, 33
External Service Providers, 18, 20f
F
Foreign key(s)
definition of, 125
in logical database models, 115
Full Assessment MDS, 114
class, 136–38, 139f, 140f
class diagram, 95, 96f–99f
database diagram, 136–38, 139f, 140f
primary key, 141, 143f
subtype class, 112
table, 136–38, 139f, 140f, 164
tablespaces, 164, 167f–170f
Full life-cycle CASE tools
best-of-breed solutions vs., 9–10
UML vs., 9–10
G
Generalization(s)
actors, 46, 46f, 47f
definition of, 25, 111
symbol for, 19
Generic (logical) type(s), 110, 116t
H
Hardware, designing with UML, 172
I
Identifying (mandatory) relationship
creating, 127
definition of, 125
explanation of, 126–27
Identity, 131, 133
Implementation diagram(s). See Deployment (implementation) diagram(s)
Include(s)
definition of, 56
in use case templates, 70
Inclusion point(s), definition of, 283
Index
composite, 141
creating, 141, 143f
definition of, 131
explanation of, 133
MDS, 141, 143f
partitioning, 158
tagged values on, 133
Inheritance, definition of, 111
Inquirer, 30
Interaction diagram(s), description of, 11
Investigate Concerns sequence diagram, 61, 208f–210f
Investigator, 47f, 61
Iron Triangle, 53–54
J
Joint Application Development (JAD) session(s), in business modeling, 27–28
K
Key(s)
alternate, 138–41, 142f
candidate, 282
definition of, 131, 132
foreign, 115, 125
primary, 111, 115, 125, 138–41, 142f, 143f
Key migration, definition of, 283
L
Length, definition of, 131, 133
Logical model(s)
application design based on, 105
association classes in, 106, 107f
attributes, 7
composition of, 7
database design based on, 105–6
definition of, 283
entities, 7
foreign keys in, 115
mapping, 106
normalizing, 111
optimizing, 7
and physical model, 7–8
Lower CASE tools, 9
M
Maintain MDS
sequence diagram, 56, 63, 94f, 211f, 246f
system use case, 63, 65f, 93–99
use case description, 273f
Manage Clinical Records
business object model, 36, 38, 38f, 40, 40f, 44f, 80–84, 81f, 82f, 83t, 84f, 214f–221f
business use case, 30, 31f, 60, 60t, 63–68, 73t
sequence diagram, 89
system use case, 63–68, 67f, 73t, 240f
use case description, 274f
Mapping(s)
association classes, 106
attributes to columns, 108–10
classes to tables, 106–8
logical analysis model, 106
managing, 117
&nb