65
Thrdplace Social Networking 1

Thrdplace Social Networking - greenbay.usc.edu · Some technologies like PHP, ... using filters (e.g. geo-location, ... MySQL Relational database. management system: Store project,

Embed Size (px)

Citation preview

Thrdplace Social Networking

1

Strong Points

We are good at sharing our vision.

We agree on a decision only after consulting everyone in the team and when everyone is satisfied with it.

Familiarity with technologies like MySql and HTML 5 which are used in the project will make things easier.

Client has provided us access to his technical staff, which have been very helpful.

2

Weak Points

Due to clash of schedules, sometimes it becomes difficult to organize a team meeting.

Some technologies like PHP, thrdplace database are not known to the team members, but they will be implemented in the project.

Two of our team members left the team in 577 b. We have a new team member who needed to get acquainted with the project quickly.

3

Overall Project Evaluation At present, all the win conditions have been designed

and prototyped.

Initially, slow progress and inconsistency betweenprototype and win conditions.

• But, we adjusted quickly to build a prototype which has so far been to the liking of the client.

• Now, we have setup our prototype on client’s server. But there are some inconsistencies with the client’s database. So, we are working with his database architect to remove them to continue the progress.

4

TPCRonghui Zhang

5

Test Strategy Agile test-first: in each iteration, IIV&V will test

the new capabilities and improvements when they’re completed.

Boundary and exit/entry criteria between unit testing and integration testing: each new feature will first be tested to make sure it is fully functional and then will be tested ensure it integrates well with the existing system

Requirements-test traceability: the traceability matrix will be used to ensure that the capabilities will keep consistent with win conditions.

6

Test Preparation Hardware: PC, MacBook, ThrdPlace server

Software: IE/Chrome/Firefox, Safari, Solr

7

Requirements TraceabilityRequirement (Win Condition) ID

Verification TypeTest Case ID (if

applicable)WC_2448 As a project creator/contributor, I can see the search results in a list view.

Testing TC-01

WC_2442 As a project creator/contributor, I can search for projects and project contributors using filters (e.g. geo-location, etc).

Testing TC-02

WC_2441 As a project creator/contributor, I can search for the most influential projects and project contributors.

Testing TC-03

WC_2800 As a project creator/contributor, I can see a recommendation section on each page.

Testing TC-04

WC_2451 Max downtime is 3 days in a month.

Demonstration

WC_2449 System shall be deployed on Thrdplaceservers.

Demonstration 8

Acceptance Test Plan and Cases

Test Case Iteration

Priority

TC-01 Display Search Results In a List View

TC-01-01 Display Search Results In a List View

2 1

TC-01-02 No results Found 2 2

TC-01-03 Keywords Out of Limit 2 2

TC-01-04 Search Field Empty 2 2

TC-02 Search Using Filters

TC-02-01 Search using filters 1 1

TC-02-02 No results Found 2 2

TC-03 Rank By Influence 1 1

TC-04 Provide Recommendation

TC-04-01 Recommendation for Creator 2 1

TC-04-02 Recommendation for Contributor 2 1

TC-04-03 Recommendation for New Creator 2 2 9

Test IdentificationTest Case Number TC-01 Display search results in a list

viewTest Item This test case verifies that the search

results relevant to the keyword will be displayed in a list view

Test Priority Must Have

Pre-conditions Database contains results relevant to the keyword

Post-conditions A list of search results is displayed correctly

Input Specifications

Search type (project/contributor) and keyword

Expected Output Specifications

Links to project/contributor profiles in a list view

Pass/Fail Criteria

Fails if a) the results are not displayed in a list b) the results don’t contain the keyword

Assumptions and Constraints

There’re project/contributor profiles relevant to the keyword in database 10

ScheduleDate Test Identifier Responsible

personResources Training

needs03/12/14

TC-02-01, TC-03 Ronghui Zhang PC N/A

04/01/14

TC-01-01, TC-01-02, TC-02-02, TC-04-01 and TC-04-02

Ronghui Zhang PC N/A

04/15/14

TC-01-03, TC-01-04, and TC-04-03

Ronghui Zhang, Doon Gaurav

PC and MacBook N/A

11

Operational Concept Description

Yixiang Liu

12

System Purpose

Thrdplace.com is a venue for fund-raising, resource sharing and commerce.

Our system is a subsystem of Thrdplace.com.

Our system is designed to provide search, rankingand recommendation functions to project creatorsand contributors on Thrdplace.com.

13

System Purpose

14

• Increase revenue of ThrdPlace.OG-1:

• Increase reach of project creator and contributors.OG-2:

• Increase use of ThrdPlaceplatform OG-3:

14

Changes in current system

15

Proposed new system

