Download Chapter 9

Document related concepts

Serializability wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Oracle Database wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Open Database Connectivity wikipedia , lookup

IMDb wikipedia , lookup

Ingres (database) wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Concurrency control wikipedia , lookup

Database wikipedia , lookup

Relational model wikipedia , lookup

Clusterpoint wikipedia , lookup

ContactPoint wikipedia , lookup

Database model wikipedia , lookup

Transcript
Chapter 5
Database System
Development Lifecycle
Pearson Education © 2009
Chapter 10 - Objectives
 Main
components of an information system.
 Main
stages of database system development
lifecycle.
 Main
phases of database design: conceptual,
logical, and physical design.
 Benefits
of CASE tools.
Pearson Education © 2009
22
Chapter 10- Objectives
 How
to evaluate and select a DBMS.
 Distinction
between data administration and
database administration.
 Purpose
and tasks associated with data
administration and database administration.
Pearson Education © 2009
32
Software Depression
 Last
few decades have seen proliferation
of software applications, many requiring
constant maintenance involving:
– correcting faults,
– implementing new user requirements,
– modifying software to run on new or upgraded
platforms.
 Effort
spent on maintenance began to absorb
resources at an alarming rate.
Pearson Education © 2009
4
Software Depression
 As
–
–
–
–
–
a result, many major software projects were
late,
over budget,
unreliable,
difficult to maintain,
performed poorly.
 In
late 1960s, led to ‘software crisis’, now refer
to as the ‘software depression’.
Pearson Education © 2009
5
Software Depression
 Major
reasons for failure of software projects
includes:
- lack of a complete requirements specification;
- lack of appropriate development methodology;
- poor decomposition of design into manageable
components.
 Structured
approach to development was
proposed called Information Systems Lifecycle
(ISLC) / Software Development Lifecycle (SDLC)
 Develop database system  Database System
Lifecycle (DBLC)
Pearson Education © 2009
6
Information Systems Lifecycle:
Information System
Resources that enable collection, management,
control, and dissemination of information
throughout an organization.



Computer-based information system includes
Database, database software, application software,
computer hardware and people/personnel.
Database is fundamental component of IS, and its
development/usage should be viewed from perspective
of the wider requirements of the organization.
Lifecycle of an organization’s IS  lifecycle of the
database system
Pearson Education © 2009
7
Database System Development Lifecycle
 Database
 System
planning
definition
 Requirements
 Database
 DBMS
collection and analysis
design
selection (optional)
Pearson Education © 2009
8
Database System Development Lifecycle
 Application
design
 Prototyping
(optional)
 Implementation
 Data
conversion and loading
 Testing
 Operational
maintenance
Pearson Education © 2009
9
Stages of the Database System Development Lifecycle
Pearson Education © 2009
10
Database Planning
 Management
activities that allow stages of
database system development lifecycle to be
realized as efficiently and effectively as
possible.
 Must
be integrated with overall IS strategy of
the organization.
Pearson Education © 2009
11
Database Planning

THREE main issues involved in formulating an IS
strategy:
– Identification of enterprise plans and goals & determine
IS needs
– Evaluation of current IS
– IT opportunities that might yield competitive advantage.

Steps:
– Define the Mission Statement
– Identifying the Mission Objectives
Pearson Education © 2009
12
Database Planning – Mission Statement
 Mission
statement for the database project
defines major aims of database application.
 Those
driving database project normally define
the mission statement.
 Mission
statement helps clarify purpose of the
database project and provides clearer path
towards the efficient and effective creation of
required database system.
Pearson Education © 2009
13
Database Planning – Mission Objectives
 Once
mission statement is defined, mission
objectives are defined.
 Each
objective should identify a particular task
that the database must support.
 May
be accompanied by some additional
information that specifies the work to be done,
the resources with which to do it, and the
money to pay for it all.
Pearson Education © 2009
14
Database Planning – Mission Statement &
Objectives
EXAMPLE:
ShowInfo Mission Statement

The purpose of ShowInfo is to maintain show information, allow users
to indicate their presence at a show and view those attending, and to
facitilitate sharing of concert experiences after the show.
ShowInfo Mission Objectives





