SlideShare a Scribd company logo
1 of 10
Download to read offline
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	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
 
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:	
  
• 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.	
  
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.	
  
• 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)	
  
	
  
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	
  
	
  
• 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	
  
	
  
 
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	
  
 
Fig	
  6:	
  A	
  template	
  for	
  creating	
  a	
  7	
  likert	
  scale	
  question	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
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.	
  
	
  
	
  
	
  

More Related Content

Viewers also liked

Monsters in thrift store paintings
Monsters in thrift store paintingsMonsters in thrift store paintings
Monsters in thrift store paintingsJenny Moede
 
#1 t introduction to adjective noun
#1 t introduction to adjective noun#1 t introduction to adjective noun
#1 t introduction to adjective nounBasant Jain
 
Dossier de presse- ZEISS- Septembre 2014
Dossier de presse- ZEISS- Septembre 2014Dossier de presse- ZEISS- Septembre 2014
Dossier de presse- ZEISS- Septembre 2014pbcom1998
 
7 karakteristik dasar
7 karakteristik dasar7 karakteristik dasar
7 karakteristik dasarfara dillah
 
7 karakteristik dasar
7 karakteristik dasar7 karakteristik dasar
7 karakteristik dasarfara dillah
 
Lam quen lap trinh c++ trong moi truong vc6
Lam quen lap trinh c++ trong moi truong vc6Lam quen lap trinh c++ trong moi truong vc6
Lam quen lap trinh c++ trong moi truong vc6Mi Hoa'x
 
Faktor faktor yang mempengaruhi perkembangan individu
Faktor faktor yang mempengaruhi perkembangan individuFaktor faktor yang mempengaruhi perkembangan individu
Faktor faktor yang mempengaruhi perkembangan individufara dillah
 
7 karakteristik dasar
7 karakteristik dasar7 karakteristik dasar
7 karakteristik dasarfara dillah
 
Press book Fahrenberger
Press book FahrenbergerPress book Fahrenberger
Press book Fahrenbergerpbcom1998
 
Press Book Tear Science
Press Book Tear SciencePress Book Tear Science
Press Book Tear Sciencepbcom1998
 
Communiqué de presse CBien.com septembre 2014
Communiqué de presse CBien.com septembre 2014Communiqué de presse CBien.com septembre 2014
Communiqué de presse CBien.com septembre 2014pbcom1998
 
Tujuh karakteristik dasar perkembangan manusia
Tujuh karakteristik dasar perkembangan manusiaTujuh karakteristik dasar perkembangan manusia
Tujuh karakteristik dasar perkembangan manusiafara dillah
 
Communiqué de Presse Dentapass - PB Communication - Avril 2012
Communiqué de Presse Dentapass - PB Communication - Avril 2012Communiqué de Presse Dentapass - PB Communication - Avril 2012
Communiqué de Presse Dentapass - PB Communication - Avril 2012pbcom1998
 
Presentation1 (summer & autumn)
Presentation1 (summer & autumn)Presentation1 (summer & autumn)
Presentation1 (summer & autumn)Cheng Meng Feng
 
Keterampilan berbicara
Keterampilan berbicaraKeterampilan berbicara
Keterampilan berbicarafara dillah
 

Viewers also liked (19)

Monsters in thrift store paintings
Monsters in thrift store paintingsMonsters in thrift store paintings
Monsters in thrift store paintings
 
#1 t introduction to adjective noun
#1 t introduction to adjective noun#1 t introduction to adjective noun
#1 t introduction to adjective noun
 
Dossier de presse- ZEISS- Septembre 2014
Dossier de presse- ZEISS- Septembre 2014Dossier de presse- ZEISS- Septembre 2014
Dossier de presse- ZEISS- Septembre 2014
 
7 karakteristik dasar
7 karakteristik dasar7 karakteristik dasar
7 karakteristik dasar
 
7 karakteristik dasar
7 karakteristik dasar7 karakteristik dasar
7 karakteristik dasar
 
ANCILLA CV
ANCILLA CVANCILLA CV
ANCILLA CV
 
Lam quen lap trinh c++ trong moi truong vc6
Lam quen lap trinh c++ trong moi truong vc6Lam quen lap trinh c++ trong moi truong vc6
Lam quen lap trinh c++ trong moi truong vc6
 
Webdesign & CMS
Webdesign & CMSWebdesign & CMS
Webdesign & CMS
 
Webdesign & CMS
Webdesign & CMSWebdesign & CMS
Webdesign & CMS
 
Faktor faktor yang mempengaruhi perkembangan individu
Faktor faktor yang mempengaruhi perkembangan individuFaktor faktor yang mempengaruhi perkembangan individu
Faktor faktor yang mempengaruhi perkembangan individu
 
7 karakteristik dasar
7 karakteristik dasar7 karakteristik dasar
7 karakteristik dasar
 
Press book Fahrenberger
Press book FahrenbergerPress book Fahrenberger
Press book Fahrenberger
 
