ENTD278Assignment3_DavidKintz

docx

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

Report
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