fur seal data entry a project by samuel beecher. fur seal data entry client ◦ dr. ward testa ◦...

41
Fur Seal Data Entry A Project by Samuel Beecher

Upload: brandon-eaton

Post on 12-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Fur Seal Data EntryA Project by Samuel Beecher

Page 2: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Fur Seal Data EntryClient

◦Dr. Ward Testa◦Research Wildlife Biologist◦Works with National Marine Mammal

Laboratories

Project◦Data Entry App ◦Motorola Defy (Android 2.0 Update 1)

Page 3: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

HISTORYIn the beginning was…

Page 4: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

History: Where it BeganDesignated as depleted in 1988

◦National Marine Fisheries Service

More specific monitoring after 2000◦National Marine Mammal Laboratory

Page 5: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

History: Where it Began (cont)Done on Pribilof Islands

Archipelago ◦St. Paul and St. George◦70% of total Fur Seal Population

globally

Page 6: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

History: What it Looked LikeTrack population composition:

◦Size◦Age◦Sex◦Natural Mortality

Performed Observations◦Summer months◦Process needs to be accurate

Used for statistics

Page 7: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

History: What it Looked Like (cont)

Page 8: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

History: What it Looked Like (cont)Codes are important

◦Visibility ( 1 - 3◦Pup (0 – 5)◦Age (P, J, A)◦Loss (0 – 6)

Used for easy reference and writing◦Cheat sheet on back of printed form

Used in Excel Sheet◦Statistics and entry

Page 9: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

History: What it Looked Like (cont)Entered into an Excel

Spreadsheet◦Used to create statistical data

Page 10: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

History: What it Looked Like (cont)Also done by performing

“Counts”◦Summer months

Pad and Paper

Entered into Excel Spreadsheet

Page 11: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

PROJECT GROWTHFrom birth to adulthood…

Page 12: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

The Growth of a ProjectBirth

◦ Initial SpecificationsToddler

◦DesignPre-Teen

◦Finalizing DesignTeenager

◦Problems and RefactoringAdult

◦Final Touches

Page 13: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

BIRTHInitial Specifications…

Page 14: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Birth: Initial SpecificationsClient Specifications: Observations

◦Check IDLookup table for consistency Tag Side, color, type, and number

◦Insert new record, or Edit previous record

◦Check plausibility of Tag Type / Color combo

◦Check plausibility of Island / Rookery / Section combo

Page 15: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Birth: Initial Specifications (cont)Additional Specifications:

Observations◦Lookup table of all observations for

that day◦Dynamic Island, Rookery, Section,

Tag Types, Tag Colors, and all codes I.e. they can’t be hardcoded There must be a centralized place to

manage and transfer data to phone

◦Transfer IDLookup spreadsheet to Phone

Page 16: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Birth: Initial Specifications (cont)Client Specifications: Counts

◦Counters for Females, pups, harem bulls, territorial bulls, and lone bulls

◦Harem Bulls must have femalesAdditional Specifications: Counts

◦Counters for dead adults, bulls, females and pups

◦Lookup table of all previous counts for that day

◦Ability to enter “negative” counts

Page 17: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Birth: Initial Specifications (cont)Client Specifications: General

◦Export counts, observations to CSV◦Move CSV from phone to computer

Additional Specifications: General◦Export count totals in a separate CSV

Page 18: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Birth: Initial Specifications (cont)Design Environment

◦Started with MotoDev for Eclipse◦Switched to NBAndroid for Netbeans

Schedule◦Planned for 8 hours a week◦Spent much more

Page 19: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

TODDLERInitial Design…

Page 20: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Toddler: DesignPrototyping

◦Convenient for working on Android◦First large scale project

First Design Ideas◦Based on initial specifications◦Changed drastically by the end

Page 21: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Toddler: Design (cont)

ObservationForm

datetimeobser verrooker yvisibi l ityC odef i rstTagother Fl ipper SeensecondTagSea lpupC odephotosTakencommentsSubmit()

SEAL

I DL ef tTagRightTagSexA ge

TAG

sea l IDnumbersidetypecolorlossCode

C ountForm

I Dbul lharemBul lfemalepup

Submit()

C ontroller

mainFormcountFor mobsFor mdataC ontr ol ler

DataC ontroller

saveC ount()saveObs()

MainForm

selectC ount()selectO bs()dow nloadCSV()

U M L Diagram

star tM ain()star tCount()star tObs()

Page 22: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Toddler: Design (cont)

OBSERVAT ION

i d(pk )dateti meobserverrookery (fk )vi s i bi l i tyCod e (fk)f i rstTag (fk)otherFl i p perSeensecond Tag (fk )pup Cod e (fk )photosTakencomments

SEAL

i d (pk)lef tTag (fk)rightTag (f k)sex age

TAG

nu mber (p k )s i d etypecol orl ossCod e

SEAL_TAG

tagN um ( fk )seal I d (fk )

TYPE

typ eI D (p k )typ eN ame

T YPE_COLOR

typ eI D (p k , fk )Col or (p k )

PUP

codeI D (p k )codeD esc

VISIBILIT Y

cod eI d (p k )cod eDesc

LOSS

cod eI D(p k)cod eDesc

ROOKERYR ookery I D (p k )n amel atl on

Page 23: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

PRE-TEENFinalizing Design…

Page 24: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Pre-Teen: Finalizing DesignLots of refactoring

◦Project size grew quickly,◦Needed easier way to add new

elements without repeated code i.e. a more Object Oriented design

pattern

Produced◦New design pattern◦New database setup

Page 25: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Pre-Teen: Finalizing Design (cont)

Page 26: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Pre-Teen: Finalizing Design (cont)

Page 27: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Pre-Teen: Finalizing Design (cont)Not the end

◦Design changed one last time◦Found classes were getting too large

to be manageable◦Wanted to separate functionality ◦Needed addition of classes to

handle: Database access Xml Parsing Export of CSV

Page 28: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Pre-Teen: Finalizing Design (cont)

Page 29: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Pre-Teen: Finalizing Design (cont)Each Activity activates its controller

◦Android Activity Management workaround◦Slave wakes up the master….

Controller handles data validation, insertion, etc…

Activity handles all visualsModel-View-Controller Pattern

◦A parallel class hierarchyAlso used Singleton and Adapter patterns

◦dataController◦databaseController

Page 30: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Final UML

Page 31: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Final UML

Page 32: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Pre-Teen: Finalizing Design (cont)More to do

◦Still needed to transfer files to phone

Transfer of Data to Phone◦Mini program ran on computer◦Needed to be compatible with Mac or

Windows platform◦Parsed Excel Document, put into XML

format, transferred to phone SD card

Page 33: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Pre-Teen: Finalizing Design (cont)Done with design

◦Easier to add components ◦More to figure out

Algorithms for parsing Excel, Xml and insertion to database

Now just needed to implement!◦Lots of custom widgets for special

functionality

Page 34: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

TEENAGERProblems and Refactoring…

Page 35: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Teenager: Problems / RefactoringLearning Curve

◦First large scale project◦Fairly new to Android◦Never used SQLite◦Debugging proved really difficult

Not always clear on error

Page 36: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Teenager: Problems / RefactoringMisunderstandings

◦Several, all on my side of the street Tag Creation and Management

Required a change to the database design Seal Code Management

Additional Excel Parsing and insertion

Regular meetings helped, A LOT!

Page 37: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

ADULTReview…

Page 38: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Adult: ReviewPlanned 8 hours per week

◦Actual roughly 20 - 22 per week

Still working on bugs◦Dr. Testa is working with phone

Page 39: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

Adult: Review (cont)

Design8%

Re-quirements3%

Writeup4%Pre-sen-tatio

n5%

Implmentation60%

Testing20% Design

RequirementsWriteupPresentationImplmentationTesting

Page 40: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

CONCLUSIONTo Conclude…

Page 41: Fur Seal Data Entry A Project by Samuel Beecher. Fur Seal Data Entry Client ◦ Dr. Ward Testa ◦ Research Wildlife Biologist ◦ Works with National Marine

ConclusionLearned Much

◦First Project with a Client◦First Large Scale project◦New to Android

App contained all major features needed

Took longer than expectedHopefully will be used in the fieldWork was hard but well worth it