Author - Ashfaque Ahmed

Similar documents
ThingWorx Relational Databases Connectors Extension User Guide

JDK-WildFly-NetBeans Setup Local

(Worth 50% of overall Project 1 grade)

SECTION II: JAVA SERVLETS

CSC4370/6370 Spring/2010 Project 1 Weight: 40% of the final grade for undergraduates, 20% for graduates. Due: May/8th

The project is conducted individually The objective is to develop your dynamic, database supported, web site:

Spring Web Services Tutorial With Example In

Website Setup & Assignment Publishing (Tomcat)

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p.

IBM Operational Decision Manager Version 8 Release 5. Configuring Operational Decision Manager on WebLogic

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Author - Ashfaque Ahmed

Web-based File Upload and Download System

CSC 8205 Advanced Java

Web Development with Java

Contents. 1. JSF overview. 2. JSF example

Experiment No: Group B_2

Database Explorer Quickstart

JBoss to Geronimo - EJB-Session Beans Migration

Advantage of JSP over Servlet

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

MythoLogic: problems and their solutions in the evolution of a project

CSE 336. Introduction to Programming. for Electronic Commerce. Why You Need CSE336

Installation and Setup Guide Oracle FLEXCUBE Universal Banking Release 12.0 [May] [2012] Oracle Part Number E

Java.. servlets and. murach's TRAINING & REFERENCE 2ND EDITION. Joel Murach Andrea Steelman. IlB MIKE MURACH & ASSOCIATES, INC.

How to use J2EE default server

Readme File. Hyperion System 9 BI+ Application Builder.NET Release 9.2 Readme. Hyperion System 9 BI+ Application Builder.NET Release 9.

Copyright Maxprograms

Code Snippets. Justin A. Roman, Tanisha Rankin, Grae Cullen, and Paul Wolfgang. Fall Semester CIS 4339 Project in Computer Science

HOMELESS INDIVIDUALS AND FAMILIES INFORMATION SYSTEM HIFIS 4.0 TECHNICAL ARCHITECTURE AND DEPLOYMENT REFERENCE

JBoss SOAP Web Services User Guide. Version: M5

Internet Technologies. Lab Introduction

15-415: Database Applications Project 2. CMUQFlix - CMUQ s Movie Recommendation System

EUSurvey OSS Installation Guide

Cisco CVP VoiceXML 3.1. Installation Guide

Process Commander Installation Guide

Setting Up the Development Environment

UIMA Simple Server User Guide

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

SUN Enterprise Development with iplanet Application Server

Nesstar Server Configuration Tool User Guide

Prototype 1.0 Specification

AUTOMATION TESTING FRAMEWORK FOR LUMINOUS LMS

Open Application Architecture Platform Administration Guide

Oracle Developer Depot Technical Review

Oracle Fusion Middleware. 1 Oracle Team Productivity Center Server System Requirements. 2 Installing the Oracle Team Productivity Center Server

Directory structure and development environment set up

WA2018 Programming REST Web Services with JAX-RS WebLogic 12c / Eclipse. Student Labs. Web Age Solutions Inc.

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

Infrastructure Navigator User's Guide

NetBeans Primer v8.0

Oracle Application Express: Administration 1-2

Server Installation Guide

A Model-Controller Interface for Struts-Based Web Applications

SAS AppDev Studio TM 3.4 Eclipse Plug-ins. Migration Guide

BEAAquaLogic Enterprise Repository. IBM Rational ClearCase and IBM Rational ClearQuest Integration Guide

How To Get Database Schema In Java Using >>>CLICK HERE<<<

Developing portlets for the IBM WebSphere Portal Server with IBM Rational Rapid Developer

Composer Help. Deploying Composer Applications

CHAPTER 6. Organizing Your Development Project. All right, guys! It s time to clean up this town!

Developing Applications with Java EE 6 on WebLogic Server 12c

Locate your Advanced Tools and Applications

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module

1. The Apache Derby database

Open a browser and download the Apache Tomcat 7 and Oracle JDBC 6 JAR from these locations. The Oracle site may require that you register as a user.

How to Publish Any NetBeans Web App

Life Without NetBeans

Java4320: Web Programming Model *

Arcot WebFort Quick Installation Guide

JSF: Introduction, Installation, and Setup

Excerpts of Web Application Security focusing on Data Validation. adapted for F.I.S.T. 2004, Frankfurt

iseries & WebSphere Express

