SlideShare a Scribd company logo
1 of 7
Download to read offline
A Case Study in the Design of a Restaurant Management System
Wesley Williams, Devon M. Simmonds
Department of Computer Science
University of North Carolina Wilmington
{waw5709, simmondsd}@uncw.edu
Abstract
Teaching software engineering at the undergraduate
level is an exciting and challenging undertaking. Students
come to software engineering with a variety of technical
and sift skills which have to be strengthened, honed and
channeled to produce desirable results. This paper reports
on the development of a restaurant management system as
part of a first course in software engineering. Results and
lessons learned are presented.
1. Introduction
At the undergraduate level, software engineering is taught
as both one-semester and two-semester course sequences.
In either format, teams of students create software with a
level of complexity commensurate with the course
sequence format. A familiar strategy to aid the teaching
and learning process is to have students develop software
in application domains to which can relate or are familiar.
Restaurant management is one such domain.
In the experience of the authors, some restaurant
management software while having reasonable utility
features geared towards tracking money and profits, seem
to have a significant lack where intuitiveness and usability
are concerned. Some restaurant management software
has weak or non-existent security, and in some cases,
functionality needed for day to day operations are only
available to managers. This results in the undesirable
situation where access to manager-level functions are
granted to lower-level employees. These problems may
have resulted from the designer’s lack of domain
knowledge, or from a lack of user involvement in the
design process.
This paper reports on the design of a restaurant
management software created as a team project in an
undergraduate software engineering course. The overall
goal of the project was to create an application where both
utility and usability are addressed. In particular, the
software should be easy to navigate and use while
providing basic restaurant management and security
features. In addition, the software should grant each
employee a level of access that is commensurate with the
duties and responsibilities required in performing duties.
When deployed, the application will serve as a single
working “point of management” system that acts as both a
terminal for taking orders and a terminal for generating
reports and managing changes to employee records.
2. Project Plan
The main focus of the project was to create a single
working “point of management” restaurant system that
acts as both a terminal for taking orders and a terminal for
generating reports and making changes to employees or
items on the menu. Project planning was done to define
the scope of the project, assess risks, and estimate and
schedule project activities and thereby lay the foundation
for the execution, monitoring and control of the project.
System
Manager
Server
Employee
Sign In
Manage Order
Manage Employee
Manage Inventory
Database Admin
Generate Report
Access Database
Figure 1: Use Case Diagram
2.1. Project Scope
2.2. The overall scope of the software is reflected in
the use case diagram shown in Figure 1. Major
software functions of the restaurant management
system include managing orders, inventory, and
employee records, and generating reports.
Order management includes creating and deleting orders,
adding and removing items from an order and closing
orders. Orders should also be stored in the database to be
used to calculate total sales. Inventory management
includes adding new products, deleting products and
updating products and resources.
The software is responsible for a number of other
functions. Our software must be able to add employees,
edit their information, and remove employees from the
employee database. Menu items must be added, edited,
and deleted from the menu item database. Items that can
be ordered must be able to be added and removed from an
order. All employees must be able to clock in and clock
out. Servers must be able to do what all employees do as
well as take orders. Managers should be able to do what
all employees do and be able to edit item and employee
information and generate reports. Reports that should be
generated include sales reports showing sales by food
category and the total sales from the start of the day.
Orders should also be stored in the database to be used to
calculate total sales. For a complete look at desired
functionality see page six.
The non-functional requirements of the project included
creating an intuitive, simple application that performs
consistently. To achieve these goals the project should
make menus effortlessly navigable and group user
interface (UI) components in a manner that makes them
easy to find. In addition, it was the opinion of the
development team that giving each employee the
appropriate level of access to resources was imperative
for usability and security.
2.3. Risk Plan
Table 1 shows three risks that were identified for the
project. The first of these risks is that of losing a member
of the development team. This risk has a higher
probability of occurring during the first weeks of the
semester and diminishes as the semester progresses. The
other two risks are more likely to occur and may occur at
any time. As such, risk prevention strategies were
developed and enacted. For example, soft copies of all
documents were stored by all members of the
development team to mitigate against loss of project
artifacts.
2.4. Project Estimates and Schedule
Estimates for time and resources were calculated based on
a developed work breakdown structure (WBS) for the
project. The first two layers of the WBS is shown in
Figure 2. Based on the WBS, tasks were assigned to
members of the development team as shown in Table 2.
The table identifies the persons who had primary
responsibility for the development of a specific artifact or
the management of a project task. However, all the
members were given opportunity to modify and perfect
artifacts and tasks assigned to other team members.
A schedule of tasks for the project was developed. The
result is shown in Figure 3. The chart shows that
implementation, testing and software design were the
major project tasks, with implementation and testing
consuming slightly more time than design.
Risk Prob. Impact Priority Actions
Losing a
project
member
2 9 10 Make sure
every team
member has
updated
copies of
work done by
all team
members.
Hardware
breaking
down
4 2 10 Make sure
every team
member has
updated
copies of
work done by
all team
members.
Task
takes
longer
than
expected
3 3 2 Trey will be
free for
helping other
members once
the initial
setup of the
database is
complete.
Table 1: Risk Assessment
Project
Management
Requirements
System
Design
Implement
ation
Testing/
Deployment
Monitor
Progress
Estimate
Resources
Asses
Risks
Evaluate
Results
Analyze
Functional
Requirements
Analyze
non-
functional
requirement
s
User
Interface
Database
Work Breakdown Structure
(The First 2 Layers)
Restaurant
Management
Project
Figure 2: Work Breakdown Structure
The project team was compromised of a group of
individuals with diverse programming and technical
backgrounds. Most had experience programming in
JAVA and .NET and most team members had a good
grasp on the problem domain as many of them had
worked in the restaurant industry at some point in their
lives. Management was partially done via electronic
means such as email and phone calls since many of the
members have different and often conflicting schedules.
The project manager scheduled one meeting per week for
face-to-face communication and to verify the project
status gain consensus and review completed individual
tasks.
Task Herbert Kyle Jacob Wesley
Project Planning
Resource List X
Work Breakdown
Structure
X
Resource
Estimation
X
GANTT Chart X
PERT Chart X
Responsibility
Matrix
X
Risk Plan X
Control
Mechanisms
X
Requirements
Analysis
Use Case Design X
Activity
Diagrams
X
Class Model X
Requirements
Dictionary
X
Limitations X
Non-functional
requirements
X
Software Design
Accept Payment X
Taking Orders X
Modify Orders X
Canceling Orders X
Sales Reports X
Labor Report X
Inventory Report X
Implementation
Database X
Check In/Out
System
X
Sales System X
Reporting System X
Software
Configuration
X
Table 2: Responsibility Matrix
ID Task Name Start Finish Duration
1 1.4w
1/15/2009
1/7/2009
Group Formation and Project Selection
Report Due
2 3.4w
2/9/2009
1/16/2009
Requirements Engineering Report Due
4 7w
3/27/2009
2/9/2009
Software Design Report Due
10 6.2w
4/27/2009
3/16/2009
Software Implementation and Testing
Report Due
9 3.2w
4/27/2009
4/6/2009
Testing
6 2.8w
3/24/2009
3/5/2009
Prototyping
7 2.2w
3/30/2009
3/16/2009
Implement Sales
8 1.2w
3/23/2009
3/16/2009
Implement Manager Functions
3
5 1.2w
3/9/2009
3/2/2009
Create Program Database
3.4w
3/3/2009
2/9/2009
Create Use Cases and Models
Figure 3: Schedule of Activities
3. Software Design
While it is acknowledged that design is not always
rational [8] and while we do not expect any silver bullet
[3], in our experience, software design becomes better
with practice and experience. For this project, the design
of the software included both architectural and subsystem
design. The architecture of software defines the major
software subsystems and the dependencies and
interrelationships among subsystems [1,2,4,6,7,10].
Architectural styles define a vocabulary for different
classes of architectures [5,9]. Examples of well known
architectural styles include pipe-and-filter, shared
repository and event driven. In this course, each software
development team was required to design the software
using two architectural. The architectural styles chosen by
the restaurant management team were the three-tiered
layered architectural style and the shared-repository style.
Database
CheckIn-CheckOut
Employees
Orders
Inventory
Items
Figure 4: Shared Repository Architecture
The shared repository architectural style is shown in
Figure 4. The design shows five major subsystems
interacting with a shared data store. While this design is
ideal for data driven applications that share a common
database schema, it constraints the evolution of the data
base as well as the data formats on the individual
subsystems. A layered architecture is shown in Figure 5.
Items
CheckIn-CheckOut
Employees
Orders
Inventory
Items
User Interface
Database Management
Employees
Orders
Figure 5: Layered 3-Tier Architecture
Employe SignIn Order
MainSystem OrderManagement
Clock DatabaseManagement
Item
Inventory
*
1..*
*
1
1
1
1
1
1 1
1..*
Figure 6: Class Diagram
alt
Login Menu
Management
Menu
Item Database
Edit Item Menu
Login()
SelectItemAndHitEditbutton()
loop [Done=false]
EnterChangesAndPressOK()
OK()
Done()
Cancel()
[Choice=cancel]
[Choice=enter]
Figure 7: Edit item Sequence Diagram
3.1. User Interface Design
Because of the nature of our project, an intuitive graphical
user interface was required. The user interface design in
Figure 8 is the JAVA Swing equivalent of the earlier
design. There are a few alterations that had to be made.
The buttons on the far right side on each screen have been
removed and put onto a single menu accessible after
login. On the first screen visible to the user we have
removed all buttons except the sign in button. The
functionality that was originally on this particular screen
has been moved to subsequent menus and screens. In
addition, we have added the clock functionality to every
screen in the program so that no matter which screen an
employee is viewing, he or she will be able to keep track
of time.
Figure 8: First user screen
The next screen (Figure 9) is where the employee can
choose which tasks he or she wants to do. Options that
appear grayed out are not available for the user that has
logged in. Managers have all options, servers have all
options except the management button, and finally normal
employee are only granted access to system to log in and
log out. All orders that are currently “owned” by this
particular employee are listed in the list above the “add”
and “edit” buttons. Below are three screenshots that show
this (Figures 10, 11, & 12).
Figure 9: Employee Task Menu
Management menu functions include the ability to add
and remove employees as well as items. Although our
group did not implement report generation, report
generation would be completed from the management
menu. Below are screenshots of the management menu
and the various submenus for editing employees and
items.
Figure 10: Ordering menu
Figure 11: Edit Item Menu
Figure 12: Item Type Selection
The ordering screen allows a server or manager to create
an order by selecting from four lists that represent the four
types of food: beverage, appetizer, entrée, or dessert.
When the item is selected, pressing the add button below
the list adds the item to a fifth list which is the actual
customer order. When the screen is exited, the
information is stored in the database. All the screens are
periodically updated with the current contents of the
database. The figure below is the ordering screen.
3.2. Test Planning
Three goals were identified for the test plan: reliability,
security, and usability. Reliability and security testing
was accommodated by constructing test cases and
comparing expected and actual results. Usability testing,
however, is completely different. Usability testing would
require some domain experts to use the software and
perhaps even deploy the software in a restaurant
environment. Due to the time constraints of the project we
were unable to perform any formal usability testing using
persons external to the development team.
Test cases were created to test adding, deleting, and
editing both items and employees. Specifically these test
cases make certain that employee and items are stored and
retrieved from the database correctly. Test cases were
also generated to perform boundary testing on how many
entries could be successfully added or updated. In
addition, test cases where created to verify the function of
the compare class, which is used to validate input. The
table of test cases listed on the following page shows what
kinds of tests were performed on the “add new employee”
function, the intended results, and the actual results.
Test
Case #
Description Intended
result
Actual
result
1 Add new
employee (0,
Devon,
Simmonds,
12.35, 3245)
Employee(1
, Devon,
Simmonds,
12.35,
3245)
MANAGER
Employee(1,
Devon,
Simmonds,
12.35, 3245)
MANAGER
2 Add new
employee (0,
John, Smith,
21.55, 1245)
Employee(2
,John,
Smith,
21.55,
1245)
SERVER
Employee(2,
John, Smith,
21.55, 1245)
SERVER
3 Add new
employee (0,
Dan, Rather,
14.35, 378)
Employee(3
, Dan,
Rather,
14.35, 378)
NORMAL
Employee(3,
Dan, Rather,
14.35, 378)
NORMAL
4 Add new
employee(0,
45, 54, 23.12,
234)
Error Employee(0,
45, 54,
23.12, 234)
NORMAL
5 Add new
employee(0,
Hugh, Laurie, -
13.45, 546)
Error Error
6 Add new
employee(0,
William,
Error Error
Shatner,
27.68, -1532)
7 Add new
employee(0,
Hernan,
Cortez, 5.68,
10)
Error Employee(0,
Hernan,
Cortez, 5.68,
10)
Table 3: Sample Test Cases
4. Discussion and Lessons Learned
Students had some difficulty translating the architectures
into design. As Parnas has noted [8], design rationality
evolves as designers gain greater visibility into the artifact
being designed and greater experience. This is especially
true of novice designers who have little grasp of core
design principles. One way to address this problem for
institutions with only one software engineering
undergraduate course is to introduce architectural
concepts in the programming courses that precede
software engineering. A second approach would be to
introduce architectures very early in the software
engineering course using problems and solutions from the
earlier courses.
Students reported that their biggest challenge was time
constraints. Implementation takes an extraordinary
amount of time and a large amount of coordination.
Scheduling project meetings around individual group
member’s schedules creates many difficulties. Many of
the group members were unable to devote the amount of
focus that the implementation stage required. Both the
former and the latter problem may be more of an issue in
the academic environment where priorities of the different
group members are skewed in a variety of directions.
Another issue that cropped up was knowledge of the Java
programming language. At least two of the four group
members were unfamiliar with Java’s Swing API, which
is Java’s primary user interface package
The team identified the responsibility matrix as the
management construct most useful for managing the
project, coordinating activities and tracking continuous
improvement and overall success. All team members were
assigned tasks, and everyone was held accountable for the
completion of their assigned tasks. The responsibility
matrix also allowed the team to track tasks that need to be
done.
References
1. On Architecture. Booch, Grady. 2006, IEEE Computer
Society.
2. Bass, Len, Clements, Paul and Kazman, Rick.
Software Architecture in Practice (Second Edition). s.l. :
Addison-Wesley, 2008.
3. No Silver Bullet Essence and Accidents of Software
Engineering. Frederick P. Brooks, Jr. Los Alamitos, CA,
USA : IEEE Computer Society Press , 1987. 0018-9162 .
4. Software Architecture: a Roadmap. Garlan, David.
2000, ACM, pp. 91-101.
5. Garlan, David and Shaw, Mary. An Introduction to
Software Architecture.
[http://www.cs.cmu.edu/afs/cs/project/vit/ftp/pdf/intro_so
ftarch.pdf] Pittsburgh, PA : Carnegie Mellon University,
1994. CMU-CS-94-166.
6. Architectual Blueprints -- The "4+1" View Model of
Software Architecture. Kruchten, Philippe. 1995, IEEE
SOftware 12, pp. 42-50.
7. Parnas, D. L. On the criteria to be used in
decomposing systems into modules. [DOI= http://0-
doi.acm.org.uncclc.coast.uncwil.edu/10.1145/361598.361
623]. s.l. : Commun. ACM, Dec 1972. Vol. 15, 12. 1053-
1058.
8. L. Parnas and P C Clements, “A rational design
process: how and why to fake it,” IEEE Transactions on
Software Engineering, 12(2):251-257, IEEE Press 1986.
9. Shaw, M., Garlan, D. Software Architecture -
Perspective on an Emerging Dicipline. s.l. : Prentice-Hall
Inc., 1996.
10. The Coming-of-Age of Software Architecture
Research. Shaw, Mary. 2001, IEEE , p. 656664.

