System and Software Support Plan (SP) Version 1.0
System and Software Support Plan (SSSP)
Flower Seeker
Team 05
Name / RolesEder Figueroa / Primary Role: Project Manager/ Implementer.
Secondary Role: Tester.
Sophia Wu / Primary Role: Life cycle planner/ Tester
Secondary Role: Implementer
Doris Lam / Primary Role: IIV&Ver/ Quality Focal Point/ Implementer.
Secondary Role: Tester.
Hiram Garcia / Primary Role: IIV&Ver/ Quality Focal Point/ Implementer.
Secondary Role: Tester.
4/14/13
Version History
Date / Author / Version / Changes made / Rationale /04/14/13 / DL / 1.0 / · Initial version / · Initial support plan
· / ·
Table of Contents
System and Software Support Plan (SSSP) i
Version History ii
Table of Contents iii
Table of Tables iv
1. Support Objectives and Assumptions 1
1.1 Support Objectives 1
1.2 Support 1
2. Support Strategy 2
2.1 Support Lifetime 2
2.2 Release Strategy 2
2.3 Release Requirement Determination 2
2.4 Release Process 2
3. Support Environment 3
3.1 Hardware 3
3.2 Software 3
3.3 Facilities 6
4. Support Responsibilities 7
SP_IOC2_S13b_T05_V1.0 7 Version Date: 04/14/13
Feasibility Rationale Description (FRD) Table of Contents
Table of Tables
Table 1: Eclipse IDE 3
Table 2: MySQL 3
Table 3: Tomcat 3
Table 4: Git 4
Table 5: Maven 4
Table 6: AWS Toolkit 4
Table 7: Spring Framework 5
Table 8: JQuery 5
Table 9: Bootstrap 5
Table 10: Amazon Web Services 6
Table 11: PayPal 6
Table 12: Stakeholders and their supporting responsibilities 7
SP_IOC2_S13b_T05_V1.0 7 Version Date: 04/14/13
System and Software Support Plan (SP) Version 1.0
1. Support Objectives and Assumptions
1.1 Support Objectives
The purpose of this support plan is to aid developers and support personnel in understanding the system and the tools and resources needed to provide continued development and maintenance after transition.
1.2 Support
The 577b team will not be providing support after the Spring 2013 semester ends. The client will need to secure a developer who understands and ideally have experience with the following:
· Java, Tomcat container
· Spring web framework – Spring MVC, Spring Data, Spring Security
· Web development – HTML, CSS, Javascript, JQuery and Bootstrap libraries
· Amazon web services deployment (or other Java application hosting service)
· Eclipse IDE
2. Support Strategy
2.1 Support Lifetime
The 577b team will not be providing support after the Spring 2013 semester ends.
Below are a list of sites with information and documentation that pertain to the libraries and services used by the system. They are all popular and well maintained and will exist for the foreseeable future.
· Spring framework (community support) - http://www.springsource.org/, http://www.springsource.org/spring-framework, http://www.springsource.org/spring-data/jpa, http://www.springsource.org/spring-security
· PayPal - https://developer.paypal.com/
· JQuery - http://jquery.com/
· Bootstrap - http://twitter.github.io/bootstrap/
· Amazon Web Services - https://aws.amazon.com/
2.2 Release Strategy
After initial deployment at the end of the semester, the team will not be responsible for new releases. It’s recommended that continuous or frequent releases be made after initial transition to fix bugs and increase functionality.
2.3 Release Requirement Determination
Release requirements are primarily determined by win-win negotiations and business opportunities. Features that aid florists in advertising products and users in searching for products and keeping track of orders should be prioritized.
2.4 Release Process
A release should take from the “aws” branch on Bitbucket, built into a war file (by exporting to war in Eclipse) and uploaded onto an ElasticBeanstalk test instance (this may mean some extra resources beyond the AWS free tier needs to be used). A general system run through should be done on the test instance and if everything checks out, the war file should be uploaded to the production instance and redeployed.
3. Support Environment
The anticipated long-term environment for operating the system is in the cloud. The system relies heavily on using open source libraries and web services, therefore future API changes or upgrades of these services would have impact on supporting the system.
3.1 Hardware
There is no specific hardware needed for maintaining the system except a computer with a modern OS and development environment.
3.2 Software
Table 1: Eclipse IDE
Software Requirement: / Eclipse IDE 3.7 (Indigo) for Java EE developersRationale: / Integrated development environment, compiler
User/Operator Manual: / http://www.eclipse.org/
Availability Information: / Well supported, open source, Eclipse Foundation
Note: / Should install m2e (maven), EGit, Amazon SDK plugins
Table 2: MySQL
Software Requirement: / MySQL 5.5.xRationale: / Relational Database for storing system data
User/Operator Manual: / http://www.mysql.com/
Availability Information: / Well supported, open source, Oracle
Note:
Table 3: Tomcat
Software Requirement: / Tomcat 7Rationale: / Web app container for serving the application
User/Operator Manual: / http://tomcat.apache.org/
Availability Information: / Well supported, open source, Apache Foundation
Note:
Table 4: Git
Software Requirement: / Git 1.8.xRationale: / Version control system
User/Operator Manual: / http://git-scm.com/
Availability Information: / Well supported, open source
Note: / EGit plugin for Eclipse integrates Eclipse with Git - http://www.eclipse.org/egit/
The codebase is currently hosted on Bitbucket as a private repository for free up to 5 users. https://bitbucket.org/fseeker/flowerseeker. The owner’s login information will be provided separately.
Table 5: Maven
Software Requirement: / Maven 3Rationale: / Dependency management
User/Operator Manual: / http://maven.apache.org/
Availability Information: / Well supported, open source, Apache Foundation
Note: / The Maven Eclipse plugin integrates Eclipse with Maven - http://eclipse.org/m2e/download/
Flowerseeker currently uses maven to manage all its Java libraries dependencies in the pom.xml at the root of the repository.
Table 6: AWS Toolkit
Software Requirement: / AWS Toolkit for EclipseRationale: / Convenient management of AWS resources from Eclipse
User/Operator Manual: / http://aws.amazon.com/eclipse/
Availability Information: / Well supported, Amazon
Note: / The AWS console can also be found via the web. The eclipse toolkit offers the ability to deploy directly to ElasticBeanstalk and debug also.
Table 7: Spring Framework
Software Requirement: / Spring Framework 3.2.xRationale: / Java web framework and dependency injection framework
User/Operator Manual: / http://www.springsource.org/spring-framework
Availability Information: / Well supported, open source
Note: / As of transition using Spring Core and MVC, Spring Security 3.1.3, Spring Data JPA 1.3.0
Table 8: JQuery
Software Requirement: / JQuery 1.9.xRationale: / Javascript library for easier dom and ajax manipulation
User/Operator Manual: / http://jquery.com/
Availability Information: / Well supported, open source
Note: / Various jquery plugins can be used, currently also using jquery form plugin to transform html forms into ajax - http://malsup.com/jquery/form/
Table 9: Bootstrap
Software Requirement: / Bootstrap 2.2.2Rationale: / Web frontend framework and ui components
User/Operator Manual: / http://twitter.github.io/bootstrap/
Availability Information: / Well supported, open source, also themes available and can create own themes
http://bootswatch.com/
https://wrapbootstrap.com/
Note: / There are other frontend frameworks that can replace bootstrap if desirable – below are some bootstrap extensions and alternatives:
Jasny extensions - http://jasny.github.io/bootstrap/
Foundation - http://foundation.zurb.com/
Knockoutjs – not a replacement, but something to consider if the pages need to be more dynamic and ajaxy - http://knockoutjs.com/
Table 10: Amazon Web Services
Software Requirement: / AWS Elastic BeanstalkRationale: / Cloud hosting of the application
User/Operator Manual: / http://aws.amazon.com/
Availability Information: / Well supported by Amazon
Note: / A new account have access to a free tier that can run the site for free in a micro instance. Flowerseeker will need: EC2 instance using Amazon Linux AMI with Tomcat 7, RDS instance with MySQL 5.5.x, if created through the ElasticBeanstalk console management it should set up all the environment and create S3 bucket for you. (Load balancer will need to have sticky sessions set in the EC2 console management, and will need to point load balancers to ssl certificate) https://console.aws.amazon.com/elasticbeanstalk/home
Alternative is Google App Engine, but will most likely require code changes since it’s not just “bring your own war file”.
Other alternatives: http://www.cloudbees.com/, https://www.heroku.com/, http://www.cloudfoundry.com/
Table 11: PayPal
Software Requirement: / PayPal Adaptive Payments SDKRationale: / Allows us to coordinate payments from customers to florists as parallel or chained payments
User/Operator Manual: / https://developer.paypal.com/
Availability Information: / Well supported by Paypal
Note: / Flowerseeker uses the Adaptive Payments API, which allows very flexible payment and fee structures. Parallel payment or chained payment can be used. Examples and documentation of the API here:
https://github.com/paypal/adaptivepayments-sdk-java,
https://developer.paypal.com/webapps/developer/docs/classic/adaptive-payments/gs_AdaptivePayments/
3.3 Facilities
No special facilities are needed.
4. Support Responsibilities
Table 12: Stakeholders and their supporting responsibilities
Stakeholder / Supporting roles / # / Supporting SkillsJessica Lee / User and business support / 1 / Domain and business knowledge
N/A / Software development and maintenance, database and deployment support, testing / 1-3 / See section 1.2
N/A / Trainer, administrator / 1 / Git, AWS
SP_IOC2_S13b_T05_V1.0 7 Version Date: 04/14/13