[go: up one dir, main page]

0% found this document useful (0 votes)
87 views54 pages

D Ooad

Uploaded by

sevagijelabi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
87 views54 pages

D Ooad

Uploaded by

sevagijelabi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 54

Ex.

No : 1
Date:

INTRODUCTION:
CASE tools known as Computer-aided software engineering tools is a kind of
component-based development which allows its users to rapidly develop information
systems. The main goal of case technology is the automation of the entire information
systems development life cycle process using a set of integrated software tools, such as
modeling, methodology and automatic code generation. Component based
manufacturing has several advantages over custom development. The main advantages
are the availability of high quality, defect free products at low cost and at a faster time.
The prefabricated components are customized as per the requirements of the
customers. The components used are pre-built, ready-tested and add value and
differentiation by rapid customization to the targeted customers. However the products
we get from case tools are only a skeleton of the final product required and a lot of
programming must be done by hand to get a fully finished, good product.

CHARACTERISTICS OF CASE:
Some of the characteristics of case tools that make it better than
customized development are;

It is a graphic oriented tool.

It supports decomposition of process.

Some typical CASE tools are:

Unified Modeling Language

Data modeling tools,

Source code generation tools

INTRODUCTION TO UML (UNIFIED MODELING LANGUAGE):


The UML is a language for specifying, constructing, visualizing, and
documenting the software system and its components. The UML is a graphical language
with sets of rules and semantics. The rules and semantics of a model are expressed in
English in a form known as OCL (Object Constraint Language). OCL uses simple logic for
specifying the properties of a system. The UML is not intended to be a visual
programming language. However it has a much closer mapping to object-oriented
programming languages, so that the best of both can be obtained. The UML is much
simpler than other methods preceding it. UML is appropriate for modeling systems,
ranging from enterprise information system to distributed web based application and
even to real time embedded system. It is a very expensive language addressing all views
needed to develop and then to display system even though understand to use. Learning

1
to apply UML effectively starts forming a conceptual mode of languages which requires
learning.

Three major language elements:

UML basic building blocks Rules that dictate how this building blocks put
together  Some common mechanism that apply throughout the language The primary
goals in the design of UML are:

1. Provides users ready to use, expressive visual modeling language as well


so they can develop and exchange meaningful models.

2. Provide extensibility and specialization mechanisms to extend the core


concepts.

3. Be independent of particular programming languages and development


processes.

4. Provide formal basis for understanding the modeling language.

5. Encourage the growth of the OO tools market.

6. Support higher-level development concepts.

7. Integrate best practices and methodologies. Every complex system is best


approached through a small set of nearly independent views of a model. Every model
can be expressed at different levels of fidelity. The best models are connected to reality.

The UML defines nine graphical diagrams:

1. Class diagram

2. Use-case diagram

3. Behavior diagram

3.1. Interaction diagram

3.1.1. sequence diagram

3.1.2. collaboration diagram

3.2. state chart diagram

3.3. activity diagram

4. Implementation diagram

4.1component diagram

4.2deployment diagram

2
1. UML class diagram:
The UML class diagram is also known as object modeling. It is a static analysis
diagram. These diagrams show the static structure of the model. A class diagram is a
connection of static model elements, such as classes and their relationships, connected
as a graph to each other and to their contents.

2. Use-case diagram:
The functionality of a system can be described in a number of different use-cases,
each of which represents a specific flow of events in a system. It is a graph of actors, a
set of use-cases enclosed in a boundary, communication, associations between the
actors and the use-cases, and generalization among the use-cases.

3. Behavior diagram:
It is a dynamic model unlike all the others mentioned before. The objects of an
object oriented system are not static and are not easily understood by static diagrams.
The behavior of the class’s instance (an object) is represented in this diagram. Every
use-case of the system has an associated behavior diagram that indicates the behavior
of the object. In conjunction with the use-case diagram we may provide a script or
interaction diagram to show a time line of events. It consists of sequence and
collaboration diagrams.

4. Interaction diagram:
It is the combination of sequence and collaboration diagram. It is used to depict
the flow of events in the system over a timeline. The interaction diagram is a dynamic
model which shows how the system behaves during dynamic execution.

5. State chart diagram:


It consists of state, events and activities. State diagrams are a familiar technique to
describe the behavior of a system. They describe all of the possible states that a
particular object can get into and how the object's state changes as a result of events
that reach the object. In most OO techniques, state diagrams are drawn for a single class
to show the lifetime behavior of a single object.

