ENTD278Assignment2_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
15
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
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.
Analysis Specification 2018R2 Page 8
4.1 Domain Class Diagram(s)
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
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 10
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 11
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 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
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 13
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 14
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 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