You are on page 1of 44

Contents

Introduction.................................................................................................................................................3
Scope of the System................................................................................................................................4
Objective of System.................................................................................................................................4
Planning.......................................................................................................................................................5
Methodology...........................................................................................................................................5
Schedule Planning...................................................................................................................................6
Gantt Chart..........................................................................................................................................6
PERT Chart...........................................................................................................................................7
Problem definition.......................................................................................................................................8
Requirement Analysis..................................................................................................................................9
Design........................................................................................................................................................11
Logical Design........................................................................................................................................11
Context Diagram................................................................................................................................11
DFD level 1.........................................................................................................................................12
Physical Design......................................................................................................................................16
Hierarchy Chart..................................................................................................................................16
Screen Design....................................................................................................................................17
Testing.......................................................................................................................................................34
Unit Testing...........................................................................................................................................34
Integration Testing................................................................................................................................34
System Testing.......................................................................................................................................35
Acceptance Testing................................................................................................................................35
Implementation.........................................................................................................................................36
Conclusion.................................................................................................................................................37
7 Principals of Software Engineering.........................................................................................................38
Rigor and Formality...............................................................................................................................38
Separation of Concerns.........................................................................................................................38
Anticipation of Change..........................................................................................................................39
Generality..............................................................................................................................................39
Incrementality.......................................................................................................................................39
Scalability...............................................................................................................................................40
Heterogeneity........................................................................................................................................40
References.................................................................................................................................................41
Introduction

My task for this assignment is to study the software development cycle of a chosen
system and while at that I must also identify the 7 principles of software engineering which is
portrayed or practiced in the development of the system or displayed on the completed system.
The system that I choose to do my research on is the “Dominos Malaysia online ordering
system” my research will cover mostly on the user’s point of view of the system but I will also
explain on certain key role and procedures that happen at the back end of the system.

The dominos Malaysia online ordering system is a simple web based system, which is
made to satisfy the customer’s needs in ordering a meal from Domino’s pizza. Although there is
an existing system that also works to take down orders but the difference is that the existing
system is operated by the Domino’s customer services staff where the orders are passed from the
customers to the staffs by phone, the existing system has more functionality as it needs to give
the information needed by the customer and to the staff who are servicing them. The system that
is to be developed is more of a stripped down version of the existing system that has much more
better user interface, the new system will not replace the existing system, it will work separately.

The new system will also have its own targeted audience and its own purpose, both the
existing system and the new system will not have any connection between each other and no data
is passed from one system to another. Most of the modules inside the existing system is taken
and reused for the new system but because the system is a web based system which will need to
accommodate many users at a given time, the codes had to be trimmed and certain functions of
the modules is also reduced. The interface of the new system on the other had is made from the
ground up and it is created with the motive to suit the customers needs.
Scope of the System
Dominos as a corporation has many systems, some with high coupling and some with
low coupling. The “Dominos online ordering system” is one of the major sub system in Dominos
is a relatively low coupling system that requires few maintenance and it mostly used by their
customer. Parts of this system is also used by another system called “Dominos customer service
system” this system has a very huge scope and is consider a high coupling system, it is only
accessible to customer service staffs and some managerial staffs.

The scope for “Dominos online ordering system”:

 User registration, user login and user details editing


 Order taking and order editing
 Dominos deal orders entry
 Dominos coupon redemption
 Make your own pizza module (which also encompasses the half n half method)
 Shopping cart module
 For stores information module

Objective of System
Objectives of “Dominos online ordering system”:

 Provide friendly interface for customer to input their details and surf choices
 Provide customer choice to choose ordered item receive method (delivery or take away)
 Collect orders from customers
 Provide report to display ordered items price
 Provide customer ability to choose dominos deals
 Provide customer ability to redeem their coupon
Planning

Methodology
The system uses two types of process models. One process model is for creating the
menu screen, web site UI and over all look and interactivity of the system whereas another type
of process model is used to create the systems library function and objects. The language used is
ASP.Net which allowed the UI designers to first create the physical design of the web pages and
once the design of the web pages have been agreed by purchasing party, they can then easily
reuse the parallel completed library functions and objects. Basically what is meant is the logic of
the system is done separately from the UI of the web sites.

