capstone project bgtracks csc 480. introduction project team members ferdie eugenio heath ivie ...

54
Capstone Project BGTracks CSC 480

Upload: junior-richards

Post on 24-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Capstone ProjectBGTracks

CSC 480

Page 2: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Introduction

Page 3: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Project Team MembersFerdie EugenioHeath IvieKen Brower Jon HancockMarlo CastilloChris HornerMichael Adams

Project ManagerSystems ArchitectDatabase DeveloperUser Interface

DeveloperTechnical WriterTechnical WriterLegal Manager

Page 4: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

The SponsorBoys & Girls Clubs of the Sequoias (BGCS) is a

youth service agency in Tulare County, California.

Their mission is to enable all young people, especially those who need us most, to reach their full potential as productive, caring, responsible citizens.

They have eleven locations in four cities1200 children come through their doors every

day75 staff members clock in and out

Page 5: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

The NeedCurrent System

GUI and back end built on Microsoft Access Hosted by two terminal servers in the main office Accessed via VPN over average-speed internet

connections Not scalable Insecure Unreliable Overwhelming UI for new users

Page 6: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

The NeedRequired system

Web based Easily scalable Secure Reliable User friendly Inexpensive Usable on Windows XP - 7 , Mac and Linux Open Source preferred

Page 7: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

AlternativesKidTrax

Meets all needs Prohibitively expensive Windows only Closed Source

Member Track Not web based Complicated UI Closed Source Windows only

Other Systems Similar problems

Page 8: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

BGTracksBuilt on Tomcat and MySQL for web based

deploymentEasily scales into BGCS’s foreseeable futureBuilt with a focus on securityReliableUI designed for usability, simplicity, aestheticsFreeUseable on any OS with a modern web

browserOpen Source

Page 9: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Key Project Documents

Ferdie Eugenio

Project Manager

Page 10: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Software Requirements Specifications Document The Software Requirements Specification document is a description of the proposed project. In this case it describes the behavior of the BGTracks System. It is what we understand the what the clients requires of the potential software.

Some items that is covered in the SRS are the requirements of the BGTracks System are the Use Cases and Scope.

Scope is the features that characterizes the project. It also sets the bounds of what is in the project.

Use Cases – They are scenarios to describe the processes or activities that the software or project will have.

The Use Cases are considered the functional requirements of our BGTracks System because they outline or show what our system is suppose to accomplish.

Other requirements such as constraints or performance requirements are termed as non-function requirements.

Page 11: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

SRS – Key Points

Scope – Section 1.2

Use Cases – Section 3.2.1.1

UAT Cases – 3.2.1.2

Page 12: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Software Project Management Plan Document

The Software Project Management Plan Document provides the framework or blueprint of how we will go about developing our project.

The SPMP is trying to provide reasonable estimates on the factors that go into the Software Development process.

These estimates include resource (i.e. Time, Money, Schedule, etc.)

The plan can be updated or changed as needed as we progress into the development process.

Page 13: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

SPMP – Key Points

Tone/Viewpoint – What approach was used in creating the SPMP. (As a class project or real world scenario)

Method – Scrum Method

Scrum Method: The scrum method is an agile software development method. Mainly to not work through a linear software development process but to try and work in increments

Staffing Plan – Section 3.5 of the SPMP

Budget – Section 5.4 of the SPMP

Schedule – Section 5.5 of the SPMP

Page 14: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Testing Plan

Testing Plan: A outline or overview for the systematic approach of testing the BGTracks System.

The testing plan is the main document that will be used to confirm that the proposed system meets the design requirements.

How closely does the BGTracks System follow our design?

The test plan details what we are testing for the BGTracks System.

Page 15: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Testing Plan (cont.)

Process In Outlining and Creating the Test Plan

Objective : What are we trying to accomplish with our testing of the BGTracks System? What is the goal?

Use Cases : What were the cases that was described in the usage of the BGTracks System?

SRS Document : What were the requirements that was set forth in the SRS document?

UAT Cases : What are the User Acceptance Testing cases that for the BGTracks System?