ShowInfo must maintain data pertinent to attending concerts.
ShowInfo must allow users to indicate shows that they will/might
attend, as well as shows that they have attended in the past.
ShowInfo must allow users to maintain setl ist and concert photo data.
ShowInfo must create reports of future shows.
ShowInfo must archive data about previous shows.
Pearson Education © 2009
15
Database Planning
 Database
planning should also include development
of standards that govern:
–
–
–
–
how data will be collected,
how the format should be specified,
what necessary documentation will be needed,
how design and implementation should proceed.
Pearson Education © 2009
16
System Definition
 Describes
scope and boundaries of database
system and the major user views.
 Included within the scope and boundary of the
database system are the major user views that
are to be supported by the database
Pearson Education © 2009
17
System Definition: User Views
 Defines
what is required of a database system
from perspective of:
– a particular job role (such as Manager or
Supervisor) or
– enterprise application area (such as
marketing, personnel, or stock control).
Pearson Education © 2009
18
System Definition: User Views
 Database
application may have one or more
user views.
 Identifying
user views helps ensure that no
major users of the database are forgotten when
developing requirements for new system.
 User
views also help in development of complex
database system allowing requirements to be
broken down into manageable pieces.
Pearson Education © 2009
19
System Definition: User Views
 Defines
what is required of a database system
– Data to be held
– Transactions to be performed on the data
 Requirements of a user view
– Distinct to that view
– Overlap with other views
Pearson Education © 2009
20
Representation of a Database System with
Multiple User Views
21
Pearson Education © 2009
Requirements Collection and Analysis
 Process
of collecting and analyzing information
about the part of organization to be supported
by the database system, and using this
information to identify users’ requirements of
new system.
 Involves the collection and analysis of
information  part of enterprise to be served
by the database
Pearson Education © 2009
22
Requirements Collection and Analysis
 Information
is gathered for each major user view
including:
– a description of data used or generated;
– details of how data is to be used/generated;
– any additional requirements for new database
system.
 Information is analyzed to identify requirements
to be included in new database system.
 Described in the requirements specification.
(documents)
 Preliminary stage to database design
Pearson Education © 2009
23
Requirements Collection and Analysis
 Amount
of data gathered:
– Nature of the problem
– Policies of the enterprise
 Information collected  convert to more
structured statement of requirements
 Use: Requirements Specification Techniques
– Structured Analysis and Design (SAD)
– Data Flow Diagram (DFD)
– Hierarchical Input Process Output (HIPO)
Pearson Education © 2009
24
Requirements Collection and Analysis
 Another
important activity is deciding how to
manage the requirements for a database
system with multiple user views.
 Three main approaches:
– centralized approach;
– view integration approach;
– combination of both approaches.
Pearson Education © 2009
25
Requirements Collection and Analysis:
Multiple User Views
 Centralized/One-Shot
approach
– Requirements for each user view are merged
into a single set of requirements.
– A data model is created representing all user
views during the database design stage.
– Preferred when there is significant overlap
in requirements for each user view
Pearson Education © 2009
26
Centralized Approach to Managing
Multiple User Views
Pearson Education © 2009
27
Requirements Collection and Analysis:
Multiple User Views
 View
integration approach
– Requirements for each user view remain as
separate lists.
– Data models representing each user view are
created and then merged later during the
database design stage.
Pearson Education © 2009
28
Requirements Collection and Analysis:
Multiple User Views
 Data
model representing single user view (or a
subset of all user views) is called a local data
model.
 Each
model includes diagrams and
documentation describing requirements for one
or more but not all user views of database.
Pearson Education © 2009
29
Requirements Collection and Analysis:
Multiple User Views
 Local
data models are then merged at a later
stage during database design to produce a global
data model, which represents all user views for
the database.
 Preferred: significant differences between user
views
Pearson Education © 2009
30
View Integration Approach to Managing
Multiple User Views
31
Pearson Education © 2009
Requirements Collection and Analysis:
Multiple User Views
 Combination:
– Use both centralized & view integration approaches
– Example:
» Requirements for two or more user views: merged
using centralized approach  local logical data
model
» The local logical data model merged with other
model using view integration approach  global
logical data model
Pearson Education © 2009
32
Database Design
 Process
of creating a design for a database that
will support the enterprise’s mission statement
and mission objectives for the required
database system.
Pearson Education © 2009
33
Database Design: Approaches
 Main