Methodology for the User Interface of the system : Exploratory development

Exploratory development is used because it allows the user or the purchasing party to
specify how the system should look, this is particularly very useful for an interactive system such
like the “Dominos online ordering system” because the problem domain for these kinds of
systems are usually better understood by the future users of the system or the people who are
going make use of it. Exploratory development will also provide better customer satisfaction and
has greater tangible and intangible quality. Exploratory development can also reduce time and
cost of producing the system as there is reduce need for data gathering, most of the data
gathering is acquired by the user feedbacks.

Methodology for back end of the system : Component based software engineering

Component based software engineering is used to create the back end of the system and
the logics of the system because the system uses almost the similar logic as most online ordering
system, the programming team only needs to modify and add few extra logics or features into the
system. By using this methodology the programming team is able to greatly reduce development
time and at the same time reduce the system’s cost
Schedule Planning
Gantt Chart
PERT Chart

Problem & Requirement


Data Gathering System Definition
Analysis
Week 0 week1 week2 week3 Week 4 Week 8

Week 0 week1 week2 week3 Week 4 Week 8

Programming

Week 9 Week 13

Week 9 Week 14

Functions lining Unit testing

Week 18 Week 20 Week 15 Week 17

Week 18 Week 20 Week 15 Week 17

User Interface Design

Week 9 Week 14

Week 9 Week 14

Overall Testing Implementation

Week 21 Week 24 Week 25 Week 27

Week 21 Week 24 Week 25 Week 27


Problem definition
Problems Before system development:

 At peak hours the call and order method becomes overwhelmed to accommodate
the number of caller and due to this only a fraction of the customer is serviced
 The customer using the call and order method face trouble in deciding their meal
because there is no menu and on top of that the customer will also miss out on
current promotions, new pizza flavors and side dishes
 The customer will also experience difficulty in making or creating their own pizza
flavor because as to do this the customer must remember the key ingredients for
making a pizza.
 Because all communication is done over the phone there is great possibility that
communication error can take place e.g wrong orders taken down.
 To reduce the increase in cost of customer call service. Because as dominos
becomes more excepted and their reputation for being the delivery experts
increases the number of orders that are incoming and to satisfy the increase in
phone traffic more and more customer call service assistant is needed and
therefore increasing the cost.
 To create a competitive advantage. Due to the fact that there are still no online
pizza ordering system available, dominos being the first to release such system
will give them an advantage over the competitions business.

Requirement Analysis
Non-functional:

 The color scheme of the user interface should match with the overall look and feel of the
dominos logo and its current website.
 The user interface must be easy to use.
 Should have similarity to the dominos food menu in its restaurants.
 Should be easy to maintain and change the menu items of the system.
 Provide user with all necessary information needed by them and hiding user irrelevant
information.

Functional:

 Must have a customer profile management that allows the customer to input necessary
details to reach and contact them.
 Should have a log in module that identifies the customer and allows them access into the
system.
 Allows customer to choose the location to deliver to and set delivery details like time and
date.
 Allows customer to choose the store to take away from and set take away details like time
and date.
 Must have a module to redeem dominos coupons and to identify dominos express card.
 Must provide the ability for customer to choose order and specify item details for
dominos deals. Item details meaning the flavor of pizza and type of side dish.
 Should have a module to collect order and complete order that is not complete for
example for a pizza that only has its size and crust picked, this module should be able to
fill the flavor into the incomplete order, according to customer choice.
 Must be able to list the orders made and specify necessary details to customers like price,
flavor and etc.
 Must have a module that will allow users to make their own pizza according to the
ingredients specify, and the pizza price should match with the ingredients being used.
 There should be a module to confirm customer’s orders with the customer as a validation
purpose, so that the orders are final and no more changes can be made after that.
 A module is needed to compile all relevant details of the orders so that receipt can be
generated and the module should also intelligently send the receipt to the dominos store
branch that is tasked or requested to complete the orders.
Design
Logical Design
Context Diagram
Customer

