Home
- Homepages
Contents
1. Controller Dee Figure 11 A Team web application MVC model The model consists of JavaBeans which are the following Database connection class Classes for pizza extra pizza element objects Classes for customer data and order data Classes for other functionalitv such as Email Controller has three servlets Staff Interface servlet Customer Interface servlet Excel document servlet 36 The servlets interpret input parameters and manipulate JavaBeans accordingly Then the request object is dispatched to the View View consists of JSP pages Both Customer and Staff interfaces have one primary JSP file The View uses information from the Controller and input parameters to determine which other JSP files fragments to include to the main pages 5 5 Design Issues During the project we have created a MySQL database which is working well on the current system However we have faced an intrinsic database problem It includes the functionality of deleting items from the menu After deleting one of the items from the menu the orders do not reflect the original order as the price changes and the number of items in it Asa temporary solution we have provided an Excel report option for the staff interface to keep track of previous orders 37 6 Coding The major part of this project was the coding The team faced rather a steep learning curve as initially we had not heard of servlets or JSP After fam
2. Press Clear Database link Press OK to confirm your choice 11 Generate Report Opening accounts xls You have chosen to open BI accounts xls which is a Microsoft Excel Worksheet from http localhost 8080 What should Firefox do with this file Open with Microsoft Office Excel default O Save File CI Do this automatically for files like this from now on C Press Get Accounts in the left hand side navigation Inthe following pop up press OK View orders 12 Change Status Change status to Ready see Ordered Orders 4p Change status to Delivered see Ready Orders 5p To correct order status see All Orders 5p 62 Customer interface user manual 1 Place an order P A Team Pizza Welcome to A Team Pizza Would you care to Press PLACE AN ORDER button on the left hand side navigation or click Place an Order link in the home page Press HOME PAGE button on the left hand side navigation to go back to the home page After clicking one of the option you will be redirected to Enter Postcode page 2 Enter Post Code Click Login link if you are a returning customer Enter postcode if you are a new customer and press Submit Query Note o If you are not in the delivery area you will get a Note about this 63 ab24 3He Submit Querv f Proceedto Pizza Design Press Proceed to Pizza Design in order to create a pizza 3 Create Pizzas Add a
3. To add another pizza press Add another Pizza To edit pizza press Edit Pizza To delete pizza press Delete Pizza To edit extras press Edit Extras To delete all extras press Delete all Extras To Confirm your order press Confirm Order last chance to pull out You have placed an order please pay by cash 68 Appendix 2 Example agenda and minutes There follows an example each of the agendas and minutes we took during meetings Agenda CS5946 Meeting Thursday August 7 1pm Meston GO1 Present Afolabi Akinrimisi AA Edward Dobson ED Ishaku Jilemsam IJ Godfrey Maclayton GM Adetoun Osuntuyi AO Craig Stewart CS Kristina Tamosauskaite KT Apologies N A Agenda for meeting on Thursday 7 8 2008 1 Discuss progress with installation of Eclipse and Tomcat 2 Discuss progress with CS5540 practical exercises 3 Discuss Ul interface 4 Forthcoming tasks to be completed before Monday 5 Prepare for Friday meeting 6 AOB 7 Date of Next Meeting Monday 11 August 1pm Meston GO1 69 Minutes CS5946 Meeting Thursday August 7 1pm Meston GO1 Present Afolabi Akinrimisi AA Edward Dobson ED Ishaku Jilemsam IJ Adetoun Osuntuvi AO Craig Stewart CS Kristina Tamosauskaite KT Absent Godfrev Maclavton GM Apologies N A Minutes of meeting on Thursdav 7 8 2008 1 Discuss progress with installation of Eclipse and Tomcat Deadline todav All installed and working except IJ Unsure a
4. grey images In this way the jsp developer is isolated from having to worry about the active inactive status of the tab and merely has to insert the line shown above The customer interface servlet uses SSL and HTTPS for the part of the web page where login information and address details are entered Normally this security feature is configured via the web xml file However as the same servlet is used for both the secure and non secure parts we have configured the redirection to and from the secure parts manually in the servlet The staff interface servlet is designed in the same way as the customer interface but it is much less complicated It uses the same beans as the customer interface and has methods for staff actions such as adding new toppings extras and bases The major difference is that it implements basic HTML security It prompts the user for a username and password when the page is first accessed by the browser One other special feature of the staff interface servlet jsp combination is that it has a JavaScript function which refreshes the page every 30 seconds if you are looking at the orders This means that if a new order is added to the database it will show up on the screen within 30 seconds without the staff member having to manually refresh the page The third servlet in the application is the Excel servlet This creates a report of all of the orders in the database and also provides a summary of how many items of each to
5. Tools Window MySQL Enterprise Help 3 Server Informati S SATA Schema Tables Schema Indices l Views I Stored procedures Service Control a pizzasystem QD Startup Variables B All tables of the pizzasystem schema BA User Administration c 7 Se MEM d Table Name a Engine Rows Data length Index length Update time Server Connections es T bases InnoDB 3 16 kB 0B Kl Health E customer InnoDB 3 16KB OB E E T extras InnoDB 3 heke 0B g Replication Status Im Serena InnoDB 2 16KB 0B A erderedtoppings InnoDB 7 16KB 0B Gp Backup T orders InnoDB 2 G 0B 3 GG Restore E pizzas InnoDB 3 16kB 0B e EE ES ij toppings InnoDB 5 heke DB Schemata f 8 information schema B8 mysql 3 pizzas pizzeria 8 project 7 serviet 8 test 8 testproject DS HE Create Table Edit Table Maintenance Refresh customer ID PK ID PK ID PK name e name Email price price password HouseNo Street Town Postcode PizzalD PK OrderID FK BaselD FK makes gt orderedtopings lt consists of OrderID PK PizzalD PK ToppingID PK lt consists of orderID PK customerlD FK date status ID PK name price orderedextras OrderlD PK ExtralD PK Figure 14 Database EER Model 46 8 Testing Several tests were carried out to evaluate the svstem for both the cus
6. a thing or two with the pizza s he is about to order After having analyzed it we have distinguished the following features This interface is slightly better than that of Pizza Hut but it still has some problems For example the letters S and D might not be understood by some customers Even though there is a key on the side which states what these letters mean it is not very visible and some customers may not see it Furthermore some of the text on clickable buttons weren t clear enough For example the button Back to pizzas naming is ambiguous which might be misinterpreted by the customer and lead to errors 17 ECCE Customise Your Pizza Register Vour store Aberdeen Kittvbrewster AB24 4RZ 01224 482232 Your order Topping Customise your American Hot When you re done click Update to see the tem Qty Price Prices j i Smk 0 90 p ip e American Hot 7 1M 13 49 oi Which size Which base Your pizza total Update Lge 1 10 l Large 13 5 sl Reguler sl 1 3 49 Key Sauces SD Cheeses SD JI BBQ Sauce OO Mozzarella Cheese Ho p Pizza Sauce D Reduced Fat Cheese o Sundried Tomsto GarlicSsuce 0o help Toppings SD SD F Anchovies Domino s Herbs oo Free Garlic Butter OO Green Peppers oo Total 19 49 DP Ground Beef OO Ham Em Doub Jalapeno Peppers H Meatballs oo pri Mushrooms D Olives D Onions NU Peppe
7. goals D days Tue 05 08 08 Tue 05 08 08 100 6 Background study D days Wed 06 0808 Wed 06 0808 100 t Further research D days Sat 09 08 08 Sat 09 08 08 100 12 Practice creating servlets D days Sat 09 08 08 Sat 08 08 08 100 13 Practice creating JS Ps D days Sat 09 08 08 Sat 09 08 08 100 15 Review specification 1 day Sat 09 08 08 Mon 11 08 08 100 16 Design prototoype 4 days Tue 12 08 08 Fri 15 08 08 100 17 Design database 4 days Tue 12 08 08 Fri 15 08 08 100 18 Choose hardware and software 6 days Sat 16 08 08 Mon 25 08 08 100 22 Evaluate so ftw are 2 days Sun 17 08 08 Tue 18 08 08 100 19 Troubleshoot problems 3 days Mon 25 08 08 Wed 27 08 08 100 24 Make adjustments 2 days Mon 25 08 08 Tue 26 08 08 100 20 Resolve conflicts 2 days Tue 26 08 08 Wed 27 08 08 100 25 Mini presentation 1 daw Thu 28 08 08 Thu 28 08 08 100 Figure 3 Using software to monitor project progress 12 2 4 Project Review Scheduled meetings provided an excellent wav to manage project scope creep Regular meetings to review and discuss progress helped to manage changes and eliminate those that are not crucial to the success of the project The review also provided the opportunitv for testing the product deliverable evaluate its performance and document lessons learned The lessons learnt and the results of test and evaluation will be discussed in the following chapters 13 3 Svstem Analvsis In designing this svstem a studv was carried out on similar svstem
8. its field a password reminder would be offered If any field is left empty an error message indicating that the particular field cannot be left empty would appear At the create pizzas section the customer would need to click the add a pizza button at this section at least one pizza order needs to be placed This takes the customer to the next page where they are required to add a base and topping s A base must be selected from the drop down box without which the customer would be unable to proceed to the next step Toppings can be selected by ticking the squares without a topping being ticked the customer would be unable to proceed to the next step Multiple pizzas can be created by clicking the button Create another pizza and can be viewed towards the right hand side of the create pizzas page If the customer has more than one pizza in the order they can edit or delete the pizza by clicking the respective links Edit Pizza or Delete Pizza Once the pizza is created to the customer s satisfaction he may click the proceed to next step button This takes the customer to the next page where he could choose extras Extras can be added by clicking the Increase Quantity button and removed by clicking the Decrease Quantity button The price of the extras and total price of the order are listed just below the Extras table 26 The customer mav then proceed to the next step where thev are required to login or register if
9. post codes in order to determine if they live in an area served However Pizza Hut has a clearer naming and view of this option than Domino s Pizza 14 zza tut DELIVERY HOT amp ONLINE your favourite Pizza Hut pizza is now just a click away _ Wisit the restaurant Enter your postcode CED back again log in gt Want a table for your next get together to book yours find ENA your nearest restaurant Postcode o AMERICAN AN IRRESISTIBLE FUSION OF FLAVOURS Hungry Order online now with your postcode V Find your nearest store here istomer fr Click Here mm Pizza by TXT ELI Pizza by mobile phone Click here OUT Login Register Get straight to the good stuff For an even faster service Store Locator View All Stores Food Guide Contact Us Franchise Information The Business Terms amp Conditions Privacy Figure 5 Domino s Pizza home page 15 What is more both svstems have the log in option in the home page and register option is displayed only in Domino s Pizza home page This has suggested to us that we should also include post code verification as well as log in options to our system to be allizze fut DELIVERY your order Your local hut tem Description ABERDEEN KING ST 1 Medium Pan Margherita addiremove toppings 4 a AB241WU remove e Minimum order 7 99 Enter the voucher code lok Total 849 s Max
10. 10 Practice creating servlets Odays Sat 09 0808 Sat 09 0808 9 Practice creating JSPs Odays Sat 090808 Sat 09 08 08 12 Design 13 days Sat 09 0808 Wed 27 08 08 Review specification 1day Sat 090808 Mon 11 08 08 13 Design prototoype 4days Tue 12 08 08 Fri15 08 08 15 Design database 4days Tue 12 0808 Fri15 08 08 16 Choose hardware and sc Bdays Sat15 08 08 Mon 25 08 08 17 Troubleshoot problems 3days Mon 25 08 08 Wed 27 08 08 18 Resolve conflicts 2days Tue 25 08 08 Wed 27 08 08 19 Implementation 13days Sun 17 08 08 Wed 03 09 08 Evaluate software 2days Sun17 08 08 Tue 19 0808 13 20 Coding 9days Fri22 08 08 Wied 03 09 08 22 m Make adjustments 2days Mon 2508 08 Tue 26 08 08 23 ke Mini presentation 1day Thu 280808 Thu 28 08 08 24 Write report 4days Thu28 08 08 Tue 02 09 08 25 e Project closure 3days Wed 03 09 08 Fri 05 09 08 e Presentation and demons 1dav Med 03 09 08 Wed 030908 26 l The team was able to identifv the tasks that are most important and the tasks that can be delaved without affecting the completion of other tasks or the overall project Being aware of critical tasks such as the installation of Tomcat the team made adjustments to ensure that the project is completed on time Tasks were documented to provide a paper trail and minutes of meetings kept records of the teams activities about who did what and the dates thev started and completed them This made the tracking of progress easier problems were solved as the
11. D Status Date Street 24 High Street 2008 09 02 Town Glasgow 2 Ready 11 5722 0 4 Post Code GE35 IRF Change to Delivered ID Status Date Street 10 My Street 2008 09 05 Town Aberdeen 3 Ready 11 52 03 0 b Post Code AB24 Change to Delivered To view items ordered in a particular order click an order table To change status of a ready order to Delivered press Change to Delivered 59 The delivery address is listed next to the order on the right hand side 6 Delivered Orders Delivered Orders Street 10 My Street Town Aberdeen Post Code AB24 OrderID Status Date Total Price 2008 08 31 Devered 56020 1940 To view items ordered in a particular order click an order table The delivery address is listed next to the order on the right hand side 7 Items in an order hello email com Pizza ID 1 5 90 Extras 5 00 Base large base coke x3 Toppings Isd x2 Cheese Pepperoni Basil Pizza ID 2 3 00 Base medium base Toppings Cheese Basil Total Price 13 90 Click an order table to see ordered items see above 4 5 or 6 Inthe items page you will see e Customer email in the top of the page e Pizzas ordered base and toppings e Drinks and sides 8 All Orders 60 All Orders Total Address OrderID Status Date Price Delivered 2008 0831 940 aT m dint Delivered tus Date Total Address Price 2008 08 31
12. GE i Lockpicking Vault E Creating a Java Edip Ed s ecipse tomcat int Bi Most Visted DR BBC iPlayer Home NE TY Ustings RadioTim welkome to Watch Th E channels com watch DR BEC NEWS Help 1 BB E p fii Sub Query Proceed to Pizza Design Screen 3 Customer required to create pizza Ble Edt yew men Bookmarks Toos Help Q c x a oerte tre roce ncm Et c j llli Most Visited SR BBC Player Home BE TV Lstnas RadoTm B Wekeme to Watch TR EY chennels com watch OB BBC NEWS Help 88_ Lodissdang vauit E cresting a Java de 7 Lett n smalbase 140 Create anomer pizza JI Proceed to next Step 28 Screen 4 Customer required to choose extras De Edt yew Hgtoy gookmarks Toos tep e QU X A D ntofocanost 080 612203 Interface d0 jsessomd 772E9 7BSFDC9SS8864F 7ACC 19879C5 1A focus Choose Extastoos 102 DEE J i Most Visted OM BBC Payer Home IM TV stings Rado Tim Welcome to Watch Th E channels com wetch m BBC NEWS Help BB Lockpicking Vault E Creating a Java Edip Ed s ecipse tomcat int ess Decrease Quay increase Quant Decrease Quae mens KW e FM Screen 5 Customer required to login register Customer Interface Mozilla Firefox Ble Edt yew inn Bookmarks Tods Hep 6 TG OX e GE JB j di Most Visited IB BOC Care Home ME TY Ustings RadoTm Welcome to Watch Th EB chanel com watch MB BBC NEWS Hel 188 Lodpiding ve El
13. LL 0 Q BaselD ib INT 5 CI UNSIGNED ZEROFILL Comment InnoDB free 3072 kB Indces Column Deka Index Settings Index Name PRIMARY Index Columns Use Dragn Drop T PRIMARY Index Kind PRIMARY Index Type BTREE M Apply Changes Discard Changes Screenshot 6 Pizzas table 77 MySQL Table Editor l Ete Table Name orderedextras pizzasyster ix Comment InnoDB free 3072 kB AUTO Column Name Datatype ic Flags Default Value Comment DrderD B INTIS CJ UNSIGNED ZEROFLL 0 H ExtralD gt INT 5 CI UNSIGNED CI ZEROFILL 0 Indices Index Settings Indes Name PRIMARY Index Columns Use Drag n D rop T PRIMARY Index Kind PRIMARY Index Type BTREE x Screenshot 7 Ordered extras table 78 4O MySQL Table Editor Table Name orderedtoppings Database pizzaspstem Comment InnoDB free 3072 kB Columns and Indices Column Name Datatype Default Value Comment OrderlD 3 INTE CI UNSIGNED ZEROFILL 0 PizzalD B INTE CI UNSIGNED CJ ZEROFILL 0 1 ToppinglD B INTE CI UNSIGNED LI ZEROFILL 0 Indices Column Details Index Settings PRIMARY Index Columns Use Drag n Drop BI PRIMARY Index Name Index Kind PRIMARY Index Type BTREE Apply Changes Discard Changes Screenshot 8 Ordered toppings tabl
14. NED L ZEROFILL Email PA WARCHAR 30 CI BINARY Q password b VARCHAR 30 CI BINARY HouseNo S VARCHAR 15 L BINARY Q Street EN WARCHARI25 CI BINARY Q Town PS VARCHAR 25 CI BINARY Q Postcode PS VARCHAR 10 CI BINARY Indices Foreign Keys Column Details Index Settings Inde Nam PRIM ARY Index Columns Use Drag n Drop l l ID Email T PRIMARY Index Kind PRIMARY Index Type BTREE Apply Changes Discard Changes Screenshot1 Customer table 72 MySQL Table Editor ER E de Table Name orders Database pizzasystem Comment InnoDB free 3072 kB M Columns and Indices Table Options Advanced Options Column Name Datatype Nou me Flags Default Value Comment orderlD B MEDIUMINT S v wv UNSIGNED ZEROFILL Q customerD EN INTI5 CI UNSIGNED ZEROFILL Q date B TIMESTAMP v CURRENT TI Q status D VARCHAR 10 CI BINARY Index Settings IndssName PRIM ARY Index Columns Use Drag n Drop orderlD gl PRIMARY IndexKind PRIMARY sj Index Type BTREE ud Apply Changes Discard Changes Screenshot2 Orders table 73 MySQL Table Editor Table Name toppings Columns and Indices Table Opti Column Name 7 aD Q name Q price Datatype B INT 5 L VARCHAR 25 S INT 3 D fo Flags v d UNSIGNED CI ZEROFILL G BINAR
15. Ready 746560 5339 To view items ordered in a particular order click an order table To change status of an order select one of the 3 provided options in the drop down box 9 Edit menu Edit menu OO Street 10 My Street Town Aberdeen Post Code AB24 Street 24 High Street Town Glasgow Post Code GE35 1RF rmm Edit Toppings Edit Extras CLEAR DATABASE We suggest you BACKUP Get Accounts and CLEAR the orders in the database before DELETING products to avoid corrupting the existing orders Create a Base To edit menu select one of the 3 options Edit Bases Edit Extras Edit Toppings Create a Topping Go to top topping name price in pence lt Create Topping 7 Delete item from the Topping list Go to top ID Name Price Cheese 50 Pepperoni 150 delete item 50 delete item Basil 50 delete item Un e Whe To add a new item e enter the name and price in pence 61 e pressa corresponding button Create Topping Create Base or Create Extra To delete an item press delete item 10 Clear Database Edit menu Edit Bases Edit Toppings Edit Extras CLEAR DATABASE gt DATABASE We suggest you BACKUP Get Accounts and CLEAR the orders in the database before DELETING products to avoid corrupting the existing orders The page at http localhost 8080 says Are you sure you want to CLEAR ALL ORDERS FROM THE DATABASE Click CANCEL to back up the orders or OK to DELETE
16. Universitv of Aberdeen Computing Science Department 2008 MS Information Svstems Group Project The A Team Pizzeria Web Application Supervisor Dr Bruce Scharlau Group members Afolabi Akinrimisi Edward Dobson Ishaku Jilemsam Adetoun Osuntuvi Craig Stewart Kristina Tamosauskaite Godfrev Maclavton Acknowledgments The MS Information Svstems group wants to thank to our supervisor Dr Bruce Scharlau for his help in the duration of this project Executive summarv Our Information Svstems group The A Team was set the task of building a pizza ordering svstem This svstem had to have a web interface for customers and a web interface for staff both built using Java Both of these had to be tied to a MySQL or MS Access database also created by the group The system had to include acustomer side interface to allow customers to order pizzas by choosing a base toppings and any extras such as a soft drink or other side dishes as they desire aAstaff side interface to allow staff to see orders placed and let them add edit or delete bases toppings and extras The following report will explain how the system was built describing any problems we encountered along the way and how we solved these problems in the six weeks we had to create the system Each phase of the creation of the system will be outlined covering the planning stage the analysis stage the design stage the implementation stage and the post implementation st
17. Y CI UNSIGNED CI ZEROFILL Default Value Comment PRIMARY Index Settings Screenshot 3 Toppings table Index Columns Use Drag Drop Index Name JPRIMARW PRIMARY Index Kind Index Type gt Apply Changes Discard Changes 74 4O MySQL Table Editor Table Name bases Database pizzaspstem Comment InnoDB free 3072 kB Q price B INT 3 Ed T PRIMARY Screenshot 4 Bases table 2 VARCHARI25 Flaqs CI UNSIGNED ZEROFILL O BINARY L UNSIGNED CI ZEROFILL Default Value Comment Index Settings Index Name PRIMARY Index Columns Use Dragn Drop Index Kind PRIMARY j Index Type 75 Apply Changes Discard Changes Comment InnoDB free 3072 kB Flaqs Default Value Comment Column Name yo S INTE C UNSIGNED C ZEROFILL Q name L VARCHAR 25 CI BINARY Q price B INT 3 CI UNSIGNED CI ZEROFILL Indices Index Settings Index Name PRIMARY Index Columns Use Drag n Drop Index Kind PRIMARY Index Type Screenshot 5 Extras table 76 MySQL Table Editor Table Name pizzas Database pizzaspstem Columns and Indices Table Options Advanced Options Column Name Datatype D I dc Flags Default Value Comment PizzalD B INT 5 v CI UNSIGNED ZEROFILL 0 OrderlD B MEDIUMINT S CI UNSIGNED CJ ZEROFI
18. age Table of Contents PCKMOW IEA EMENES A 1 Executive SUMMALY 3 oce eats Gadd Gales GAGA GAIA Cet tl Gas eR 2 beer 3 I Introduction ii l iben due 3 1 1 Project summat yi uite cet ere D uve tu o tte 5 L2 Team SUDA EE gt 2 Project ENEE 6 2 Scope and Scope E EE 6 2 2 Project lifecycle i id eoe aa a dik eie Liste Sei er pete 7 2 9 Cre ting Project Seliedules i ie nd 10 LNN Gantt Charts E 10 2 3 2 Project Documentation diede taciti iie cusddes 11 2 A Project REVIEW i niea e a Ee 13 ENEE EE 14 3 C onte xtuab E 14 4 Requirements Amalysls oer rev verarbeitet a xtut Eses S 19 4 1 Functional and Non functional Requirements sssse 19 4 2 Feasibility leeden ege deifste 21 43 Risk AnalysiS2 sete ba eli e tiu tagha an os 2 5 System Design ierit tetra PATRI a Ue eb e PNIS basi 23 SNO LU ie ea ME u 23 SUM PEO LOY US savers Se ees 24 5 3 Information Architecture odio stoesoe reor saad aeesasensnesasadaneaasananesaaaeossas 34 vE E crate T 39 2 9 Design ISSUCS PP 37 D GENEE smi dedic niue dris ee 38 12 Project Implementation AG e a g 44 MET ML a a daa Gaia wind A i saa ii a 47 8 1 Cognitive Oe E i ia ai a ER S E RAS RER TUYA EUASERA NER ANEEREE UNA 47 5 2 Heuristic Evalualn EE 47 9 Learning and Skills Development 48 IEN 50 10 1 Requirements fulfilment oer Erbe let edt 50 10 2 Limitations to the Project ss o isse yo Oe E RE UG Pa Sl dre 32 10 3 Future Deve
19. arious UI designs to the public Also being an analysis artefact it provides the design team the opportunity to explore various problems at an early stage in the project with various stakeholders Furthermore it is a potential foundation through which the system can be continually developed While designing the user interface a number of factors were taken into consideration in order to create a user friendly and dynamic system for the client Firstly there was an attempt to ensure that the navigation scheme is as clear and understandable as possible This was to ensure that users can easily navigate through our site and order pizzas Secondly there was an attempt to ensure that the labelling scheme used is consistent Platform conventions were followed and words in content and buttons were used consistently It s essential for the customer to feel comfortable with our site To achieve this the development team made use of the four visual design principles of repetition contrast proximity and alignment Repetition It s essential that users always know where they are and where they can go when on our site to aid this elements were repeated across the whole system This was achieved by the same colour scheme being used all through the site We also made use of global and local navigation to aid the user s movement through the system Contrast The principle of contrast was effectively applied when deciding the colour scheme to use all through
20. b application The scope was kept in check to avoid gradual increases that can undermine the success of the project Changes usually occur in small increments and therefore might seem negligible However these small increases add up leading to a scope creep which will eventually undermine or compromise the success of the project 2 2 Project Lifecycle The life cycle constitutes the five project management phases e Planning phase During the planning phase it was decided that we would use Agile Web Development method because it focuses on the development of the web application which is necessary to achieve desired results in a short period of time Furthermore the need to build the system and all the tasks required to achieve the goals were identified The people who would perform the various tasks and the resources required were also allocated The tasks dependent on each other were identified and the time required to complete them was drawn The entire team met and agreed on the project plan tasks that were assigned The team leader was responsible for satisfying the disparate priorities of the team members to meet project goals and constraints e Analysis phase This set the foundation for the project The project scope project goals and tasks required were defined by the supervising tutor The team then proceeded to conduct a requirements analysis determining project objectives assumptions and constraints and finally developing a plan on
21. bout GM 2 Discuss progress with CS5540 practical exercises Everyone currently progressing with Practical Week 3 All agree to stick to schedule Practical Week 3 to be completed by Saturday Week 4 by Sunday Week 5 by Monday 3 Discuss Ul interface Drop down menu for toppings will not work ED will look at how difficult it will be to program checklist Back button needed U will add to UI Shopping cart required so customer can see at all times what they are ordering IJ will adjust Registration details moved from start of sequence to end with just a postcode entry at the start IJ will adjust All adjustments to be done before next meeting 70 4 Discuss database Sides and Drinks need to be combined in database under the collective term Extras KT will make changes 5 Forthcoming tasks to be completed before Mondav Everyone complete CS5540 Practicals as per schedule deadlines All should be complete by next meeting if anyone has any problems bring up at Friday meeting or contact other group members over the weekend or contact Bruce 6 Prepare for Friday meeting Remember to complete weekly Personal Log to hand in 7 AOB ED s name means wealthy guy 8 Date of Next Meeting Monday 11 August 1pm Meston GO1 71 Appendix 3 Database screenshots Database Comment InnoDB free 3072 kB Columns and Indices Column Name Datatype 7 Flags Default Value Comment ID 3 MEDIUMINTIS CI UNSIG
22. bs was the same length Therefore we wanted the tabs to be generated at the appropriate size automatically Initially we tried to resize an image of the tab background for each tab This was not an ideal solution as it stretched the borders in an undesirable way and it was also impossible to implement the resizing of a background image in a table cell Therefore we would have had to use a normal foreground image img src the tab background and then manipulate the z axis We did however come up with a more elegant solution We divided the tab image into three sections the left and right edge sections and a small sliver of the central section In this way we were able to have three td elements for every tab with the central element repeating its background In this way we were able to have variable size tabs Our gif images were then adjusted to have transparent backgrounds as we realised this was cosmetically necessary To implement these navigational elements in a clear and simple way we created a custom tag file called tab tag This allowed us to use the following syntax in our jsp files myTags tab tabText Enter Postcode gt 42 The tag file sets the text of the tab to that supplied by the tabText attribute It compares this text with the request parameter focus and uses this information to decide if it has the focus at that particular time and therefore whether to use the active yellow images or the inactive
23. creating a Java Edp d ee hello email com locahost 3443 2 29 Screen 6 Customer finalize the order Interface Mozilla Firefox stor Ble Edt yew men Bookmarks Toos Helo Q ce x a Dmm TA dw iG j lli Most Visited MM BBC Player Home ME TV Ustings Rado Tm Welcome to Watch Th EB channel4 com watch MB S6C NEWS Help 68 Leder Vault I Creating a Java Edp Eds ediose tomestint Add another Pizza EarPuzs J Dott Puzo i Back End Staff updates an order orders This is the expected flow of events for the staff interface of our pizza site The prototvpe consists of eight screens Screen 1 Staff enters username and password to login Connect to localhost 2a x The server localhost at localhost 8080 requires a username and password Warning This server is requesting that your username and password be sent in an insecure manner basic authentication without a secure connection w Ga Remember my password L oe IL ee 30 Screen 2 Ordered orders home page Screen 3 Page showing the items in an order Screen 4 The Ready Orders page Total Price 10 30 31 Screen 5 The Delivered Orders page Screen 6 All Orders page Screen 7 The Edit Menu page Screen 8 The Edit Menu page The Global navigation for the staff interface consists of navigation buttons to the left hand side of each page labelled Orde
24. d benefits of the project and came to the decision that it is economically viable to start this project The software chosen for the development was free and considering the maintenance of the web application the client would need to pay only for web hosting database server and annual maintenance fees 4 3 Risk Analysis We considered the following risks that may arise in the project in order to try to pre empt their occurrence and offer appropriate solutions Team Risks Absence of team members for various reasons 21 Inexperienced project team Time constraint in terms of the duration given to complete the project Lack of knowledge on project topic Scope Creep Client User Frequent change of staff customer requirements Attempting to please the different types of users Application New problem domain technology Complexity in the project problem Expected Consequences Difficulties due to new domain technology Late delivery of the system Misunderstanding amongst team members Careful planning of the project helped us to avoid the possible consequences in case of any of the above mentioned risks 22 5 Svstem Design 5 1 Overview Design is a process of envisioning a solution to a problem under constraints and the representations of the product that are produced during the design process Design is a critical intermediate step between a statement of requirements and the constr
25. e 1 00 each 2items Increase Quantity Ii Decrease Quantity Isd 1 00 each 0 items Increase Quantity I Decrease Quantity pep 1 00 each Oitems Extras total 2 00 Order total 7 90 Proceed to next step To add any extra to an order press Increase Quantity To delete extra from the order press Decrease Quantity To proceed to the next step press Proceed to next Step 66 6 Registration Login hello email com If you are a returning customer but not logged in yet Oo O Q Note Enter your email address Enter your password Press Log in If you have entered a wrong email address a Note will be displayed to enter a valid email address If you have entered a wrong password a Forgotten Password option will appear In order to get password remainder press Get Password Reminder If you are a new customer O O Note Fill in all the required fields Press Register If you forgot to fill in any of the fileds a Note will be displayed to fill in a particular field s 67 7 Finalize Order Finalize Order Vour Order Pizza number 1 Base medium base With Toppings e Cheese e Ham Price 3 00 Pizza number 2 Base small base With Toppings e Pepperoni Price 2 90 Your Extras coke x2 Extras Price 2 00 Delete all Extras Grand Total 7 90 Please have this amount available upon delivery Confirm Order last chance to pull out
26. e 79
27. eport Re todays presentation RE presentation RE Exam times Exam times RE Some changes to presentation meeting Some changes to presentation 2 SO FAR SO GOOD A Team Presentation new page My side of the report Figure 15 Examples of communication among team members email Skype e Problem solving there you go price working e ib kristina savs 2008 08 30 22 31 25 LI 2008 08 30 22 31 29 ur amazing 2008 08 30 22 31 32 i EI 2008 08 30 22 31 45 e TM i have encounered one moore little malt prob 2008 08 30 22 31 51 but trying to solve i says any luck kristina says 2008 08 30 22 51 31 4 nope V 2008 08 30 22 51 41 D i guess u would have done itin a second QM 8 Emoticons f Videos A Set Font B kristina emarrassed i L should stop spea Personalise Ue Online Histav on A The team learnt to quickly identify problems real or potential and propose solutions Solutions were implemented without affecting project scope Appropriate decisions were made in a timely manner to prevent problems from adversely affecting the project 49 10 Conclusions MS Information Svstems group had a task to create a pizza ordering web application which has customer front end and staff back end The team started the project bv creating a project plan and distributing the work load among the team members by allocating specific tasks to each member Because of careful planni
28. ers page consisting of items ready to be delivered there is also an option of changing the status of the order to delivered which automatically lists the order in the delivered page The next screen 5 shows the Delivered Orders page listed here is the OrderID Status Date and Total Price of any particular order along with the delivery address of the customer Screen 6 shows the All Orders page consisting of all the orders that have been made there is a drop down menu under the order link tab consisting of Ordered Ready and Delivered options This is to allow changes to the status of an order in case an error has been made Screen 7 shows the Edit menu page where the staff can edit bases extras and toppings create a base as well as add and delete items by 33 pressing the corresponding button Create Topping Create Base or Create Extra To edit menu the staff is required to select one of the 3 options Edit Bases Edit Extras Edit Toppings The staff may also clear the database by clicking this link Clear Database Screen 8 To avoid corrupting the existing orders the staff is required to Backup and clear the orders in the database before deleting products This is done by the staff clicking the link labelled Get Accounts located at the left hand side of the page and pressing ok in the following pop up To return to the customer interface the staff has to click the customer interface tab at the top left hand corner of
29. etoun Osuntuyi System analysis task leader testing prototyping coding Craig Stewart Documentation task leader database design coding Kristina Tamosauskaite Database design task leader requirements analysis coding Godfrey Maclayton Database design 2 Project Management It is becoming increasingly important for IT professionals to master project management skills Judging the number of failed IT projects which put tremendous strains on business is becoming an imperative Needless to say that many IT projects fail because of poor project management A successfully managed project will increase efficiency and productivity which means increased profits return on investment and increased customer service satisfaction This project gave members of the team a chance to practice as well as apply skills and processes to activities in order to meet deadlines and achieve desired results The task had a start and end date and it was required to produce a specific deliverable or end product Each task had to be accomplished during the course of the project with the resources available 2 1 Scope and Scope Creep The project began by setting realistic objectives and establishing the scope of the tasks to be completed as well as the ultimate goal of the project along with the tasks required to achieve This means all the work required to research install software study new material and build the two interfaces customer and staff of a we
30. h PHP and MySQL second edition O Reilly 2004 8 Sid Kemp Project Management Demystified McGraw Hill 2004 Online sources Wikipedia 2008 Agile web development http en wikipedia org wiki Agile web development Accessed 26 07 08 Agile Software development http en wikipedia org wiki Agile software development Accessed 26 07 08 Systems design http en wikipedia org wiki Svstems design Accessed 28 08 08 Requirements http en wikipedia org wiki Requirements Accessed 30 08 08 Functional Requirements http en wikipedia org wiki Functional requirements Accessed 31 08 08 Non functional Requirements http en wikipedia org wiki Non functional requirements 54 Accessed31 08 08 Google 2008 Bredemyer consulting pdf document http www bredemever com pdf files NonFunctReq PDF Accessed 02 09 09 55 Appendix 1 User manual Table of Contents Home ER 57 INA at E ENDURO EEEE SNORE 57 2 A Team EE 57 Staff interface user manual 58 1 Entering the staff interface eeesneeeeeeeesesreesesererrsssreressrrersseree 58 2 Layout of WED page eee te ase Me tice ee SE 58 3 Navigating staff interface s e eae 58 4 Ordered Ordets aetas teen sine NOE NE a e pm eM dis 59 o Ready Orders os a VR IRI RTI IA ete NUR n Dna av UA ea 59 6 Delivered Orders iss si nasa ei oce da da 60 Ts items ENEE 60 SNENIESIG CET 60 9 Edit E EE 61 IO eegene Dido 62 I Gre
31. how to proceed The requirements analysis helped to identify the goals of the project as well as the problems or requirements that the project must resolve These were then translated into requirements The team realised that the success of the project depended so much on how closely the objectives were met The project deliverables were listed deadlines for final and intermediate tasks were drawn quality criteria for the deliverables and the need for all stakeholders to understand and agree to the project objective A major constraint which was recognised quite early in the project was the team s inexperience in developing enterprise projects and creating java beans The three major constraints time resources and scope were pointed out clearly right at the beginning of the project To overcome the constraints a statement of work was produced in which all the resources were required to install and learn new software complete practical projects individually to 7 enhance their understanding of enterprise development The tasks included installation of Tomcat to developing servlets and JSPs and connecting to a database that uses MS Access or MySQL e Design phase Full project execution started somewhat around the third week of the project and the progress was monitored by the supervising tutor This phase focused on how the system will work The designers main preoccupation was to review the requirements specification for completeness and
32. iliarising ourselves with these concepts by reading the book Head First Servlets and JSPs we then set about installing the appropriate software on our computers It took rather a long time to successfully install and integrate the MySQL Apache Tomcat and Eclipse programs When this had been achieved we built a very basic servlet and jsp web application which demonstrated that we were able to produce a program that e Ran within the Tomcat container e Had a web interface e Could read and write to the MySQL database Further reading of the head first book gradually introduced us to new concepts such as the MVC model and entity language We quickly realised that the true potential of the EL system could be unleashed if we re factored our project to implement JavaBeans Separating our entities into beans seemed like a lot of hassle at the time but as the project progressed and became more complicated we realised we had saved ourselves a lot of effort in the long run We created the bean classes initially to reflect the tables in our database but we also created a bean to handle the database connectivity The architecture of our bean classes was such that each bean except at the lowest level contained other beans The Order class is the top level bean and this contains a Customer some Pizzas and Extras The Pizza class contains a Base and many 38 Toppings The Base Topping and Extra clas
33. imum order 250 00 UPDATE PRIE v For Delivery ASAP CHECKOUT E Free Delivery Online Payment or order more Cash on delivery On Q sides Q desserts drinks ash on delvery turn it into a deal Get more for an extra 5 50 sides with cheese are charged at 0 50 extra Add the following to your Medium Pan Margherita and save up to 2 98 Garlic Bread Or Potato Wedaes Please select Any Side or Drink Please select Figure 6 Shopping basket page of a customer interface at pizza hut The screenshot above is the shopping cart of a customer who has created a pizza but has not ordered it yet 16 After we have studied this page we have pinpointed few features which are the following This particular page is not very user friendly because of a lack of some features The user might change his her mind and in order to change the base or size of the pizza but there is no option given for this This means that the customer has to remove the present pizza and start building the new one from scratch again Some of the customers might find this irritating However this interface does have some good features which we have opted for as well There is an option to add another pizza besides already created ones and a customer can order drinks or sides without having to go to a different page The screenshot of Domino s Pizza shopping basket page provided below is the shopping basket of a customer who wants to change
34. ither login or enter the postcode If a returning customer the user would be required to log in but if a new customer they would be required to Enter postcode If the customer enters a valid postcode beginning with AB they may then proceed to create pizzas If the postcode doesn t begin with AB a note would appear indicating the customer is not in our delivery area If login is clicked the customer would be transferred to the address details section Here they would be required to enter their email address and password if a returning visitor or complete an extended number of forms if a new customer 25 For returning visitors if a valid email address and password is entered thev mav proceed to create pizzas If a valid email address but an incorrect password is entered a Forgotten Password option would appear In other to get a password reminder the link Get Password Reminder needs to be clicked When the send password reminder link is clicked the user s password would be generated from the systems memory and the customer may then proceed to create pizzas If the email address or both the email and password are wrong the customer would be redirected to the please register your details section Letters making up an email address are case insensitive For new customers if all the forms are completed they may then proceed to create pizzas by pressing the Register button Once a valid email address is entered into
35. l confirmation for the customer of an order placed and items ordered Link for the post codes in the area Automatic street and town suggestions after entering post code and house number during registration Search option of a particular order in customer interface by an order ID Database improvements To include a feature to disable a particular item rather than simply have the option to remove it from the database This would be beneficial for two reasons as we could temporarily remove items and reinstate them for example when the stock has run out To include automatic stock checking and quantity updating which would be a useful feature All in all the system is flexible to certain extent considering the growth of the number of the customers and further development of the web application 53 Bibliographv 1 A Dennis B H Wixom D Tegarden Svstems analvsis and Design with UML Version 2 0 second edition Wilev 2005 2 Brett McLaughlin Building Java Enterprise Applications Volume 1 O Reilly 2002 3 Bryan Basham Kathy Sierra Bert Bates Head First Servlets and JSP O Reilly 2004 4 Comninos D The Practice of Project Management Kogan Page Ltd 2006 5 Geoff Reis Project Management Demystified Third edition Spon Press 2007 6 Gosling J Joy B Steele G amp Bracha G The Java language specification third edition Addison Wesley 2005 7 Hugh E Williams D Lane Web Database applications wit
36. lopmen s iesus Mete e a Met bli SHE eege 52 Bibhobsraphiy ess IP e 54 Appendices Appendix Leet Hang lei e ier A dadd 56 s JBrenteetido diee ete oie cite i s avoid d 58 GE fl D ta ao e s daa a etai is 63 Appendix 2 Agenda and Minutes esses eene eene nennen eene nnn 69 EB ciui 69 SE E Minute E 70 Appendix ER EEN 72 1 Introduction 1 1 Project summarv The overall goal of this project was to develop a svstem that would provide a simple user friendly interface for both online customers who wish to buy home delivered pizza and staff of the pizza delivery service It was decided that the best framework for this system was Java utilising Eclipse and Tomcat as well as MySQL to house the database 1 2 Team summary There was much multi tasking on this project which led to overlap of team members between tasks Each team member was allocated a specific task which s he was responsible for Other members had to join them in order to achieve the required results and to gain experience in all the fields of the project As a result each member had an opportunity to gain organizational skills as well as group work skills As a general overview these tasks were allocated to the following team members Afolabi Akinrimisi Prototyping task leader risks analysis coding Edward Dobson Team leader coding task leader Ishaku Jilemsam System design task leader prototyping project management coding Ad
37. nerate Reporta 2n dedo e eds e hee qubd det 62 TD CRANES Eabb eee ta Dd a Eu a nt 62 Customer interface user manual 63 I Place an ordets essi MU 63 2 Enter Post Code ene e Dat de oed Braeside 63 Dy Cr ate PIZZAS o eiie cou E OI au touche E sA E eI ESE E Sarena EES 64 4 Edit Delete PIzza oie eee e tse ER pai rapit nes 66 De Choose EXIEdS c i iben Hato deine Mese Sd A ad ties 66 6 Rezisttation EE 67 Js Finalize Ordet sted Meee fa AR ea eee cede 68 56 Home page A Team Pizza Welcome to A Team Pizza Would vou care to 2 1 Navigation The main navigation is on the left hand side It has 3 buttons HOME PAGE press to return to the home page PLACE AN ORDER press to make an order STAFF PAGE press to go to staff interface 2 The A Team logo Press logo to go to the home page of the web application 57 Staff interface user manual 1 Entering the staff interface Press STAFF PAGE button in the home page left hand side navigation Note User authorisation pop up will appear Connect to localhost ma x The server localhost at localhost 8080 requires a username and password Warning This server is requesting that vour username and password be sent in an insecure manner basic authentication without a secure connection User name Gor D Password e E Remember my password co o Enter username and password into the provided fields o Press OK button t
38. ng the team dealt with the time constraint successfully The Agile development methodology was chosen because of the project scope and short timeline The project was done in small iterations and incriminations Initially we brainstormed the requirements and created an early requirements specification which helped to track the tasks necessary This early stage resulted in a prototype which was created in order to assess if the requirements were met and to notice problems if any in an early stage Although during the project some additional requirements were added we have managed to avoid scope creep and left few requirements to consider for future development The web application was tested using Cognitive walkthrough Heuristic evaluation and HTML validation Both interfaces were accepted by the users positively and the web application itself conforms to the html standards as it is a valid html The system is secure and usable Overall project was successful and the team managed to deliver the anticipated outcome 10 1 Requirements Fulfilment Most of the initial requirements were achieved as well as the ones which were added in the progress of the development Functional requirements Staff The requirements for the staff interface have been achieved A member of staff is able to 50 Add and delete items in the menu However edit requirement was not met fully It is possible to do this considering the following flow of events A pers
39. nning organisational communication and problem solving skills e Planning Team members learnt to identify tasks that constituted the project understand ways in which tasks are dependent upon one another and know ways that project dependencies will affect the project as a whole Another important aspect of planning the team members have learnt was how to interact with project stakeholders and this includes the project manager project team members sponsors and of course the customers Stakeholders usually have an interest in a project and the power to exert influence in a positive or negative manner over the project e Organisation The project was an opportunity to work with disparate people One of the key achievements of the project was the chance to bring people together to work towards a single purpose and goal Boundaries were broken and individual skills level was developed in order to accomplish the goal It was evident that team members took ownership of the project judging by the commitment to the completion of the task The project plan was pursued methodically and all the resources were encouraged to begin and complete tasks at the proper time and also manage a variety of tasks simultaneously Members learnt to prioritise their tasks to stay within the project scope To achieve this the organisational structure for reporting the project was clearly defined as well as the roles and responsibilities of each team member e Communication Pr
40. not alreadv done so Once successfullv logged in or registered the customer mav then proceed to checkout at this point the deliverv address of the customer would appear on the page The customer then proceeds to the Finalize Order section where thev could add pizza edit pizza or delete pizza as well as edit or delete extras This can all be done bv the customer pressing the appropriate buttons Once the customer is satisfied with the order he may then click the confirm order button at the bottom right hand corner of the Finalize order page This then takes the customer to a page showing a confirmation of the customer s order As the design phase was an iterative process improvements to the user interface were continual leading to various additions and subtractions to the system This is a sample prototype of the expected flow of events for the customer interface of our pizza site taking the user from start to finish with the system The prototype consists of 6 screens Screen 1 Welcome Home Page Customer clicks on Place an Order Be Edt yew Hgtory Bookmarks Tools Heb re A L he keton KOPJI IiQ Tm B Welcome to Watch Th D chanmels com watch m BEC NEWS Help BB Lockpicking Vault E Creating a Jove Edp nm ET a Welcome to A Team Pizza B Most visited IB BBC Player Home WE TV ui Would you care to 27 Screen 2 Customer required to enter postcode De Edt Yew mn Bookmarks Toos tep O c x temmet
41. o 0 Y scroll This reads the value of the form element and scrolls in the y direction accordingly The third part of the solution is the bit that sets the pos parameter in the first last place As previously mentioned most user input results in action data parameters being set and the form submitted We now needed a penultimate stage where the pos parameter was recorded To achieve this we created another JavaScript function as detailed below function submitForm document getElementById pos value document documentElement scrollTop document getElementBvId updatecart submit This function is called bv the other functions when thev have updated the form information and want to submit This function reads the current scroll position and edits the form to reflect this Then when the page is reloaded the position can be set to this position The result could almost be overlooked but it does work and the scroll position is maintained over the submit reload cycle Some efforts had to be done in order to find a way to access the 41 scroll variable that was compliant with both Firefox and Internet Explorer but we eventuallv found a suitable candidate which was document documentElement scrollTop Another problem that we had which took longer than anticipated to solve was the local navigation at the top of the vellow area of the page The first problem was that not all of the text of these little ta
42. o enter staff interface o Press Cancel to quit logging in 2 Layout of a web page Choose Ordered Orders Ordered Orders m i Address Street 10 My Street eady Orders PN Town Aberdeen Delivered Orders a Post Code AB24 All Orders 11 58 06 0 Get Accounts ID Status Date s Address Street 24 High Street Town Glasgow 2008 09 05 Post Code GE35 1RF 11 58 09 0 L Change to Ready Navigation is on the left hand side Orders and their addresses are listed on the right hand side 3 Navigating staff interface Left hand side navigation 58 Choose Ordered Orders Ready Orders Delivered Orders All Orders Edit Menu Get Accounts To go to customer interface press Customer Interface To view ordered orders press Ordered Orders To view ready orders press Ready Orders To view delivered orders press Delivered Orders To view all orders press All Orders To edit menu press Edit Menu To get accounts press Get Accounts Ordered Orders Ordered Orders ID Status Date Street 10 My Street 2008 09 05 Log Abadan 1 Ordered 11 58 06 0 Post Code AB24 Change to Readv ID Status Date A Street 24 High Street 2008 09 05 Town Glasgow Ordered 59 09 Post Code GE35 IRF Change to Ready To view items ordered in a particular order click an order table To change status of an ordered order to Ready press Change to Ready 5 Ready Orders Ready Orders I
43. o implement this we created JavaScript functions for each action Some of these functions would take an argument that would become the data In the body of our jsp file we have placed a form element with hidden attributes This form is not visible to the user but its elements are updated by the JavaScript functions and then the form is submitted This is the method by which the servlet gets most of its information from the user There are a couple of cases where this action data model does not apply for instance when the user inputs his address details In this situation a different form is used with many 39 different parameters However this form also submits a hidden action field so the servlet knows which function to call and therefore how to process the information it is receiving The customer interface servlet looks for the action request parameter and if it finds it converts it to an enum element Assuming this is successful this enum is used to decide what action the servlet should take The servlet then contacts the appropriate JavaBeans for the action in question and performs the appropriate activities After performing the action specific tasks the request and response objects are passed to the main jsp file This jsp uses the focus parameter to determine which section of the website to display The servlet creates a session if one does not already exist This session is used to contain information about
44. o others within the team it is expected that each team member would have a different reaction to project plan modifications leading to conflict of interest Conclusions were alwavs reached bv agreement and there was no occasion on which the team leader had to veto a proposed change Thus based on recommendations the project plan was occasionallv adjusted without losing sight of the project s ultimate goal e Post implementation phase During the final days ofthe team s work together the project was evaluated to determine the aspects of the project that worked well and the changes that should be implemented in the future The team focused on deployment operation and maintenance of the system The project was considered as success because it was completed within the time frame specified and the finished product met quality standards Hopefully the team would receive a formal acceptance of the project deliverable from the supervising tutor and further recommendations after the project presentation and demonstration of the functionality of the system Design prototype Implementation Figure 1 Project life cycle Source CS5944 Systems Analysis notes Lecture 2 Systems Development 2 3 Creating Project Schedules Although experience is the best wav to become a project manager there is software available to help with the details of project management We have used Microsoft Project Manager software which enabled us to sched
45. oject team members have learnt to evaluate and communicate project data effectively Team members were required to hand in weekly report of team and individual activities to the supervising tutor Regular meetings with the supervisor kept informed of the progress of the 48 project Besides the meetings with the supervisor team members met twice a week which helped to keep the project running smoothiv and the regular communication helped manage scope creep The communication lines being constantly open helped participants to focus on areas that need immediate attention Various communication methods such as e mail text messages telephone calls and chat rooms Skype Yahoo Messenger were used during the project Hie From Subject Date 3 Size E Craig Stewart RE Report 713 AM 28KB Craig Stewart RE Report 6 45 AM 21KB Edward Dobson RE Report 3 6 16 AM 23KB E jilemsam samaila Re Report S Ed Online ee e m afolabi akinrimisi No Subject m adetoun adeola Re Report 4 Craig Stewart adetoun adeola adetoun adeola afolabi akinrimisi de jilemsam samaila Craig Stewart afolabi akinrimisi Craig Stewart Edward Dobson Kristina Tamosauskaite Edward Dobson Edward Dobson Aaa Kristina Tamosauskaite afolabi akinrimisi jilemsam samaila Edward Dobson adetoun adeola RE coding task Re Task distribution Re report D correction Re Task distribution RE r
46. on has to delete the particular item that need to be updated and then add a new one View all orders and orders grouped by their status Change status of an order Ordered gt Ready gt Delivered Correct order status in case of any mistakes View items in a particular order and the address for delivery Customer The requirements for the customer interface have been fully achieved A customer is able to Log in log out and register The registration form is validated and if any errors occur the customer is notified about it Check if s he lives in the area served by entering the post code Create a pizza by choosing any base and topping and add any extras to an order Delete and edit pizzas and extras in the order Non Functional Requirements All the usability operational and security requirements were met The web application has intuitive interfaces which are memorable and easy to use Only relevant information is listed The system Responds in a period of 2 seconds however it might differ if using slow internet connection or an old machine works on the most popular Internet browsers IE Firefox Opera and Operating systems Mac OS Linux Microsoft Windows XP Vista Is using SSL for customer interface and BASIC security for staff interface Has Forgotten Password functionality which was added due to the growing client requirements Provides real time database updates 51 Has clear and unde
47. pache Tomcat to serve requests using the https protocol Java Java programming language made it easier for the team to work from different locations since it could run on any hardware operating system platform Microsoft Windows Linux or Solaris This environment enabled portable server side applications such as Web services servlets and Enterprise JavaBeans Java Servlets provided the Web development team with a simple consistent mechanism for extending the functionality of the Web server and for accessing the business system Servlets are server side Java EE components that generate responses typically HTML pages to requests typically HTTP requests from clients Java Server Pages JSPs on the other hand are server side Java EE components that generate responses typically HTML pages to HTTP requests from clients JSPs embed Java code in an HTML page by using the special delimiters lt and 96 A JSP is compiled to a Java servlet Database The team chose to use MySQL as the relational database management system for the project because it an open source software and can run on many system platforms MySQL has command line tools and GUI administration tools which we have decided to install in order to speed up database design Other advantages of MySQL are its support for SSL and InnoDB for transaction and referential integrity 45 MySQL Administrator Connection root localhost3306 wee esee Ta File Edit View
48. pizza Press Add a pizza to proceed Note o You need to order at least one pizza to place an order 64 Create Pizzas Create vour pizza afer 40 base 2 00 FU Peppe chocolate biscuit 4 00 Ham fattened rabbit 3 41 Basil 0 50 O Price 0 00 Select any base from the drop down box Create Pizzas Create your pizza Base medium base 2 00 v Toppings Price Cheese 0 50 v Pepperoni 1 50 Ham 0 50 Basil 0 50 U Price 3 00 ff this pizza is completed to your satisfaction please choose one of the following Create another pizza Proceed to next Step Select toppings wanted by ticking squares To create another pizza press Create another pizza To proceed to the next step press Proceed to next Step 65 4 Edit Delete Pizza Create Pizzas Create vour pizza Base small base 1 40 Toppings Price Cheese 050 Pepperoni 1 50 Ham 0 50 OI opping Pepperoni Basil 0 50 O Price 2 90 If this pizza is completed to your satisfaction please choose one of the following Create another pizza Proceed to next Step If you have more than one pizza in the order you can edit or delete it Click Edit Pizza to edit it Click Delete Pizza to delete it To proceed to the next step press Proceed to next Step 5 Choose Extras Choose Extras Buy Extras Extras Price Quantity cok
49. pping base and extra have been sold 43 7 Project implementation Various technologies were used in the implementation of this project The subsequent sections will explain how these technologies were deployed to develop the interfaces Technologies used Eclipse We have used the latest Ganymede Eclipse version This software was chosen because of its capabilities to be extended by installing necessary development toolkits and because it is relatively easy to use It provided to us a better view of our project and easier navigation KEE new gt Project folder gq Deployment Descriptor lt Ac Java Resources src com pizzas if staffinterface java 4 d i com pizzas beans If Base java Customer java Dconnect java x Sourse codes Sp 4 b Packages Element java Extra java Mail java Order java Pizza java Topping java ES Libraries amp build lt a gt WebContent mi JavaScript Support R3 E S Ro ES 2 2 S Web pages JSP Figure 12 Eclipse Project view Tomcat LE As a requirement the project was developed on Apache Tomcat server an implementation of the Java Servlets and Java Server Pages technologies Tomcat is an open and participatory environment released under the Apache Software License The project team had the choice to 44 download the 5 5 or 6 0 version This would be the container or platform for developing and deploving the web application and web service The team got A
50. red orders Ready orders Delivered orders AII Orders Edit Menu and Get Accounts Clicking any of these buttons would take the staff to that particular web page where he would be able to view any particular order There would also be local navigation at the right hand side of each webpage this is to allow the staff move around the system and carry out the necessary functions For example within the Ready orders page there would be local navigation to items such as the order table Access to the staff interface page is granted to relevant members of staff granted privileges to do so To access the staff interface page the member of staff has to click the navigation tab on the left hand side of the customer interface page labelled Staff Page A User authorisation pop up will appear requiring the staff to enter a username and password Screen 1 failure to enter the appropriate username or password would give an error message The staff then proceeds to the Ordered orders homepage Screen 2 This webpage consists of an order table showing the OrderID Status Date and Total Price of any particular order The page also shows the delivery address of the customer and an option to change the order status to ready through the use of a tab this then transfers the order onto the Ready Orders page Clicking the order table takes the staff to screen 3 which shows the customers email address and items ordered Screen 4 shows the Ready Ord
51. roni s Pineapple DD RosstChiden im Roquito Sweet Chilli Peppers OO Sausage oo Smoky Bacon OO Sweetcorn oo Tandoori Chicken Dg Tomato oo Tuna Du Back to Pizzas Store Locator View All Stores Food Guide Contact Us Add to Order Franchise Information The Business Terms amp Conditions Privacy Figure 7 Shopping basket page of a customer interface at Domino s Pizza Overall the inquiry gave an idea of some important features on pizza ordering systems which were used in the design of our pizza ordering system It also exposed some of the flaws of already existing systems which helped us to avoid the same mistakes 18 4 Requirements Analysis Because of short timeline we have chosen to use agile web development method over the others It focuses on developing a web application quickly in iterations rather than step by step progress As a result this kind of method produces less documentation as other methods would do Thus having analysed the basic requirements provided by the client we have written the following requirements specification However due to time constraints of the project and the development method chosen we have not used UML diagrams to describe the system to be 4 1 Functional and Non functional Requirements Client The owner of the Pizzeria Users of the system Customer person who wants to order pizza s and any drinks or sides and uses web front end for customers Staff people
52. rstandable error messages which guide to the next step Additional functionalities Besides fulfilling the requested requirements we have added some new ones which are the following Staff is able to clear the database Staff is able to create a report of all the orders ordered and items sold 10 2 Limitations to the project To achieve the requirements of the project the following were chosen to create a dynamic web application Java programming language Servlets JSP Due to the lack of the knowledge and skills in developing web applications as well as the lack of experienced Java programmers the group members had to individually learn and search for teaching materials such as online tutorials for Servlets and JSPs and various level Java programming books In addition we had to install new programs and facilities which were used while developing the web application This could have been a limitation due to the time constraint However we stick to our work plan with few exceptions and managed to complete the project in time 10 3 Future development There are a range of improvements that we could make to the program given a little more time For the future development we have the following suggestions To create a straight forward edit item link 52 The reports for keeping orders documented could be generated in few formats Option for printing the report Option for sending the report to the email Emai
53. s that alreadv exist in the current market in order to determine their features navigation and functionalities This was necessarv because most of the likelv users of our svstem would have used other similar svstems To get a true representation of the svstems in use the group agreed to use Contextual inquirv for this purpose What is more the group also thought it was important to know other functionalities that the users would like to be added to a pizza ordering svstem To do this we have brainstormed the features of the svstem that would probablv appeal to the user Thus this analvsis was a kev for determining functionalities required which would help to if possible create a system that was more efficient and user friendly than similar systems 3 1 Contextual Enquiry In carrying out the contextual inquiry the group wanted to Determine major features of other pizza systems Detect both strengths and weaknesses in existing similar systems Determine what users are likely used to This is essential for ease of use Give a rough idea of how the system is going to be designed and what labelling schemes should be used for navigation For this reason the two popular systems Pizza Hut and Domino s Pizza were chosen to be studied The following two screenshots display home pages of both pizza ordering systems What we have noticed first of all was that both pages have a common feature The customers are required to enter their
54. ses are all extensions of the abstract Element superclass We arranged things in this way as these classes had many common methods and attributes Using the bean system meant that our jsp files could be free of scriptlets This is considered beneficial according to the Head First book as it enables web developers who are non java programmers to manipulate the jsp files without having to deal with the java element of the coding The beans also allow direct access to the bean attributes with the syntax bean attribute We found this particularly helpful However it soon became clear that where the attribute of a bean was a collection of objects another method was necessary in order to access the individual elements At this point we started using the Java Standard Tag Library The two tags that we used the most were the lt c forEach gt tag allowing iteration over a collection and the lt c choose gt and lt c if gt tags Using these tags we were able to provide a dynamic and interactive customer interface where the presented content is tailored to the situation at any given time To receive input from the user we decided that on most occasions we only need two pieces of information namely the action to be performed and the data that applies to that action An example of this is deleting a pizza from an order In this case the action would be delete pizza and the data would be the ID number of the pizza to be deleted T
55. tatus date total price address items in the order and their prices The error messages should be clear and should guide to the following step Evolution qualities maintainability extensibility and quality of service The system should work on the most popular browsers such as IE Firefox Opera and operating systems such as Microsoft Windows Linux and Mac OS The system should be flexible and easy to maintain considering further expansion of the web application and growing number of customers The system should respond within a period of 2 seconds 20 The updates should be done in real time and visible for the users of the system immediately after update 4 2 Feasibility Analysis In order to determine the viability of our project we have considered the following feasibility analyses Technical feasibility We have analysed how familiar we are with the technology and how we can use it in the most efficient and effective way We have determined how much time it will take to get used to new technologies and how many people would be needed to fully achieve the desired results What we have found out is that even though we were new to the technologies used it was achievable to complete the project in time without any delays We have determined the time necessary to learn all the functionality of technologies used and carefully planned all the aspects of the project Economic feasibility We have identified the costs an
56. the order being made and persists over many request response cycles We implemented url encoding so in the event of a user disabling cookies the site will still function correctly The session is also used to store the logged in status of a user A minor niggle with the site turned out to be quite a tricky problem to solve Namely that when the user clicks a link on the site for example one of the supplementary navigational tags at the top of the yellow box area the page reloads and consequently the page would scroll right to the top as this is the default position This was an undesirable characteristic of the site and we had to find a way to explicitly control the y scrolling position Our solution is a three part solution The first stage was to include another line in our invisible form input type hidden idz pos name pos valuez 0 param pos input This line creates a parameter pos and its value is set to be the existing pos parameter bl The zero precedes the reference to this parameter as in the event that no parameter is set e g 40 the first time the page is visited param pos would be null and therefore the value would simply be zero If param pos is not null the value is merely prepended with zero which does not affect its value When the page loads it calls the following JavaScript function function setPos var Yscrollzdocument getElementB vId pos value window scrollT
57. the site The text colour is black which is in contrast to the background colour of yellow 24 Proximity The global navigation links on the left hand side are in close proximity to one another so are the local navigation links at the top of each page which are also placed in close proximity to one another Alignment The principle of alignment was effectively used in order to create cohesion on each webpage The content at the centre of the page have all been aligned to the left When designing the prototype the development team thought it was important to have a logo so we created the name A Team Pizza situated at the top right hand corner of each page Our logo also serves as a link to the homepage of the web application Front End Prospective customers ordering a pizza The customer interface of our pizza site consists of the Global Navigation to the left hand side of each page labelled Home Page Place An Order and Staff Page We also made use of local navigation which are present on every page other than the homepage and are labelled Enter Postcode Create Pizzas Choose Extras Address Details and Finalize Order The first action that would be made by a customer would be to click the link Place An Order on the left hand side navigation or the Place An Order hyperlink on the centre screen of the homepage This takes the customer to the next screen where they would be required to e
58. the webpage 5 3 Information Architecture The group has agreed to use a hybrid organisational structure for the project The following figures represent customer and staff interface information architecture Figure 9 Information Architecture of the customer interface 34 T Orders Orders Orders Orders Items in an Order Figure 10 Information Architecture for the staff interface Bases Extras Toppings Schemes The pizza ordering system is designed using inexact organisational scheme Navigation In choosing labelling schemes for the navigation careful analysis was carried out on similar systems so that labels will be familiar to users Effort was also made to make labels easy to understand An active navigation is highlighted with a different colour from an inactive one This will prevent customers from being lost or not having an idea of where they are on the site 5 4 MVC Model To create our web application we have used MVC architectural pattern which separates tasks into three parts This pattern results in an easier maintenance of the web application if considering any changes in the user interfaces and business logic Model contains domain specific information on which the application is run 35 View represents actual html pages Controller gathers dynamic data and generates the content within html pages The following figure represents the architecture of our web application
59. to assure technical consistency and quality of the product In the course of the project different options were considered and the best option which complied with the standard and requirement of the end product as selected Decisions about hardware and software impacted on the final outcome to make the product technically economically and operationally viable Corrective actions were taken as necessary and as suggested Tasks were delegated and reassigned and conflicts resolved During this phase disruptions were detected and corrective measures taken as well as troubleshooting problems updating team members about project status and driving the project forward e Implementation phase The team met regularly to monitor the objectives as to whether they are being met and to work towards delivering the system The team focused on evaluating the flexibility and the reusability of software components as well as predicting system performance The system was developed in small iterations which resulted in prototypes After each iteration the actual data was compared with what was agreed during the planning stage and measures were taken to correct anomalies Thus adjustments were made as necessary Status reports were sent to members of the team to keep everyone apprised So if a code that would solve a particular problem was written by a member of the team this would be mailed to everyone Since project team members were forwarding plans and status reports t
60. tomer and staff interface 8 1 Cognitive walkthrough This method was used to evaluate the svstem from a user s point of view bv stepping through tasks and detecting where users might have problems Customer interface The svstem was evaluated to be efficient straight forward and easv to use Evaluators also liked the fact that the pages weren t cluttered which can sometimes confuse users Staff interface Overall the svstem was evaluated to be efficient labels used on navigations were clear and easilv understood the svstem was fast and the pages were not too cluttered The major problem detected is that there is no option to search for a particular order using its unique order number It was suggested that a search box should be included in the interface This was noted by the team and will be included in future developments as it is not a major requirement of our client 8 2 Heuristic Evaluation This is another method used to evaluate the usability of the system It was evaluated that users will not be confused with the label names used for navigation error messages were easily understood and found the system to be consistent with its layout Overall the system was evaluated as good easy to use and efficient 47 9 Learning and Skills Development Every member of the team would be taking away with them some software project management skills Working on the project has given members of the team the chance to develop strong pla
61. uction of a solution It produces a description of the solution and allows the behaviour of proposed solutions to be evaluated and compared The goal of the design phase was to provide a credible blueprint for implementation which satisfies both functional and non functional requirements as well as to ensure clear communication to programmers and other stakeholders The team focussed on the three main aspects of design Prototyping Information Architecture and Design Patterns A Prototype is a working model of look and functionality of envisaged product it s a model suitable for the evaluation of design performance and product potential Information Architecture refers to organising content and designing navigation systems to help users find the information they need The team then decided to use the Model View Controller Design Pattern This decision defines how the entire system is to be laid out in subdirectories and which parts deal with data transfers coding and the staff and customer interfaces J Preece et al Interaction Design Wiley 2002 Chapter 11 http www csd abdn ac uk jmasthof teaching CS554 1 lectures 23 5 2 Prototvping The need for the creation of a user interface prototype cannot be overestimated It s an iterative analytical technique which allows users to be actively involved in the creation of the UI for the system This is achieved by the design team using the prototype as a vehicle to communicate v
62. ule project start date project calendar necessarv tasks and their durations and project resources Whatever changes were made the software would recalculate the finish dates and adjust the calendar 2 3 1 Gantt Charts The team used project management software which contains Gantt charts to graphicallv displav project tasks and durations Each task is represented bv a bar with dates in increment of days and weeks displayed at the top The task duration is represented by the length of the horizontal bar and the left end of the taskbar marks the start date the right end marks the completion date Some tasks were performed concurrently some overlapped and some ran sequentially 10 tl Pizza place Figure 2 Gantt chart of the project schedule 2 3 2 Project Documentation Task Name Duration Start Finish Bang 08 Aug 08 Sep 08 OF 14 21 28 04 11 18 25010081 Planning 12days Thu24 07 08 Sat 09 08 08 Team formation 1day Thu 24 07 08 Thu 24 07 08 d Task distribution Odays Thu24 07 08 Thu 24 07 08 3 Practicals 8days Mon 28 07 08 Ved 0608 08 4 Backaround study Odays Wed 05 08 08 Wed 05 08 08 5 Further research Odays Sat 0908 08 Sat 09 08 08 6 7 Analysis 5days Sun 03 08 08 Sat 09 08 08 Installing Tomcat Odays Sun 03 0808 Sun 03 08 08 7 Requirements analysis Odays Mon 04 08 08 Mon 0408 08 9 Determining scope and or Odays Tue 05 08 08 Tue 05 08 08
63. v occurred and necessarv adjustments were made Documentation also promoted team member accountabilitv and it enabled the stakeholders to monitor various stages of the project 11 As mentioned earlier everv member of the team had to submit a log which documented achievements and problems that needed the coordinator s attention Issues that arose during the course of the project that required authoritative decisions in order for the team to complete tasks and keep the project on track were addressed The log also served as a backup documentation and members could use it to write their individual reports The team met regularly to discuss progress and to respond to project issues and unanticipated developments Variations were identified and addressed proactively responding to potential deviations to avoid crisis The team meetings also presented the opportunity to present new ideas to improve workflow solve problems inform team members of project status and make decisions Completed Tasks as of Sun 31 08 08 Pizza place ID Task H ame Duration Start Finish Comp Jul y 2008 3 Team formation 1 daw Thu 24 07 D8 Thu 24 07 08 100 4 Task distribution D days Thu 24 07 08 Thu 24 07 08 100 Practicals 8 days Mon 280708 Wed 06 08 08 100 August 2008 Practicals 8 days Mon 28 07 08 Wed 06 08 08 100 9 Installing Tomcat D days Sun 03 08 08 Sun 03 08 08 100 10 Requirements analysis D days Mon 04 08 08 Mon 04 08 08 100 11 Determining scope and
64. who check orders and edit menu using web front end for staff Scope The pizzeria has an online ordering system allowing customers to purchase items and staff back end allowing staff to manage incoming orders maintain them and edit the menu Assumptions The customers are expected to pay by cash when the order is delivered Based on the results of our contextual enquiry we have distinguished these requirements Functional requirements Member of staff must be able to add edit and delete items in the menu View ordered ready for the delivery and delivered orders change status of an order ordered gt ready gt delivered 19 View items ordered in a particular order seethe customer s address for the delivery Customer must be able to Register login and logout of the system Check the area served by entering the post code Choose any base toppings and extras drinks and sides and add them to an order Delete the items chosen Non functional requirements Execution qualities security and usability The registration system provided for the users of the customer web front end should include the functionality of Forgotten Password which would be sent to the user s valid email account Registration log in and log out facilities should be implemented using secure medium The system should be memorable and easy to use The orders must contain all the relevant information order ID order s
Download Pdf Manuals
Related Search
Related Contents
ー 保管方法 Snapper 28088 Lawn Mower User Manual Conair Infiniti BE86R User's Manual 十二指腸内視鏡の洗浄及び滅菌又は消毒方法の遵守について(PDF Válvula de detención Fisher 377 - Welcome to Emerson Process Teclado Ejecutivo Axim con tecnología inalámbrica Bluetooth User Manual for IMAGE IQ UI Corner Interactive System Software Samsung Galaxy Note (10.1) manual do usuário(CLARO) operation manual manuel d'utilisation bedienungsanleitung FR - Mode d`emploi Powerpack - Francais Copyright © All rights reserved.
Failed to retrieve file