Recent Post

Software Depression and DB system development life cycle in DBMS

Last few decades have seen proliferation of software applications, many requiring constant maintenance involving:
  • Correcting faults
  • Implementing new user requirements
  • Modifying software to run on new or upgraded
  • Effort spent on maintenance began to absorb resources at an alarming rate
As a result, many major software projects were
  • Late
  • Over budget
  • Unreliable
  • Difficult to maintain
  • Performed poorly
In late 1960s, led to 'software crisis', now refer to as the 'software depression'

Major reasons for failure of software projects includes:
  • Lack of a complete requirements specification
  • Lack of appropriate development methodology
  • Poor decomposition of design into manageable components
Structured approach to development was proposed called Information Systems  Lifecycle (ISLC)

Information System
  • Resources that enable collection, management, control, and dissemination of information throughout an organization.
  • Database is fundamental component of IS, and its development/usage should be viewed from perspective of the wider requirements of the organization.
DB System Development Life Cycle
Database planning :-
1. Begins with customer request to develop a database system
2. Once mission statement is defined, mission objectives are defined
  • Each objective should identify a particular task that the database must support
  • May be accompanied by some additional information that specifies the work to be done, the resources with which to do it, and the money to pay for it all
System definition :- 
1. Describes scope and boundaries of database system and the major user views. 
2. User view defines what is required of a database system from perspective of : 
3. Database application may have one or more user views
  • Identifying user helps ensure that no major users of the database are forgotten when developing requirements for new system.
  • User views also help in development of complex database system allowing requirements to be broken down into manageable pieces.
Requirements collection and analysis :-
1. Process of collecting and analyzing information about the part of organization to be supported by the database system, and using this information to identify user's requirements of new system.
2. Information is analyzed to identify requirements to be included in new database system, described in the requirements specification.

Database design :-
 1. Process of  creating a  design for a database that will support the enterprise's mission statement and mission objectives for the required database system.
2. Maintain database design approaches include:
  • Top-down
  • Bottom-up
  • Inside-out
  • Mixed
DBMS selection (optional) :-
1. Selection of an appropriate DBMS to support the database system 
2. Maintain steps to selecting a DBMS:
  • Define Terms of Reference of study
  • Shortlist two or three products
  • Evaluate products
  • Recommend selection and produce report
Application design :-
1. Design of user interface and application programs that use and process the database.
2. Application design includes two important activities:
  • Transaction design
  • User interface design
Prototyping (optional) :-
1. Building working model of a database system
2. Types of prototyping-
  • Requirements prototyping
  • Evolutionary prototyping
Implementation :-
1. Physical realization of the database and application designs
  • Use DDL to create database schemas and empty database files.
  • Use DDL to create any specified user views
Data conversion and loading :-
1. Transferring and existing data into new database and converting any existing applications to run on new database
  • Only required when new database system in replacing an old system
  • DBMS normally has utility that loads existing files into new database
  • May be possible to convert and use application programs from old system for use by new system.
Testing :-
1. Process of running the database system with intent of finding errors
  • Use carefully planned test strategies and realistic data
  • Testing cannot show absence of faults; it can show only that software faults are present
  • Should also test usability of system
Operational maintenance :-
1. Process of monitoring and maintaining database system following installation
  • Monitoring performance of system
  • If performance falls, may require tuning or reorganization of the database

No comments