Database System Development Lifecycle Chapter 4 Learning Objectives By the end of this chapter, you should be able to: 1.List the three designs involved in the database design phase; 2.State three important sections in the conceptual design phase; and 3.Explain the purpose of the six phases involved in the database development life cycle. Introduction • Involves the following process: – designing – implementing – organising • A component of information system and is governed by one life cycle called Database Development Life Cycle (DDLC). DDLC • Based on data orientation approach. • The characteristics of data become the basis for designing the database scheme. • All system functions are developed based on the scheme or database structure. • Functions of a system changes according to the requirements of users but the database scheme usually remains stable without major changes. • Life cycle consists of 6 phases. • These phases are iterative processes where each phase may be repeated a number of times in order to obtain a comprehensive feedback, especially from users. 6 phases of DDLC • • • • • • Database Planning Database Design Implementation and Downloading Testing and Evaluation Operation Maintenance and Evolution Database Planning • 3 basic factors that influence activity flow of database planning: – Tasks that need to be carried out. – Existing resources to implement it; and – Finance or allocation provided. • Purpose of planning phase: – – – – – To Analyse the Current Situation of an Organisation Defining Problems and Constraints Defining Objective Defining Scope and Boundary Feasibility Research Database Design • Most important stage in DDLC. • Influences the whole performance of the database being developed. • Purpose of database design: – Represent data and the relationship between data. – Provide a data model to support all required transactions. – To determine that the system design has fulfilled the requirements of users and the system. Activities conducted during DB design • Conceptual Design – Data Modelling – Normalisation – Data Model Validation • Logical Design – Translating each entity, attribute and relationship into a data representation form compatible with a DBMS model. • Physical Design – Involves physical aspects of data saved in storage and the performance of the system. Implementation & Downloading • Developers can choose whether to develop a prototype or the whole actual system. • A prototype is a model that functions like an end system but is not equipped with full features. However, it can be used to test whether the basic functions of the system can be operated as planned • Activities of the implementation phase: – Setting Up a DBMS – Creating a Database – Data Downloading/Changing Testing & Evaluation • Database Testing and Application Procedures – The process of database testing is composed of integration test, unit test and system test. • Database Evaluation – The evaluation to be conducted will be on performance and system security. Operation • Operation phase and support system begins when the system has operated in an actual environment and ends when it is replaced by a new system. • A new system can operate by using several approaches as follows: – – – – Direct Transition Plan Parallel Transition Plan Pioneer Transition Plan Staggered Transition Plan Maintenance & Evolution • Process of monitoring and maintaining the performance of the system and database. • If the system is at an unsatisfactory level, reorganisation and readjustment of the database need to be carried out. • Maintenance must be conducted from time to time for the purposes of: – Correcting errors in the system, system competency and other factors – Changes to the rules and organisational policy. – System needs to be changed or upgraded to the latest version to support the needs and requirements of users as well as the organisation. Activity 1 • Discuss the major reasons for project failures • In your words, explain what is a feasibility study? • Explain the various data gathering methods you are aware of. • Distinguish between a top down and bottom up database design approaches.