6. Activity diagram:
It shows organization and their dependence among the set of components. These
diagrams are particularly useful in connection with workflow and in describing
behavior that has a lot of parallel processing. An activity is a state of doing something:
either a real-world process, or the execution of a software routine.

7. Implementation diagram:
It shows the implementation phase of the systems development, such as the
source code structure and the run-time implementation structure. These are relatively

3
simple high level diagrams compared to the others seen so far. They are of two sub-
diagrams, the component diagram and the deployment diagram.

8. Component diagram:
These are organizational parts of a UML model. These are boxes to which a model
can be decomposed. They show the structure of the code itself. They model the physical
components such as source code, user interface in a design. It is similar to the concept of
packages.

9. Deployment diagram:
The deployment diagram shows the structure of the runtime system. It shows the
configuration of runtime processing elements and the software components that live in
them. They are usually used in conjunction with deployment diagrams to show how
physical modules of code are distributed on the system.

NOTATION ELEMENTS:
These are explanatory parts of UML model. They are boxes which may apply to
describe and remark about any element in the model. They provide the information for
understanding the necessary details of the diagrams.

Relations in the UML:


These are four kinds of relationships used in an UML diagram, they are:

Dependency

Association

Generalization

Realization

Dependency:
It is a semantic relationship between two things in which a change one thing
affects the semantics of other things. Graphically a dependency is represented by a non-
continuous line.

Association:
It is a structural relationship that describes asset of links. A link is being
connected among objects. Graphically association is represented as a solid line possibly
including label.

4
Generalization:
It is a specialized relationship in which the specialized elements are substitutable
for object of the generalized element. Graphically it is a solid line with hollow arrow
head parent.

Realization:
It is a semantic relation between classifiers. Graphically it is represented as a cross
between generalization and dependency relationship.

Where UML can be used:


UML is not limited to modeling software. In fact it is expressive to model non-
software such as to show in structure and behavior of health case system and to design
the hardware of the system.

Conceptual model be UML:


UML you need to form the conceptual model of UML. This requires three major
elements:

UML basic building blocks.

Rules that dictate how this building blocks are put together.

Some common mechanism that apply throughout the language.

Once you have grasped these ideas, you may be able to read. UML create some basic
ones. As you gain more experience in applying conceptual model using more advanced
features of this language.

Building blocks of the UML:


The vocabulary of UML encompasses these kinds of building blocks.

Use CASE definition:


Description:
A use case is a set of scenarios tied together by a common user goal. A use case is
a behavioral diagram that shows a set of use case actions and their relationships.

Purpose:
The purpose of use case is login and exchange messages between sender and
receiver (Email client).

Main flow:
First, the sender gives his id and enters his login. Now, he enters the message to
the receiver id.

5
Alternate flow:
If the username and id by the sender or receiver is not valid, the administrator
will not allow entering and “Invalid password” message is displayed.

Pre-condition:
A person has to register himself to obtain a login ID.

Post-condition:
The user is not allowed to enter if the password or user name is not valid.

Class diagram:
Description:
A class diagram describes the type of objects in system and various kinds of
relationships that exists among them.

Class diagrams and collaboration diagrams are alternate representations of


object models.

During analysis, we use class diagram to show roles and responsibilities of entities that
provide email client system behaviors design. We use to capture the structure of classes
that form the email client system architecture.

A class diagram is represented as:

<Class name>

<Attribute 1>

<Attribute n>

<Operation ()>

Relationship used:
A change in one element affects the other

Generalization:
It is a kind of relationship

State chart:

Description:
The state chart diagram made the dynamic behavior of individual classes.

State chart shows the sequences of states that an object goes through events
and state transitions.

6
The important objectives are:
Decision:
It represents a specific location state chart diagram where the work flow may
branch based upon guard conditions.

Synchronization:
It gives a simultaneous workflow in a state chart diagram. They visually define
forks and joints representing parallel workflow.

Forks and joins:


A fork construct is used to model a single flow of control.

Every work must be followed by a corresponding join.

Joints have two or more flow that unit into a single flow.

State:
A state is a condition or situation during a life of an object in which it satisfies
condition or waits for some events.

Transition:
It is a relationship between two activities and between states and activities.

