M. Zamparelli European Southern Observatory ACS Course Japan, July 2005 ALMA/ACS Software Engineering.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Software change management
Configuration management
Project Management Summary Castor Development Team Castor Readiness Review – June 2006 German Cancio, Giuseppe Lo Presti, Sebastien Ponce CERN / IT.
Software Configuration Management (SCM) Software Configuration Management (SCM) is a) the development and b) the application of standards and procedures.
D. Düllmann - IT/DB LCG - POOL Project1 POOL Release Plan for 2003 Dirk Düllmann LCG Application Area Meeting, 5 th March 2003.
1 Departamento de Informatica, UTFSM. Agosto 2006 ACS Working Style Mauricio Araya: Team Leader ACS – UTFSM Team.
7 th ACS Workshop 2010 Antofagasta, Chile ACS Project Lifecycle Matias Mora (based on presentation by G. Chiozzi and J. Ibsen)
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
Software Configuration Management (SCM)
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
ALMA SW Development Tools, Standards and Integration Procedures P. Sivera, M. Zamparelli European Southern Observatory Garching – ESO.
SOFTWARE QUALITY ASSURANCE Asst. Prof. Dr. Selim BAYRAKLI Maltepe University Faculty of Engineering SE 410.
This chapter is extracted from Sommerville’s slides. Text book chapter
Programming In C++ Spring Semester 2013 Programming In C++, Lecture 1.
Quality Assurance and Testing in LCG CHEP 2004 Interlaken, Switzerland 30 September 2004 Manuel Gallas, Jakub MOSCICKI CERN
Introduction 01_intro.ppt
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
SPI Software Process & Infrastructure EGEE France - 11 June 2004 Yannick Patois
Project Source Code Structure and Build Process ● Remember consistency matters as source code structure, build process, and release processes are all intertwined.
SUSE Linux Enterprise Server Administration (Course 3037) Chapter 4 Manage Software for SUSE Linux Enterprise Server.
ESO - Garching 23 June – 02 July, 2003 ACS Course Data entities and XML serialization H. Sommer.
CPIS 357 Software Quality & Testing
University of Coimbra, DEI-CISUC
Garching, 08 July 2005 NRI (Night Reporting Infrastructure) for VLT Common Software Integration S. Feyrin, M. Zamparelli European Southern Observatory.
ALMA Common Software Basic Track Software Engineering Basics.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
TYX CORPORATION Page 1 © Copyright TYX Corporation 2006 TYX TestBase Development of Diagnostics with DSI eXpress and TYX TestBase For eXpress versions.
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio CERN.
ICT-CPM November 2014 ALMA Integrated Computing Team Coordination & Planning Meeting #4 Santiago, November 2014 Software Engineering and Quality.
Configuration Management (CM)
INFSO-RI JRA2: Testing senarious ETICS AH meeting Budapest, Iune 2009 Eva Takacs, Jozsef Kuti, András Milassin 4D Soft.
Introduction to RtReports – Tony Fenn & Chris Nelson Introduction to RtReports Chris Nelson - Senior Developer Tony Fenn - Product Manager.
ICALEPCS 2001 Nov , 2001 ACS Common Software for the ALMA Project G.Chiozzi, B.Gustafsson, B.Jeram, P.Sivera – ESO M.Plesko, M.Sekiranja, G.Tkacik,
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College
CASE Tools Union Palenshus. In the early days… ► Software engineering tools consisted solely of translators, compilers, assemblers, linkers, loaders,
Installation Tutorial Paola Sivera ESO ACS 2.1 for Linux RH7.2.
Support required for running application software projects in the SL/CO/AP section M.Vanden Eynden October 2000 * A description of the software development.
ESO - Garching 23 June – 02 July, 2003 ACS Course Transparent XML De-/Serialization in Java H. Sommer.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
Configuration Management CSCI 5801: Software Engineering.
GLite build and integration system Building and Packaging Robert HARAKALY
Testing in Android. Methods Unit Testing Integration Testing System Testing Regression Testing Compatibility Testing Black Box (Functional) White Box.
Software Engineering Overview DTI International Technology Service-Global Watch Mission “Mission to CERN in Distributed IT Applications” June 2004.
INFSOM-RI WP 4 : Testing Tools and Methodologies Status Report ETICS Review – 15 February 2008 Éva Takács (4D SOFT)
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Copyright 2015, Robert W. Hasker. Continuous Inspection  Code reviews  Powerful tool  Difficult to ensure meaningful reviews take place  Static analysis.
F. Carbognani Software Engineering for the Virgo Project at EGOGeneva-iCALEPCS 14/10/2005 Software Engineering for the Virgo Project at EGO F. Carbognani.
INFSOM-RI Report of results of technical session 2: The ETICS build process and metrics collection.
SwCDR (Peer) Review 1 UCB MAVEN Particles and Fields Flight Software Critical Design Review Peter R. Harvey.
ACS on VxWorks B.Gustafsson European Southern Observatory ESO Feb ESO.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
SOFTWARE TESTING TRAINING TOOLS SUPPORT FOR SOFTWARE TESTING Chapter 6 immaculateres 1.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
CIS 375 Bruce R. Maxim UM-Dearborn
Tool Support for Testing
Testing Tools & Standards
SE goes software engineering; (practically) managing the Compose
Chapter 18 Maintaining Information Systems
Chapter 8 – Software Testing
Existing Perl/Oracle Pipeline
Object-Orientated Programming
Lecture 09:Software Testing
Module 01 ETICS Overview ETICS Online Tutorials
SE goes software engineering; managing the Compose* project.
Chapter 7 –Implementation Issues
SE goes software engineering; (practically) managing the Compose
Presentation transcript:

M. Zamparelli European Southern Observatory ACS Course Japan, July 2005 ALMA/ACS Software Engineering

M.Zamparelli July 2005ALMA/ACS Software Engineering2 Software Engineering Software Engineering and Quality Assurance activities: Software Process Document Reviews, Format, Templates Development Environment Integration Procedure Coding Standards Code Inspection Configuration Management Testing framework and assessment Change Management

M.Zamparelli July 2005ALMA/ACS Software Engineering3 Major SE deliverables to ALMA 1.the tool to build the software with (Makefile) - in maintenance 2.the version controlled storage area where the software is (CVS) – in maintenance 3.the problem tracking system (Action Remedy) we use to track faults and change requests - pending replacement/upgrade 4.the system you document your software with (both inline and online – doxygen, TWiki) – in maintenance 5.The automated Night Reporting Infrastructure (NRI) which checks standards compliance– in maintenance 6.generic CASE tools (UML Modeling, Editors, Quality Control) – being updated, reviewed 7.standards for mostly all the process phases and deliverables

M.Zamparelli July 2005ALMA/ACS Software Engineering4 Directory Structure /ws/src /ws/object /ws/include /ws/lib /ws/test /ws/man /lcu/src /lcu/include /lcu/man ……. Separation of WS from LCU code Separation of source from headers (for C,C++) Separation of application code from test code ownership assignment, homogeneity

M.Zamparelli July 2005ALMA/ACS Software Engineering5 esoMakefile a project wide set of rules, centrally stored and managed. every developer has to add only the module specific part: the name of the files to be treated! allows exceptions (it is a normal Makefile) Based on the features of GNUmake and strictly correlated with the environment variable set up and the directory and Software Module standards.

M.Zamparelli July 2005ALMA/ACS Software Engineering6 /src/Makefile For every software modules: defines what has to be build as a list of variables includes the project-wide rules ($ACSROOT/include/acsMakefile) defines the standard targets: all, man, install, clean (if necessary, they can be customized)