More Related Content

Similar to Restaurant Management System Case Study

DescriptionThe Aires Corporation is highly desirous of implementi.docx
DescriptionThe Aires Corporation is highly desirous of implementi.docxDescriptionThe Aires Corporation is highly desirous of implementi.docx
DescriptionThe Aires Corporation is highly desirous of implementi.docxcarolinef5
 
DescriptionThe Aires Corporation is highly desirous of implementi.docx
DescriptionThe Aires Corporation is highly desirous of implementi.docxDescriptionThe Aires Corporation is highly desirous of implementi.docx
DescriptionThe Aires Corporation is highly desirous of implementi.docxdonaldp2
 
Project Management (2).pdf
Project Management (2).pdfProject Management (2).pdf
Project Management (2).pdfShivareddyGangam
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
Software Project Management (SPM)
Software Project Management (SPM)Software Project Management (SPM)
Software Project Management (SPM)RubySaud
 
Project managment software
Project managment softwareProject managment software
Project managment softwareZilicus
 
Introduction To Software Engineering
 Introduction To Software Engineering Introduction To Software Engineering
Introduction To Software EngineeringMohsinAli773
 
Defect effort prediction models in software maintenance projects
Defect  effort prediction models in software maintenance projectsDefect  effort prediction models in software maintenance projects
Defect effort prediction models in software maintenance projectsiaemedu
 