Page 16: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Architectural Decisions

Heath Ivie

System Architect

Page 17: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Employed FrameworksIn an effort to reduce development time, and mitigate risks we have chosen to employee the following frameworks:

Spring MVC Spring Security Direct Web Remoting Business Intelligence Reporting Tools(BIRT) Hibernate

Page 18: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Employed Frameworks – Spring MVCSpring MVC provides the following benefits:Dependency InjectionModel-View-Controller designProvides many plumbing facilities “more than 31,000 organizations using

Spring”1Ease of use

1. http://www.springsource.com/newsevents/spring-surpasses-three-million-download

Page 19: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Employed Frameworks – Spring SecuritySpring Security provides the following

benefits:Provides portability across J2EE containersSupports multiple Authentication integration

points

Page 20: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Employed Frameworks – Direct Web RemotingDirect Web Remoting provides the following

benefits:Provides native JSON marshalling

Request Response

Provides simple methodology for SerializationEase of use

Page 21: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Employed Frameworks – Business Intelligence Reporting ToolsBusiness Intelligence Reporting Tools provides

the following benefits:Contemporary Reporting Design ToolsPortability across data sourcesPre-Built web components and enginePre-Built Export functionality

Page 22: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Employee ManagementEnables the ability to perform the following

actions Create new Employee Update existing Employee’s Delete existing Employee’s

Page 23: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Member ManagementEnables the ability to perform the following

actions Create new Member Update existing Member’s Delete existing Member’s

Page 24: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Javascript Messaging FrameworkConsistent messaging framework to provide

the following benefits:Common delegate for consistent user

experienceConvenient methodology for returning server

data

Page 25: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Database

Ken Brower

Persistence Manager

Page 26: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

RDBMS: MySqlEnterprise ready: Supports thousands of

concurrent connections and thousands of transactions per section.

Comes with a full suite of tools for monitoring, query analysis and script execution.

Technical support is available with the enterprise edition subscriptions

Hibernate, our persistence layer, ships with a MySql dialect

Widely adopted: there are several online forums and a knowledge base with popular database topics

Page 27: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris
Page 28: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Hibernate PersistenceHigh performance object/relational

persistence engineSeamlessly persists plain old java objects to,

and from, the databaseWide industry acceptancePowerful HQL languageSupports all major database servers

Page 29: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Domain Objects

Page 30: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Data Access ObjectsDAO’s are defined by interfaces which include

saving, fetching and searching capabilities

Interface Implementation(s) Domain Object(s)

ActivityDao ActivityDaoHibernate Activity

ActivityLogDao ActivityLogDaoHibernate

ActivityLogEntry

EmployeeDao EmployeeDaoHibernateEmployeeDaoMemory

Employee

GuardianDao GuardianDaoHibernate

Guardian

MemberDao MemberDaoHibernate Member

SiteDao SiteDaoHibernate Site

TimeCardDao TimeCardDaoHibernate

TimeCardEntry

Page 31: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

ServicesManager objects, wired with the correct DAO

implementation by Spring AOP, provide high level application services

Pre-persistence validations, such as ensuring a member is checked in before he/she is checked out

Abstract the complexities of direct DAO access

Aggregate services into logical unitsActivityManager, EmployeeManager,

GuardianManager, MemberManager, SiteManager

Page 32: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Junit testingEach DAO and Manager class is covered with

a Junit test in the org.csc480.bgclub.test package

Uses Spring context test framework for auto-wiring, database connectivity, and transaction management

Easily launched from within the Eclipse IDE, or, later, by an automated build server

Page 33: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

User Interface Design and Implementation

Jon Hancock

HCI Manager

Customer Relations

Page 34: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Choice of COTS Software jQuery

Lightweight and very powerful JavaScript library Allows easy manipulation of HTML and CSS

jQueryUI Extends jQuery to provide sleek, unified UI

elements jGrowl

Simple Growl-like notification plugin for jQueryDirect Web Remoting (DWR)

Java library that simplifies AJAX calls Handles all services

Page 35: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Color and DesignMonochromatic, light blue theme

