Database Development Life Cycle
Brief overview
Overview of the DbDLC
Database Application Lifecycle
Database Planning
Focus here is 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. Isnt that extra hesitation the essence of design Gerald Weinberg
Database Application Lifecycle
System Definition
Scope Parameters Application areas User groups
Information Needs/Requirements Analysis
Goal:
to communicate information in ways that are relevant to the recipient group A process of: Discovery Refinement Modelling Specifications
Requirements Discovery Methods
Collecting
facts from existing documentation Research and site visits Questionnaires Interviews Discovery prototyping
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
Goals of Requirements Analysis (contd)
to
identify rules governing the integrity of the data
Database design
The
process of creating a design for a database that will support the enterprises operations and objectives
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
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)
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
requirements, set priorities.
to Avoid Risk: Watch changing business