SE goes software engineering; managing the Compose* project.

Slides:



Advertisements
Similar presentations
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Advertisements

Software engineering tools for web development Jim Briggs 1CASE.
Integrated Development Environments, Source Control Repositories, Automated Testing Tools, Bug Tracking, Code Analysis Tools, Build Tools, Project Hosting.
Program Name Developed by Team Name Student1, Student2, Student3, Student4.
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
Developing the NSDL User Portal Dean Krafft, Cornell University
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Damien Guard (BSc, MBCS) Guernsey Software Developer Forum Change management with Subversion.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
- Chaitanya Krishna Pappala Enterprise Architect- a tool for Business process modelling.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
DEVSENSE s.r.o.. Visual Studio Industry Partner DEVSENSE s.r.o. NEXT STEPS Contact us at: In 2009, DEVSENSE was founded by four software.
Technical Overview.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion.
Subversion, an Open Source Version Control System An Introduction.
18 March Implementation. Tools Do you need them? When do you need them? What can they do better then you?
LinkWare LinkWare is a web-enabled, open platform for generation and distribution of electronic technical documentation and e–catalogues. The LinkWare.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
Version control Using Git Version control, using Git1.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
Version Control Systems with Subversion (SVN) and Tortoise.
Introduction to Version Control SE-2030 Dr. Rob Hasker 1 Based on material at and slides written.
Distributed Java Programming Distributed Java Programming Setting up a Java Development Environment.
Productivity Tools Ken Nguyen Department of Information Technology Clayton State University.
Perforce Software Version Everything.. Visual Studio Industry Partner Perforce Software NEXT STEPS Contact us at: Perforce products.
CERN – European Organization for Nuclear Research Administrative Support - Internet Development Services CET and the quest for optimal implementation and.
CASE Tools Union Palenshus. In the early days… ► Software engineering tools consisted solely of translators, compilers, assemblers, linkers, loaders,
Technical Overview The Fastest Way to Create Architecture!
MavHome Software Development Guidelines G. Michael Youngblood Chief Scientist, MavHome The University of Texas at Arlington June 8, 2003.
EFinanceFactory Andriy Kurhanevych, development group manager.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
Anubha Gupta | Software Engineer Visual Studio Online Microsoft Corp. Visual Studio Enterprise Leveraging modern tools to streamline Build and Release.
XSDoc, JISBD’ XSDoc an Extensible Wiki-based Infrastructure for Framework Documentation Ademar Aguiar, Gabriel David, Manuel Padilha FEUP, INESC.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Cross Language Clone Analysis Team 2 February 3, 2011.
Software Deployment & Release 26/03/2015 1EN-ICE.
Executive Overview. Software modeling is essential, because it is the map that guides your developers. Additionally: Modeling Software  Visual information.
Collaborative Development Services Learning From the Open Source Agile Development Process Richard Kilmer, InfoEther LLC.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Eclipse.NET An Integration Platform for ProjectIT-Studio João Saraiva IST & INESC-ID (GSI)
Ansible and Ansible Tower 1 A simple IT automation platform November 2015 Leandro Fernandez and Blaž Zupanc.
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
Code/Project Management On Screwdrivers and Hammers.
Anjana & Shankar September,2010 Introduction to Programming Tools.
Project SCS a lightweight source control system for Windows platforms.
Lesson 1 What is Wiki?. Objectives ● To provide an overview of what wikis are ● To show some examples of their different uses ● To discuss the advantages.
TOP project – STATUS UPDATE & Workflow demo
Testing Tools & Standards
Proposed IT Infrastructure for TOP OS project
Development with Eclipse
SE goes software engineering; (practically) managing the Compose
Software Documentation
A Complete Software Development Process Using Open Source Software
Empirical Project Monitor and Results from 100 OSS Development Projects Masao Ohira Empirical Software Engineering Research Laboratory, Nara Institute.
SE goes software engineering; managing the Compose* project.
Revision Control Daniel Daugherty
Design and Programming
Component-Based Software Engineering
Part 1: Editing and Publishing Files
Aspect-Oriented Composition Tools for Composition Filters
Eclipse Database Plug-ins
eXtreme Programming (XP) and eXtreme Modeling (XM)
SE goes software engineering; managing the Compose* project.
Enterprise Program Management Office
TDL Open Source Project (TOP) Input to MTS#70,
Chapter 7 –Implementation Issues
SE goes software engineering; (practically) managing the Compose
Presentation transcript:

SE goes software engineering; managing the Compose* project. The Compose* Team Christian Vinkes Frederik Holljen Istvan Nagy Lodewijk Bergmans Pascal Durr Raymond Bosman Sverre Boschman

Scope Composition Filters Implementation Compose* is a modular language extension Current target: extend .NET Implementation implementation is crucial for our own verification for the trust of the community for the learning process internal/external many past implementations throw-away prototypes; wasted effort

Managing the Project: Main Goals Communication integration avoid redundant efforts Continuity keep the knowledge keep the quality documentation

Overview of the Process It is informal & light-weight Steps: architecture: grows evolutionary [Lodewijk] design: UML diagrams--Rose XDE [Istvan] code: Java, J#, C# synchronize with design (XDE) [Istvan] use Eclipse and Visual Studio [Christian] document with ‘doxygen’ [Raymond] automate testing [Raymond] code inspections

Overview of the infrastructure Communication Sourceforge: bug tracking, mailing lists,.. [Frederik] Knowledge management Wiki: cf. project web site [Pascal] Source code sharing CVS [Frederik] Build & Deployment Make files, multi-platform, executables

About the Architecture TBD

Knowledge Management with a TWiki Pascal Durr What is TWiki Webbased collaboration platform Accessible from any descent webbrowser Main Features: Easy editable Simple text formatting Revision Control Topic locking

Knowledge Management with a TWiki Pascal Durr TWiki and the Compose* project The #1 place for information about the project. Entry point for developers and users. Used for long term storage of information. Each developer has their own space. One place to rule them all. Keeping it structured is a problem.

Knowledge Management with a TWiki Pascal Durr Demo http://composestar.sf.net/

Communication with SourceForge Introduction world's largest Open Source software development web site free (as in beer) open licences only Reasons for choosing SourceForge Attracting contributions from the outside Provides communication infrastructure

Communication with SourceForge Major features provided Bug tracker Forums Mailing lists Web/disk space Compile farm Administrative access rights CVS

Source code sharing with CVS (Concurrent Versioning System) Central repository for source code edit one file simultaneously Versioning system, you can: commit changes to a file roll back files to a previous state see log of changes Supports tagging and branching

Design Documentation with UML Istvan Nagy

From Design to Code (XDE) Istvan Nagy

Development with Visual Studio Christian Vinkes

Code documentation with DOXYGEN Raymond Bosman Same syntax as Javadoc Supports also other languages (C, C++, PHP, etc.) Widely used Open source

Automate testing Raymond Bosman Overview: Why do we need selftesting code? Input output testing Unit testing

Automate testing Selftesting code Can test the whole system within several seconds Advantages: Bug prevention Think about what to implement Can program faster Helps to refactor faster

Automate testing Input output testing Tests if the output of the program matches the expected output. Needed files: Input files: *.in Output files: *.out Keyboard input: *.kb

Automate testing Unit testing Most classes have their own test class. We test: Only the important classes. Test only methods that can go wrong. Boundaries, Exceptions and some combinations. We use: JUnit for Java and J#. dotUnit for C# code.

Summary/Conclusion