Michela Piergentili, INFN Genova F. P. Brooks, “No Silver Bullet - Essence and Accidents of Software Engineering”, IEEE Computer 20(4):10-19, April, 1987.

Slides:



Advertisements
Similar presentations
QuEdge Testing Process Delivering Global Solutions.
Advertisements

Automated Software Testing: Test Execution and Review Amritha Muralidharan (axm16u)
Metrics for Process and Projects
Maria Grazia Pia, INFN Genova 1 Part V The lesson learned Summary and conclusions.
Software Life Cycles ECE 417/617: Elements of Software Engineering
PRJ270: Essentials of Rational Unified Process
Stepan Potiyenko ISS Sr.SW Developer.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
Software Engineering. How many lines of code? Average CS1004 assignment: 200 lines Average CS4115 project: 5000 lines Corporate e-commerce project: 80,000.
Software Engineering.
September 1999 Overview Software Engineering1 CS466: Tools and Processes for Software Gio Wiederhold Dorothea Beringer Anca-Juliana Stoica.
Iterative development and The Unified process
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Maria Grazia Pia, INFN Genova CERN, 26 July 2004 Background of the Project.
Embedding Security into a Software Development Methodology April 5 th, 8:30 AM Jonathan Minter Director, IT Development and Engineering Liberty University.
Capability Maturity Model
Chapter : Software Process
Principles of Object Technology Module 1: Principles of Modeling.
Software Testing and Reliability Software Test Process
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
Using IBM Rational Unified Process for software maintenance
N By: Md Rezaul Huda Reza n
Thirteenth Lecture Hour 8:30 – 9:20 am, Sunday, September 16 Software Management Disciplines Process Automation (from Part III, Chapter 12 of Royce’ book)
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Rational Unified Process Fundamentals Module 4: Disciplines II.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Geant4 Space User Workshop 2004 Maria Grazia Pia, INFN Genova Proposal of a Space Radiation Environment Generator interfaced to Geant4 S. Guatelli 1, P.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
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,
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
RUP Life Cycle Software Engineering Learning Programme Software Engineering Foundation.
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
July 26th, 2004INFN-Genova Barbara Mascialino Overview of the new phase of Barbara Mascialino July 26 th 2004.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
University of Southern California Center for Systems and Software Engineering Software Metrics and Measurements Supannika Koolmanojwong CS577 1.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Maria Grazia Pia, INFN Genova Statistics Toolkit Project Maria Grazia Pia, INFN Genova AIDA Workshop.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Barbara MascialinoMonte Carlo 2005Chattanooga, April 19 th 2005 Monte Carlo Chattanooga, April 2005 B. Mascialino, A. Pfeiffer, M. G. Pia, A. Ribon,
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Susanna Guatelli Geant4 in a Distributed Computing Environment S. Guatelli 1, P. Mendez Lorenzo 2, J. Moscicki 2, M.G. Pia 1 1. INFN Genova, Italy, 2.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Requirement Engineering Management Amna Shifia Nisafani Feby Artwodini M. Department of Information Systems Subject : Requirement Engineering.
Iterative development and The Unified process
Pragmatics 4 Hours.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Chapter 10 Software Quality Assurance& Test Plan Software Testing
Introduction to Software Engineering
Software engineering -1
B.Mascialino, A.Pfeiffer, M.G.Pia, A.Ribon, P.Viarengo
Software Engineering I
Capability Maturity Model
Capability Maturity Model
Presentation transcript:

Michela Piergentili, INFN Genova F. P. Brooks, “No Silver Bullet - Essence and Accidents of Software Engineering”, IEEE Computer 20(4):10-19, April, 1987 As we look to the horizon of a decade hence, we see no silver bullet. There is no single development, in either technology or in management technique, that by itself promises even one order-of-magnitude improvement in productivity, in reliability, in simplicity.... Not only are there no silver bullets now in view, the very nature of software makes it unlikely that there will be any - no inventions that will do for software productivity, reliability, and simplicity what electronics, transistors, and large-scale integration did for computer hardware. We cannot expect ever to see twofold gains every two years.... disciplined, consistent effort Although we see no startling breakthroughs - and indeed, I believe such to be inconsistent with the nature of software - many encouraging innovations are under way. A disciplined, consistent effort to develop, propagate, and exploit these innovations should indeed yield an order-of-magnitude improvement. There is no royal road, but there is a road.

Michela Piergentili, INFN Genova Experience with Software Process in Physics Experiments S. Guatelli, B. Mascialino, L. Moneta, I. Papadopoulos, A. Pfeiffer, M.G. Pia, M. Piergentili CERN - INFN Genova Monte Carlo 2005 Topical Meeting Chattanooga, April 2005

