0% found this document useful (0 votes)
7 views4 pages

CS312 Assignment 1 Correct Solution Spring 2025

The document outlines the requirements for CS312 Assignment 1, focusing on designing an online shopping website. It includes instructions for submission, a scenario description, and three key questions regarding interview types, system architecture, and layer independence for a mobile version. The solution emphasizes the use of unstructured interviews, a 3-tier architecture, and the benefits of presentation layer independence for mobile development.

Uploaded by

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

CS312 Assignment 1 Correct Solution Spring 2025

The document outlines the requirements for CS312 Assignment 1, focusing on designing an online shopping website. It includes instructions for submission, a scenario description, and three key questions regarding interview types, system architecture, and layer independence for a mobile version. The solution emphasizes the use of unstructured interviews, a 3-tier architecture, and the benefits of presentation layer independence for mobile development.

Uploaded by

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

CS312 ASSIGNMENT 1 SOLUTION SPRING 2025

Due Date: 2-May-2025


Total Marks: 15

DO NOT COPY PASTE THE SAME SOLUTION

Assignment Submission Instruction


The assignment should be submitted in .docx format.

Scenario:
Suppose you have been hired as a consultant to design and develop an online shopping website.
The core functionalities of the system include a web-based interface that allows users to browse
and place orders, a backend application responsible for implementing discount logic and
handling payment processing, and a centralized database to store product details, customer
profiles, and order transactions.

You are required to answer the following questions (5+5+5).

1. The owner agrees to an interview but mentions, 'I'm not technical, just tell me what you
need.' In your opinion, what type of interview (structured or unstructured) would be
appropriate in this case, and how would it help in gathering accurate system
requirements?

2. Which type of system architecture (client-server or 3-tiers) would be most suitable for the
given scenario? Additionally, identify which parts of the system functionality would be
implemented in the different layers of your suggested architecture. Provide justification
for your choices.
3. Suppose the owner now wants to develop a mobile version of the online shopping
website using the same data and functionality. Identify the type(s) of layer(s)
independence involved in this case, and explain how they would be useful?

SOLUTION

1)

An unstructured interview would be more appropriate because:


 The owner is non-technical, so a flexible, conversational approach allows for open-ended
questions (e.g., "How do you want discounts to work?").
 It helps uncover implicit needs (e.g., preferred payment methods) that a structured script
might miss.
 Follow-up questions can clarify ambiguities (e.g., "Can you elaborate on your inventory
management process?").
Justification: Unstructured interviews adapt to the interviewee’s knowledge level, ensuring
accurate requirements without technical jargon.

2)

A 3-tier architecture is ideal for this scenario


1. Presentation Layer (Client Tier):
o Web-based UI for browsing/ordering (e.g., HTML/CSS/JavaScript).
o Justification: Separates user interface logic for scalability (e.g., future mobile app
integration).
2. Application Layer (Server Tier):
o Backend for discount logic, payment processing (e.g., Node.js/Python).
o Justification: Centralizes business logic for consistency (e.g., apply discounts
uniformly).
3. Data Layer (Database Tier):
o Centralized database (e.g., MySQL/PostgreSQL) for products, customers, orders.
o Justification: Ensures data integrity and secure transactions.
Why Not Client-Server?
Client-server would bundle UI and business logic, making it harder to scale (e.g., adding mobile
apps later).

3)

The mobile version requires presentation layer independence:


 What Changes: Only the UI layer (mobile app replaces web UI).
 What Stays Same: Reuses the application layer (discount/payment logic) and data
layer (database).
Usefulness:
 Cost-Effective: No backend/database changes needed.
 Consistency: Mobile and web users get the same discounts/payment options.
 Example: A React Native app can fetch data from the existing API (application layer).

PLEASE NOTE:
Don't copy-paste the same answer.
Make sure you can make some changes to your solution file before
submitting copy paste solution will be marked zero.
If you found any mistake then correct yourself and inform me.
Before submitting an assignment must check your assignment requirement
file.
If you need some help or question about file and solutions feel free to ask.

You might also like