• The search system will allow the project creators and contributors to search projects and contributors with filters.Search results will be displayed in a list view.

Search system

• The recommendation system will recommend potential projects to contributors, and recommend potential contributors to project creators

Recommendation system

• The ranking system can rank the search results by influence

Ranking system

16

Prototype

Yixiang Liu

17

Search Engine

Recommendation System

Ranking System

18

Search Engine

We use Apache Solr full-text search engineto search for projects or contributors fromthrdPlace.com database. Search results willbe displayed in a list view.

19

• Recommend 5 potential contributors (according to contributor’s influenceand relevance between creator andcontributor’s project)

For Creator

• Recommend the most influential project.

For Contributor

Recommendation System

20

Rank by influence (formulas agreed by client)

• INFLUENCE (Contributors)

(Weight 1 * Number of Project Contributed) + (Weight 2 * Promotions)

• INFLUENCE (Projects)

(Weight 1 * Project Success) + (Weight 2 * Promotions)

PROMOTIONS = (weight 1 * Facebook Likes) + (weight 2 * Twitter Shares) + (Weight 3 * Number of Comments)

PROJECT SUCCESS = Raised Capital / Expected Capital

CAPITAL = (weight1 * Integer value of Funds) + (weight2 * Supply Items) + (weight3* Volunteer hours)

Ranking System

21

Progress of work

Done

• Get the permission of ThrdPlace server.• Get a copy of database from ThrdPlace.• Installed Solr on ThrdPlace server• Uploaded webpage on ThrdPlace server• Connected Solr with database of ThrdPlace server.

Doing• Rewriting and modifying solr code to fetch data from database.

22

Progress of work

23

Progress of work

To do

• To change code of webpages in order to make them work with solr.

• To modify code of webpages to fit the difference of schema of database.

• To add more features to the search engine.

24

Demo

25

System Architecture

Ronghui Zhang

26

Outlines Overall Architecture

1. System Context Diagram

2. Process Diagram

3. Hardware Component Diagram

4. Software Component Diagram

5. Deployment Diagram

Detailed Architecture

1. Artifacts & Information Diagram

2. Interface Classes

3. Process Realization

COTS/ Reuse Selections

36

System Context Diagram

28

System Context Diagram

29

Actor SummaryID Name Related Use Cases Documentation

AC02Project creators

• Receiverecommendation ofcontributors

Creators in the system, responsible for creating projects and clarifying required resources in projects, including volunteer hours, money and supplies. They need to log in.

AC03Project contributors

• Receiverecommendation ofprojects

• View search resultsby list view

• Search for the mostinfluential projectsor contributors

• Search by filters

Contributors in the system, responsible for making contribution to projects, including volunteer hours, money and supplies. They don't need to log in and use their email address as ID.

30

Process Diagram

31

Process Diagram

32

Hardware Component

33

Hardware Component

34

Software Component

3535

Deployment Diagram

36

Deployment Diagram

37

Artifact & Information

38

Interface Classes

39

Search Classes

40

Process Realization

41

Process Realization

42

COTS/Reuse SelectionSoftware Component

Description Purpose

WAMPSoftware bundles

Provide support for convenient and quick web development on windows

platform.

MySQL

Relational databasemanagement system

Store project, creator and contributor’s information on

ThrdPlace

IE, Chrome, Safari

Web browserWeb front end for users of

ThrdPlace

PHPServer-side

script language

Provide support for implementing functions on the server.

Solr Search engineProvide full-text search with filter and sort functionality

43

Life cycle planningKan Qi

44

Development phase - Construction Iteration Duration: 2/12/14 – 4/16/14 Concept:In this phase, the development team should keeps detailing project plan and recording project progress and emphasize on implementing the system and performing testes.Deliverable: Transition Readiness Review Package, Draft Transition Readiness Review PackageMilestone: Transition Readiness Review, Core Capability DrivethroughStrategy: Development and testing

Development phase - Transition Iteration Duration: 4/17/14 – 4/30/14 Concept:In this stage, the development team should perform system transition by providing maintenance information, tutorial session, technical support, as well as user menu which covers different user roles. Deliverable: Operational Commitment Review Package, Transition manual, Source codeMilestone: Operation Commitment ReviewStrategy: Deployment, Training, and Transition

45

Responsibilities by phaseName Role construction transition

DekovenClient and Maintainer

- Provide feedbacks based on current system- Provide changed requirements

Client:- Provide feedbacks based on current system- Provide changed requirements-Receive training for the new system-Maintainer: - Maintain the system

GauravDoon

Project Manager(PM) &Trainer &Tester

PM:- Creating the Project Plan- Distribute workload, give specific task to each team memberTester:- Design and implement test case

PM:- Creating the Project Plan- Distribute workload, give specific task to each team memberTester:- Design and implement test case Trainer:-give clients training sessions and answer their questions on support materials

