|
How to Design Backend of Software
It is a very critical part of software or even we can say that it is the foundation of the whole software. A lay man don't bother about the efficiency of the backend but he wants the accuracy of outputs, a developer wants the efficiency of backend that he can easily avoid the problems or if they occour they can be handled effectively. When we give any input, it goes in the backend to find its output. The quality of the software is measured mostly from its backend if it is a database software. An efficient backend can save your time, code, cost and load on your hardware but in the other case it might be opposite. A professional
programmer always emphasis on a strong backend because he knows the hurdles that can be faced with a single dirty module of your software.
What is the backend
.Normally the database of your software. A huge data from which you have to find your specific information.
.The modules, the procedures that perform some specific tasks. These modules and procedures perform the
functionally of your software.
.The algorithms that are instructions to your hardware to perform the required process. These instructions are written in computer languages and automated tools.
.The entity relationship diagrams and UML notations. For making relationship in between components, actors, tables, modules or procedures.
.Security checks, authentication methods, data hiding techniques and data recovery options etc.
.Simply the soul and the mind of your software.
What methods are there
There are multiple ways to design your backend of the software.
.Gather requirements and put them into a shape that can fulfill the needs.
.Get some requirements, place them in a dirty software and ask for detail requirements from the user by giving him the view of that software.
.By following a predefined software process model.
.Define your own software process model according to the needs and implement it on your project.
.Take your time, make a complete research, calculations and analysis, put the
feasibility report in front of your customer and if he is agree with it then start otherwise search alternatives.
How to design backend
All above mentioned methods are quite compatible according to the nature of the project that you are going to design. But a professional engineer will select the method that concern with not only the requirements, time period, boundary of the project, its completion criteria but will also concern with the finance involve in it, because there are two major tasks in front of him.
i)- To satisfy the customer.
ii)- To earn
something.
The cost factor is very much involve in this selection. If your customer can bear, then go for the best but in other case select best feasible method. So we choose to discuss a best method that can cover maximum and we can understand from 'A' to 'Z'.
We are going to discuss a database project because normally it gives us the better idea of designing the backend. To design a database project we can follow the " Life cycle of Relational Database".
What is relational database
E.F.Codd originated the idea of the relational databases in his paper of 1970. In it he proposed a model for data storage based on n-ary relations, a normal form for database relations and the concept of a universal data manipulation language based on relational algebra, a branch of mathematics. Subsequently, further work on the relational model look two major paths, development of methods of data representation around the definition of further normal forms and the development of a universal data manipulation language, culminating today in SQL (Structured Query Language) which itself has realized in several SQL standards.
What is life cycle of relational database
It is a full-fledged process of designing a comprehensive database. As we have discussed earlier in a method that we can adopt a predefined process consisting some world wide standards defined by some international organizations to achieve maximum efficiency. So this life cycle process is a predefined set of phases to achieve maximum
efficiency and reliability. Following are its phases.
. Introduction to real time problem.
. ER diagrams.
. Normalization.
. Set of tables.
. Create tables.
. File organization
. Query design
. Screen design
. Report design
. Testing
. Handover
. Introduction to real time problem In this phase the nature of the problem is completely understood. Constraints or checks and outline feasible solutions are made by using some methodologies. These methodologies are;
i) - SSADM (Structured System
Analysis and Design methods).
ii) - IEO (information Engineering Overlap).
. ER Diagrams
These are detailed logical representation of data. In this phase entity relational diagrams are drawn to make relationship in between data items.
Primary and foreign keys are defined in it. Up till now our is become in a modified form.
. Normalization
Normally it is the conversion of ER diagrams into entity tables. It is used to check entity relationship models.
Recombination of entity types may result from normalization and results from normalization should be
consistent.
. Set of tables
In this phase the analysis of tables is made that which tables are required. Number and types of tables are estimated here.
. |