LOSE4GOOD.ORG (BY TEAM 08) PROMOTE HEALTHY LIVING
Feb 12, 2016
LOSE4GOOD.ORG (BY TEAM 08)
PROMOTE HEALTHY LIVING
2
TEAM MEMBERSPaul Charron (Client)
Ali Alotaibi
Arul Samuel
Omkar Yerunkar
Shreyas Devaraj
Abdulkareem Alzahrani
Hasan Ali
3
What have changed?▪ More than half of the team members have left.
▪ More implementation.
▪ Detailed responsibilities.
▪ Minor business logic changes.
4
Team Strong Points
Operational ViewCooperative and enthusiastic
client
Collaborative team members.
New members advantage
Technical ViewStrong programming skills
Quick Learners
some members have work experience
5
Team Weak Points
Operational ViewSchedule conflicts.
Some cultural barriers
Technical ViewUI design
Some team members are not expert in Django!
6
OPERATIONAL CONCEPT DESCRIPTION
8
▪ Online application that potential weight-losers can use to stay motivated in their pursuit to lose weight.
▪ Motivation provided by sponsor who pledges donation to charity against weight-loser’s goal.
System Purpose
9
System Boundary Diagram
Gmail
10
BUSINESS WORKFLOW DIAGRAM
11
Desired Capabilities and Goals
Organizational Goals
Capability Goals Priority Level
OC-1: Create and track weight loss goals Must Have
OC-2: Account management Must Have
OC-3: Donation Management Must Have
OC-4: Sponsor invitation Must Have
OC-5: Login using Facebook Must Have
Capability Goals Importance
OG-1: Motivate people to lose weight. 80%
OG-2: Make charitable donations 60%
OG-3: Promote healthy living. 100%
12
Level Of ServiceLevel of Service Goals Priority Level WinWin Agreements How to satisfy it
LOS-1: Payment Ease: The payment system will support monetary transactions in U.S. and Canada.
Should have WC_2751
PAYPAL supports the highest number of countries - 190(in and out of US) and auto refund feature
LOS-2: Uptime: The system will have at least 99 % uptime Should have WC_2749 Guaranteed by Heroku
LOS-3: Compatibility: The system will Support the following browsers: IE 8+, Chrome 25+, Mozilla Firefox 16+ and Safari 6+
Should Have WC_2748Usage of Bootstrap CSS framework - Assure that the site looks satisfactory in all the mentioned browsers.
PROTOTYPEARUL
14
POSITIVE POINTS▪ Minor changes in requirements
▪ Focus more time on development of system
▪ Focus more time on Integration of the Facebook & Paypal API’s
CHANGES FROM LAST ITERATION▪ Mockups minor modifications
▪ System navigation modified
15
INITIAL NAVIGATION FLOWLose4Good home page
Profile Page
Create Goal Page
Invite Sponsor Page Your Account Page
Financial Officer Page
Pending Transaction Page
Sponsor Donation Page Pledge money page Transaction Result Page
16
CURRENT SYSTEM NAVIGATION FLOWLose4Good home page
Profile Page
Create Goal Page
Invite Sponsor Page Personal Details Page
Pledge Money Page Transaction Result PageEmail Paypal
Financial Officer Page
Pending Transaction Page
Refund Page
Track Goal FacebookAchieve Goal
17
▪ Goal Creation
▪ Sponsor Donation
▪ Monitor Payment
MOCKUPS
18
▪ Facebook Login Prototype
▪ PAYPAL Prototype
▪ Modification of the Mockups
Completed Tasks
▪ Facebook Prototype Integration with Django
▪ Prototype Track Goal in Django
Upcoming Tasks
SUMMARY
ARCHITECTURESHERYAS DEVARAJ
20
SYSTEM CONTEXT DIAGRAM
21
USE CASE DIAGRAM
22
▪ Django’s MVT Style
- Separation of Concerns
- Future Modification
Architectural Style
Model View Template
- Django’s version of the popular MVC style
Database
Server SideClient Side
Lose4Good.org
23
CLASS DIAGRAM
24
SEQUENCE DIAGRAM – SPONSORSHIP INVITATION RESPONSE
25
ENTITY RELATIONSHIP DIAGRAM
26
Deployment Diagram
27
Design Patterns & Frameworks
Design Patterns - Wrapper Façade Pattern- provides implied interface for several operations
Python’s Django framework- Model class handles the ORM- Callback handling- OAuth Implementation
28
NCS
Architected Agile
PAYPAL provides cheap transaction fees (2.2% per transaction). provides packages for non-profit organization. provides extensive documentation for performing automatic refund. supports wide range of countries and has wide popularity and trust.
FACEBOOK API Allows users to directly login using their Facebook account. Allows access to their personal information
LIFE CYCLE PLANOMKAR YERUNKAR
30
577 A,B TEAM MEMBERSTeam Member Role Responsibilities
Ali Alotaibi Implementer , Project Manger Goal Creation and Tracking Module, Project Report, Deliverables
Omkar Yerunkar Implementer, Trainer Donation Management Module, Project plan, Integration Testing
Arul Rajkumar Implementer, Technical Lead Profile Management Module, Integration Testing
Shreyas Devaraj Implementer, Tester Profile Management Module, Unit Testing
Abdulkareem Alzahrani Implementer, Quality Focal point Goal Creation and Tracking Module, Unit testing, Deliverables
Hasan Ali Implementer, IV & V Goal Creation and Tracking Module, Unit Testing, Deliverables
31
ESTIMATION▪ Available members:
6 members on-campus
▪ Duration:10 weeks – 577b
▪ Efforts:15 hours per week
▪ COCOMO Estimated Effort:10.45 person-month most likelyStaff = 10.45/1.67 = 6.25
32
RE-BASELINE FOUNDATION (JAN 13- FEB 10)▪ Rebaseline the project(Jan 13- Jan 24)
▪ Prepare for development phase▪ Prepare for Rebaselined development Commitment Iteration
▪ Work Products Preparation RDCR(Jan 24- Feb 07)
33
RE-BASELINE FOUNDATION (JAN 13- FEB 10)▪ Modules:-
Profile Management Donation Management Goal Creation and Tracking
▪ Capabilities Implemented:-Login Register Create Goal Invite sponsor Select charity organization
34
CONSTRUCTION ITERATION 1( FEB 10- MAR 26)▪ Modules:-
Profile Management Donation Management Goal Creation and Tracking
▪ Capabilities:- Achieve Goal Respond to the sponsorship request Update weight Login (via Facebook) Monitor Payment Track Goal – Graph Delete Goal
35
DETAILED PLAN
36
CONSTRUCTION ITERATION 2(MAR 27- APR 14)▪ Modules:-
Donation Management Goal Creation and Tracking
▪ Capabilities:- Posting on Facebook Report Generation
37
DETAILED PLAN
38
TRANSITION ITERATION DETAILED PLAN
QUALITY MANAGEMENT ABDULKAREEM & HASAN
40
RISK ANALYSISRISK
RISK EXPOSURERISK MITIGATIONPotential
MagnitudeProbability
LossRisk
Exposure
Graphical User Interface Design 7 4 28
Agreed with the client to find someone to help us with the GUI design to make it more attractive
PayPal API 5 5 25Agreed with the Client to use the Classic API and make the Re-Fund Process Manual
Infrastructure 7 3 21 Agreed with the client to buy repository
Personnel Unavailability 4 5 20 Schedule Weekly Meeting; Define tasks
Team Reformation 4 4 16Setting training sessions; providing resources on how to develop in Django; Hands On Training
Expected Database Changes 5 2 10 Client has been urged to provide any potential changes
41
METRICS
▪ Progress Indicator Metric Cumulative Completed TasksPlan vs. Actual
▪ Test Case Metric Cumulative Completed Test Cases Plan vs. ActualPassed vs. Failed
42
Traceability Matrix
43
CODE QUALITY.
▪ Commenting.
▪ Readable variable names.
▪ Indentation.
▪ Code versioning using Github.
44
TEST CASES▪ TC-01-01 Verify successful Login▪ TC-01-02 Verify successful Login using Facebook credentials▪ TC-01-03 Verify unsuccessful Login ▪ TC-01-04 Verify successful registration ▪ TC-02-01 Verify successful goal creation▪ TC-03-01 Verify goal tracking▪ TC-04-01 Verify weight updating▪ TC-05-01 Verify achieve Goal▪ TC-05-02 Verify delete Goal▪ TC-06-01 Verify sponsor's invitation▪ TC-06-02: Verify successful sponsor donation▪ TC-07-01 Monitor payment for a valid transaction▪ TC-07-02 Verify invalid transaction
45
TEST CASES
46
TEST CASES
47
TEST SCHEDULE
48
DEFINITION OF DONE (DOD)
▪ All modules implemented
▪ Code review completed
▪ All test cases passed
▪ Source code checked into Git repository
▪ Website deployed on production server
▪ Documentation artifacts consistent
▪ All architecture documentations up to date
▪ All Bugzilla issues closed or deferred to later release
▪ Risks are resolved or mitigated
▪ Requirements are traceable
DEMO
49
THANK YOUTEAM 08
50