Rapid Application Development & Prototyping
Rapid Application Development & PrototypingRapid Application Development & Prototyping
Rapid Application Development & PrototypingMedian Rupawan
 
Implementation Of A Pre Study Phase Essay
Implementation Of A Pre Study Phase EssayImplementation Of A Pre Study Phase Essay
Implementation Of A Pre Study Phase EssayAshley Thomas
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software managementmeena466141
 
D0365030036
D0365030036D0365030036
D0365030036theijes
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1IIUI
 
Software Engineering
 Software Engineering  Software Engineering
Software Engineering JayaKamal
 
Software project scheduling
Software project schedulingSoftware project scheduling
Software project schedulinglokareminakshi
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9Ian Sommerville
 

Similar to Restaurant Management System Case Study (20)

PPT.pptx
PPT.pptxPPT.pptx
PPT.pptx
 
DescriptionThe Aires Corporation is highly desirous of implementi.docx
DescriptionThe Aires Corporation is highly desirous of implementi.docxDescriptionThe Aires Corporation is highly desirous of implementi.docx
DescriptionThe Aires Corporation is highly desirous of implementi.docx
 
DescriptionThe Aires Corporation is highly desirous of implementi.docx
DescriptionThe Aires Corporation is highly desirous of implementi.docxDescriptionThe Aires Corporation is highly desirous of implementi.docx
DescriptionThe Aires Corporation is highly desirous of implementi.docx
 
