Q4 Develop a concise use case for the "Advanced Product Search" feature in an e-
commerce application. In your answer, briefly address the following points:
(i) Identify the primary actor and one secondary actor.
(ii) Summarize the main success scenario.
(iii) Describe one alternative flow (e.g., when no results are found)
Use Case: Advanced Product Search in an E-commerce Application
(i) Primary and Secondary Actors:
• Primary Actor: Customer (User)
• Secondary Actor: Product Database
(ii) Main Success Scenario:
1. The customer accesses the "Advanced Product Search" feature.
2. The system presents various filter options (e.g., category, price range, brand,
rating, availability).
3. The customer inputs search criteria and submits the query.
4. The system retrieves matching products from the database and displays the
results.
5. The customer browses the results and selects a product for more details or
purchase.
(iii) Alternative Flow (No Results Found):
1. The customer submits a search query.
2. The system processes the request but finds no matching products.
3. The system displays a message: "No products found matching your criteria."
4. The system suggests related products or alternative search terms to assist the
customer.
5. The customer can refine their search criteria and try again.
Q8 You are a software architect working on several key projects for a smart city initiative.
For each of the following applications, specify which software development life cycle
model you would adopt and explain the reasons behind your choice.
(i) Develop a new software application that integrates Internet-of-Things (IoT) devices
to monitor and control energy consumption in residential buildings. Assume that
your team has limited experience with loT-based energy systems.
(ii) Create a real-time control system that manages and synchronizes the city's
automated traffic lights to ensure smooth traffic flow. The system must be highly
reliable and meet strict timing requirements.
(iii) Build a new digital platform that links multiple public libraries across the city,
providing a unified portal for accessing e-books, research resources, and
community events.
(iv) Design an extremely large-scale software solution to provide, monitor, and control
an autonomous drone flect used for city-wide delivery services. The system must
handle real-time data and manage numerous interdependent components while
mitigating significant technological risks.
Software Development Life Cycle (SDLC) Models for Smart City Applications
(i) IoT-Based Energy Monitoring System
SDLC Model: Spiral Model
Reason:
• The team has limited experience with IoT-based energy systems, making risk
assessment and iterative refinement essential.
• The prototyping approach in the Spiral Model helps in testing IoT integrations
early.
• Continuous feedback allows the system to evolve as expertise grows.
(ii) Real-Time Traffic Control System
SDLC Model: V-Model (Verification & Validation Model)
Reason:
• The system must be highly reliable and meet strict timing constraints.
• The V-Model ensures rigorous validation and testing at every development
stage, minimizing critical failures.
• Since real-time control systems cannot afford errors, this model’s structured
verification approach is ideal.
(iii) Digital Library Platform
SDLC Model: Agile Model
Reason:
• The platform requires continuous updates and stakeholder involvement
(libraries, users, administrators).
• Agile’s incremental and iterative nature enables frequent enhancements based
on user feedback.
• Features like e-books, community events, and research resources can be added
in phases.
(iv) Large-Scale Autonomous Drone Fleet System
SDLC Model: Spiral Model (with Agile Elements)
Reason:
• The project involves significant technological risks, requiring risk
management and continuous evaluation.
• Real-time data handling and numerous interdependent components
necessitate iterative development and testing.
• Agile methodologies can be integrated for modular development of individual
subsystems (e.g., navigation, delivery scheduling, real-time monitoring).