Home - altafhossainsunny/Software-Engineering GitHub Wiki
MD ALTAF HOSSAIN SUNNY Matrix: AIU22102182 Subject Name: Requirement Engineering
1.0 Introduction: Requirement engineering is the process of identifying, analyzing, documenting and managing the software needs and expectations of the stakeholders. It plays a crucial role for ensuring stakeholders satisfaction, providing foundation for development and providing communication between stakeholders and developers. Besides it also helps to create an economically efficient and quality full system within the time and budget constraints.
1.1 Project Background: Here we have chosen the one E-Commerce platform which is Bazar.com. Which is being owned and operated by a single organization or person.This E-Commerce platform is different from Online marketplace (e.g: Shoppee, Lazada) in following criteria:
Ownership | Owned by a single business | Hosts multiple sellers Inventory | Managed by the business | Sellers manage their own inventory Revenue Model | Profit from direct sales | Earns commissions of fees from sellers Brand control | Full control over branding | Limited control as multiple sellers Customer Base | Builds its own audience | Benefits from existing marketplace traffic
Businesses are moving more and more to online platforms in the current digital era in order to increase their efficiency and reach. This e-commerce platform is made to give customers a smooth and interesting shopping experience while giving businesses the ability to efficiently manage their inventory, sales, and client relationships. This platform's main goal is to establish a safe and easy-to-use online marketplace where companies can display their goods and consumers can shop with assurance. The platform strives to provide an exceptional shopping experience by incorporating cutting-edge features like AI-driven recommendations, secure payment gateways, and real-time order tracking. By emphasizing individualized customer engagement, effective logistics, and robust data-driven insights, this e-commerce solution aims to close gaps in the market that exist in current platforms.
1.2 Objective of the Report: This report's goal is to use structured requirements engineering (RE) processes, tools, and techniques to analyze, document, and present the software requirements for the chosen system, the e-commerce platform Bazar.com. The purpose of this report is to:
Clearly identify and understand the needs and expectations of all key stakeholders involved, ensuring their perspectives are accurately captured.
Specify both functional and non-functional requirements to define the system’s expected behavior, performance, and constraints.
Apply requirements elicitation, analysis, specification, validation, and management practices to ensure the requirements are clear, consistent, and aligned with project goals.
Use appropriate RE tools (such as Google Docs Drawing and GitHub Wiki) to support modelling, documentation, and visualization of system requirements and design elements.
Provide visual representations (e.g., use-case diagrams, traceability matrix) to help communicate the requirements and their connections to design and implementation stages.
Prioritize requirements effectively using methods like MoSCoW to guide development focus and resource allocation.
Reflect on the challenges faced during the requirements engineering process and how selected tools and techniques helped address those challenges.
2.0 Stakeholders Analysis: Any person, group, or organization that is interested in or impacted by the creation, application, or results of a software system is considered a stakeholder. Stakeholders, who can be internal (developers, managers, and employees) or external (customers, users, regulatory bodies, and suppliers), can have a direct or indirect impact on the project by offering requirements, feedback, resources, or constraints.
Stakeholders are essential in requirements engineering because they help identify and validate the needs and expectations that influence the functional and non-functional requirements of the system. 2.1 List of identified stakeholders: Business Owner / Platform Owner Customers / Shopper Suppliers/Vendors Administrator Delivery/Logistic partners Payment gateway providers Technical development team Customer support team Regulatory authorities 2.2 Description of each stakeholder's needs or interests:
-
Business Owner / Platform Owner: The individual or organization that owns Bazar.com and oversees its strategic goals, profitability, and operations.
-
Customers / Shopper: End-users who browse, select, and purchase products on the platform. Their satisfaction is critical for the platform’s success.
3 Suppliers/Vendors:Businesses or individuals providing the products listed on Bazar.com. They need tools for inventory management, sales tracking, and order fulfillment.
-
Administrator:Internal staff managing the platform backend, handling product approvals, user account management, and ensuring platform policies are enforced.
-
Delivery/Logistic partners:Third-party services or internal delivery teams responsible for shipping products to customers, requiring integration with order and tracking systems.
6.Payment gateway providers: External financial service providers enabling secure online payments, ensuring smooth transactions between customers and the platform.
7.Technical development team: Software engineers, UI/UX designers, and testers responsible for building, maintaining, and upgrading the platform’s technical infrastructure.
-
Customer support team: Staff handling customer queries, complaints, and after-sales support to ensure a positive shopping experience
-
Regulatory authorities: Government bodies or compliance agencies ensuring the platform adheres to legal standards such as consumer rights, data privacy, and online transaction regulations. .
3.0 Requirement Elicitation and Documentation: Requirement Elicitation: The process of obtaining, recognizing, and comprehending the requirements of stakeholders for a software system is known as requirement elicitation. It uses a variety of methods which includes the following method:
Interviews:Direct conversations with stakeholders to learn about their expectations are conducted through.
Questionnaires & Surveys: Gathering organized input from several users.
Workshops: Group discussions to improve specifications.
Observation: Analyzing user behavior to find unspoken needs.
prototyping:Making mock-ups to verify requirements is known as prototyping.
Requirement documentation: After requirements are gathered, they must be formally recorded. Developers, testers, and other stakeholders can use this documentation as a reference. Typical forms of requirement documentation consist of:
Software Requirement Specification (SRS): A comprehensive document that lists both functional and non-functional requirements.
Use cases: Summaries of how users will engage with the system.
User Stories: This is being used to brief, straightforward summaries of features written from the viewpoint of the end user.
Requirement traceability matrix (RTM): A table that connects requirements to the stages of design, development, and testing.
3.1 Functional requirements (FRs): User Registration and Login: The system shall allow users (customers, suppliers) to register, create an account, and log in securely.
Product Searching and filtering:The system shall allow customers to browse products by category, use a search bar, and apply filters (e.g., price, brand, rating).
Shopping Cart Management: The system shall allow customers to add, update, or remove products from their shopping cart before checkout.
Order Placement and Payment:The system shall enable customers to place orders and make secure online payments through integrated payment gateways.
Order Tracking:The system shall provide customers with real-time order status updates, including shipment tracking and delivery estimates.
Inventory Management: The system shall allow the business owner or suppliers to manage product inventory, including adding new products, updating stock levels, and setting prices.
Product Review and Rating:The system shall allow customers to leave reviews and ratings on purchased products to inform other buyers.
Admin Dashboard: The system shall provide administrators with a dashboard to manage users, monitor sales, approve products, and generate reports 3.2 Non-Functional requirements (NFRs): Performance: The system shall support up to 1,000 concurrent users with page load times under 2 seconds during peak hours.
Usability: The system shall provide an intuitive and user-friendly interface for all user roles, with clear navigation and accessible features.
Availability:The system shall maintain 99.9% uptime to ensure continuous service availability
Scalability:The system shall be designed to scale easily as the number of products, users, and transactions grows.
Compatibility:The system shall be accessible on major web browsers (Chrome, Firefox, Safari) and mobile devices.
4.2 Textual Descriptions: Actor: User / Customer Register A customer can create a new account by providing personal details such as name, email, and password. Login into Account The customer can log in using their credentials to access personalized features. Search Product The customer can search for products using keywords or product names. Filter Product (based on price and brand) After searching, the customer can apply filters like price range and brand to narrow down the results. View Product The customer can browse the list of products shown on the platform. View Product Details The customer can click on a product to see detailed information, including description, price, availability, and customer reviews. Add to Cart The customer can add selected products to their shopping cart for future purchase. Place Order The customer proceeds to place an order, selecting delivery and payment options. Check Out (<> from Place Order) The checkout process includes reviewing the order summary, confirming delivery details, and finalizing the purchase. Pay the Bill (<> from Check Out) The customer makes payment through integrated payment gateways. Track Order After placing an order, the customer can monitor the status and location of their order until delivery. Manage Order The customer can view or cancel existing orders and check order history. Management of Feedback The customer can leave feedback or ratings on purchased products. Actor: Admin / IT Team Managing User Accounts The admin manages user accounts, including activation, suspension, or removal. Managing Inventory The admin updates product listings, adjusts stock levels, and ensures accurate product information. Managing Orders The admin oversees the order process, ensuring orders are processed, fulfilled, and delivered correctly. Management of Feedback The admin monitors and moderates customer feedback to maintain quality and trust.
5.0 Requirement Prioritization: The process of ranking software requirements according to their significance, urgency, and value to stakeholders is known as requirement prioritization. This helps the development team decide which features or tasks to prioritize first. When resources like time, money, or staff are scarce, it helps guarantee that the most important and valuable requirements are met first. 5.1 Use of MosCow: Must Have (Essential features; critical for system success) User registration and login
Product browsing and search
Shopping cart management
Order placement and payment
Secure checkout process
Admin inventory management
Order tracking
Should Have (Important but not critical; adds significant value) Product filtering (by price, brand)
Product reviews and ratings
Admin management of user accounts
Management of feedback/reviews
Basic sales reports for admin
Could Have (Nice to have; enhances user experience but not essential) AI-driven product recommendations
Wishlist or “save for later” feature
Live chat support for customers
Discount and coupon management
Won’t Have (for now) (Out of scope or planned for future phases) Integration with third-party marketplaces (e.g., Shopee, Lazada)
Loyalty/rewards program
Multi-language or multi-currency support