Sample report
Sample reportSample report
Sample report
 
Project Management (2).pdf
Project Management (2).pdfProject Management (2).pdf
Project Management (2).pdf
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Software Project Management (SPM)
Software Project Management (SPM)Software Project Management (SPM)
Software Project Management (SPM)
 
Project managment software
Project managment softwareProject managment software
Project managment software
 
M017548895
M017548895M017548895
M017548895
 
Introduction To Software Engineering
 Introduction To Software Engineering Introduction To Software Engineering
Introduction To Software Engineering
 
Defect effort prediction models in software maintenance projects
Defect  effort prediction models in software maintenance projectsDefect  effort prediction models in software maintenance projects
Defect effort prediction models in software maintenance projects
 
Rapid Application Development & Prototyping
Rapid Application Development & PrototypingRapid Application Development & Prototyping
Rapid Application Development & Prototyping
 
Guide to Software Estimation
Guide to Software EstimationGuide to Software Estimation
Guide to Software Estimation
 
Implementation Of A Pre Study Phase Essay
Implementation Of A Pre Study Phase EssayImplementation Of A Pre Study Phase Essay
Implementation Of A Pre Study Phase Essay
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
 
D0365030036
D0365030036D0365030036
D0365030036
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
 
Software Engineering
 Software Engineering  Software Engineering
Software Engineering
 
Software project scheduling
Software project schedulingSoftware project scheduling
Software project scheduling
 
Ch23-Software Engineering 9
Ch23-Software Engineering 9Ch23-Software Engineering 9
Ch23-Software Engineering 9
 

More from Carrie Cox

Free Graphic Organizers For Teaching Writing
Free Graphic Organizers For Teaching WritingFree Graphic Organizers For Teaching Writing
Free Graphic Organizers For Teaching WritingCarrie Cox
 
Research Paper Or Review Paper Once YouVe Agree
Research Paper Or Review Paper Once YouVe AgreeResearch Paper Or Review Paper Once YouVe Agree
Research Paper Or Review Paper Once YouVe AgreeCarrie Cox
 
How To Write An Analytical Thesis. Ho
How To Write An Analytical Thesis. HoHow To Write An Analytical Thesis. Ho
How To Write An Analytical Thesis. HoCarrie Cox
 
Write A Great Essay – Equilibrium.Biz
Write A Great Essay – Equilibrium.BizWrite A Great Essay – Equilibrium.Biz
Write A Great Essay – Equilibrium.BizCarrie Cox
 
Example Of Critique Essay. How To Write An Article Crit
Example Of Critique Essay. How To Write An Article CritExample Of Critique Essay. How To Write An Article Crit
Example Of Critique Essay. How To Write An Article CritCarrie Cox
 
First Day Of High School Narrative Essay. Personal
First Day Of High School Narrative Essay. PersonalFirst Day Of High School Narrative Essay. Personal
First Day Of High School Narrative Essay. PersonalCarrie Cox
 
Steps To Write A Research Paper Cqsstv Co Uk
Steps To Write A Research Paper Cqsstv Co UkSteps To Write A Research Paper Cqsstv Co Uk
Steps To Write A Research Paper Cqsstv Co UkCarrie Cox
 
