Final Presentation

advertisement
Social Network for Behavior Change
Team #11:
Gavin Monroe
Nicholas Schramm
Davendra Jayasingam
Client: Yolanda Coil
Advisor: Simanta Mitra
Requirements / Specification
Project Need & Goal
What:
• Social networks help the study of human behavior.
How:
• Yolanda Coil, needs information about user activity.
• Research in human computer interaction.
Why:
• No other social network website allows this
• Site is private and fully managed
Conceptual Sketch & Description
•
•
•
•
Private social network website
Multiple device access
Log activity -> analytics
Administered by a superadmin
Functional Requirements
•
•
•
•
•
•
•
•
User accounts
Private messaging
Calendar
Surveys
News Feed
Posts
Logging
Analytics
Non-functional Requirements
•
•
•
•
Database Backup
Privacy and security
Reliability
Accessibility
Market / Literature Survey
Client has conducted market survey
Admins -> ✔
Groups -> ✔
Members -> ✔
Project Plan
Project Schedule
Work Breakdown
Gavin Monroe -> Database Design
Nick Schramm -> Logging, Analytics, Front-end
Davendra Jayasingam -> Back-end, Front-end
Resource Requirements
•
•
•
•
•
Apache Web Server
PHP
MYSQL
?AMP
Virtual Private Server
Risk Identification & Mitigation
Risks Identified:
• Scheduling Conflicts
• Requirements Creep
• Group Member Dropping & MIA (Actually Happened)
Lessons Learnt:
• Uphill climb
• Hard to mitigate risk even upon planning
System Design
System Analysis
• The system was broken down into two parts: social
network and logging features.
• The depth of the logging features depended on how much
the social network allowed.
• The purpose of this project required both strong
administrative powers and strict security.
• The limited number of user allowed the project to simplify
the main users.
• The limited technical experience of the projected users
left requires the product be simple.
Functional Decomposition
• The function decomposition is very similar to the
functional requirements with a few exceptions.
• The logging system required that all user activity (posts,
messages, events, etc.) be stored in a track-able fashion.
• The privacy requirements required all public data
be removable in some way.
Detailed Design
Code Igniter
Framework
• Strictly follows MVC
design pattern
• Light Weight
• Handles Low-Level Work
• Many Useful Libraries
• Wonderful Experience
Modules - Controllers
•
•
•
•
•
•
•
•
•
•
• Controllers acted as a way to section
Admin
the website
Events
• A Section could contain multiple pages
Log
• The sections were split due to
Login
differences in functionality
Message
News
Site
Survey - Admin
Survey - User
Upload
Modules - Models
• The purpose of Models is to act as a interface layer
between code and the database
• Allows the controller to access the database with out
having to worry about how data is stored
•
•
•
•
•
•
•
•
Admin
Calendar
Conversation
Conversation User
Gallery
Log
Message
Newsfeed
•
•
•
•
•
•
•
•
Post
Site
Site Info
Survey Field
Survey Field Response
Survey
Survey User
User
Modules - Views
• Views contain the actual html and display information
• This allows the controller to display data with out worrying
on how the data is displayed
• Project contains many view files
• Among the more exceptional are:
• Header/Footer
• Sidebar
• Site
• Log
• Calendar
• Event
Prototype
Landing Page / Wall Page
Calendar Page
Survey Creation
Login Page
Testing Procedures
• Manual Testing
o Write code
o Upload code
o Open website
o Check output to screen
o Check log files
o Check database
o Fail? Repeat process
Test Results & Evaluations
• Manual Testing
o Web Browsers -> ✔
o Session -> ✔
o Input -> ✔
• Automated Testing
o Selenium -> X
Field Testing & Client Feedback
What the client likes:
1. Page Design & Layout
2. Simplicity Approach
3. Functionality
Platform & Technologies
•
•
•
•
•
•
PHP
MySQL
HTML
CSS
JS
JQuery
Project Closure
Conclusions & Lessons Learned
Conclusions
• CodeIgniter is a very powerful framework
• Creating a Facebook like page is enjoyable
Lessons Learnt
• Risk and mitigation plan is very important
• Time management is crucial
• Project management is never easy
Future Work
•
•
•
•
•
Automated testing
New requirements by client
Satisfy remaining requirements
Complete remaining features
Multiple iterations of product to obtain more client
feedback
• Test website with Beta testers
Q&A
Download