Está en la página 1de 17

QuestionnaireSpecificationsDatabase(QSD) forinstrumentsdevelopedinBlaise

JoeNofziger LiliaFilippenko ValentinaGrouverman


May23,2006

March23,2006

RTIInternationalisatradenameofResearchTriangleInstitute

3040CornwallisRoad Phone9195416000

P.O.Box12194 ResearchTrianglePark,NorthCarolina,USA27709 Fax9195416178 emailjmn@rti.org

Introduction
Faster,bettercontrolleddevelopment AutomaticallyconvertspecstoBlaiseIncludefiles Easilyaddasecondlanguage SynchronizespecsandBlaisecode Logchanges

March23,2006

CaseStudy

PALS:currentCAPIsurvey 449changeslogged12/23.Newversion12/28,and hadaMerryChristmas 422changesloggedon1/11.Newversionthatnight. Spanishinoneday? Surveymanagers,programmers:couldnothavedone itwithoutQSD


March23,2006 3

OverviewoftheQSD
Programmersloadspecsfromadocumentand automaticallycreatefileswithtypes,fills,andmodules Specwritersandtranslatorsmakeiterativechanges tothespecifications ProgrammersexportthechangesintotheBlaisecode PrintedspecificationsareinsyncwiththeBlaisecode Allstaffmonitorchangesmadeduringdevelopmentof theBlaisequestionnaire
March23,2006 4

BlaiseinstrumentDesign
BlaiseDataModelBasics TheDataModeldefinesthequestionnaire:
DATAMODELBasicModel FIELDS A_NameWhatisyourname?:STRING[35] A_AgeHowoldareyou?:0..120 RULES A_Name A_Age ENDMODEL Rulesstateifandhow fieldsaredisplayed, andarelistedina RULESsection Fieldsholdthedata definitions,andare definedinaFIELDS section

March23,2006

OverviewoftheQSD(Systemflow)

March23,2006

BlaiseinstrumentDesign
BlaiseFieldTypesandFills
Types:
FieldtypeAtypedeclarationorthenameofauserdefinedtype TYPEsectionisusedtoholduserdefinedtypes
TYPE
TYesNo=(Yes(1)ENG"Yes"SPN"S" ,No(2)ENG"No"SPN"No")

Fill:
Holdsthevalueofanotherfieldandinsertsitintothequestiontext Insertedbyusinga^character
FIELDS
A_NameWhatisyourname?:STRING[35] A_Age^Name,howoldareyou?:0..120
March23,2006 7

BlaiseinstrumentDesign
BlaiseIncludeFiles
IncludeFiles:
Bringinformationthatisinaseparatefileintoadatamodel Makemaintenanceeasier Allowustocreatefilesautomatically

Examplesofincludefiles:
{A_Fields.inc}
FIELDS A_NameWhatisyourname?:STRING[35]
A_Age^Name,howoldareyou?:0..120

{Types.inc}
TYPE
TYesNo=(Yes(1)ENG"Yes"SPN"S" ,No(2)ENG"No"SPN"No")
March23,2006 8

BlaiseinstrumentDesign
BlaiseBlocks
Blocks:
UnitsofBlaisecodethatcanbereused Addstructuretoadatamodel DefinedandreferencedinthesamewayasaTYPE
BLOCKB_A {ModuleAAskNameandAge}
INCLUDEA_Fields.inc { A_NameWhatisyourname?:STRING[35]} { A_Age^Name,howoldareyou?:0..120} RULES A_Name A_Age

IncludefileA.inc

ENDBLOCK {B_A} FIELDS A:B_A


March23,2006 9

BlaiseinstrumentDesign
BlaiseDataModelforAutomationUpdate
DATAMODELAutoModel
{somesettings}

INCLUDETypes.inc INCLUDE"Filltypes.inc INCLUDEA.inc RULES


{somecode}

{TypesforallFieldsintheinstrument} {TypesforallFillsintheinstrument} {ModuleAdefinedasaFieldoftypeBlock}

INCLUDE"FillAuxfields.inc {FieldsthatareusedasFillsintheinstrument}

Fills.keep A {ExecutemoduleAAskNameandAge}

{somecode} ENDMODEL
March23,2006 10

OverviewoftheQSD(MainScreen)

March23,2006

11

OverviewoftheQSD(DeveloperView)

March23,2006

12

OverviewoftheQSD(SpeccerView)

March23,2006

13

OverviewoftheQSD(IterativeChanges)

March23,2006

14

OverviewoftheQSD(ACASI)

March23,2006

15

Conclusion
FasterdevelopmentofBlaiseInstruments:
Programmersfocusonlogicratherthanquestionwording MinimizeerrorswhencreatingBlaisecode Automaticallyaddsecondlanguage Automaticallycreatescriptsforsoundfiles

SpecsInstrumentsynchronization
Textalwaysinsyncandcanbeprintedintwolanguagesforreviewortesting Simplifysyncinglogic

MonitoringofallchangesintheQSD Futuredevelopment:
ConsideraddingBlaiselanguagetoIDADS ImprovetheQSDbyaddingmoreuserfriendlysearchfunctionsforchanges
March23,2006 16

Questions?
Thankyouto: PALSPortraitsofAmericanLifeSurvey,sponsored bytheUniversityofNotreDameandRiceUniversity LiliaFilippenko,RTIInternational ValentinaGrouverman,RTIInternational

March23,2006

17

También podría gustarte