Username
E-receipt Coupon
& Ingredients
ID Deal Select
Select Item Per-item password Customer
select
take
Order
select details selection delivery
confirm selection preference
away
preference

Dominos Online Ordering System


(0.0)

receipts

Selected Dominos Store


DFD level 1
Order
Items checkout
records
Order Processing
confirm orders
Confirmed item
report
Creating (10.0)
own
User defined pizza details Filling
flavor
shopping
(9.0)
cart
Complete order item details (8.0)

Incomplete order item details

Pizza details Deal’s


item
details

Adding order Coupon’s


Item details item details
(7.0) Converting
Ingredients deal To
select items
Deal
(6.0)
package
Per-item Items
selection records

Deals
Deal selection
records

Item
selected
Customer
Customer E-receipts orders

Coupon ID
Verify
coupon
redemption
(5.0)

username Customer
& details
password Unused
coupon ID
Correct
Verify username, Verified Register/edit
Coupon
log-in password customer customer
records
(1.0) & details (2.0)
cust_ID

Current
Customer
customer
records
details
Assemble
for store
Select Customer information
take locations (11.0) receipts
Select
away &
delivery
preferencepreference details
Delivery /
take away
Cust_ID
details
Verify
Selected
delivery
Domino’s
details
store
(3.0)
Delivery
details

Verify
take away Update
details delivery/
(4.0) take away
status
Store Store Delivery /
record details Take away
take away
details
records

DFD Level 1discriptions


1.0 Verify log-in
This process takes in the customer’s username and password then it searches the customer
records then it finds a match for the username and password. Once the match is found It
retrieves the customer details and the customer ID (Cust_ID) from the record. It will then
send the Cust_ID to both the process 3.0 and 4.0 .

2.0 Register/edit customer


This process has two sub task to perform one is that it collects the customer details from the
registration form does some data validation with the data entered and then saves the data into
the customer record. The second is related to editing the current customer details, this process
will retrieve the current customer details then populate the information into the similar
looking form like the registration form and then allow the customer to edit the current details.
This process has a sub task to locate the location of the customer by using google maps and
then save its coordinates.

3.0 Verify delivery details


This process will collect the customer deliver specific information like phone number and
delivery address then takes in the delivery preference from the customer and once the start
ordering button is clicked. It will make a record in the Delivery/take away records about the
delivery details including customer’s ID(Cust_ID).

4.0 Verify take away details


This process will collect the store details such as the stores location then receives the
customer take away preference meaning the time for take away and the store location to take
away from. Then the process will make a record in the Delivery/take away records about the
take away details including customer’s ID (Cus_ID).

5.0 Verify coupon redemption


The process will collect the coupon ID as an input from the customer then it will search the
coupon records when it finds an unused coupon ID that matches the coupon ID entered by
the customer it will add coupons package to discount to the filling shopping cart. The coupon
package for example : 2 large pizza with 50% discount, so it will add 2 large pizza item
which the flavor can be specify later on and the price will have a 50% discount.
6.0 Converting deal to items
The process will receive input which dominos deal did the customer click on then based on
the selection it will search the deals records then it will take the deal package and then break
them to singular items and send these information to the filling shopping cart (8.0) including
the price.

7.0 Adding order


This process deals with selection of order from the customer. It takes in the customers
selection, reads through the item records extracts the item details (price, ingredients, etc) and
sends the complete order to the process 8.0 . This process can also receive an incomplete
order like for example only the size or the type of food is specified ( incomplete order are
usually passed from process 5.0 and 6.0 to process 8.0), then the process can fill the
incomplete order based on customer’s selection. This process can also pass the pizza details
to process 9.0 so that process 9.0 can run its operation.

8.0 Filling shopping cart


This process works to list down all the orders the customer makes. It can take in quite a few
inputs from many sources but most importantly all of item that are added and price details are
sent from 4 processes which are 6.0, 7.0, 5.0 and 9.0 . The shopping cart can take in
incomplete order details from process 6.0 and 5.0 then the customer can select an order item
in the shopping cart list and then the process will pass the incomplete order details of the
selected item to process 7.0 (adding order), there is when the customer can complete the
incomplete order item and send the details back to the shopping cart. This process also allows
the customer to select an order item and edit the order item or remove the whole order item
itself. The process also takes in the user defined pizza flavor details from process 9.0 which
has almost the same details as complete order item details (from process 7.0) but it has an
extra recipe list.

