Software Development Processes for Network Distributed Applications Experiences and Expectations Davide NDA Group (CRS4) Workshop NAME, 4 Oct.

Slides:



Advertisements
Similar presentations
High level QA strategy for SQL Server enforcer
Advertisements

SOFTWARE DEVELOPMENT METHODOLOGIES Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP.
Software Life Cycle Requirements analysis System design Program design Program implementation (coding) Unit testing Integration testing System testing.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Approaches to Systems Development
Unit 1, Lesson 4 Software Development Cycle AOIT Introduction to Programming Copyright © 2009–2012 National Academy Foundation. All rights reserved.
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Alternate Software Development Methodologies
ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,
1 Software Testing and Quality Assurance Lecture 34 – SWE 205 Course Objective: Basics of Programming Languages & Software Construction Techniques.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development.
Enterprise Architecture
Enterprise Resource Planning
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
EirplayMedia (c) 2009 EirplayMedia Game Production Cycle.
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 3 Agile Software Development (2/2) Yonsei University 2 nd Semester, 2013 Sanghyun Park.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
One XP Experience: Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready Joe Bergin * Fred Grossman * David Leip **
Education & Competitiveness on labor market Developing new skills with VisualBuilder Chelaru Cristina Education & Competitiveness on labor market Developing.
1 IT Project – Project Lifecycle, methodologies, tools, resources and other issues.
A Lightweight Platform for Integration of Resource Limited Devices into Pervasive Grids Stavros Isaiadis and Vladimir Getov University of Westminster
Nipissing University, North Bay, Ontario, Canada 1 Building Reusable Components with Service-Oriented -IBM Eclipse Innovation Grant -IBM Eclipse Innovation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Architectural Design.
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Chapter 6: Systems Development Steps, Tools, and Techniques Management Information Systems for the Information Age.
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Approaches to Systems Development
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Methodologies: Putting it all together.
E-portfolio assessment system architecture Milen Petrov Adelina Aleksieva-Petrova 5th TENCompetence Open Workshop, Sofia October 30-31, 2008.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks IPv6 test methodology Mathieu Goutelle (CNRS.
Center for Advanced Studies, Research and Development in Sardinia Network Distributed Application XP4IDE Applying XP Practices to Project Management Open.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen.
MSF 4.0 for Agile Software Development Ron Tolido Capgemini.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
Follow-up to SFT Review (2009/2010) Priorities and Organization for 2011 and 2012.
XML 2002 Annotation Management in an XML CMS A Case Study.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
By Jeremy Burdette & Daniel Gottlieb. It is an architecture It is not a technology May not fit all businesses “Service” doesn’t mean Web Service It is.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Project Management Software development models & methodologies
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
Embedded Systems Software Engineering
CS223: Software Engineering
Software Development.
Kai Li, Allen D. Malony, Sameer Shende, Robert Bell
Business System Development
Methodologies and Algorithms
Constructing Deploying and Maintaining Enterprise Systems
Chapter 3 – Agile Software Development
A mobile single sign-on system
ECT 589: E-Commerce Management
Chapter 3 – Agile Software Development
Extreme Programming.
Presentation transcript:

Software Development Processes for Network Distributed Applications Experiences and Expectations Davide NDA Group (CRS4) Workshop NAME, 4 Oct 2002

4 Oct 2002Workshop NAME Outlines Project E-Mate About XP Practices… Conclusions

4 Oct 2002Workshop NAME Project E-Mate Project E-Mate has been on going for about 2,5 years The objective: software architecture designed and implemented at CRS4, aimed to support the development and the deployment of mobile, personalized and location aware services. It defines a model of service and provides framework and components for the development of network applications available through multiple channels and position-aware.

4 Oct 2002Workshop NAME Project E-Mate Turn-over of 28 people in 3 years Parallel activities involving people full-time Results: Various running prototypes, scientific articles, internal and external deliverables 2 PhD thesis and 1 BSc. On going…

4 Oct 2002Workshop NAME Hardware and Software Tools Visual Age for Java Java Wireless Toolkit XML Spy Handheld, Java Phones, GPRS Phones, PC – Clients, Voice Clients, WAP Phones… Some XP practices have been experimented. Not a full XP process.

4 Oct 2002Workshop NAME Practices (Whole Team) Customer is a role “vague” in a research project such as E-Mate Requirements change according to emersion of new technologies Acceptance tests are often referred to vague “scenario of use” descriptions

4 Oct 2002Workshop NAME Practices (Design) Immediate design for concrete results: simple architecture, simple coding, simple testing Design for the reuse: flexible and extensible architecture, re-use in mind … “keep-it-simple” now and improve later seems a promising approach…

4 Oct 2002Workshop NAME Practices (Pair Programming) Often one of the programmers was much less skilled. Couples unbalanced cause scarce code-review and frustration for the skilled programmer. Innovative solutions are often from one individual. No boundaries between experiments and coding. On the other hand, two skilled programmers benefit a great deal from coding together (reviewing, sharing and transferring knowledge)

4 Oct 2002Workshop NAME Practices (First Test then Code) We failed in such a practice. Experienced programmers often make unit test in “handcrafting” way. Hostile to adopt a framework like Junit. Beginners do not understand the importance of unit testing. Result: quality of the code is not homogeneous

4 Oct 2002Workshop NAME Practices (Refactoring) Refactoring is tiresome, not all programmers appreciate this practice, some of them do not take it into account either. Some programmers start refactoring when code is too complex and bugs difficult to identify. Refactoring and testing must work in synergy

4 Oct 2002Workshop NAME Conclusions XP might not fit with research projects, however some of its practices could dramatically improve the development process Simple Design - Testing – Coding – Refactoring are promising practices we want to exploit deeply for future projects. Involved in a FIRB project to evaluate and refine agile methodologies in open-source and distributed communities