How To Structure A Term Paper. How To St
How To Structure A Term Paper. How To StHow To Structure A Term Paper. How To St
How To Structure A Term Paper. How To StCarrie Cox
 
Printable Primary Writing Paper T
Printable Primary Writing Paper TPrintable Primary Writing Paper T
Printable Primary Writing Paper TCarrie Cox
 
ASSESSMENT CRITERIA - THEORY OF KNOWLEDGE
ASSESSMENT CRITERIA - THEORY OF KNOWLEDGEASSESSMENT CRITERIA - THEORY OF KNOWLEDGE
ASSESSMENT CRITERIA - THEORY OF KNOWLEDGECarrie Cox
 
Write A Paragraph On My Family Short Essay Engl
Write A Paragraph On My Family  Short Essay  EnglWrite A Paragraph On My Family  Short Essay  Engl
Write A Paragraph On My Family Short Essay EnglCarrie Cox
 
016 Best Photos Of Sample Critical Essay Example L
016 Best Photos Of Sample Critical Essay Example L016 Best Photos Of Sample Critical Essay Example L
016 Best Photos Of Sample Critical Essay Example LCarrie Cox
 
How To Put A Quote In An Essay (With Examples) - Wi
How To Put A Quote In An Essay (With Examples) - WiHow To Put A Quote In An Essay (With Examples) - Wi
How To Put A Quote In An Essay (With Examples) - WiCarrie Cox
 
Cheap Research Paper Writing Service Essay Freelance Writers By ...
Cheap Research Paper Writing Service Essay Freelance Writers By ...Cheap Research Paper Writing Service Essay Freelance Writers By ...
Cheap Research Paper Writing Service Essay Freelance Writers By ...Carrie Cox
 
Introduction Of Argumentative Essay Example - Dissertati
Introduction Of Argumentative Essay Example - DissertatiIntroduction Of Argumentative Essay Example - Dissertati
Introduction Of Argumentative Essay Example - DissertatiCarrie Cox
 
EssayWriters.Net Archives - SMEs
EssayWriters.Net Archives -    SMEsEssayWriters.Net Archives -    SMEs
EssayWriters.Net Archives - SMEsCarrie Cox
 
Writing Critical Essay - Critical Essay The Word Critical H
Writing Critical Essay - Critical Essay The Word Critical HWriting Critical Essay - Critical Essay The Word Critical H
Writing Critical Essay - Critical Essay The Word Critical HCarrie Cox
 
Steps Of Research Paper Writing - How
Steps Of Research Paper Writing - HowSteps Of Research Paper Writing - How
Steps Of Research Paper Writing - HowCarrie Cox
 
Quality Personal Statement Essay Examples 12 Free
Quality Personal Statement Essay Examples 12 FreeQuality Personal Statement Essay Examples 12 Free
Quality Personal Statement Essay Examples 12 FreeCarrie Cox
 

More from Carrie Cox (20)

Free Graphic Organizers For Teaching Writing
Free Graphic Organizers For Teaching WritingFree Graphic Organizers For Teaching Writing
Free Graphic Organizers For Teaching Writing
 
Advice Essay
Advice EssayAdvice Essay
Advice Essay
 
Research Paper Or Review Paper Once YouVe Agree
Research Paper Or Review Paper Once YouVe AgreeResearch Paper Or Review Paper Once YouVe Agree
Research Paper Or Review Paper Once YouVe Agree
 
How To Write An Analytical Thesis. Ho
How To Write An Analytical Thesis. HoHow To Write An Analytical Thesis. Ho
How To Write An Analytical Thesis. Ho
 
Write A Great Essay – Equilibrium.Biz
Write A Great Essay – Equilibrium.BizWrite A Great Essay – Equilibrium.Biz
Write A Great Essay – Equilibrium.Biz
 
Example Of Critique Essay. How To Write An Article Crit
Example Of Critique Essay. How To Write An Article CritExample Of Critique Essay. How To Write An Article Crit
Example Of Critique Essay. How To Write An Article Crit
 
First Day Of High School Narrative Essay. Personal
First Day Of High School Narrative Essay. PersonalFirst Day Of High School Narrative Essay. Personal
First Day Of High School Narrative Essay. Personal
 
Steps To Write A Research Paper Cqsstv Co Uk
Steps To Write A Research Paper Cqsstv Co UkSteps To Write A Research Paper Cqsstv Co Uk
Steps To Write A Research Paper Cqsstv Co Uk
 
How To Structure A Term Paper. How To St
How To Structure A Term Paper. How To StHow To Structure A Term Paper. How To St
How To Structure A Term Paper. How To St
 
Printable Primary Writing Paper T
Printable Primary Writing Paper TPrintable Primary Writing Paper T
Printable Primary Writing Paper T
 
ASSESSMENT CRITERIA - THEORY OF KNOWLEDGE
ASSESSMENT CRITERIA - THEORY OF KNOWLEDGEASSESSMENT CRITERIA - THEORY OF KNOWLEDGE
ASSESSMENT CRITERIA - THEORY OF KNOWLEDGE
 
Write A Paragraph On My Family Short Essay Engl
Write A Paragraph On My Family  Short Essay  EnglWrite A Paragraph On My Family  Short Essay  Engl
Write A Paragraph On My Family Short Essay Engl
 
016 Best Photos Of Sample Critical Essay Example L
016 Best Photos Of Sample Critical Essay Example L016 Best Photos Of Sample Critical Essay Example L
016 Best Photos Of Sample Critical Essay Example L
 