9.0 Creating own flavor


The process starts when the pizza details from process 7.0 is passed to it, then it takes in user
input on the ingredients selection while at that it will add the charge based on the ingredients
selected. After the selection has been complete the process send the user specified pizza
details to process 8.0 (filling shopping cart).

10.0 Processing order report


The process starts when it receives the confirmed orders from process 8.0 , upon receiving
the confirmed orders it will store the them as checked out items in the order records, after
that it will display the e-receipt to the customer, this e-receipt is just for display. Finally the
process will send customer’s order to process 11.0 .
11.0 Assemble for store information
The assemble for store information process collects required information for the store chosen
to complete the task and send it to the store. Firstly it will receive the customer’s orders from
there it will extract the Cust_ID and then it will search the delivery/take away records for the
delivery or take away details once it find the most recent record, it will then change the
record’s status to “done”, all the details collected from both the delivery/take away record
and from process 10.0 will be processed into a receipt which will then be sent to the store
terminal where its location is specified by the customer or by the nearest store to delivery
location.
Physical Design
Hierarchy Chart
Domino's
A LA CARTE
Deal

Redeem
A LA CARTE
Coupons

Make Your
Delivery Ordering Own
Method Main Menu
Specialty
Half & Half
Pizza

Shopping
Cart
A LA CARTE
Shopping
Side Orders
Cart
Log In Shopping
Beverages
Cart

Domino's
A LA CARTE
Deal

Dominos Redeem
A LA CARTE
Home Page Coupons
Take Away Ordering
Method Main Menu Make Your
Own

Specialty
Half & Half
Pizza

Sign up Shopping
Delivery Cart
address form A LA CARTE
Personal
Details Form Shopping
Side Orders
Cart

Shopping
Beverages
Cart
Screen Design
Log In Form

From the home page of dominos Malaysia, the user need to click on the “ORDER NOW” button
to login to the Dominos online ordering system, Those who has already registered can insert their
username and password in the respective text field, once done simply press enter or click on the
“LOGIN” button in the login form.
Delivery Method Screen

This screen is to double check the customer’s information and to set delivery preferences like
time and date. This delivery method screen also allows the customer to have multiple addresses,
to choose 1 from many addresses the customer must click on their desired address and change
the “SELECT” word at the far right of the address to “SELECTED” .

Menu to select DELIVERY or TAKE AWAY


Take Away Method Screen

This
screen
will
allow
the

customer to choose which store location to pick up their preordered meal from and allows them
to specify what time their orders should be completed. First before selecting the store, the
customer must first specify the time and date at the top of the screen bellow the menu then they
must select the area to take away from, after this the store locations at the specified area will be
populated at the empty space in the middle. To select a store location just click on the STORE
ADDRESS and check to the far right that SELECT has been changed to SELECTED.
Ordering Main Menu Screen

This screen is the ordering main menu, any order that is to take place must go through this main
screen, this menu gives 3 options to choose from, the first is dominos deals which will lead to the
deal selection menu, this option gives user the choice to choose order package which gives
special discounts and offers this can also be known as set meals. The second option is A LA
CARTE which means order individual items from the menu, it will lead to another menu with 3
options to choose from which is pizza, side dish and beverage. The third option is to redeem
promotion coupons, this option will lead to a screen where there is a text box to enter the coupon
ID.
Domino’s Deals Screen

Domino’s Deal is special promotion package from dominos, by choosing the package the
customer must agree in paying for all the items predefined in the package. Choosing a dominos
deal will offer the customer better price even though it seem that the dominos deal seem like
very inflexible but in truth there are some form of flexibility like for example the customer can
choose their own pizza crust and flavor even some of the side dishes have choices.

To find the deals that you are looking for, first you can fill in the two text field at the top of the
screen:

The “SELECT MEAL FOR” is for you to choose how many persons is the meal for whereas the
“SELECT MEAL” is for you to choose the type of package you would like. Package can have
different items inside and also have different kinds of pricing.
Once you have selected your deal the screen will be switched to the A LA CARTE screen where
certain options will be limited for example if a deal has a predefined pizza size then the customer

Shopping Chart
can only select the crust and the flavor. In the A LA CARTE screen you will also notice the
shopping cart module has some items filled inside which are from the package, select on the
grayed item and then complete the item’s details like crust choice and flavor, once the items have
been completed you are given the choice to edit the crust and flavor details.
A La Carte Main Screen

If you select the A LA CARTE option from the “ordering main menu” then you will be lead
here, this screen gives you the choice to move on to 3 other sub menus that allows us to add
single orders to the shopping cart. A LA CARTE gives the customer more flexibility in their
orders as they can specifically specify all that is needed but the cons of this is that the customer
will lose out on the offers or discounts from Domino’s Deal
A La Carte Specialty Pizza Screen

Specialty Pizza top half

This screen allows the customer to choose and complete their pizza orders. To make a complete
order the customer must first specify the size of the pizza which is at the top of the menu, then
he/she must specify the crust of the pizza and finally the customer can then choose their flavor,
make their own flavor or choose half and half pizza where the pizza hold two different
predefined flavor. If the customer wishes to make their own flavor he/she will be lead to another
screen called “MAKE YOUR OWN” screen which allows them to choose their own toppings
while the half and half option will lead them to the “HALF & HALF” screen.

Special flavor options


Specialty Pizza bottom half

Full A LA CARTE Specialty Pizza screen


A La Carte Side Order Screen

This is a very simple menu screen just choose your side orders and the side orders will be added
to the shopping cart. Unlike the Specialty pizza menu screen the side order menu screen has no
specify order to follow or no special menu option to choose, it is just a simple point and click
menu screen.
A La Carte Beverages Screen

This screen like the previous side orders menu screen has no special functionality, just a point
and click menu screen. Only difference is that this screen has more less options to choose from.
Make Your Own Screen

There are two reasons for this screen, one is that it is used to make our own flavor, the second is
to add additional toping on an predefined flavor. There are 3 ways to access this screen first is by
clicking on the MAKE YOUR OWN option in the specialty pizza menu where the customer will
be given an zero topping chosen state of the screen, the second is by right after the customer
clicks add to shopping chart a prompt will pop up :
if the customer clicks on yes he is given a state of the
screen where all the topping for the pizza is specified
and the customer is given a choice to choose an
additional topping. The third method for accessing this
screen is by the shopping chart with the edit topping.

To
add a topping just click on the “+” sign and
to minus a topping “ – “ sign. The price
will be charge based on the toppings used,
for example a tuna topping will have higher price compare to fresh mushroom topping.

Half & Half Screen

In this screen the customer must first specify the sauce they prefer and based on the sauce the
system will generate the pizza that can be combined together in a Half and Half pizza setting.
The customer then must select the two pizza flavor he/she would like, the selected pizza will
have a check mark on its image. The selection method in this menu is also very similar to the
specialty pizza menu this will benefit the customer as he/she does not need to tinker around to
understand the menu.
Redeem Your Coupon Screen

This screen allows the customer to type in their coupon ID number then, the coupon’s promotion
is added into the shopping cart. It is almost the same as how Domino’s Deals works but coupon
usually has better deals then domino’s deals. When I say it works similarly with how Domino’s
Deals work, I also mean the procedures for example like : upon once entering the coupon ID
number the system will lead the customer to the A LA CARTE screen to complete or specify
some of the items, as for discount coupons the discount will be added into the shopping cart and
then the customer will still be lead to the A LA CARTE screen for his desired choice. The
express card details is not covered within my scope of analysis, and the reason why the dominos
express card system is not research is because, to do so cash must be provided to attain the card
and test it.
E-receipt Screen

This screen provides the customer an overview of the cost, basically is a report of what has been
ordered. If the customer finds something needs to be edited on the report the customer can do so
by clicking the pencil icon on the report, to delete an order the customer must click on the cross
icon which is also in the report. To continue ordering the customer can do so by clicking the
continue ordering button where it will lead to the Ordering Main Menu, the customer can also
add on special deals that has a mixture of beverages and simple side dishes. Check Out button
will confirm all the orders and upon clicking it the orders and its details will be sent to the
specified store for the take away method and the nearest store for the delivery method.
Edit Profile Form

