Lecture 6
Lecture 6
Types of Requirement
1. User requirements
Statements in natural language plus diagrams of the services the system provides and its
operational constraints. Written for customers.
2. System requirements
A structured document setting out detailed descriptions of the system’s functions, services
and operational constraints. Defines what should be implemented so may be part of a
contract between client and contractor.
User Requirements vs. System Requirements
User Requirements System Requirements
User-Centric Developer-Centric
Derived from User Needs Translated from User Requirements
Non-Technical Language Technical and Implementation Details
High-Level Low-Level
Focus on "Why" and "What" Describe "How"
• User Requirements are user-centered, expressed in non-technical language, and describe the software's
purpose and functionality.
• System Requirements are technically focused, providing detailed implementation specifications for
developers
User and System Requirements
Copyright © 2016, 2011, 2006 Pearson Education, Inc. All Rights Reserved
Readers of Different Types of Requirements Specification
Copyright © 2016, 2011, 2006 Pearson Education, Inc. All Rights Reserved
Categories of requirements
1. Functional requirements: prescribe what services the software-to-be should provide
✓capture intended software effects on environment, applicability conditions
✓units of functionality resulting from software operations
e.g. “The software shall control the acceleration of all trains”
Security
Scalability
Compatibility &
Interoperability
Web application for a food delivery
Web APPLICATION FOR FOOD DELIVERY
Introducing a new mobile application for a food delivery service. The app should allow users to
browse a variety of restaurants, view their menus, and place orders for delivery or pickup.
Users will be able to create accounts, customize their profiles, and save favorite orders for
quick reordering. It's crucial that the app offers real-time order tracking, so users can monitor
the status of their deliveries. To enhance user engagement, the app should provide
personalized recommendations based on user preferences. Additionally, the application
should load quickly and function seamlessly on both iOS and Android devices. Security is
paramount, with user data and payment information encrypted and protected. The
application should be highly available and responsive, ensuring a smooth and convenient
experience for users.
Functional Requirements
1. Browse Restaurants and Menu :
• Users should be able to browse and search for various restaurants.
• They should access restaurant menus, including descriptions and prices.
2. Place Orders :
• Users must be able to place orders for food delivery or pickup from the selected restaurant.
• They should have the option to customize their orders.
3. Manage User Accounts and Profiles:
• Users should be able to create accounts and personalize their profiles.
• The app should allow users to save favorite orders for quick reordering.
4. Track Orders :
• The application should provide real-time tracking of orders, allowing users to monitor the status and
location of their deliveries.
5. Provide Personalized Recommendations:
• The app should offer personalized food recommendations based on user preferences and order history.
Functional Requirements
From our previous discussions, we can outline the functional requirements for mobile application scenario :
1. Browse Restaurants
2. View Menus
3. Create Account
4. Manage Accounts
5. Save favorite order (Provide Personalized Recommendations)
6. Track Orders.
Non-Functional Requirements
1. Performance:
• The application should load quickly and be responsive to user actions.
• Response times should be minimal, providing a seamless user experience.
2. Security:
• User data, including personal information and payment details, must be securely encrypted and protected.
• Security measures should be in place to prevent data breaches or unauthorized access.
3. Availability:
• The application should be highly available, with minimal downtime for maintenance or updates.
• Users should be able to access the service whenever they need it.
4. Compatibility (Interoperability ):
• The app should function seamlessly on both iOS and Android devices, ensuring a broad user base.
5. Usability:
• The app should ensuring a smooth and convenient experience for users.
E-commerce
E-commerce
Imagine a new e-commerce venture focused on handmade crafts. The platform will allow
artisans to create individual storefronts, showcasing their unique products. Users should be
able to browse these stores, view product details, and make purchases with secure payment
processing. The website must offer a simple and intuitive interface, making it easy for both
sellers and buyers to navigate. To ensure a seamless shopping experience, the site should load
quickly and be available 24/7. Security is paramount, with user data and payment information
protected. Additionally, the platform needs to be scalable to accommodate a growing number
of sellers and buyers. This project aims to promote artisanal craftsmanship and deliver a
delightful online shopping experience.
Functional Requirements
1. Registering users and creating profiles :
• Users should be able to register and create individual profiles as sellers or buyers.
• Sellers can set up storefronts to showcase their handmade crafts, including product listings.
2. Browsing and displaying products:
• Users should be able to browse different seller storefronts.
• Detailed product information, including images, descriptions, and prices, should be displayed for each item.
3. Purchasing and processing payments:
• Buyers should be able to add items to their cart and make purchases.
• Secure payment processing should be implemented to facilitate transactions.
Functional Requirements
From our previous discussions, we can outline the functional requirements for E-commerce scenario :
1. Create storefronts ( Make registration)
2. Add products
3. Purchase or buy product
4. View product details
5. Browse artisans store
6. Make payment.
Non-Functional Requirements
1. Usability (User Experience):
• The website must offer an intuitive and user-friendly interface for both sellers and buyers.
• The platform should provide an enjoyable shopping experience.
2. Performance:
• The website should load quickly, ensuring that users do not experience significant delays.
• Response times should be minimal to provide a seamless experience.
3. Availability:
• The platform should be available 24/7 to accommodate users from different time zones.
• Downtime for maintenance or updates should be minimized.
4. Security:
• User data, including personal information and payment details, must be securely protected.
• Security measures should be in place to prevent data breaches or unauthorized access.
5. Scalability:
• The system should be able to scale gracefully to handle an increasing number of sellers and buyers as the platform grows.
A NEW SOCIAL NETWORKING
PLATFORM
A NEW SOCIAL NETWORKING PLATFORM
Introducing a new social networking platform designed to connect professionals from various
industries. The platform should allow users to create detailed profiles highlighting their
professional experience, skills, and accomplishments. Users can connect with others, build a
professional network, and engage in knowledge sharing. To foster collaboration, the platform
should support private messaging, group discussions, and file sharing. Users should receive
recommendations for potential professional connections and relevant industry news. It's
important that the platform is accessible via web and mobile devices, providing a consistent
user experience. Security is a top priority, with user data and communication being end-to-
end encrypted. The platform should be highly available, with minimal downtime, to
accommodate global users.
Functional Requirements
1. Creating and managing user profiles:
• Users should be able to create and maintain detailed professional profiles, including information about their experience,
skills, and accomplishments.
• Users should be able to edit and update their profiles as their professional information evolves.
2. Networking and Connections:
• Users should be able to connect with other professionals and build their professional network.
• The platform should allow users to send and receive connection requests.
3. Knowledge Sharing and Collaboration:
• The platform should support private messaging for one-on-one communication between users.
• Users should be able to participate in group discussions or forums.
• File sharing and collaboration features should be available to facilitate knowledge sharing.
4. Recommendations:
• The platform should provide users with recommendations for potential professional connections based on their profiles and
network.
• Users should also receive relevant industry news and updates tailored to their interests.
Functional Requirements
From our previous discussions, we can outline the functional requirements for a new social networking
platform scenario :
1. Create Profile
2. Connect with others (Add Friend)
3. Share knowledge
4. Send Private message
5. Post forum (Start group discussion)
6. Share files
7. View System Recommendations
Non-Functional Requirements
1. Useability :
• The platform should be accessible via web and mobile devices to ensure a consistent user experience across various
platforms and devices.
2. Security:
• User data and communication on the platform should be end-to-end encrypted to ensure the privacy and security of user
information.
• Security measures should be in place to protect against unauthorized access and data breaches.
3. Availability:
• The platform should be highly available, with minimal downtime, to accommodate global users from different time
zones.