• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Tools
 

Tools

on

  • 2,003 views

 

Statistics

Views

Total Views
2,003
Views on SlideShare
2,003
Embed Views
0

Actions

Likes
0
Downloads
7
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Tools Tools Presentation Transcript

    • Development & coordination Tools Juan José Sánchez Penas Master on Free Software
    • Coordination tools Master on Free Software
    • Coordination tools (I)● Goal: we group here the tools devoted to the work management of a hackers group● There are multiple areas managed by these tools: ● Work schedule ● Documentation/information ● Repositories ● Tickets/bugs ● Communications Master on Free Software
    • Coordination tools (II)● Some tools cover various areas (sourceforge and forges)● Usually they try to integrate multiple services or collaborate with other tools● These tools do not depend on the platform and are commonly shared by the communities● Communities and projects inside companies decide which ones are interesting for them● Agile methods and practices are very common Master on Free Software
    • Coordination tools: work schedule● Goal: organize and plan the work of the project● Project organization using Agile methodologies and practices, very flexible (XP, SCRUM, DSDM, Lean software development, Post-agilism, etc.)● Tools: wikis, agile tools, planning● Examples: Twiki (XPTracker), Trac (Timing and Estimation, Burndown chart), planner, OpenProj, dotproject (web)● Commercial: VersionOne and TargetProcess Master on Free Software
    • Coordination tools: documentation/information● Goal: organize, create and maintain project documentation and information● This repositories allows the fast development, reorganization and sharing of the information and documentation.● Tools: wikis, content management systems● Examples: TWiki, Trac, Mediawiki● Commercial: confluence Master on Free Software
    • Coordination tools:documentation/information Master on Free Software
    • Coordination tools: Repositories● Goal: store and manage the modifications of the code and documentation● Key role in the software development● Different types of repositories examples: ● Decentralized: GNU arch, bazaar, git, SVK ● Centralized: CVS, SVN● Commercial: BitKeeper Master on Free Software
    • Coordination tools: tickets/bugs● Goal: keep track of a pending tasks list or bugs inside a project● Helps to the definition of list of tasks or roadmaps (schedule tools)● It is important for the quality assurance of the projects● Tools: bugtracker, issue tracker● Examples: bugzilla, request tracker, CVSTrac Master on Free Software
    • Coordination tools: Communications● Goals: direct communication between the hackers in a project● These tools are important because they allow the hackers to discuss and coordinate in the daily work● Tools: mailing lists (archives), chats, instant messaging● Examples: mutt, evolution, xchat, pidgin Master on Free Software
    • Development tools Master on Free Software
    • Development tools (I)● Goal: help the hackers to write code, compile it and debug/profile it● These tools could depend on the platform and community that you are working● It is interesting if we can use the same tool for multiple platform/environments● Project development integration (from compilation to testing) Master on Free Software
    • Development tools (II)● We can classify the tools in the following groups: ● Designing tools ● Editors and environments (IDEs) ● Building systems ● Testing ● Continuous integration (coordination) ● Debugging ● Profiling Master on Free Software
    • Development tools: design● Goal: draw the design of the software we are developing● It is important to draw the designs in order to communicate and think about the developments● Mainly OO designs● Examples: Umbrello, Dia, ArgoUML, xfig, graphviz, kivio Master on Free Software
    • Development tools: design● Goal: draw the design of the software we are developing● It is important to draw the designs in order to communicate and think about the developments● Mainly OO designs● Examples: Umbrello, Dia, ArgoUML, xfig, graphviz Master on Free Software
    • Development tools: editors (IDEs)● Goal: interfaces that help writing the code and integrate other development tools● Different depending on platform and community● Some try to be a multiplatform solution (GNU/Emacs, Eclipse)● Others are focused in one platform (NetBeans, Anjuta, Monodevelop, Kdevelop)● Important in order to do an efficient work to know well the tool we are going to use Master on Free Software
    • Development tools: building and testing● Goal: help with the construction of software, mainly with not simple projects and development/execution of tests● The main tools here are the GNU autotools (depends on the platform)● Java community uses Ant● Unit and functional testings are usually integrated with the building system Master on Free Software
    • Development tools:building and testing Master on Free Software
    • Development tools: continuous integration● Goal: manage the code automatically● One of the core pieces when working in a agile group, allows the fast integration of the code● The project must compile all the time● It usually runs the tests● Examples: buildbot, mozilla tinderbox● It can also integrate repository information and profiling Master on Free Software
    • Development tools:continuous integration Master on Free Software
    • Development tools: debugging and profiling● Goal: find the bugs and problems of the projects and solve them● Very important to use some basic tools and its semantics to create good software● These tools depend on the platform and the community, and can be integrated in the IDE● Examples: gdb, valgrind, Electric Fence, kcachegrind, OProfile, Sysprof, gprof, exmap, iogrind Master on Free Software