Assignment1DavidKintz
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
12
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
<Provide a brief introduction to the contents of this whole section.>
2.1 System Use Case Diagram
<Insert your use case diagram here.
Remember that use cases are named with a verb +
object like “Create Customer”.>
2.2 Use Case Diagram Description
<Insert a description of the System Use Case Diagram.>
2.3 List of Actors and Definitions
<Insert your list of actors and definitions.
Remember that actors are nouns or noun phrases
and represent persons, devices, or other systems that are external to the system and will use
the system. In the sentence below define your actors by replacing the "actorName" with the
name of your actor and complete the sentence:
“An actorName is a …”.
Then add additional details as necessary.
Use the following table format.>
Actor Name
Definition
Customer
A Customer is a person who purchases ITOT products.
…
2.4 List of Use Cases and Description
<Insert your list of use cases and description.
Remember that use cases are named with a
verb + object like “Create Student”. Create a table like the example below.>
Use Case Name
Description
Create Customer
This use case creates a new Customer including
customer id, first and last name, address, phone
numbers for work and cell phone.
…
Analysis Specification 2018R2
Page 5
3.
Detailed Use Case and Activity Diagram
<Provide a brief introduction of the contents of this section.>
3.1. <Use Case Name> Use Case
<Add the name of the required use case replacing
<Use Case Name>
above with the actual
name of your use case Manage Shopping Cart Use Case. For example it might read Manage
Shopping Cart Use Case.>
3.1.1. <Use Case
Name> Use Case Description/Scenario
<Add the name of your use case replacing
<Use Case Name>
above with the actual name of
your use case, for example, Manage Shopping Cart
Use Case Description/Scenario
. In this
section insert a description/scenario for this use case.>
3.1.2 <Use Case Name> Use Case Detailed Steps
<Complete the following detailed use case table>.
Use Case and History
Use Case ID:
Use Case Name: Manage Shopping
Cart
Created
By:
Date Created:
Last Updated By:
Date Last
Updated:
Actors, Description, Preconditions, Postconditions
Actors:
Description:
Preconditions:
Postconditions:
Normal Path
User Action
System Action
1.
This use case begins when….
(you need to complete the
sentence)
2.
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
Alternative Path
User Action
System Action
Use Case Related System Issues
Exceptions:
Includes:
Priority:
Frequency of
Use:
Business Rules:
Special
Requirements:
Assumptions:
Notes and
Issues:
Analysis Specification 2018R2
Page 7
3.1.3 <Use Case Name> Form/Screen Mockup and Dialog
<Add the name of your use case replacing
<Use Case Name>
above with the actual name of
your use case like Manage Shopping Cart so that it reads Manage Shopping Cart
Form/Screen Mockup.
Provide a mockup (image) of whatever forms/screens that are used to illustrate the activities
in your use case.
Include a description of your forms/screens.
These should support and
illustrate your use case.
For example for a Create Customer use case, a Create Customer
screen with customer id, first and last name, address, phone numbers for work and cell
phone boxes and a Submit Button would be an example of a form or web screen.
Include a discussion of the form including its content (data elements) and how they will be
used.
Identify the classes has these attributes.
Include a dialog (step by step instructions on
what happens when this form is used. While these forms/screens will be used in the
application, they are also used as a storyboard to explain the user interface to the sponsors
of the project.
These can be used to create and verify the steps of your detailed use case. >
3.1.4 Activity Diagram Name for Use Case <Name> and Discussion
<Add the actual name of your use case replacing
“<Name>”
above with the actual name of
your use case like Manage Shopping Cart. For example, Activity Diagram for Use Case
Manage Shopping Cart.
Insert the following:
1.
An activity diagram for your use case
2.
A discussion of the activity diagram.
Remember that the detailed use case steps should be reflected in your activity diagram.>
4.
Domain Class Diagram
<Provide a brief introduction to the contents of this section.>
4.1 Domain Class Diagram(s)
4.2
Class and Relationship Analysis
<Insert your completed Class and Relationship Analysis here.>
Class and Relationship Analysis
Class
Name 1
Relationship with Multiplicity
Class
Name 2
Instructor
An
Instructor
teaches zero or more (0..*)
Course
A
Course
is taught by a single (1)
Instructor
Course
Analysis Specification 2018R2
Page 8
Then on the class diagram association between Instructor and Course you can name the
association "teaches" and add the multiplicity constraints (1) near Instructor and (0..1) near
Course.
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)
REQF4.1
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
Class
Name
Class Definition
Attributes
Operations
getEmail()
setEmail(email)
getExpertise()
setExpertise(expertise)
getBio()
setBio(bio)
getStipend()
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
Shopping Cart
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
customerID: string
email: string
password: string
getCustomerID()
setCustomerID(customerID)
getEmail()
REQF9.1
Analysis Specification 2018R2
Page 10
Class
Name
Class Definition
Attributes
Operations
system, sign up
for a Course, and
purchase a
Product.
changeInfo: string
setEmail(emai)
createPassword()
setPassword(password)
editInfo()
setInfo(info)
Video
A Video is a
multimedia
product offered as
a part of a Course.
videoAuthor: string
videoDate: string
videoCost: number
video()
getVideoTitle()
REQF3.3
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
<Provide a discussion of your Domain Class Diagram.>
5.
Domain State Diagram
<Insert a description of the contents of this section
.
>
5.1 <Classname> State Diagram and Discussion
<Replace <Classname> above with the name of the required class ShoppingCart State
Diagram so that it reads like ShoppingCart State Diagram and Discussion.
See the
examples of state diagrams in the assignment. Complete the following:
1. Insert a state diagram for the class from your class diagram as indicated in the
assignment.
2. Provide a brief discussion of your State Diagram.>
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 11
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 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