BuyIt System: Z Schema Operations for Online Catalog and Transactions
VerifiedAdded on 2020/05/16
|7
|1157
|115
Homework Assignment
AI Summary
This paper provides a detailed overview of the BuyIt information system, an online catalog designed for buying and selling products. It utilizes Z schema to formally define the operations within the system. The paper covers key functionalities including initialization, user registration with pre-conditions for email and password security, and product uploading with validations for item ID, price, and specifications. It also details the product search schema, specifying the conditions for successful searches based on product name, price range, and location. Furthermore, the paper outlines the purchase process, including credit card payment and shipping, along with reputation update and user punishment mechanisms. The Z schema is used to ensure both buyers and sellers are providing high-quality services and to reduce the gap between vendors and consumers. The system employs APIs for fast transactions and reputation scores to manage user behavior. References to relevant literature on Z notation and software engineering pedagogy are also included.

Running Head: BUYIT Z SCHEMA 1
BuyIt Z schema
Institution
Date
Name
BuyIt Z schema
Institution
Date
Name
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

BUYIT Z SCHEMA 2
Contents
Overview.....................................................................................................................................................3
Initialization.................................................................................................................................................3
Registration.................................................................................................................................................3
Search Product............................................................................................................................................5
Purchase......................................................................................................................................................5
Reputation Update......................................................................................................................................6
Punishing the user.......................................................................................................................................7
References...................................................................................................................................................7
Contents
Overview.....................................................................................................................................................3
Initialization.................................................................................................................................................3
Registration.................................................................................................................................................3
Search Product............................................................................................................................................5
Purchase......................................................................................................................................................5
Reputation Update......................................................................................................................................6
Punishing the user.......................................................................................................................................7
References...................................................................................................................................................7

BUYIT Z SCHEMA 3
Overview
BuyIt information system is an online catalog that allows users to buy and sell a range of
products. All transactions are done online. Users must create or register for an account to receive
access to all services on the portal. BuyIt has deployed the use of perfect technologies and APIs
(Application Programming Interface) to ensure that all its processes are fast and always
available. APIs have assisted in the making of payments for instance during checkout, BuyIt can
determine the user's credit card balance and withdraw cash for a successful purchase. After every
business transaction between the vendor and buyer, they all give a reputation score which will
thereafter be used by the system to punish users whose reputation goes below one. The main goal
of BuyIt is to reduce the gap between vendors and product consumers and to simplify the past
procedures of making purchases. This paper contains the Z schema operations for some of the
functions incorporated in the BuyIt system.
Initialization
Init
ΔBuyItStart
Hwm = 0
Registration
During registration as shown in the schema below, a user will provide their email address,
username, and a secure password as inputs. Before this information is saved in the BuyIt
database, there are some pre-conditions that need to be attained. First, the email needs to be a
unique email address that does not already exist in the BuyIt system, i.e. mail ∉ known (Grant,
Adhikari, Bisoyi, Chatterjee, Datta, Nahimana, & Sand, 2016). The password must be a secure
password that contains uppercase and lowercase, and special characters. The password must also
Overview
BuyIt information system is an online catalog that allows users to buy and sell a range of
products. All transactions are done online. Users must create or register for an account to receive
access to all services on the portal. BuyIt has deployed the use of perfect technologies and APIs
(Application Programming Interface) to ensure that all its processes are fast and always
available. APIs have assisted in the making of payments for instance during checkout, BuyIt can
determine the user's credit card balance and withdraw cash for a successful purchase. After every
business transaction between the vendor and buyer, they all give a reputation score which will
thereafter be used by the system to punish users whose reputation goes below one. The main goal
of BuyIt is to reduce the gap between vendors and product consumers and to simplify the past
procedures of making purchases. This paper contains the Z schema operations for some of the
functions incorporated in the BuyIt system.
Initialization
Init
ΔBuyItStart
Hwm = 0
Registration
During registration as shown in the schema below, a user will provide their email address,
username, and a secure password as inputs. Before this information is saved in the BuyIt
database, there are some pre-conditions that need to be attained. First, the email needs to be a
unique email address that does not already exist in the BuyIt system, i.e. mail ∉ known (Grant,
Adhikari, Bisoyi, Chatterjee, Datta, Nahimana, & Sand, 2016). The password must be a secure
password that contains uppercase and lowercase, and special characters. The password must also
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

