OOSE (1)

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 26

OBJECT ORIENTED SOFTWARE ENGINEERING

UNIVERSITY INSTITUTE OF ENGINEERING AND TECHNOLOGY


KURUKSHETRA

KURUKSHETRA UNIVERSITY, KURUKSHETRA

(2021-2025)

SUBMITTED TO: SUBMITTED BY:

DR. SANJEEV DHAWAN TUSHTI


ASSISTANT PROFESSOR UIET KUK 252102079
CSE - A, 7 th SEM
INDEX

SNO. CONTENTS SIGNATURE

1. To prepare the project for the Jewellery Selling Store


and also discuss the problem statement.

2. Write the software requirement specification document

3. Draw the entity relationship diagram

4. Draw the data flow diagrams at level 0 and level 1.

5. Draw use case diagram.

6. Draw activity diagram.

7. Draw state chart diagram.

8. Draw sequence diagram of all use cases.

9. Draw collaboration diagram of all use cases.

10. Assign objects in sequence diagram to classes and make


class diagram.
Practical-1

AIM: Choose any one project and Write the complete problem
statement.

Problem Statement:
Before starting an online jewelry store, some problems that may arise include:

● Categorization: It can be difficult to categorize jewelry items by production date, such as gold, silver,
diamond.
● Transaction analysis: It can be difficult to analyze transactions for a specific time period.

● Inventory availability: It can be difficult to determine which items are available in the store.

● Organized retail crime: Sophisticated criminal groups can steal high-value items, which can lead to financial
losses and put the safety of employees and customers at risk.

Online jewelry stores can offer a wide range of collections because they don't have the same inventory holding
capacity and display space constraints as physical stores.

Features of the Project:

Customer-Facing Features

1. Personalized Recommendations:
○ Use Salesforce Einstein AI to offer personalized product suggestions based on customer
behavior and preferences.
2. Product Catalog:
○ Display a visually appealing catalog of jewelry items with high-resolution images, descriptions,
and prices.
3. Advanced Search and Filters:
○ Enable customers to filter products by category, price range, material, gemstone type, occasion,
and more.
4. Secure Payment Gateway Integration:
○ Seamlessly integrate with payment platforms to ensure safe and hassle-free transactions.
5. Wishlist and Favorites:
○ Allow users to save their favorite items for future purchases.
6. Customer Reviews and Ratings:
○ Showcase authentic customer feedback to build trust.
7. Mobile-Friendly Design:
○ Ensure responsive design for an optimal shopping experience on all devices.

Admin and Backend Features

1. Inventory Management:
○ Track inventory levels in real-time to prevent stockouts and overstocking.
2. Order and Shipping Management:
○ Automate order processing and integrate with shipping providers to update delivery statuses.
3. Customer Relationship Management (CRM):
○ Utilize Salesforce CRM to maintain customer profiles, track interactions, and deliver
personalized marketing.
4. Marketing Automation:
○ Send targeted email campaigns and promotional offers through Salesforce Marketing Cloud.
5. Data Analytics and Reporting:
○ Gain insights into sales trends, customer preferences, and performance metrics using Salesforce
dashboards.
6. Role-Based Access Control:
○ Secure sensitive data by assigning roles and permissions to different team members.

Enhanced Features with Salesforce

1. Customer Support Integration:


○ Use Salesforce Service Cloud to provide live chat, email, and phone support.
2. Loyalty Program Management:
○ Reward customers with points for purchases, referrals, and reviews, encouraging repeat
business.
3. Seamless Omni-Channel Experience:
○ Provide consistent shopping experiences across web, mobile, and physical stores (if applicable).
4. Integration with Social Media:
○ Allow customers to share their favorite products and reviews on social media platforms directly
from the store.
5. AI-Powered Chatbots:
○ Deploy chatbots for customer queries, product suggestions, and order assistance.
6. Dynamic Pricing and Discounts:
○ Automate discounts during sales and provide personalized pricing for loyal customers.
Practical-2

AIM: Write the Software Requirements Specification


Document.
Here's a Software Requirements Specification (SRS) document for the Online Jewelry Store
project using Salesforce:

Software Requirements Specification (SRS)


Project Title: Online Jewelry Store

1. Introduction
1.1 Purpose

This document outlines the functional and non-functional requirements for an online jewelry
store built on Salesforce. The system will offer a seamless e-commerce platform for customers to
browse, purchase, and manage jewelry products. It will also include features for backend
operations such as inventory, customer relationship management (CRM), and analytics.

