Rai Dinesh ENTD321
IT Online Training (ITOT) Analysis Specification
1. Introduction
This section introduces the issue at hand, and the primary aim of the project, which is to develop
an online platform that provides IT training services for the users. Besides, this segment
provides a brief description of the project and presents the requirements of the System from
the company's Training Specification.
1.1
Problem Description
ITOT lacks a proper approach for IT training, especially with most people moving online.
Currently, the users do not have access to an online platform that offers the training services,
which includes various materials such as videos, books, and courses offered by the training
program.
Analysis Specification 2018R2
Page 1
1.2 Sponsor Project Description
The main aim of ITOT is to provide IT training courses that can be accessed by the customers
over the web. Due to the lack of an online training platform, an application has been proposed
that covers multiple segments such as Course and customer management, user management
and value creation, purchasing, scheduling, and payment management. Besides, this System
is required to provide service access to the course administrators and instructors, customers,
and any other essential site controllers.
1.3 Sponsor Requirements
Functional Requirements
1. Purchase ITOT Products
REQF1.1 Customers must have the option to buy ITOT Products by means of a
web-based shopping basket.
REQF1.2 The Customer must have the option to include and expel items from a
web-based shopping basket.
REQF1.3 Customers must have the option to drop orders.
REQF1.4 Customers must have options to buy with the charge card.
REQF1.5 System must give testaments of finish to clients
2. Maintain Customer information
REQF2.1 Customers must have the option to make and change client account,
which holds data about the Customer, including client id, first and last name,
address, telephone numbers for work, and PDA. The client id is given by the
System and cannot be changed.
REQF2.2 The System must have the option to store and keep up client Visa data
for each Mastercard, including account number, account name, lapse date, and
security code.
REQF2.3 The System must maintain a list of accounts in its central database.
REQF2.4 The System must have the option to look and show client data by the
Instructor, course admin, plan executives, and different administrator.
3. Maintain Products
REQF3.1 The System must have the option to make, adjust, and eradicate ITOT
Products, including arranged courses, self-guided courses, accounts, and books.
REQF3.2 The System must have the option to keep up course data including
course number, course title, course portrayal, course type, course length, course
start date, course end date, course essentials, CEU credits, and course expense.
REQF3.3 The System must have the option to keep up video data, including
video id, video name, and video expense.
REQF3.4 The System must have the option to keep up book data, including title,
writers, date, version, and ISBN.
REQF3.5 The System must keep up course history, including offering dates
(starting and consummation), the number of understudies enlisted, and the
Instructor.
Analysis Specification 2018R2
Page 2
REQF3.6 The System must give search ability to courses dependent on the title,
class, well-known Course, continuous discharges, arranged courses.
REQF3.7 The System must give access to all course support highlights to the
Course Administrator.
4. Maintain Instructor Information
REQF4.1 The System must keep up Instructor data including educator id, the
Instructor's first and last name, address, cell and home telephone, zones of
showing aptitude, bio, and allowance.
REQF4.2 The System must have the option to give reports of teacher timetables
and courses educated
5. Maintain Course Schedules
REQF5.1 The System must have the option to make, alter, and erase course plan
data in its focal database, including course title, course number, course portrayal,
course essentials, course type, length, obviously, course diagram, plan dates,
and teacher data.
REQF5.2 The System must have the option to inquiry course calendars and show
results for all clients dependent on watchword, title, and timetable.
REQF5.3 The System must give all course plan support highlights to the Course
Schedule Administrator.
6. Manage Shopping Cart
REQF6.1 The System must have the option to give a shopping basket highlight
to clients to choose and pay for courses.
REQF6.2 The System must give a Shopping Cart Item, which records everything
in the Shopping Cart, including amount, thing number, thing name, cost, delivery,
coupons, markdown, and complete.
REQF6.3 The System must have the option to furnish clients with the capacity to
refresh the shopping basket, including expanding the number of things,
evacuating things, ascertaining delivering costs, and applying coupons and limits.
REQF6.3 The System must have the option to give installment choices to the
Customer, including charge cards.
7. Access Credit Card Service
REQF7.1 The System must have the option to connect to an outer Credit Card
Service
8. Access the Accounting System
REQF8.1 The System must give a connect to the Accounting System for the
exchange of client installment data.
9. Provide User Management
REQF9.1 The System must furnish the board of user with the client name and
secret word for all clients of the System, including clients and workers. Clients
can sign in and logout of the System.
Analysis Specification 2018R2
Page 3
REQF9.2 The System must actualize a secret phrase arrangement that
incorporates robust passwords, including 8-15 images, including letters (at any
rate one capitalized), digits, and different images like "!".
REQF9.3 The System must keep up the secret key history and not permit the
reuse of the last three passwords
REQF9.4 The System must encode passwords.
Non-Functional Requirements
1. Design a Scalable Architecture
REQNF1.1 The preparation application must be equipped for keeping up the
client represents up to 100,000 client accounts during the initial a half year and
1,000,000 following a half year.
REQNF1.2 The preparation application must be equipped for overhauling up to
1,000 synchronous clients at first and up to 10,000 following a half year.
REQNF1.3 The preparation application must be equipped for taking care of 100
hunt demands for each moment and up to 1,000 pursuit demands following a half
year.
REQNF1.4 The preparation application must be fit for dealing with up to 100 buys
every hour and 1,000 following a half year.
2. Implement Security
REQNF2.1 The System will execute the business standard security highlights,
including PCI consistency, for utilizing secure pages for every single delicate
exchange, including record, secret key, and installment the board.
REQNF2.2 The System will shield from the commonplace web security dangers
including Injection, Weak Authentication, and meeting the executives; crosswebsite scripting (XSS); Insecure Direct Object References; Security
Misconfiguration; Sensitive Data Exposure; Missing Function Level Access
control; Cross-Site Request Forgery; Using Components with Known
Vulnerabilities; Unvalidated Redirects and Forwards; value control through
shrouded fields or treats; support flood and other security dangers point by
point in OWASP Top Ten at https://www.owasp.org/index.php/Main_Page
Analysis Specification 2018R2
Page 4
2. System Use Case Diagram
This section offers a profound presentation of the system use case diagram. Besides, this
segment includes an analysis of the diagram consisting of the identification of the actors and
the list of use cases.
2.1 System Use Case Diagram
2.2 Use Case Diagram Description
The use case diagram offers a representation of the interruption between various actors and
use cases involved in the System. From the diagram, the main actors represented in the
System include; Customer, system administrator, course administrator, and Instructor. The
Customer creates an account that can be used to access the shopping cart, make an order, or
even cancel the order. Besides, the Customer can also make the payments after confirming
the order. The System offers an option to select products that include scheduled courses. In
this case, scheduled courses are managed by the course administrator. Also, the scheduled
courses are taught by the instructors. The system administrator is another factor that plays a
role by managing and monitoring cancellations and payments from the Customer.
Analysis Specification 2018R2
Page 5
2.3 List of Actors and Definitions
Actor Name
Definition
Customer
Course Administrator
A Customer is an individual who buys ITOT items.
A course administrator is a person who manages the
scheduled and the self-paced courses offered by ITOT.
An instructor is a person who teaches the scheduled
courses.
A system administrator is a person who manages and
monitors the user activities in the System.
Instructor
System Administrator
2.4 List of Use Cases and Description
Use Case Name
Description
Create Customer
This utilization case makes another Customer, including
client id, first and last name, address, telephone
numbers for work, and PDA.
This use case creates a new Account, which includes;
account id, first name, last name, username, and
password.
This use case creates a new Order, which includes;
order ID, order date, shipping date, shipping address,
order status, and amount.
This use case creates a new Cancellation which
includes; Cancellation ID, date and time
This use case creates a new Shoppingcart, which
includes; Shoppingcart ID, quantity, item number, item
name, shipping, coupon, and discount.
This use case creates a new Payment, which includes;
Payment ID, amount, date, and time.
This use case creates a new Product, which includes;
Product ID, name, type, and price.
Create an account
Make order
Make cancellation
Access Shoppingcart
Make Payment
Select Product
Analysis Specification 2018R2
Page 6
3. Detailed Use Case and Activity Diagram
3.1. Manage Shopping Cart Use Case
This section assesses the manage shopping cart use case. This assessment includes the table
of the detailed steps involved in the use case, presentation of a use case mockup, and activity
diagram.
3.1.1. Manage Shopping Cart Use Case Description/Scenario
This use case creates a framework for managing a Shopping cart, which includes;
Shoppingcart ID, quantity, item number, item name, shipping, coupon, and discount. The use
case also provides an option to add items, remove items, calculate shipping costs, and
payments for the selected products.
3.1.2 Manage Shopping Cart Use Case Detailed Steps
Use Case and History
Use Case ID:
Created
By: Rai
Dinesh
Date Created:
June 15, 2020
Use Case Name: Manage Shopping
Cart
Last Updated By:
Date Last
Rai, Dinesh
Updated:
June 17, 2020
Actors, Description, Preconditions, Postconditions
Actors:
Description:
Customer, System Administrator
This use case creates a framework for managing a Shopping cart, which
includes; Shoppingcart ID, quantity, item number, item name, shipping,
coupon, and discount. The use case also provides an option to add items,
remove items, calculate shipping costs, and payments for the selected
products.
Preconditions:
Postconditions:
i.
i.
ii.
Customer must have a user account
Must provide the ability to add the products
Must provide the ability to pay for the selected products
Normal Path
User Action
1. This use case begins when the user logs in
to the account
Analysis Specification 2018R2
System Action
2. The System returns access to the account
Page 7
The user should be able to click access to the
shopping cart.
The user selects the books, videos or courses
The user be able to proceed to make payment
Alternative Path
User Action
The System returns access to the shopping cart.
The System adds the selected products to the
shopping cart and offers the quantification.
The System offers a checkout feature where the
user can add payment information and shipping
address.
System Action
1. This use case begins when the
Customer selects a product.
3. The user proceeds to add the item to
the shopping cart
5. The user chooses to make payment
7. The user chooses to checkout
2. The System returns an option that allows
the user to "add the item to cart."
4. The System responds by adding the
selected product with the quantification.
6. The System returns a "confirm order" which
then redirects the user to make the
payment.
8. The System allows the user to add shipping
address information and checkout
Use Case Related System Issues
SPEX1: The User enters the wrong login details
Exceptions:
SPEX2: The User enters the wrong payment details
Includes:
1. Managing product
2. Making payment
Priority:
Making an order
Frequency of
Use:
Business Rules:
It can be used continuously.
Analysis Specification 2018R2
1. One shopping cart can only be used during one transaction
process, which may involve the purchase of many products.
2. Should only be accessed by the Customer
Page 8
Special
Requirements:
Assumptions:
Notes and
Issues:
SP1: Should be able to store and quantify the products selected by the
Customer until he or she is ready to confirm the order.
SP2: Should be able to calculate the quantity of the products selected by
the consumer
SP3: Should be able to provide payment options.
AS1: The User has logged in successfully
AS2: The User has been able to navigate and locate the shopping cart.
NT2: The User should have the username and password in place.
NT1: The User should have the necessary payment information to
complete the transaction.
3.1.3 Manage Shopping Cart Form/Screen Mockup and Dialog
Analysis Specification 2018R2
Page 9
From the mockup presented above, the use case provides an option to search for the products
available on the platform. Besides, the user provides a feature to add items to cart and also the
option to add items or remove items. The user can also cancel an order or proceeds to confirm
an order in order to checkout.
Analysis Specification 2018R2
Page 10
3.1.4 Activity Diagram Name for Use Case Manage Shopping Cart and
Discussion
This use case begins with the user creating an account. Once the user logins, he or she
searches for a product, which can be a scheduled course, book, or video. Upon identifying the
Analysis Specification 2018R2
Page 11
products, the user proceeds to add the selected items to the cart. Besides, the user can choose
to add more items or remove the current items. Moreover, the user can choose to checkout or
continue shopping. If the user chooses to continue shopping, he or she is redirected to search
for product activity. If the user chooses to checkout, the user is directed to the checkout feature.
4. Domain Class Diagram
This section presents a domain class of ten selected classes—besides, a relationship analysis
of the chosen classes, inclusive of the constraints. The section also presents a table of all the
sixteen classes, inclusive of the attributes, methods, and requirements number. This section
finalizes with a discussion of the class tables and the domain class diagram.
4.1 Domain Class Diagram(s)
.
Analysis Specification 2018R2
Page 12
Analysis Specification 2018R2
Page 13
4.2 Class and Relationship Analysis
Class and Relationship Analysis
Class
Relationship with Multiplicity
Name 1
A Customer create one (1) Account
Customer A single Account is created by a single(1)
Customer
Class Name 2
Account
An Account can be used to access one (1)
ShoppingCart
Account
A single ShoppingCart can be accessed with a
single Account
ShoppingCart
A Shoppingcart contains (1)or many
(m)ShoppingCartitems
ShoppingC
art
Shoppingcartitems are (1) or many (m) in the
Shoppingcart
ShoppingCartItems
One(1) Shoppingcartitem is represented by
one(1) Product
Shoppingc
artItem
One(1) Product is represented by one(1)
ShoppingcartItem
Product
A Customer makes one (1) Payment
Customer A single Payment is made by a singe (1)
Customer
Payment
One or many (1-m) Orders can be made from a
single(1) Account
Order
A single Account is used to make one or many
(1-m) Orders
Account
One of many (1-m) Order are completed after
making a single (1) payment
Order
A single (1) payment is made to complete one or
many (1-m) orders
Analysis Specification 2018R2
Payment
Page 14
4.3 List of Classes with Definitions, Attributes, and Operations
Classes, Attributes, Operations, Requirement
Class
Name
Customer
Class
Definition
A Customer is
an individual or
association
where an
Account exists
to get to ITOT
items.
Attributes
Operations
customerID: string
firstName: string
lastName: string
address: string
workPhone:string
cellPhone: string
Product
A product is a
commodity or
service available
for the
customers in the
ITOT site.
scheduledCourse: string
selfPacedCourse: string
video: string
book:string
createCustomer()
getCustomerID()
setCustomerID(customerID)
getFirstName()
setFirstName(firstName)
getAddress()
setAddress(address)
getWorkPhone()
setWorkPhone(workPhone)
getCellPhone()
setCellPhone(cellPhone)
removeCustomer(customerID)
createroduct()
createScheduledCourse()
createSelfPacedCourse()
createvideo()
createbook()
removeScheduledCourse()
removeSelfPacedCourse()
removevideo()
removebook()
ScheduledCourse
A
ScheduledCours
e is a course
offered by ITOT
at a particular
date and time.
courseNumber: string
title: string
description: string
type: string
duration: number
startDate: string
endDate: string
prerequisites: string
ceuCredits: number
fee: number
createScheduledCourse()
getCourseNumber()
setCourseNumber(courseNu
mber)
getTitle()
setTitle(title)
getDescription()
setDescription(description)
getType()
setType(type)
getDuration()
setDuration(duration)
getStartDate()
setStartDate(startDate)
getEndDate()
setEndDate(endDate)
getPrerequisites()
setPrerequisites(prrequisites)
getCeuCredits()
setCeuCredits(ceuCredits)
getFee()
setFee(fee)
RemoveScheduledCourse(co
urseNumber)
REQF3.2
SelfpacedCourse
A
SelfpacedCours
e is a course
offered by ITOT
without
restrictions to
courseNumber: string
title: string
description: string
type: string
prerequisites: number
ceuCredits: number
createSelfpacedCourse()
getCourseNumber()
setCourseNumber(courseNu
mber)
getTitle()
setTitle(title)
REQF3.2
Analysis Specification 2018R2
Requirement
Number
REQF2.1
REQF3.1
Page 15
Class
Name
User
CreditCard
Video
Book
Instructor
ExpertiseArea
ShoppingCart
Class
Definition
the date and
time
Attributes
Operations
Fee: number
getDescription()
setDescription(description)
getType()
setType(type)
getPrerequisites()
setPrerequisites(prrequisites)
getCeuCredits()
setCeuCredits(ceuCredits)
getFee()
setFee(fee)
RemoveSelfpacedCourse(cou
rseNumber)
A User is an
individual who
has
qualifications to
get to the ITOT
framework
A credit card is a
payment card
issued to
customers to
make payments
for purchased
ITOT products.
A video is an
instruction
product offered
by ITOT for the
IT training.
A book is an
instruction
product offered
by ITOT for the
IT training
An instructor is
an ITOT
employee
offering IT
instruction
services to the
customers.
username:string
password: string
login(username, password)
logout()
getUsername()
setUsername(username)
REQF9.1
accountnumber: number
accountname : String
expirationdate: date/time
securitycode: number
createCreditCard()
getAccountnumber()
getAccountname()
getExpirationdate()
getSecuritycode()
REQF2.2
videoID: number
videoName: string
videoFee: number
createVideo()
getVideoID()
getvideoName()
setvideoFee()
removeVideoID()
getTittle()
getAuthors()
getdate()
getEdition()
getISBN()
createInstructor()
getFirstName()
getLastName()
getAddress()
getCellphone()
getHomephone()
getExpertiseArea()
getBio()
setStipend()
removeInstructorID()
REQF3.3
An expertise
area is a subject
area in which an
instructor has
knowledge or
skill specialty
and
competence.
A shoppingCart
is an feature that
allows the
customer to
expertiseAreaID: number
expertiseAreaName: string
expertiseAreaLevel: string
createExpertiseArea()
GetExpertiseAreaID()
getExpertiseAreaName()
getExpertiseAreaLevel()
REQF4.1
quantitiy: number
itemNumber:number
itemName:string
cost: number
createShoppingCart()
getItemNumer()
getItemName()
getCost()
REQF6.2
Analysis Specification 2018R2
tittle: string
authors: string
date: date/time
edition:string
ISBN: string
instructorID: number
firstName: string
lastName: string
address: string
cellphone: number
homephone: number
expertiseArea: String
bio: string
stipend: number
Requirement
Number
REQF3.4
REQF4.1
Page 16
Class
Name
ShoppingcartItem
Account
Payment
Order
Class
Definition
monitor the
quantity and
prices of prices
when making
purchases in
ITOT site.
A
ShoppingcartIte
m is a product
that the
consumer
intends to
purchase from
the online
platform
An account is a
component
created by the
user to gain
access into the
products and
services provide
by ITOT
A payment is a
form of transfer
of funds before
the Customer
can gain access
into the ordered
items
An order is a
request made
for access of
ITOT products
Attributes
Operations
shipping:string
coupon:string
discount: number
total: number
getShipping()
getCoupon()
getDiscount()
getTotal()
amount: number
thingnumber: number
thingname: string
cost:number
coupon:string
deliveryaddress: string
createShoppingcartItem()
getAmount()
getThingnumber()
getThingnumber()
getCost()
getCoupon()
getDeliveryaddress()
REQF6.2
accountID:number
firstName:String
lastName: String
email: string
password:string
createAccount()
getFirstName()
getLastName()
getEmail()
getPassowrd()
REQF9.1
createCreditCard()
getAccountnumber()
getAccountname()
getExpirationdate()
getSecuritycode()
REQF7.1
accountnumber: number
accountname : String
expirationdate: date/time
securitycode: numbe
number:number
orderDate: string
shippedDate:string
shippingAddress:string:
orderStatus:String
amount:number
createOrder()
getNumber()
getOrderDate()
getShippedDate()
getShippingAddress()
getSrderStatus()
getAmount()
Requirement
Number
REQF10.1
4.3.1 List of Classes, Attributes, Operations, and Requirement Number
Discussion
Sixteen classes have been selected to create a definition of both function and data elements
required of the System. These classes have been selected to aid modelling the attributes of
that are required in the System. Besides, this classes have been created to reduce the level of
complexity especially when assessing the requirements of the System. For example, instead
of listing all the attributes of the Course and all the attributes of the Customer without any order,
the classes provide an opportunity for grouping the attributes. Besides, these classes have
been selected based on the information provided in the ITOT requirement specification
document. Each class has a set of attributes, operations and the requirement number. The
attributes are used to identify the details of each class, whereas the operations are the set of
actions that can be performed by each class. The requirement number is also included as a
reference to the requirements stated in the ITOT requirement specification document.
Analysis Specification 2018R2
Page 17
4.4 Domain Class Diagram Discussion
From the domain diagram, a customer creates an account that is used to gain access the
shopping cart. Besides, the account allows the Customer to makes an order. A shopping cart
also encompasses a shopping cart item which is used to represent a product. A single shopping
cart item represents a single product. For example, a single book, with proper name and title,
represents a single item in the shopping cart. The selected products, which consist of video,
course, and book, are only accessed by making an order. The order is only completed by
making a payment. Ideally, a customer can make a single payment for the orders.
5. Domain State Diagram
This section presents the shopping cart's state diagram. Besides, it provides a discussion of
flow of each state of the shopping cart.
5.1 State Diagram and Discussion
Analysis Specification 2018R2
Page 18
Once the user logs in, the first state of the shopping cart is identified as empty. There is no item
in place because the Customer has no made any selection. The customers then make the
move to add items which change the state to a shopping cart with items. After the Customer
has made all the selections, he or she prepares to checkout. Upon checking out, the state of
the shopping cart returns to empty.
6. Sequence Diagrams
6.1 System Sequence Diagram (SSD) for Use Case and
Description
6.2 Detailed Sequence Diagram for Use Case and Discussion
2. Insert a discussion of your Detailed Sequence Diagram.
Analysis Specification 2018R2
Page 19
Appendix.
Analysis Specification 2018R2
Page 20
Purchase answer to see full
attachment