BUYIT Z SCHEMA 4
not be empty. Finally, the email address and user ID will be associated with the user’s password
so that they can use them for signing into the system.
Register
ΞBuyItUserregister
Mail? :enterEmailAddress
User_id? :enterUserId
Pass? :PrivatePIN
Mail? ∉ known
User_id? ∉ known
Pass? ∉ ∅
pass′ = PrivatePIN ∪ {mail? ↦ Pass?}
Items are uploaded to the BuyIt portal so that they are visible to potential buyers. The pre-
conditions for this schema are: the item ID does not exist in the portal, i.e. item_id!
∉ known, the
price input must not be empty (pric?
∉ empty), the specifications for a product must also not be
left empty.
Uploadproduct
ΔBuyItUpload
Item? :productname
Specif? :product specification
Condit? :productcondition
Pric? :productcost
Locate? :locationofitem
item_id! : Product_ID
Item_id! ∉ known
Item_id! ⇒ (item? ↦ pric? ∧ condit? ∧ specif? ∧ locate?)
Pric? = ℕ
Pric? ∉ empty
Specif? ∉ empty
not be empty. Finally, the email address and user ID will be associated with the user’s password
so that they can use them for signing into the system.
Register
ΞBuyItUserregister
Mail? :enterEmailAddress
User_id? :enterUserId
Pass? :PrivatePIN
Mail? ∉ known
User_id? ∉ known
Pass? ∉ ∅
pass′ = PrivatePIN ∪ {mail? ↦ Pass?}
Items are uploaded to the BuyIt portal so that they are visible to potential buyers. The pre-
conditions for this schema are: the item ID does not exist in the portal, i.e. item_id!
∉ known, the
price input must not be empty (pric?
∉ empty), the specifications for a product must also not be
left empty.
Uploadproduct
ΔBuyItUpload
Item? :productname
Specif? :product specification
Condit? :productcondition
Pric? :productcost
Locate? :locationofitem
item_id! : Product_ID
Item_id! ∉ known
Item_id! ⇒ (item? ↦ pric? ∧ condit? ∧ specif? ∧ locate?)
Pric? = ℕ
Pric? ∉ empty
Specif? ∉ empty
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

BUYIT Z SCHEMA 5
Search Product
In this schema, there is an index j where the array of products have an input item?
(product name) and two outputs; specif? (Product specification) and condit? (Condition of
product). For a successful search, the product name must be known, i.e. it must exist in the BuyIt
database.
Search_Product
ΞBuyIt_Search
Item? :productname
Price_range? :range_of_the_price
Locate? :location_of_product
Item? ∈ known
Price_range? ∈ known
Locate? ∈ known
∃ j :1 . . hwm ⦁ Item? = items (j) ∧ specif! = specifications (j) ∧ condit? = conditions (j)
Purchase
Clients are able to make payments on products using their credit cards. The schema
below illustrates clearly the entire process of buying a product. The pre-conditions here are that:
the user′s visa balance is more or equal to the cost of the product they want to purchase. The user
must also give the quantity of products they want to buy and their shipping location.
Search Product
In this schema, there is an index j where the array of products have an input item?
(product name) and two outputs; specif? (Product specification) and condit? (Condition of
product). For a successful search, the product name must be known, i.e. it must exist in the BuyIt
database.
Search_Product
ΞBuyIt_Search
Item? :productname
Price_range? :range_of_the_price
Locate? :location_of_product
Item? ∈ known
Price_range? ∈ known
Locate? ∈ known
∃ j :1 . . hwm ⦁ Item? = items (j) ∧ specif! = specifications (j) ∧ condit? = conditions (j)
Purchase
Clients are able to make payments on products using their credit cards. The schema
below illustrates clearly the entire process of buying a product. The pre-conditions here are that:
the user′s visa balance is more or equal to the cost of the product they want to purchase. The user
must also give the quantity of products they want to buy and their shipping location.

