WP3 Quality – Some ideas Linda Cornwall WP3 meeting 15 th January 2004.

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Using Commtap Communication Targets and Activities Project.
Int 2 Computing Software Development.
P5, M1, D1.
Software Engineering Session 14 INFM 603. Software Software represents an aspect of reality –Input and output represent the state of the world –Software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
CS 597 Your Ph.D. at USC The goal of a Ph.D. What it takes to achieve a great Ph.D. Courses Advisor How to read papers? How to keep up-to-date with research?
Software Development Unit 6.
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
Notes on the Game Development Process
Introducing the Fractions and Decimals Online Interview
EGI-Engage Recent Experiences in Operational Security: Incident prevention and incident handling in the EGI and WLCG infrastructure.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Systems Development Life Cycle Dirt Sport Custom.
What if you suspect a security incident or software vulnerability? What if you suspect a security incident at your site? DON’T PANIC Immediately inform:
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 10: Testing and Inspecting to Ensure High Quality Part 4:
Usability Issues Documentation J. Apostolakis for Geant4 16 January 2009.
What if you suspect a security incident or software vulnerability? What if you suspect a security incident at your site? DON’T PANIC Immediately inform:
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
You Can Make A Wiki, Too A guide to creating a wiki of your own.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Technology for a better society TDT4140 Software Engineering : 1 Experiences from Requirements Engineering: Coping with requirements in large,
Using Commtap Communication Targets and Activities Project.
Auditing Information Systems (AIS)
Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
Systems Life Cycle A2 Module Heathcote Ch.38.
Designing classes How to write classes in a way that they are easily understandable, maintainable and reusable 5.0.
WP3 Information and Monitoring Steve Fisher / RAL 23/9/2003.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
1 CS Tutorial 5 Frid. Oct 23, 2009 Design Document Tutorial.
Update on the Grid Security Vulnerability Group Linda Cornwall, MWSG7, Amsterdam 14 th December 2005
Security Vulnerabilities Linda Cornwall, GridPP15, RAL, 11 th January 2006
GLite – An Outsider’s View Stephen Burke RAL. January 31 st 2005gLite overview Introduction A personal view of the current situation –Asked to be provocative!
Lecture 6: Writing the Project Documentation Part IV.
Systems Development Life Cycle
INFSO-RI Enabling Grids for E-sciencE Information and Monitoring Status and Plans Plzeň, 10 July 2006 Steve Fisher/RAL.
Grid Security Vulnerability Group Linda Cornwall, GDB, CERN 7 th September 2005
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Design time and Run time Chris, Andrea, Martina, Henry, Antonio, Ole, Philippe, Hartmut, Anne, Jeff, Felix, Sebastian, Kurt.
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Progress on first user scenarios Stephen.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Assignment 1 due today, 7pm. RAD due next Friday in your Wiki. Presentations week 6. Today: –Continue.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 26 Delivering the System.
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
Security Vulnerability Identification and Reduction Linda Cornwal, JRA1, Brno 20 th June 2005
Objectives Understand Corrective, Perfective and Preventive maintenance Discuss the general concepts of software configuration management.
1 COS 260 DAY 12 Tony Gauvin. 2 Agenda Questions? 5 th Mini quiz –Chapter 5 40 min Assignment 3 Due Assignment 4 will be posted later (next week) –If.
A brief look at the components that make up the system life cycle.
Security Vulnerability Detection and reduction Linda Cornwall MWSG, CERN 24 Feb 2005
Rekayasa Perangkat Lunak Kuliah 2. Outline of this presentation Attributes of Good Software Why Software Engineering ? What is Software Product ? Software.
CERN 21 January 2005Piotr Nyczyk, CERN1 R-GMA Basics and key concepts Monitoring framework for computing Grids – developed by EGEE-JRA1-UK, currently used.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
EGEE is a project funded by the European Union under contract IST The UK Cluster Steve Fisher / RAL JRA1 meeting at Cork, 19/ April
Software Maintenance1 Software Maintenance.
EGI-InSPIRE RI EGI-InSPIRE EGI-InSPIRE RI EGI Federated Cloud and Software Vulnerabilities Linda Cornwall, STFC 20.
Software Design and Development Development Methodoligies Computing Science.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
EGEE Middleware Activities Overview
Software Testing.
^ About the.
Software Documentation
Software Development Initiation Planning Design Analysis Development
Chapter 2 – Software Processes
Software Testing and Maintenance Maintenance and Evolution Overview
Chapter 13 Quality Management
Applied Software Project Management
Lecture 06:Software Maintenance
Rekayasa Perangkat Lunak
Presentation transcript:

WP3 Quality – Some ideas Linda Cornwall WP3 meeting 15 th January 2004