–
–
–
–
approaches include:
Top-down
Bottom-up
Inside-out
Mixed
Pearson Education © 2009
34
Database Design
 Top-down
–
–
–
–
Suitable for complex databases
Starts with development of data models
ER model
Identify entities  relationship attributes
Pearson Education © 2009
35
Database Design
 Bottom-up
– Begins at the fundamental level of attributes
– Associations between attributes are grouped
into relations that represent types of entities
and relationship between entities
– Appropriate for simple databases with small
number of attributes
Pearson Education © 2009
36
Database Design
 Inside-out
– Related to bottom-up
– Identify major entities  consider other
entities, r/ships & attributes
 Mixed
– Uses both bottom-up & top-down approach
for various parts of the model
– Final  combine all parts
Pearson Education © 2009
37
Database Design: Data Modeling
 Main
purposes of data modeling include:
– to assist in understanding the meaning
(semantics) of the data;
– to facilitate communication about the
information requirements.
 Building
data model requires answering
questions about entities, relationships, and
attributes.
Pearson Education © 2009
38
Database Design

A data model ensures we understand:
– each user’s perspective of the data;
– nature of the data itself, independent of its physical
representations
– use of data across user views.



Can be used to convey the designer’s understanding of
the information requirements of the enterprise
Support communication between users and designers
ER model
Pearson Education © 2009
39
Criteria to Produce an Optimal Data Model
Pearson Education © 2009
40
Database Design
 Three
phases of database design:
– Conceptual database design
– Logical database design
– Physical database design.
Pearson Education © 2009
41
Conceptual Database Design
 Process
of constructing a model of the data
used in an enterprise, independent of all
physical considerations.
 Data model is built using the information in
users’ requirements specification.
 Throughout the process: model is tested and
validated against the user’s requirements.
 Conceptual data model is source of
information for logical design phase.
Pearson Education © 2009
42
Logical Database Design
 Process
of constructing a model of the data
used in an enterprise based on a specific data
model (e.g. relational), but independent of a
particular DBMS and other physical
considerations.
 Conceptual data model is refined and mapped
on to a logical data model.
 Logical data model: based on the target data
model for the database (relational data model,
object oriented, etc)
Pearson Education © 2009
43
Logical Database Design
 Model
tested and validated against the user’s
requirements
– Normalization: test the correctness of a logical data
model
– Ensures the relations derived from data model do
not display data redundancy
– Model should also be examined to ensure it
supports the transactions specified by the users
 Logical
data model: source of information for
physical database design
Pearson Education © 2009
44
Physical Database Design
 Process
of producing a description of the
database implementation on secondary storage.
 Describes
base relations, file organizations, and
indexes used to achieve efficient access to data.
 Also describes any associated integrity
constraints and security measures.
 Tailored
to a specific DBMS system: First
identify the target DBMS
Pearson Education © 2009
45
Physical Database Design
 In
general: describe HOW we intend to
implement the logical database design.
 For relational model:
– Create set of relational tables and constraints on these
tables from the information presented in logical data
model
– Identify specific storage structures and access
methods for the data to achieve optimum
performance for the database system
– Design security protection
Pearson Education © 2009
46
Three-Level ANSI-SPARC Architecture
and Phases of Database Design
Pearson Education © 2009
47
DBMS Selection
 Selection
of an appropriate DBMS to support
the database system.
 Undertaken at any time prior to logical design
provided sufficient information is available
regarding system requirements.
 Select a system that meets the current and
future requirements of the enterprise, balance
against costs.
Pearson Education © 2009
48
DBMS Selection
 Main
steps to selecting a DBMS:
– define Terms of Reference of study
» State the objectives and scope of the study and tasks need to be
undertaken
» Description of the criteria to be used to evaluate the DBMS
» Preliminary list of possible products
» Constraints & timescales for the study
– shortlist two or three products
– evaluate products
– recommend selection and produce report
Pearson Education © 2009
49
DBMS Evaluation Features
Pearson Education © 2009
50
DBMS Evaluation Features
Pearson Education © 2009
51
Example - Evaluation of DBMS Product
Pearson Education © 2009
52
Application Design
 Design
of user interface and application
programs that use and process the database.
 Database