This screen allows the customer to check his customer profile details and if necessary the
customer can edit his details. The customer can also add a new address, this is to accommodate
customer who have multiple resident. The address that is added here is the one that later on in the
delivery method screen will become selectable as delivery location.
Sign Up Form

The sign up process first starts with this screen, this screen will collect the information and
automatically locate the location using google maps, after this it will provide few choices if the
location name is duplicated but in different parts of Malaysia, choose the correct location that
you are in. After this the screen will move to a form where the customer must fill in some of his
details.
Testing

This project used 3 types of testing stages to test the system. Since the project utilized
more than one type of process model for its project methodology, the testing phase is not done at
one given time instead it is done at two different period of time. The unit testing is done on the
system’s components right before functions linking and the other system testing and acceptance
testing is done after the functions linking.

Unit Testing
Unit testing is done before the “functions linking phase” because in this way the modules
of the incomplete system can be tested separately and problems that arise during this phase can
be solved more quickly and on top of that once the system have been assembled the testers
would not have to dig deeper into the system to identify the problem as most or all of them have
been solved at an earlier stage. Unit testing is used because for one it helps the tester or
programmer to reduce or eliminate code dependencies because unit testing will usually force the
tester or programmer to eliminate or parameterize dependencies so that the code can be tested in
isolation. Due to the fact that unit testing will force modularity on the system components it
makes catching errors in the components much more easier and this will also make the codes
more reusable in future projects since the components can work quite independently.

Integration Testing
Because this system will work with another system that is located the dominos stores, it is
necessary that the data being sent to the “Selected Domino’s store” will be able to receive the
data being sent and if it will produced the output that is expected. This testing is used so that the
new system will and can work with other systems in the organization. Integration testing is also
very useful to rectify and document errors that might happen caused by the communication
between our new system and other systems in the organization, this will help the IT staffs at
Domino’s Pizza to locate from which system the error is caused and clear the error.
System Testing
System testing works within the scope of black box testing, this type of testing requires
no such knowledge on the inner workings of the code or its logic.

Input Executable output


program
Black Box Testing

This system testing is done after the functions linking because in that way it is easier for the
system developer or tester to locate linking error, this testing is also most important to verify the
program if it is doing what it supposed to do with no wrong outputs and other errors. System
testing is also useful in checking if the modular components of the system are working as one
and this testing can also test if the procedures to input data into the system are in order.

Acceptance Testing
Acceptance Testing very much like System Testing also uses the black-box testing the
only difference is that the data inputted is directly from the customer. This system test is most
useful to check on the systems validity, it is because only the customer has the best idea if that
the system has met with the requirement which has been given at the beginning of the project, so
in a nut shell since the system test has already confirm if the system will give valid outputs this
testing method is mostly to focus if the system created is the correct system and that if it does
what the requirement says. Acceptance testing gives the customer a chance to make corrections
and adjustments and this on the other hand will increase customer satisfaction.
Implementation

Implementing this system does not take much decision making. Since this is a new
system and there are no old systems to covert from, the system’s implementation is just a simple
installation. Installation of the system is also quite simple, this is because the system is actually
comprised of mostly web pages and aspx files which is ASP.NET source files. Html web pages
basically can run on any operating system with a web browser but to run aspx files the .NET
framework is needed, this .NET framework can only run on windows/Microsoft based operating
system and therefore a windows based operating system is required, this however is not a
problem because Domino’s already has a windows based computing system as their web server.

Since this system has a very easy understandable user interface and their design
implements good self explanatory captions, the customers at home will have no problem using
the system without any kind of training, on the other hand the IT department of Dominos must be
trained on how to use, move and make small changes to the system. The training for the IT
department will take approximately 2 weeks and in the training they will be taught on how the
system works and functions, the learning experience will first start from the outer look of the
system by explaining the DFD diagrams and its user interfaces then later on the modules or
components of the system will be dissected and after that a test run will shown while providing a
view on what the components are doing, finally the IT staff at dominos will be given way to
control the system as an administrator and what should be done in case a risk happens.