BUYIT Z SCHEMA 6
Purchase_Product
ΔBuyItPurchase
Locate? : Location_for_shipping
Quan? : Number_of_items_purchased
Unitcost! :Cost_per_product
Visabal! : Balance_creditcard
Shippingcost! : Shipping_cost
Cost! :Total_cost_payable
if visabal ≥ unitcost
∧quant? ≠ 0
∧locate? ≠ null
then cost! = unitcost′ * quan′ + shippingcost
∧ visabal! = visabal! – cost!
else Operationfailed
Reputation Update
A decent administration framework needs to keep track of its clients and give stringent
consequences to clients who conflict with the arrangements set for the smooth running of the
business. This technique will significantly help diminish non-existent items in an online catalog.
The precondition in the Z schema below is that client score must be in the vicinity of 0 and 5.
The user also must give a reputation score at the end of every successful or unsuccessful
procedure.
Update_Reputation
ΔBuyItReputation
let reputation? ≥ 0
∧ reputation ≤ 5
Reputation? : Userreputation
Past_reputation! : Previous_user_reputation
if reputation ∉ null
then (past_reputation! + reputation?) ÷ 2 = reputation′
else alert “Please give your correspondent′s reputation score”
Purchase_Product
ΔBuyItPurchase
Locate? : Location_for_shipping
Quan? : Number_of_items_purchased
Unitcost! :Cost_per_product
Visabal! : Balance_creditcard
Shippingcost! : Shipping_cost
Cost! :Total_cost_payable
if visabal ≥ unitcost
∧quant? ≠ 0
∧locate? ≠ null
then cost! = unitcost′ * quan′ + shippingcost
∧ visabal! = visabal! – cost!
else Operationfailed
Reputation Update
A decent administration framework needs to keep track of its clients and give stringent
consequences to clients who conflict with the arrangements set for the smooth running of the
business. This technique will significantly help diminish non-existent items in an online catalog.
The precondition in the Z schema below is that client score must be in the vicinity of 0 and 5.
The user also must give a reputation score at the end of every successful or unsuccessful
procedure.
Update_Reputation
ΔBuyItReputation
let reputation? ≥ 0
∧ reputation ≤ 5
Reputation? : Userreputation
Past_reputation! : Previous_user_reputation
if reputation ∉ null
then (past_reputation! + reputation?) ÷ 2 = reputation′
else alert “Please give your correspondent′s reputation score”
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

BUYIT Z SCHEMA 7
Punishing the user
At the point when the notoriety of a client falls under zero, they are not permitted to keep
utilizing BuyIt. This means that the account is blocked. This is a strategy that guarantee both the
purchaser and vendor efficiently give impressive services to themselves. This, at last, ensures
that productive and proficient exchanges are accomplished through the BuyIt systems.
Punnish_User
Reputation! ℕ
let blocked : User_disallowed
∧ active : User_allowed
if reputation < 1
then status = blocked
else status = active
References
Bowen, J. P. (2016). The Z Notation: Whence the Cause and Whither the Course?.
In Engineering Trustworthy Software Systems (pp. 103-151). Springer, Cham.
Grant, E. S., Adhikari, K., Bisoyi, S. K., Chatterjee, A., Datta, T., Nahimana, C., & Sand, J.
(2016). Case-based Pedagogy in Software Engineering Education: A Classroom
Experience. In International Conference on Computer Science Education Innovation &
Technology (CSEIT). Proceedings (p. 73). Global Science and Technology Forum.
Grant, E. S., & Brown, T. (2016). Towards Rigorous Transformation Rules for Converting UML
Operation Signatures to Z Schema. In Proceedings of the International MultiConference
of Engineers and Computer Scientists (Vol. 1).
Punishing the user
At the point when the notoriety of a client falls under zero, they are not permitted to keep
utilizing BuyIt. This means that the account is blocked. This is a strategy that guarantee both the
purchaser and vendor efficiently give impressive services to themselves. This, at last, ensures
that productive and proficient exchanges are accomplished through the BuyIt systems.
Punnish_User
Reputation! ℕ
let blocked : User_disallowed
∧ active : User_allowed
if reputation < 1
then status = blocked
else status = active
References
Bowen, J. P. (2016). The Z Notation: Whence the Cause and Whither the Course?.
In Engineering Trustworthy Software Systems (pp. 103-151). Springer, Cham.
Grant, E. S., Adhikari, K., Bisoyi, S. K., Chatterjee, A., Datta, T., Nahimana, C., & Sand, J.
(2016). Case-based Pedagogy in Software Engineering Education: A Classroom
Experience. In International Conference on Computer Science Education Innovation &
Technology (CSEIT). Proceedings (p. 73). Global Science and Technology Forum.
Grant, E. S., & Brown, T. (2016). Towards Rigorous Transformation Rules for Converting UML
Operation Signatures to Z Schema. In Proceedings of the International MultiConference
of Engineers and Computer Scientists (Vol. 1).
1 out of 7
Your All-in-One AI-Powered Toolkit for Academic Success.
+13062052269
info@desklib.com
Available 24*7 on WhatsApp / Email
Unlock your academic potential
Copyright © 2020–2026 A2Z Services. All Rights Reserved. Developed and managed by ZUCOL.