Start state:
A start state shows the beginning of a workflow or beginning of a state machine
on a state chart diagram.

End state:
It is a final or terminal state.

Activity diagram
Description:
Activity diagram provides a way to model the workflow of a development process.
We can also model this code specific information such as class operation using activity
diagram. Activity diagrams can model different types of diagrams. There are various
tools involved in the activity diagram.

Activity:
An activity represents the performance of a task on duty. It may also represent the
execution of a statement in a procedure.

7
Decision:
A decision represents a condition on situation during the life of an object, which
it satisfies some condition or waits for an event.

Start state:
It represents the condition explicitly the beginning of a workflow on an activity.

Object flow:
An object on an activity diagram represents the relationship between activity
and object that creates or uses it.

Synchronization:
It enables us to see a simultaneous workflow in an activity.

End state:
An end state represents a final or terminal state on an activity diagram or state
chart diagram.

Sequence diagram:
Description:
A sequence diagram is a graphical view of scenario that shows object interaction
in a time based sequence what happens first what happens next. Sequence diagrams are
closely related to collaboration diagram. The main difference between sequence and
collaboration diagram is that sequence diagram show time based interaction while
collaboration diagram shows objects associated with each other.

The sequence diagram for the e-mail client system consists of the following
objectives:
Object:
An object has state, behavior and identity. An object is not based is referred to as
an instance. The various objects in e-mail client system are:

User

Website

Login

Groups

8
Message icon:
A message icon represents the communication between objects indicating that
an action will follow. The message icon is the horizontal solid arrow connecting lifelines
together.

Collaboration diagram:
Description:
Collaboration diagram and sequence diagrams are alternate representations of
an interaction. A collaboration diagram is an interaction diagram that shows the order
of messages that implement an operation or a transaction. Collaboration diagram is an
interaction diagram that shows the order of messages that implement an operation or a
transaction.

Collaboration diagram shows object s, their links and their messages. They can
also contain simple class instances and class utility instances. During, analysis indicates
the semantics of the primary and secondary interactions. Design, shows the semantics
of mechanisms in the logical design of system. Toggling between the sequence and
collaboration diagrams When we work in either a sequence or collaboration diagram, it
is possible to view the corresponding diagram by pressing F5 key.

CONCLUSION:
Thus the study for case tools was done.

9
Ex. No : 2
Date:

AIM:
To create an automated system to perform the Online Food Delivery system

PROBLEM STATEMENT:

In today's business environment, effectively managing customer relationships and


maintaining strong client interactions is crucial for long-term success. The current
manual methods for tracking and managing client information are prone to errors, time-
consuming, and often disorganized, leading to inefficient client communication and
missed opportunities. This project aims to design an automated Online Food Delivery
System that simplifies the client interaction process by streamlining data collection,
improving communication tracking, and providing valuable insights for businesses. The
proposed system will allow users to input relevant client information (e.g., contact
details, business interactions, service history), enabling real-time updates and seamless
management of client relationships. Businesses can utilize the system to track potential
leads, manage ongoing projects, and predict future client needs based on historical
interactions. The system will also incorporate features like automated reminders for
follow-ups, task assignment alerts, client segmentation tools, and reporting dashboards.
The OFDS will handle multiple types of clients, including corporate, small businesses,
and individual customers, each with customized engagement processes. The ultimate
goal of the Online Food Delivery System is to enhance client satisfaction, boost
operational efficiency, and provide a transparent, user-friendly platform for managing
business-client interactions.

SOFTWARE REQUIREMENT SPECIFICATION:

2.1 SOFTWARE INTERFACE

Software Interface

• Front End Client:

 The client and business user interface will be developed using HTML, CSS,
JavaScript, and ReactJS for modern web applications.
 A local administrative interface for business management will be built using
JavaFX for desktop-based administration.

10
• Web Server:

 The system will operate on Apache Tomcat (or GlassFish as an alternative


application server).

• Back End:

 The backend business logic and API services will be developed using Java (Spring
Boot).
 Oracle Database will be used for managing all client data, business interactions,
follow-up schedules, and reporting analytics.

• API:

 A RESTful API will facilitate communication between the front-end interface and
the backend services.
 The system will also integrate with third-party services (e.g., email systems, CRM
platforms) via APIs for enriched client data.

2.2 HARDWARE INTERFACE

Server:

 The server will host the application logic, database, and business reports,
