SlideServe
Menu
Préférences
© SlideServe · v2026

User-friendly tools for Managing Software Development Projects 

jana avatar
14 diapositives · 605 Views · Sep 16, 2010

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:

User-friendly tools for Managing Software Development Projects  - slide 1
01 / 14User-friendly tools for Managing Software Development Projects 
1 / 17

Télécharger la présentation

User-friendly tools for Managing Software Development Projects 
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  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. Package Package Package Package Package Package Package Package Package 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. 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 An OO analysis: The players

  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: let’s define classes

  8. The object model diagram

  9. Examine CMT settings 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

  10. List of accessible package/versions Actions to apply to selected package Build actions: Visual Studio 6 or 7 cvs operations Doxygenate it VCMT for Windows Text input/output window

  11. vcmt.wsf 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

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

  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/cvsweb-SLAC/vcmt4linux • glastpack: http://glast.stanford.edu/cgi-bin/cvsweb-SLAC/glastpack