There were a few factors taken into consideration before the implementation. One of the
main factors that dominos have specified is that they have the first online pizza ordering system,
this factor requires us to do the implementation in a quick manner because the earlier dominos
get the system up and running the more business can be directed towards them as having the
status for being the first pizza outlet having an online ordering system. The second factor is that
they want the system’s User interface for the menu items to have the ability to be modified or
changed easily and therefore during the training session we stressed a lot on the menu
modification and maintenance, this made the IT staffs job more easier when it come to menu
modification and maintenance because they know what and where to exchange if there is any
future changes done on the menu.
Conclusion
To conclude the project I will say that the system developed is mainly made for
customers in mind, the system’s main purpose is to satisfy the customer’s needs to order a meal
from Domino’s pizza and due to this the system is made more into an interactive system where
the customer from various computer literacy can learn and use the system easily without much
effort. Due to the fact that this system is an interactive system, user interface flaws will be weigh
more heavier and this system have some flaw in them, the most obvious one of them all is the
Domino’s Malaysia online ordering system’s menu, there are some ambiguities like for example
their menu system for the order item receive method (delivery/take away) by the design it might
confuse the customer as to which page he is in because from the design it looks like the customer
is inside the take away screen and it does not have much of a difference between the selected
and the deselected menu option.

order receive method(delivery selected)

order receive method(take away selected)

Another flaw of the system is located in the shopping cart where once the customer clicks on the
add to shopping cart and once the customer is in the e-receipt screen and if the customer chooses
the “continue ordering” option, the item ordered previously will not be displayed in the shopping
cart anymore even though the orders are saved. After the login screen in the delivery/take away
screen, once the method delivery or take away have been chosen the customer can’t go back and
change the method into another method, the only way for the customer to do so is to logout and
login into the system again. The system also requires a decent internet speed to function as the
system has many images and functionalities that has to be loaded to the browser.
7 Principals of Software Engineering

Rigor and Formality


Rigor has both been displayed in the project creation and on the develop system. The system
has a many strict procedures and validation to make sure the data entered is the correct data that has
no ambiguities for example during customer registration if the wrong type of data or incorrect data is
entered into its fields it will not register the customer until they correct their mistakes, this rigor is also
displayed in the A LA CARTE specialty menu where the customer is not allowed to choose a flavor until
they have choose a crust and a size , a crust cannot be chosen until the size of the pizza is specified and
certain crust can only hold certain flavor for example the puff crust can only accommodate the “puffect”
classed flavor, there are a lot of rigor based examples that is contain in the menus of the system. As for
the project they have display the proper use of rigor buy following a strict project plan and that the
project have strictly met with the requirements of the system given by Domino’s Pizza.

Formality is used throughout the system, there are many ways to explain where formality is
used on the project and/or displayed on the developed system, but some of the more visible ones
displayed on the system is for example the first registration part where the customer types in their
address and then the system will calculate the location based on google maps, the location will be
stored as latitude and longitude numbers so that the location of the customer is pointed to the exact
location on the map. Formality is also enforced during the log in session of the system, where the
customer must enter the exact username and password to access the system. During the testing period
of the project they practice formality by testing the system according to test plan and creating
documentation on their test and also in the documentation error conditions are explained thoroughly.

Separation of Concerns
Separation of concerns is very important in any project as this will allow a group of people work
on a single project and complete it within a shorter period and also the problem can be solved in a more
efficient way because the group member can be sorted to a specific area that they are specialized at.
Separation of concerns are divided into two part modularity and abstraction. Modularity is displayed as
you can see in the Data flow diagram, from there we can see that the problem has been broken into 11
different modules where then the programmers can then work on it in detail. Even the graphical user
interface and the programming logics are made modular so two different process models can be used
on them. The system is also considered very modular as it has high cohesion and has low coupling with
other systems in the system, it only has one data flow going to an external system in the Dominos’s
store