Press Book Tear Science
Press Book Tear SciencePress Book Tear Science
Press Book Tear Science
 
Communiqué de presse CBien.com septembre 2014
Communiqué de presse CBien.com septembre 2014Communiqué de presse CBien.com septembre 2014
Communiqué de presse CBien.com septembre 2014
 
Design Con VNA
Design Con VNADesign Con VNA
Design Con VNA
 
Tujuh karakteristik dasar perkembangan manusia
Tujuh karakteristik dasar perkembangan manusiaTujuh karakteristik dasar perkembangan manusia
Tujuh karakteristik dasar perkembangan manusia
 
Communiqué de Presse Dentapass - PB Communication - Avril 2012
Communiqué de Presse Dentapass - PB Communication - Avril 2012Communiqué de Presse Dentapass - PB Communication - Avril 2012
Communiqué de Presse Dentapass - PB Communication - Avril 2012
 
Presentation1 (summer & autumn)
Presentation1 (summer & autumn)Presentation1 (summer & autumn)
Presentation1 (summer & autumn)
 
Keterampilan berbicara
Keterampilan berbicaraKeterampilan berbicara
Keterampilan berbicara
 

Similar to Report for SPE

Mi0033 software engineering
Mi0033   software engineeringMi0033   software engineering
Mi0033 software engineeringsmumbahelp
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
1. object oriented concepts & principles
1. object oriented concepts & principles 1. object oriented concepts & principles
1. object oriented concepts & principles poonam bora
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
21UCAE65 Software Testing.pdf(MTNC)(BCA)
21UCAE65 Software Testing.pdf(MTNC)(BCA)21UCAE65 Software Testing.pdf(MTNC)(BCA)
21UCAE65 Software Testing.pdf(MTNC)(BCA)ssuser7f90ae
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
Product Backlog Mapping
Product Backlog MappingProduct Backlog Mapping
Product Backlog MappingPaul Nil
 
Software engineering (Unit-1 Introduction)
Software engineering (Unit-1 Introduction)Software engineering (Unit-1 Introduction)
Software engineering (Unit-1 Introduction)YamunaP6
 
Some of the Material in this paper has been repurposed from C.docx
Some of the Material in this paper has been repurposed from C.docxSome of the Material in this paper has been repurposed from C.docx
Some of the Material in this paper has been repurposed from C.docxwhitneyleman54422
 
IGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docx
IGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docxIGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docx
IGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docxAnilVhatkar
 
osd ncc education assingment l4dc
osd ncc education assingment l4dcosd ncc education assingment l4dc
osd ncc education assingment l4dcDavid Parker
 
STLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptxSTLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptxssusere4c6aa
 
Info461ProjectCharterEskridgeAs08
Info461ProjectCharterEskridgeAs08Info461ProjectCharterEskridgeAs08
Info461ProjectCharterEskridgeAs08Greg Eskridge
 

Similar to Report for SPE (20)

Scrum introduc.ppt
Scrum introduc.pptScrum introduc.ppt
Scrum introduc.ppt
 
Mi0033 software engineering
Mi0033   software engineeringMi0033   software engineering
Mi0033 software engineering
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
1. object oriented concepts & principles
1. object oriented concepts & principles 1. object oriented concepts & principles
1. object oriented concepts & principles
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
21UCAE65 Software Testing.pdf(MTNC)(BCA)
21UCAE65 Software Testing.pdf(MTNC)(BCA)21UCAE65 Software Testing.pdf(MTNC)(BCA)
21UCAE65 Software Testing.pdf(MTNC)(BCA)
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Product Backlog Mapping
Product Backlog MappingProduct Backlog Mapping
Product Backlog Mapping
 
Software engineering (Unit-1 Introduction)
Software engineering (Unit-1 Introduction)Software engineering (Unit-1 Introduction)
Software engineering (Unit-1 Introduction)
 
Some of the Material in this paper has been repurposed from C.docx
Some of the Material in this paper has been repurposed from C.docxSome of the Material in this paper has been repurposed from C.docx
Some of the Material in this paper has been repurposed from C.docx
 
Pawan111
Pawan111Pawan111
Pawan111
 
IGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docx
IGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docxIGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docx
IGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docx
 
NavinB
NavinBNavinB
NavinB
 
osd ncc education assingment l4dc
osd ncc education assingment l4dcosd ncc education assingment l4dc
osd ncc education assingment l4dc
 
STLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptxSTLC & SDLC-ppt-1.pptx
STLC & SDLC-ppt-1.pptx
 
Table of contents
Table of contentsTable of contents
Table of contents
 
Info461ProjectCharterEskridgeAs08
Info461ProjectCharterEskridgeAs08Info461ProjectCharterEskridgeAs08
Info461ProjectCharterEskridgeAs08
 
BAAgileQA
BAAgileQABAAgileQA
BAAgileQA
 
ADervisevic-RockwellCollins
ADervisevic-RockwellCollinsADervisevic-RockwellCollins
ADervisevic-RockwellCollins
 

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.