Practical Assignment Questions
BTCS402N Software Engineering and Project Management
Question 1: Draw a Use Case Diagram for an online food delivery system. The system
should allow customers to browse restaurants, place orders, track orders, and leave feedback.
Delivery drivers should be able to view assigned orders, update order status, and mark orders
as delivered. The administrator should manage restaurants and monitor the order statistics.
Tasks:
Identify at least three actors (e.g., Customer, Driver, Administrator).
Identify at least five use cases, linking actors to relevant use cases.
Include “include” and “extend” relationships where appropriate.
Deliverables: A Use Case Diagram with a brief explanation of each actor and use
case.
Question2: For an ATM system, create a Class Diagram that models classes such
as ATM, Card, Account, and Transaction.
Tasks:
Define each class with at least three attributes and two methods.
Illustrate relationships between classes, such as associations, aggregations, or
compositions.
Show multiplicity where applicable (e.g., one Account can have
multiple Transactions).
Deliverables: A Class Diagram with a brief description of each class and its purpose.
Question3: Create a Sequence Diagram for an e-commerce system depicting the checkout
process. The scenario should include adding items to the cart, proceeding to checkout,
applying discounts, and making payment.
Tasks:
Identify objects (e.g., Customer, ShoppingCart, PaymentGateway).
Map out interactions and messages between objects to complete the checkout.
Show how objects interact to validate the order, apply discounts, and process
payment.
Deliverables: A Sequence Diagram with a step-by-step explanation of each
interaction.
Question 4: Draw an Activity Diagram for the user registration process in a social media
application. The process includes filling in personal details, validating the email, setting up a
profile, and account activation.
Tasks:
Identify key activities involved in the registration process.
Define any decision points (e.g., "Email Valid?" with "Yes/No" branches).
Arrange activities logically and include any parallel processes.
Deliverables: An Activity Diagram with a brief description of each activity.
Question 5: Create a State Diagram for the Order object in an online retail system. An order
can go through states such as "Pending," "Confirmed," "Packed," "Shipped," "Out for
Delivery," and "Delivered."
Tasks:
List possible states for the Order object.
Show transitions between states based on events (e.g., "Ship Order," "Deliver
Order").
Indicate the initial and final states clearly.
Deliverables: A State Diagram with a brief description of each state and transition.
Question 6: Design a Component Diagram for a university management system. This
system has modules for student management, course management, faculty management, and
a central database.
Tasks:
Identify major components in the system (e.g., Student Service, Course
Module, Database).
Show dependencies or connections between components.
Define interfaces where applicable (e.g., Course API, Faculty API).
Deliverables: A Component Diagram with a description of each component and how
it interacts with others.
Question 7: Create a Deployment Diagram for a mobile banking application. The
application should consist of a mobile client, a web server, an application server, and a
database server.
Tasks:
Identify the nodes in the system (e.g., Mobile Device, Web Server, Database
Server).
Illustrate how the nodes are connected and how they communicate.
Show deployment artifacts such as application software, database schema, etc.
Deliverables: A Deployment Diagram with a brief explanation of each node and their
connections.
Question 8. Scenario: Testing an Age Input Field
Imagine an input field that accepts a user's age for a registration form. The age input has the
following requirements:
Accepts ages between 18 and 60 (inclusive).
Ages below 18 or above 60 are invalid.
Use Equivalence Partitioning and Boundary Value Analysis to generate test cases.