accessible to users via the web or local desktop applications.
 Server Specifications:
o Processor: Intel Xeon or AMD EPYC (8 cores or more).
o RAM: Minimum 16 GB.
o Storage: SSD with at least 500 GB for client data, backups, and application
files.
o Network: Gigabit Ethernet connection for fast access to client systems.

Client Systems:

 Client systems (businesses accessing the CMS) will connect either via a web
browser or a local administration interface.
 Client System Requirements:
o Processor: Intel Core i3 or above.
o RAM: 4 GB or more.
o Network: Internet connection with a minimum speed of 5 Mbps for
seamless communication with the server.

11
Data Sources:

 Integration with external data sources for automatic updates on client


information.
 Connection: Data will be transmitted through web services or APIs for real-time
updates, providing continuous improvements to client relationship management.

CONCLUSION:

Thus the Requirements for the problem Statement was done.

12
Ex. No : 3
Date:

AIM:

To create an automated system to perform the Online Food Delivery system

USE CASE:

What is a Use Case Diagram in UML?

A Use Case Diagram is a type of Unified Modeling Language (UML) diagram


that represents the interaction between actors (users or external systems) and a
system under consideration to accomplish specific goals. It provides a high-level view
of the system’s functionality by illustrating the various ways users can interact with it.

1. Use Case Diagram Notations

UML notations provide a visual language that enables software developers,


designers, and other stakeholders to communicate and document system designs,
architectures, and behaviors in a consistent and understandable manner.

1.1. Actors

Actors are external entities that interact with the system. These can include users,
other systems, or hardware devices. In the context of a Use Case Diagram, actors
initiate use cases and receive the outcomes. Proper identification and understanding
of actors arE crucial for accurately modeling system behavior.

13
1.2. Use Cases

Use cases are like scenes in the play. They represent specific things your system
can do. In the online shopping system, examples of use cases could be “Place Order,”
“Track Delivery,” or “Update Product Information”. Use cases are represented by
ovals.

1.3. System Boundary

The system boundary is a visual representation of the scope or limits of the


system you are modeling. It defines what is inside the system and what is outside. The
boundary helps to establish a clear distinction between the elements that are part of
the system and those that are external to it. The system boundary is typically
represented by a rectangular box that surrounds all the use cases of the system.

Purpose of System Boundary:

 Scope Definition:

14
It clearly outlines the boundaries of the system, indicating which components
are internal to the system and which are external actors or entities interacting with
the system.

 Focus on Relevance:

By delineating the system’s scope, the diagram can focus on illustrating the
essential functionalities provided by the system without unnecessary details about
external entities.

15
USE CASE DIAGRAM FOR ONLINE FOOD DELIVERY SYSTEM:

The use case diagram shows two


actors: Admin and Clients. The
Admin has full access to manage
various system components like
users, leads, profiles, meetings,
projects, quotations, payment
details, targets, and reports.
Each of these actions is
represented by different use
cases (ovals). The Admin can
both manage and view projects,
while Clients only have the
ability to view projects. There's a
<<uses>> relationship between
"Manage All Projects" and "View
Projects," indicating that viewing
is part of managing projects. The
diagram highlights the admin's
broad control and clients'
limited, view-only access to
project

16
CONCLUSION:
Thus the UseCase Diagram for Online Food Delivery System was Done

Ex. No : 4
Date:

AIM:

To create an automated system to perform the Online Food Delivery system

ACTIVITY DIAGRAM:

What is an Activity Diagram?


Activity Diagrams are used to illustrate the flow of control in a system and
refer to the steps involved in the execution of a use case. We can depict both
sequential processing and concurrent processing of activities using an activity
17
diagram ie an activity diagram focuses on the condition of flow and the sequence in
which it happens.

 We describe what causes a particular event using an activity diagram.


 An activity diagram portrays the control flow from a start point to a finish point
showing the various decision paths that exist while the activity is being executed.
 They are used in business and process modeling where their primary use is to
depict the dynamic aspects of a system.

2. Activity Diagram Notations

ACTIVITY DIAGRAM FOR ONLINE FOOD DELEVIRY SYSTEM:

18
EXPLAINATION:

The diagram is a process flowchart for a design decision-making process. It begins with
understanding requirement details and the architecture. Once the requirements are
approved, the next step is to identify implementation elements. If not approved, the
process loops back to refining the design decisions. After identifying elements, the
design is communicated to stakeholders. The design is then evaluated, and if approved,
the process ends. If the design is not approved, it cycles back to refine design decisions
and re-evaluation until final approval is achieved.

