Eclectic Computing. Time Tracking Tool Software Architecture Document. Version <1.3>



Similar documents
Software Architecture

Software Architecture Document

Link Analysis Tool Design Description Final Version

1. Introduction 1.1 Methodology

A framework for web-based product data management using J2EE

NetBeans IDE Field Guide

Time Monitoring Tool Software Requirements Specifications. Version <1.0>

Time Monitoring Tool Software Development Plan. Version <1.1>

Customer Bank Account Management System Technical Specification Document

Building Java Servlets with Oracle JDeveloper

JReport Server Deployment Scenarios

High Level Design Distributed Network Traffic Controller

What Is the Java TM 2 Platform, Enterprise Edition?

Glassfish, JAVA EE, Servlets, JSP, EJB

Software Architecture for Paychex Out of Office Application

SYSTEM OF MONITORING AND CONTROL FOR THE AUTOMATION OF INDUSTRIAL WASH MACHINES

EAI-Low Level Design Document

Software Requirements Specification. Task Management System. for. Prepared by. Version 1.0. Group Name: Pink and Purple. Date:

Software Architecture Document

Sports Management Information Systems. Camilo Rostoker November 22, 2002

Client-server 3-tier N-tier

OVERVIEW HIGHLIGHTS. Exsys Corvid Datasheet 1

How To Understand The Architecture Of An Ulteo Virtual Desktop Server Farm

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

CatDV Pro Workgroup Serve r

EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT

Web Development on the SOEN 6011 Server

SYSTEM DEVELOPMENT AND IMPLEMENTATION

HP Education Services

Java EE Introduction, Content. Component Architecture: Why and How Java EE: Enterprise Java

Client/server is a network architecture that divides functions into client and server

In this chapter, we lay the foundation for all our further discussions. We start

A Monitored Student Testing Application Using Cloud Computing

In the case of the online marketing of Jaro Development Corporation, it

Software Requirement Specification For Flea Market System

IBM Rational Web Developer for WebSphere Software Version 6.0

Equipment Room Database and Web-Based Inventory Management

Course Name: Course in JSP Course Code: P5

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

Modeling Web Applications Using Java And XML Related Technologies

!! " "!! # $ % " & ' $ % (! %) * +, $ ( ) ' " -

International Journal of Engineering Technology, Management and Applied Sciences. November 2014, Volume 2 Issue 6, ISSN

A Java Framework for Multi-Tier Web-Centric Applications Development

Chapter 3 Technology adapted

Crystal Reports for Borland JBuilder

e-voting software CS 312 Project Software Requirements Specification (SRS) Document {Anurag, Ashish, Harshavardhan, Ramkrishan, Sumesh}

Web Curator Tool Software Architecture Document

HP Business Service Management

Net-WMS FP Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT. Networked Businesses. D.8.1 Networked architecture J2EE compliant

Software Requirements Specification

About Network Data Collector

Winery A Modeling Tool for TOSCA-based Cloud Applications

Online College Magazine

CA Adapter. Installation and Configuration Guide for Windows. r2.2.9

Apache Jakarta Tomcat

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

Describing, Instantiating and Evaluating a Reference Architecture: A Case Study

Building Web Applications, Servlets, JSP and JDBC

Design Approaches of Web Application with Efficient Performance in JAVA

Architecture Design For Web-based Application Systems. Instructor: Dr. Jerry Gao Class: CMPE296U

IUCLID 5 Guidance and Support

Chapter 6 Essentials of Design and the Design Activities

Title Page. Hosted Payment Page Guide ACI Commerce Gateway

INTRODUCTION TO WEB TECHNOLOGY

Software Requirements Specification

Virtual Credit Card Processing System

Integrating Online Banking and Top-up Card into Payment Gateway

Programming on the Web(CSC309F) Tutorial: Servlets && Tomcat TA:Wael Aboelsaadat

enterprise^ IBM WebSphere Application Server v7.0 Security "publishing Secure your WebSphere applications with Java EE and JAAS security standards

Online Fuzzy-C-Means clustering

