CSCI380 FinalExamSample 2023 2024
CSCI380 FinalExamSample 2023 2024
2. Software maintenance is not an important phase in the software development life cycle and can
be skipped.
True - False
3. Project managers in software engineering are responsible for allocating resources, managing
project timelines, and ensuring that project deliverables meet quality standards and stakeholder
requirements.
True - False
5. Use case diagrams primarily focus on the internal workings of the system, detailing the
algorithms and data structures used.
True – False
Exercise 2: Use Case Analysis + Narratives [40points =25+15]
Part A: [25 points]
College Management System (CMS) is an application used by most of the universities
worldwide to track the activities of instructors, students, and administrator. The system
includes registrations into variety of activities such as course registrations, seminar
registrations, etc. The activities are organized as following:
Create the use-case narrative for the use case “Enroll into seminar” to document the
business requirements of the previous question.
Solution:
This use case describes the event that the student is willing to enroll
Description: into a seminar. He would like to attend a seminar that is scheduled
by an instructor.
The seminar has been scheduled. The student is enrolled into the
Precondition:
semester during which the seminar takes place.
Case study: Consider a large e-commerce system that allows users to:
browse products, add items to their shopping carts, proceed to checkout,
and make purchases.
The system also includes features such as user authentication, order
tracking, and inventory management.
Questions:
Q1- (10 points):
a. Identify three potential subsystems/components within the e-commerce
system. For each component, briefly describe its main responsibilities and how
it interacts with other subsystems/components.
Solution:
• System components are:
1. Product Management component:
Responsibilities: Manages product information, including details,
images, and prices. Handles product catalog updates and availability.
Interactions: Interfaces with the Shopping Cart component to update
the user's selected items.
2. User Authentication component:
Responsibilities: Manages user accounts, authentication, and
authorization. Ensures secure access to user-specific information.
Interactions: Interfaces with the Shopping Cart component to associate
user-specific information with selected items.
3. Order Processing component:
Responsibilities: Manages the order processing flow, from cart
checkout to payment and order fulfillment.
Interactions: Interfaces with Product Management, User
Authentication, and Inventory Management subsystems/components to
complete the order process.
Product
Management
Order User
Processing Authentication
Q2- (10 points) Give the high-level architectural design figure (level 2) of e-
commerce system, by showing how various components interact to deliver a
seamless shopping experience for users.
Solution:
Software Components:
Frontend: User Interface (UI) -
• Responsible for presenting the user interfaces to customers and
administrators.
• Includes web pages, mobile apps, and other interfaces for interacting
with the system.
Backend:
1. Web Server (not needed in the case of desktop application, but for
optimization, it can be replaced by an application server):
a. Hosts the web application and serves web pages to users.
b. Manages HTTP requests and responses.
2. Database Server:
a. Stores persistent data related to users, products, orders, etc.
b. Uses a relational database management system (e.g., MySQL,
Oracle, MS Sqlserver, etc) depending on the requirements.
Web Database
Server Server
...
Solution:
Data-set name Short description Solicited/used by
component(s)
▪ User Authentication
Consists of all data about
User-data ▪ Product management
users; personal data, etc.
▪ Order processing
Give the DFD that describes the following processes: Online ordering process.
- The customer will create an order using the create order process, the order
details will be stored in Order Data store (DS) and customer information
will be retrieved from Client Data store (DS).
- The customer once finished his order will Check out the process, the
process will communicate the purchased products quantity with inventory
data store. And initiate the payment process that will fill the payment info in
Payment Data Store (DS)
Client DS
Payment info
Payment Payment DS
Done!