D Ooad
D Ooad
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;
1
to apply UML effectively starts forming a conceptual mode of languages which requires
learning.
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. Class diagram
2. Use-case diagram
3. Behavior 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.
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.
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.
Rules that dictate how this building blocks are put together.
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.
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.
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.
<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.
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:
Software Interface
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:
• 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.
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:
CONCLUSION:
12
Ex. No : 3
Date:
AIM:
USE CASE:
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.
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:
16
CONCLUSION:
Thus the UseCase Diagram for Online Food Delivery System was Done
Ex. No : 4
Date:
AIM:
ACTIVITY DIAGRAM:
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:
CLASS DIAGRAM:
CLASS NOTATION:
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
2. Directed Association
3. Aggregation
21
4. Composition
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 {
this.customerID = customerID;
this.customerName = customerName;
this.address = address;
this.phoneNumber = phoneNumber;
return customerID;
return customerName;
this.customerName = name;
this.address = address;
26
this.phoneNumber = phoneNumber;
System.out.println("Customer deleted.");
class Product {
this.productID = productID;
this.productPrice = productPrice;
this.productType = productType;
return productID;
return productPrice;
27
System.out.println("Product " + productID + " added.");
this.productPrice = newPrice;
System.out.println("Product ID: " + productID + ", Type: " + productType + ", Price: "
+ productPrice);
class Stock {
this.shopNo = shopNo;
stockItems.put(productID, quantity);
System.out.println("Stock added for Product " + productID + ": " + quantity + "
items.");
28
}
if (stockItems.containsKey(productID)) {
stockItems.put(productID, newQuantity);
} else {
if (stockItems.containsKey(productID)) {
} else {
class Order {
29
private Product product;
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;
this.amount = newAmount;
this.orderDate = newDate;
30
}
Customer customer1 = new Customer(101, "John Doe", "123 Main St", 987654321);
customer1.addCustomer();
product1.addProduct();
stock1.addStock(201, 50);
order1.createOrder();
order1.displayOrder();
stock1.selectStockItem(201);
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:
SEQUENCE DIAGRAM:
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:
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
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:
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
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
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:
1. Component:
2. Interfaces:
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:
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.
EXPLAINATION:
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:
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
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