0% found this document useful (0 votes)
27 views10 pages

CSCI380 FinalExamSample 2023 2024

The document is a sample final exam for the CSCI380 Software Engineering course, scheduled for June 3, 2024. It includes multiple-choice questions, true/false questions, use case analysis, system design questions, and a data flow diagram related to an e-commerce system. The exam assesses knowledge on software engineering principles, use case modeling, system architecture, and design processes.

Uploaded by

husseinalayan18
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views10 pages

CSCI380 FinalExamSample 2023 2024

The document is a sample final exam for the CSCI380 Software Engineering course, scheduled for June 3, 2024. It includes multiple-choice questions, true/false questions, use case analysis, system design questions, and a data flow diagram related to an e-commerce system. The exam assesses knowledge on software engineering principles, use case modeling, system architecture, and design processes.

Uploaded by

husseinalayan18
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Final Exam sample

Department of Computer Science and Information Technology


Name Id
Course CSCI380 Software Engineering
Date 03 June 2024 Time 13:00 - 15:00 Duration 120 minutes
Pages Calculators Not Allowed Documents Not Allowed

Exercise I: [15 points] Choose the correct answers


Part MCQ (10 points = 5x2)
1. What is the primary purpose of requirements engineering in software development?
a. To design the user interface of the software
b. To implement coding standards and best practices
c. To gather, analyze, specify, and validate software requirements
d. To conduct software testing and quality assurance
2. Which software requirement describes what the system should do without specifying how it
should be implemented?
a. Functional requirement
b. Non-functional requirement
c. Design requirement
d. Performance requirement
3. What is the primary goal of software testing?
a. To ensure zero defects in the software
b. To find and fix defects in the software
c. To design the user interface of the software
d. To document the software requirements
4. What is the primary goal of project management?
a. Completing tasks within budget
b. Maximizing project scope
c. Delivering projects on time and within budget while meeting quality objectives
d. Minimizing stakeholder involvement
5. What is the purpose of a use case description in software engineering?
a. To provide a detailed description of the interactions between actors and the system
b. To specify the implementation details of a use case
c. To define the user interface elements of a system
d. To represent the flow of control within a system

Part True/False (5 points = 5x1)


1. Software engineering only involves writing code and does not encompass other activities such
as requirements gathering, testing, and maintenance.
True - False

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

4. Project management in software engineering involves planning, organizing, directing, and


controlling resources to achieve specific project goals within constraints such as time, cost, and
scope.
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:

1. The administration department has the following activities:


a. Admin can create a new semester.
b. Admin can manage a course and a section. The management includes
creating/editing/removing a course or a section. Note that a course cannot
be removed unless all its sections are removed; a section cannot be created
before the creation of the corresponding course.
c. Admin can manage a student account through creating/editing/removing the
account.
2. The instructor in all department shares the below activities:
a. An instructor can view the list of course they teach and may print out their
schedule.
b. An instructor can obtain the section roster and may download/print out the
roster.
c. An instructor can send an announcement to all the students registered in a
specific section.
d. An instructor can also schedule a seminar to be given to a group of students.
The seminar can be dropped or edited.
3. The student’s activities are as following:
a. A student can add / drop a course. Note that a course cannot be dropped if
it was not added.
b. A student can change the section of a registered course.
c. A student can view all the list of registered courses and may print it out.
d. A student receives the payment information from the billing system after the
completion of the registration.
e. A student can make an appointment with the instructor. The latter should
acknowledge the student’s appointment.
f. A student can enroll into a seminar. The student has to enter their student id
and their name.
g. After attending the seminar, the student can receive an attendance
certificate. The student may then print it out.
h. A student can cancel a seminar if he/she does not want to attend it anymore.
4. All users have the following common activities:
a. A user can login/logout to/from the system.
b. A user can edit their profile.
c. A user can view the course catalog by specifying the department id and the
course code.
Give the use-case model diagram, showing the interaction between actors and each
of the use-cases in the system, and showing the dependencies among use cases
(includes, extends, or depends on). You have to show any inheritance relation, if it
exists.
Solution:
Part B: [15 points]

Create the use-case narrative for the use case “Enroll into seminar” to document the
business requirements of the previous question.

Solution:

Use-Case Name: Enroll into a seminar


Use-Case ID: MSC-REQ015
Priority: Medium
Primary Actor: Student

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.

Actor Action System Response

1. The student wants to 3. The system verifies that the


enroll in a seminar. student is eligible to enroll
into a seminar at the
2. The student inputs university.
his/her name and the
student ID into the 4. The system displays
system for Login Seminar Selection Screen
Typical Course of
credentials. which indicates the list of
Events:
available seminars.

5. The student chooses


the seminar he/she
wants to enroll.
6. The system adds the name
on the seminar list of names

The use case concludes when the student receives a confirmation


Conclusion:
for seminar enrollment.
Exercise 3: System design [30 points]

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.

b. Give the corresponding system components diagram.

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.

• The system components diagram (level 1)


e-commerce system architectural design – level 1
System components

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.

e-commerce system architectural design – level 2


Frontend
User Interfaces (UI)
Backend

Web Database
Server Server
...

This architecture is of type 3-tier C/S


Q3- Level3 – Detailed Design:
a. Identify at least two datasets that could be used by the e-commerce system.
Give the following details: (5 points).

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

Data about proposed


▪ Product management
Product-data products; product details;
▪ Order processing
name, unit price, etc.

b. Frontend modeling (design) –


Give the graphical user interface (GUI) and list the steps of the Adding a
new product process required for Product management. (5 marks)

1. The user will enter the product information


including product name, description, image
and price.

2. The user clicks on the Add button to add


the provided information into the database.

3. The system will verify that the product


doesn’t exist in the database and add the
new product.
Question 4: DFD related to the above e-commerce platform [15 points]

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

Customer create order Order DS


order Info User Info

purchased products quantity


Order info
Customer Check out Inventory DS

Payment info

Payment Payment DS
Done!

You might also like