Professional Development: Tools and Processes An Introduction Lecture on Walter Kriha.

Slides:



Advertisements
Similar presentations
Agile Software Development Robert Moore Senior Developer Curtin University.
Advertisements

An open source QA stack testing tools for agile teams Presented by Aaron Evans
<<replace with Customer Logo>>
Worldox – Post Installation Support and Training Options.
SOCIAL CODING Abhishek Dey Das |Sudhanshu Iyer abhis.ws|siyer.info.
Agile Project Management with Scrum
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Production Programming in the Classroom Eric Allen, Robert Cartwright, and Charles Reis Rice University {eallen, cork,
CS565 Advanced Software Development (1 unit) Lecturer: Adrian O’Riordan Contact: is Office: prefab, behind.
Developing the NSDL User Portal Dean Krafft, Cornell University
COMP 350: Object Oriented Analysis and Design Lecture 2
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
® IBM Software Group © IBM Corporation IBM Information Server Service Oriented Architecture WebSphere Information Services Director (WISD)
Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009.
EclipseME Java Micro Edition The Eclipse Way Craig Setera April 19, 2006.
1 Programming Concepts Module Code : CMV6107 Class Contact Hours: 45 hours (Lecture 15 hours) (Laboratory/Tutorial 30 hours) Module Value: 1 Textbook:
Discovering 10232A – Designing and Developing Microsoft SharePoint Server 2010 Applications Robert Bogue.
AUTOBUILD Build and Deployment Automation Solution.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
Understanding Eclipse Development Environment Hen-I Yang July 7, 2006
COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.
Business Systems Development SDLC and introduction to the Microsoft Solutions Framework Team and Process Models.
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
SWE © Solomon Seifu CS425 Software Engineering Solomon Seifu Department of Computer Science Maharishi University of Management, Fairfield, IA.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
ETICS2 All Hands Meeting VEGA GmbH INFSOM-RI Uwe Mueller-Wilm Palermo, Oct ETICS Service Management Framework Business Objectives and “Best.
Modeling Tools for Healthcare Technical Overview April 8, 2009.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
T-unit: Tcl Unit Test Package Automated Unit Test Package For Tcl Procedures Final Presentation Joseph Boyle Loyola Marymount University.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
T Project Review TeXlipse [I2] Iteration
Information System Development Courses Figure: ISD Course Structure.
Architectural Styles SE 464 / ECE 452 / CS 446 Chang Hwan Peter Kim Based on slides prepared by Michał Antkiewicz June 24, 2006.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Distributed Java Programming Distributed Java Programming Setting up a Java Development Environment.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
DEV-8: OpenEdge® Architect – Extensibility & Third Party Integration Sunil Belgaonkar Principal Software Engineer Architect Phillip Magnay.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
What is Eclipse? Official Definition: Eclipse Evolution
I Copyright © 2007, Oracle. All rights reserved. Module i: Siebel 8.0 Essentials Training Siebel 8.0 Essentials.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
Scott Wilson Shaun Moats Arjun Shrestha Andrew Garrison.
An evaluation of tools for static checking of C++ code E. Arderiu Ribera, G. Cosmo, S. M. Fisher, S. Paoli, M. Stavrianakou CHEP2000, Padova,
XSDoc, JISBD’ XSDoc an Extensible Wiki-based Infrastructure for Framework Documentation Ademar Aguiar, Gabriel David, Manuel Padilha FEUP, INESC.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
T-unit: Tcl Unit Test Package Automated Unit Test Package For Tcl Procedures Final Presentation Joseph Boyle Loyola Marymount University.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Software Engineering Principles Practical Advice and Steps for Managing Your Project.
© 2010 Marcato Partners, LLC Scrum Experience Group Team Foundation Server (TFS) Marcato / Kardia Health Systems April 27, 2010.
Software Testing Process
TargetProcess - AGILE Project tracking tool Shashwat Gupta CS
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Students Centered Learning as a Behaviour Change Approach: Practices in Our Institutions of Higher Learning, Opportunities and Challenges Dr. Faisal H.
Maven. Introduction Using Maven (I) – Installing the Maven plugin for Eclipse – Creating a Maven Project – Building the Project Understanding the POM.
IBM Academic Initiative JazzHub Overview John Schilt Lead, IBM Academic Initiative Australia / New Zealand UNSW and IET (Young Professionals)
V7 Foundation Series Vignette Education Services.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Comments on SPI. General remarks Essentially all goals set out in the RTAG report have been achieved. However, the roles defined (Section 9) have not.
Constructing Deploying and Maintaining Enterprise Systems
CIM Modeling for E&U - (Short Version)
Cisco Data Virtualization
Advanced Integration and Deployment Techniques
Welcome to the Ericsson journey towards an Agile WoW!
DAT381 Team Development with SQL Server 2005
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

Professional Development: Tools and Processes An Introduction Lecture on Walter Kriha

Goals Learn to master the extensible open source IDE eclipse. Use its plug-in concept to integrate your own functions Learn tools needed for large scale development: Source code control, automatic build, unit tests etc. Integrate those tools into a flexible development environment Learn the processes behind large scale development: heartbeats, release management Learn the “soft factors” behind software teams and processes In our exercises we will create a live environment comprising the essential tools and utilities needed for large scale development.

Non-Goals This is NOT a modelling class. We will possibly generate some source but the focus is definitely not on UML or other modelling tools. This is NOT a software architecture class. Architecture does have effects on a development environment (packaging, work distribution etc.) but we will not learn how to build frameworks. This is NOT a project management class. It tackles team development strictly as a technical issue. But it favors “agile” methods like extreme programming. At the end of this class you should have hands-on experience with many development related tools and you should understand the process of developing software in teams. Development tools change frequently but the main processes and forces stay with us.

Procedure We will create our environment in much the same style as it would be the case in a real software team: -members will take over responsibility for tools or processes, learn those and teach their use to the rest of the team. -the team will discuss all configuration issues (like source structures, coding standards etc.) and define processes. -at the end we will have a complete, integrated environment and a process to create a software product. For every topic a short introduction will be given (one hour) and then we go to the lab.

For every tool: We define the forces behind it and why we use the tools We define how the tool interacts with others and how it is integrated We show how it is installed and how it works We list best practices and shortcomings. A tool only makes sense when it is integrated into a development environment and a development process

Development Process Overview test configurations load tests coding standards automatic builds source code control release management source structure packaging unit tests micro tools Compile tools deployment configuration per client customization bug reporting architectural artifacts customization plans lifecycle plans collaboration support Many different forces exist for a development environment and process: architectural, life-cycle issues, customization, collaboration etc. (see Kriha et.al. in resources) The most critical tasks are those that define the future extensibility of the product. Will it be a single application? A toolkit or framework? A production line? Other important questions are whether you will need to setup a distributed development team and how to organize a development/test/production zone.

Tool mapping loadrunner optimize it jprobe WikiWiki coding standard ANT/make CVS WikiWiki Junit/Httpunit homegrown tools IDE with debugger Memory tracer bugzilla documentation editor batch processor bugzilla Modelling tools´(use cases etc.) WikiWiki The tool chain is intimidating but necessary. Everyone in a software team needs to take responsibility for some tool(s). Be careful not to pick tools which will not fit to the size of your project: If you use Clearcase instead of a simple CVS you will need an extra administrator. Is at least one team-member familiar with a complicated IDE to give you a headstart? Do the tools support the number of developers? How long will it take to make everybody familiar with those tools?

Resources (1) home of the eclipse project portal for open source projects home of the ant automatic build tool. kriha et.al. on large scale structures: ystems.html