-8*6-DYD6HPLQDU 6HUYOHW$UFKLWHFWXUHV 5DLQHU+LVV$QGUHDV.DSS 6<6725$*

CSc 230 Software System Engineering FINAL REPORT. Project Management System. Prof.: Doan Nguyen. Submitted By: Parita Shah Ajinkya Ladkhedkar

Programming SIP Services University Infoline Service

CSI 2132 Lab 8. Outline. Web Programming JSP 23/03/2012

Performance Comparison of Persistence Frameworks

Heterogeneous Tools for Heterogeneous Network Management with WBEM

LICENSE4J AUTO LICENSE GENERATION AND ACTIVATION SERVER USER GUIDE

Copyright 2014 Jaspersoft Corporation. All rights reserved. Printed in the U.S.A. Jaspersoft, the Jaspersoft

How to make a good Software Requirement Specification(SRS)

XTendTraders.com Trading room simulator

IBM WebSphere Server Administration

Time Tracking System with GWT

Web Express Logon Reference

Specialized Programme on Web Application Development using Open Source Tools

A DIAGRAM APPROACH TO AUTOMATIC GENERATION OF JSP/SERVLET WEB APPLICATIONS

Java Application Developer Certificate Program Competencies

DEVELOPMENT OF THE INTEGRATING AND SHARING PLATFORM OF SPATIAL WEBSERVICES

Specialized Programme on Web Application Development using Open Source Tools

Equipment Room Database and Web-Based Inventory Management

Developing XML Solutions with JavaServer Pages Technology

JMETER - MONITOR TEST PLAN

CLOUD STORAGE USING HADOOP AND PLAY

Business Process Management

Web Application Security Assessment and Vulnerability Mitigation Tests

Transcription:

Eclectic Computing Time Tracking Tool Version <1.3>

Revision History Date Version Description Author 7/Mar/05 1.0 Documentation of high-level architecture. David Janzen 7/Apr/05 1.1 Architecture at end of Elaboration David Janzen 11/Apr/05 1.2 Completed Architecture at end of Elaboration 6/May/05 1.3 Updated diagrams to reflect implementation decisions David Janzen David Janzen Confidential Eclectic Computing 2007 Page 2 of 10

Table of Contents 1. Introduction 4 1.1 Purpose 1.2 Scope 4 4 1.3 Definitions, Acronyms, and Abbreviations 4 1.4 References 4 1.5 Overview 4 2. Architectural Representation 4 3. Architectural Goals and Constraints 4 4. Use-Case View 4 4.1 Use-Case Realizations 4 5. Logical View 5 5.1 Overview 5 5.2 Architecturally Significant Design Packages 6 6. Interface Description 9 7. Size and Performance 10 8. Quality 10 Confidential Eclectic Computing 2007 Page 3 of 10

1. Introduction 1.1 Purpose 1.2 Scope This document provides a comprehensive architectural overview of the system, using a number of different architectural views to depict different aspects of the system. It is intended to capture and convey the significant architectural decisions that have been made on the system. This document is intended to guide the construction phase of the project. This provides an architectural overview of the Time Tracking Tool. This tool is a generic, web-based tool that enables users to enter time information on tasks completed as part of projects with tasks and sub-tasks. The tool includes an interactive timer for automatically collecting time information. Information will be stored in a database. Administrative and managerial functions will be provided including configuring projects/tasks/subtasks, and generating reports. 1.3 Definitions, Acronyms, and Abbreviations Refer to Project Glossary. 1.4 References Refer to Use Case Specification and the Analysis Classes documents. 1.5 Overview This document serves as the primary documentation of the software architecture. However, not all views will be documented here to avoid redundancy and ease document maintenance. In particular, the Use Case View will be documented in the Use Case Specification. Architectural Representation The architecture will be documented with a Use Case View, Logical View and an Implementation View. The Use Case View will be documented in the Use Case Specification document, but a sampling of usecase realizations will be documented in this document. 2. Architectural Goals and Constraints The Time Tracking Tool is a web application that will use a single Page Controller for all interaction between the html user interface and the server. The user interface will also use a Java applet for a timer feature and local storage on the client machine. This applet will interact with a separate controller servlet on the server. This application is not considered life critical and is not needed to support an inordinately large number of users. Simple user name and password permissions will provide minimal security. Encryption is not considered an essential requirement. 3. Use-Case View This section documents a few typical use case realizations. 3.1 Use-Case Realizations See Time Tracking Tool Use Case Realization Specification document. Confidential Eclectic Computing 2007 Page 4 of 10