WP3 What is quality? Dictionary defines quality as `degree of excellence’ Lots on software engineering quality, it’s a profession in itself –Books, Journals etc. Lots of different ideas on what constitutes a quality system, and how to develop one

WP3 What I don’t think is quality Complying with standards –If you write the correct documentation you get a nice tick and comply with the standard –Laying out code in a certain way to comply with a standard –Use of certain development tools –But standards may help develop a quality system Successfully running a series of tests –A certain set of tests run successfully under a certain set of conditions –But testing is necessary to develop a quality system

WP3 R-GMA development R-GMA has been developed with the focus on getting a lot done quickly and trying out ideas This is recognised generally in the EGEE exec summary “The current state-of-the-art in Grid computing is dominated by research Grid projects that aim to deliver test Grid infrastructures providing proofs of concept and opening opportunities for new ideas, developments and further research” A lot has been achieved in a short time Procedures for code management and testing on the developers machine well developed (CVS, Cruise Control, rgma tests)

WP3 No criticism R-GMA developers are not being criticized, but we should recognize that we now need to move on from maximizing functionality and trying out ideas to ensuring we have a quality system that many people want to use.

WP3 What is Quality for R-GMA? Maybe we should define for ourselves what constitutes quality for R-GMA Reliability –Does R-GMA run reliably? Robustness – Is R-GMA robust? Does it cope neatly regardless of circumstances? –Do the resilience tests pass? Has enough been tried? Maintainability –Is the design well documented? –Is it easy for a developer to find their way around, are the classes neat, and is it easy to follow? Or is there too much linkage between different classes? –Is the code written in a way that is readable by a future developer?

WP3 What is Quality for R-GMA -cont Ease of Use –Is R-GMA easy to use? –Is R-GMA easy to install and configure? –Is the documentation up to date, easy to follow, and accurate? –Does it clearly state what R-GMA does? Flexibility –Can it cope with different types of usage? (including what we haven’t yet envisaged) Compliance with requirements –Does R-GMA comply with requirements? Security –Is R-GMA secure?

WP3 Reliability and Robustness Some things from WP3 support and Bugzilla during the last week “workload management starting to go shonky” “There are a few NullPointerExceptions in catalina.out on tbn08, which think would stop stream producers being deregistered if they are closed by the GRRPThread.” “edg-rgma tool hangs” “looks like the machine has been running out of memory all day - we've got a bug fix for this.” Does not appear very reliable and robust.

WP3 Maintainability Steve Hicks has produced UML diagrams – indicating a lot of connections between classes. –Hard to maintain –Difficult to avoid problems with robustness Java code is laid out well using Jalopy. –Some class descriptions need improvement Other code (e.g. scripts) are better than average (in my experience) in layout. –Should look through and improve, ensure variables are defined, add comments where appropriate Architecture document was last updated 9 months ago

WP3 Usability Documentation needs improving. –Already gone a long way to improving User Manual –Installation Guide needs much improvement –R-gma web page needs improvement –Need to document clearly what R-GMA does Not convinced it is all that easy for a programmer to use R-GMA for information management without help from the WP3 team. –Need to assess this further – maybe not immediate priority

WP3 Flexibility Can cope with a wide variety of uses Especially if we have the user defined schema (Canonical producer) Very flexible concept

WP3 Compliance with requirements WP3 has listened to other WPs a lot to ascertain their functional requirements A lot of functional requirements are there, in fact it’s in this area that R-GMA is most advanced Probably as stated in the usability – we need to ensure what R-GMA does is well documented, and we can better clarify how well it suits the needs of users

WP3 Security There are known security holes –E.g. storing the MySQL user name and password in cvs Suspect there are plenty of other holes, due to the multiple connections between servlets, between classes. –Getting away with Security through obscurity! We will need good secure authorization in place if R-GMA is to be used widely

WP3 Re-Engineering The UML diagrams indicate that some re-engineering is necessary to make R-GMA much more robust, reliable and maintainable One option would be to treat the current software as a prototype, and start again –But I hope we don’t need to do this I’d suggest taking the UML diagrams, and working out how to modify them so that the structure and connections are simpler. Improve how we treat the classes Possibly write down detailed requirements, and ensure our re-engineered R-GMA complies Re-design either using UML diagrams, or some other design tool, to clean up the design. Don’t rush it - get it right

WP3 Analysing the design We should analyse the design before changing it in the code to ensure that whatever the circumstances –It can’t hang –It can’t run out of memory –We cope with all situations –There are no security holes Could look at the UML diagrams, discuss the design in groups of 2 or 3, discuss various scenarios Another possibility is to look at formal methods –But does anyone have the expertise? Take some time, make sure we get it right

WP3 Re-coding and testing When we are happy with our re-working of the design, then we should modify the code In parallel, we should update the architecture document and include the new UML diagrams (at least at a high level) We should thoroughly test this new code –Include resilience tests on a multitude of machines –Include extensive tests of abnormal situations –As well as the sort of tests we carry out each time we check in We should do this, before we add any further functionality –Then we should have a robust and reliable basis for adding further functionality

WP3 Stability When I say stability, I mean the code base for basic R-GMA functionality should be stable Then it can be well documented Other functionality should be added later in a carefully controlled way

WP3 Recommendation Re-engineer to make all the classes and connections in R-GMA as clear and straight forward as possible Analyse the design and interconnections to ensure that all situations are dealt with, not just the `working as it should’. –This should Improve resilience –No hanging/out of memory etc. Code and test If we don’t re-engineer towards a robust, reliable and secure R-GMA I suspect –We will spend forever fixing problems, and introducing new ones –R-GMA will get used for a year or two in the particle physics community and then die when something more robust and secure comes along