The Five Crucial Pieces of Good ERP System Design
When the time comes
to implement a new ERP (Enterprise Resource Planning) system, there will be
discussions about the design of the system that will require many decisions.
Having the right input to help you make the best decisions will set the stage
for a successful project.
During the system
design phase, the implementation team will recommend how the ERP system will be
configured to support the business processes of the organization. If there are
processes that the ERP system does not support out of the box, they will
suggest customizations or third party solutions.
System design
recommendations
The value of an
implementation team comes from the experience that they bring to your ERP
project. A great team brings depth of knowledge and experience to design a
system that fits your business and your people.
·
Thorough requirements
analysis — Working with users and management, an analysis of
the current business processes and desired improvements should be complete and
fully documented as the foundation of the system design.
·
Alignment with organizational
goals — The design document should clearly address how
the business management systems will help to achieve the primary objectives of
the organization.
·
Best practice guidance — An
experienced implementation team will make recommendations based on best
practices that they have learned over time. From reporting advice to add on
product suggestions; leverage their expertise to improve system efficiency.
·
Expert functional review —
Each ERP system has functional strengths and weaknesses. Your implementation
team should have deep expertise with your ERP’s functionality to identify
potential issues that can be overcome with customizations.
·
Expert technical review — In
addition to functional expertise, you need the advice of a technical expert who
understands your current systems and applications as well as the abilities of
your IT staff.
Not sure how system design fits in the
overall process of ERP implementation?
ERP software
design
Application
architecture is the science of designing an application to achieve certain
goals such as performance and scalability. We know that an ERP application
consists of data entry forms, business rules, validations, menus, security
routines and other data access routines.
Partitioning the application by grouping all the entities logically based on certain guidelines is application design resulting in Application Architecture. The benefits of such design are:
Partitioning the application by grouping all the entities logically based on certain guidelines is application design resulting in Application Architecture. The benefits of such design are:
- The
performance of the application is better, the applications will be
scalable by being able to incorporate future requirements
- By
partitioning an application into logical groups also called as layers
results in a cohesive code. Such cohesive code is preferred because
similar type of code are placed together and can be managed easily
- The
layered based approach provides abstraction allowing modifications at one
level without impacting or with minimal impact on other layers
Accordingly four layers are
developed for the ERP software. They are Data Layer, Data Access Layer,
Business Layer and Presentation Layer
Presentation Layer
In the Presentation Layer, the code responsible for displaying user interface of the entire application is located.
The common code placed in this layer are windows forms, web forms, user controls and server controls. Examples are data entry forms for the finance module, data entry form for the manufacturing module and similarly for all other modules. Note that Windows Forms are used for client interaction in desktop applications and web forms are for browser-based interaction.
Also note that an application developed based on the layered approach includes code for interaction between different layers. The code which provides interaction between the presentation layer and business layer is located in this layer.
Basic validations which are implemented at the user interface level are also located in this layer. Some examples are checking for blank fields, negative numbers and valid dates etc.
Business Layer
In the Business Layer, the code that implements the business functionality of the application is located. The business logic of an ERP application is implemented by using components.
Business components encapsulate the business logic, also called business rules. These rules constrain the behavior of a business concept to match the needs of a particular company. For example, the business rule that determines whether a given expense account can be allowed a certain amount is encapsulated in the related component of the application.
Business processes are the activities that occur in a business. Examples are Order Processing, Bill of Materials, Issue of Work Order, creating Invoice etc. These business processes are encapsulated in the business components.
One business component may interact with one or more business components to implement a business process. These business processes can be implemented using either c# or vb.net.
The Business Layer also includes code responsible for accessing the Data Access Layer to retrieve, modify and delete data to and from the data layer and move the results to the presentation layer.
Data Access Layer
The Data Access Layer provides access to databases such as SQL Server, Oracle etc. The .NET technology used to provide data access functionality is ADO.NET. The ERP application we are developing accesses data stored in the Sql server database, which is a relational database.
The code in this data access layer exposes the data stored in the database to the business layer.
Data Layer
Data Layer is the database or the source of the data. The popular databases are SQL Server, Access database and Oracle or can be XML. In the data layer, always use stored procedures.
It is strongly recommend that you use stored procedures for everything you can. We recommend Stored procedures because they are fast and easier to modify. For example, if you need to extract data from two tables instead of one table, you can do that by modifying the relevant stored procedure. The NET application code need not be changed.
Presentation Layer
In the Presentation Layer, the code responsible for displaying user interface of the entire application is located.
The common code placed in this layer are windows forms, web forms, user controls and server controls. Examples are data entry forms for the finance module, data entry form for the manufacturing module and similarly for all other modules. Note that Windows Forms are used for client interaction in desktop applications and web forms are for browser-based interaction.
Also note that an application developed based on the layered approach includes code for interaction between different layers. The code which provides interaction between the presentation layer and business layer is located in this layer.
Basic validations which are implemented at the user interface level are also located in this layer. Some examples are checking for blank fields, negative numbers and valid dates etc.
Business Layer
In the Business Layer, the code that implements the business functionality of the application is located. The business logic of an ERP application is implemented by using components.
Business components encapsulate the business logic, also called business rules. These rules constrain the behavior of a business concept to match the needs of a particular company. For example, the business rule that determines whether a given expense account can be allowed a certain amount is encapsulated in the related component of the application.
Business processes are the activities that occur in a business. Examples are Order Processing, Bill of Materials, Issue of Work Order, creating Invoice etc. These business processes are encapsulated in the business components.
One business component may interact with one or more business components to implement a business process. These business processes can be implemented using either c# or vb.net.
The Business Layer also includes code responsible for accessing the Data Access Layer to retrieve, modify and delete data to and from the data layer and move the results to the presentation layer.
Data Access Layer
The Data Access Layer provides access to databases such as SQL Server, Oracle etc. The .NET technology used to provide data access functionality is ADO.NET. The ERP application we are developing accesses data stored in the Sql server database, which is a relational database.
The code in this data access layer exposes the data stored in the database to the business layer.
Data Layer
Data Layer is the database or the source of the data. The popular databases are SQL Server, Access database and Oracle or can be XML. In the data layer, always use stored procedures.
It is strongly recommend that you use stored procedures for everything you can. We recommend Stored procedures because they are fast and easier to modify. For example, if you need to extract data from two tables instead of one table, you can do that by modifying the relevant stored procedure. The NET application code need not be changed.
No comments:
Post a Comment