1.2 Scope

The system will enable customers to:

● Browse an extensive catalog of jewelry items.


● Perform secure online transactions.
● Receive personalized recommendations based on their preferences.
The platform will support administrators by automating order processing, managing
inventory, and providing insightful reports.

1.3 Definitions, Acronyms, and Abbreviations

● CRM: Customer Relationship Management.


● SaaS: Software as a Service.
● API: Application Programming Interface.
● Salesforce Service Cloud: A customer service platform by Salesforce.
● Salesforce Marketing Cloud: A platform for marketing automation.
1.4 References

● Salesforce official documentation


● E-commerce design principles

2. Overall Description
2.1 Product Perspective

This project will be implemented as a SaaS application using Salesforce Commerce Cloud,
leveraging Salesforce’s ecosystem for scalability and reliability.

2.2 Product Features

● Customer Portal: User-friendly interface for customers to explore and purchase jewelry.
● Admin Portal: Backend system for managing inventory, orders, and marketing
campaigns.
● AI Integration: Personalized recommendations using Salesforce Einstein AI.
● Payment Gateway: Secure integration with payment systems.
● Reporting and Analytics: Dashboards for tracking business metrics.

2.3 User Classes and Characteristics

● Customers: General users purchasing jewelry. Should have basic internet skills.
● Administrators: Staff managing operations. Should have familiarity with Salesforce.
● Support Agents: Responsible for handling customer queries using Salesforce Service
Cloud.

2.4 Operating Environment

● Web application: Compatible with major browsers (Chrome, Safari, Firefox, Edge).
● Mobile application: Compatible with iOS and Android.
● Backend hosted on Salesforce Cloud.

2.5 Assumptions and Dependencies

● Users will have internet access.


● Salesforce services are operational and licensed for use.
● Payment gateways comply with PCI-DSS standards.
3. Functional Requirements
3.1 Customer-Facing Features

● Users can create and manage their accounts.


● Search and filter products by category, material, and price.
● Add items to cart and proceed to checkout securely.
● View order history and track delivery status.

3.2 Admin Features

● Add, update, and delete jewelry items in the inventory.


● Automate inventory replenishment alerts.
● Generate sales and customer behavior reports.

3.3 CRM and Marketing

● Collect customer information and interaction history.


● Send automated promotional emails and offers.
● Provide loyalty points tracking.

3.4 Payment and Transactions

● Integrate with secure payment platforms (e.g., PayPal, Stripe).


● Handle multi-currency transactions.

4. Non-Functional Requirements
4.1 Performance Requirements

● System should handle 500 simultaneous user sessions with no degradation.


● Average response time for transactions: < 2 seconds.

4.2 Security

● Enforce user authentication using multi-factor authentication (MFA).


● Ensure data encryption at rest and in transit.

4.3 Usability

● Provide an intuitive interface for ease of navigation.


● Support multilingual and multi-currency options.

4.4 Scalability
● Support increased traffic during festive sales or promotions.

4.5 Availability

● 99.9% uptime SLA.

5. System Architecture
● Frontend: Built using Salesforce Commerce Cloud.
● Backend: Powered by Salesforce CRM and Marketing Cloud.
● Database: Salesforce native database.
● Integration: Payment gateways, shipping APIs, and social media platforms.

6. External Interface Requirements


6.1 User Interfaces

● Web Interface: For browsing and purchasing.


● Admin Panel: For managing operations.

6.2 Hardware Interfaces

● Standard devices (PCs, laptops, tablets, and smartphones).

6.3 Software Interfaces

● Integration with third-party payment gateways and delivery services.

7. Constraints
● The system must adhere to GDPR and PCI-DSS compliance for data protection and
payment security.
● Limited customization due to Salesforce platform constraints.
Practical No.3

AIM: Draw the entity relationship diagram.

An Entity Relationship Diagram (ERD) for an online jewelry store would depict the connections
between key entities like "Customer," "Product," "Order," "Category," "Payment," and "Shipping
Address," illustrating how each piece of data relates to one another within the store's database,
allowing for efficient management of customer information, product details, orders, and payment
processing
Key Entities and Relationships:
● Customer:

● Attributes: Name, Email, Phone Number, Shipping Address, Billing Address, Password

● Relationship:
● "Places" one-to-many "Orders"
● Product:

