capstone project bgtracks csc 480. introduction project team members ferdie eugenio heath ivie ...
TRANSCRIPT
Capstone ProjectBGTracks
CSC 480
Introduction
Project Team MembersFerdie EugenioHeath IvieKen Brower Jon HancockMarlo CastilloChris HornerMichael Adams
Project ManagerSystems ArchitectDatabase DeveloperUser Interface
DeveloperTechnical WriterTechnical WriterLegal Manager
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
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
The NeedRequired system
Web based Easily scalable Secure Reliable User friendly Inexpensive Usable on Windows XP - 7 , Mac and Linux Open Source preferred
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
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
Key Project Documents
Ferdie Eugenio
Project Manager
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.
SRS – Key Points
Scope – Section 1.2
Use Cases – Section 3.2.1.1
UAT Cases – 3.2.1.2
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.
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
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.
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?
Architectural Decisions
Heath Ivie
System Architect
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
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
Employed Frameworks – Spring SecuritySpring Security provides the following
benefits:Provides portability across J2EE containersSupports multiple Authentication integration
points
Employed Frameworks – Direct Web RemotingDirect Web Remoting provides the following
benefits:Provides native JSON marshalling
Request Response
Provides simple methodology for SerializationEase of use
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
Employee ManagementEnables the ability to perform the following
actions Create new Employee Update existing Employee’s Delete existing Employee’s
Member ManagementEnables the ability to perform the following
actions Create new Member Update existing Member’s Delete existing Member’s
Javascript Messaging FrameworkConsistent messaging framework to provide
the following benefits:Common delegate for consistent user
experienceConvenient methodology for returning server
data
Database
Ken Brower
Persistence Manager
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
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
Domain Objects
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
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
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
User Interface Design and Implementation
Jon Hancock
HCI Manager
Customer Relations
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
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
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.
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
Software User’s Documentation
Marlo Castillo
Technical Writer
Software User’s DocumentationWhat is user documentationKey aspects of user documentationWhy do we need user documentation
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.
Key aspects User’s Documentation Importance of audienceUsing tables, illustrations, graphics Screen shots
Why do we need User’s DocumentationUser’s Documentation is important:
Serve critical functions Save users time Act as a guide to the user
Software Design Document
Christopher Horner
Technical Writer
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.
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
Software License
Michael Adams
Legal Manager
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
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
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
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.
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.
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.
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.
Questions?
Capstone Project