How To Put A Quote In An Essay (With Examples) - Wi
How To Put A Quote In An Essay (With Examples) - WiHow To Put A Quote In An Essay (With Examples) - Wi
How To Put A Quote In An Essay (With Examples) - Wi
 
Cheap Research Paper Writing Service Essay Freelance Writers By ...
Cheap Research Paper Writing Service Essay Freelance Writers By ...Cheap Research Paper Writing Service Essay Freelance Writers By ...
Cheap Research Paper Writing Service Essay Freelance Writers By ...
 
Introduction Of Argumentative Essay Example - Dissertati
Introduction Of Argumentative Essay Example - DissertatiIntroduction Of Argumentative Essay Example - Dissertati
Introduction Of Argumentative Essay Example - Dissertati
 
EssayWriters.Net Archives - SMEs
EssayWriters.Net Archives -    SMEsEssayWriters.Net Archives -    SMEs
EssayWriters.Net Archives - SMEs
 
Writing Critical Essay - Critical Essay The Word Critical H
Writing Critical Essay - Critical Essay The Word Critical HWriting Critical Essay - Critical Essay The Word Critical H
Writing Critical Essay - Critical Essay The Word Critical H
 
Steps Of Research Paper Writing - How
Steps Of Research Paper Writing - HowSteps Of Research Paper Writing - How
Steps Of Research Paper Writing - How
 
Quality Personal Statement Essay Examples 12 Free
Quality Personal Statement Essay Examples 12 FreeQuality Personal Statement Essay Examples 12 Free
Quality Personal Statement Essay Examples 12 Free
 

Recently uploaded

Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 

Recently uploaded (20)

Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 

