User-friendly tools for Managing Software Development Projects - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

User-friendly tools for Managing Software Development Projects

Description:

User-friendly tools for Managing Software Development Projects Toby Burnett University of Washington Marco Frailis University of Udine Alex Schelssinger – PowerPoint PPT presentation

Number of Views:139
Avg rating:3.0/5.0
Slides: 15
Provided by: TobyBu9
Learn more at: https://chep03.ucsd.edu
Category:

less

Transcript and Presenter's Notes

Title: User-friendly tools for Managing Software Development Projects


1
User-friendly tools for Managing Software
Development Projects 
  • Toby Burnett
  • University of Washington
  • Marco FrailisUniversity of Udine
  • Alex Schelssinger
  • SLAC

2
Introduction
  • Objective make HEP software developers more
    productive
  • HEP software development components
  • Package group of related source files, usually
    to build a single library and/or executable
  • Versioning via cvs tags
  • Release system to manage and build executables
    from set of tagged packages
  • Development scheme Test area mechanism for
    developing and testing new code against a
    release.
  • Observations
  • The release/management systems are command-line
    oriented, can be daunting to new developers
  • Hard to get overall view, especially when dealing
    with multiple packages

3
The development environment
Package/build manager
Release
User development Area
4
Solutions for CMT
  • (Similar approaches would apply to SRT and
    scram)
  • A GUI application
  • VCMT (windows and linux versions)
  • Simplified command-line interface
  • glastpack

5
An OO analysis The players
  • Objects
  • Environment CMT env vars, etc.
  • CMT packages
  • system (read-only, sticky tags)
  • development (head versions)
  • requirements files, sources
  • binaries libs, dlls, exes
  • Tools
  • CMT
  • CVS
  • development tools
  • Windows Visual Studio
  • Linux gmake, emacs, gdb/ddd
  • Doxygen

6
The strategy
  • Present the user with a view of all the objects
  • Allow appropriate tools to be used according to
    development scenarios
  • set environment
  • checkout packages, singly or in groups
  • browse set of available packages
  • examine properties of each package, relationships
  • modify and rebuild binaries
  • check in and/or tag new versions
  • run executables

7
We have objects lets define classes
What Class Name Vcmt(windows) implementation
CMT environment Cmt cmt.wsc COM object
A CMT package Package Jscript class Package
Package, its projects, and dependent projects Workspace Jscript class Workspace
Individual binary target Project Jscript class Project
8
The object model diagram
9
A tour of the application
  • Examine CMT settings
  • Set CMT path
  • Browse a packages properties
  • requirements file
  • used packages
  • macros, sets, etc.
  • Modify requirements file
  • Check cvs status
  • Start a console session in the package context
  • Checkout a package
  • Set up and build a package
  • Run a package application
  • Start Visual Studio (windows only

10
VCMT for Windows
Text input/output window
11
Structure of the Windows code Jscript and HTML
main program manage objects, GUIrun cvs, visual
studio
Windows Script Host
CMT interface
12
The Linux version
  • Written in RUBY

13
glastpack.pl
  • usage glastpack.pl create dirname
  • usage glastpack.pl help command
  • usage glastpack.pl build version
  • usage glastpack.pl rco package version
  • usage glastpack.pl run package exename
    ltargumentsgt
  • usage glastpack.pl add /path/to/area
  • usage glastpack.pl rebuild package
  • usage glastpack.pl remove /path/to/area
  • usage glastpack.pl co package version
  • usage glastpack.pl login
  • usage glastpack.pl logout

14
Concluding remarks
  • Experience
  • In use by all GLAST developers mature, few
    problems
  • it can test for consistency when starting, avoid
    installation problems
  • Package browsing
  • Buttons for all basic scenarios
  • override CMT behavior (checkout, broadcast)
  • Sources
  • VCMT/win http//glast.stanford.edu/cgi-bin/cvsweb
    -SLAC/vcmt
  • VCMT/linux http//glast.stanford.edu/cgi-bin/cvsw
    eb-SLAC/vcmt4linux
  • glastpack http//glast.stanford.edu/cgi-bin/cvswe
    b-SLAC/glastpack
Write a Comment
User Comments (0)
About PowerShow.com