Enterprise System for Mobile Point of Sale

1. Introduction

The Mobile Application DSM solution has been created to demonstrate the power of Domain-Specific Modeling, and its applicability to the UCSSM Mobile Application domain. The DSM solution can generate full Mobile Applications directly from models. All the main concepts of UCSSM Mobile Applications are represented, but code is not yet generated for a few as-yet-unused relationship types. With those additions, the DSM solution would be ready for piloting in a real project.

1.1 Objective of the DSM solution

The general objective of the created modeling language is to speed up development time and raise the level of abstraction of Mobile Application development away from the details of C# code. The resulting language allows the use of familiar Mobile Application domain concepts and provides generators that create Mobile Application-compliant C# code and associated UI definitions.

1.2 Basic principle

The developer models the required application structure of login, menus, transaction forms, detail forms, detail pages and graph pages by placing these in a graphical diagram and specifying their names, options, fields to show and other information. The developer draws relationships of various types between the forms and other elements to specify how they are connected, i.e. how a button press or menu selection in one form triggers another form – as well as actions on the server. From this application structure diagram the basic application classes and UI files are generated.

2. Example model and generated application

Figure 1. Example model

An example model is shown in Figure 1 above, and the resulting generated application in Figures 2 to 6 below.

At the top a List-style login (Figure 2) is specified in the orange Start symbol. After successful login the application moves right along the Transition to a Menu (Figure 3), which will contain a button each for Purchase Order and Item Detail, the objects linked to it by numbered blue Contains relationships.

Purchase Order (Figure 4) is a Transaction Form (green title bar), and will contain a grid with columns of Description, Cost and Quantity, along with a Total column that will show the value of Cost * Quantity. Below the grid will be a Grand Total field that will show the sum of all such Totals in the order. The D relationship to Item Detail specifies that the Purchase Order Transaction Form will have a View Detail button, which when pressed will take the user to the Item Detail form.

Item Detail (Figure 5) is a Detail Form (blue title bar), and will contain three tab pages, linked to it by numbered blue Contains relationships. The first page is Details1, which will contain the Description field (whose value the user can edit), plus read-only BarCode and Price fields. The second page, Quantities, displays read-only On Hand and On Order amounts. The third page, Graph1, shows a graph of SoldQuantity over the last 8 days.

Item Detail is also reachable directly from the main menu. In that case, a Detail Form has initially blank values, but allows the user to select a given Product by entering its code. The values for that product are then shown as normal in the tab pages. The + relationship specifies that Item Detail will show an "Add to Purchase Order" button, which will add a product selected in that way to the current order.

Figure 2. Login screen

Figure 3. Main Menu

Figure 4. Purchase Order form

Figure 5. Item Detail form

Figure 6. Server log