design and application design are
parallel activities.
 Includes
two important activities:
– transaction design;
– user interface design.
Pearson Education © 2009
53
Application Design - Transactions
 An
action, or series of actions, carried out by a
single user or application program, which
accesses or changes content of the database.
 Should
define and document the high-level
characteristics of the transactions required.
Pearson Education © 2009
54
Application Design - Transactions
 Important
–
–
–
–
–
characteristics of transactions:
data to be used by the transaction;
functional characteristics of the transaction;
output of the transaction;
importance to the users;
expected rate of usage.
 Three
main types of transactions: retrieval,
update, and mixed.
Pearson Education © 2009
55
Prototyping
 Building
working model of a database system.
 Purpose
– to identify features of a system that work well,
or are inadequate
– to suggest improvements or even new features
– to clarify the users’ requirements
– to evaluate feasibility of a particular system
design.
Pearson Education © 2009
56
Prototyping
 Requirements
prototyping
– Use prototype to determine requirements
– Requirements complete  prototype discarded
 Evolutionary prototyping
– Same purpose
– Prototype not discarded  further development
becomes working database system
Pearson Education © 2009
57
Implementation
 Physical
realization of the database and application
designs.
– Use DDL to create database schemas and empty
database files.
– Use DDL to create any specified user views.
– Use 3GL or 4GL to create the application
programs. This will include the database
transactions implemented using the DML,
possibly embedded in a host programming
language.
Pearson Education © 2009
58
Data Conversion and Loading
 Transferring
any existing data into new database
and converting any existing applications to run on
new database.
 Only
required when new database system is
replacing an old system.
– DBMS normally has utility that loads existing
files into new database.
 May be possible to convert and use application
programs from old system for use by new system.
Pearson Education © 2009
59
Testing
 Process
of running the database system with the
intent of finding errors.
 Use
carefully planned test strategies and realistic
data.
 Testing cannot show absence of faults; it can show
only that software faults are present.
 Demonstrates that database and application
programs appear to be working according to
requirements.
Pearson Education © 2009
60
Testing
 Should
also test usability of system.
 Evaluation conducted against a usability
specification.
 Examples
of criteria include:
– Learnability – how long does it take a new user to
become productive with the system?
– Performance – How well does the system response match
the user’s work practice?
– Robustness – How tolerant is the system of user error?
Pearson Education © 2009
61
Testing
– Recoverability – How good is the system at recovering
from user errors?
– Adaptability – How closely is the system tied to a single
model of work?
Pearson Education © 2009
62
Operational Maintenance
 Process
of monitoring and maintaining
database system following installation.
 Monitoring
performance of system.
– if performance falls, may require tuning or
reorganization of the database.
 Maintaining and upgrading database
application (when required).
 Incorporating new requirements into database
application.
Pearson Education © 2009
63
CASE (Computer Aided Software
Engineering) Tools
 Support
-
-
provided by CASE tools include:
data dictionary to store information about
database system’s data;
design tools to support data analysis;
tools to permit development of corporate
data model, and conceptual and logical data
models;
tools to enable prototyping of applications.
Pearson Education © 2009
64
CASE Tools

Provide following benefits:
– Standards - enforce standards
– Integration – store all information generated in repository;
possible to store all data  stages of DBLC
– Support for standard methods – simplify the process of
structured techniques  documentation correct, more current
– Consistency – all information in the data dictionary
interrelated CASE tools can check its consistency
– Automation - automatically transform parts of a design
spec into executable codes
Pearson Education © 2009
65
CASE Tools and Database System
Development Lifecycle
Pearson Education © 2009
66
Data Administration and Database
Administration
 The
Data Administrator (DA) and Database
Administrator (DBA) are responsible for
managing and controlling the corporate data
and corporate database, respectively.
 DA
is more concerned with early stages of
database system development lifecycle and
DBA is more concerned with later stages.
Pearson Education © 2009
67
Data Administration
 Management
of data resource including:
– database planning,
– development and maintenance of standards,
policies and procedures, and conceptual and
logical database design.
Pearson Education © 2009
68
Database Administration
 Management
of physical realization of a
database system including:
– physical database design and
implementation,
– setting security and integrity controls,
– monitoring system performance, and
reorganizing the database.
Pearson Education © 2009
69