Michela Piergentili, INFN Genova Challenges Complexity of physics and experiments Geographically distributed teams and computing resources Mission critical applications Quality and reliability for sensitive applications

Michela Piergentili, INFN Genova Trends in software engineering discipline Develop a discipline for software engineering Shift attention from computing technology to software process as the way to achieve quality, lower costs Define quantitative standards to evaluate software capability maturity: SEI’s Software Capability Maturity Model ISO The culture of software process is not widely spread in the physics research environment yet Software is still perceived as “writing code” The success of software projects is mainly left to individual efforts (CMM: “heroic”, level 1) Widely used in software industry

Michela Piergentili, INFN Genova Process framework incrementaliterative An incremental and iterative software life-cycle Based on the Unified Process (Booch, Jacobson and Rumbaugh) Rational Unified Process: UP + practical guidance and tools Customized Customized to the specific development environment Equivalent to CMM / ISO Level 3 at least

Michela Piergentili, INFN Genova Projects adopting the RUP Pilot project: Anaphe (Data Analysis Tools project, CERN/IT Division) –a playground to learn the RUP and to adapt it to the physics research environment RUP in projects Geant4 Low Energy Electromagnetic Physics Geant4 Electromagnetic Physics Validation Project Statistical Toolkit Brachytherapy Simulation & Dosimetry IMRT Geant4-based Dosimetry System REMSIM Simulation (radioprotection, Aurora Programme) Bepi Colombo Simulation (planetary astrophysics) Solar System Radiation Environment Generator RUP in an organization RUP in an organization (encompassing several projects) Geant4 Advanced Examples (in progress)

Michela Piergentili, INFN Genova Retain all the best practices suggested by the RUP –Iterative development –Management of the requirements –Component-based architecture –Visual modeling with UML –Continuously verify quality –Change management Identify essential activities, artifacts and key roles –for every RUP activity: is it justified in our environment? What are the benefits? How much does it cost? Justify all artifacts to be produced in relation to the project objectives Guidelines for process tailoring

Michela Piergentili, INFN Genova Essential artifacts Vision Risk List Development Plan Development Case CVS repository User Requirements Architecture Model Design Model Test Plan Test Suite Prototype Tools Guidelines The system Documentation + refinement of artifacts from previous phase The product Release Notes Training Material + refinement of artifacts from previous phases Other optional artifacts may be produced in some projects …much more than just the code! A minimal subset identified within the large set of RUP artifacts

Michela Piergentili, INFN Genova Metrics Quantitative process control Objective evaluations are the key to software process improvement Requirements Number or user requirements / use cases Requirement status Traceability Analysis & Design Number of subsystems, packages, classes Number of methods in a class Inheritance tree depth Implementation Code size Method size Fraction of design implemented Deployment New features implemented per release Released defect levels Documentation/examples coverage Schedule Estimated vs. actual task duration Estimated vs. actual duration between milestones Schedule estimating accuracy Process Process capability level Process deviations Number of metrics collected Test Number of unit/system tests Fraction of code covered by unit testing # of defects found by unit testing # of defects found by integration testing # of defects found by system testing Fraction of deliverables reviewed Number of defects found by reviews Defect status Defect recurrence Defect source count Project management Number of tasks planned and completed Number of reviews, walkthroughs Staff size and profile Staff turnover Support Number of support requests Support request aging Average resolution time Re-opened support requests

Michela Piergentili, INFN Genova Some metrics 95% projects delivered on time, on budget and with all the features originally planned –CHAOS Report 2000 (Standish Group): 28% software projects failed 49% challenged 23% successful 5% failure due to neglect of applying the process –no way to enforce the application of the process onto independent researchers

Michela Piergentili, INFN Genova A case study Development of simulation + analysis of a dosimetric system for IMRT –Software requirements: functionality + high quality for medical application –Master thesis work, duration: 1 year –Manpower: 1 developer + 1 process specialist –Developer: no prior software knowledge D = 0.005; p-value = 1 Results –on-time delivery of code, documentation, physics results –all high and medium priority requirements satisfied –~30 billion simulation events produced and analysed –high quality physics results from the software (paper in IEEE-NSS 2004) –355 page MSc. thesis –fraction of code discarded during the development period: 0

Michela Piergentili, INFN Genova Conclusion A rigorous software process is the key technology enabling development teams to achieve success The RUP can be effectively adapted to the peculiar physics research environment –a powerful, but flexible process framework A RUP-based software process has been adopted by several physics projects in may research fields (fundamental physics, space science, astrophysics, medical physics, statistics) Success rate is 95% (to be compared to CHAOS 23%)