PINTS Software Practices Jarett Hailes July 22, 2003.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
OBJECT ORIENTED PROGRAMMING M Taimoor Khan
User Interface Design Notes p7 T120B pavasario sem.
Object Oriented Framework for Filtering
Manifold Filtering Problem Lockheed Martin Jarett Hailes Jonathan Wiersma Richard VanWeelden July 21, 2003.
MULTIMEDIA Development Team.
UI Standards & Tools Khushroo Shaikh.
1 Ranked Queries over sources with Boolean Query Interfaces without Ranking Support Vagelis Hristidis, Florida International University Yuheng Hu, Arizona.
Illinois Institute of Technology
CSE1301 Computer Programming: Lecture 13 Documentation.
Chapter 1 Software Engineering. Homework ► Read Section 2.2 (pages 79-98) ► Answer questions: ► 7, 8, 11, 12, & 13 on page 134. ► Answer on paper, hand.
Reuse Activities Selecting Design Patterns and Components
Software System Integration
Approaches to ---Testing Software Some of us “hope” that our software works as opposed to “ensuring” that our software works? Why? Just foolish Lazy Believe.
A Billiards Point of Sale Application Christopher Ulmer CS 470 Final Presentation.
Unit 2 — Building Web Part B) Designing the Web. Phase 1: Planning a Web Site Like an architect designing a building, adequately planning your Web site.
October 30, 2008 Extensible Workflow Management for Simmod ESUG32, Frankfurt, Oct 30, 2008 Alexander Scharnweber (DLR) October 30, 2008 Slide 1 > Extensible.
Lesson 7 Guide for Software Design Description (SDD)
Virtual Mechanics Fall Semester 2009
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Incell Phonium Processor Project Plan Document Dale Mansholt Aaron Drake Jon Scruggs Travis Svehla.
Bob Jacobsen August 6 Informal discussion of BaBar software BaBar offline code’s ecological niche Set of non-overlapping idioms Event - our software bus?
Understand Application Lifecycle Management
Web Designing By Bhupendra Ratha, Lecturer School of Library & Information Science D.A.V.V., Indore.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Fun, fun, fun. But first … the code review Preparation Process.
Project Plan for nSite Central Michael Dunn Ryan Sessions Kyle Kerrigan.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
Common Set of Tools for Assimilation of Data COSTA Data Assimilation Summer School, Sibiu, 6 th August 2009 COSTA An Introduction Nils van Velzen
MapReduce Kristof Bamps Wouter Deroey. Outline Problem overview MapReduce o overview o implementation o refinements o conclusion.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Advisor: Dr. Edwin Jones 1 Client: Paul Jewell ISU Engineering Distance Learning Facility May01-13 Design Team: David DouglasCprE Matt EngelbartEE Hank.
RUBRIC IP1 Ruben Botero Web Design III. The different approaches to accessing data in a database through client-side scripting languages. – On the client.
Access The L Line The Express Line to Learning 2007 L Line L © Wiley Publishing All Rights Reserved.
Chapter 3 Top-Down Design with Functions Part II J. H. Wang ( 王正豪 ), Ph. D. Assistant Professor Dept. Computer Science and Information Engineering National.
CONTENT 1.Software Process 2.Object Technology 3.UML 4.UML For Java.
Software testing techniques Software testing techniques Object-oriented software testing Presentation on the seminar Kaunas University of Technology.
GUI For Computer Architecture May01-05 Team Members: Neil HansenCprE Ben JonesCprE Jon MathewsCprE Sergey SannikovCprE Clients/Advisors: Manimaran Govindarasu.
Lesson 3-Multimedia Skills. Overview Members of a multimedia team. Roles and responsibilities in a multimedia team.
29. April 2005EPICS Office - Next Steps 1 EPICS Office next Steps Matthias Clausen.
State of Georgia Release Management Training
DETAILED DESIGN, IMPLEMENTATION AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Functions Part I (Syntax). What is a function? A function is a set of statements which is split off into a separate entity that can be used like a “new.
Slide 1 2/22/2016 Policy-Based Management With SNMP SNMPCONF Working Group - Interim Meeting May 2000 Jon Saperia.
7-1 Active Server and ADO Colorado Technical University IT420 Tim Peterson.
EDOS Workgroup Update Laboratory Orders Interface Initiative.
1 Multimedia Development Team. 2 To discuss phases of MM production team members Multimedia I.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
Managing multiple projects or services? Have a mix of Microsoft Project and more simple tasks? Need better visibility and control?
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
CSC 108H: Introduction to Computer Programming
Laboratory Orders Interface Initiative
Asynchronous Task (AsyncTask) in Android
Rekayasa Perangkat Lunak Part-13
Object-oriented software testing
SOFTWARE DESIGN AND ARCHITECTURE
Unified Modeling Language
System Design and Modeling
Black Box Software Testing (Academic Course - Fall 2001)
Software engineering USER INTERFACE DESIGN.
Chapter 10 Development of Multimedia Project
Lecture 09:Software Testing
Welcome to E-Prime E-Prime refers to the Experimenter’s Prime (best) development studio for the creation of computerized behavioral research. E-Prime is.
Unified Modeling Language
Introduction to Pattern Oriented Analysis and Design (POAD)
What is a System? A system is a collection of interrelated components that work together to perform a specific task.
Presentation transcript:

PINTS Software Practices Jarett Hailes July 22, 2003

Acknowledgements Practices have been developed in conjunction with: –Surrey Kim –David Ballantyne –Calvin Chan –Jonathan Wiersma –Jesse McCrosky –Nikki Hu –Liam Stewart –Mike Kouritzin

Outline Background Objectives Practices –Organization –Standards –Testing & Review –Software Design Framework

Background Before: –One off project development –Little coding standards –Limited independent testing –Management burden

Background Cont. Early initiatives: –Determine common interfaces –Provide group collaboration –Discussed standard way of presenting data/code

Background Cont. We found: –Bottom-up approach didn’t catch everything –Common code helped speed development –Needed to build more consistent structure usage –Haven’t made independent testing a reality

Objectives Reorganize PINTS to distribute leadership and maximize productivity Finish developing management reporting, and coding standards Establish and execute trial run of testing and code review Develop versatile framework for all projects

Organization Project Leader Project Manager Project Head … Project Members

Standards Project Standards –Outline –Informal updates –Project Reports Coding Standards –Style & Substance Documentation Standards –Recording all relevant information

Testing Independent, black box testing Based on code documentation in interfaces Deterministic versus random components

Code Review Process: 1.Prior to meeting, main author sends out code to reviewers 2.Reviewers look over code for: a)Correctness b)Coding style standards c)Clarity/relevance of comments

Review Contd. 3.Meeting: a)Tester presents black box results b)Reviewers provide feedback on code c)Suggest/Require changes 4.Post-Meeting: a)Alter code as necessary b)Follow-up with subset of reviewers

Framework Outline Requirements Interface Directions

Requirements Easy to assimilate (new users) ‘Plug and Play’ filters/problems Provide distributable computing interface Ability to build language around framework Make filter code more versatile

Interface Basic Object Hierarchy Signal / Observation Models Filter breakdown –Modules –Filter interface Executables

Basic Objects

Signal / Observations

Modules

Filter

Executables

Putting it Together Example: ProjectManager::buildEnvironments() { numFilters = parameterFile.getFilterCount(); for (i=0; i<numFilters; i++) { parameterFile.getFilterVariables (i, vars); switch(vars.filterType) { case SERP: this->buildSERPEnvironment(vars); … }

Example Contd. ProjectManager::run() { for (int i=0; i<numFilters; i++) { for(int j=0; j<moduleCount[i]; j++) executeModule(filters[i], moduleOrder[i][j]); }

Directions Complete interface standardization Realize helper classes (updater, visualizer, etc.) Implement on all combinations for: –2 Signal/Observation pairs –2 Filters: Particle & (REST or IDEX)