● Attributes: Product ID, Name, Description, Price, Image, Category, Material, Gemstone Details, Size,
Stock Availability
● Relationship:
● "Belongs to" one "Category"

● "Can be added to" many "Carts"


● Category:

● Attributes: Category Name, Description

● Relationship:
● "Has many" "Products"
● Order:

● Attributes: Order ID, Order Date, Total Price, Shipping Cost, Payment Method, Order Status
(Pending, Processing, Shipped, Delivered)
● Relationship:
● "Placed by" one "Customer"

● "Contains" many "Order Items"


● OrderItem:

● Attributes: Product ID, Quantity, Price

● Relationship:
● "Belongs to" one "Order"
● Payment:

● Attributes: Payment ID, Payment Method, Transaction ID, Amount

● Relationship:
● "Associated with" one "Order"
● Shipping Address:
● Attributes: Address Line 1, Address Line 2, City, State, Zip Code

● Relationship:
● "Can be linked to" many "Orders"
Key Relationship Cardinalities:
● Customer to Order: One-to-Many (A customer can place multiple orders)

● Product to OrderItem: One-to-Many (A product can be included in multiple orders)

● Category to Product: One-to-Many (A category can have many products)

● Order to Payment: One-to-One (Each order is associated with one payment)

ER Diagram For online Jewellery Store


Practical No. 4

AIM: Draw the data flow diagrams at level 0 and level 1.

Zero Level Data Flow Diagram (0 Level DFD) of jewellery Shop Management System :

This is the Zero Level DFD of jewellery Shop Management System, where we have elaborated the high
level process of jewellery. It's a basic overview of the whole jewellery Shop Management System or
process being analyzed or modeled. It's designed to be an at-a-glance view of Quality, Payment and
Product showing the system as a single high-level process, with its relationship to external entities of
jewellery, Design and Stock. It should be easily understood by a wide audience, including jewellery,
Stock and Quality In zero level DFD of jewellery Shop Management System, we have described the high
level flow of the jewellery system.

High Level Entities and proccess flow of jewellery Shop Management System:

● Managing all the jewellery

● Managing all the Design

● Managing all the Stock

● Managing all the Sales

● Managing all the Quality

● Managing all the Payment

● Managing all the Product


Level 1 Data Flow Diagram of Online jewellery store:
First Level Data Flow Diagram (1st Level DFD) OF jewellery Shop Management System :

First Level DFD (1st Level) of jewellery Shop Management System shows how the system is divided
into sub-systems (processes), each of which deals with one or more of the data flows to or from an
external agent, and which together provide all of the functionality of the jewellery Shop Management
System system as a whole. It also identifies internal data stores of Product, Payment, Quality, Sales,
Stock that must be present in order for the jewellery system to do its job, and shows the flow of data
between the various parts of jewellery, Stock, Payment, Product, Quality of the system. DFD Level 1
provides a more detailed breakout of pieces of the 1st level DFD. You will highlight the main
functionalities of jewellery.

Main entities and output of First Level DFD (1st Level DFD):

Processing jewellery records and generate report of all jewellery

Processing Design records and generate report of all Design

Processing Stock records and generate report of all Stock

Processing Sales records and generate report of all Sales

Processing Quality records and generate report of all Quality Processing Payment records and generate
report of all Payment

Processing Product records and generate report of all Product


Practical No. 5

AIM: Draw use case Diagram.


Creating a Use Case Diagram for an online jewelry store that includes various actions like search,
browse, profile management, ordering, adding to shopping cart, viewing the cart, and checkout involves
identifying the key actors and use cases. Below is a breakdown of how this could be visualized:

