|  |
 |
 |
 |
 |
|
 |
Printable Version E-mail to a Friend APA | MLA | | A Conceptual Model Of An ERP System Using UML
Madhurima1(Lecturer), Madhulika (Lecturer)
Apeejay College of Engineering, Gurgaon1
Flat No.306, kaveri apptt.,GH-4,Sec-21D, Faridabad-121001
Mob no. 09350350814,E-mail-10madhurima@gmail.com
Apeejay College of Engineering, Gurgaon
madhulikabhatia@gmail.com
Abstract—In today’s competitive and ever changing environment every business demands paperless operations, a wireless communication of a result of fully transparent and automated operations of all centers in an integrated and coordinated manner taking care of the business, actions and decision demands. For this reason an Enterprise wide management support is needed. The Enterprise Resource planning is a way by which we can assess the resource needs for a given business plan to achieve required business objectives. The aim of this paper is to present the brief introduction of Unified Modeling Language (UML), its elements and benefits. Then the Enterprise Resource Planning is discussed along with its subsystems. The use-case diagram and the activity diagram of the sales order entry subsystem are implemented with the help of UML. The diagrams are created using Rational Rose Tool (Enterprise Edition).
Keywords—Business Modeling, ERP, Rational Rose, UML
1. INTRODUCTION
As the world is becoming more and more complex day by day, the computerized systems that inhabit the world have also increased in complexity. This means there are several pieces of hardware, software, connected to each other, linked to large data stores that deals with all this, how we will get our hands around the complexity. [4]
The solution for handling this complexity is to organize everything so that everyone involved in the development of the system can understand what to do, when to do etc.
The UML is the best solution for this organization.
2. DEVELOPMENT OF UML
The UML is a standard language that was conceived to assist in modeling complex software systems by using a common object-oriented notation. Originally the brainchild of Rational Corp.'s Grady Booch, James Rumbaugh, and Ivar Jacobson, the UML is rapidly becoming the de facto standard for describing and sharing system design data. For example, Microsoft has chosen the UML as its notation for its repository product to aid in sharing common software components among different third-party modeling and programming tools. Many other software vendors have lined up behind the UML, including Popkin and Platinum Technology [8].
The basic idea behind developing UML is to provide the development people with a design language that would be used for the development of computer applications. Just as we create the blueprint of a new building, similarly UML diagrams will document how software system will be built. Terry Quatrani has defined the notation as, "… the standard language for specifying, visualizing, constructing and documenting all the artifacts of a software system."[9]
The introduction of UML is by far the most exciting thing that had happened to the software industry in the recent years.
All the other engineering disciplines have a standard method of documentation.
Schematic Diagrams are used by Electronic Engineers.
Mechanical Engineers and Architects use blueprints.
Now the UML is for the Software Industry.
The UML has become a standard modeling language because it is independent of any programming language.
Precisely, UML is a graphical language for the visualization, specification, construction and documentation of the artifacts of a software intensive system, as well as for
Business modeling and other non-software systems.
UML belongs to the Object Management Group (OMG) not rational, as many people believe [9].
2.1 UML FEATURES
Syntax only
Independent of any language, process and tool
Properly documented
Comprehensive
The UML is just a language. It does not tell us what diagrams we should create. Rather, it tells what are the model elements and diagrams available. UML is independent of any language, process and tool. No matter which high-level language we are using .it is up to the case tool that we will use for mapping the
models into code. For creating models we need to have certain process other than the use of UML itself. We can use any tool depending upon the application. Notation guide is available for any references.
2.2 UML ARCHITECTURE
Software Architecture is made up of concurrent multiple views. UML provides a dynamic view of the system. It has 4+1 view architecture.
(Fig. 1) [1]. The 4+1 views allow developer to comprehend a complex system in terms of its essential characteristics. The views of the system architecture are not completely independent. Elements of one view are connected to elements in other views. [3]
Figure.1 4+1 View Architecture of UML
The Logical view of the system describes the functional requirements of the system i.e. what the system should provide in terms of services to its users [2]. The Logical Architecture is described with the help of class diagrams statechart diagrams. This view has a Main Diagram by default. Additional diagrams can be added through out the analysis and design process. [7]
Implementation view describes the actual software module organization within the development environment. The modeling elements in this view are Packages and components with their connections [2]. This view contains the information about the software, executable and library components for the system. This view contains only component diagrams. The component view contains a Main diagram by default. Additional diagrams can be added to this view throughout [7].
The Process view focuses on the run-time implementation structure of the system. In Rational Rose, the information for the process view of architecture is created as diagrams in the Component view of the tool containing either run-time or executable components. [2]
The Deployment view maps software to processing nodes. Deployment diagrams are created to show different nodes along with their connections in the system. The Deployment diagram visualizes the distribution of components across the enterprise [2]. This type of diagram is most useful in a distributed architecture environment where we might have applications and servers at different locations. This view contains only one diagram – the deployment diagram [7].
2.3 UML DIAGRAMS
UML Diagrams are a set of resources that provides many perspectives of a system during Analysis and Development. They are used for planning, design and implementation tasks depending upon which view of the system we want. Therefore we can clearly understand a complex system from many angles.
UML only specifies what diagrams can contain and the rules for connecting the elements but it does not specify what diagrams should be created or what they should contain. Thus UML Model tells what a system is supposed to do. It does not tell How to do it at high level.
Below is the brief description of all the diagrams. Few projects can utilize all the available diagrams or some can utilize only those diagrams that provide a useful and beneficial view of our system.
Use-Case Diagram: - The functionality of the system is defined by the Use-Cases and Use-Case Diagram contains all Use-Cases available in the system Use-case diagrams can be used during analysis to capture the system requirements and to understand how the system should work. During the design phase, use-case diagrams specify the behavior of the system as implemented. Rose automatically creates a Main use-case diagram in the use-case view. There are typically many use-case diagrams in a single model. . A Use-Case Diagram usually consists of following elements.
- Actors are actually not part of the system. They are the people or the users that interacts with the system. It can be a person or another system. An Actor is denoted as
- Use-Case: - The functionality by which the Actors interacts with the system.
Class Diagrams: - A Class is a collection of related properties and behavior. A class diagram helps you visualize the structural or static view of a system and is one of the most common diagram types. A UML Class Diagram consists of several classes connected with relationships. Class diagrams are also the foundation for component and deployment diagrams. Rose automatically creates a Main class diagram in the logical view. There are typically many class diagrams in a single model [7].
- Class name by convention starts with a capital letter.
- Attributes are the perspective of class. It describes range of values that the property may hold in object of the class.
- Operation is the signature of the functionality that be applied to the objects of the class. It includes parameters that the operation works on, parameter types and if operation is a function then we must specify its return type.
- Associations are the solid lines between classes that enable interaction between the objects of two different classes.
- Multiplicity is a special type of association that shows the number of objects from one class relate with a number of objects in another class. It can be one-to-one, one-to-many, one-to-zero, one-to-exactly n etc.
- Inheritance is the property by which one class can inherit the properties of another exiting class.
- Generalization is a property in which a child class is a substitutable for a parent class.
- Aggregation is a special type of relationship in which a class can consists of a number of component classes.
Activity Diagram: - It is a general-purpose flowchart that is used to detail a business process. An activity Diagram consists of various steps called Activities and Decision Points and Branches. It has a starting point, end point and transition from one activity to another. It is often beneficial to create an activity diagram early in the modeling of a process to help you understand the overall process. Activity diagrams are also useful when we want to describe parallel behavior or illustrate how behaviors in several use cases interact [7].
State Chart Diagram: - State Diagram shows the different states of an object depending upon the stimuli that causes the object to change its state. It shows the states of a single object. A statechart diagram is typically used to model the discrete stages of an object’s lifetime, whereas an activity diagram is better suited to model the sequence of activities in a process [7]. For e.g. when computer is in screen saver mode and if we press any key or there is a movement of mouse then the computer makes a transition from screen saver mode to the working active mode.
Sequence Diagram: - It shows how the objects interact or communicates with one another over time. It means that Sequence Diagrams show the exchange of messages between several objects in a specific time delimited situation. Sequence Diagrams put emphasis in the order and the time in which the messages to the objects are sent. Vertical lines show the object’s lifespan. This type of diagram is best used early in the design or analysis phase because it is simple and easy to comprehend. [7]
Collaboration Diagrams: - This diagram shows the associations among objects and the messages the objects send each other. The difference between Sequence Diagram and Collaboration Diagram is that the Sequence diagram is arranged according to the time and Collaboration Diagram is arranged according to space. We can present object creation, multiple objects and returned values in a Collaboration Diagram. We can use collaboration diagrams as the primary vehicle to describe interactions that express decisions about system behavior. [7]
Component Diagram: - It shows the software component, interfaces and dependencies. A Component Diagram represents a real world item of a software component. They show the organization and dependencies among software components, including source code, binary code, and executable components. You can create one or more component diagrams to depict components and packages or to represent the contents of each component package [7].
Deployment Diagram: - This shows how the physical type will look when nodes (computing resources like processor, device) are connected with a line called connections. They also show interface objects.
3. INTRODUCTION TO ERP
Businesses always face great problems in rapidly making out required information because of immense data, departmental arrangement and many others. There was a need to overcome this problem. The problem was not only with financial gain but also roiled clients who were made to hold off for a long period for a tiny piece of data. ERP is a boon for the businesses to manage its important parts including planning, purchasing, maintenance, and interaction with suppliers, customer services and tracking orders. It helps in diminution of organizations operating costs and boost-up the efficiency of operations as a result of integration of all parts of an organization. An ERP system helps in automating the business processes and enable trustworthy information capture and retrieval.
ERP is intended to reduplicate business processes like how do we record a sale, how do we verify hourly worker’s paychecks in software, guide the employees responsible for those processes through them step by step and automate the procedures desired. ERP helps us to put the resource of an organization to the best possible use.
4. BENEFITS OF UML IN IMPLEMENTING ERP SYSTEMS
It is a standardized and widely accepted visual modeling language that helps in improving the efficiency of communication between different business actors through the use of a clear and precise language [5]. Different UML Diagrams are available to represent various business activities.
The software system is professionally designed and documented before it is actually implemented. The reusable code can be easily spotted and coded with the highest efficiency as the system is designed first. This results in lower development costs.
With the help of UML, we can develop the systems that are both memory and processor efficient. UML provides a suitable way of modeling the needs in the deployment of ERP software.
5. RATIONAL ROSE TOOL
Visual Modeling is the process of graphically depicting the system to be developed. It allows presenting essential details of a complex problem and filtering out the non-essential details. It also provides a mechanism for viewing the system to be developed from different perspectives. [7]
The modeling of a software system is essential as it helps in identifying requirements and is used for communicating information. It keeps a focus on how system interacts without getting stuck in specific details. It can also describe relationships among design components. As a common graphical language is used, so it improves communication across the team. [7]
Rational Rose is an object-oriented Unified Modeling Language (UML) software design tool intended for visual modeling and component construction of enterprise-level software applications. In much the same way a theatrical director blocks out a play, a software designer uses Rational Rose to visually create (model) the framework for an application by blocking out classes with actors (stick figures), use case elements (ovals), objects (rectangles) and messages/relationships (arrows) in a sequence diagram using drag-and-drop symbols. [6]
Rational Rose documents the diagram as it is being constructed and then generates code in the designer's choice of C++, Visual Basic, Java, Oracle8, CORBA or Data Definition Language. [6]
There are several advantages of using Rational Rose for development work because a model-driven development results in increasing developer productivity. Use-cases and business-focused development results in improved software quality. A common standard language--the Unified Modeling Language (UML) --results in improved team communication. Reverse-engineering capabilities allow us to integrate with legacy Object-Oriented systems. Moreover, models and code remain synchronized through the development cycle. [7]
It provides the realization of the ER methodology using UML notation to bring database designers together with the software development team. This tool provides an intuitive way to visualize the architecture of the database and how it ties into the application.
5.1 A USE-CASE DIAGRAM OF THE ERP SYSTEM AT HIGH LEVEL
Use cases are used here to describe the functionalities of an ERP system. The actors of the system can interact with the help of use-cases. A use-case diagram includes various use-cases, actors and the relationship between actors and use-cases. The use-case diagram shown in figure.2 illustrates the various subsystems of the entire system. [3]
Figure.2 use-case diagram at high level
As we know an ERP system is very large and complex. Therefore there is a need to divide the whole ERP system into small subsystems. This makes the system more manageable so that it is easier to understand by other people [3]. The use-case diagram shown in figure.2 describes a conceptual ERP model in which there are eight subsystems namely Sales, Distribution, Accounting, Project Management, Human Resource Management, Quality Management, Materials Management and Production. These all are the subsystems except for “Access management” use-case. Each of the subsystems defined can further be divided into other subsystems.
5.2 AN ACTIVITY DIAGRAM OF THE SALES ORDER ENTRY SUBSYSTEM
An Activity Diagram is used to show steps i.e. activities as well as decision points and branches. It is usable for representing any operation in a business process. The figure.3 shows the Activity Diagram of a Sales Order Entry subsystem. In this diagram, a filled-in circle represents the starting point and end-point is represented by a bull’s eye. The activities are shown as rounded rectangles; diamond boxes represent Guard Conditions that are similar to decision boxes in flow charts. The solid bars known as Synchronization bars (Vertical or Horizontal) represent parallel activities.
Figure.3 Activity Diagram of Sales Order Entry Subsystem
In this activity diagram, if customer places an order, then it checks that customer is demanding a valid item or not. If not, then an error message is raised; otherwise there is a transition to the next stage to generate the Price-Order after fetching the price from the Price-List. Afterwards, Customer Credit from the Customer Master Data Store is checked afterwards. If credit equivalent to Price-Order is available then the availability of items is checked otherwise a relevant error message is sent to the customer. If the items are available, then the order is accepted otherwise “Out of Stock” message is transferred to the customer.
After this correspondingly, a success message is transferred to the customer, Sales Order Master database and Inventory Master Data Store are updated along with updating the Transaction History Database.
After successful completion of all these activities, the customer order is created.
5.3 DEPLOYMENT DIAGRAM
The Deployment Diagram shows the relationship among hardware and software components. They are used to represent run-time component instances and their associations. The physical resources are represented as Nodes. Interfaces and objects can also be shown in a Deployment Diagram. Typically a Deployment Diagram shows how a system will be physically deployed in the hardware environment.
Figure.4 Deployment diagram of a Conceptual ERP system
In the Deployment diagram (shown in figure. 4), the 2-tier client/server architecture of ERP system [3]. This architecture facilitates the addition and replacement of subsystems without modifying the related subsystems. Client and Server are the two nodes. The server node consists of web-server, database and eight subsystems. Web Application Server is used to provide the flexibility to combine the functionality of the ERP system with the other data sources.
6. CONCLUSION
An ERP system helps in automating the company’s business processes by employing an integrated user interface, an integrated data set, and an integrated code set. Before ERP systems came into emergence, companies need to store all the important business records in many different departments. Different departments use different systems and techniques to manage that information. Therefore the information is duplicated many times within an organization without necessarily being identical or similarly up to date. A vital business objective of ERP systems is to enable each department to know what is happening in the every department and to
get appropriate data in order to keep records up to date. Therefore an ERP system is not always easy to implement and therefore requires a clear understanding of all the elements of the system to develop a correct solution of the problem. So, we have used the rational rose tool to develop the sales order entry module of an ERP system. A use-case diagram and a deployment diagram is also implemented.
7. REFERENCES
[1] “Applying 4+1 view Architecture with UML2”, http://www.sparxsystems.com.au/downloads/whitepapers/FCGSS_US_WP_Applying_4+1_w_UML2.pdf
[2] Terry Quatrani, “Visual Modeling With Rational Rose 2002 and UML”, 2007
[3] Jae-won Park and Nam-yong Lee, School of Computing, college of Information Science, Soongsil University, Seoul, Korea. A Conceptual Model of ERP for small and Medium-Size Companies Based on UML. IJCSN International Journal of Computer Science and Network Security, VOL.6 No.5A, May 2006
[4] Sashi Thangaraj (SAIC), “F2F_UML_Intro_Presentation.pdf “, Introduction to Unified Modeling Language, NCCIB Software Development Processes Facilitating Systems Interoperability
[5] Crag Systems, “A UML Introduction Tutorial”, http://www.cragsystems.co .uk /ITMUML
[6] http://searchsmb.techtarget.com/ sDefinition/0,sid44_gci516025, 00.html
[7] Jignesh Patel, “CS 554-Tutorial, Introduction to Rational Rose”, http://www.slideshare.net/jignesh/cs554-introduction-to-rational-rose”
[8] http://www.dbmsmag.com /9809d08.html
[9] Terry Quatrani, Rational “Introduction to the Unified Modeling Language”
|
|
 |
 |
 |
|
 |
|