1/23 Database Development
Download
Report
Transcript 1/23 Database Development
Information Resources
Management
January 23, 2001
Agenda
Administrivia
Development Methodologies
People Involved
Schema Architecture
CASE Tools
Homework #2
Administrivia
Homework #1
Book?
Web Page
Registration
Development Methodologies
Information Engineering
Waterfall Model
RAD Model
Phased (Incremental)
Prototyping
Spiral
Customization
Information Engineering
Data-oriented
Top-down approach
Broad understanding first
Then, specific systems identified
Information systems related to business
objectives
Information Engineering Steps
Planning
Analysis
Design
Implementation
Info. Eng. Planning Phase
Identify strategic planning factors
goals, CSFs, problems
Identify corporate planning objectives
units, locations, functions, types
Develop enterprise model
functions, data, relationships
Waterfall Model (SDLC)
System Developmen Lifecycle
Linear and sequential
“Classical”
Specific, predefined phases
Definite end points for each
Historically, most widely used
Template for other models
Waterfall SDLC
Single system development
Information Engineering or other
approach for overall strategic systems
planning
Waterfall Model
Identification
Initiation
Analysis
Logical Design
Physical Design
Implement
Maintain
Time
Database Lifecycle
1. Enterprise Modeling
2. Conceptual Data Modeling
3. Logical Database Design
4. Physical Database Design and Creation
5. Database Implementation
6. Database Maintenance
Waterfall Model
Enterprise Modeling
Identification
Initiation
Conceptual Data Modeling
Analysis
Logical Data Modeling
Logical Design
Physical Database
Design and Creation
Physical Design
Implement
Database Implementation
Time
Database Maintenance
Maintain
Waterfall Problems
Projects aren’t so sequential
Requirements finalized early
Delay before system delivered
All or nothing
Sequential dependencies create delays
forcing others to wait
RAD Model
Rapid Application Development
Complete Development Approach
“RAD/FAST” or “JAD” Session
“Components”
Fully functional and useful
Completely specified, built and
installed in 60-90 days
Concurrent
RAD Model
Team 3
Team 2
Team 1
Business
Modeling
Business
Modeling
Business
Modeling
Data
Modeling
Data
Modeling
Data
Modeling
Process
Modeling
Process
Modeling
Application
Generation
Process
Modeling
Application
Generation
Testing &
Turnover
Time
Application
Generation
Testing &
Turnover
Testing &
Turnover
RAD Drawbacks
System requires proper “components”
Resources & skills for large number of
teams
High level of user involvement and
commitment required
System performance may suffer
Technical risks dramatically increase
project risks
Phased (Incremental) Model
System is delivered in “increments”
Initial increment is “core product”
Increments larger than RAD system pieces
Focus on specific increment - delay
decisions on future increments
System revised as development
progresses
Sequential
Incremental Model
Analysis Design
Code
Analysis Design
Test
Code
Analysis Design
Deliver #1
Test
Code
Deliver #2
Test
Deliver
#3
Incremental Drawbacks
System must have “increments”
Increments must be useful to users
Overall, longer (much longer)
development time
Business procedure changes with each
increment delivered
Prototyping Model
Geared toward requirement collection,
unfamiliar technology, complex interface
design
Prototype is a way of managing risk as
much as an exploration of new ideas
Listen to
Customer
Customer
Test Drive
Build/
Revise
Prototyping
Prototype: software model of system
Closed-Ended - throwaway
Open-Ended - evolutionary
Explorative - identify requirements
Experimental - try options
“Entire” System
Key elements only
Prototyping Cycle
Time between prototypes
Influences number of prototypes
Shorter time between - more
prototypes
More prototypes (generally) better
product
Company standard of fixed number of
prototypes
Candidates for Prototyping
Dynamic visual displays
Heavy user interaction
Complex algorithms or calculations
Ambiguous or conflicting requirements
Prototyping Considerations
User Resources
Decision Makers
IS Resources - Tools, People
User Understanding of Prototype
Time to completion
Full functionality
Performance requirements
Closed-ended
“Paper Prototype”
Spiral Model
Evolutionary software development
Task Regions
Predefined tasks in each
Multiple passes
Around the spiral
Through each region
Increasing complexity and level of detail
Prototyping usually involved
Spiral Model
Spiral Drawbacks
Unfamiliarity - newer model
Developer training
User training
High user involvement
When do spirals end?
Management and control very important
Risk assessment is critical
Expertise is needed
Methodology Customization
Fit the structure of the solution to the
structure of the problem
Don’t use a hammer to drive in a screw
Customize based on system size or
complexity, development risk, staff and tool
availability, user experience, controls required
and system risk
Customize a single approach
Combine multiple approaches
People Involved
Project manager
Systems analysts & designers
Database analysts & designers
Users
Programmers
Database Administrators (DBAs)
Networking experts
Other technical experts
Project Manager
Assemble project team
Build detailed project plans
Monitor people and plan
Work with other management
Ultimately held responsible for success
of system development project
System Analysts & Designers
Focus on business needs
“Bridge” business and technology
System functions and data
Analyst - “What should be done?”
Designer - “How should it be done?”
Greater technology focus
Database Analysts and
Designers
Focus on business needs
“Bridge” business and technology
Primary focus on data requirements
Analyst - “What data is needed?”
Designer - “How should it be stored?”
Users
Ultimate users of new system
Provide requirements, business needs
Review documentation
Test & accept new system
Train other users
May represent “actual” users
Programmers
Design programs (detailed design)
“Write” programs
Test programs
Write SQL for database access
Database Administrators
Ultimately responsible for databases
current and future
Provide data and modeling expertise
Provide DBMS expertise
Monitor and tune databases
Other Technical Experts
Provide expertise in specified areas
networking
operating systems
hardware
development languages
development methodologies and tools
Database Schema Architecture
Schema - view or model of a database
Different views of same database
Three kinds of schemas
Conceptual
External
Physical
Conceptual Schema
Logical model of database
Data model
Entity-Relationship Diagram
Independent of DBMS
Focus on data and relationships
External Schema
Also, User View
Subset of conceptual schema
data for specific task
specific users
specifc programs
Independent of DBMS
Entity-Relationship Diagram
Physical Schema
Description of how data will actually be
stored
Structure
Data types
Based on conceptual schema
Specific process for conversion
Tied to specific DBMS
Schema Relationships
External
Schema 1
External
Schema 2
Conceptual
Schema
Physical
Schema
External
Schema n
Schema Development
External
Schemas
Conceptual Data Modeling
Enterprise Modeling
Conceptual
Schema
Physical
Schema
Logical Database Design
Physical Database Design
Database Implementation & Maintenance
CASE Tools
Computer-Aided Software Engineering
Computer-Automated?
Features
Types
Repository
Tools
CASE Features
Diagrams
Documentation
Data Dictionary
Team Coordination
Prototyping
Code Generation
Reverse Engineering
CASE Types
Full development - integrated
iCASE
Analysis & Design
upper CASE
Implementation & Maintenance
lower CASE
CASE Repository
Data dictionary - data element
definitions and descriptions
Ensures consistency
Repository is much more
Database with linkages for all system
development products and activities
Integration
Even across different CASE tools
CASE Tools
Visio 2000 - Microsoft
on laptops
Visible Analyst - Visible Systems
ER/Studio - Embarcadero
ERWin - Computer Associates
Oracle Designer - Oracle
Power Designer - Sybase
Homework #2
Database Jobs
Search any source; find 5 jobs
Review requirements
Find your job & review
Table of results
Analyze number and type of jobs and
the knowledge needed