Key Actors:
1. Customer – This is the primary user of the system.
2. Admin – Responsible for managing products, orders, and customer data (optional for this specific use
case diagram, unless you're considering an admin role).
3. System – The e-commerce platform that processes actions and manages the store's functionality.

Use Case Diagram Description:

1. Actors:
o Customer: The person who will interact with the store for browsing, purchasing, and managing
their profile.
2. Use Cases:
o Search: The customer searches for specific jewelry items.
o Browse: The customer browses through the jewelry categories or list of available products.
o View Profile: The customer can view and edit their account details, such as name, email, and
shipping address.
o Add to Shopping Cart: When a customer finds an item they like, they can add it to their
shopping cart.
o View Cart: The customer can view the contents of their cart.
o Order: The customer can review their cart and proceed to order.
o Checkout: The final step where the customer provides shipping and payment details to complete
the purchase.
Practical No. 6

AIM: Draw activity Diagram of All use cases

The Activity Diagram for logging into an online jewelry store shows the sequence of actions and decisions
involved when a user attempts to log in to their account. This involves verifying the user's credentials, and
depending on the outcome (successful or failed login), the system either grants access or asks the user to
retry or reset their password.
Here is a step-by-step breakdown of the Login Process:
Steps in the Login Activity Diagram:

1. Start: The user initiates the login process by choosing to log in to the store.
2. Enter Username and Password: The user is prompted to enter their username (or email) and password.
3. Validate Credentials:
o The system checks whether the entered username and password match an existing account in the
database.
4. Decision (Valid Credentials?):
o If Yes, the system proceeds to grant the user access.
o If No, the user is shown an error message and is given the option to retry or reset the password.
5. Retry: If the user chooses to retry, they are prompted to enter the credentials again.
6. Reset Password: If the user selects the option to reset their password, the system takes them through the
password recovery process.
7. Successful Login: If the login is successful, the user is granted access to their account (e.g., redirected to the
homepage or their profile page).
8. End: The login process is either completed successfully, or the user exits or retries.
Practical No. 7

AIM: Draw State chart Diagram of all use cases

The name of the diagram itself clarifies the purpose of the diagram and other details. It describes
different states of a component in a system. The states are specific to a component/object of a
system.

A Statechart diagram describes a state machine. State machine can be defined as a machine which defines
different states of an object and these states are controlled by external or internal events.

Activity diagram explained in the next chapter, is a special kind of a Statechart diagram. As
Statechart diagram defines the states, it is used to model the lifetime of an object.

Purpose of Statechart Diagrams


Statechart diagram is one of the five UML diagrams used to model the dynamic nature of a system.
They define different states of an object during its lifetime and these states are changed by events.
Statechart diagrams are useful to model the reactive systems. Reactive systems can be defined as a
system that responds to external or internal events.

Statechart diagram describes the flow of control from one state to another state. States are defined as a
condition in which an object exists and it changes when some event is triggered. The most important
purpose of Statechart diagram is to model lifetime of an object from creation to termination.

Statechart diagrams are also used for forward and reverse engineering of a system. However, the
main purpose is to model the reactive system.

Following are the main purposes of using Statechart diagrams

• To model the dynamic aspect of a system.


• To model the life time of a reactive system.
• To describe different states of an object during its life time.
• Define a state machine to model the states of an object.
State Chart Diagram:
Practical No. 8

AIM: Draw Sequence Diagram of all use cases

Login Sequence Diagram Of Jewellary Shop Management System:


This is the Login Sequence Diagram of jewellery Shop Management System, where admin will be able to
login in their account using their creden-tials. After login user can manage all the operations on Sales,
Payment, Quality, Product, Jwellery.
All the pages such as Quality, Product, Jwellery are secure and user can access these page after login. The
diagram below helps demonstrate how the login page works in a jewellery Shop Management System. The
various objects in the Product, Sales, Payment, Quality, and Jwellery page-interact over the course of the
sequence, and user will not be able to access this page without verifying their identity.

This is the UML sequence diagram of jewellery Shop Management System which shows the interaction
between the objects of Payment, Quality, Sales, Jwellery, Product. The instance of class objects involved in
this UML Sequence Diagram of jewellery Shop Management System are as follows

● Payment Object

● Quality Object

● Sales Object

● Jwellery Object
● Product Object

A Login Sequence Diagram for an online jewelry store would depict the flow of interactions between the
user and various systems (e.g., front-end, back-end, database) when a user attempts to log into the platform.
Below is an outline of what the sequence diagram might look like:
Participants (Objects):

1. User (Customer) - The individual trying to log in.


2. Web Browser (UI) - The interface through which the user interacts with the store.
3. Authentication Server - A server that handles authentication requests, verifies credentials, and sends back a
response.
4. Database - Stores user credentials and other necessary details.
5. Jewelry Store Website - The platform where the user accesses the online store.

Sequence Diagram Representation


User Web Browser Authentication Server Database
| | | |
|----(1) Login------>| | |
| |----(2) Send Login Req-->| |
| | | |
| | |----(3) Query DB---->|
| | | |
| | |<---(4) Verify------|
| | | |
| |<--(5) Auth Success/Fail-| |
| | | |
| |----- Auth Token ------->| |
| | | |
| |<--(6) Redirect/Error---| |
| | | |
|<--(7) Homepage ----| | |
| | | |

Description of Diagram Steps:


1. Login Action (User Browser):
o The user enters credentials and clicks on "Login."
2. Send Login Request (Browser Auth Server):
o The browser sends the login request (username/email and password) to the Authentication Server.
3. Query Database (Auth Server Database):
o The Authentication Server queries the Database to check if the entered username and password exist.
4. Verify Credentials (Database Auth Server):
o The Database responds with either a success or failure, indicating whether the provided credentials are
valid.
5. Authentication Response (Auth Server Browser):
o If successful, the Authentication Server sends a token or session key to the Web Browser. If failed, an
error message is returned.
6. Redirect/Error (Browser User):
o If the login is successful, the browser redirects the user to the homepage/dashboard of the jewelry
store. If the login failed, an error message is shown.
7. Homepage (Browser User):
o On successful login, the user is granted access to the store's features, such as viewing jewelry
collections, order history, and more.
Practical No. 9
AIM: Draw Collaboration Diagram of all use cases
In UML (Unified Modeling Language), a Collaboration Diagram is a type of Interaction Diagram
that visualizes the interactions and relationships between objects in a system. It shows how
objects collaborate to achieve a specific task or behavior. Collaboration diagrams are used to
model the dynamic behavior of a system and illustrate the flow of messages between objects
during a particular scenario or use case.
This is a Component diagram of jewellery Shop Management System which shows components,
provided and required interfaces, ports, and rela- tionships between the Stock, Design, Product,
Quality and Jwellery. This type of diagrams is used in Component-Based Development (CBD) to
describe systems with Service-Oriented Architecture (SOA). jewellery Shop Management
System UML component diagram, describes the organization and wiring of the physical
components in a system.

Components of UML Component Diagram of Jewellery Shop Management


System:

● Stock Component

● Design Component

● Product Component

● Quality Component

● Jwellery Component


Features of jewellery Shop Management System Component Diagram

● You can show the models the components of jewellery Shop Management System.

● Model the database schema of jewellery Shop Management System

● Model the executables of an application of Jewellery Shop Management System

● Model the system's source code of jewellery Shop Management System


Practical No. 10
AIM: Assign objects in sequence diagram to classes
and make class diagram

Jewellery Shop Management System Class Diagram describes the structure of a jewellery Shop
Management System classes, their attributes, operations (or methods), and the relationships
among objects. The main classes of the jewellery Shop Management System are Jwellery, Stock,
Sales, Quality. Payment, Product.

Classes of jewellery Shop Management System Class Diagram:

Jwellery Class: Manage all the operations of Jwellery

Stock Class Manage all the operations of Stock

Sales Class: Manage all the operations of Sales

Quality Class: Manage all the operations of Quality

Payment Class: Manage all the operations of Payment

Product Class Manage all the operations of Product

Classes and their attributes of jewellery Shop Management System Class Diagram:

Jwellery Attributes: jwellery_id. jwellery_name, jwellery_type, jwellery_description

Stock Attributes: stock_id, stook_items, stock_number, stock_type, stock_description

Sales Attributes: sales_id, sales_customer_id, sales_amount, sales_type, sales_description

Quality Attributes: quality_id. quality_product_id, quality_category, quality_type,


quality_description

Payment Attributes: payment_id, payment_customer_id, payment_date, payment_amount,


payment_description

Product Attributes: product_id, product_customer_id product_items, product_number,


product_type product_description
Classes and methods:
Jwellery Methods: addJwellery(), edit.Jwellery(), delete Jwellery(), updateJwellery(),
saveJwellery(), searchJwellery()

Stock Methods: addStock(), editStock(), delete Stock(), updateStock(), saveStock(),


searchStock()

Sales Methods: addSales(), editSales(), delete Sales(), updateSales(), saveSales(), searchSales()

Quality Methods: addQuality(), editQuality(), delete Quality(), update Quality(), saveQuality(),


search Quality()

Payment Methods: addPayment(), editPayment(), deletePayment(), updatePayment(),


savePayment(),
search Payment()

Product Methods: add Product(), edit Product(), deleteProduct(), update Product(),


saveProduct(), searchProduct()Class

Diagram:

You might also like