Simple, easy on the eyes Blue inspires emotions of trust and reliability

Reminiscent of Boys & Girls Clubs’ company colors Encourage a sense of unity between the software

and the sponsor companySmooth, rounded corners

Sleek look and feelLarge, 3-D icons

Following trends in modern operating systems

Page 36: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

User InteractionsUnobtrusive animated transitions

Present common tasks on the same page without usurping screen real estate.

Unified Growl-like notification system Inform users of important information without

interfering with workflow.

Page 37: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

LogoBoys & Girls Club blue

Encourage bonding of the two brandsDots representing footprints or tracksCircle representing security and containment

of dataBreaks in the circle representing openness

and expandability

Page 38: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Software User’s Documentation

Marlo Castillo

Technical Writer

Page 39: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Software User’s DocumentationWhat is user documentationKey aspects of user documentationWhy do we need user documentation

Page 40: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

What is User’s DocumentationDefinition -- The means by which information

about a computer software is conveyed. Communicable material used to describe,

explain, or instruct regarding some attributes of an object, system or procedure, installation, maintenance and use.

Includes comprehensive information on: The capabilities Design details Features and limitations of a systems or application, and

software licensing requirements.

Page 41: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Key aspects User’s Documentation Importance of audienceUsing tables, illustrations, graphics Screen shots

Page 42: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Why do we need User’s DocumentationUser’s Documentation is important:

Serve critical functions Save users time Act as a guide to the user

Page 43: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Software Design Document

Christopher Horner

Technical Writer

Page 44: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Software Design Document Identifies the design requirements to meet the

needs of the BGCS including: present a simple and intuitive user interface, be capable of scaling from a single office to

the entire enterprise, use open standards, use the simplest of communications methods,

and be secure.

Page 45: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Software Design Document Covers each of the Computer Software Units from

the GUI down to the Persistence layer User Interface

XHTML CSS3 jQuery jQuery UI

Business Rules Implementation Java Dynamic Languages

Relational Database Interface Hibernate Java Persistence API Sprint Security Framework Spring MVC Framework

Relational Database MySQL

Page 46: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Software License

Michael Adams

Legal Manager

Page 47: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

What is a software license?A software license is a legal instrument

governing the usage or redistribution of software

All software is copyright protectedTwo types of licenses, proprietary and free

open sourceCan be in the form of freeware or sharewareGrants end-user permissions to use one or

more copies

Page 48: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Why license BGTracksWe decide how other people can use it and

don't want to relinquish all control over how the code is used and distributed

We don't want it to be used in non open source programs

Protects us from any legal actions that may arise from modifications done to the code from other users

Page 49: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

The teams project “ The BGTracks System” made for the Boys and Girls Club of the Sequoias is made for the purpose of the CSC 480 Capstone project and thus when the issue of licensing comes about we went for a type of license that would be best suited for this type of project

Page 50: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

GNU General Public License The GNU (General Public License) is a widely

used license for software of this nature because it protects the creators instead of taking away the freedom to share and change it like many other licenses do. The GNU license is the most popular type of strong copyleft license.

Page 51: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Copyleft unlike copyright uses the copyright law lifts restrictions to copy, or modify a work and then distribute it and keeps the same freedom to distribute copies as the original. The free software definition states that free software is all about liberty and not price and the GNU grants this right to the programs recipients.

Page 52: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

License ChosenThe GNU V2 after research seems to be the

best fit for this software and has been applied to it. It not only protects us from anything that can come from someone else distributing it but it also allows others to modify and distribute it as well under the same license.

Another note is we are not required to provide a warranty and am not responsible for any failure or shortcomings from the software as stated in the preamble and the license itself.

Page 53: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

How to apply it? Include the statements that are given in the

instructions of the license on applying it to your software. Basically we have to put the required documentation and statements at the beginning of every page of the source code.

Page 54: Capstone Project BGTracks CSC 480. Introduction Project Team Members  Ferdie Eugenio  Heath Ivie  Ken Brower  Jon Hancock  Marlo Castillo  Chris

Questions?

Capstone Project