Blaise Code Generator From implementing standards to coding automation Éric Joyal September 24th, 2013
Overview Context • Application Development • Standards Code Builder Questionnaire Development Tool (QDT) Blaise Code Generator (BCG) 17/10/2013 Statistics Canada • Statistique Canada 2
Application Development Multi-divisional project • Subject matter • Operations • System development 17/10/2013 Statistics Canada • Statistique Canada 3
17/10/2013 Statistics Canada • Statistique Canada 4
Client Divisions Education Census Income Labour Health Systems Operations Education Census Income Labour Health Development CAPI CATI Division Division 17/10/2013 Statistics Canada • Statistique Canada 5
Application Development Ongoing efforts to improve practices • Best practices • Module/Block oriented development • Quality assurance review of specifications • Many changes over the years, leading to... 17/10/2013 Statistics Canada • Statistique Canada 6
Standards Operations • Field naming convention (ABC_Q02, XYZ_R01, etc.) • Screen presentation rules (Font, Size, Color, …) • Standard blocks and Interviewer Instructions Development • Block specification rules • Blaise code standards 17/10/2013 Statistics Canada • Statistique Canada 7
Our Opportunity Problem: it took a lot of time to get static text from the specification to the code Desire: take less time! 17/10/2013 Statistics Canada • Statistique Canada 8
Code Builder Design • Manipula Scripts Details • Preparation • Formatting When to use it • During initial programming • One time only 17/10/2013 Statistics Canada • Statistique Canada 9
Questionnaire Development Tool (QDT) Consolidate, manage and standardize development of questionnaire • Questionnaire specification repository • Monitor progress of development • Create structured questionnaire specifications • Validation of content specifications • Dissemination Report • Link to other systems, etc. 17/10/2013 Statistics Canada • Statistique Canada 10
Corporate challenges Do more with less Deliver product more rapidly Increase efficiencies 17/10/2013 Statistics Canada • Statistique Canada 11
Blaise Code Generator (BCG) Take advantage of the QDT specification format Improve efficiency and quality of code • Build a block of code in 1-2 seconds • 75-90% of the block level code • Creates help files Improve block development process 17/10/2013 Statistics Canada • Statistique Canada 12
17/10/2013 Statistics Canada • Statistique Canada 13
BCG – User Interface 17/10/2013 Statistics Canada • Statistique Canada 14
QDT – Field Definition QDT – Field Definition 17/10/2013 Statistics Canada • Statistique Canada 15
BCG – Blaise Fields Definition 17/10/2013 Statistics Canada • Statistique Canada 16
QDT – Format Library (Type) 17/10/2013 Statistics Canada • Statistique Canada 17
BCG – Blaise Types Definition 17/10/2013 Statistics Canada • Statistique Canada 18
QDT – Dynamic Text 17/10/2013 Statistics Canada • Statistique Canada 19
BCG – Blaise Dynamic Texts 17/10/2013 Statistics Canada • Statistique Canada 20
Modified – Blaise Dynamic Texts 17/10/2013 Statistics Canada • Statistique Canada 21
QDT – EDITS 17/10/2013 Statistics Canada • Statistique Canada 22
BCG – Blaise Edits 17/10/2013 Statistics Canada • Statistique Canada 23
Modified – Blaise Edits 17/10/2013 Statistics Canada • Statistique Canada 24
QDT - Help 17/10/2013 Statistics Canada • Statistique Canada 25
BCG – Help – HTM Output 17/10/2013 Statistics Canada • Statistique Canada 26
QDT – Conditions (Flow control) 17/10/2013 Statistics Canada • Statistique Canada 27
BCG – Blaise RULES Output 17/10/2013 Statistics Canada • Statistique Canada 28
Conclusion Blaise Code Generator... • Reduces the amount of time programmers spend on static text • Increases the accuracy of coding • Reduces testing burdens! 17/10/2013 Statistics Canada • Statistique Canada 29
Acknow ledgement Jason Gray • Technical Design, Development and Support of the Blaise Code Generator (BCG) 17/10/2013 Statistics Canada • Statistique Canada 30
Questions? 17/10/2013 Statistics Canada • Statistique Canada 31
Recommend
More recommend