QP-ASM-001 Exam Question Paper
QP-ASM-001 Exam Question Paper
Instructions
11. Use C#, JavaScript, HTML, CSS, pseudo-HTML to accomplish this project.
12. Plagiarism is a serious offence that will be dealt with according to the Academic Honesty
policy of Botho University.
13. No work submitted other than through Turnitin and Blackboard shall be considered.
Page 1 of 5
Scenario Description
Nyabiko Store is a newly launched store that sells various items, including groceries, toys, kitchenware
and electronics. The wholesale has branches in three cities. The store does not have any website at the
moment and relies on social media to post catalogues showing products on promotion. Since customers
cannot make purchases on their social media platforms, they have to visit the shop to purchase items
physically, and sometimes by the time they get to the shop the products on promotion would have been
finished. Moreover, the shop management is unhappy with the overcrowding in their shops as some
customers fail to observe social-distancing, raising fears of COVID-19. The management of Nyabiko Store
has decided to go online to eliminate these problems by allowing customers to buy online.
Suppose the management has approached you to develop a dynamic and responsive website using
ASP.NET and the C# programming language to allow customers to make online purchases. The minimum
requirements for the website are specified as follows:
Create a database called NyabikoStores containing 4 tables titled Users, Category, Products and
Orders.
o The table Users must store login credentials and roles of users; and should have the
following fields: first name, surname, username, password, email address and role. Roles
can only be salesRep, Stores and Customer. Passwords must be at least 9 characters long,
including at least one digit, lowercase letter, uppercase letter and special character.
o The table Categories should store product categories and has the fields to store category
identity number (must auto incremented and unique for each category), category name and
QP-ASM-001|Rev 004
Page 2 of 5
Guest users should be able to view available products and their prices only.
Customers should be able to sign-up on the website, and their user role must be Customer when
the record is inserted in the database table Users.
● All users must be authenticated. The login is validated against role names using sessions. The web
pages accessed by various user roles are as follows:
o salesRep should be able to access products page .
o A user with role Stores should access categories
o Customer should access viewItems page. The viewItems page should have a link for the
customer to be able to place orders.
● The salesRep and Stores users should be able to add, search, update and delete items from
database from the respective tables while user customer should be able to view items in the tables
products and categories. After viewing the items, the customer can now place an order.
● The systems database connection string should be defined in the web.config file.
● The name or username of the person logged in must appear at the top right corner of the current
page the user is navigating.
● Each product should have an image, price and description on the web page.
● Users should be able to add and remove items from their shopping cart.
● Before check-out, customers should verify and confirm their order in the shopping cart.
● Create a class called Person, which should be the super class of user, customer, and sales rep. All
instance variables must be encapsulated and only accessed via public properties.
● All input must be validated.
● Upon check-out, users should select their preferred payment method, which must either be
Ecocash, M-Pesa or Bank.
QP-ASM-001|Rev 004
o If the payment option is either EcoCash or M-Pesa, the user should enter their eight digit
mobile number and the amount to be paid.
o If the payment option is Ecocash, then the user’s number must start with 6.
o If the payment option is M-Pesa, then the user’s number must start with 5.
o If the user selects Bank as payment option, they should enter card number of exactly 12
digits.
Required
(a) Develop the web application with the minimum requirements described above using ASP.NET,
CSS, JavaScript, the C# programming language and Microsoft SQL Server. [60 Marks]
(b) Document your application, including all the designs of it and user manual. [40 Marks]
Page 3 of 5
Marking Key
Person class 3
Inheritance 3
Connection to database 2
Login implementation 3
Sign up implementation 3
State management 3
Documentation
Introduction 3
Page 4 of 5
System Design:
Normalization up to 3NF 5
Class diagram 5
System flowchart 8
************************************The End**************************************
QP-ASM-001|Rev 004
Page 5 of 5