SlideShare uma empresa Scribd logo
1 de 15
Project Management
             José Luis Santos
    joseluis.santos@cs.kuleuven.be
What do you have?
1.   Milestones      A QUANTIFIED LEARNING TEAM
2.   Project
3.   Technology
4.   Class diagram
5.   Use case
6.   Scenarios
7.   and…
What is the next step?
How can we do it?


Tasks     Dependencies


Risks   Responsibilities
How do we define a task?

       To learn JQUERY
    To implement the model
 To implement the control part
          (Servlets)

   To design the interface
Take care!!!!

Design tasks are low time consuming…


  … while implementation tasks are
        high time consuming
Take care!!!!

Design tasksare easily addressable…


 … while implementation tasks are
  sometimes complex to fix them
What is a dependency?

  Task A            Task B




  Design        Implementation




 Interface        Controller
What is a risk?



Take them seriously!!!!
Who knows why it failed?
What can we do?
Data Store
(Google App Engine)

          José Luis Santos
 joseluis.santos@cs.kuleuven.be
Servlet
DatastoreServicedatastore = DatastoreServiceFactory.getDatastoreService();

Entity person = new Entity("Person", "test");
person.setUnindexedProperty("name", "TestUser"); //Unindexed properties for these properties that you will
not filter on

Entity weddingPhoto = new Entity("Photo", person.getKey()); // We link this Entity to another (Foreign key)
weddingPhoto.setProperty("imageUrl", "http://scm-l3.technorati.com/11/02/05/25749/marriage.jpg");
weddingPhoto.setProperty("date", new Date());

