M.Ellis 17th August 20041 MICE Software School Aims Course content –Management –Specifications –Design –Production –Testing –Use Information –Operation.

Slides:



Advertisements
Similar presentations
Presentation by Prabhjot Singh
Advertisements

Testing and Quality Assurance
Ossi Taipale, Lappeenranta University of Technology
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
System Construction and Implementation Objectives:
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
Software Testing and Quality Assurance
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
System Design and Analysis
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Unit 191 Introduction to Software Engineering The objective of this section is to introduce the subject of software engineering. When you have read this.
Illinois Institute of Technology
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
Introduction to Software Testing
United Nations Economic Commission for Europe Statistical Division Applying the GSBPM to Business Register Management Steven Vale UNECE
Introduction to Systems Analysis and Design Trisha Cummings.
INFORMATION SYSTEM APPLICATIONS System Development Life Cycle.
Space Weather Interpretation Software Presented by Andrew Downs CONTACT Andrew Downs Phone: REFERENCES 1.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
RUP Fundamentals - Instructor Notes
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
Managing the development and purchase of information systems (Part 1)
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
1 G4MICE Design Iteration Malcolm Ellis MICE Video Conference 21 st April 2004.
Copyright 2008 Introduction to Project Management, Second Edition 2  Many people have heard the following sayings: ◦ If you fail to plan, you plan to.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Bina Nusantara 19 C H A P T E R SYSTEM CONSTRUCTION AND IMPLEMENTATION.
310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION SOFTWARE ENGINEERING SOFTWARE ENGINEERING.
Dynamic Testing.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
1 Software Workshop Report Malcolm Ellis MICE Video Conference Wednesday 9 th November 2005.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Introduction to System Analysis and Design MADE BY: SIR NASEEM AHMED KHAN DOW VOCATIONAL & TECHNICAL TRAINING CENTRE.
Maite Barroso – WP4 Workshop – 10/12/ n° 1 -WP4 Workshop- Developers’ Guide Maite Barroso 10/12/2002
CS223: Software Engineering Lecture 25: Software Testing.
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
Syndicate Members: 1. GC Muhammad Uzair 2. GC Umer Naveed Malik.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Object-Oriented Analysis & Design
Chapter 11: Software Configuration Management
Software and Systems Integration
Chapter 18 Maintaining Information Systems
Software Configuration Management
Systems Analysis and Design
Software Requirements
Introduction to Software Testing
Lecture 09:Software Testing
Introduction to Systems Analysis and Design
Fundamental Test Process
Using JDeveloper.
Chapter 11: Software Configuration Management
Baisc Of Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Systems Construction and Implementation
Systems Construction and Implementation
Test Process “V” Diagram
Presentation transcript:

M.Ellis 17th August MICE Software School Aims Course content –Management –Specifications –Design –Production –Testing –Use Information –Operation Follow-up course School website: school1.html

M.Ellis 17th August Aims To learn about the way large software engineering projects are run outside of HEP, with examples from Space and reference to the international and European standards. To develop a trivially simple piece of software during the course to illustrate the execution of each of the processes and better understand how it all works.

M.Ellis 17th August Course Content The course was run over 5 days, and following an introduction, the days were spent addressing the 7 processes that are needed to successfully run a software project. The programme can be seen at this link: – agenda.htmlhttp:// agenda.html The example programme was chosen as a simple simulation of a Pion Decay. For each process, the methods were followed and various documents were produced, that can be accessed through the directory available from this link: –

M.Ellis 17th August Management We decided upon a model for the software life cycle, configuration and release procedures, the development environment and a project plan for the mini-project. The resulting documents can be seen from this link: – PionDecay/r1.0/Management/ PionDecay/r1.0/Management/

M.Ellis 17th August Specifications Having agreed on an operating framework, the next step was to develop specifications for the project. We defined a single Use Case, and derived functional requirements and constraints that the software must fulfill. These documents can be accessed from: – PionDecay/r1.0/Specifications/ PionDecay/r1.0/Specifications/

M.Ellis 17th August Design The design process was executed in a bottom- up manner. The functional requirements were used to define classes (static model), and then these were grouped together into domains (the architectural model). An Object Diagram showing the flow of information in the main executable was developed as an example of dynamic modelling. The resulting documents can be found here: – cay/r1.0/Design/ cay/r1.0/Design/

M.Ellis 17th August Production “Production” in this context means the production of code, not the usual sense that we apply in HEP. Nothing fancy was used in the production of the code. We had a Makefile, edited the source code with vi and used the g++ compiler. The source code, etc can be found here: – cay/r1.0/Production/ cay/r1.0/Production/

M.Ellis 17th August Testing Testing is a crucial, and almost universally (in HEP) ignored process in the correct development of software. The definition and importance of Validation and Verification were discussed. Testing can be broken down into: –Unit tests, which test the functionality of the individual “units” of the software. In our case, these are the C++ classes. –Integration tests, which test the interfaces between different domains, and –System tests, which test the use cases and –Verification, which in our case confirms that the actual physics output is correct (irrespective that the software may meet all the requirements specified, that may not be sufficient to guarantee the accuracy of the physics!)

M.Ellis 17th August Testing – continued... The validation procedures were defined and a physics example from KARMEN of a pion decay was used to Verify the physics accuracy of the output of the program. Our project involved 3 complete iterations of the code production and testing process: –Iteration 1: 9 bugs, 8 found in Unit Testing, 1 found in Integration testing. –Iteration 2: 1 bug found in the Integration test, which also affected the System test. –Iteration 3: 0 bugs found – all tests passed, including verification by comparison to the results published in a KARMEN paper. The tests and output can be found here: – sting/ sting/

M.Ellis 17th August Use Information Use Information is all information provided to the user and is not limited to just a user guide, but can be in many different formats, and for our project included: –User Guides (Installation and Operation) –Reference Manual (html and latex output from the doxygen program) –And a movie (avi format) demonstration of the operation of the program. These can all be found here: – cay/r1.0/Use%20Information/ cay/r1.0/Use%20Information/

M.Ellis 17th August Operation The operation phase is when we would normally be running productions, performing analyses, etc. For the mini-project, we chose to study the effect the momentum of the pion in the lab frame has on the decay angle of the muon in the lab frame. A perl script was prepared the executes the program many times, and extracts the output in a format that can be read by PAW. PAW was then used to plot the relationship between the decay angle and the pion momentum. All documents, including the script and the results can be found here: – peration/ peration/

M.Ellis 17th August Follow-up Course The plan is to hold a second, 1 week long, course that would be more hands-on for all participants. In this course, as the theory has been covered, everyone would work as a team on a slightly less trivial (although still manageable within a week) physics case and use the same processes and methods explained and demonstrated in this first course. So long as sufficient members of the first course attend the second, it would be open to anyone from MICE who is able to attend. I am currently checking Simone’s availability, but it is likely to be held at some point after the MICE meeting (and software workshop). Please let me know if you are interested in attending.