-
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.