You are on page 1of 23

Chapter Four: System Analysis

4.1. System Models


System analysis is a process of collecting and interpreting facts, identifying the problems, and
decomposition of a system into its components. System analysis is conducted for the purpose of
studying a system or its parts in order to identify its objectives. It is a problem solving technique
that improves the system and ensures that all the components of the system work efficiently to
accomplish their purpose. Analysis specifies what the system should do. In this chapter we are
going to discuss more about to show the diagrams used for analysis of the system like use case
diagram, sequence diagram, activity diagram, state chart diagram and some use case descriptions
also contained.

4.1.1 Scenarios
Online food ordering is the process of ordering food through the restaurant's own website or
mobile app, or through a single-restaurant's website or app. A customer can choose to have the
food delivered or for pick-up. The process consists of a customer choosing the restaurant of their
choice, scanning the menu items, choosing an item, and finally choosing for pick-up or delivery
or table reservation. Payment is then administered by paying with a credit card or debit card
through the app or website or in cash at the restaurant when going to pick up. The website and
app inform the customer of the food quality, duration of food preparation, and when the food is
ready for pick-up or the amount of time it will take for delivery.

Order a Food Item

Main success scenario

 customer browses catalog and select food items to buy


 customer goes to check out
 customer select an order type
 system presents full pricing information
 customer fills in credit card information
 system authorize purchase
 system confirms sale immediately
 system sends confirmation e-mail to customer
Extensions:

3a: customer selects a delivery service

1. System ask for customer to add new deliver information (address, date and time to be
delivered) or use the existing one

2. Customers choose one of the two options and pass to the next step

3b: customer selects a pick-up service

1. System ask for customer to add some info about pick up person

2. Customer fills required info and pass to the next step

3c: customer selects a table reservation service

1. System ask for customer detail information (date, time, no of users, types of services to
be provided)
2. Customer fills required info and pass to the next step

Log in to system

Main Success Scenario Case Scenario

1, System pops up the login box. Then the following fields are available:

 Email
 Password
 Auto-login
 Forgot password? And
 Log in

2. User enters Email, Password. By default, the checkbox Auto-login is checked. Auto-login
allows user to save both username and password on Project Name unless the user explicitly logs
out. User can uncheck Auto-login.

3. User clicks on login.


4. System The popup box disappears and the page is refreshed to the post- login page.

Scenario Extensions

2a: User types in the wrong email.

1. The popup window says: “Wrong email.” The field Email becomes blank so that user
enters the correct email.

2b: User types in a wrong password.

1. The popup window says: “Wrong password.” The field Password becomes blank so that
user enters the correct password.

2c: User types in wrong email and password.

1. The popup window says: “Wrong email and password. Please log in again”. The fields
Email, Password become blank so that user enters the correct login info.

4.1.2 Use case model


In this phase we identifies the actors and the major events (use cases) initiated by the actors.
Often we start by drawing a diagram with stick figures representing the actors, arrows showing
how the actors relate to the use case which are represented by an eclipse and box showing the
whole system.
4.1.3 Use Case Description
Table: Food Order Use Case

Use Case ID UC01


Use Case Name Notify on Ready Order
Actor Chief
Flow of event 1.Chief submit the ready order 5. System send confirmation for the
2.System ask for confirmation chief
to notify the customer 6. system send email to the specific
3. Chief make sure it is right customer and notify his/her order is
and ready
Confirms
4.System saves the order status
to the database

Entry Condition Chief should be logged in to the system and customer should have to
make an order
Exit Condition  Chief get a confirmation message and customer is notified about
his/her order status.
Quality Requirement  Customer should be notified and get email within 4 seconds
 Chief should get confirmation message within 2 seconds

Table: Change Password Use Case

Use Case ID UC01


Use Case Name Change Password
Actor Chief, Admin, Customer
Flow of event 1.User request for change 4.System check the previous
password access password by reading the database
2. System provides a form to 5. System verify the new
change password password
3. User fills the previous 6. System updates the previous
password and enter the new password in to the database
password two times and submit 7.System send confirmation to the
user

Entry Condition User should be logged in to the system


Exit Condition  Customer get an acknowledgement message
Quality Requirement  Password verification should be done within 4 second

Table: Order Food Use Case

Use Case ID UC03


