[7] 6-Database Design and Agile

DATABASE DESIGN

Chapter Overview

  • Learning Objectives:

    • Changing Data Into Information

    • The Information System (IS)

    • The System Development Life Cycle (SDLC)

    • The Database Life Cycle (DBLC)

    • Database Design Strategies

    • Centralized vs Decentralized Design


Changing Data Into Information

  • Data:

    • Raw facts.

    • Building blocks of information.

  • Information:

    • Reveals meaning of data.


Data Process Flow

  • System components:

    • Contracts application programs.

    • Database entries and reports are utilized for data processing.

    • DBMS manages sales application programs and reports.

    • Database includes details and definitions for file management.


System Development Life Cycle (SDLC)

  • Phases of SDLC:

    1. Initial Study

    2. Database Design

    3. Implementation & Loading

    4. Testing & Evaluation

    5. Operation

    6. Maintenance & Evaluation

  • Purpose of SDLC:

    • To understand how an IS can support business needs.

    • To design, build, and deliver the system to users effectively.


Information System Structure

  • Components of IS:

    • Software, hardware, data, people, application programs, and procedures working together to produce quality information.

    • Databases are designed to store and manage data efficiently.

  • Functions of Database in IS:

    • Data collection, storage, and retrieval.

    • Transforming data into information using SQL.


SDLC Detailed Phases

  1. Planning:

    • Assess information flow and system requirements.

    • Conduct a feasibility study on technical requirements and costs.

  2. Analysis:

    • Audit user requirements and evaluate existing hardware/software.

    • Develop logical system design with ERD and DFD.

  3. Design:

    • Create detailed specifications for screens, menus, reports, with training methods planned.

  4. Implementation:

    • Install hardware, DBMS software, load database, and customize the system.

    • Conduct coding, testing, and debugging.

  5. Maintenance:

    • Respond to user requests for changes, addressing corrective, adaptive, and perfective maintenance.

    • Utilize CASE technology for efficiency.


Agile Software Development

  • Agile methodology vs. SDLC process.

  • Agile Phases:

    1. Plan/Requirements Collection

    2. Design

    3. Development

    4. Testing

    5. Deployment

    6. Review

  • Benefits:

    • Speedy development, greater quality, and high customer satisfaction.


Database Life Cycle (DBLC)

  • Interrelated with IS life cycle (SDLC).

  • Stages are not strictly sequential; repetitions may occur through feedback loops.

  • Complexity varies based on database size and number of users.

DBLC Phases

  1. Initial Study:

    • Analyze company situation, define problems, objectives, scope, and boundaries.

  2. Database Design:

    • Selecting a DBMS, creating logical and physical designs.

  3. Implementation & Loading:

    • Define security, access rights, backup, and recovery strategies.

  4. Testing & Evaluation:

    • Test for performance, integrity, concurrent access, and security constraints.

  5. Operation:

    • Begin operational phase with preventive, corrective, and adaptive maintenance.

  6. Maintenance & Evaluation:

    • Continuous audits and updates based on user feedback and system performance.


Database Design Strategies

  • Two classical approaches:

    • Top-Down Design:

      • Start by identifying data sets and defining elements for each set; suitable for complex databases.

    • Bottom-Up Design:

      • Identify data elements grouped in data sets; suitable for smaller databases.

  • Influenced by:

    • Scope, size of the system, management style, and organization structure.


Centralized vs Decentralized Design

  • Centralized Design:

    • Managed by a single person for smaller databases, best for non-complex structures.

  • Decentralized Design:

    • Used for complex databases spread across various sites, requiring precise definitions of system boundaries.

  • Challenges:

    • Aggregation problems arise due to synonyms and homonyms in different departmental terminologies.

  • Business rules play a crucial role in defining entities, relationships, attributes, and constraints in organizational operations.