Wegman’s Deli Kiosk
description
Transcript of Wegman’s Deli Kiosk
Senior Project Fall Semester Review
Wegman’s Deli Kiosk
Presented by the DELI-cious Developers
Daniel Larsen Tim Heard Jared Schutt Warren Shaw
Project OverviewTechnology Stack & Technology RationaleDesign Trade-OffsMethodology& Risk ManagementSystem TopologyHigh Level Server Design& Server Subsystem DesignHigh Level App Design& App Subsystem DesignTesting & MetricsCurrent ProgressQuestions & Comments
Agenda
Develop a Deli Kiosk Solution to be used in Wegman’s StoresOrders are generated by customers from a kioskGenerated orders are printed to the deliFilled orders are placed in designated pickup areaAll information is processed on a local server
GoalsMitigate long wait times and congestion in front of the Deli CounterIncrease customer satisfactionProvide long term solution that can be integrated into current technology
Project Overview
Technology Stack
Technology Rationale – Why Not…
Team has little knowledge of iOS development
Development Fees
Availability of technology for developers
No utilization of native tablet featuresCaching and device compatibility concerns
Difficult to control user experience from a kiosk
Forces dependencies on a server, increasing customization costs
Availability of technology for developers
Developers prefer not to program in java/android
Sponsor maintainability
Technology Rationale – Why…
Familiarity with development languages
Full control over User Experience
Wegman’s development parity
Stick to a full Microsoft Stack for compatibility and ease of use
Hardware availability
Team Foundation Service
Task / Req / Risk TrackingAutomatic BuildsOnline Code ViewingIntegrated Testing in BuildsGit IntegrationWork Item/Code Integration
Technology Rationale – Why…
Trade-offs of Initial Design
Dual App Single
App
Fat Client Thin
Client
Incremental Build ModelMethodology
5 Iterations5 Deliverables
Rationale Combines elements of waterfall and prototyping Product evolves over each iteration Testing occurs earlier in lifecycle Better customer visibility Continuous risk management Sponsor gets prototype faster than waterfall
Methodology
Requirements Elicitation Started at high level and refined to granular level Identifying Stakeholders and Goals User Scenarios and Use Cases Priority Management Prototyping
Methodology
Methodology multiple iterationsHorizontal slice vs Vertical slice
Excel sheet with all Risks, ordered by REMultiple domain expertsTFS Tasks
Risk Management
System Topology
High Level System Design - Server
Server Subsystem DesignDynamic Workflow
Server Subsystem Design
Server Subsystem Design
Server Subsystem DesignWorkflow Constraints
Client
Server
Where do we enforce workflow logic?
Server Subsystem DesignCreating an Order
Application Subsystem Design - Features
Duality
Admin & Customer app in
one
ReportAll orders, all transactions,
even employee efficiency
Monitor
Every order that is placed
Keep TrackOf your entire order with a
shopping cart
Receipts for both customer and employee
Customize
Thickness & Tonnage for each
item
View
Promotions of special products
High Level Design - Application
Unit: 80% line coverage minimum
Usability: With the sponsor and actual end usersTime and Data Benchmarks
Stability Testing – Server running all the time
Continuous Builds & Unit Tests through TFS
Testing
Process MetricsTask Slippage
the number of tasks needed to be done vs the number that were actually done.Estimation accuracy
Overall estimation of tasks versus actual timeTechnical Metrics
Requirements VolatilityTesting Coverage
Functional: % of functions coveredClass: % of classes covered
Personal Metrics:Number of un-started tasksAverage time spent fixing problems
Metrics
70% finished with current iteration. Currently on task to finish this iterations functionality
Iteration planning for next iterations complete – Features become more complex as iterations continue
Printing works, Windows app made, WCF communications work
Current Progress
Printer Difficulties
IIS deployment
WCF Service setup
Windows App Development
TFS
Reflections
Questions?
AppendixServer : Printing Subsystem
AppendixServer Reporting Subsystem
AppendixServer: Data Management Subsystem Updating
AppendixServer : Order Retrieval Subsystem
AppendixServer : Order Processing Subsystem
AppendixServer : Admin Subsystem
AppendixServer : Authentication Subsystem
AppendixServer : Gateway Subsystem
AppendixKiosk : Order Management Subsystem
AppendixKiosk : Deli Item Subsystem
AppendixKiosk : Reporting Subsystem
AppendixKiosk : Cart Management Subsystem
AppendixKiosk : Admin Subsystem
AppendixKiosk : Splash Screen Subsystem
AppendixKiosk : Gateway Subsystem