CONCLUSION:

Thus the Activity Diagram for Online Food Delivery System was Done.

Ex. No : 5
Date:

19
AIM:

To create an automated system to perform the Online Food Delivery system

CLASS DIAGRAM:

A class is a blueprint or template for creating objects. Objects are


instances of classes, and each class defines a set of attributes (data members) and
methods (functions or procedures) that the objects created from that class will possess.
The attributes represent the characteristics or properties of the object, while the
methods define the behaviors or actions that the object can perform.

CLASS NOTATION:

Class notation is a graphical representation used to depict classes and their


relationships in object-oriented modeling.

Relationships between classes:

In class diagrams, relationships between classes describe how classes are connected or
interact with each other within a system. There are several types of relationships in
object-oriented modeling, each serving a specific purpose.

20
1. Association

An association represents a bi-directional relationship between two classes. It indicates


that instances of one class are connected to instances of another class. Associations are
typically depicted as a solid line connecting the classes, with optional arrows indicating
the direction of the relationship

2. Directed Association

A directed association in a UML class diagram represents a relationship between two


classes where the association has a direction, indicating that one class is associated with
another in a specific way.

3. Aggregation

Aggregation is a specialized form of association that represents a “whole-part”


relationship. It denotes a stronger relationship where one class (the whole) contains or
is composed of another class (the part). Aggregation is represented by a diamond shape
on the side of the whole class. In this kind of relationship, the child class can exist
independently of its parent class.

21
4. Composition

Composition is a stronger form of aggregation, indicating a more significant ownership


or dependency relationship. In composition, the part class cannot exist independently of
the whole class. Composition is represented by a filled diamond shape on the side of the
whole class.

5. Generalization(Inheritance)

Inheritance represents an “is-a” relationship between classes, where one class (the
subclass or child) inherits the properties and behaviors of another class (the superclass
or parent). Inheritance is depicted by a solid line with a closed, hollow arrowhead
pointing from the subclass to the superclass.

22
6. Realization (Interface Implementation)

Realization indicates that a class implements the features of an interface. It is often used
in cases where a class realizes the operations defined by an interface. Realization is
depicted by a dashed line with an open arrowhead pointing from the implementing
class to the interface.

7. Dependency Relationship

A dependency exists between two classes when one class relies on another, but the
relationship is not as strong as association or inheritance. It represents a more loosely
coupled connection between classes. Dependencies are often depicted as a dashed
arrow.

23
CLASS DIAGRAM FOR ONLINE FOOD DELIVERY SYSTEM:

24
EXPLAINATION:

The class diagram illustrates the relationships between four main entities: Customer,
Order, Product, and Stock. The Customer class contains attributes such as customerID,
customerName, address, and phoneNumber, with methods to add, edit, and delete
customer information. Each customer can place multiple orders, reflecting a one-to-
many relationship with the Order class. The Order class stores details like orderId,
customerId, productId, amount, and orderDate, and includes methods for creating and
editing orders. The Product class holds product-specific details like productId,
productPrice, and productType, and has methods to add, modify, and select products. It
connects to both the Order and Stock classes, indicating that a product can be part of
multiple orders and stored in multiple stock locations. The Stock class tracks the
quantity of products available in specific shops through attributes such as productId,
quantity, and shopNo, and includes methods to manage stock items. This diagram
highlights how customers, orders, products, and stock interact within the system

CODING:

import java.util.Date;

import java.util.HashMap;

import java.util.Map;