Abstraction is used heavily on the system, for example the customer using the system can do so
without being bothered of the modules that run in the system, the user interface created for the
customer only provide the customer with the information that is needed by them like the cost of their
orders, and hides the information that is not important to them for example the system does not show
the customer on what number his/her orders are in a queue.

Anticipation of Change
The system developers made the system from a programming language called ASP.NET because
the programming language is built in away where making modification and changes are easy. Most of its
interface can be swapped or changed easily and on top of that the item menus of the system uses
pictures to hold its items so there are no need to type in the changes just create a new picture, replace it
then change the caption information and change the item’s details, all of these takes place in a single
application. The system developers also anticipate that changes will take place with the item menus and
they provide training on how the system can be changed and modified so that in the future the changes
can take place smoothly.

Generality
The development of the system and the complete system has the principal called generality,
generality was first practice during the programming stage where some of the modules created for the
system actually are reused codes and supporting to that is the programming language used which is
code reuse friendly. The module that is reused from another project that has very little modification
done to it is process 8.0 (Filling shopping cart) only modification done is the change of items I can
except. Generality can also be seen implemented in the user interface for example the menu layout in
the A AL CARTE is very similar to the current hard copy menu it the Domino’s pizza outlet, the form
layout like the login form and the registration forms have very similar layout to many other system’s
login and registration form and lastly even the shopping cart layouts and its functions are very similar to
the cart modules and its layouts in other systems.

Incrementality
The user interface of the system uses the exploratory process model meaning the user interface
in completed in increments by adding small changes and modification on the prototype provide, other
than that the system can be incremented for having new functions and modules if Domino’s pizza ask
for new functionality upgrades, these increments can be done without disturbing the current modules
this is because most of the data are stored in the database, the new module can pull the data from the
database by itself with very little interaction with other modules, although in certain condition it will
need the current modules to be modified, but remember that most of the modules being used are
reused modules so most probably they might already have the capability to change without much
modification. The testing for the system is also done in an incremental way, by testing the smaller
components then moving the testing to bigger scope.
Scalability
The system runs on a web server, and since the system is a web based system scalability is its
out most important thing to consider. Fortunately for Domino’s pizza they already have a fast web serve
that has the ability to handle large amounts of users, according to the layout of the user interface and its
program logics the web server can support the number of customers during peaks hours. The scalability
of the system is not dependant on its self but rather on the hardware running the system, and since the
system is made in a very trimmed manner uploading the pages to the customer is done fast without
taking too much of the web servers resources and on top of that even the codes are typed in away so
that it is efficient in the web servers resources.

Heterogeneity
Due to the fact that the whole system needs the .NET framework, this makes the systems
Heterogeneity is only for Microsoft based operating system that are windows Xp and newer , this means
this system cannot run on other operating systems that are not specified under Microsoft for example
Unix based system like fedora, red hat, ubuntu and etc . Heterogeneity for Microsoft based system on
the other had is superb as the system just needs you to install the .NET framework once the .NET
framework have been installed the system can be used.
References

David Avison & Guy Fitzgerald, (2006) information systems development methodologies,
techniques & tools, USA, McGraw Hill

Valacich Joseph S. George Joey F. Hoffer Jeffrey A. (2001). Essentials of Systems Analysis &
Design, New Jersey, Prentice Hall, Inc.

Jeffrey L Whitten, Lonnie D. Bentley, Kevin C. Dittman, (2000), System Analysis and Design
Methods 5th edition, New York ,Mc Graw Hill.

Gary B. Shelly, Thomas J. Cashman, Harry J. Rosenblatt,(2001) Systems Analysis and Design,
4th Edition, United States of America, Course Technology.

Penny A. Kendall, (1996) Introduction to System Analysis & Design: A Structured Approach, 3rd
Edition, USA, IRWIN

2009, Domino’s Pizza Malaysia – Online Ordering [online], Malaysia, Domino’s Malaysia Head
Quarters, Available from http://www.dominos.com.my/, [Accessed 4th April 2010]

DonC , 2009, System Development Life Cycle [online], Available from


http://www.brighthub.com/office/project-management/articles/5790.aspx , [Accessed 4th April 2010]

You might also like