Multiple V-model. Introduction In embedded systems, the test object is not just executable code. First a model of the system is built on a PC, which simulates.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

Layer 3 Switching. Routers vs Layer 3 Switches Both forward on the basis of IP addresses But Layer 3 switches are faster and cheaper However, Layer 3.
SOFTWARE DEVELOPMENT METHODOLOGIES Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Modeling the Process and Life Cycle CSCI 411 Advanced Database and Project Management Monday, February 2, 2015.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Chapter 4 Quality Assurance in Context
CS3500 Software Engineering Legacy Systems (1) Legacy systems are software (and sometimes hardware) systems that have been developed sometime in the past.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
© 2005 Prentice Hall6-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
 The Rise of Computer Science ◦ Machine Language (1 st Gen) ◦ Assembly Language (2 nd Gen) ◦ Third Generation Languages (FORTRAN, BASIC, Java, C++, etc.)
Developing safety critical systems
Unit 251 Implementation and Integration Implementation Unit Testing Integration Integration Approaches.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
CS 501: Software Engineering
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Programming Languages Structure
Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition.
CS351 - Software Engineering (AY2005)1 What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects.
Lecturer: Dr. AJ Bieszczad Chapter 22-1 Process includes: all major process activities resources used, subject to set of constraints (such as schedule)
Life Cycles Birth to death! i.e what happens to a piece of software from the first appearance of the need for it to the time when it is finally retired.
Objectives By the end of today’s class you will be able to… –Describe the major steps in the interaction design process –Explain the importance of iterative.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
Software System Integration
Database System Development Lifecycle
Software Project Management
SOFTWARE ENGINEERING MCS-2 LECTURE # 5. RAD (RAPID APPLICATION DEVELOPMENT) MODEL  In RAD model the components or functions are developed in parallel.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Master test planning. Elements of master test planning The testing of a large system, with many hardware components and hundreds of thousands lines of.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem Darwish.
© 2007 by Prentice Hall 1 Introduction to databases.
Copyright 2002 Prentice-Hall, Inc. 1.1 Modern Systems Analysis and Design Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 1 The Systems Development.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Configuration Management CSCI 5801: Software Engineering.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  System and Software  System Engineering  Software Engineering  Software Engineering Standards  Software Development.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Software Development Life Cycle (SDLC)
CPSC 871 John D. McGregor Module 6 Session 2 Validation and Verification.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Introduction Requirements and the Software Lifecycle (3)
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
44222: Information Systems Development
Systems Development Life Cycle
Chapters 3 TO 5 of Your Report. These chapters should concentrate mostly on your own work on the project. This may involve the following: System design.
Software Development - Methodologies
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Chapter 1 The Systems Development Environment
SAP University Alliances
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Methodologies For Systems Analysis.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Software Engineering Lecture 17.
System Construction and Implementation
Chapter 1 The Systems Development Environment
PSS0 Configuration Management,
Presentation transcript:

Multiple V-model

Introduction In embedded systems, the test object is not just executable code. First a model of the system is built on a PC, which simulates the required system behavior. When the model is found to be correct, code is generated from the model and embedded in a prototype.

Introduction The experimental hardware of the prototypes is gradually replaced by the real hardware, until the system is built in its final form as it will be used and mass produced. The reason for building those intermediate product-appearances is, of course, that it is cheaper and quicker to change a prototype than to change the final product, and even cheaper and quicker to change the model.

multiple V-model In principle each of the product appearances (model, prototypes, final product) follows a complete V-development cycle, including design, build and test activities.

multiple V-model Testing the different physical versions often requires specific techniques and a specific test environment. Therefore a clear relation exists between the multiple V-model and the various test environments.

Iterative and parallel development The middle V especially, where the prototypes are developed, is iterative in nature. Iterative development models that may apply here. In reality, developing an embedded system is a complex process for the following reasons. - It is a multidisciplinary project involving both software and hardware development teams. These often work independently and in parallel. - A good project manager will ensure that there is frequent communication, integration, and testing. This usually results in an iterative process.

Iterative and parallel development - The development of large and complex systems requires (functional) decomposition of the system, leading to parallel development of components and stepwise integration. - For each component a model can be developed, followed by iterative development of both hardware and software.

Iterative and parallel development This explains why the development of a particular embedded system will be a (unique) complex process with many development and test activities happening at various times, requiring much communication and coordination.

Test activities in the multiple Vs There are many test design techniques that can and will be applied, test levels and test types that must be executed, and test related issues that require attention. In order to plan and manage this well, the test manager needs an overall picture of all relevant test activities and issues, and how they are related.

Test activities in the multiple Vs

The nested multiple V-model The left side of the V-model handles the decomposition of the system into its components. The middle part of the V-model consists of parallel development cycles for all components. The right side of the V-model handles the integration of the components.

The nested multiple V-model

For such a component, an architectural design activity is carried out to determine which subcomponents are required. Because this may result in a V-model within a V- model (within a V-model, …) the development lifecycle model is said to be “nested.”

The nested multiple V-model In fact the purely sequential multiple V-model is mainly applicable to the component level. Usually it is not the complete system which is fully modeled first, then completely prototyped, and so on. It is the components that are built in this stepwise way. When the V-model at the system level is combined with the multiple V-model at the component level, it results in the so-called “nested multiple V-model”

The nested multiple V-model

With this model, all test-related activities and issues can be allocated to the correct level in the correct place. At the system level, higher-level test issues can be allocated to the overall development cycle.

The nested multiple V-model

The multiple V-model is not only helpful when a test has to be planned and executed for a completely new (developed) product, but also in the case of new releases of an existing product. First it should be identified where the development activities fit in the multiple V-model. Then the full master test plan helps in choosing the integration and test activities for an effective master test plan dedicated to this new release.