Assignment
Assignment
1 Part 1:
Produce a presentation slides which analyze different types of database management
system.
In this task, I am going to show a presentation slides which analyze different types of database
management system. Presentation slidecontainscompare and contrast the different types of database
models, assess how relational database models and the process of normalization can provide reliable
and efficient data structures and different database management systems available in relation to open
source and vendor-specific platforms, justifying the criteria used in the evaluation.
1.1 Introduction
According to Margaret Rause, “A database is a collection of information that is organized so that it
can be easily accessed, managed and updated. Computer databases typically contain aggregations of
data records or files, containing information about sales transactions or interactions with specific
customers[ CITATION Mar17 \l 2057 ]. A database is a data structure that stores organized
information. Most databases contain multiple tables, which may each include several different fields.
For example, a company database may include tables for products, employees, and financial records.
Each of these tables would have different fields that are relevant to the information stored in the
table.In other words, a database is used by an organization as a method of storing, managing and
retrieving information. Modern databases are managed using a database management system
(DBMS).
Before databases existed, everything had to be recorded on paper. We had lists, journals, ledgers and
endless archives containing hundreds of thousands or even millions of records contained in filing
cabinets. When it was necessary to access one of these records, finding and physically obtaining the
record was a slow and laborious task. There were often problems ranging from misplaced records to
fires that wiped out entire archives and destroyed the history of societies, organizations and
governments. There were also security problems because physical access was often easy to gain. The
database was created to try and solve these limitations of traditional paper-based information storage.
In databases, the files are called records and the individual data elements in a record (for example,
Anish Tiwari (BTEC HND in Computing / Fourth Semester)
1
DBMS 2020
name, phone number, date of birth) are called fields. The way these elements are stored has evolved
since the early days of databases. Problems with early database systems was the intermixing of
conceptual relationships with the physical storage and placement of records on disk. For example-the
grade records of student could be physically stored next to student record. Although this was very
efficient access for queries and transactions, but it was not so flexible to access records when new
queries and transactions were identified.
Whereas present database applications can adapt to change easily. It may be necessary to change the
structure of a database as requirements change. So it may be necessary to add a file to database or to
extend the data elements in an existing file. No stored data and existing application programs are
affected. Traditionally, database technology applies to structured and formatted data that arises in
routine applications in government, business and industry. But now with the advancement in
technology and in our needs ,we are not just satisfied with numeric and string based simple data. We
also need books, scripts, and other forms of library based articles. For this there has been a
concurrent development of a field called informatio retrival that is concerned with searching for
material based on keywords, and many problems dealing with document and text processing and
ranking them based on relevance.
It increases opportunity for person or groups outside the organization to gain access to
information about the firms operation.
It increases opportunity for fully training person within the organization to misuse the
data resources intentionally.
Database systems are complex (due to data independence), difficult, and time-consuming
to design.
It is not maintain for all organizations.It is only efficient for particularly large
organizations.
Damage to database affects virtually all applications programs.
Extensive conversion costs in moving form a file-based system to a database system.
Initial training and cost required for all programmers and users.
A database model is primarily a type of data model. Depending on the model in use, a database
model can include entities, their relationships, data flow, tables and more. For example, within a
hierarchal database mode, the data model organizes data in the form of a tree-like structure having
parent and child segments.There are many kinds of data models. Some of the most common ones
includes:
It only supports one to many relationships. Many to many relationships are not supported.
Problem in Deletion: If a parent is deleted then the child automatically gets deleted.
Parent-child relationship: Each child can have only one parent but a parent can have more than one
children.
Pointer: Pointers are used for linking records that tell which is a parent and which child record is.
Disk input and output is minimized: Parent and child records are placed or stored close to each
other on the storage device which minimizes the hard disk input and output.
Fast navigation: As parent and child are stored close to each other so access time is reduced and
navigation becomes faster.
Predefined relationship: All relations between root, parent and child nodes are predefined in the
database schema.
Redundancy: One to many relationships increases redundancy in the data which leads to the
retrieval of inaccurate data.
As the name implies, the main feature of object-oriented databases is allowing the definition of
objects, which are different from normal database objects. Objects, in an object-oriented database,
reference the ability to develop a product, then define and name it. The object can then be referenced,
or called later, as a unit without having to go into its complexities. This is very similar to objects
used in object-oriented programming.
The entity relational data model based on the perception of the real world that consist of a collection
of basics objects and relationships between them. It is an object-based logical model. It is also high-
level data model.This model captures the relationships between real-world entities much like the
network model, but it isn’t as directly tied to the physical structure of the database. Instead, it’s often
used for designing a database conceptually.
In my opinion, an object relational model is a combination of an Object oriented database model and
a Relational database model. So, it supports objects, classes, inheritance etc. just like Object Oriented
models and has support for data types, tabular structures etc. like Relational data model.
This model was introduced by E.F Codd in 1970, and since then it has been the most widely used
database model, in fact, we can say the only database model used around the world.
Whenever one of these operations are applied, integrity constraints specified on the relational
database schema must never be violated.
Insert Operation:
The insert operation gives values of the attribute for a new tuple which should be inserted into a
relation.
Update Operation:
We can see that in the below-given relation table CustomerName= 'Apple' is updated from Inactive
to Active.
Delete Operation:
To specify deletion, a condition on the attributes of the relation selects the tuple to be deleted.
In the above-given example, CustomerName= "Apple" is deleted from the table.The Delete operation
could violate referential integrity if the tuple which is deleted is referenced by foreign keys from
other tuples in the same database.
Select Operation:
Simplicity
Flexibility
DynamicViews
Security
Simplicity
The relational model structures data in a manner that avoids complexity. The table structure is an
intuitive organization familiar to most users, particularly those who have worked with physical or
software spreadsheets, check registers or other tabular data. Data are organized naturally within the
model, simplifying the development and use of the database.
Flexibility
The relational database model is naturally scalable and extensible, providing a flexible structure to
meet changing requirements and increasing amounts of data. The relational model permits changes to
a database structure to be implemented easily without impacting the data or the rest of the database.
The database analyst can quickly and easily add, remove, and modify tables and columns in an
existing database to meet business requirements. There is theoretically no limit on the number of
rows, columns or tables. In reality, growth and change are limited by the relational database
management system and physical computing hardware, and changes may impact external
applications designed for a specific database structure.
Basically, relational databases are based on relational set theory. Normalization is a vital component
of the relational model of databases. Relational operations, supported by relational databases work
best with normalized tables. A relational database supports relational algebra, consequently
supporting the relational operations of set theory. Apart from mathematical set operations namely,
union, intersection, difference, and Cartesian product, relational databases also support select,
project, relational join, and division operations. These operations are unique to relational databases.
DynamicViews
Anish Tiwari (BTEC HND in Computing / Fourth Semester)
10
DBMS 2020
Relational databases support an important concept of dynamic views. In this database, a view is not a
part of the physical schema, it is dynamic. Hence changing the data in a table alters the data depicted
by the view. Views can subset data, join and simplify multiple relations, dynamically hide the
Relational databases use SQL, which is an easy and human-readable language. SQL instructions are
in the form of plain instructions, which can be put to the database for implementation. Most of the
database vendors support the SQL standard. A competitive technology of flat files supports a
sequential storage of data and fails to provide the users with search and query options. On the other
hand, relational databases provide the users with simple operations to manipulate data in the
databases and retrieve it. Moreover relational databases establish defined relationships between
tables, thus giving their users a complete picture of the data stored.
Security
Relational databases provide excellent security. They support access permissions which allow the
database administrator to implement need-based permissions to the access of data in database tables.
Relational databases support the concept of users and user rights, thus meeting the security needs of
databases. Relations are associated with privileges like create privilege, grant privilege, select, insert,
and delete privileges, which authorize different users for corresponding operations on the database.
1.5 Normalizations
When working with relational databases, users rarely deal with individual tables. The normal
structure is that data is stored in separate tables according to its meaning. This concept underlying
the relational database model is associated with the need to link data tables. For example, when data
that needs to be queried is stored in different tables.
In principle, all the information in a relational database could also be stored in all-encompassing
table. This would have the advantage of eliminating the need to link database tables, as well as the
complex syntax associated with queries across multiple tables. This, however, is the relational
database models’ strength. The distribution of information to several tables serves to reduce duplicate
entries and is called normalization. The degree of normalization can be determined using predefined
normal shapes.
To understand (DBMS)normalization in the database with example tables, let's assume that we are
supposed to store the details of courses and instructors in a university. Here is what a sample
database could look like:
Here, the data basically stores the course code, course venue, instructor name, and instructor’s phone
number. At first, this design seems to be good. However, issues start to develop once we need to
modify information. For instance, suppose, if Prof. George changed his mobile number. In such a
situation, we will have to make edits in two places. What if someone just edited the mobile number
against CS101, but forgot to edit it for CS154? This will lead to stale/wrong information in the
database.This problem, however, can be easily tackled by dividing our table into two simpler tables:
Table 1 (Instructor):
Instructor ID
Instructor Name
Instructor mobile number
Table 2 (Course):
Course code
Course venue
Instructor ID
Table 1 (Instructor):
Table 2 (Course):
Basically, we store the instructors separately and in the course table, we do not store the entire data
of the instructor. We rather store the ID of the instructor. Now, if someone wants to know the mobile
number of the instructor, he/she can simply look up the instructor table. Also, if we were to change
the mobile number of Prof. George, it can be done in exactly one place. This avoids the stale
orwrong data problem.
Further, if you observe, the mobile number now need not be stored two times. We have stored it at
just one place. This also saves storage. This may not be obvious in the above simple example.
However, think about the case when there are hundreds of courses and instructors and for each
instructor, we have to store not just the mobile number, but also other details like office address,
email address, specialization, availability, etc. In such a situation, replicating so much data will
increase the storage requirement unnecessarily.The above is a simplified example of how database
normalization works. We will now more formally study it.
There are various database “Normal” forms. Each normal form has an importance which helps in
optimizing the database to save storage and to reduce redundancies. Some of form of normalization
are given below:
First NormalForm was introduced by Edgar Codd in 1970. 1NF sets the exceptionally essential
principles for an organized database.In each segment or column should atomic value (no numerous
and no composite qualities) Each Column ought to have unique name that implies various name field
in a table. In first normal form, a segment ought to contain esteems that are of a similar sort like
'Name' in Name section and 'date' value in date segment.If a relation contain composite or multi-
valued attribute, it violates first normal form or a relation is in first normal form if it does not contain
any composite or multi-valued attribute. A relation is in first normal form if every attribute in that
relation is singled valued attribute
The First normal form simply says that each cell of a table should contain exactly one value. Let’s
take an example. Suppose we are storing the courses that a particular instructor takes, we can store it
like this:
Here, the issue is that in the first row, we are storing 2 courses against Prof. George. This isn’t the
optimal way since that’s now howdatabases are designed to be used. A better method would be to
store the courses separately.
For instance:
This way, if we want to edit some information related to CS101, we do not have to touch the data
corresponding to CS154. Also, observe that each row stores unique information. There is no
repetition. This is the First Normal Form.
Second normal form (2NF) additionally addresses the idea of evacuating duplicative information. It
was initially introduced by Edgar Codd in 1971. In second normal from meet every one of the
necessities of the main typical shape. Expel subsets of information that apply to various lines or row
of a table and place them in partitioned tables.
For a table to be in second normal form, the following 2 conditions are to be met:
The first point is obviously straightforward since we just studied 1NF. Letunderstand the first point 1
column primary key. Well, a primary key is a set of columns that uniquely identifies a row. Basically,
no 2 rows have the same primary keys. Let us take an example.
Here, in this table, the course code is unique. So, that becomes our primary key. Let us take another
example of storing student enrollment in various courses. Each student may enroll in multiple
courses. Similarly, each course may have multiple enrollments. A sample table may look like this
(student name and course code):
Rahul CS152
Rajat CS101
Rahul CS154
Raman CS101
Here, the first column is the student name and the second column is the course taken by the student.
Clearly, the student name column isn’t unique as we can see that there are 2 entries corresponding to
the name ‘Rahul’ in row 1 and row 3. Similarly, the course code column is not unique as we can see
that there are 2 entries corresponding to course code CS101 in row 2 and row 4. However, the tuple
(student name, course code) is unique since a student cannot enroll in the same course more than
once. So, these 2 columns when combined form the primary key for the database.
As per the second normal form definition, our enrollment table above isn’t in the second normal
form. To achieve the same (1NF to 2NF), we can rather break it into 2 tables:
Students:
Rahul 1
Rajat 2
Raman 3
Here the second column is unique and it indicates the enrollment number for the student. Clearly, the
enrollment number is unique. Now, we can attach each of these enrollment numbers with course
codes.
Courses:
CS101 2
CS101 3
CS152 1
CS154 1
These two tables together provide us with the exact same information as our original table.
A relation will be in 3NF if it is in 2NF and not contain any transitive partial dependency.3NF is used
to reduce the data duplication. It is also used to achieve the data integrity.If there is no transitive
dependency for non-prime attributes, then the relation must be in third normal form.
A relation is in third normal form if it holds at least one of the following conditions for every non-
trivial function dependency X → Y.
X is a super key.
Y is a prime attribute, i.e., each element of Y is part of some candidate key.
Before we explore into details of third normal form, let us understand the concept of a functional
dependency on a table.
Column A is said to be functionally dependent on column B if changing the value of A may require a
change in the value of B. As an example, consider the following table:
Here, the department column is dependent on the professor name column. This is because if in a
particular row, we change the name of the professor, we will also have to change the department
value. As an example, suppose MA214 is now taken by Prof. Ronald who happens to be from the
Mathematics department, the table will look like this:
Here, when we changed the name of the professor, we also had to change the department column.
This is not desirable since someone who is updating the database may remember to change the name
of the professor, but may forget updating the department value. This can cause inconsistency in the
database.
Third normal form avoids this by breaking this into separate tables:
Here, the third column is the ID of the professor who’s taking the course.
Here, in the above table, we store the details of the professor against his/her ID. This way, whenever
we want to reference the professor somewhere, we don’t have to put the other details of the professor
in that table again. We can simply use the ID.
In the table above, we have data of 4 Computer Sci. students. As we can see, data for the
fields branch, HOD (Head of Department) and OFFICE_TEL is repeated for the students who are in
the same branch in the college, this is Data Redundancy.
Insertion Anomaly:
Suppose for a new admission, until and unless a student opts for a branch, data of the student cannot
be inserted, or else we will have to set the branch information as NULL.Also, if we have to insert
data of 100 students of same branch, then the branch information will be repeated for all those 100
students. These scenarios are nothing but Insertion anomalies.
Updating Anomaly:
What if Mr. X leaves the college? or is no longer the HOD of computer science department? In that
case all the student records will have to be updated, and if by mistake we miss any record, it will lead
to data inconsistency. This is Updating anomaly.
Deletion Anomaly:
In our Student table, two different information’s are kept together, Student information and Branch
information. Hence, at the end of the academic year, if student records are deleted, we will also lose
the branch information. This is Deletion anomaly.
Traditionally, databases have been proprietary tools provided by Oracle, IBM, Microsoft, and a
number of other smaller vendors. Over recent years though, and especially for new projects, open
source databases have steadily grown in maturity and importance. As these databases become
adopted by more and more companies for large-scale enterprise projects, there has been a
concomitant rise in the availability of skilled DBAs, with extensive knowledge of these platforms to
be able to assist with mission-critical deployments.
Companies are looking for money in their IT budgets and discovering how much is spent on support
and maintenance of traditional relational database systems. And it’s a lot. Estimates vary but some
say up to 35 percent of software infrastructure spending. Switching to lower-cost open source
software saves money, which is why an estimated 65 percent of enterprises use it, including open
source databases:
MongoDB
MySQL
MariaDB
MongoDB:
MongoDB is a ‘No SQL’ free and open source database management system. It is a document-
oriented software program that runs on multiple operating systems i.e. Linux, Windows Vista, OS X,
FreeBSD and Solaris. The software is developed by MongoDB Inc. and licensed under the Server
Side Public License (SSPL). Its stable version 4.0.6 release date is February 5,
2019.MongoDB stores data in flexible, JSON-like documents, meaning fields can vary from
document to document and data structure can be changed over time. The document model maps to
the objects in our application code, making data easy to work with. It is a distributed database at its
core, so high availability, horizontal scaling, and geographic distribution are built in and easy to use
Figure 7: MongoDB
Features of MongoDB:
MongoDB supports ad hoc queries. You can search and index any field in the document.
It possesses an exceptional document data model to present the data in the best possible way.
It supports Master Slave Replication.
It supports map reduce and aggregation tools.
It is facilitated by an automatic load balancing configuration because of the data placed in the
shards.
It possesses a distributed design system to put data intelligently in the sections.
Operates on multiple platforms and is a schema-less database written in C++.
It uses JavaScript instead of procedures.
MongoDB is a great crossover bridge from the structured, strict world of SQL to the amorphous,
almost confusing one of NoSQL. It excels at developing prototypes, as there’s simply no schema to
worry about, and when we really need to scale. Finally, there are use cases where SQL-based
solutions just won’t do. For instance, if we are creating a product like Canva, where the user can
create arbitrarily complex designs and be able to edit them later. The complete lack of schema that
MongoDB provides can work as a tar pit for those who don’t know what they’re doing. Data
mismatch, dead data, empty fields that should not be empty all this and much more is possible.
MongoDB is essentially a “dumb” data store, and if we choose it, the application code has to take a
lot of responsibility for maintaining data integrity.
MySQL:
MariaDB:
worries.Several more options of storage engines for specialized needs: for instance, the Spider
engine for distributed transactions; Column Store for massive data warehousing; the Column Store
engine for parallel, distributed storage; and many, many more.
MariaDB turns data into structured information in a wide array of applications, ranging from banking
to websites. It is an enhanced, drop-in replacement for MySQL. MariaDB is used because it is fast,
scalable and robust, with a rich ecosystem of storage engines, plugins and many other tools make it
very versatile for a wide variety of use cases.MariaDB is developed as open source software and as a
relational database it provides an SQL interface for accessing data. The latest versions of MariaDB
also include GIS and JSON features.
Features of MariaDB:
MariaDB covers similar features to MySQL with some added extensions. We can regard it as
a new and advanced version of MySQL.
We should use MariaDB if we want a true replacement of MySQL, wants to stay on the innovation
curve, and don’t plan on returning to MySQL again. One excellent use case is the use of new storage
engines in MariaDB to complement the existing relational data model of our project. Compatibility
with MySQL is the only concern here.That said, it’s becoming less of a problem as projects like
WordPress, Joomla, Magento, etc., have started supporting MariaDB. My advice would be not to use
MariaDB to trick a CMS that doesn’t support it, as there are many database-specific tricks that will
crash the system easily.
MariaDB has several optimizations that tend to improve the performance as compared to
MySQL. In fact, that was exactly the vision in mind when MariaDB was started by Michael
Widenius, the original founder of both MySQL as well as MariaDB.
Switching from MySQL to MariaDB is relatively easy and is a piece of cake for systems
administrators.
MariaDB also provides MyRocks storage engine that adds the RocksDB database to it.
RocksDB is a database that has been designed for better performance in flash storage by
providing a higher level of data compression.
MariaDB has also switched to Perl-compatible regular expressions (PCRE), which offer more
powerful and precise queries than standard MySQL regex support.
MariaDB provides better monitoring through the introduction of micro-second precision and
extended user statistics.
MariaDB is purely open source, instead of the dual-licensing model that MySQL uses. Some
plugins that are available only for MySQL Enterprise customers have equivalent open source
implementations in MariaDB.
MariaDB has applied a number of query optimizations for queries connected with disk
access, join operations, sub-queries, derived tables and views, execution control, and even
explain statements.
MariaDB offers a cluster database for commercial use, which also enables multi-master
replication. Anyone can use it freely and reliance on a MySQL Enterprise system is not
required.
One of the recent versions of MariaDB - 10.0 allows for parallel execution of several queries.
The idea is that some queries from the Master can be replicated in the slave and can,
therefore, be executed in parallel. This parallelism in query execution certainly provides
MariaDB an edge over MySQL.
MariaDB provides several powerful storage engines out-of-the-box which are not available in
MySQL. For example, XtraDB, Aria, etc. To set up these storage engines for MySQL, you
need to install them manually which may not be the most convenient thing.
MariaDB is undoubtedly quite powerful and provides many features that are extremely useful and
are not supported in MySQL. Such features indeed make MariaDB a lucrative choice to be used as
the primary backend database. Generally speaking, organizations that have already purchased
licenses for Oracle need not invest in MariaDB. However, those who are starting afresh and want to
decide on which database to use, undoubtedly MariaDB is a better choice.
Demands for free and open-source database management software solutions areimmensely
rising in the market. The competition prevailing in today's market environment is making every tool
to try best regarding their features to attract more and number of users keeping in mind their price
and usage. These software tools have shown an excellent cost-saving approach and are now
immensely preferred by their users due to the practical solutions they impart. The critical point to
consider here is that the open-source products come with some exceptional benefits. They comprise a
wealth of data available through the entire community. This way, we can easily find out how can
tweak an open source database to get better scaling what the limitations actually are, and how well
user can work around them.
1.8 Conclusion
Appendix:
Produce a design for a relational database management system to meet client requirements.
Analyze how the design will optimize system performance.
Develop a fully functional system which meets client and system requirements, using an open
source language.
Test the system for functionality and performance.
Implement effective features in the solution to handle concurrency, security, user
authorizations and data recovery.
Critically evaluate the effectiveness of the system design and development against client and
system requirements.
In this task, I am going to design a database management system using relational database model to
meet customernecessity and implementa database management system using MariaDB. First, I am
going to create a design for a relational database management system to encounter client
requirements and examine how the design will optimize system performance. I am developing a fully
functional structure which encounters client and system necessities, using an free or open source
language. Finally, I will test the system for functionality and performance of Assignment
Management System and develop effective features in the solution to handle concurrency, security,
user authorizations and data recovery.
2.1 Introduction
Relational database model is one of the most popular and extensively used data model which provide
reliable and efficient data structures. The data model allows the data to be stored in tables called
relation. Each of the rows in a relation is called tuples which contains the unique value.Together, the
attributes in a relation are called a domain. A particular attribute or combination of attributes is
chosen as a primary key that can be referred to in other tables, when it’s called a foreign key.
Basically, relational databases are based on relational set theory. Normalization is a vital component
of the relational model of databases. Relational operations, supported by relational databases work
best with normalized tables.
A relational database supports relational algebra, consequently supporting the relational operations of
set theory. Apart from mathematical set operations namely, union, intersection, difference, and
Cartesian product, relational databases also support select, project, relational join, and division
Anish Tiwari (BTEC HND in Computing / Fourth Semester)
28
DBMS 2020
operations. These operations are unique to relational databasesThe relational database model is
naturally scalable and extensible, providing a flexible structure to meet changing requirements and
increasing amounts of data. The relational model permits changes to a database structure to be
implemented easily without impacting the data or the rest of the database.Some of open-source
relational database management system are listed below:
MySQL
SQL Server
MariaDB
For Assignment Management System, I had used MariaDB. MariaDB is undoubtedly quite
powerful and provides many features that are extremely useful and are not supported in MySQL and
SQL server. Such features indeed make MariaDB a profitable choice to be used as the primary
backend database.Iam starting afresh and want to decide on which database to use, undoubtedly
MariaDB is a better choice for me.
Assignment Management System is a web-based application developed using PHP at front end and
MariaDB at back end.Through this system teacher can assign homework to any student online and
admin can also check the status of theassignment. Using this system management team can take
decision on time after checking the current status of the assignment. This system helps the student to
complete assignment on time as user can check the status of assignmentany time. Assignment
management system is developed to manage the assignmentprocess in online.
ER-Diagram:
Data Dictionary:
Flowchart
DFD
ER-Diagram:
In above diagram,
DFD:
Context level:
Level 1:
Level 2(Admin):
Level 2(Lecturer):
Level 2 (Student):
Flowchart:
Description:
The main requirement of the user is that this system should be used by the Users and administrator
for proper maintaining.The developer can face a number of requirements given by the user. So, the
software should have a number of facilities. The user may require the followings:
Correctness:
Correctness is the degree to which the software performs its required function. The extent to which
the software satisfies its specifications and fulfils the customer’s mission objectives.The software
must be correct. The software is correct if the software is tested in each step of its development.A
developed software can said to be correct if it fulfils the user’s requirement. This software must
operate correctly to its user .The correctness of the software is measured on the basis of the required
information.
Performance:
The software must perform required action. All the requirements of the software directly related to its
performance. The performance of the software is measured on the basis of response time taken to
display the record of the Author. The software response is measured on the basis of execution of the
program constraints.In the Performance, the software must be able to “process all the operations
quickly”. So the performance is measured by throughput, efficiency, response time and the
processing speed.
User Friendly:
The developed software must be user friendly by which the user can understand the software easily.
If the software provides a good interface then it is said to be user friendly. If software is developed in
GUI rather than CUI, then the developed software is friendlier.The Base of Courier Management
System is developed by using the PHP as a user interface and the background using MariaDB. The
software can be handled easily and user can use it without more knowledge about the computer. The
software provides integrated and consistent information
Maintenance:
The user wants that the software must be maintained properly before accepting the software.
Software needs to be maintained not because some of its components wear out and need to be
replaced, but because there are often same residual errors remaining in the system that must be
removed as they are discovered.The Maintenance of the software is measured by using the
maintainability. The maintainability is ease with which a program can be corrected, if an error is
encountered. The maintenance depends on the user’s requirement because there are many kind of
maintenance.Thus, the user requires maintenance because, maintenance involves understanding the
software (code and related modules), understanding the effects of change, making new change.
Because often during development some needs are not kept in mind.