Use Case Name Order Food
Participating Actor Customer
Flow of event 1. Customer asks to view food item.
2. System displays menu of all available food items with categories.
3. Customer selects one of the food item from menu.
4. System asks the customer to enter the quality of selected food item.
5. Customer enters the quantity for that food item.
6. System adds the selected food item to chart with its full
information.
7. Customers indicate food order is complete.
8. System display ordered menu item, quantities, individual prices and
total price including any taxes and delivery charges.
9. Customer confirms meal order or request to modify meal order
(back to step
10. System display available order types delivery, intake and table
reservation
11. Customer chooses the type of meal order type.
12. System display available delivery time for the delivery date if
delivery is selected.
13. Customer selects delivery time and specifies delivery location.
14. System display possible choice of payment method.
15. Customer specifies payment method.
16. System verifies and confirm acceptance of the order (if not back to
step 17. System send customer an email conformation order details,
price and delivery instructions.
18. System store order in database and notify the head of chief new
order is come and give all the order detail.
Entry condition he customer is logged to ORMs.
Exit condition  The customer receive confirmation message that his/her order is
successfully performed. OR
 The customer receives an explanation message why his/her order is
not accepted.
Quality Requirement  In scrolling through the menu there should be a delay of no more
than 2 seconds before the next page menu item is displayed.
 The order should be placed in pending orders and be visible to the
head chief in less than 2 seconds to start preparation.
 A confirmation message should be displayed to the user within 4
seconds if the order is verified.

Table: Add Food Item Use Case

Use Case ID UC04


Use Case Name Add Food Item
Participating actor Admin
Flow of event 1. Admin request to add a new food item
2. System displays forms to fill in
3. Admin fill all required information and confirm formulation is
done
4. System checks and verify inputs and if all necessary information is
added (if not back to step 2)
5. System display all information of newly added menu item and ask
for confirmation
6. Admin confirm the process (if any change needed back to step 2)
7. System send confirm insertion of food item
8. System save the food item in to the data base
Entry condition Admin should be logged to the system
Exit condition  System notify the admin insertion process is done successfully OR
 Admin receives why is not possible to add a food item
Quality Requirement  Any size and type of image file should be accepted and to be
displayed in a uniform manner
 Confirmation message should be displayed within 2 seconds to the
admin

Table: Edit Food Item Use Case

Use Case ID UC05


Use Case Name Edit Food Item
Participate actor Admin
Flow of event 1. Admin request to view the menu
2. System displays the food item
3. Admin select the food item
4. System displays all details of selected item
5. Admin update the food item detail and conform update is done
6. System notify update is successful if data is verified
7. System update the selected food item with its new information and
save it to database
Entry condition Admin should be logged in to ORMS
Exit condition  Admin receive a conformation message about successful
completion of update process or
 Admin is notified with a message why update is not accepted
Quality Requirement  Conformation message should be displayed to the admin with in 2
second

4.1.4 Object Model


In UML models, objects are model elements that represent instances of a class or of classes.
You can add objects to your model to represent concrete and prototypical instances. A concrete
instance represents an actual person or thing in the real world. For example, a concrete instance
of a Customer class represents an actual customer. A prototypical instance of a Customer class
contains data that represents a typical customer.

A class represents an abstraction of a concept or of a physical thing, whereas an object represents


a concrete entity. An object has a well-defined boundary and is meaningful in the application.

Each object must have a unique name. A complete object name has three parts: object name, role
name, and class name. You can use any combination of the parts when you name an object.

4.1.4.1 Data Dictionary

A data dictionary is a collection of descriptions of the data objects or items in a data model for


the benefit of programmers and others who need to refer to them or the dictionary of data is at a
time the pillar of work and the result of research and analysis of data. It is just like a depicted
picture of the entire work. This dictionary of data defines all categories of data or data types,
brief the all essential information about the software is included.

TABLE FIELD TYPE Size CONSTRAINTS


User Name Varchar 23 Not null
Password Varchar 43 Not null
idEmployee Varchar 54 Primary Key
idQuestion Varchar 78 Foreign key
Answer Varchar 32 null
Cancelation idCancelation Varchar 67 Primary Key
idOrder Varchar 45 Foreign key
Catagory idCatagory Varchar 97 Primary Key
Name Varchar 45 null
idParent Varchar 34 Not null
Customer CustomerId INT Primary key
Username Varchar 10 Not null
InvoiceId INT Primary Key
Email Varchar 25 Not null
Password Varchar 30 Not null
Phone INT Not null
Regdate Date null
Designation idDesignation Varchar 97 Primary key
Name Varchar 34 Null
Salary Varchar 58 Not null
Employee idEmployee INT Foreign key
Name Varchar 56 Null
Address Varchar 98 Null
City Varchar 79 Null
State Varchar 57 Null
Mobile_no Double Not null
idDesignation INT Foreign key
Feed_Back idFeed_Back INT Not null
Suggestion Varchar 100 Null
idEmployee INT Foreign key
idCustomer INT Primary key
Food Items idFood_item INT Primary key
Name Varchar 84 Not null
Price INT Not null
idCatagory INT Foreign key
Ingredient idFood_item INT Foreign key
idvegetable INT Not null
Quantity INT Not null
Order type idOrder_type INT Not null
Name Varchar 43 Not null
Order idOrder INT Not null
idTable INT Not null
idCustomer INT Foreign key
idEmployee INT Not null
idStatus INT Not null
idOrder_type INT Not null
Date Date null
Order idSub_Order INT Not null
Details idOrder INT Not null
idFood_item INT Not null
Special Varchar 56 null
Shift Timing Idshift_Time INT Primary key
idEmployee INT Foreign key
Start_Time DateTime null
End_Time DateTime null
Status idStatus INT Not null
Status Varchar 56 Not null
Tables idTable INT Not null
Name Varchar 47 null
Table idTable_Booking INT Not null
Booking idTable INT Not null
idCustomer INT Not null
idStatus INT Not null
Date Date null
Question idQuestion INT Not null
Question Varchar 92 null
Vegetables idvegetable INT Not null
Name Varchar 67 null
Stock Double null

4.1.4.2 Analysis level Class Diagram (Conceptual Modeling)

Class diagrams are the main stages of object-oriented analysis and design. UML class diagrams
show the classes of the system, their interrelationships (including inheritance, aggregation, and
association), and the operations and attributes of the classes.

4.2. Dynamic model


4.2.1 Sequence Diagram
An interaction diagram that places emphasis on message ordering is called a sequence diagram.
This graphic serves as a model for the way objects work together to engage in a particular action
throughout time. Additionally, it captures the actions of a specific use case. The major sequence
diagrams of some for the food ordering and delivery systems for atot hotel are below.
4.2.2 Activity Diagram
4.2.3 State Diagrams
State chart diagram shows state of machine. It describes the dynamic behavior of an individual
object as a number of states and transitions between these states. Given a state, a transition
represents a future state the object can move to and the conditions associated with the change of
state. Below are some state chart diagrams for some of the major use cases of atot hotel ordering
and delivery system.
4.3. ER Diagram (optional depending on your design methodology)
4.3.1 Mapping

4.3.2 Normalization (1st - BNCF normal forms)

You might also like