Project 12

Project Name: 
Delivery12
Process Model
Modeling Tool: 
ADONIS
BPMN 2.0 Model (.bpmn): 
BPMN 2.0 Model (.pdf): 
Effort Process Model: 
25hrs
Workflow Implementation
Execution Tool: 
Bonita BPM
Test Report: 
Engine Setup: When setting up the Bonita engine on the server, we were facing problems with connecting to the database (see also e-mail sent on Thursday!). Although Bonita is now running on Server 1 and also connected to the database on Server 1, we still cannot connect to the application remotely. Database setup: We set up the database on Server 1 by using before written sql-files for creating the tables and inserting data. Task 1: For the customer login I have a problems with database configuration in order to take the data from db tables. After login, there will be a main page where the pending and already delivered meals will be displayed (get the status also from db). There is also a link to choosing a meal page where the customer can choose from a list of already defined meals. Bonita's UI Designer is used for all pages. The database tables also represent a business object which properties can be get and updated. Task 2: For calculation the distance between the user's location the the restaurants' location I used the org.gavaghan.geodesy library. I tested the code with a short main method with different locations looked up in Google Maps, to be sure that the correct restaurant is returned. This java code is packed into a .jar and imported to Bonita Studio. There I set up some business and local variables and instantiated them, calling my java code. Long time I tried to connect to the databased, but then switched to the embedded one for implementation. Task 3: For this task problems with the login persisted. In it a user is led to a page that asks him to choose a payment method. The binary choice is either a cash payment or with a card. If cash is selected, the order is considered executed and the time is saved in the database. If card is selected, another page with a form is shown. Everything in the form should be filled with correct data. Correct in this case would mean: Credit card number which is 12 digits, a Card Holder Name which is at least one character long, Expiration date that could be any month of any year, Secret Code that is 3 digits long. If all these requirements are met order is considered executed and the time is saved in the database. The requirements are as simple as possible for students and not to be used in real life environment. Most of the work is done using Bonita. Task 4: Wrote a Java Code that generates a random number between 5 and 30 (min and maxCookingTime) and then sets the timer for that time (in minutes). The code was tested and .jar file was imported into Bonita. Since we had a problems with database connection I couldn't test it on server, but the time should be calculated according the chosen meal, and after the time is up it should alert the customer that his food is ready. Task 5: Calculated the distance the delivery service needs from the chosen restaurant to the customer. Based on that, calculated the time, it takes to deliver our meal +/- some random (traffic) factor. Java Code was tested and and jar file imported into Bonita. BPMN diagram was imported from Adonis and failures corrected from last assignment. Tried to test Java code but as we had problems with the (remote) database connection, tests could just be done locally.
Effort Implementation: 
25hrs
23hrs
25hrs
22hrs
18hrs