Restaurant Management System Case Study

  • 1. A Case Study in the Design of a Restaurant Management System Wesley Williams, Devon M. Simmonds Department of Computer Science University of North Carolina Wilmington {waw5709, simmondsd}@uncw.edu Abstract Teaching software engineering at the undergraduate level is an exciting and challenging undertaking. Students come to software engineering with a variety of technical and sift skills which have to be strengthened, honed and channeled to produce desirable results. This paper reports on the development of a restaurant management system as part of a first course in software engineering. Results and lessons learned are presented. 1. Introduction At the undergraduate level, software engineering is taught as both one-semester and two-semester course sequences. In either format, teams of students create software with a level of complexity commensurate with the course sequence format. A familiar strategy to aid the teaching and learning process is to have students develop software in application domains to which can relate or are familiar. Restaurant management is one such domain. In the experience of the authors, some restaurant management software while having reasonable utility features geared towards tracking money and profits, seem to have a significant lack where intuitiveness and usability are concerned. Some restaurant management software has weak or non-existent security, and in some cases, functionality needed for day to day operations are only available to managers. This results in the undesirable situation where access to manager-level functions are granted to lower-level employees. These problems may have resulted from the designer’s lack of domain knowledge, or from a lack of user involvement in the design process. This paper reports on the design of a restaurant management software created as a team project in an undergraduate software engineering course. The overall goal of the project was to create an application where both utility and usability are addressed. In particular, the software should be easy to navigate and use while providing basic restaurant management and security features. In addition, the software should grant each employee a level of access that is commensurate with the duties and responsibilities required in performing duties. When deployed, the application will serve as a single working “point of management” system that acts as both a terminal for taking orders and a terminal for generating reports and managing changes to employee records. 2. Project Plan The main focus of the project was to create a single working “point of management” restaurant system that acts as both a terminal for taking orders and a terminal for generating reports and making changes to employees or items on the menu. Project planning was done to define the scope of the project, assess risks, and estimate and schedule project activities and thereby lay the foundation for the execution, monitoring and control of the project. System Manager Server Employee Sign In Manage Order Manage Employee Manage Inventory Database Admin Generate Report Access Database Figure 1: Use Case Diagram 2.1. Project Scope 2.2. The overall scope of the software is reflected in the use case diagram shown in Figure 1. Major software functions of the restaurant management system include managing orders, inventory, and employee records, and generating reports. Order management includes creating and deleting orders, adding and removing items from an order and closing orders. Orders should also be stored in the database to be
  • 2. used to calculate total sales. Inventory management includes adding new products, deleting products and updating products and resources. The software is responsible for a number of other functions. Our software must be able to add employees, edit their information, and remove employees from the employee database. Menu items must be added, edited, and deleted from the menu item database. Items that can be ordered must be able to be added and removed from an order. All employees must be able to clock in and clock out. Servers must be able to do what all employees do as well as take orders. Managers should be able to do what all employees do and be able to edit item and employee information and generate reports. Reports that should be generated include sales reports showing sales by food category and the total sales from the start of the day. Orders should also be stored in the database to be used to calculate total sales. For a complete look at desired functionality see page six. The non-functional requirements of the project included creating an intuitive, simple application that performs consistently. To achieve these goals the project should make menus effortlessly navigable and group user interface (UI) components in a manner that makes them easy to find. In addition, it was the opinion of the development team that giving each employee the appropriate level of access to resources was imperative for usability and security. 2.3. Risk Plan Table 1 shows three risks that were identified for the project. The first of these risks is that of losing a member of the development team. This risk has a higher probability of occurring during the first weeks of the semester and diminishes as the semester progresses. The other two risks are more likely to occur and may occur at any time. As such, risk prevention strategies were developed and enacted. For example, soft copies of all documents were stored by all members of the development team to mitigate against loss of project artifacts. 2.4. Project Estimates and Schedule Estimates for time and resources were calculated based on a developed work breakdown structure (WBS) for the project. The first two layers of the WBS is shown in Figure 2. Based on the WBS, tasks were assigned to members of the development team as shown in Table 2. The table identifies the persons who had primary responsibility for the development of a specific artifact or the management of a project task. However, all the members were given opportunity to modify and perfect artifacts and tasks assigned to other team members. A schedule of tasks for the project was developed. The result is shown in Figure 3. The chart shows that implementation, testing and software design were the major project tasks, with implementation and testing consuming slightly more time than design. Risk Prob. Impact Priority Actions Losing a project member 2 9 10 Make sure every team member has updated copies of work done by all team members. Hardware breaking down 4 2 10 Make sure every team member has updated copies of work done by all team members. Task takes longer than expected 3 3 2 Trey will be free for helping other members once the initial setup of the database is complete. Table 1: Risk Assessment Project Management Requirements System Design Implement ation Testing/ Deployment Monitor Progress Estimate Resources Asses Risks Evaluate Results Analyze Functional Requirements Analyze non- functional requirement s User Interface Database Work Breakdown Structure (The First 2 Layers) Restaurant Management Project Figure 2: Work Breakdown Structure
  • 3. The project team was compromised of a group of individuals with diverse programming and technical backgrounds. Most had experience programming in JAVA and .NET and most team members had a good grasp on the problem domain as many of them had worked in the restaurant industry at some point in their lives. Management was partially done via electronic means such as email and phone calls since many of the members have different and often conflicting schedules. The project manager scheduled one meeting per week for face-to-face communication and to verify the project status gain consensus and review completed individual tasks. Task Herbert Kyle Jacob Wesley Project Planning Resource List X Work Breakdown Structure X Resource Estimation X GANTT Chart X PERT Chart X Responsibility Matrix X Risk Plan X Control Mechanisms X Requirements Analysis Use Case Design X Activity Diagrams X Class Model X Requirements Dictionary X Limitations X Non-functional requirements X Software Design Accept Payment X Taking Orders X Modify Orders X Canceling Orders X Sales Reports X Labor Report X Inventory Report X Implementation Database X Check In/Out System X Sales System X Reporting System X Software Configuration X Table 2: Responsibility Matrix ID Task Name Start Finish Duration 1 1.4w 1/15/2009 1/7/2009 Group Formation and Project Selection Report Due 2 3.4w 2/9/2009 1/16/2009 Requirements Engineering Report Due 4 7w 3/27/2009 2/9/2009 Software Design Report Due 10 6.2w 4/27/2009 3/16/2009 Software Implementation and Testing Report Due 9 3.2w 4/27/2009 4/6/2009 Testing 6 2.8w 3/24/2009 3/5/2009 Prototyping 7 2.2w 3/30/2009 3/16/2009 Implement Sales 8 1.2w 3/23/2009 3/16/2009 Implement Manager Functions 3 5 1.2w 3/9/2009 3/2/2009 Create Program Database 3.4w 3/3/2009 2/9/2009 Create Use Cases and Models Figure 3: Schedule of Activities 3. Software Design While it is acknowledged that design is not always rational [8] and while we do not expect any silver bullet [3], in our experience, software design becomes better with practice and experience. For this project, the design of the software included both architectural and subsystem design. The architecture of software defines the major software subsystems and the dependencies and interrelationships among subsystems [1,2,4,6,7,10]. Architectural styles define a vocabulary for different classes of architectures [5,9]. Examples of well known architectural styles include pipe-and-filter, shared repository and event driven. In this course, each software development team was required to design the software using two architectural. The architectural styles chosen by the restaurant management team were the three-tiered layered architectural style and the shared-repository style. Database CheckIn-CheckOut Employees Orders Inventory Items Figure 4: Shared Repository Architecture
  • 4. The shared repository architectural style is shown in Figure 4. The design shows five major subsystems interacting with a shared data store. While this design is ideal for data driven applications that share a common database schema, it constraints the evolution of the data base as well as the data formats on the individual subsystems. A layered architecture is shown in Figure 5. Items CheckIn-CheckOut Employees Orders Inventory Items User Interface Database Management Employees Orders Figure 5: Layered 3-Tier Architecture Employe SignIn Order MainSystem OrderManagement Clock DatabaseManagement Item Inventory * 1..* * 1 1 1 1 1 1 1 1..* Figure 6: Class Diagram alt Login Menu Management Menu Item Database Edit Item Menu Login() SelectItemAndHitEditbutton() loop [Done=false] EnterChangesAndPressOK() OK() Done() Cancel() [Choice=cancel] [Choice=enter] Figure 7: Edit item Sequence Diagram 3.1. User Interface Design Because of the nature of our project, an intuitive graphical user interface was required. The user interface design in Figure 8 is the JAVA Swing equivalent of the earlier design. There are a few alterations that had to be made. The buttons on the far right side on each screen have been removed and put onto a single menu accessible after login. On the first screen visible to the user we have removed all buttons except the sign in button. The functionality that was originally on this particular screen has been moved to subsequent menus and screens. In addition, we have added the clock functionality to every screen in the program so that no matter which screen an employee is viewing, he or she will be able to keep track of time. Figure 8: First user screen The next screen (Figure 9) is where the employee can choose which tasks he or she wants to do. Options that appear grayed out are not available for the user that has logged in. Managers have all options, servers have all options except the management button, and finally normal employee are only granted access to system to log in and log out. All orders that are currently “owned” by this particular employee are listed in the list above the “add” and “edit” buttons. Below are three screenshots that show this (Figures 10, 11, & 12).
  • 5. Figure 9: Employee Task Menu Management menu functions include the ability to add and remove employees as well as items. Although our group did not implement report generation, report generation would be completed from the management menu. Below are screenshots of the management menu and the various submenus for editing employees and items. Figure 10: Ordering menu Figure 11: Edit Item Menu Figure 12: Item Type Selection The ordering screen allows a server or manager to create an order by selecting from four lists that represent the four types of food: beverage, appetizer, entrée, or dessert. When the item is selected, pressing the add button below the list adds the item to a fifth list which is the actual customer order. When the screen is exited, the information is stored in the database. All the screens are periodically updated with the current contents of the database. The figure below is the ordering screen.
  • 6. 3.2. Test Planning Three goals were identified for the test plan: reliability, security, and usability. Reliability and security testing was accommodated by constructing test cases and comparing expected and actual results. Usability testing, however, is completely different. Usability testing would require some domain experts to use the software and perhaps even deploy the software in a restaurant environment. Due to the time constraints of the project we were unable to perform any formal usability testing using persons external to the development team. Test cases were created to test adding, deleting, and editing both items and employees. Specifically these test cases make certain that employee and items are stored and retrieved from the database correctly. Test cases were also generated to perform boundary testing on how many entries could be successfully added or updated. In addition, test cases where created to verify the function of the compare class, which is used to validate input. The table of test cases listed on the following page shows what kinds of tests were performed on the “add new employee” function, the intended results, and the actual results. Test Case # Description Intended result Actual result 1 Add new employee (0, Devon, Simmonds, 12.35, 3245) Employee(1 , Devon, Simmonds, 12.35, 3245) MANAGER Employee(1, Devon, Simmonds, 12.35, 3245) MANAGER 2 Add new employee (0, John, Smith, 21.55, 1245) Employee(2 ,John, Smith, 21.55, 1245) SERVER Employee(2, John, Smith, 21.55, 1245) SERVER 3 Add new employee (0, Dan, Rather, 14.35, 378) Employee(3 , Dan, Rather, 14.35, 378) NORMAL Employee(3, Dan, Rather, 14.35, 378) NORMAL 4 Add new employee(0, 45, 54, 23.12, 234) Error Employee(0, 45, 54, 23.12, 234) NORMAL 5 Add new employee(0, Hugh, Laurie, - 13.45, 546) Error Error 6 Add new employee(0, William, Error Error Shatner, 27.68, -1532) 7 Add new employee(0, Hernan, Cortez, 5.68, 10) Error Employee(0, Hernan, Cortez, 5.68, 10) Table 3: Sample Test Cases 4. Discussion and Lessons Learned Students had some difficulty translating the architectures into design. As Parnas has noted [8], design rationality evolves as designers gain greater visibility into the artifact being designed and greater experience. This is especially true of novice designers who have little grasp of core design principles. One way to address this problem for institutions with only one software engineering undergraduate course is to introduce architectural concepts in the programming courses that precede software engineering. A second approach would be to introduce architectures very early in the software engineering course using problems and solutions from the earlier courses. Students reported that their biggest challenge was time constraints. Implementation takes an extraordinary amount of time and a large amount of coordination. Scheduling project meetings around individual group member’s schedules creates many difficulties. Many of the group members were unable to devote the amount of focus that the implementation stage required. Both the former and the latter problem may be more of an issue in the academic environment where priorities of the different group members are skewed in a variety of directions. Another issue that cropped up was knowledge of the Java programming language. At least two of the four group members were unfamiliar with Java’s Swing API, which is Java’s primary user interface package The team identified the responsibility matrix as the management construct most useful for managing the project, coordinating activities and tracking continuous improvement and overall success. All team members were assigned tasks, and everyone was held accountable for the completion of their assigned tasks. The responsibility matrix also allowed the team to track tasks that need to be done.
  • 7. References 1. On Architecture. Booch, Grady. 2006, IEEE Computer Society. 2. Bass, Len, Clements, Paul and Kazman, Rick. Software Architecture in Practice (Second Edition). s.l. : Addison-Wesley, 2008. 3. No Silver Bullet Essence and Accidents of Software Engineering. Frederick P. Brooks, Jr. Los Alamitos, CA, USA : IEEE Computer Society Press , 1987. 0018-9162 . 4. Software Architecture: a Roadmap. Garlan, David. 2000, ACM, pp. 91-101. 5. Garlan, David and Shaw, Mary. An Introduction to Software Architecture. [http://www.cs.cmu.edu/afs/cs/project/vit/ftp/pdf/intro_so ftarch.pdf] Pittsburgh, PA : Carnegie Mellon University, 1994. CMU-CS-94-166. 6. Architectual Blueprints -- The "4+1" View Model of Software Architecture. Kruchten, Philippe. 1995, IEEE SOftware 12, pp. 42-50. 7. Parnas, D. L. On the criteria to be used in decomposing systems into modules. [DOI= http://0- doi.acm.org.uncclc.coast.uncwil.edu/10.1145/361598.361 623]. s.l. : Commun. ACM, Dec 1972. Vol. 15, 12. 1053- 1058. 8. L. Parnas and P C Clements, “A rational design process: how and why to fake it,” IEEE Transactions on Software Engineering, 12(2):251-257, IEEE Press 1986. 9. Shaw, M., Garlan, D. Software Architecture - Perspective on an Emerging Dicipline. s.l. : Prentice-Hall Inc., 1996. 10. The Coming-of-Age of Software Architecture Research. Shaw, Mary. 2001, IEEE , p. 656664.