Download Database Systems and Design

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Oracle Database wikipedia , lookup

Open Database Connectivity wikipedia , lookup

IMDb wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Relational model wikipedia , lookup

Concurrency control wikipedia , lookup

Database wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

ContactPoint wikipedia , lookup

Transcript
Database Development
The Database Application
Lifecycle
A Relational Approach
Broad Goals of Database
Development
Develop a common vocabulary
Define data meaning
Ensure data quality
Provide efficient implementation
Overview of the DbDLC
Database Application Lifecycle
Database Planning
• Focus on management
activities
• Activities include:
– Work to be done
– Resources available
– TORs
– “Surely we can spend a
few minutes before
rushing off to spend our
money or write
programs. Isn’t that
extra hesitation the
essence of design” –
Gerald Weinberg
Database Application Lifecycle
System Definition
•
•
•
•
Scope
Parameters
Application areas
User groups
Primary Education
Application Areas
Facilities
Teaching & Learning
Materials
Teachers
Finance
Learners
What is requirements analysis?
• The process of
defining your
system.
• A process of:
–
–
–
–
Discovery
Refinement
Modelling
Specification
Goals of Requirements Analysis
• to determine the data requirements of the
database in terms of primitive objects
• to classify and describe the information about
these objects
• to identify and classify the relationships among
the objects
• to determine the types of transactions that will
be executed on the database and the
interactions between the data and the
transactions
• to identify rules governing the integrity of the
data
Principles of Analysis
• Understand the problem domain
• Define the software functions to be
performed
• Represent behaviour of software
• Model details of data, information,
controls flows & functional behaviour in a
layered manner
• Move from functions & information outputs
towards processing functions & information
structures
Focus on
PEOPLE
Stakeholders
Focus on
DATA
Focus on
PROCESSES
Focus on
INTERFACES
Building Blocks of An Information system
System owner’s
View of Data
System owner’s
View of
processes
System owner’s
View of interfaces
System
Users
System User’s
View of Data
System users’
View of
processes
System users’
View of interfaces
System
Designers
Designers’ View
of Data
System designers’
View of processes’
System designers’
View of interfaces
System
Builders
System builders’
View of Data
System builders’
View of
processes
System builders’
View of interfaces
System
Owners
Vendors and
Consultants
INFORMATION TECHNOLOGY & ARCHTECTURE
Database Technology. Process Technology. Interface Technology
Focus on
PEOPLE
Stakeholders
Focus on
DATA
Focus on
INTERFACES
Building Blocks of An Information system
System
Owners
Business
Knowledge
System
Users
Data
Requirements
System
Designers
Database Models
System
Builders
Database
Programs
Vendors and
Consultants
Focus on
PROCESSES
Database
Management System
Requirements Discovery
Methods
• Collecting facts from existing
Documentation
• Research and site visits
• Questionnaires
• Interviews
• Discovery prototyping
• Joint Requirements Planning
Database design
• The process of creating a design for a
database that will support the enterprise’s
operations and objectives
Database Design
• Objectives: Develop detailed technical
specifications for hardware, software, data, people
and procedures--How the system will be built
• End Result: Make or Buy? Detailed
file/database design, program specs, interface
design, sizing and response time specs
• Methods: CASE tools, End User Computing
• Skills/Talents Required: Technical
• How to Avoid Risk: Careful check vs.
functional requirements, management review
Database design goals
Satisfy the users’ content requirements
Ensure the consistency and integrity of
data
Provide a natural easy to understand
structuring of information
Satisfy the user’ performance
requirements
Database Design Framework
• Determine the information requirements
• Analyse the real-world objects that you
want to model in the database
• Determine primary key attributes
• Develop a set of rules that govern how each
table is accessed, populated and updated
• Identify relationship between the entities
• Plan database security
Goals for Collecting and Analysing
Data.
• Identify major functions and activities of
your organisation
• Identify the objects of those functions and
activities
• Identify the characteristics of those objects
• Identify certain relationships between the
objects
Students and courses
Identifying entities
•
•
•
•
•
Students
Courses
Instructors
StudentCourses
Advisors
Identifying attributes
• What information on each entity should we know?
•Students(student_id, Fname, lname, phone, advisor_id)
•Advisors(Advisor_id, Advisorname, Advisorphone)
•Instructors(instructor_id, Instructorname, Instructorphone)
•StudentCourses(Student_id, Course_id)
•Courses(Course_id, Coursedescription instructor_id)
DBMS Selection
• The selection of an appropriate DBMS to
support the database application
Factors to consider
•
•
•
•
Performance
Ease of restructuring
Integrity constraints
Security
Development Alternatives
Difficulties
Operational system is produced late
Rush to begin implementation
Requirements are difficult to capture
Alternative methodologies
Spiral approaches
Rapid application development
Prototypes may reduce risk
Prototyping
• building an experimental system (prototype: a
preliminary model) rapidly and inexpensively for
end users to evaluate
• Using the prototype, end users can better
determine information requirements.
• planned iterative process of systems development
• less formal
– requirements determined dynamically as the prototype
is constructed
Prototyping
Determine
Needs
Build
Prototype
Evaluate
Prototype
No
Acceptable
Yes
Prototyping
continued
• advantages
– useful when there is uncertainty about requirements or
design solutions (decision-oriented solutions)
– valuable for the design of the end-user interface
– encouraging intense end-user involvement
• disadvantages
–
–
–
–
only suitable for smaller applications
tending to skip essential steps in systems development
hasty construction
poor documentation
Implementation
• Objectives: Implement system, fully-functional,
deliverables in priority order, with effective training and
conversion
• End Result: Accurately functioning system, properly
trained users
• Methods: CASE tools, EUC
• Skills/Talents Required: Technical, communication
• How to Avoid Risk: Communication! Planning!
Change management! Status reviews and walk-throughs!
Stages of Implementation
•
•
•
•
•
Hardware/Software Acquisition if needed
Programming
Testing (program, subsystem, system tests)
Training (lead users, train the trainer)
Conversion (in order of increasing complexity
and risk)
–
–
–
–
Parallel (old and new systems)
Pilot (small scale, small scope)
Phased (most critical functions first)
Direct Cutover (with manual parallel operations)
Database Maintenance
• Objectives: Fix “bugs” (incorrect program specs or
code) in software, add enhanced functions, cycle back
through SDLC phases as needed for small-scale projects
• End Result: Fully Functional “Robust” System
• Methods: As needed for phases above; audit the
system
• How to Avoid Risk: Watch changing business
requirements, set priorities.