Anzeige
Report for SPE
Report for SPE
Report for SPE
Report for SPE
Anzeige
Report for SPE
Report for SPE
Report for SPE
Report for SPE
Report for SPE
Anzeige
Report for SPE
Nächste SlideShare
A.R.C. Usability EvaluationA.R.C. Usability Evaluation
Wird geladen in ... 3
1 von 10
Anzeige

Report for SPE

  1. Table  of  Contents   SOFTWARE  PROJECT  ENGINEERING  .........................................................................................  2     INTRODUCTION  .............................................................................................................................................  2     REQUIREMENTS  ............................................................................................................................................  2     DESIGN  DOCUMENT  ....................................................................................................................................  4     TEST  PLAN  ......................................................................................................................................................  6     Meeting  Minutes  ...........................................................................................................................................  6     Back  and  Frond  End  Design  code  and  Graphical  User  Interface  .............................................  7                                                                        
  2.   SOFTWARE  PROJECT  ENGINEERING     INTRODUCTION     For  this  project  module,  we  were  required  to  work  in  as  a  team  (students  from   Robert  Gordon  University,  Aberdeen  and  students  from  International  Institute  of   Information  Technology,  Bangalore)  to  design,  build,  test  and  evaluate  a  mobile   software  application  using  the  Agile  methodology.  The  aims  and  objectives  of  the   project  were  to  provide  students  with  the  opportunity  to:   • Gain   first-­‐hand   experience   of   the   principles   and   techniques   required   to   become  an  effective  member  of  a  software  development  team   • Use  selected  techniques  software  project  management  best  practices   • Undertake   software   development   activities   including,   project   planning,   requirements   gathering   and   analysis,   system   design,   software   implementation  and  testing   • Perform  object-­‐oriented  analysis  and  design   • Consider   the   broader   legal,   social,   ethical   and   professional   issues   associated  with  developing  software  applications   • Work with others to develop software in a collaborative project to satisfy a customer demand   • Use  software  engineering  best  practices  in  the  course  of  the  project   • Use Internet hosted collaboration tools   • Learn about mobile device software development   REQUIREMENTS     The  requirement  models  are  classified  as  follows:     Software  Development  Tools     We  were  required  to  use  Android  Software  Developer’s  kit  (SDK),  which  includes   a  fully  configured  update  version  of  Eclipse  development  environment.  We  were   also   required   to   use   the   Android   Gingerbread   (V2.3)   release   as   mobile   phone   Operating  System  version     Software  Development  Process     We   were   required   to   use   a   combination   of   Scrum   (Schwaber   &   Beedle,   2001)   (Schwaber   2004)   and   Extreme   Programming   (Beck   &   Andres,   2004).   These   methods  requirement  process  role  definitions  in  scum  and  the  following  roles   were  defined:  
  3. • Product   owner:   The   customer's   representative   on   the   project.   Responsible   for   explaining   requirements   and   deciding   priorities.   Academic  staff  will  be  the  product  owners  on  the  project.   • Scrum   master:   The   scum   master   is   a   team   leader.   Responsible   for   ensuring  the  team  follows  the  scrum  method  correctly.  Also,  responsible   for   protecting   the   team   from   any   distractions   or   blockages   confronting   the  team.  The  scrum  master  will  make  resolve  disputes  within  the  team   and  make  the  final  decision  where  team  members  can't  reach  agreement.   • Team   members:   The   rest   of   the   development   team   are   team   members.   This  includes  (at  least)  designers,  requirements  analysts,  developers  and   testers.   a. Testers   work   with   developers   to   define   and   execute   test   plans.   Tests   scenarios  and  results  should  be  recorded   b. Requirements  analysts  liaise  with  the  product  owners  to  understand  and   elaborate  requirements.  They  may  prepare  storyboards,  use  cases  or  class   diagrams  (depending  on  the  types  of  product)  to  disseminate  details  to   team  members.   c. Developers  write  and  unit  test  code   d. Integrator  integrates  code  releases  to  maintain  a  working  repository  of   code  for  the  team.     Application  Requirements  (User  stories)     High-­‐Level  Requirement  Epics   1. As  a  survey  participant,  I  want  to  be  able  to  fill-­‐in  survey  questionnaires   while  I  am  on  the  move,  in  order  to  inform  and  influence  survey  owners.   2. As  a  survey  owner,  I  want  to  be  able  to  gather  qualitative  and  quantitative   information,  in  order  to  allow  evidence-­‐based  decision-­‐making.   3. As  an  administrator  I  want  to  be  able  to  create  and  test  surveys  in  order   to  meet  the  needs  of  survey  owners.   1. ,   I   want   to   see   the   collated   scores   of   my   survey   results,   in   order   to   understand  survey  participant  responses.   2. As   a   survey   participant,   I   want   to   complete   surveys   easily,   in   order   to   provide  information  quickly.   3. As   an   administrator,   I   want   to   create   a   survey   question   using   a   5   or   7   value  Likert  scale,  in  order  to  meet  the  needs  of  the  survey  owner.       User  Stories:   User  stories  were  defined  and  divided  into  three  sprints/iterations.  Below  is  a   list  of  all  the  User  stories.   I. As  a  survey  owner,  I  want  to  see  collated  survey  response  data  presented   clearly,  so  I  can  easily  understand  survey  participant  responses,  so  I  can   make  good  decisions.   II. As  an  administrator  a  I  want  to  define  the  question  text  on  Likert  scale   survey  questions,  in  order  to  meet  the  needs  of  the  survey  owner.   III. As   an   administrator   a   I   want   to   define   the   legend   text   on   Likert   scale   survey  questions,  in  order  to  meet  the  needs  of  the  survey  owner.  
  4. IV. As   an   administrator   a   I   want   to   define   the   legend   text   on   Likert   scale   survey  questions,  in  order  to  meet  the  needs  of  the  survey  owner.   V. As  a  survey  participant,  I  want  to  give  yes  or  no  answers  to  appropriate   questions  in  order  to  express  my  opinion  to  the  survey  owner.   VI. As  a  survey  participant,  I  want  to  type  written  responses  to  open  ended   questions  in  order  to  express  my  opinion  to  the  survey  owner.   VII. As   a   survey   participant,   I   want   to   navigate   forwards   and   backwards   between   survey   questions,   in   order   to   compare   and   refine   my   survey   responses.   VIII. As   a   survey   participant,   I   want   to   be   able   to   save   (and   later   resume)   a   partially   completed   survey   in   order   to   choose   convenient   times   to   respond  to  survey  questions.   IX. As  a  survey  participant,  I  want  feedback  that  my  survey  responses  have   been  received  in  order  to  express  my  opinion  to  the  survey  owner.       DESIGN  DOCUMENT       Fig  1(Class  Diagram)     Fig  (1)  shows  the  UML  class  diagram  for  the  survey  application.  It  contains  eight   classes   which   represent   the   different   activity   platforms   on   the   android   application.  This  includes;   • openEnded  activity:  creates  and  manages  an  open  ended  question.  
  5. • YesNoQue   activity:   creates   and   manages   yes   and   no   questions   with   the   functionality  of  having  the  survey  participant’s  responses  saved  so  that   when  he/she  navigates  back  and  forth,  data  is  not  lost.   • LikertScale  activity:  creates  and  manages  either  a  5  or  7  point  likert  scale   question.   Also   allows   the   survey   owner   flexibility   on   choosing   the   different  options  for  the  lickert  scale  question-­‐type  chosen.   • Survey   activity:   this   manages   the   survey   created   by   the   survey   owner   differentiating   it   from   other   surveys   and   allowing   the   survey   owner   to   receive   the   right   responses   for   the   survey   requested   by   means   of   the   survey  name.   • Question  activity:  This  activity  generates  the  different  types  of  questions   requested  by  the  survey  owner  to  be  included  in  the  survey.  It  uses  the   createQuestion  method  to  invoke  methods  from  the  different  classes  that   contain  the  question  templates.   • Admin   activity:   Concerned   with   the   creation   of   questions   for   a   new   survey,   deleting   questions   and   responses   from   the   database   and   displaying  the  data  from  the  database.     • SurveyOwner  activity:  Takes  care  of  data  from  the  survey  and  responses   from  the  survey  participant.   • DatabaseHandler   activity:   Handles   the   connection   of   the   different   activities   to   the   database   with   the   HTTPpost   parameters   method   using   PHP,   JSON   (JavaScript   Object   Notation)   Parser   and   then   JavaScript   and   Ajax  for  the  web  end.       Fig  2  (Use-­‐Case  Diagram)    
  6. Fig  (2)  illustrates  how  the  user  communicates  with  the  application  and  can  be   further  divided  into:  Main  scenario,  and  Extension.  This  is  briefly  explained  in   the  use  case  text  depicted  in  the  figure  below.                 Mid-­‐Level  Requirements   As  a  survey  owner                             TEST  PLAN   Our  test  plan  was  subject  to  the  each  task  set  within  each  iteration.  The  points   listed  below  form  the  core  of  our  test  plan  across  the  different  iterations   • Testing  was  done  across  the  Eclipse  and  Android  software  development   kit  (SDK)  platforms  on  different  Android  Virtual  Devices  (AVD’s)   • Unit  testing  was  done  after  implementation  of  every  functionality   • Database  connectivity  functionality  was  tested  within  local  environments   as  well  as  on  distant  live  server   • Final  integration  testing  was  done  to  ensure  the  application  runs  properly   on  a  real  mobile  device       Meeting  Minutes   • We  held  general  meetings  with  the  product  owners  twice  every  week   • Every   meeting   began   with   a   status   update   where   each   member   of   the   team  explained  what  he  or  she  had  been  working  on  since  the  previous   status   update.   We   were   also   expected   to   indicate   if   we   had   caused   or   experienced  any  blockers  during  these  status  updates.   • We   held   side   meetings   between   team   members   (without   the   product   owners)  at  least  once  every  week.  This  provided  us  with  opportunities  to   resolve  pending  issues  that  were  unattended   Use  Case  Level:  Sea  Level   Main  Scenario:   1. Survey  participant  launches  the  Application   2. System  Initializes  survey  and  welcomes  the  user   3. Survey  participant  begins  the  survey   4. Survey  participant  answers  survey  questions   5. Survey  participant  ends  the  survey   6. System  saves  responses  in  the  database   7. System  Initializes  the  survey  questions   Extensions:   4a:  Survey  participant  navigates  backwards  and  forward   .1:  Survey  participant  returns  to  change  a  previous  response   .2:  System  saves  responses  made  by  the  user   4b:  Survey  participant  returns  to  complete  a  partially  filled   survey   6a:  Survey  participant  receives  feedback  message  that   responses  have                    been  received    
  7. • Team  members  were  also  expected  to  relay  any  challenge  or  difficulties   experienced  as  well  as  proposed  difficulties  and  this  helped  to  structure   our  project  development  for  futuristic  additions  and  modifications       Back  and  Frond  End  Design  code  and  Graphical  User  Interface       Fig  3:  .java  and  .XML  codes  from  back  end  used  on  Android  for  designing  the   mobile  GUI    
  8.   Fig  4:  .java  and  PHP  scripts  used  to  send  and  receive  data  between  mobile  device   and  remote  Database         Fig5:  Front  end  webpage  design  where  surveys  are  created  by  the  survey  owner  
  9.   Fig  6:  A  template  for  creating  a  7  likert  scale  question                                          
  10. REFERENCES     Beck,  K.  &  Andres,  C.  2004.  Extreme  Programming  Explained    2nd  ed.,  Addison   Wesley.     Schwaber,  K.  &  Beedle,  M.  2001.  Agile  Software  Development  with  Scrum  ,  Upper   Saddle  River,  NJ,  USA:  Prentice  Hall.     Schwaber,  K.  2004.  Agile  Project  Management  With  Scrum  ,  Redmond,  WA,  USA:   Microsoft  Press.        
Anzeige