DATABASE MANAGEMENT SYSTEM
What is a Database?
A database is a collection of related data which represents some aspect of the real world. A
database system is designed to be built and populated with data for a certain task.
What is DBMS?
Database Management System (DBMS) is a software for storing and retrieving users' data
while considering appropriate security measures. It consists of a group of programs which
manipulate the database. The DBMS accepts the request for data from an application and
instructs the operating system to provide the specific data. In large systems, a DBMS helps users
and other third-party software to store and retrieve data.
DBMS allows users to create their own databases as per their requirement. The term “DBMS”
includes the user of the database and other application programs. It provides an interface
between the data and the software application.
History of DBMS
Here, are the important landmarks from the history:
• 1960 - Charles Bachman designed first DBMS system
• 1970 - Codd introduced IBM'S Information Management System (IMS)
• 1976- Peter Chen coined and defined the Entity-relationship model also know as the ER
model
• 1980 - Relational Model becomes a widely accepted database component
• 1985- Object-oriented DBMS develops.
• 1990s- Incorporation of object-orientation in relational DBMS.
• 1991- Microsoft ships MS access, a personal DBMS and that displaces all other personal
DBMS products.
• 1995: First Internet database applications
• 1997: XML applied to database processing. Many vendors begin to integrate XML into
DBMS products.
Characteristics of Database Management System
• Provides security and removes redundancy
• Self-describing nature of a database system
• Insulation between programs and data abstraction
• Support of multiple views of the data
• Sharing of data and multiuser transaction processing
• DBMS allows entities and relations among them to form tables.
• It follows the ACID concept ( Atomicity, Consistency, Isolation, and Durability).
• DBMS supports multi-user environment that allows users to access and manipulate data
in parallel.
FILE ORIENTED APPROACH:
In the earlier age the computer system was used to store business records and produce different information. They were generally faster and more accurate than equivalent manual
systems. These systems stored groups of records in separate file and so they were called file
processing system.
In a typical file processing systems, each department has its own files, designed especially for
those applications. The department itself works with the data processing staff, sets policies or
standards for the format and maintenance of its files.
Disadvantages of File processing system
1) Data redundancy
In computer system many files are likely in the different formats and the programs are written in
different programming languages. Moreover, the same information may be duplicated in several
files, this duplication of data is known as data redundancy.
Example: The address and telephone number of a particular customer may appear in a file that
consist of saving account records and in a file that consist of checking account record.
2) Data inconsistency
the same type of data which may no longer which means that various copies of same data may
contain different kind of information.
Example: A changed customer address may be reflected in savings account records but not
elsewhere in the system.
3) Difficulty in accessing data
In file processing system it is very difficult to access the data in a specific way and it also require
a special application program which carry out new task.
4) Data isolation
Because data are scattered in various files and files may be in different formats, writing new
applications program to retrieve the appropriate data is difficult.
5) Integrity problem
Database must satisfy a particular consistency constraint. These constraints are added in
application program.
Example: The balance of a bank account may never fall below a prescribed amount.
6) Atomicity problem
A computer system, like any other mechanical or electrical devices, is subject to failure. In many
applications, it is crucial that if failure occurs, the data be restored to the consistent state that
existed prior to the failure.
https://www.includehelp.com/basics/computer-programming-languages.aspx
7) Concurrent access anomalies
If two programs run concurrently it is important to has supervision. But supervision is difficult to
provide because data is decentralized in file processing system. In such an environment,
interaction updates may result in inconsistent data.
8) Security problems
In this not every user of the database system should be able to access all the data.
DATABASE ORIENTED APPROACH
A database approach represents some aspects of real world called universe. Database
management system protects the database and maintains it over long period of time. DBMS
provides a view facility that enables user to have higher view of database.
Advantages of DBMS over File system –
• Data redundancy and inconsistency – Redundancy is the concept of repetition of data
i.e. each data may have more than a single copy. The file system cannot control
redundancy of data as each user defines and maintains the needed files for a specific
application to run. There may be a possibility that two users are maintaining same files
data for different applications. Hence changes made by one user do not reflect in files
used by second users, which leads to inconsistency of data. Whereas DBMS controls
redundancy by maintaining a single repository of data that is defined once and is accessed
by many users. As there is no or less redundancy, data remains consistent.
• Data sharing – File system does not allow sharing of data or sharing is too complex.
Whereas in DBMS, data can be shared easily due to centralized system.
• Data concurrency – Concurrent access to data means more than one user is accessing
the same data at the same time. Anomalies occur when changes made by one user gets
lost because of changes made by other user. File system does not provide any procedure
to stop anomalies. Whereas DBMS provides a locking system to stop anomalies to occur.
• Data searching – For every search operation performed on file system, a different
application program has to be written. While DBMS provides inbuilt searching
operations. User only has to write a small query to retrieve data from database.
• Data integrity – There may be cases when some constraints need to be applied on the
data before inserting it in database. The file system does not provide any procedure to
check these constraints automatically. Whereas DBMS maintains data integrity by
enforcing user defined constraints on data by itself.
Disadvantages of DBMS
There are many advantages and disadvantages of DBMS (Database Management System).
Disadvantages of DBMS are explained as following below.
1. Increased Cost:
These are different types of costs:
1. Cost of Hardware and Software –
This is the first disadvantage of database management system. This is because for DBMS, it is
mandatory to have a high speed processor and also a large memory size because now a days there
is a large amount of data in every field which needs to be store safely and with a security.
2. The requirement of this large amount of space and a high speed processor needs an expensive
hardware and also expensive software too. That is there is a requirement of sophisticated
hardware and software which means that we need to upgrade the hardware which is used for file-
based system. Hardware and Software, both requires maintenance which costs very high. All the
operating, Training (all levels including programming, application development, and database
administration), licensing, and regulation compliance costs very high.
3. Cost of Staff Training –
Educated staff (database administrator, application programmers, data entry operations) who
maintains the database management system also requires good amount. We need the database
system designers to be hired along with application programmers. Alternatively the services of
some software house need to be taken. So there is a lot of money which needs to be spent for
developing software.
4. Cost of Data Conversion –
We need to convert our data into database management system, there is a requirement of lot of
money as it adds on to the cost of the database management system. This is because, for this
conversion we need to hire database system designers whom we have to pay a lot of money and
also services of some software house will be required. All this shows that a high initial
investment for hardware, software and trained staff is required by DBMS. So, altogether Database
Management System results in a costlier system.
2. Complexity:
As we all know that now a day’s all companies are using the database management system as it
fulfils lots of requirement and also solves the problem. But a problem arises, that is all these
functionality has made database management system extremely complex software. For the
proper requirement of DBMS it is very important to have a good knowledge of it by the
https://www.geeksforgeeks.org/bbms-advantages-dbms-file-system/
developers, DBA, designers and also the end users. This is because if any one of them do not
acquire a proper and complete skills than this may lead to data loss or database failure.
This failure may lead to bad design decisions due to which there may be serious and bad
consequences for the organization. So this complex system needs to be understood by everyone
using it. As it cannot be managed very easily. All this shows that database management system is
not a child’s game as it cannot be managed very easily. It requires a lot of management. A good
staff is needed to manage this database at the times when it becomes very complicated to decide
where to pick data from and where to save it.
3. Currency Maintenance:
This is very necessary to keep your system current because efficiency which is one of the biggest
factor and need to be overlook must be maximized. That is we need to maximize the efficiency
of the database system to keep our system current. For this, frequent updating must be performed
on all the components as new threats come daily. DBMS should be updated according to the
current scenario. Also security measures must be needed. Due to advancement in database
technology, training cost tends to be significant.
4. Performance:
Traditional file system is written for small organizations and for some specific applications due
to which performance is generally very good. But for the small scale firms, DBMS does not give
a good performance as its speed is very slow. As a result some applications will not run as fast as
they could. Hence it is not good to use DBMS for the small firms. Because performance is a
factor which is overlooked by everyone. If performance is good than everyone (developers,
designers, end users) will use it easily and it will be user friendly too as speed of the system
totally depends on the performance and performance needs to be good.
5. Frequency Upgrade/Replacement Cycles:
Now a days in this world we need to stay up-to-date about the latest technologies, developments
arriving in the market. Frequent upgrade of the products is done by the DBMS vendors in order
to add new functionality to the systems. New upgrade versions of the software often come
bundled. Sometimes these updates also need hardware upgrades. Sometimes these changes and
updating are so fast that the users don’t feel it difficult to work with that system because it is not
easy to learn new commands and understanding them again and again when the new upgrades
are done. All these upgrades also costs money in order to train users, designers etc to use the new
features.
DATABASE APPLICATIONS
Applications where we use Database Management Systems are:
• Telecom: There is a database to keeps track of the information regarding calls made,
network usage, customer details etc. Without the database systems it is hard to maintain
that huge amount of data that keeps updating every millisecond.
• Industry: Where it is a manufacturing unit, warehouse or distribution centre, each one
needs a database to keep the records of ins and outs. For example distribution centre
should keep a track of the product units that supplied into the centre as well as the
products that got delivered out from the distribution centre on each day; this is where
DBMS comes into picture.
• Banking System: For storing customer info, tracking day to day credit and debit
transactions, generating bank statements etc. All this work has been done with the help of
Database management systems.
• Sales: To store customer information, production information and invoice details.
• Airlines: To travel though airlines, we make early reservations; this reservation
information along with flight schedule is stored in database.
• Education sector: Database systems are frequently used in schools and colleges to store
and retrieve the data regarding student details, staff details, course details, exam details,
payroll data, attendance details, fees details etc. There is a hell lot amount of inter-related
data that needs to be stored and retrieved in an efficient manner.
• Online shopping: You must be aware of the online shopping websites such as Amazon,
Flipkart etc. These sites store the product information, your addresses and preferences,
credit details and provide you the relevant list of products based on your query. All this
involves a Database management system.
SQL | Views
Views in SQL are kind of virtual tables. A view also has rows and columns as they are in a real
table in the database. We can create a view by selecting fields from one or more tables present in
the database. A View can either have all the rows of a table or specific rows based on certain
condition.
In this article we will learn about creating , deleting and updating Views.
Sample Tables:
Student Details
Student Marks
CREATING VIEWS
We can create View using CREATE VIEW statement. A View can be created from a single
table or multiple tables.
Syntax:
CREATE VIEW view_name AS
SELECT (column1, column2.....)
FROM table_name
WHERE condition;
view_name: Name for the View
table_name: Name of the table
condition: Condition to select rows
Examples:
• Creating View from a single table:
o In this example we will create a View named DetailsView from the table
StudentDetails.
Query:
CREATE VIEW DetailsView AS
SELECT NAME, ADDRESS
FROM StudentDetails
WHERE S_ID < 5;
To see the data in the View, we can query the view in the same manner as we query a table.
SELECT * FROM DetailsView;
Output:
In this example, we will create a view named Student Names from the table Student Details.
Query:
CREATE VIEW StudentNames AS
SELECT S_ID, NAME
FROM StudentDetails
ORDER BY NAME;
If we now query the view as,
SELECT * FROM StudentNames;
Output:
Creating View from multiple tables: In this example we will create a View named MarksView
from two tables StudentDetails and StudentMarks. To create a View from multiple tables we can
simply include multiple tables in the SELECT statement. Query:
CREATE VIEW MarksView AS
SELECT StudentDetails.NAME, StudentDetails.ADDRESS, StudentMarks.MARKS
FROM StudentDetails, StudentMarks
WHERE StudentDetails.NAME = StudentMarks.NAME;
To display data of View MarksView:
SELECT * FROM MarksView;
Output:
DELETING VIEWS
We have learned about creating a View, but what if a created View is not needed any more?
Obviously we will want to delete it. SQL allows us to delete an existing View. We can delete or
drop a View using the DROP statement.
Syntax:
DROP VIEW view_name;
view_name: Name of the View which we want to delete.
For example, if we want to delete the View MarksView, we can do this as:
DROP VIEW MarksView;
UPDATING VIEWS
There are certain conditions needed to be satisfied to update a view. If any one of these
conditions is not met, then we will not be allowed to update the view.
1. The SELECT statement which is used to create the view should not include GROUP BY clause or ORDER BY clause.
2. The SELECT statement should not have the DISTINCT keyword. 3. The View should have all NOT NULL values. 4. The view should not be created using nested queries or complex queries. 5. The view should be created from a single table. If the view is created using multiple
tables then we will not be allowed to update the view.
• We can use the CREATE OR REPLACE VIEW statement to add or remove fields
from a view.
Syntax:
CREATE OR REPLACE VIEW view_name AS
SELECT column1,coulmn2,..
FROM table_name
WHERE condition;
For example, if we want to update the view MarksView and add the field AGE to this View
from StudentMarks Table, we can do this as:
CREATE OR REPLACE VIEW MarksView AS
SELECT StudentDetails.NAME, StudentDetails.ADDRESS,
StudentMarks.MARKS, StudentMarks.AGE
FROM StudentDetails, StudentMarks
WHERE StudentDetails.NAME = StudentMarks.NAME;
If we fetch all the data from MarksView now as:
SELECT * FROM MarksView;
Out put
Inserting a row in a view:
We can insert a row in a View in a same way as we do in a table. We can use the INSERT INTO
statement of SQL to insert a row in a View.
Syntax:
INSERT view_name(column1, column2 , column3,..)
VALUES(value1, value2, value3..);
view_name: Name of the View
Example:
In the below example we will insert a new row in the View DetailsView which we have created
above in the example of “creating views from a single table”.
INSERT INTO DetailsView(NAME, ADDRESS)
VALUES("Suresh","Gurgaon");
If we fetch all the data from DetailsView now as,
SELECT * FROM DetailsView;
Output:
Deleting a row from a View:
Deleting rows from a view is also as simple as deleting rows from a table. We can use the
DELETE statement of SQL to delete rows from a view. Also deleting a row from a view first
delete the row from the actual table and the change is then reflected in the view.
Syntax:
DELETE FROM view_name
WHERE condition;
view_name:Name of view from where we want to delete rows
condition: Condition to select rows
Example:
In this example we will delete the last row from the view DetailsView which we just added in the
above example of inserting rows.
DELETE FROM DetailsView
WHERE NAME="Suresh";
If we fetch all the data from DetailsView now as,
SELECT * FROM DetailsView;
Output:
WITH CHECK OPTION
The WITH CHECK OPTION clause in SQL is a very useful clause for views. It is applicable to
a updatable view. If the view is not updatable, then there is no meaning of including this clause
in the CREATE VIEW statement.
• The WITH CHECK OPTION clause is used to prevent the insertion of rows in the view
where the condition in the WHERE clause in CREATE VIEW statement is not satisfied.
• If we have used the WITH CHECK OPTION clause in the CREATE VIEW statement,
and if the UPDATE or INSERT clause does not satisfy the conditions then they will
return an error.
Example:
In the below example we are creating a View SampleView from StudentDetails Table with
WITH CHECK OPTION clause.
CREATE VIEW SampleView AS
SELECT S_ID, NAME
FROM StudentDetails
WHERE NAME IS NOT NULL
WITH CHECK OPTION;
In this View if we now try to insert a new row with null value in the NAME column then it will
give an error because the view is created with the condition for NAME column as NOT NULL.
For example,though the View is updatable but then also the below query for this View is not
valid:
INSERT INTO SampleView(S_ID)
VALUES(6);
NOTE: The default value of NAME column is null.
THREE SCHEMA ARCHITECTURE
• The three schema architecture is also called ANSI/SPARC architecture or three-level
architecture.
• This framework is used to describe the structure of a specific database system.
• The three schema architecture is also used to separate the user applications and physical
database.
• The three schema architecture contains three-levels. It breaks the database down into
three different categories.
The three-schema architecture is as follows:
In the above diagram:
• It shows the DBMS architecture.
• Mapping is used to transform the request and response between various database levels of
architecture.
• Mapping is not good for small DBMS because it takes more time.
• In External / Conceptual mapping, it is necessary to transform the request from external
level to conceptual schema.
• In Conceptual / Internal mapping, DBMS transform the request from the conceptual to
internal level.
1. Internal Level
• The internal level has an internal schema which describes the physical storage structure
of the database.
• The internal schema is also known as a physical schema.
• It uses the physical data model. It is used to define that how the data will be stored in a
block.
• The physical level is used to describe complex low-level data structures in detail.
2. Conceptual Level
• The conceptual schema describes the design of a database at the conceptual level.
Conceptual level is also known as logical level.
• The conceptual schema describes the structure of the whole database.
• The conceptual level describes what data are to be stored in the database and also
describes what relationship exists among those data.
• In the conceptual level, internal details such as an implementation of the data structure
are hidden.
• Programmers and database administrators work at this level.
3. External Level
• At the external level, a database contains several schemas that sometimes called as
subschema. The subschema is used to describe the different view of the database.
• An external schema is also known as view schema.
• Each view schema describes the database part that a particular user group is interested
and hides the remaining database from that user group.
• The view schema describes the end user interaction with database systems.
What is a Database Model
A database model shows the logical structure of a database, including the relationships and
constraints that determine how data can be stored and accessed. Individual database models are
designed based on the rules and concepts of whichever broader data model the designers adopt.
Most data models can be represented by an accompanying database diagram.
Types of database models
There are many kinds of data models. Some of the most common ones include:
• Hierarchical database model
• Relational model
• Network model
• Object-oriented database model
Hierarchical model
• The hierarchical model organizes data into a tree-like structure, where each record has a
single parent or root. Sibling records are sorted in a particular order. That order is used as
the physical order for storing the database. This model is good for describing many real-
world relationships.
• This model was primarily used by IBM’s Information Management Systems in the 60s
and 70s, but they are rarely seen today due to certain operational inefficiencies.
Network Model
This is an extension of the Hierarchical model. In this model data is organised more like a graph,
and are allowed to have more than one parent node.
In this database model data is more related as more relationships are established in this database
model. Also, as the data is more related, hence accessing the data is also easier and fast. This
database model was used to map many-to-many data relationships.
This was the most widely used database model, before Relational Model was introduced.
Relational Model
In this model, data is organised in two-dimensional tables and the relationship is maintained by
storing a common field.
This model was introduced by E.F Codd in 1970, and since then it has been the most widely used
database model, infact, we can say the only database model used around the world.
The basic structure of data in the relational model is tables. All the information related to a
particular type is stored in rows of that table.
Hence, tables are also known as relations in relational model.
In the coming tutorials we will learn how to design tables, normalize them to reduce data
redundancy and how to use Structured Query language to access data from tables.
Object-oriented database model
This model defines a database as a collection of objects, or reusable software elements, with
associated features and methods. There are several kinds of object-oriented databases:
A multimedia database incorporates media, such as images, that could not be stored in a
relational database.
A hypertext database allows any object to link to any other object. It’s useful for organizing
lots of disparate data, but it’s not ideal for numerical analysis.
The object-oriented database model is the best known post-relational database model, since it
incorporates tables, but isn’t limited to tables. Such models are also known as hybrid database
models.
Components of DBMS
DBMS have several components, each performing very significant tasks in the database
management system environment. Below is a list of components within the database and its
environment
Software
This is the set of programs used to control and manage the overall database. This includes the
DBMS software itself, the Operating System, the network software being used to share the data
among users, and the application programs used to access data in the DBMS.
Hardware
Consists of a set of physical electronic devices such as computers, I/O devices, storage devices,
etc., this provides the interface between computers and the real world systems.
Data
DBMS exists to collect, store, process and access data, the most important component. The
database contains both the actual or operational data and the metadata.
Procedures
These are the instructions and rules that assist on how to use the DBMS, and in designing and
running the database, using documented procedures, to guide the users that operate and manage
it.
Database Access Language
This is used to access the data to and from the database, to enter new data, update existing data,
or retrieve required data from databases. The user writes a set of appropriate commands in a
database access language, submits these to the DBMS, which then processes the data and
generates and displays a set of results into a user readable form.
Query Processor
This transforms the user queries into a series of low level instructions. This reads the online
user’s query and translates it into an efficient series of operations in a form capable of being sent
to the run time data manager for execution.
Run Time Database Manager
Sometimes referred to as the database control system, this is the central software component of
the DBMS that interfaces with user-submitted application programs and queries, and handles
database access at run time. Its function is to convert operations in user’s queries. It provides
control to maintain the consistency, integrity and security of the data.
Data Manager
Also called the cache manger, this is responsible for handling of data in the database, providing a
recovery to the system that allows it to recover the data after a failure.
Database Engine
The core service for storing, processing, and securing data, this provides controlled access and
rapid transaction processing to address the requirements of the most demanding data consuming
applications. It is often used to create relational databases for online transaction processing or
online analytical processing data.
Data Dictionary
This is a reserved space within a database used to store information about the database itself. A
data dictionary is a set of read-only table and views, containing the different information about
the data used in the enterprise to ensure that database representation of the data follow one
standard as defined in the dictionary.
Report Writer
Also referred to as the report generator, it is a program that extracts information from one or
more files and presents the information in a specified format. Most report writers allow the user
to select records that meet certain conditions and to display selected fields in rows and columns,
or also format the data into different charts.
Computer System Life Cycle
The system life cycle is defined as collection of the phases of development through which a
computer-based system passes. Life cycle phases have been defined in very many different ways
and in varying degrees of detail. Most definitions, however, recognize broad phases such as
initial conception, requirements definition, outline design, detailed design, programming, testing,
implementation, maintenance, and modification.
The most life-cycle definitions produce as a result of analysis of the tasks of system
development, with the objective of making those tasks more amenable to traditional techniques
of management planning and control.
COMPUTER SYSTEM AND DEVELOPMENT
There are some phases of Computer System Life Cycle which are given below:
1. Initiation:
The generally Initiation phase is the first phase of Computer System Life Cycle and
usually informally managed by the information system owner and the ISSO. Although all
information system owners should be aware of the fact that FISMA requires new
information systems to be positively accredited, this may not be at the forefront of their
minds. Therefore, it is generally altogether likely that the ISSO may bring the need for
C&A to the attention of the information system owner.
2. Development:
System is a broad and a general term, and as per to Wikipedia; “A system is a set of
interacting or interdependent components forming an integrated whole” it’s a term that
can be used in different industries and hence system Development Life Cycle is a limited
term that explains the phases of creating a software component that integrates with other
software components to create the whole system.
3. Implementation:
In this phase, the physical design of the system takes place. The Implementation phase is
generally encompassing efforts by both designers and end users.
Implementation phase may also include testing or the process of ensuring that the entire
system successfully works together as a single entity. The testing may be done by real
users, trained personnel or automated systems; It is becoming an increasingly important
process for purposes of customer satisfaction. A depending on the system in question, the
Implementation phase may take a considerable amount of time.
4. Maintenance:
After an implementation phase Maintenance is required. Maintenance processes for
maintaining what happens during the rest of the system’s life: changes, correction,
additions, moves to a different computing platform and more. This is generally least
glamorous and perhaps most important step of all and goes on seemingly forever.
5. Disposal:
It is last phase of Computer System Life Cycle.The computer system is disposed of once
of transition to a new computer system is completed.This is also a pay important role in
Computer System Life Cycle.
INVERSTIGATION
Preliminary investigation is the first step in the system development project. It is a way of
handling the user’s request to change, improve or enhance an existing system. System
investigation includes the following two stages:
1. Problem definition:
The first responsibility of a system analyst is to prepare a written statement of the objectives of
the problem. Based on interviews with the user, the analyst writes a brief description of his/her
understanding of the problem and reviews it with both the groups. People respond to written
statements. They ask for clarifications and they correct obvious errors or misunderstandings.
That is why a clear statement of objectives is important. In other words, proper understanding of
the problem is essential to discover the cause of the problem and to plan a directed investigation
by asking questions like what is being done. Why? Is there an underlying reason different from
the one the user identifies? Following are some possible definitions of problems:
The existing system has a poor response time
b. It is unable to handle the workload.
c. The problem of cost, that is the economic system is not feasible.
d. The problem of accuracy and reliability
e. The required information is not produced by the existing system
f. The problem of security.
2. Feasibility study:
The actual meaning of feasibility is viability. This study is undertaken to know the likelihood of
the system being useful to the organization. The aim of feasibility study is to assess alternative
systems and to propose the most feasible and desirable system for development.
Thus, feasibility study provides an overview of the problem and acts as an important checkpoint
that should be completed before committing more resources. The feasibility of a proposed
system can be assessed in terms of four major categories as given below:
Organizational feasibility: the extent to which a proposed information system supports the
objective of the organization’s strategic plan for information systems determines the
organizational feasibility of the system project.
http://ecomputernotes.com/fundamental/information-technology/what-do-you-mean-by-data-and-information
b) Economic feasibility: In this study, costs and returns are evaluated to know whether returns
justify the investment in the system project.
c) Technical feasibility: whether reliable hardware and software, capable of meeting the needs
of the proposed system can be acquired or developed by the organizations in the required time is
a major concern of the technical feasibility.
d) Operational feasibility: the willingness and ability of the management, employees,
customers, suppliers, etc to operate, use and support a proposed system come under operational
feasibility. In other words, the test of operational feasibility asks if the system will work when it
is developed and installed.
What is SDLC model and its Phases
Software Development Life Cycle (SDLC) is a frame work that defines activity that are
performed during software development process.
There are 6 phases in SDLC model as given below.
1. Requirement:
In this phase all the requirement are collected from customer/client. They are provided in a
document called Businessmen requirement specification (BRS) and System requirement
specification (SRS). All the detail are discuss with customer/client in detail.
2. Design:
It has two steps:
• (a). High level design (HLD): It give the architecture of software product.
• (b). Low level design (LLD): It describe how each and every feature in the product
should work and every component.
3. Implementation:
• This is the longest phase.
• This phase consists of Front end + Middle ware + Back-end
• In font end: development coding are done even SEO setting are done
• In Middle ware: They connect both font end and back end
• In back-end: database is created
4. Testing:
Testing is carried out to verify the entire system. The aim of the tester is to find out the gaps and
defects within the system and also to check whether the system is running according to the
requirement of the customer/client.
5. Deployment:
After successful testing the product is delivered/deployed to the client, even client are trained
how to use the product.
6. Maintenance:
Once the product has been delivered to the client a task of maintenance start as when the client
will come up with an error the issue should be fixed from time to time.
REQUERIMENT ANALYSIS
Requirement Analysis, also known as Requirement Engineering, is the process of defining user
expectations for a new software being built or modified. In software engineering, it is sometimes
referred to loosely by names such as requirements gathering or requirements capturing.
Requirements analysis encompasses those tasks that go into determining the needs or conditions
to meet for a new or altered product or project, taking account of the possibly conflicting
requirements of the various stakeholders, analyzing, documenting, validating and managing
software or system requirements. Here are the objectives for performing requirement analysis in
the early stage of a software project.
A software requirement is a capability needed by the user to solve a problem or to achieve an
objective. In other words, requirement is a software capability that must be met or possessed by a
system or system component to satisfy a contract, standard, specification, or other formally
imposed documentation. Ultimately, what we want to achieve is to develop quality software that
meets customers' real needs on time and within budget.
Perhaps the greatest challenge being faced by software developers is to share the vision of the
final product with the customer. All stakeholders in a project - developers, end users, software
managers, customer managers - must achieve a common understanding of what the product will
be and do, or someone will be surprised when it is delivered. Surprises in software are almost
never good news.
Therefore, we need ways to accurately capture, interpret, and represent the voice of customers
when specifying the requirements for a software product.
Software design is a process to transform user requirements into some suitable form, which helps
the programmer in software coding and implementation.
For assessing user requirements, an SRS (Software Requirement Specification) document is
created whereas for coding and implementation, there is a need of more specific and detailed
requirements in software terms. The output of this process can directly be used into
implementation in programming languages.
Software design is the first step in SDLC (Software Design Life Cycle), which moves the
concentration from problem domain to solution domain. It tries to specify how to fulfill the
requirements mentioned in SRS.
Software Design
Software design yields three levels of results:
• Architectural Design - The architectural design is the highest abstract version of the
system. It identifies the software as a system with many components interacting with
each other. At this level, the designers get the idea of proposed solution domain.
• High-level Design- The high-level design breaks the ‘single entity-multiple component’
concept of architectural design into less-abstracted view of sub-systems and modules and
depicts their interaction with each other. High-level design focuses on how the system
along with all of its components can be implemented in forms of modules. It recognizes
modular structure of each sub-system and their relation and interaction among each other.
• Detailed Design- Detailed design deals with the implementation part of what is seen as a
system and its sub-systems in the previous two designs. It is more detailed towards
modules and their implementations. It defines logical structure of each module and their
interfaces to communicate with other modules.