DOC // JAVA TOMCAT WEB SERVICES TUTORIAL EBOOK

Appendix C WORKSHOP. SYS-ED/ Computer Education Techniques, Inc.

Outline. Databases and DBMS s. Recent Database Applications. Earlier Database Applications. CMPSCI445: Information Systems.

CTI Short Learning Programme in Internet Development Specialist

Jakarta Struts: An MVC Framework

SmartFit Web Application Interface

Webservices In Java Tutorial For Beginners Using Netbeans Pdf

About the Authors. Who Should Read This Book. How This Book Is Organized

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

FILE - JAVA WEB SERVICE TUTORIAL

JBoss to Geronimo - EJB-MDB Migration

The team that wrote this redbook

Arcot RiskFort Quick Installation Guide

Integration Developer Version 7.0 Version 7.0. Installation Guide

Application Discovery Manager User s Guide vcenter Application Discovery Manager 6.2.2

WIDAR Prototype Testing User Interface Software

SETTING UP AND RUNNING A WEB SITE ON YOUR LENOVO STORAGE DEVICE WORKING WITH WEB SERVER TOOLS

Design document for CSC/ECE 517 Fall 2002 Semester Project Security & Visibility for PG

Sterling Selling and Fulfillment Suite Developer Toolkit FAQs

IBM Rational Application Developer for WebSphere Software, Version 7.0

A web application serving queries on renewable energy sources and energy management topics database, built on JSP technology

NetBeans IDE Field Guide

Faculty Web Page Management System. Help Getting Started

Building Web Applications With The Struts Framework

Using the Computer Programming Environment

SecureAssist Enterprise Portal User Guide June 2018

Exam : : Developing with IBM Websphere studio,v5.0. Title. Version : DEMO

Transcription:

Complimentary material for the book Software Engineering in the Agile World (ISBN: 978-1983801570) published by Create Space Independent Publishing Platform, USA Author - Ashfaque Ahmed

Technical support system documentation Welcome to the documentation information about technical support system. Here in this document you will find information about installation instructions as well as information about how it works. The requirement specifications, high level design, detail design, database design etc. about the technical support system are available in a separate document which is a supplementary material for the book Software Engineering in the Agile World. We have created the technical support system using an object oriented programming language (Java). The technical support system has been built to teach students as to how to implement a software product using an object oriented programming language. System requirements Technical support system uses web based architecture. The user interface is always a web browser. Once the Technical support system is installed on a web server (including appropriate application server and database) then any user located anywhere in the world can access it using any web browser installed on the user computer. The URL (Universal Resource Locator) of the deployed Technical support system must be registered with the world wide web (WWW) registrar so that it can be published and subsequently available on the world wide web. On the other hand if it is installed on an intranet then you do not need to register it on the World Wide Web. Requirement for accessing Technical support system is not much for a user. A user may only need a computer with a web browser installed. The user may need to know where on the web; Technical support system is located. Once the user knows the URL (Universal Resource Locator) of Technical support system instance then the user will be able to access it. The software installation team however needs to know the system requirements for installing the Technical support system. So here the system requirements are described for the software installation. 1. Integrated Development Environment (IDE): We have used Eclipse platform for developing the Technical support system. You can deploy any other Java compliant IDE for hosting and modifying the source code. Some other popular Java compliant IDES include NetBeans, BlueJ etc. You should select an IDE which will allow you to develop a software product with your selected database, programming language and technologies. For example, Eclipse allows to develop a software product having Oracle database, Java Server Pages, Java Beans (compiled Java code), JavaScript etc.

