Assignment 2 Class and State Diagrams

profileLisa ap
AreviewoftheITOnlineTrainingProjectRequirements2.docx

Running head: A REVIEW OF THE IT ONLINE TRAINING 1

A REVIEW OF THE IT ONLINE TRAINING 14

A Review of the IT Online Training Project Requirements

Name

Institutional Affiliation

A Review of the IT Online Training Project Requirements

1. Introduction

IT Online Training, which is here-in abbreviated as ITOT is an online service offering IT training via the internet. The training is web based; however, the online application will have different user interfaces and designs for web services and applets. The rationale of establishing the online application is to train clients through the internet because of enhanced connectivity and increased time confidence in internet services. Furthermore, clients in the current society have tight schedules that affect attendance in centralized training sites. Therefore, the web-based application enables a decentralized training in IT courses in the comfort of the client’s house or office. Among the IT courses that will be offered include customer management, course management, learning management system access, scheduling, purchasing through an online shopping cart; user account management, and payment management.

1.1 Problem Description

Learning is a continuous process in individual’s life due to technical, procedural, and societal changes that individuals have to cope with. As such, some previously learnt knowledge may be obsolete hence the need for new knowledge. Due to this, the young and the aged enroll in learning institution’s that suit their lifestyle. For example, the employed proffer evening classes in order to maintain their source of income while the unemployed prefer day classes. Despite these arrangements, there are challenges that face learners after enrolling among them include inconvenience due to the long distance from the learning institutions to their homes, unsuitable time schedules particularly if they have job of family commitments and high indirect expenses such as transport cost.

Due to these challenges engaging in online training offers solutions because of the convenience of the training. Among the conveniences, include training at learner’s own time schedule, choosing a suitable training module among the available options and reduced expenses. In cognizance of the advantages of online training, ITOT project will offer online training services in information technology to various clients. The clients will choose between the different training modules that include self-paced courses, scheduled courses, and using different training products such as books and videos. Due to the importance of the application, it is important that stakeholders are familiar with it. Among the stakeholders are customers, instructors, course administrators, schedule administrators, and other administrators, who must have knowledge and access to the functions of the application.

1.2 Sponsor Project Description

The project is online based; the training will include educating clients on the various functions of the application and engage in the real IT training. However, prior to full enrolment in the online service, the clients must be familiar on how to use the system. Therefore, the project has two main functions at this stage, the first function in educating stakeholders on the functional requirements such as how to purchase the ITOT products online, how to create and maintain customer account and how to maintain course schedules among others. The second role of the project is meeting the non-functional requirements, which means the application must be scalable such that it can maintain the increasing number of user accounts, it should be secure in terms of reducing security threats such as cross site scripting and injection among others.

1.3 Sponsor Requirements

The sponsors of the project have identified some preliminary requirements of the system as documented below. 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.

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.4 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.

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 months 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. Invalidated 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

4.3. List of Classes with Definitions, Attributes, and Operations

The following are the list of classes that would be included in the project.

Class

Name

Class Definition

Attributes

Operations

Requirement

Number

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

workPhone:string

cellPhone: string

createCustomer()

getCustomerID()

setCustomerID(customerID)

getFirstName()

setFirstName(firstName)

getAddress()

setAddress(address)

getWorkPhone()

setWorkPhone(workPhone)

getCellPhone()

setCellPhone(cellPhone)

removeCustomer(customerI

REQF2.1

Book

A book is a product providing

written instruction on a topic and is available in printed or digital format.

BookNumber: string

title: string

description: string

type: string

prerequisites: string

fee: number

createbook()

getbooktNumber()

setbookNumber(courseNumber)

getTitle()

setTitle(title)

getDescription()

setDescription(description)

getType()

setType(type)

getPrerequisites()

setPrerequisites(prrequisites)

getFee()

setFee(fee)

Removebook(bookNumber)

REQF3.1

Product

A product is an offering that ITOT makes available for Customers to purchase.

productNumber: string

title: string

description: string

type: string

prerequisites: string

fee: number

createproduct()

getproductNumber()

setproductNumber(courseNumber)

getTitle()

setTitle(title)

getDescription()

setDescription(description)

getType()

setType(type)

getPrerequisites()

setPrerequisites(prrequisites)

getFee()

setFee(fee)

Removeproduct(productNumber)

REQF3.1

Scheduled Course

A Scheduled Course is a course offered by ITOT at a specific 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(courseNumber)

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(courseNumber)

REQF3.1

Self-paced Course

A self-pacedCourse is

course that a customer can take at their own pace but has a time limit on the number of weeks the customer can take it

courseNumber: string

title: string

description: string

type: string

duration: number

startDate: string

endDate: string

prerequisites: string

ceuCredits: number

fee: number

create self-pacedCourse()

getCourseNumber()

setCourseNumber(courseNumber)

getTitle()

setTitle(title)

getDescription()

setDescription(description)

getType()

setType(type)

getDuration()

setDuration(duration)

getStartDate()

setStartDate(startDate)

getEndDate()

setEndDate(endDate)

getPrerequisites()

setPrerequisites(prequisites)

getCeuCredits() setCeuCredits(ceuCredits)

getFee()

setFee(fee)

Removeself-pacedCourse(courseNumber)

REQF3.1

User

A User is a person who has credentials to access the ITOT system

username:string

password: string

login(username, password)

logout()

getUsername()

setUsername(username)

REQF9.1

4.3.1 List of Classes, Attributes, Operations and Requirement Number Discussion

Book

Book is one of the classes; it is a product providing written instruction on a topic and is available in printed or digital format. Clients should be able to access the books for purposes of reference during the training. As one of the products, the system must be able to create, modify, and delete ITOT products. The system must also be able to maintain book information including title, authors, date, edition, and ISBN. As such, the operations enable the system to get the title, the description of the book in terms author, publisher, and ISBN.

Product

A product is an offering that ITOT makes available for customers to purchase. Clients should be able to access the available products and decide on which ones suit them. The system must be able to create, modify, and delete ITOT products including scheduled courses, self-paced courses, videos, and books. Therefore, the identified operations helps the user to access the products, it also helps the administrator to make changes to the products in case there is need.

Scheduled Course

A scheduled course is a course offered by ITOT at a specific date and time. It is one of the products of ITOT. 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. The operations aim at achieving the objectives of the system in relation to maintaining course information.

Self-paced Course

A self-paced course is course that a customer can take at his or her own pace but has a time limit on the number of weeks the customer can take it. The operations;

create self-pacedCourse()

getCourseNumber()

setCourseNumber(courseNumber)

getTitle()

setTitle(title)

getDescription()

setDescription(description)

getType()

setType(type)

getDuration()

setDuration(duration)

getStartDate()

setStartDate(startDate)

getEndDate()

setEndDate(endDate)

getPrerequisites()

setPrerequisites(prequisites)

getCeuCredits() setCeuCredits(ceuCredits)

getFee()

setFee(fee)

Removeself-pacedCourse(courseNumber)

The above operations enable the system 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.