User friendly tools for managing software development projects
Download
1 / 14

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


  • 364 Views
  • Updated On :

User-friendly tools for Managing Software Development Projects  Toby Burnett University of Washington Marco Frailis University of Udine Alex Schelssinger SLAC Introduction Objective: make HEP software developers more productive HEP software development components:

Related searches for User-friendly tools for Managing Software Development Projects

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'User-friendly tools for Managing Software Development Projects' - jana


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
User friendly tools for managing software development projects l.jpg

User-friendly tools for Managing Software Development Projects 

Toby Burnett

University of Washington

Marco FrailisUniversity of Udine

Alex Schelssinger

SLAC


Introduction l.jpg
Introduction Projects 

  • 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


The development environment l.jpg

Package Projects 

Package

Package

Package

Package

Package

Package

Package

Package

The development environment

Package/build manager

Release

User development Area


Solutions for cmt l.jpg
Solutions for CMT Projects 

(Similar approaches would apply to SRT and scram)

  • A GUI application

    • VCMT (windows and linux versions)

  • Simplified command-line interface:

    • glastpack


An oo analysis the players l.jpg

Objects: Projects 

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

An OO analysis: The players


The strategy l.jpg
The strategy Projects 

  • 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




A tour of the application l.jpg

Examine CMT settings Projects 

Set CMT path

Browse a package’s 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

A tour of the application


Vcmt for windows l.jpg

List of accessible package/versions Projects 

Actions to apply to selected package

Build actions:

Visual Studio 6 or 7

cvs operations

Doxygenate it

VCMT for Windows

Text input/output window


Structure of the windows code jscript and html l.jpg

vcmt.wsf Projects 

Internet

Explorer

COM

vcmt.htm

cmt.wsc

gui description

Structure of the Windows code: Jscript and HTML

main program:

manage objects, GUIrun cvs, visual studio

Windows

Script Host

CMT interface


The linux version l.jpg
The Linux version Projects 

  • Written in RUBY


Glastpack pl l.jpg
glastpack.pl Projects 

  • 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 <arguments>

  • 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


Concluding remarks l.jpg
Concluding remarks Projects 

  • 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/cvsweb-SLAC/vcmt4linux

    • glastpack: http://glast.stanford.edu/cgi-bin/cvsweb-SLAC/glastpack


ad