2. Web server: any web server can host the Technical support system. The file directory contains JSP files and some XML configuration files. The disk requirements for installing these files is around 500 KB. 3. Application server: Any application server which can run compiled Java byte code as well as web pages written in Java Server Pages programming language (JSP) is fine. The only consideration will be application server specific configuration requirements. Some of the Java compliant application servers include IBM s Websphere, Oracle s weblogic, Apache Foundation s TomCat etc. Any of these application servers can be used to install compiled Java byte code of Technical support system. Any of these application servers can also process the JSP pages which have been used to glue the HTML and the Java byte codes. The demonstration Technical support system source code has been written and tested on a TomCat application server. If you are using any other application server then please check your configuration settings if Technical support system is not able to run. The current configuration settings are done for TomCat application server. 4. Package: a package has been created named tech_support. All class files are stored inside this package. 5. Classes: There are 8 classes created inside the tech_support package: create_issue, create_servlet, DB_initialize, DB_connection, login_servlet, registration_servlet, register_user, and verify_user. 6. All the class files for Technical support system are provided in the Technical support system.pdf file. 7. JSP files: Here is the list of files and their brief description for Technical support system: admin_after_login.jsp: this is the response part of account creation for an administrator functionality. Assign_issue_req.jsp: this is the request part of issue assignment by an administrator to a developer. Assign_issue_res.jsp: this is the response part of issue assignment by an administrator to a developer. close_issue_req.jsp: this is the request part of issue closure by a customer. close_issue_res.jsp: this is the response part of issue closure by a customer. create_acc_admin_req.jsp: this is the request part of account creation for an administrator functionality. create_acc_admin_res.jsp: this is the response part of account creation for an administrator functionality. create_acc_customer_res.jsp: this is the response part of account creation for a customer functionality. create_acc_ customer _req.jsp: this is the request part of account creation for a customer functionality. create_acc_developer_res.jsp: this is the response part of account creation for a developer functionality.

create_acc_ developer _req.jsp: this is the request part of account creation for a developer functionality. create_acc_err.jsp: this is the response part of failed account creation as well as failed login functionality. create_issue_req.jsp: this is the request part of issue creation by a customer. create_issue_res.jsp: this is the response part of issue assignment by a customer. customer_after_login.jsp: this is the response part of account creation for a customer functionality. developer_after_login.jsp: this is the response part of account creation for a developer functionality. edit_profile,jsp: this is the request part of editing a user profile functionality. index.jsp: this is the welcome page when technical support system is accessed. login,jsp: this file is used for login functionality for all types of users (customer, developer, administrator). logout,jsp: this file is used for logout functionality for all types of users (customer, developer, administrator). reassign_issue_to_cust_req.jsp: this is the request part of issue assignment by a developer to customer. reassign_issue_to_cust_res.jsp: this is the response part of issue assignment by a developer to customer. reassign_issue_to_dev_req.jsp: this is the request part of issue assignment by a customer to a developer. reassign_issue_to_dev_res.jsp: this is the response part of issue assignment by a customer to a developer. update_profile,jsp: this is the response part of editing a user profile functionality. view_issue_req.jsp: this is the request part of issue view functionality when a developer wants to view issues which are assigned to him/her. view_issue_res.jsp: this is the response part of issue view functionality when a developer wants to view issues which are assigned to him/her 8. Database: Any relational database engine e.g. Oracle, SQL Server, MySQL etc. can be used to host the database for the technical support system. We have used Oracle database. There are 2 tables and one sequence which needs to be created on the database. So disk space required for the database is not much. If you are using any other database engine instead of Oracle then you will need to modify the SQL statements for creating database tables, sequences etc. 9. Database connection: database connection information is provided in DB_initialize class file. You will need to change connection information as per your installation of the database. 10. Database connector: You will need to install a database connector which can connect the database to your software product. Generally these connectors can be downloaded from the vendor website. Our software product is written in Java language and we have used Oracle database. Generally for a Java based software

product which connects to an Oracle database, the database connector is named ojdbc and is generally available as a Jar library. We have used a database connector named OJDBC6.JAR. 11. Database scripts: database scripts to create tables, sequences and populate tables are provided in the file database-script.doc file. 12. configuration: There is a web.xml file located at <application_root>/webcontent/web-inf/lib. This file contains information about the servlets (controllers). It is currently configured as per the application is deployed. If you change any deployment configuration then you will also need to set path of the servlet accordingly. It is also possible to use the @WebServlet("/class_name") directive directly in the servlet class instead of using configuration XML file. 13. Index file: Most websites have a default (HTML or any other file like JSP file containing HTML content) file which gets loaded when the website is accessed. Fir example when you type http://www.microsoft.com in your browser URL box and direct your browser then actually it is the index.html file which is shown to you. This is because in the web server which hosts Microsoft website, it is defined that index.html file is the default file when http://microsoft.com website is accessed. This is done by entering the default web page definition in web.xml file. In technical support system, we have provided index.jsp file. So if in your web.xml file no default file is defined then you will need to modify this web.xml file so that technical support system can work. How technical support system is built? Technical support system is designed and built as part of the case study for the book Software Engineering in the Agile World authored by Ashfaque Ahmed. This case study contains all the information which is extremely useful for students to learn how software products are built in the software industry. You can read the requirement specifications (user stories) to understand how requirements for the Technical support system were developed. The requirement specifications for the Technical support system are provided in the file user-stories file and is a supplementary material for the book Software Engineering in the Agile World. The mock up screens are helpful in understanding how the user screens look like and how the navigation from one user screen to the next user screen takes place. The mock up screens for the Technical support system are provided in the design file. These are the design documents for the user interface. The high level software design containing component diagrams and data flow diagrams for the Technical support system are provided again in the design file. The business logic implementation including class, object, statechart, sequence etc. diagrams for the Technical support system are provided again in the design file. Entity relationship (ER) diagrams for the Technical support system are also provided in the design file. Technical documentation