25
class Customer {

private int customerID;

private String customerName;

private String address;

private int phoneNumber;

public Customer(int customerID, String customerName, String address, int


phoneNumber) {

this.customerID = customerID;

this.customerName = customerName;

this.address = address;

this.phoneNumber = phoneNumber;

public int getCustomerID() {

return customerID;

public String getCustomerName() {

return customerName;

public void addCustomer() {

System.out.println("Customer " + customerName + " added.");

public void editCustomer(String name, String address, int phoneNumber) {

this.customerName = name;

this.address = address;

26
this.phoneNumber = phoneNumber;

System.out.println("Customer details updated.");

public void deleteCustomer() {

System.out.println("Customer deleted.");

class Product {

private int productID;

private float productPrice;

private String productType;

public Product(int productID, float productPrice, String productType) {

this.productID = productID;

this.productPrice = productPrice;

this.productType = productType;

public int getProductID() {

return productID;

public float getProductPrice() {

return productPrice;

public void addProduct() {

27
System.out.println("Product " + productID + " added.");

public void modifyProduct(float newPrice) {

this.productPrice = newPrice;

System.out.println("Product " + productID + " modified.");

public void selectProduct() {

System.out.println("Product ID: " + productID + ", Type: " + productType + ", Price: "
+ productPrice);

class Stock {

private Map<Integer, Integer>

private int shopNo;

public Stock(int shopNo) {

this.shopNo = shopNo;

stockItems = new HashMap<>();

public void addStock(int productID, int quantity) {

stockItems.put(productID, quantity);

System.out.println("Stock added for Product " + productID + ": " + quantity + "
items.");

28
}

public void modifyStock(int productID, int newQuantity) {

if (stockItems.containsKey(productID)) {

stockItems.put(productID, newQuantity);

System.out.println("Stock modified for Product " + productID + ": " + newQuantity


+ " items.");

} else {

System.out.println("Product not found in stock.");

public void selectStockItem(int productID) {

if (stockItems.containsKey(productID)) {

System.out.println("Product " + productID + " has " + stockItems.get(productID) +


" items in stock.");

} else {

System.out.println("Product not found in stock.");

class Order {

private int orderID;

private Customer customer;

29
private Product product;

private float amount;

private Date orderDate;

public Order(int orderID, Customer customer, Product product, float amount, Date
orderDate) {

this.orderID = orderID;

this.customer = customer;

this.product = product;

this.amount = amount;

this.orderDate = orderDate;

public void createOrder() {

System.out.println("Order " + orderID + " created for customer " +


customer.getCustomerName() + " for product " + product.getProductID());

public void editOrder(float newAmount, Date newDate) {

this.amount = newAmount;

this.orderDate = newDate;

System.out.println("Order " + orderID + " modified.");

public void displayOrder() {

System.out.println("Order ID: " + orderID + ", Customer: " +


customer.getCustomerName() + ", Product: " + product.getProductID() +

", Amount: " + amount + ", Date: " + orderDate);

30
}

public class ECommerceSystem {

public static void main(String[] args) {

Customer customer1 = new Customer(101, "John Doe", "123 Main St", 987654321);

customer1.addCustomer();

Product product1 = new Product(201, 299.99f, "Electronics");

product1.addProduct();

Stock stock1 = new Stock(1);

stock1.addStock(201, 50);

Order order1 = new Order(301, customer1, product1, 299.99f, new Date());

order1.createOrder();

order1.displayOrder();

stock1.selectStockItem(201);

order1.editOrder(279.99f, new Date());

order1.displayOrder();

product1.modifyProduct(279.99f);

product1.selectProduct();

stock1.modifyStock(201, 45);

stock1.selectStockItem(201);

31
Ex. No : 6
Date:

CONLUSION :

Thus the Class Diagram for Online Food Delivery System was Done.

32
AIM:

To create an automated system to perform the Online Food Delivery system.

SEQUENCE DIAGRAM:

A sequence diagram is a type of interaction diagram because it describes how—and in


what order—a group of objects works together. These diagrams are used by software
developers and business professionals to understand requirements for a new system or
to document an existing process. Sequence diagrams are sometimes known as event
diagrams or event scenarios.

33
SEQUENCE DIAGRAM FOR ONLINE FOOD DELIVERY SYSTEM:

34
The diagram illustrates the flow of interactions in a car price prediction system,
involving a user, login process, database validation, predictor, and an automated model.
The process begins with the user inputting their user ID and password into the login
system. The login system communicates with the database to validate the credentials. If
the details are correct, the system confirms the existence of the user and allows them to
proceed. Once the user’s details are validated, they input the car details, which are sent
to the predictor component. The predictor interacts with the automated model, which
processes the car information using a pre-trained model. The model generates a "value
array," which contains the necessary variables to calculate the predicted price of the car.
This predicted price is then returned to the user as the final output of the system.

35
CONCLUSION:

Thus the Sequence Diagram for Online Food Delivery System was Done.

36
Ex. No : 7
Date:

AIM:

To create an automated system to perform the Online Food Delivery system

What are Collaboration Diagrams?

A collaboration diagram is a behaviour UML diagram which is also referred to as a


communication diagram. It illustrates how objects or components interact with each
other to achieve specific tasks or scenarios within a system.

1. Objects/Participants:

Objects are represented by rectangles with the object’s name at the top. Each object
participating in the interaction is shown as a separate rectangle in the diagram. Objects
are connected by lines to indicate messages being passed between them.

2. Multiple Objects

Multiple objects are represented by rectangles,each with the object’s name inside, and
interactions between them are shown using arrows to indicate message flows.

37
3. Actors

They are usually shown at the top or side of the diagram. Actors indicate their
involvement in the interactions with the system’s objects or components. They are
connected to objects through messages, showing the communication with the system.

4. Messages

Messages represent communication between objects. Messages are shown as arrows


between objects, indicating the flow of communication. Each message may include a
label indicating the type of message (e.g., method call, signal). Messages can
be asynchronous (indicated by a dashed arrow) or synchronous (solid arrow).

5. Self Message

38
This is a message that an object sends to itself. It represents an action or behavior that
the object performs internally without involving any other objects. Self-messages are
useful for modeling scenarios where an object triggers its own methods or processes.

6. Links

Links represent associations or relationships between objects. Links are shown as lines
connecting objects, with optional labels to indicate the nature of the relationship. Links
can be uni-directional or bi-directional, depending on the nature of the association.

7. Return Messages

Return messages represent the return value of a message. They are shown as dashed
arrows with a label indicating the return value. Return messages are used to indicate
that a message has been processed and a response is being sent back to the calling
object.

39
COLLABRATION DIAGRAM FOR ONLINE FOOD DELIVERY SYSTEM:

The "Add User Collaboration Diagram" outlines the sequence of interactions involved in
adding a user to a system. The process begins with the Manager invoking the
addUser(u) method in the SystemMgmt component. The SystemMgmt then
communicates with the userList to verify if the user already exists by calling
findInfo(u). If the user ID (uID) is NULL, indicating that the user does not exist, the
system proceeds with adding the new user through addTheUser. The userList
component then stores the new user information via addInfo(u). If the user’s ID is not
NULL, meaning the user already exists, the system returns an error message to the
Manager. After successfully adding a new user, SystemMgmt sends an opComplete
confirmation back to the Manager. This diagram efficiently manages the user addition
process by handling both new users and duplicates, ensuring proper validation and
error handling.

40
CONCLUSION:

Thus the Collabration Diagram for Online Food Delivery System was Done.

41
Ex. No : 8
Date:

AIM:

To create an automated system to perform the Online Food Delivery system.

What is a State Machine Diagram?

A state diagram is a uml diagram which is used to represent the condition of the system
or part of the system at finite instances of time. It’s a behavioral diagram and it
represents the behavior using finite state transitions.

1. Initial state

We use a black filled circle represent the initial state of a System or a Class.

2. Transition

We use a solid arrow to represent the transition or change of control from one state to
another. The arrow is labelled with the event which causes the change in state

42
3. State

We use a rounded rectangle to represent a state. A state represents the conditions or


circumstances of an object of a class at an instant of time.

4. Fork

We use a rounded solid rectangular bar to represent a Fork notation with incoming
arrow from the parent state and outgoing arrows towards the newly created states. We
use the fork notation to represent a state splitting into two or more concurrent state

5. Join

We use a rounded solid rectangular bar to represent a Join notation with incoming
arrows from the joining states and outgoing arrow towards the common goal state. We
use the join notation when two or more states concurrently converge into one on the
occurrence of an event or events.

43
6. Self transition

We use a solid arrow pointing back to the state itself to represent a self transition. There
might be scenarios when the state of the object does not change upon the occurrence of
an event. We use self transitions to represent such cases.

7. Composite state

We use a rounded rectangle to represent a composite state also. We represent a state


with internal activities using a composite state.

8. Final State

We use a filled circle within a circle notation to represent the final state in a state
machine diagram.
44
STATE DIAGRAM FOR ONLINE FOOD DELIVERY SYSTEM:

EXPLAINATION:

The diagram illustrates the flow of a customer service call process, from the point of a
new call initiation to its final resolution or abandonment. It starts with the customer

45
making a new call and waiting for service. If the system’s capacity is surpassed, the call
may be blocked, leading to a recall or abandonment. Customers in the queue may drop
out if they lose patience before service is available. If the customer remains patient and
service representatives become available, the customer is attended to and the service is
completed. However, if the customer’s patience runs out while waiting in the queue,
they may abandon the call, resulting in the process ending with either a dropped-out
customer or a successful service. The diagram highlights points where customers can
exit the process due to long waits or system overload, reflecting the challenges in
managing customer service efficiently.

CONCLUSION:

46
Thus the State Diagram for Online Food Delivery System was Done.

Ex. No : 9
Date:

AIM:

To create an automated system to perform the Online Food Deleviry system.

What is a Component-Based Diagram?

A Component-Based Diagram, often called a Component Diagram, is a type of structural


diagram in the Unified Modeling Language (UML) that visualizes the organization and
interrelationships of the components within a system.

1. Component:

 Role: Represent modular parts of the system that encapsulate functionalities.


Components can be software classes, collections of classes, or subsystems.
 Symbol: Rectangles with the component stereotype («component»).
 Function: Define and encapsulate functionality, ensuring modularity and
reusability.

2. Interfaces:

 Role: Specify a set of operations that a component offers or requires, serving as a


contract between the component and its environment.

47
 Symbol: Circles (lollipops) for provided interfaces and half-circles (sockets) for
required interfaces.
 Function: Define how components communicate with each other, ensuring that
components can be developed and maintained independently.

3. Relationships:

 Role: Depict the connections and dependencies between components and


interfaces.
 Symbol: Lines and arrows.

o Dependency (dashed arrow): Indicates that one component relies on


another.
o Association (solid line): Shows a more permanent relationship between
components.
o Assembly connector: Connects a required interface of one component to
a provided interface of another.
o Function: Visualize how components interact and depend on each other,
highlighting communication paths and potential points of failure.

4. Ports:

48
 Role: Represent specific interaction points on the boundary of a component
where interfaces are provided or required.
 Symbol: Small squares on the component boundary.
 Function: Allow for more precise specification of interaction points, facilitating
detailed design and implementation.

COMPONENT DIAGRAM FOR ONLINE FOOD DELIVERY SYSTEM:

EXPLAINATION:

The diagram represents the architecture of a Demo Application interacting with


various simulators and a caching system through defined interfaces. The Demo
Application is connected to external components like the CRM Simulator, PDM
Simulator, and Pricing Simulator, each through their respective interfaces
(CRMSimulatorn Interface, PDMSimulator Interface, and Pricing Simulator Interface).
These simulators provide specialized functionality, such as customer relationship
management (CRM), product data management (PDM), and pricing simulations.
Additionally, the Demo Application interacts with a Cache component via the
CacheInterface, which likely serves to store temporary data and improve the

49
application's performance by reducing the need for repeated requests to the simulators.
This setup suggests a modular and scalable system design where the application can
simulate various functions while maintaining efficiency through caching. The dashed
lines indicate the interfaces used for communication, highlighting the importance of
interface-driven interaction between components.

CONCLUSION:

Thus the Component Diagram for Online Food Delivery System was Done.

50
Ex. No : 10
Date:

AIM:

To create an automated system to perform the Online Food Delivery system.

What is a Deployment Diagram?

A Deployment Diagram shows how the software design turns into the actual physical
system where the software will run. They show where software components are placed
on hardware devices and shows how they connect with each other. This diagram helps
visualize how the software will operate across different devices

1. Component

2. Artifact

3. Interface

51
4. Node

DEPLOYMENT DIAGRAM FOR ONLINE FOOD DELIVERY SYSTEM:

EXPLAINATION:

The diagram represents the architecture of a Used Car Price Predictor system. It starts
by accessing essential features such as Car Year of Manufacture, Kms Driven, Fuel Type,
Previous Owners, and Transmission Type from the dataset. These features are
processed through Data Access components for retrieving the required information.
The extracted data is encrypted and then split into Test and Train datasets. Once the
52
data is prepared, it is passed through Access Control to ensure security. The system
then deploys the machine learning model based on this processed data, utilizing
encryption for safety. After successful deployment, the model predicts car prices, and
these predictions are stored in a Database. The system maintains a connection with the
database, allowing for continuous data retrieval and updates for the car price prediction
model.

CONCLUSION:

Thus the Deployment Diagram for Online Food Delivery System was Done.

53
54

You might also like