46

Name Role construction transition

Yixiang Liu Builder

Builder:- Implement the main functions of system.

Builder:-implement the main functions of system. -Deploy the system

onto server.

Ronghui Zhang Tester

Tester:-Develop and implement test cases

Tester:-Develop and implement test cases

Kan Qi Builder

Builder:- Implement the main functions of system.

Builder:- Implement the main functions of system.

47

New member of our team

48

Name Role construction transition

Tu Duong IIV&V & Quality Focal Point

IIVV:- Review the project artifacts- Manage Project QualityQFP:-Assess quality management and strategy-Definition of done-Identify traceability matrix

IIVV:- Review the project artifacts- Manage Project QualityQFP:-Assess quality management and strategy-Definition of done-Identify traceability matrix

Major Activities in RDCR, Development Phase-Construction Iteration

49

Major Activities in Development Phase-Transition Iteration

50

Iteration PlanCapabilities to be implemented

ID Capability Description Priorit

y

Iterati

on

OC-1

Search

projects and

contributors

The system is capable of enabling project

contributors to search projects and project

creators to search contributors with

filter. Besides, it’s capable of

displaying the search results in a map

interface or a list view. Also, it’s

capable of enabling project contributors

and project creators to search the most

influential projects and project

contributors.

1 1

OC-2

Ranking

search

results

The system is capable of providing a

ranking system to rank the search results

by influence. The criterion of the

influence includes promotion, the

completion percentage of the project and

the contribution of contributors.

1 1

OC-3

Recommend

projects and

b

The system is capable of providing useful

suggestions about projects and

contributors. For the project creators,

it’ll recommend contributors interested in 2 2 51

Capabilities to be tested

ID Capability Priority Iteration

OC-1Search projects and

contributors 1 1

OC-2Ranking search

results 1 1

OC-3Recommend projects

and contributors2 2

52

Capabilities not to be tested

1.The requirement for max down time.

Reason: we don’t have enough time to collect the testing result and testing for this requirement should precede deployment of the system.

2.The requirement for deployment of the system to Thrdplace server.

Reason: we will demonstrate the deployment of the system onto Thrdplace’s server

53

Risk management Plan for CCD

ID Risk Mitigation Plan Priority

1

Disabled function of NDIs, for example, Solr.

Prepare for local access to the web site

Prepare for a recorded showing required functionalities

Exam all functions before CCD

1

2

Clients and team members cannot attend CCD

Confirm attendance before CCD

Reschedule the date of CCD 2

3

Clients do not make enough preparation, for example, forgetting to bring user test scenarios.

Send email or make phone call before CCD.

Reschedule the date of CCD3

4

Technical staff does not make enough preparation, for example, lacking user manuals.

Ask more than one team members to bring user manuals. 3

5Disabled laptop during CCD Prepare for sub-laptops for CCD.

4

54

CCD Preparation Plans

Feedback Form

IDCapability

Comments Score (1-10)

Improvements needed/suggested

Changes to‐be considered (Reprioritized

capabilities, requirements, GUI, etc.)

Risks (Possible risks, New risks introduced, risks mitigated, etc.)

Performance Usability Satisfaction

OC-1 Search projects and contributors

OC-2 Ranking search results

OC-3 Recommend projects and contributors

55

IIV&Ver andQuality Focal Point

Tu Duong

56

Feasibility Evidence

Capability Requirement Product SatisfactionCR-1: Display recommendation section on every page Feasibility Evidence: Solr is the search engine used to

provide recommendation results. Then the results can be displayed on each page.Referred use case diagram: UC-04

CR-2: Project and project contributors can be searched by project contributors/ creators using filters (geography, etc.)

Feasibility Evidence: Solr is the search engine used to provide search results. Moreover, Solr has the strong feature of faceted navigation, which allows project contributors and creators to explore a collection of information by applying multiple filters. Referred use case diagram:UC-02

CR-3: Search for the most influential projects and creators.

Feasibility Evidence: Solr is the search engine used to provide search results. To search for the most influential projects and creators, we need to define the word ‘influential’ clearly to come up with an appropriate algorithm to implement it on the search engine.Referred use case diagram: UC-03

CR-4: Search result can be seen in a list view Feasibility Evidence: Solr is the search engine used to provide search results. Then list all the results on the page after a project creator or contributor clicks on the search button.Referred use case diagram: UC-06

57

Risks Risk Exposure Risk MitigationsPotential

MagnitudeProbability

LossRisk

Exposure

1

Unable to connect to database on the development server- Currently, we are not having the full access permission to Solr on the development server

10 0.7 0.1 7.0 1.0