Here is a brief description about how functionality for tasks such as user account creation, issue creation, issue assignment, issue closure etc. is implemented. Complete software requirements, design and construction details are provided in user stories, design etc. documents which are supplementary material for the book Software Engineering in the Agile World. Here we are providing information about how Technical support system design and construction is linked to various Java classes and components with actual names used in building this system. Create account On many jsp pages like create_acc_admin_req.jsp, create_acc_developer_req.jsp etc.; a user creation form is present. User fills this form with information such as username, password, re-password, phone, address etc. The information provided by the user is first checked through client side validation using JavaScript to ensure that user provides complete and correct information. Once the user clicks the submit button and the user input is valid then this information is sent to a controller component named registration_servlet. This component is written in a compiled java class. This controller then checks the user input information and then sends this information to register_user class. The register_user class creates a new user account in the system by creating a new record in the database. If a new account is created successfully by the register_user class then the controlled (registration_servlet) sends this information to files create_acc_admin_res.jsp, create_acc_developer_res.jsp etc.. These jsp files prepare a report about this new account and displays it to the user. The user can now access the system using the registered username and password. The Technical support system has the facility to create 3 types of users: developer, customer, and administrator. Depending on the type of user, privileges are provided in the system to create entities or view entities. For security reasons, administrator and developer account creation is hidden from other types of users. So where as customers can create their account from the welcome page using appropriate link; administrator and developer accounts can be created from a URL similar to http://localhost:8081/tech_support/create_acc_admin_req.jsp and http://localhost:8081/tech_support/create_acc_developer_req.jsp respectively. Update Account Any user can edit its user profile information saved in the system. Once the user saves this information by clicking on the submit button then user s profile information will be updated. The request file for edit user information is edit_profile.jsp and the response file is update_profile.jsp. Login Registered Users can login at login.jsp page. On the page, the user needs to provide information about username, password, and re-password.. There is also a drop down field

called user type. The information provided by the user is first checked through client side validation using JavaScript to ensure that user provides complete and correct information. Once the user clicks the submit button and entries in the fields are valid, the user information is directed to login_servlet controller. The controller checks for validity of user data using a call to verify_user component. This component is a compiled java class file. If user information is correct then the controller checks if the user account is valid. Valid registered user will be able login and can view pages relevant for them. Logout Users can logout of the system anytime during their browsing of the technical support website. When they click on the logout link, the logout.jsp page is called and users are logged out of the system. They can login again by clicking on the login link. Create issue Issues (technical problems) need to be created in the system. Using a customer account, it is possible to create issues. To create issues, a servlet named create_servlet has been used. In conjunction with create_issue class, this servlet is used to create these issues. Assign issue Issues (technical problems) need to be assigned to a developer for fixing. When a customer creates an issue then it becomes visible to administrators. Using an administrator account, it is possible to assign issues to developers. Once an issue is assigned to a developer then this issue becomes visible to the concerned developer. Developer then needs to fix this issue. Reassign issue to customer The developer whom an issue is assigned needs to fix it. When the developer fixes the issue then he/she can reassign this issue to the customer who had created it. Once the issue is reassigned to the customer then it becomes visible to the concerned customer. Reassign issue to developer When an issue is reassigned to a customer then the customer will review if the issue is fixed correctly or not. If the issue is correctly fixed then the customer can close the issue. If the issue is not correctly fixed then the customer can again reassign the issue to the developer for fixing. Close issue If an issue is correctly fixed then the customer can close the issue.

View issue When an issue is assigned to a developer then the developer may need to find out all the details related to the issue. When the developer invokes the view issue request for a particular issue which is assigned to the developer then a view is created which includes the issue title and description.