4. Analysis Classes The following diagram contains the analysis classes for this project. 5. Logical View This section describes the architecturally significant parts of the design model. The architecturally significant design packages will be described, followed by a more detailed description of the design model classes. 5.1 Overview This subsection describes the overall decomposition of the design model in terms of its package hierarchy and layers. Confidential Eclectic Computing 2007 Page 5 of 10

5.2 Architecturally Significant Design Packages 6. Implementation View This section describes the architecturally significant parts of the design model including its decomposition into subsystems and packages. 6.1 Overview This system will consist of client, server, server-side user-interface, and database components. The client will utilize a standard web browser. The server-side user-interface component will use JavaServer Pages to generate html user-interface files to be sent to the client. One Java GUI application will also be available through the Java WebStart technology. This assumes a Java run-time environment will be installed on all client machines. Http will be used for communication between the client and server components. The server component will be built with Java Servlets and will use JDBC to communicate to a MySQL database. Confidential Eclectic Computing 2007 Page 6 of 10

6.2 Architecturally Significant Components The following constitutes the Deployment View. Confidential Eclectic Computing 2007 Page 7 of 10

6.3 Architecturally Significant Design Classes The following are a subset of architecturally significant design classes. TimeTrackerApplet submitelapsedtime() savelocal() readlocal() 1 1 Timer start() pause() resume() stop() getelapsedtime() <<Servlet>> TMTPageController dopost() doget() <<Servlet>> TimerController dopost() doget() submittimeentry() DBMSInterface submitquery() insert() ReportGenerator generatetaskdurationbyworker() Worker Fullname SSN Address ID Position <<JSP>> ReportResults returnreport() Each report type will correspond to one JSP Most Use Cases will have a corresponding operation here Item Name Description Assignments TimeEntry PerformDate Time W orkorder gettaskiterator() : Iterator addtask(t : Task) removetask(t : Task) 1 0..* Task Confidential Eclectic Computing 2007 Page 8 of 10

6.4 Architecturally Significant Interactions The following is one example of a architecturally significant interactions between classes. Additional interaction diagrams are located in the Use Case Realization document. Create Task Duration for Worker Report: : Worker Menu (JSP) 1: Create Report Reports Menu (JSP) TMT Page Controller (Servlet) Report Generator (Servlet) DBMS Interface (JDBC) Report Results (JSP) 2: 3: 4: setworker 5: setproject 6: settask 7: getreport 8: 9: 10: submitquery 11: 12: 7. Interface Description The user interface will be a combination of a web-based interface and a stand-alone graphical user interface. User Interface screen mock-ups are provided in the following files: Screen 1 Login Screen 2 Menu Screen 3 Time Tracker Screen 4 Reports Screen 5 User Admin TTT UI Report Prototype Confidential Eclectic Computing 2007 Page 9 of 10

8. Size and Performance This application is not needed to support life-critical applications or a large number of users. Similarly, load is not expected to be substantial. As a result, no particular architectural aspects have been added to support load or throughput. Apache Tomcat and MySQL will be used as the Java Servlet engine and database management system. Both are expected to provide adequate performance. 9. Quality The choice of using a Page Controller assumes a relatively small number of Use Cases. While this approach has several advantages for small applications, it could become constraining if the number of use cases increases substantially. Other controller-based architectures are available for larger applications. The choice of using a web browser based client with Java WebStart will enhance application portability. Access to read and write local files does introduce a security concern on the client. This application will need to be marked as trusted so it is not expected that this system will be used publicly. Confidential Eclectic Computing 2007 Page 10 of 10