PRINCESS SCIENTIFIC
SERVICES
Submitted by
Raees Ud Din
SP20-BSE-033
Malik Muhammad Bilal
SP20-BSE-041
Contents
CONTENTS ................................................................................................................................................................. I
1 INTRODUCTION ..............................................................................................................................................1
1.1 SYSTEM INTRODUCTION ..............................................................................................................................1
1.2 BACKGROUND OF THE SYSTEM ...................................................................................................................1
1.3 OBJECTIVES OF THE SYSTEM .......................................................................................................................1
1.4 SIGNIFICANCE OF THE SYSTEM ....................................................................................................................2
2 OVERALL DESCRIPTION .............................................................................................................................4
2.1 PRODUCT PERSPECTIVE ...............................................................................................................................4
2.2 PRODUCT SCOPE..........................................................................................................................................4
2.3 PRODUCT FUNCTIONALITY ..........................................................................................................................4
2.4 USERS AND CHARACTERISTICS....................................................................................................................5
2.5 OPERATING ENVIRONMENT .........................................................................................................................6
3 SPECIFIC REQUIREMENTS .........................................................................................................................7
3.1 FUNCTIONAL REQUIREMENTS .....................................................................................................................7
3.2 BEHAVIOR REQUIREMENTS .........................................................................................................................9
3.3 EXTERNAL INTERFACE REQUIREMENTS .................................................................................................... 10
4 OTHER NON-FUNCTIONAL REQUIREMENTS ...................................................................................... 14
4.1 PERFORMANCE REQUIREMENTS ................................................................................................................ 14
4.2 SAFETY AND SECURITY REQUIREMENTS ................................................................................................... 14
4.3 SOFTWARE QUALITY ATTRIBUTES ............................................................................................................ 15
5 DESIGN DESCRIPTION ................................................................................................................................ 16
5.1 COMPOSITE VIEWPOINT ............................................................................................................................ 16
5.2 LOGICAL VIEWPOINT ................................................................................................................................ 17
5.3 INFORMATION VIEWPOINT ........................................................................................................................ 18
5.4 INTERACTION VIEWPOINT ......................................................................................................................... 19
5.5 STATE DYNAMICS VIEWPOINT .................................................................................................................. 20
5.6 ALGORITHM VIEWPOINT ........................................................................................................................... 21
i
1 Introduction
1.1 System Introduction
The B2B mobile app is a robust solution developed using Flutter and Dart, designed to streamline
business operations and enhance sales and customer relationships. It offers a user-friendly interface
that allows businesses to easily navigate through its features. The app includes a comprehensive
product catalog with search filters for efficient product discovery. Users can add products to their
shopping cart and securely complete transactions. Push notifications keep users updated on order
status and promotions. Integration with social media platforms enables product sharing and
increased brand exposure. The app also features order history tracking, live chat support, rating and
feedback, order confirmation emails, product availability notifications, and product image zoom.
With these features, the app provides businesses with a seamless and efficient tool to optimize their
operations and deliver a superior customer experience.
1.2 Background of the System
The background of the system is rooted in the need for businesses to adopt technology to streamline
operations and improve efficiency. Traditional methods were often time-consuming and lacked real-
time visibility. The B2B mobile app addresses these challenges by leveraging Flutter and Dart to
provide a robust and scalable platform. It digitizes and automates processes, offering a user-friendly
interface for efficient management. The app integrates secure payment gateways, push notifications,
social media sharing, live chat support, and feedback features. It aims to enhance productivity,
customer satisfaction, and business growth in the modern digital landscape.
1.3 Objectives of the System
• Develop a user-friendly B2B mobile app.
• Streamline operations and optimize sales.
• Enhance customer satisfaction and loyalty.
• Implement secure user registration and login.
1
• Create a comprehensive product catalogue.
• Enable seamless shopping cart functionality.
• Utilize push notifications for updates and promotions.
• Incorporate search filters for refined product searches.
• Integrate social media for brand exposure.
• Offer real-time customer support through live chat.
• Incorporate rating and feedback features.
• Send order confirmation emails.
• Notify users of product availability
• Implement product image zoom.
• Ensure robust data security measures.
1.4 Significance of the System
The B2B mobile app holds significant importance in various application areas and offers several
benefits for businesses. Here are the key areas where the system plays an important role:
1. Operational Efficiency: The app streamlines business operations, automates processes, and
eliminates manual tasks. It improves efficiency by providing a centralized platform for managing
orders, inventory, and customer information.
2. Sales Optimization: The app optimizes sales activities by providing a user-friendly product
catalog, seamless shopping cart functionality, and secure payment options. It enables businesses to
showcase their products effectively, leading to increased sales and revenue.
3. Customer Relationship Management: The app enhances customer satisfaction and loyalty by
offering features like personalized recommendations, order history tracking, and real-time customer
support through live chat. It fosters stronger customer relationships, resulting in repeat business and
positive word-of-mouth.
2
4. Enhanced User Experience: The app provides a seamless and intuitive user experience, making it
easier for customers to browse products, make purchases, and track orders. Features like push
notifications, social media integration, and product image zoom enhance the overall user
experience.
5. Increased Brand Exposure: Through social media integration and sharing capabilities, the app
expands brand exposure by allowing users to share products with their networks. This generates
user-generated marketing and helps reach a wider audience.
3
2 Overall Description
2.1 Product Perspective
The B2B mobile app serves as a central platform for businesses to manage their operations, sales,
and customer relationships. It interacts with various components to provide a user-friendly
experience. The app integrates with product catalogs, enables secure transactions, and incorporates
external services like social media and live chat. It streamlines business processes and enhances
communication, ultimately optimizing operations and fostering customer satisfaction in B2B
transactions.
2.2 Product Scope
The B2B mobile app aims to provide a user-friendly software solution for businesses engaged in
B2B transactions. It will focus on key features such as user registration, product catalog, shopping
cart, push notifications, order history, live chat support, and social media integration. The app's
scope includes streamlining operations, enhancing sales, and improving customer relationships.
However, it will not involve developing backend systems from scratch and will solely focus on
B2B-related functionalities.
2.3 Product Functionality
The B2B mobile app will provide the following major functions:
• User registration and login
• Product catalogue browsing and searching.
• Adding products to a shopping cart
• Secure payment processing
• Push notifications for order updates and promotions
• Search filters for refining product search
• Social media integration for sharing products.
• Order history tracking
4
• Real-time customer support through live chat
• Rating and feedback feature
• Order confirmation emails
• Product availability notifications
• Product image zoom
2.4 Users and Characteristics
The B2B mobile app caters to different types of users, each with their own pertinent characteristics.
The following are the key users and their characteristics:
1. Business Users: These are the primary users of the app, representing businesses engaged in B2B
activities. They may include wholesalers, manufacturers, distributors, and other B2B entities.
Characteristics of business users may include:
• Business-specific roles and responsibilities.
• Knowledge of their product catalog and pricing.
• Ability to manage and track orders.
• Access to customer information for relationship management.
• Need for efficient and streamlined business operations.
2. Customers: These are the end-users of the B2B app, representing businesses or individuals
purchasing products or services from the business users. Characteristics of customers may include:
• Need for browsing and searching the product catalog.
• Ability to add products to a shopping cart and make secure payments.
• Interest in receiving order updates and notifications.
• Desire to provide feedback and ratings for products and services.
• Expectation of a seamless and user-friendly shopping experience.
In the context of the B2B mobile app, the most important users to prioritize and satisfy are the
5
business users. They are the primary users who will extensively utilize the app for managing their
operations, sales, and customer relationships. Their satisfaction and effective use of the app directly
impact the success of their businesses.
While the satisfaction of business users is crucial, it is also important to ensure a positive experience
for the customers, who are the end-users of the B2B app. Customers' satisfaction plays a vital role in
driving repeat business and fostering long-term relationships with the business users. Therefore,
while both business users and customers are important.
2.5 Operating Environment
The B2B mobile app will operate on both iOS and Android platforms. The minimum platform
requirements are as follows:
iOS:
• Compatible with iPhone and iPad devices
Android:
• Compatible with a wide range of Android smartphones and tablets
The app will require an internet connection for accessing product information, making payments,
and communicating with the server. It will be designed to work on various screen sizes and
resolutions to provide a seamless user experience across different devices. The app will interact
with the server through APIs for retrieving product data, processing orders, and updating inventory.
It will also utilize the device's native features, such as push notifications, camera, and location
services, to enhance the user experience.
6
3 Specific Requirements
3.1 Functional Requirements
1. User Management:
• User registration with email or social media accounts
• User login and authentication
• User profile management
• Password reset and recovery.
2. Product Catalog Management:
• Displaying a list of products with details
• Categorizing products by categories and subcategories
• Searching and filtering products by various parameters
• Viewing product details, including images, descriptions, and pricing
• Adding products to favorites or Wishlist.
3. Shopping Cart and Ordering:
• Adding products to the shopping cart
• Updating and modifying the shopping cart
• Calculating the total price of the order
• Secure payment processing
• Order placement and confirmation
• Tracking order status and history
4. Notifications:
• Push notifications for order updates, promotions, and important announcements
• Email notifications for order confirmations and updates
7
5. Search and Filtering:
• Advanced search options with filters for categories, price range, brands, and other
parameters
• Sorting options for search results
6. Social Media Integration:
• Sharing products on social media platforms like Facebook, Twitter, and Instagram
7. Live Chat Support:
• Real-time chat functionality for customer support
• Instant messaging with customer service representatives
• Providing assistance with product inquiries, order issues, and general support
8. Rating and Feedback:
• Allowing users to rate and review products
• Providing a feedback mechanism for users to share their experiences
• Displaying average ratings and reviews for products
9. Order History and Tracking:
• Viewing past orders with order details and status
10.Order Confirmation Emails:
• Users should receive automated order confirmation emails after successfully placing
an order.
• The emails should contain detailed order information, including products, quantities,
prices, and shipping details.
11.Product Availability Notifications:
• Users should be able to subscribe to product availability notifications.
• If a product is out of stock, users should receive notifications when it becomes
available again.
12.Product Image Zoom:
• Users should be able to zoom in on product images to view finer details.
• Zoom functionality should be intuitive and responsive for a better user experience.
8
These functional requirements cover various aspects of the B2B mobile app, ensuring a seamless
and comprehensive experience for users while managing their operations, sales, and customer
relationships.
3.2 Behavior Requirements
Use Case Diagram
9
Use Case Descriptions:
1. User Registration and Login: This use case allows users to register and log in to the
application using their email address or social media accounts.
2. Product Catalog: Users can browse and search through the product catalog to find the
products they are interested in purchasing.
3. Shopping Cart: Users can add products to a shopping cart and make payments for their
purchases.
4. Push Notifications: Users receive push notifications for order updates, promotions, and other
relevant information.
5. Search Filters: Users can use search filters to refine their product search by category, price
range, brand, and other parameters.
6. Social Media Integration: Users can share products they like on social media platforms like
Facebook, Twitter, and Instagram.
7. Order History: Users can view their past orders.
8. Rating and Feedback: Users can provide ratings and feedback on the app, helping to
improve its quality.
9. Order Confirmation Emails: Users receive email confirmations for their orders.
10. Product Availability Notifications: Users receive notifications when a product they are
interested in becomes available.
11. Product Image Zoom: Users can zoom in on product images for a closer look.
12. Manage Products (Admin): The admin can manage and update the products available in the
product catalog.
13. Manage Orders (Admin): The admin can manage and process orders placed by users.
3.3 External Interface Requirements
3.3.1 User Interfaces
The B2B mobile app will provide the following user interfaces and screens:
10
• Login/Register Screen: This screen will allow users to log in to their existing account or
register a new account.
• Home Screen: After logging in, users will be greeted with a home screen that displays
featured products, promotions, and personalized recommendations.
• Product Catalog Screen: Users can browse and search for products in the catalog, view
product details, and access related information.
• Shopping Cart Screen: Users can view and manage the contents of their shopping cart,
including adding or removing items, updating quantities, and proceeding to checkout.
• Checkout Screen: Users can review their selected products, enter shipping and payment
details, and place an order.
• Order History Screen: Users can view their past orders, track order status, and access order
details.
• Account Settings Screen: Users can update their account information, manage preferences,
and modify notification settings.
3.3.2 Hardware Interfaces
The hardware interface for "Princess Scientific Services" includes personal tablets, and
smartphones as the primary user devices. These devices enable users to register, browse the product
catalog, add items to the shopping cart, make payments, receive push notifications, utilize search
filters, share products on social media, view order history, engage in live chat, provide ratings and
feedback, receive order confirmation emails, get product availability notifications, and utilize
product image zoom.
3.3.3 Software Interfaces
The B2B mobile app will have specific software interfaces to interact with the operating system and
other software components. These interfaces include:
1. Operating System Interface: The app will utilize platform-specific APIs provided by the
operating system, such as iOS or Android, to access device features and system resources. This
interface ensures compatibility and enables the app to handle user input, utilize device capabilities,
and manage data storage effectively.
11
2. Server API Interface: The app will communicate with a server using APIs (Application
Programming Interfaces) to send requests and receive responses. These APIs define the methods
and protocols for data exchange between the app and the server.
3.3.4 Communications Interfaces
"Princess Scientific Services," the major communication interfaces can be outlined as follows:
• User Registration and Login:
Communication interfaces would be required for users to register and log in to the
application. This could involve interacting with a user database or authentication service
to verify user credentials and grant access to the system.
• Product Catalog:
The application's product catalog would require communication interfaces to fetch and
display product information to the users. This could involve interacting with a database
or an external API to retrieve product details such as name, description, price, and
availability.
• Shopping Cart and Payment:
Communication interfaces would be necessary to handle the shopping cart functionality
and facilitate payments. This may involve integrating with a payment gateway or a third-
party service to securely process payment transactions and provide order confirmation.
• Push Notifications:
To send push notifications for order updates, promotions, and other relevant information,
communication interfaces would be needed to interact with a notification service or
framework. This would allow the application to push notifications to users' devices or
preferred communication channels.
12
• Social Media Integration:
For users to share products they like on social media platforms, communication
interfaces would be required to connect with the respective social media APIs. This
would enable seamless sharing of product information, images, and links on platforms
like Facebook, Twitter, and Instagram.
• Order History:
Communication interfaces would be necessary to retrieve and display a user's past order
history. This could involve querying a database or an external system to fetch and
present the relevant order information to the user.
13
4 Other Non-functional Requirements
4.1 Performance Requirements
• Response Time: User actions should have a response time of less than 2 seconds.
• Loading Time: The app should load within 3 seconds for smooth user experience.
• Scalability: The app should handle increasing user traffic and data volume without
performance degradation.
• Network Efficiency: Minimize data usage and reduce network latency for fast interactions
with the server.
• Error Handling: Handle errors gracefully and provide clear feedback to users.
These performance requirements ensure a fast, efficient, and reliable experience for users of the
B2B mobile app.
4.2 Safety and Security Requirements
• User Authentication: Implement a secure login system to ensure only authorized users can
access the app.
• Data Encryption: Encrypt sensitive user information during transmission and storage to
protect against unauthorized access.
• Secure Communication: Use secure protocols (e.g., HTTPS) for data transmission between
the app and server to prevent interception or tampering.
• Secure Payment Processing: Integrate secure payment gateways and follow industry
standards for secure handling of payment transactions.
• Data Privacy: Ensure compliance with data privacy regulations and protect user privacy by
implementing strict policies.
• Regular Security Updates: Keep the app and its components updated with the latest security
patches and releases.
14
• Secure Storage: Store user data in encrypted and secure storage systems to prevent
unauthorized access.
These safety and security requirements ensure the protection of user data, secure communication,
and adherence to privacy regulations, providing users with a safe and secure experience while using
the B2B mobile app.
4.3 Software Quality Attributes
• Reliability: The app should work consistently without crashes or errors, achieved through
thorough testing and effective error handling.
• Performance Efficiency: Optimize the app for fast response times and efficient resource
usage through performance testing and optimization.
• Usability: Design an intuitive and user-friendly interface with clear instructions and helpful
prompts for easy app navigation.
• Maintainability: Develop clean and modular code, document the codebase, and use version
control systems for easy maintenance.
• Portability: Ensure the app can run smoothly on different platforms and adapt to various
screen sizes and resolutions.
• Security: Implement robust security measures to protect user data, regularly assess
vulnerabilities, and follow secure coding practices.
15
5 Design Description
5.1 Composite Viewpoint
Package Diagram
Package Diagram
16
5.2 Logical Viewpoint
class diagram
Class Diagram
17
5.3 Information Viewpoint
Entity Relationship Diagram (ERD)
• The relationships between entities are represented by arrows. The User entity has a one-to-
many relationship with the Shopping Cart entity, as a user can have one shopping cart, but a
shopping cart can belong to only one user. The Shopping Cart entity has a one-to-many
relationship with the Cart Item entity, as a shopping cart can have multiple cart items, but a
cart item belongs to only one shopping cart.
• Similarly, the User entity has a one-to-many relationship with the Order entity, as a user can
place multiple orders, but an order belongs to only one user. The Order entity has a one-to-
many relationship with the Order Item entity, as an order can have multiple order items, but
an order item belongs to only one order.
• Finally, the User entity has a one-to-many relationship with the Notification entity, as a user
can receive multiple notifications, but a notification belongs to only one user.
Entity Relationship
Diagram (ERD)
18
5.4 Interaction Viewpoint
sequence diagrams
sequence diagrams
19
5.5 State Dynamics Viewpoint
UML State Machine Diagram:
UML State Machine Diagram:
20
5.6 Algorithm Viewpoint
Decision Table:
User Social Order Product
Registration Product Shopping Push Search Media Order Live Rating and Confirmation Availability
Decision and Login Catalog Cart Notifications Filters Integration History Chat Feedback Emails Notifications Product Image Zoom
User can register ✔
User can login ✔
User can browse product catalog ✔ ✔
User can search products ✔ ✔
User can add products to cart ✔
User can make payments ✔
User receives push notifications ✔
User can use search filters ✔
User can share products ✔
User can view order history ✔
User can have live chat support ✔
User can provide rating and feedback ✔
User receives order confirmation ✔
User receives product availability ✔
User can zoom product images ✔
In this version, a tick mark (✔) indicates that the feature is included in the project, while a cross mark ( )
indicates that the feature is not included.
21