M.Zamparelli July 2005ALMA/ACS Software Engineering7 esoMakefile example USER_CFLAGS = USER_LIB = -lACE -lTAO -lTAO_DsLogAdmin -lTAO_CosNaming -lTAO_IORTable - lTAO_PortableServer -lTAO_Svc_Utils -lTAO_CosTrading -lTAO_DynamicAny - lTAO_CosProperty -lTAO_IFR_Client -lacsutil -lcdb -llogging -lCCS -lrecovery -lacserr INCLUDES = baciDevIO.h baciDevIOMem.h baciExport.h …. LIBRARIES = baci baci_OBJECTS = baciDevIOMem baciError \ baci baciTime baciThread baciValue baciDB \ baciRecovery baciCORBA baciDLL baciC baciS …… DBL_CLASSES = acsDefine acsDistributedObject acsProperty IDL_FILES = baci USER_IDL = -I$(ACE_ROOT)/TAO/orbsvcs/orbsvcs/ EXECUTABLES = maciActivate maciManager maciManagerShutdown maciActivatorShutdown \ nslist nsadd maciActivate_OBJECTS = maciActivate maciActivate_LIBS = maci maciManager_OBJECTS = maciManager maciManager_LIBS = maci JARFILES = abeansgen abeansgen_DIRS = si/ijs/kgb/generators

M.Zamparelli July 2005ALMA/ACS Software Engineering8 XML_IDL IDL_FILES Python StubsJava StubsC++ Stubs ACE/TAO JacORB Omniorb ACS XmlIdl compiler Java Component Wrappers for Container XSDBIND (XSDBIND_INCLUDE) Java Entity Classes COMPONENT_HELPERS Java Component Helper Classes ACSERRDEF Python JavaC++ BACK Hierarchical Include directories ABEANS Abeans Support Classes Real Time Linux Kernel Modules RTAI_MODULES

M.Zamparelli July 2005ALMA/ACS Software Engineering9 Integration Layers :

M.Zamparelli July 2005ALMA/ACS Software Engineering10 Quality Assurance Tools

M.Zamparelli July 2005ALMA/ACS Software Engineering11 Automated Inspections (NRI) Build reports (GO/NO-GO) Tests (availability, execution results GO/NO-GO, coverage, memory behaviour) Coding Standards (ALMA, MISRA, Motorola, Scott Meyers, Sun) Inline documentation sufficiency lines of code (total, per language, per module, production vs test code) Algorithmic Complexity (McCabe) module dependency diagrams SPR statistics, number of commits, number of unused files Java duplicate classes verification Events and Channels in use metrics on design quality (Robert C. Martin, for Java)

M.Zamparelli July 2005ALMA/ACS Software Engineering12 Configuration Management Static Inspection host 1 Database WebServer host 3 host 2 (dynamic inspection machines) Codewizard JTest sloccount cmt/cmtjava JDepend doxygen graphviz Purify splint JContract NRI source reports

M.Zamparelli July 2005ALMA/ACS Software Engineering13 Purify CompiledTest DIR Makefile Make all test target make test test output UNDETERMINED FAILEDPASSED UNDETERMINED TAT TEST OUTCOME DETERMINATION success failure

M.Zamparelli July 2005ALMA/ACS Software Engineering14 Data archival for trend analysis ACSARCHIVECONTROLCORREXECICDOBSPREPPIPELINESCHEDULINGTELCAL Total Modules Build FAILED Test FAILED Instrumentation Failed Test UNDETERMINED No Makefile Missing Test Directory Test TIMED OUT Test CORE DUMPED Test PASSED NRI

M.Zamparelli July 2005ALMA/ACS Software Engineering15 LINKS main entry pagehttp://websqa.hq.eso.org/alma/snapshot/ ACS-Reports/TestCoverage-Linux/ to see memory inspection for C/C++ and coverage for some moduleshttp://websqa.hq.eso.org/alma/snapshotSL// ACS-Reports/TestCoverage-Linux/