Database Development Activities During the Systems Development Life Cycle (SDLC)
Systems Development Life Cycle
1. Planning
2. Analysis
3. Design
4. Implementation
5. Maintenance
Albert Einstein: 'If you can't explain it simply, you don't understand it well enough.'
Planning
To develop a preliminary understanding of a business situation and how information systems might help solve a problem or make an opportunity possible
Planning Deliverable
A written request to study the possible changes to an existing system or the development of a new system that addresses an information systems solution to the business problems or opportunities
Analysis
To analyze the business situation thoroughly to determine requirements, to structure those requirements, and to select among competing system features
Analysis Deliverable
The functional specifications for a system that meets user requirements and is feasible to develop and implement
Design
To elicit and structure all information requirements; to develop all technology and organizational specifications
Design Deliverable
Detailed functional specifications of all data, forms, reports, displays, and processingrules; program and database structures, technology purchases, physical site plans, and organizational redesigns
Implementation
To write programs, build data files, test and install the new system, train users, and finalize documentation
Implementation Deliverable
Programs that work accurately and to specifications, documentation, and training materials
Maintenance
To monitor the operation and usefulness of a system, and to repair and enhance the system
Maintenance Deliverable
Periodic audits of the system to demonstrate whether the system is accurate and still meets user's needs
Enterprise Modeling
1. Analyze current data processing
2. Analyze the general business functions and their database needs
3. Justify need for new data and databases in support of business
Enterprise Data Model
An integrated view of the data produced and consumed across an entire organization. A data architectural framework used for integration. It enables the identification of shareable and/or redundant data across functional and organizational boundaries
Conceptual Data Modeling
1. Identify scope of database requirements for proposed information system
2. Analyze overall data requirements for business function(s) supported by database
3. Develop preliminary conceptual data model, including entities and relationships
4. Compare preliminary conceptual data model with enterprise data model
5. Develop detailed conceptual data model, including all entities, relationships, attributes, and business rules
Logical Database Design
1. Analyze in detail the transactions, forms, displays, and inquiries (database views) required by the business functions supported by the database
2. Integrate database views into conceptual data model
3. Identify data integrity and security requirements, and populate repository
Physical Database Design
1. Define database to DBMS (often generated from repository)
2. Decide on physical organization of data
3. Design database processing programs
Logical Data Model (LDM)
Includes entities (tables), attributes (columns/fields) and relationships (keys).
Physical Data Model (PDM)
Includes tables, columns, keys, data types, validation rules, database triggers, and access constraints. Uses more defined and less generic specific names for tables and columns, such as abbreviated column names, limited by the database management system (DBMS) and any company defined standards. Requires a knowledge of the specific DBMS that will be used to implement the database
Conceptual Data Model (CDM)
Includes high-level data constructs. Non-technical names, so that executives and managers at all levels can understand the data basis of Architectural Description. Represent data from the viewpoint of the organization, independent of any technology
Database Implementation
1. Code and test database processing programs
2. Complete database documentation and training materials
3. Install database and convertdatafrom prior systems
Database Maintenance
1. Analyze database and database applications to ensure that evolving information requirements are met
2. Tune database for improved performance
3. Fix errors in database and database applications and recover database when it is contaminated
Two Approaches to Database and Information Systems Development
Waterfall
Rapid Application Development (RAD)
Waterfall
Detailed, well-planned development process. Time-consuming, but comprehensive. Long development cycle
Rapid Application Development (RAD)
Iterative process of rapidly repeating analysis, design, and implementation steps until they converge on the system the user wants
Prototyping
Popular RAD method. Repeat implementation and maintenance activities with new prototype versions
Agile Software Development Methodologies
Scrum
Kanban
Lean
XP
Agile Core Values
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Agile Key Principles
Satisfying customers is of foremost importance
Develop projects with inspired contributors
Interactions are best when done in person
Software that works is a measure of progress
Reflect and adapt on an ongoing basis
RAD or Agile Software Development should be considered when a project involves unpredictable and / or changing requirements or when most of the necessary database structures already exist
Planning Deliverable
A written request to study the possible changes to an existing system or the development of a new system that addresses an information systems solution to the business problems or opportunities.
Analysis Deliverable
The functional specifications for a system that meets user requirements and is feasible to develop and implement.
Design Deliverable
Detailed functional specifications of all data, forms, reports, displays, and processing rules; program and database structures, technology purchases, physical site plans, and organizational redesigns.
Implementation Deliverable
Programs that work accurately and to specifications, documentation, and training materials.
Maintenance Deliverable
Periodic audits of the system to demonstrate whether the system is accurate and still meets user's needs
Logical Data Model (LDM)
Uses business names for entities & attributes.
Logical Data Model (LDM)
Is independent of technology platform; describes the data in terms of data management technology which will be used
Physical Data Model (PDM)
Uses more defined and less generic specific names for tables and columns, such as abbreviated column names, limited by the database management system (DBMS) and any company defined standards
Physical Data Model (PDM)
Requires a knowledge of the specific DBMS that will be used to implement the database