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