Entity weddingVideo = new Entity("Video", person.getKey()); // We link this Entity to another (Foreign key)
weddingVideo.setProperty("videoUrl", "http://www.criticallayouts.com/images/rsgallery/original/just-
married-cans-ag1.gif");
weddingVideo. setUnindexedProperty("date", new Date());

datastore.put(person);
datastore.put(weddingPhoto);
datastore.put(weddingVideo);

req.setAttribute("Key", person.getKey()); //Sending an object to a jsp file
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/store.jsp");
dispatcher.forward(req,resp);
JSP
DatastoreServicedatastore = DatastoreServiceFactory.getDatastoreService();
Key key = (Key)request.getAttribute("Key"); //We get an object not only an String
if (key != null){
Query userMediaQuery = new Query();
userMediaQuery.setAncestor(key);

// Ancestor queries return ancestors by default. This filter excludes the ancestor from query results.
userMediaQuery.addFilter(Entity.KEY_RESERVED_PROPERTY, Query.FilterOperator.GREATER_THAN, key);

// Returns both weddingPhoto and weddingVideo even though they are different entity kinds.
List<Entity> results = datastore.prepare(userMediaQuery).asList( FetchOptions.Builder.withDefaults());

for (inti=0;i<results.size();i++){
if (results.get(i).getKind().compareTo("Video")==0){%>
This is a photo:<br/><imgsrc="<%=results.get(i).getProperty("videoUrl")%>"></img><br/>
<% }else if (results.get(i).getKind().compareTo("Photo")==0){%>
This is a video:<br/><imgsrc="<%=results.get(i).getProperty("imageUrl")%>"></img><br/>
<% }%>
Objectify



http://code.google.com/p/objectify-
appengine/wiki/IntroductionToObjectify

Mais conteúdo relacionado

Destaque

Data Collection-Primary & Secondary
Data Collection-Primary & SecondaryData Collection-Primary & Secondary
Data Collection-Primary & Secondary
Prathamesh Parab
 

Destaque (9)

Bottom up & top down tutorial 2
Bottom up & top down tutorial 2Bottom up & top down tutorial 2
Bottom up & top down tutorial 2
 
Qualitative data analysis: many approaches to understand user insights
Qualitative data analysis: many approaches to understand user insightsQualitative data analysis: many approaches to understand user insights
Qualitative data analysis: many approaches to understand user insights
 
Presentation on Database management system
Presentation on Database management systemPresentation on Database management system
Presentation on Database management system
 
Databases: Normalisation
Databases: NormalisationDatabases: Normalisation
Databases: Normalisation
 
Teaching approaches
Teaching approachesTeaching approaches
Teaching approaches
 
Qualitative Research
Qualitative ResearchQualitative Research
Qualitative Research
 
Chapter 9-METHODS OF DATA COLLECTION
Chapter 9-METHODS OF DATA COLLECTIONChapter 9-METHODS OF DATA COLLECTION
Chapter 9-METHODS OF DATA COLLECTION
 
Data Collection-Primary & Secondary
Data Collection-Primary & SecondaryData Collection-Primary & Secondary
Data Collection-Primary & Secondary
 
Qualitative data analysis
Qualitative data analysisQualitative data analysis
Qualitative data analysis
 

Semelhante a Project management and data store

Javascript unit testing with QUnit and Sinon
Javascript unit testing with QUnit and SinonJavascript unit testing with QUnit and Sinon
Javascript unit testing with QUnit and Sinon
Lars Thorup
 
Agile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai ShevchenkoAgile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai Shevchenko
Moldova ICT Summit
 
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
Anna Russo
 
LWC_Workbxcgbgfbgfbfgbfgbfbfbshop_Day2.pptx
LWC_Workbxcgbgfbgfbfgbfgbfbfbshop_Day2.pptxLWC_Workbxcgbgfbgfbfgbfgbfbfbshop_Day2.pptx
LWC_Workbxcgbgfbgfbfgbfgbfbfbshop_Day2.pptx
Vkrish Peru
 

Semelhante a Project management and data store (20)

Project management
Project managementProject management
Project management
 
Secret unit testing tools no one ever told you about
Secret unit testing tools no one ever told you aboutSecret unit testing tools no one ever told you about
Secret unit testing tools no one ever told you about
 
Introduction to Backbone.js & Marionette.js
Introduction to Backbone.js & Marionette.jsIntroduction to Backbone.js & Marionette.js
Introduction to Backbone.js & Marionette.js
 
What Web Developers Need to Know to Develop Native HTML5/JS Apps
What Web Developers Need to Know to Develop Native HTML5/JS AppsWhat Web Developers Need to Know to Develop Native HTML5/JS Apps
What Web Developers Need to Know to Develop Native HTML5/JS Apps
 
Unit-testing and E2E testing in JS
Unit-testing and E2E testing in JSUnit-testing and E2E testing in JS
Unit-testing and E2E testing in JS
 
How my team is applying JS framework for PHP projects.
How my team is applying JS framework for PHP projects.How my team is applying JS framework for PHP projects.
How my team is applying JS framework for PHP projects.
 
Prisoner Management System
Prisoner Management SystemPrisoner Management System
Prisoner Management System
 
Javascript unit testing with QUnit and Sinon
Javascript unit testing with QUnit and SinonJavascript unit testing with QUnit and Sinon
Javascript unit testing with QUnit and Sinon
 
Agile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai ShevchenkoAgile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai Shevchenko
 
Look Ma, No Apex: Mobile Apps with RemoteObject and Mobile SDK
Look Ma, No Apex: Mobile Apps with RemoteObject and Mobile SDKLook Ma, No Apex: Mobile Apps with RemoteObject and Mobile SDK
Look Ma, No Apex: Mobile Apps with RemoteObject and Mobile SDK
 
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
 
Testing with VS2010 - A Bugs Life
Testing with VS2010 - A Bugs LifeTesting with VS2010 - A Bugs Life
Testing with VS2010 - A Bugs Life
 
J2ME Lwuit, Storage & Connections (Ft Prasanjit Dey)
J2ME Lwuit, Storage & Connections (Ft   Prasanjit Dey)J2ME Lwuit, Storage & Connections (Ft   Prasanjit Dey)
J2ME Lwuit, Storage & Connections (Ft Prasanjit Dey)
 
Unit Testing in iOS - Ninjava Talk
Unit Testing in iOS - Ninjava TalkUnit Testing in iOS - Ninjava Talk
Unit Testing in iOS - Ninjava Talk
 
Educate 2017: Customizing Assessments: Why extending the APIs is easier than ...
Educate 2017: Customizing Assessments: Why extending the APIs is easier than ...Educate 2017: Customizing Assessments: Why extending the APIs is easier than ...
Educate 2017: Customizing Assessments: Why extending the APIs is easier than ...
 
Mobile optimization
Mobile optimizationMobile optimization
Mobile optimization
 
The Real Story Behind JavaScript Performance on Mobile... Because Science!
The Real Story Behind JavaScript Performance on Mobile... Because Science!The Real Story Behind JavaScript Performance on Mobile... Because Science!
The Real Story Behind JavaScript Performance on Mobile... Because Science!
 
Rewriting DevOps
Rewriting DevOpsRewriting DevOps
Rewriting DevOps
 
LWC_Workbxcgbgfbgfbfgbfgbfbfbshop_Day2.pptx
LWC_Workbxcgbgfbgfbfgbfgbfbfbshop_Day2.pptxLWC_Workbxcgbgfbgfbfgbfgbfbfbshop_Day2.pptx
LWC_Workbxcgbgfbgfbfgbfgbfbfbshop_Day2.pptx
 
Face Recognition Home Security System
Face Recognition Home Security SystemFace Recognition Home Security System
Face Recognition Home Security System
 

Mais de Jose Luis Santos Odriozola

Public PhD defense
Public PhD defensePublic PhD defense
Public PhD defense
Jose Luis Santos Odriozola
 
LAK 14 presentation - Success, activity and drop-outs in MOOCs
LAK 14 presentation - Success, activity and drop-outs in MOOCsLAK 14 presentation - Success, activity and drop-outs in MOOCs
LAK 14 presentation - Success, activity and drop-outs in MOOCs
Jose Luis Santos Odriozola
 

Mais de Jose Luis Santos Odriozola (17)

Workshop - Functional Testing - Lessons Learned
Workshop - Functional Testing - Lessons LearnedWorkshop - Functional Testing - Lessons Learned
Workshop - Functional Testing - Lessons Learned
 
DiD at the XPDays Benelux
DiD at the XPDays BeneluxDiD at the XPDays Benelux
DiD at the XPDays Benelux
 
Public PhD defense
Public PhD defensePublic PhD defense
Public PhD defense
 
LAK 14 presentation - Success, activity and drop-outs in MOOCs
LAK 14 presentation - Success, activity and drop-outs in MOOCsLAK 14 presentation - Success, activity and drop-outs in MOOCs
LAK 14 presentation - Success, activity and drop-outs in MOOCs
 
Seminar at UC3M Madrid
Seminar at UC3M MadridSeminar at UC3M Madrid
Seminar at UC3M Madrid
 
20131007 peno3 sessie3_sven_jose
20131007 peno3 sessie3_sven_jose20131007 peno3 sessie3_sven_jose
20131007 peno3 sessie3_sven_jose
 
20130918 ectel cyprus_jose
20130918 ectel cyprus_jose20130918 ectel cyprus_jose
20130918 ectel cyprus_jose
 
Presentation @LAK13
Presentation @LAK13 Presentation @LAK13
Presentation @LAK13
 
WeSPOT presentation with Alacatel-lucent
WeSPOT presentation with Alacatel-lucent WeSPOT presentation with Alacatel-lucent
WeSPOT presentation with Alacatel-lucent
 
Final presentación
Final presentaciónFinal presentación
Final presentación
 
Peno 3 Google App Engine introduction
Peno 3 Google App Engine introductionPeno 3 Google App Engine introduction
Peno 3 Google App Engine introduction
 
Peno3 instructions
Peno3 instructionsPeno3 instructions
Peno3 instructions
 
Learning Analytics MUME 2012
Learning Analytics MUME 2012Learning Analytics MUME 2012
Learning Analytics MUME 2012
 
Empowering students to reflect on their activity with StepUp!
Empowering students to reflect on their activity with StepUp!Empowering students to reflect on their activity with StepUp!
Empowering students to reflect on their activity with StepUp!
 
Lak12 jlsantos-v2
Lak12 jlsantos-v2Lak12 jlsantos-v2
Lak12 jlsantos-v2
 
Quantified learning
Quantified learningQuantified learning
Quantified learning
 
Registry slides for Se@m Workshop
Registry slides for Se@m Workshop Registry slides for Se@m Workshop
Registry slides for Se@m Workshop
 

Project management and data store

  • 1. Project Management José Luis Santos joseluis.santos@cs.kuleuven.be
  • 2. What do you have? 1. Milestones A QUANTIFIED LEARNING TEAM 2. Project 3. Technology 4. Class diagram 5. Use case 6. Scenarios 7. and…
  • 3. What is the next step?
  • 4. How can we do it? Tasks Dependencies Risks Responsibilities
  • 5. How do we define a task? To learn JQUERY To implement the model To implement the control part (Servlets) To design the interface
  • 6. Take care!!!! Design tasks are low time consuming… … while implementation tasks are high time consuming
  • 7. Take care!!!! Design tasksare easily addressable… … while implementation tasks are sometimes complex to fix them
  • 8. What is a dependency? Task A Task B Design Implementation Interface Controller
  • 9. What is a risk? Take them seriously!!!!
  • 10. Who knows why it failed?
  • 11. What can we do?
  • 12. Data Store (Google App Engine) José Luis Santos joseluis.santos@cs.kuleuven.be
  • 13. Servlet DatastoreServicedatastore = DatastoreServiceFactory.getDatastoreService(); Entity person = new Entity("Person", "test"); person.setUnindexedProperty("name", "TestUser"); //Unindexed properties for these properties that you will not filter on Entity weddingPhoto = new Entity("Photo", person.getKey()); // We link this Entity to another (Foreign key) weddingPhoto.setProperty("imageUrl", "http://scm-l3.technorati.com/11/02/05/25749/marriage.jpg"); weddingPhoto.setProperty("date", new Date()); Entity weddingVideo = new Entity("Video", person.getKey()); // We link this Entity to another (Foreign key) weddingVideo.setProperty("videoUrl", "http://www.criticallayouts.com/images/rsgallery/original/just- married-cans-ag1.gif"); weddingVideo. setUnindexedProperty("date", new Date()); datastore.put(person); datastore.put(weddingPhoto); datastore.put(weddingVideo); req.setAttribute("Key", person.getKey()); //Sending an object to a jsp file RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/store.jsp"); dispatcher.forward(req,resp);
  • 14. JSP DatastoreServicedatastore = DatastoreServiceFactory.getDatastoreService(); Key key = (Key)request.getAttribute("Key"); //We get an object not only an String if (key != null){ Query userMediaQuery = new Query(); userMediaQuery.setAncestor(key); // Ancestor queries return ancestors by default. This filter excludes the ancestor from query results. userMediaQuery.addFilter(Entity.KEY_RESERVED_PROPERTY, Query.FilterOperator.GREATER_THAN, key); // Returns both weddingPhoto and weddingVideo even though they are different entity kinds. List<Entity> results = datastore.prepare(userMediaQuery).asList( FetchOptions.Builder.withDefaults()); for (inti=0;i<results.size();i++){ if (results.get(i).getKind().compareTo("Video")==0){%> This is a photo:<br/><imgsrc="<%=results.get(i).getProperty("videoUrl")%>"></img><br/> <% }else if (results.get(i).getKind().compareTo("Photo")==0){%> This is a video:<br/><imgsrc="<%=results.get(i).getProperty("imageUrl")%>"></img><br/> <% }%>

Notas do Editor

  1. Avoid disorganization.
  2. Define tasks, create dependencies, define risks and divide responsabilities
  3. The colleagues can be a risk… for instance, if someone has a job or is looking for a job… maybe it’s a risk…Time is always a risk and estimations…Others courses can influence the time spent on this course…
  4. Always a task need to have a responsible, the goal is that someone has to keep an eye what is going on… The goal is not to find a guilty, the role is to have always someone who knows why???