ENTD278Assignment3_DavidKintz
docx
keyboard_arrow_up
School
American Public University *
*We aren’t endorsed by this school
Course
278
Subject
Information Systems
Date
Dec 6, 2023
Type
docx
Pages
17
Uploaded by CoachOctopus2571
David Kintz ENTD278
IT Online Training (ITOT) Analysis Specification
<Notes: Often in system development we use templates to create different types of
specifications.
This is an abbreviated template that represents some of the analysis artifacts
of a project.
The items in <> with the word “Insert” or “Provide” are explanatory and
should be removed from your document after you follow the directions.
Other
symbols <> require you to insert names.
This document is intended to provide a partial analysis specification for the project case
study, IT Online Training.
This document includes an introduction, use case diagrams,
detailed use cases, activity diagrams, domain class diagrams, and domain state diagram.
Parts of this specification will come from the IT Online Training Specification and from your
assignments.
This document integrates some of the analysis diagrams and project
specification details to provide a single reference.
Headings are used to provide easier
navigation.
To see the heading navigation, in Word click on the View tab and check the
Navigation Pane box.
You will submit this document for each assignment with new sections completed and added
to it.
You can revise any previous sections as needed.
Remember to insert you name and
class information at the top of this document.>
1. Introduction
The IT Online Training (ITOT) project development team is tasked with creating an online
service that will provide customers with access to IT training courses. This online system will
allow customers to enroll from a list of courses, and to purchase corresponding products that
provide instructional learning.
1.1 Problem Description
Since ITOT is an online training program, customers must be able to access the training
programs using a web based interface to schedule courses and purchase instructional
products.
1.2 Sponsor Project Description
<Insert your description of the problem based on the IT Online Training Specification.>
1.3 Sponsor Requirements
The sponsors of the project have identified some preliminary requirements of the
system as documented below.
Analysis Specification 2018R2
Page 1
The following are some initial requirements of the application.
Functional Requirements
1. Purchase ITOT Products
REQF1.1 Customers must be able to purchase ITOT Products via an online
shopping cart.
REQF1.2 The Customer must be able to add and remove products from an
online shopping cart.
REQF1.3 Customers must be able to cancel orders.
REQF1.4 Customers must be able to purchase by credit card.
REQF1.5 System must provide certificates of completion for customers.
2. Maintain Customer information
REQF2.1 Customers must be able to create and change customer account
which holds information about the Customer including customer id,
first and last name, address, phone numbers for work and cell phone.
Customer id is issued by the system and cannot be changed by the
customer.
REQF2.2 The system must be able to store and maintain customer credit
card information for each credit card including account number,
account name, expiration date, and security code.
REQF2.3 The system must maintain a list of accounts in its central database.
REQF2.4 The system must be able to search and display customer
information by instructors, course administrators, schedule
administrators, and other administrators.
3. Maintain Products
REQF3.1 The system must be able to create, modify, and delete ITOT
Products including scheduled courses, self-paced courses, videos, and
books.
REQF3.2 The system must be able to maintain course information including
course number, course title, course description, course type, course
duration, course start date, course end date, course prerequisites, CEU
credits, and course fee.
REQF3.3 The system must be able to maintain video information including
video id, video name, and video fee.
REQF3.4 The system must be able to maintain book information including
title, authors, date, edition, and ISBN.
REQF3.5 The system must maintain course history including offering dates
(beginning and ending), number of students enrolled, and instructor.
REQF3.6 The system must provide search capability for courses based on
title, category, popular course, recent releases, planned courses.
Analysis Specification 2018R2
Page 2
REQF3.7 The system must provide access to all course maintenance features
to the Course Administrator.
4. Maintain Instructor Information
REQF4.1 The system must maintain Instructor information including
instructor id, instructor first and last name, address, cell and home
phone, areas of teaching expertise, bio, and stipend.
REQF4.2 The system must be able to provide reports of instructor schedules
and courses taught.
5. Maintain Course Schedules
REQF5.1 The system must be able to create, modify, and delete course
schedule information in its central database including course title,
course number, course description, course prerequisites, course type,
length of course, course outline, schedule dates, and instructor
information.
REQF5.2 The system must be able to query course schedules and display
results for all users based on keyword, title, and schedule.
REQF5.3 The system must provide all course schedule maintenance features
to the Course Schedule Administrator.
6. Manage Shopping Cart
REQF6.1 The system must be able to provide a shopping cart feature for
customers to select and pay for courses.
REQF6.2 The system must provide a Shopping Cart Item which lists each
item in the Shopping Cart including quantity, item number, item name,
cost, shipping, coupons, discount, and total.
REQF6.3 The system must be able to provide customers with the ability to
update the shopping cart including increasing the number of items,
removing items, calculating shipping costs, and applying coupons and
discounts.
REQF6.3 The system must be able to provide payment options for the
customer including credit cards.
7. Access Credit Card Service
REQF7.1 The system must be able to link to an external Credit Card Service.
8. Access the Accounting System
REQF8.1 The system must provide a link to the Accounting System for the
transfer of customer payment information.
Analysis Specification 2018R2
Page 3
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
- Access to all documents
- Unlimited textbook solutions
- 24/7 expert homework help
9. Provide User Management
REQF9.1 The system must provide management of User with user name and
password for all users of the system including customers and
employees. Users can login and logout of the system.
REQF9.2 The system must implement a password policy that includes strong
passwords including 8-15 symbols including letters (at least one upper
case), digits, and special symbols like “!”.
REQF9.3 The system must maintain password history and not allow the reuse
of the last three passwords
REQF9.4 The system must encrypt passwords.
Non-Functional Requirements
1. Design a Scalable Architecture
REQNF1.1 The training application must be capable of maintaining customer
accounts for up to 100,000 customer accounts during the first six
month and 1,000,000 after six months.
REQNF1.2 The training application must be capable of servicing up to 1,000
simultaneous customers initially and up to 10,000 after six months.
REQNF1.3 The training application must be capable of handling 100 search
requests per minute and up to 1,000 search requests after six months.
REQNF1.4 The training application must be capable of handling up to 100
purchases per hour and 1,000 after six months.
2. Implement Security
REQNF2.1 The system shall implement the industry standard security
features, including PCI compliance, for using secure web pages for all
sensitive transactions including account, password, and payment
management.
REQNF2.2 The system shall provide protection from the common web
security threats including Injection, Weak Authentication and session
management; cross site 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; price manipulation through hidden fields or cookies;
buffer overflow and other security risks detailed in OWASP Top Ten at
https://www.owasp.org/index.php/Main_Page
Note: The above requirements are not complete but represent an initial draft and
are sufficient for our needs
Analysis Specification 2018R2
Page 4
2.
System Use Case Diagram
Section 2 defines the relationship between the different accounts that use the ITOT and the
functions that are available for them. The Functional Requirements can be found in the ITOT
Project Requirement Specification 2018R Draft document.
2.1 List of Actors and Definitions
Actor Name
Definition
Accounting System
Tn Accounting System is an external entity which
maintains payment into, records Customer
transactions, ships products to a Customer, and
manages the Shopping Cart.
Course Administrator
A Course Administrator is a person that add and
removes ITOT Courses, manages Course info and
Instructors, and updates Course Products.
Customer
A Customer is a person who creates a User
Account, manages their User Account, enrolls in
ITOT Courses, and manages the Shopping Cart to
purchases ITOT Products.
Instructor
An Instructor is a person who teaches/manages
ITOT courses, updates Course Products, creates
and manages their Instructor ID.
2.2 List of Use Cases and Descriptions
Use Case Name
Description
Add Course
This use case allows the Course Administrator to
add courses to the ITOT curriculum.
Course Enrollment
This use case allows the Customer to enroll in to
current ITOT courses.
Create Instructor ID
This use case creates a new Instructor, including
Instructor ID, first and last name, address, phone
numbers for work and cell phone.
Create User Account
This use case creates a new Customer, including
User Account, first and last name, address, phone
numbers for work and cell phone.
Maintain Payment Info
This use case allows the Accounting System to
record, store, and remove Customer payment
information.
Manage Course
This use case allows the Instructor to add, change,
or delete descriptions for ITOT courses.
Manage Course Info
This use case allows the Course Administrator to
add, change, or delete descriptions for ITOT
courses.
Analysis Specification 2018R2
Page 5
Manage Instructors
This use case allows the Course Administrator to
add, change, or delete information for Instructors
Manage Shopping
Cart
This use case allows Customers and Accounting
System to add Products to the shopping cart,
remove products, add discount codes, add
payment methods, and purchase ITOT Products.
Manage User Account
This use case allows the Customer to update,
change, or delete their User Account information.
Record Transactions
This use case allows the Account System to record
and archive transactions which have occurred.
Remove Course
This use case allows the Course Administrator to
remove courses from the ITOT curriculum
Send Product to
Customer
This use case allows the Accounting System to
send Customers their approved purchases.
2.3 System Use Case Diagram
2.4 Use Case Diagram Description
In the above Use Case Diagram, it shows the ITOT System interactions with the Customer,
Instructor, Course Administrator, and Accounting System, and how each use case is acted
out. While each actor is responsible for their relatable roles, some actions overlap and are
managed by another actor.
Analysis Specification 2018R2
Page 6
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
- Access to all documents
- Unlimited textbook solutions
- 24/7 expert homework help
3.
Detailed Use Case and Activity Diagram
This section focuses on the shopping cart management use case and its step-by-step path.
By using the following us case, it will allow the end user to purchase and select courses, as
well as products that are offered on the ITOT system.
3.1. Manage Shopping Cart Use Case
3.1.1. Manage Shopping Cart Use Case Description/Scenario
In the above use case diagram, it shows the actions that can be performed by a customer
that is the main actor of the Shopping Cart. Depending on the customer’s choice there are a
variety of actions that can be performed, and the ITOT system responds accordingly to the
choice.
3.1.2 Manage Shopping Cart Use Case Detailed Steps
Use Case and History
Use Case ID:
Use Case Name: Manage Shopping
Cart
Created
By:
Date Created:
11/25/2023
Last Updated By:
David Kintz
Date Last
Updated:
Analysis Specification 2018R2
Page 7
David Kintz
11/25/2023
Actors, Description, Preconditions, Postconditions
Actors:
Customer
Description:
The customer is the main user of the Shopping Cart
allowing him/her to enroll in a course and purchase the
materials needed for the course.
Preconditions:
The Customer has an account in the ITOT system.
The customer has already logged into the system.
The customer is allowed permission to enroll in courses.
Postconditions:
Item(s) have been added to the customers Shopping Cart.
Normal Path
User Action
System Action
1.
This use case begins when the
customer looks for a course, they
want to enroll in.
2.
This use case begins when the ITOT
system displays what course are being
offered.
3. This use case starts when the
customer views the course they wish
to enroll in and selects the course.
4. This use case starts when the ITOT
system shows the details of the selected
course.
5. This use case begins when a
customer adds the selected course to
their Shopping Cart.
6. This use case begins when the ITOT
shows the items currently in the
Customers Shopping Cart.
7. This use case begins when a
customer proceeds to checkout with
items in their Shopping Cart.
8. This use case starts when the ITOT
calculates the payments for the item(s)
in the Shopping Cart for the customer.
9. This use case starts when the
customer enters their Credit Card info
to pay for their items.
10. This use case starts when the ITOT
system processes the customers
payment form and issues the receipt .
11. This use case ends after the
customer logs off the ITOT.
Alternative Path
User Action
System Action
1. This use case starts when the
customer looks for a course they want
to enroll in
2. This use case starts when the ITOT
system shows courses that are being
offered.
3. This use case initiates when the
Customer views the course they want
4. This use case initiates when the ITOT
system show the details of the selected
Analysis Specification 2018R2
Page 8
to enroll in and choose it.
course.
5. This use case terminates when the
Customer logs off the ITOT after
getting the course requirements or
logs off for other reasons.
Use Case Related System Issues
Exceptions:
The customer is allowed purchasing for a course or the
course’s learning materials.
Includes:
An accounting System is included to process the fees.
Priority:
The Customers have priority in using the system and will
not be denied access unless their doing malicious content.
Frequency of Use:
Every time a customer wishes to view details of a course
or enrolls in a course. When the customer wants to
purchase the course materials.
Business Rules:
VAT is inclusive in the course fee and materials.
Special
Requirements:
TBD
Assumptions:
The System is secure and cannot be compromised.
Notes and Issues:
3.1.3 Manage Shopping Cart Form/Screen Mockup and Dialog
Analysis Specification 2018R2
Page 9
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
- Access to all documents
- Unlimited textbook solutions
- 24/7 expert homework help
The above screen mockup we see the manage Shopping Cart Form as it is expected to be
designed. The following page will allow the customer to browse for courses they wish to enroll
in with the following materials. Once the desired course is found, the buttons on the top bar
will enable them to checkout using the Shopping Cart.
3.1.4 Activity Diagram Name for Use Case <Name> and Discussion
Analysis Specification 2018R2
Page 10
The above Activity diagram shows the process of managing the Shopping Cart and shows
some of the actions the Customer will be able to take while using it.
4.
Domain Class Diagram
The following Doman Class Diagram illustrates the main Classes and how they correspond to
the ITOT process to create an account, enroll in courses, purchase products, and how
instructors interact with the system.
4.1 Domain Class Diagram(s)
Analysis Specification 2018R2
Page 11
4.2
Class and Relationship Analysis
Class and Relationship Analysis
Class Name 1 Relationship with Multiplicity
Class Name 2
Book
A
Book
is sold as one or more (1..*)
Product
A
Product
is zero or more (0..*)
Book
Product
Course
A
Course
is available to zero or more (0..*)
Customer
A
Customer
can enroll in one or more (1..*)
Course
Customer
Customer
A
Customer
can add zero or more (0..*) Product to a
ShoppingCart
A
ShoppingCart
can hold zero or more (0..*) Product from a
Customer
ShoppingCart
Instructor
An
Instructor
teaches zero or more (0..*)
Course
A
Course
is taught by a single (1)
Instructor
Course
InstructorID
An
InstructorID
is created for zero or more (0..*)
Instructor
An
Instructor
creates a single (1)
InstructorID
Instructor
Order
An
Order
cashes out a single (1)
ShoppingCart
A
ShoppingCart
can cash out one or more (1..*)
Order
ShoppingCart
Payment
A
Payment
is used to pay for one or more (1..*)
Order
An
Order
is cashed out by a single (1)
Payment
Order
Product
A
Product
is recommended by one or more (1..*)
Course
A
Course
recommends zero or more (0..*)
Product
Course
ShoppingCart
A
ShoppingCart
holds zero or more (0..*)
Product
A
Product
can be held in a single (1)
ShoppingCart
Product
UserAccount
A
UserAccount
is created for zero or more (0..*)
Customer
A
Customer
creates a single (1)
UserAccount
Customer
Video
A
Video
is sold as one or more (1..*)
Product
A
Product
is zero or more (0..*)
Video
Product
Analysis Specification 2018R2
Page 12
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
- Access to all documents
- Unlimited textbook solutions
- 24/7 expert homework help
4.3 List of Classes with Definitions, Attributes, Operations, and Requirements
Number
Classes, Attributes, Operations, Requirement
Class
Name
Class Definition
Attributes
Operations
Book
A Book is a
physical product
offered as a part of
a Course.
bookAuthor: string
bookDate: string
bookCost: number
book()
getBookTitle()
REQF3.4
Course
A Course is a
course offered by
ITOT during a
specific time and
date.
courseNumber: string
courseTitle: string
courseDescription: string
courseType: string
startDate: date/time
endDate: date/time
courseCredits: number
courseFee: number
instructorID: string
course()
getCourseNumber()
setCourseNumber(courseNumber
)
getCourseTitle()
setCourseTitle(courseTitle)
getCourseDescription()
setCourseDescription(courseDes
cription)
getCourseType()
setCourseType(courseType)
getStartDate()
setStartDate(startDate)
getEndDate()
setEndDate(endDate)
getCourseCredits()
setCourseCredits(courseCredits)
getCourseFee()
setCourseFee(courseFee)
getInstructorID()
setInstructorID(instructorID)
removeCourseNumber()
REQF3.1
Customer
A Customer is a
person or
organization
where an Account
exists for the
purpose of
accessing ITOT
products.
customerID: string
firstName: string
lastName: string
address: string
homePhone: string
cellPhone: string
email: string
createCustomer()
getCustomerID()
setCustomerID(customerID)
getFirstName()
setFirstName(firstName)
getAddress()
setAddress(address)
getWorkPhone()
setWorkPhone(workPhone)
getCellPhone()
setCellPhone(cellPhone)
removeCustomer(customerID)
REQF2.1
Instructor
An Instructor is a
faculty member for
ITOT that provides
instructional
services for
courses.
instructorID: string
firstName: string
lastName: string
address: string
homePhone: string
cellPhone: string
email: string
expertise: sting
bio: string
stipend: string
createInstructorID()
setInstructorID(instructorID)
getFirstName()
setFirstName(firstName)
getLastName()
setLastName(lastName)
getAddress()
setAddress(address)
gethomePhone()
setWorkPhone(homePhone)
getCellPhone()
setCellPhone(cellPhone)
getEmail()
setEmail(email)
getExpertise()
setExpertise(expertise)
getBio()
setBio(bio)
getStipend()
REQF4.1
Analysis Specification 2018R2
Page 13
Class
Name
Class Definition
Attributes
Operations
setStipend(stipend)
removeInstructor(instructorID)
InstructorID
An InstructorID is
a profile that can
access the
system,
associated with a
Course, and
recommends a
Product.
instructorID: string
email: string
password: string
changeInfo: string
getInstructorID()
setInstructorID(instructorID)
getEmail()
setEmail(emai)
createPassword()
setPassword(password)
editInfo()
setInfo(info)
REQF4.1
Order
An Order is a list
of Product that
was purchased by
a UserAccount
orderNumber: number
orderTotal: number
order()
getOrderNumber()
setOrderNumber(orderNumber)
getOrderTotal()
setOrderTotal(orderTotal)
REQF3.4
Payment
A Payment is the
transfer of funds
from a
UserAccount in
exchange for a
Product and/or
Course
customerID: string
accountName: string
cardNumber: int
expirationDate: date/time
cvcCode: int
payment()
getCustomerID()
setCustomerID(customerID)
getCardNumner()
setCardNumber(cardNumber)
getExpirationDate()
setExpirationDate(expirationDate)
getCvcCode()
setCvcCode(cvcCode)
REQF7.1
Product
A Product is a
Book or Video that
is purchased to
accompany a
Course.
courseNumber: string
bookTitle: string
bookCourse: string
videoTitle: string
videoCourse: string
product()
getCourseNumber()
setCourseNumber(courseNumber
)
getBookTitle()
setBookTitle(bookTitle)
getBookCourse()
setBookCourse(bookCourse)
getVideoTitle()
setVideoTitle(videoTitle)
getVideoCourse()
setVideoCourse(videoCourse)
REQF3.1
ShoppingCart
A ShoppingCart is
a feature that lists
all Product or
Course that the
UserAccount has
added and intends
to purchase
itemID: string
itemName: string
itemCost: string
itemQuantity: number
couponCode: string
discount: int
shippingCost: string
orderTotal: number
orderNumber: number
shoppingCart()
getItemID()
setItemID(itemID)
getItemName()
setItemName(itemName)
getItemCost()
setItemCost(itemCost)
getItemQuantity()
setItemQuantity(itemQuantity)
getCouponCode()
setCouponCode(couponCode)
getDiscount()
setDiscount(discount)
getShippingCost()
setShippingCost(shippingCost)
getOrderTotal()
setOrderTotal(orderTotal)
getOrderNumber()
setOrderNumber(orderNumber)
REQF6.2
UserAccount
A UserAccount is
a profile that can
access the
system, sign up
for a Course, and
purchase a
Product.
customerID: string
email: string
password: string
changeInfo: string
getCustomerID()
setCustomerID(customerID)
getEmail()
setEmail(emai)
createPassword()
setPassword(password)
editInfo()
setInfo(info)
REQF9.1
Video
A Video is a
multimedia
videoAuthor: string
videoDate: string
video()
getVideoTitle()
REQF3.3
Analysis Specification 2018R2
Page 14
Class
Name
Class Definition
Attributes
Operations
product offered as
a part of a Course.
videoCost: number
4.3.1 List of Classes, Attributes, Operations, and Requirement Number
Discussion
The table shown in 4.3 provides a list of the required classes with attributes, operations, and
requirements needed for the ITOT instructional program. These classes are congruent with
the listed functional requirements from the project specification draft document.
4.4 Domain Class Diagram Discussion
The required functions, as described in the ITOT Project Requirements Specification, have all
been met as shown in the Domain Class Diagram. The relationships between all Classes are
utilized to show how a Customer can sign up for ITOT courses, by creating a UserAccount,
and purchase any relevant Products. Additionally, an Instructor must also create an
InstructorID account in order to access Course learning plans and list which Product should
be purchased for each Course. All functions from both Customer and Instructor flow to the
ShoppingCart, which is required for a Customer to complete an Order, providing them with
the Course and Product to earn Continuing Education Units for their field of study.
5.
Domain State Diagram
This section displays a State Diagram for the Shopping Cart function of the ITOT checkout
process.
Analysis Specification 2018R2
Page 15
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
- Access to all documents
- Unlimited textbook solutions
- 24/7 expert homework help
5.1 <ShoppingCart> State Diagram and Discussion
The above State Diagram shows the start to finish process for adding both courses and
products to the shopping cart for purchase. A customer can add a single course to their cart
or add multiple courses if needed. Once they add the course(s), they can then add any
accompanying products, either a book or video, that is paired with the course(s). Once they
get to their shopping cart, the customer has the option to checkout with everything they
added, or they can remove items before making their final purchase.
6.
Sequence Diagrams
<Insert a description of the contents of this section.>
6.1 System Sequence Diagram (SSD) for <Use Case Name> Use Case and
Description
<Replace
<Use Case Name>
above with the name of your detailed Use Case like Manage
Shopping Cart so that it reads like System Sequence Diagram (SSD) for Manage Shopping
Cart Use Case.
1.
Insert a description of your SSD.
Analysis Specification 2018R2
Page 16
2.
Insert a UML System Sequence Diagram (SSD) for your use case from Section 3 above.
An SSD shows the actor and the System and the messages (including message name and
parameters) required to implement the detailed use case description from Section 3. The
SSD shows the inputs and outputs to/from the system for the use case.>
6.2 Detailed Sequence Diagram for <Use Case Name> Use Case and Discussion
<Replace
<Use Case Name>
above with the name of your use case like Manage Shopping
Cart so that it reads like
Detailed Sequence Diagram for Manage Shopping Cart Use
Case and Description
.
1.
Insert a UML Detailed Sequence Diagram for your use case.
A Detailed Sequence
diagram shows the actor and instead of the System like in the SSD, it will show all of the
objects (instances of classes) that are required to implement the use case.
Your Class
Diagram will be helpful here. The net messages should be the same as in your SSD above
but you will have more detailed messages including message name and parameters among
the different objects that are actually required to implement the use case.
So now you will
add objects across the top of your diagram and omit System. Include a discussion of your
Detailed Sequence Diagram.>
2.
Insert a discussion of your Detailed Sequence Diagram.
Appendix.
<Insert other material you feed is relevant to the project.>
Analysis Specification 2018R2
Page 17