Our developers are trying to contact ThrdPlace’s engineers to request the access permission.Update [02/10/2014]: they gave us the full access to Solr. We are able to connect to database.

2 The final product may not be fully tested on the ThrdPlace’s main server 10 0.5 5

We asked the client to provide us the development server which is identical with the main server.

3 Incomplete database 10 1.0 0.2 10.0 2.0

We are working directly with ThrdPlace’s engineers to get this set up.Update [02/10/2014]: They have completed setting up their database. Our developers are testing this.

4 Database inconsistency 5 0.5 2.5

We noticed the client and he will have his database architects to remove these consistencies. Also, they create and handle a test database on development server for us to test. This test database is identical with the database they are using.

Risk Management

58

Risks Risk Exposure Risk MitigationsPotential

MagnitudeProbability

LossRisk

Exposure

5 Search performance may not satisfy project creators or contributors.

8 0.3 2.4

Apache Solr is an incredible high-performance, full-featured text search engine that will allow us to provide higher quality search results

6 Scope increases or changes in the requirements 7 0.1 0.7

We discussed with the client about the scope of this class, and he agreed to stay with current requirements

7

Recommendation may not satisfy project creators or contributors’actual needs. - Because creators and contributors only provide limited information to ThrdPlace and it’s hard to do recommendation with incomplete knowledge.

2 0.7 1.4

Communicate with clients and suggest collecting more information from project creators and contributors in register module or project-management module of ThrdPlace.

8Influential score may not measure the project or contributor’s impacts accurately

7 0.5 3.5

Developers and Operational Concept Engineer will carefully evaluate the mechanism of influence measuring service and create a solution best suited to ThrdPlace platform.

9 The Solr server is not working correctly 10 0.01 0.1 Apache Solr has been proving that it is a stable search engine

Risk Management

59

Risks Risk Exposure Risk MitigationsPotential

MagnitudeProbability

LossRisk

Exposure

10Solr or Java is upgraded to newer version and is not backward compatible

2 0.5 1.0

This is a expected and controlled risk. We have control which version we want to install and use. That say, we will have time to fix the code to make it compatible with newer version.

12 ThrdPlace’s main server is down 0.2 0.03 0.006

In this case, the whole ThrdPlacewebsite is down, and in general, no one can access our product. Also, this is out of our control. Therefore, speaking of our product, this risk would not have a big impact on our team.

Risk Management

60

Capability Goals

Capability Requirement

Win-Conditions

Use Cases Test Cases

OC_1 Search Project and Contributors and displayin the list view

CR-2CR-4

WC_2448, WC_2442

UC_01UC_02

TC_01TC_02

OC_2 Ranking search Results By Influence

CR-3 WC_2441 UC_03 TC_03

OC_3 Recommend Projects and Contributors

CR-1 WC_2800UC_04UC_05

TC_04

Traceability Matrix

61

Technical DebtTechnical Debt Details/Solution Status

Requirements Volatility

We were suffering from inconsistent or ambiguous requirements. We needed to resolve it in order to move forward. So, we held another win-win negotiation with our client and fixed the requirements

Solved (Fall 2013)

Lack of knowledge in search engine

Nobody on the team has experience in implementing a search engine. This causes our prototype progress to be slow and the initial prototype only covers the user interface. So, we spent time learning knowledge of search engine and finally chose Apache Solr after careful comparison

Solved (Fall 2013)

Lack of database for testing

We did not had any database to test our prototype on. So, we consulted our client. He provided us with the attributes of the database. We designed the database with those attributes and populated the database with mock data on the local machine.

Solved (Fall 2013)

The product hasn’t been tested on remote server

We only ran our product on the local machine (localhost). We talked with the client and he agreed to provide us a development environment on his server. This development environment will be identical with the current ThrdPlace server’s environment. We are working with ThrdPlace’s engineers to set this up.

In Progress

62

Technical DebtTechnical Debt Details/Solution Status

The product needs to be tested on ThrdPlace server

After passing all the tests on development server, we need to test the product on the main ThrdPlace server before delivery

Need to solve

63

FactorsSoftware feature delivery

Active attitude

to the job

Software feature quality

Working efficiency

Communication ability

Code quality

Initial prototype 5 7 6 6 8 7

Prototype ondummy database

8 9 8 8 8 8

Final Prototype 10 10 10 9 9 9

Deliverable product ondevelopment environment

In progress In progress In progress In progress In progress In progress

Deliverable product onThrdPlacemain server

Metric – Client Feedback

64

Definition Of Done (DoD)

Solr and Database is Ready

Code is review and meeting development standards

Source code is committed to the server

Unit tests written and passing

Pass integration testing

Pass monkey testing

The product must meet the requirements

OK from the client

The product is deployed on the main website

Complete all technical and feature Documentation

Technical training

65