What is the V-shaped model for system development? Explaining the process, benefits, and differences from the W-shaped model

What is the V-shaped model for system development? Explaining the process, benefits, and differences from the W-shaped model

table of contents

“What is the V-shaped model of system development method?”
"What are the benefits of the V-shaped system development model? I want to know the basic concepts and processes!"

Some people in charge of system development may think like the above. First of all, the V-shaped model has the following advantages.

  • Easy to clarify test content
  • Easy to clarify who is responsible at each stage
  • Easy to check project progress stage
  • Relatively low risk of rework

The main advantage of this method is that it is easy to set the test content appropriately because the requirements are clearly defined at the beginning.Additionally, since the phases are raised one by one, it becomes easier to clarify the overall progress and the person responsible for each process. Management will be able to proceed smoothly.

In this article, we will explain in detail the basic information, processes, roles, and differences between the V-model and other methods of system development.

1.What is the V-shaped model for system development?

First, we will explain basic information such as the system development V-shaped model and process.

  • What is the V-shaped model, a system development method?
  • First of all, what is system development?
  • What are upstream and downstream processes?

What is the V-shaped model, a system development method?

The V-shaped model is a method that categorizes each process of system development into requirements definition, design, implementation, and testing, and superimposes them on the appearance of the V-shaped model.This model particularly emphasizes the importance of the testing phase. The process is as follows

Left side of V-shaped model (upstream process)Right side of V-shaped model (downstream process)

1. Requirement definition

7. System testing

2. basic design

6. Combined test

3. Detailed design

Five. unit test

Four. Development and implementation

The left half of the V is where the requirements definition, basic design, and detailed design are placed, and the right half is where unit testing, integration testing, and system testing are placed. The tests are placed in response to the progression of development. The series of steps from 1 to 7 form a V, so it is called the V-model.

This geometry tightly links definition and design to each test. It is clear at a glance which test corresponds to which task. Therefore, it can be said to be an easy-to-use development model for those who want to thoroughly conduct and check each phase of testing.

One of the traditional and common development methods is the "Waterfall" method. However, the Waterfall method has the disadvantage that it is difficult to understand which task is being tested. Therefore, the V-model is often used because it is easy to understand and manage progress.

First of all, what is system development?

System development refers to the realization of tools and software that are useful for business. Although the word is similar to ``system construction,'' which involves combining existing systems and arranging an environment, system development is basically ``creating something new from scratch.'' Or you can think of it as ``the process you go through at that time.''

The basic process of developing such a system is as follows.

  • design
  • construction
  • test
  • introduction
Development targets include systems that solve specific business issues and tools that automate business processes. For example, the following would apply:
  • Customer information management system
  • Central inventory management system
  • Attendance management system
  • production management system

By developing and introducing these, you can improve the efficiency and, in some cases, automate your operations.

Generally, systems engineers and programmers are involved in system development, and a project manager is responsible for managing and taking responsibility for the entire project.

What are upstream and downstream processes?

The upstream and downstream processes in system development refer to the stages of project progress.The upstream process is the process located at the initial stage, where general planning such as direction and planning will be performed.

The contents of the upstream process include clarifying the purpose and scope of the system, setting the content of the system to be created, and the necessary budget and schedule. These are very important steps as they affect the success or failure of the project.

In the upstream process, we hold repeated meetings to flesh out the system the user desires. In addition, it is necessary to organize fixed processes and take direction to proceed efficiently. Therefore, comprehensive abilities including communication and management skills are also emphasized.

On the other hand, downstream processes are carried out in the latter stages of system development. Tests are carried out according to the requirements determined in the upstream process. This process requires accurate programming based on the design documents created. In addition, since rigorous testing of deliverables at each development stage is essential, you will also be required to be familiar with various testing technologies.

For details about the system development process, please refer to the following article.
What is the system development process? Explanation of the different types, such as flow and waterfall model

What is the design? Process and role of V-shaped model

The steps and roles of the V-model system development are as follows:

  1. Requirement definition
  2. basic design
  3. Detailed design
  4. Development and implementation
  5. unit test
  6. Combined test
  7. system test

Requirement definition

In the V-shaped model, the first step is to define requirements.Requirements definition is the process of determining what purpose the system will be built for and what functions and characteristics are required.It is necessary to define the reason for creating the system and what kind of operational efficiency improvements are expected after the system goes live. Basically, define something like the following:

Definition exampleConcrete example

User Requirements

Needs and things to be solved, etc.

Functional requirements

data processing, reporting, etc.

Non-functional requirements

Compatibility and scalability

Other restrictions

budget, schedule etc.


For example, if you want to improve business processes by centralizing user information, you will determine the specific functions and schedule required for this at this stage. The cost of the project is also typically estimated at this stage and approval is obtained from the department manager or management. At the same time, a plan is made at the requirements definition stage regarding how long it will take to recoup the expenses incurred.

Requirements definition is an important process for proceeding with development. If not done properly, problems may occur during the development and implementation stages. It is important to discuss and consider this carefully.

basic design

Next, move on to ``Basic Design.''Basic design is a process work that defines the overall structure and functions of the system in order to realize the contents summarized in the requirements definition.The main designs that can be considered are as follows:

Example of design targetConcrete example

Business flow

Flow diagram for using the system

List of implemented functions

Functions to be implemented in the system

layout

Various layouts

Screen transition

Screen transition flow

While requirements definition determines the purpose of the system to be developed, basic design is the work of summarizing specific methods to achieve that purpose. Normally, specifications are determined based on a requirements definition document. This includes determining the screen design and infrastructure configuration. Therefore, be sure to make it easy for users to understand and share the image of the completed system as you proceed.

Detailed design

Next is "detailed design".Detailed design is the process of creating a blueprint of how to write a program to realize the contents determined in the basic design.The main designs that can be considered are as follows:

Example of design targetConcrete example

Functional division

Class diagrams, sequence diagrams, etc.

data flow

Flow diagram showing the flow of data, etc.

Screen design document

Modularization, etc.

Database Related

table definition etc.

This phase is mainly used to tell programmers how to implement the process, and the process flow, data flow, etc. are summarized in a design document. The guidelines for programmers when actually proceeding with coding will become clearer, and efficiency can be expected to improve.

The basic design is presented to the client, so it is sometimes called "external design," while the detailed design is presented to the programmer, so it is sometimes called "internal design."

Development and implementation

Next, we proceed with "development and implementation" based on the detailed design document.Through programming, we design the defined functionality to work accurately on the system.

This task is primarily the responsibility of programmers. Created using programming languages ​​such as C language, Java, JavaScript, and PHP.

In the V-shaped model, there is a turning point in the development and implementation stages, after which the testing process progresses. This is a very important step because the system created here will serve as the basis for detailed operation checks in the later testing process.

unit test

Unit testing is the first test performed in a system or software development project. The V-shaped model is located in a pair of detailed designs.In other words, it is a test to confirm whether the functions planned in detailed design are correctly implemented in the program.

Specifically, units or components that make up a program are tested individually. For example, tests are performed on as small a unit as possible, such as functions or screen parts, and verification is performed to see if each unit works correctly. For this reason, unit testing is also called unit testing or component testing.

Because this test is performed before combining, it is easy to identify and correct any problems that are discovered. Unit tests serve the function of identifying defects in the created system.

Combined test

"Integration testing" is a test that combines systems that worked in unit tests to check their coordination and behavior.The V-shaped model is located in a pair of basic designs.

While unit tests focus on individual functions, integration tests connect them together and test the overall flow of data.

There are four types of integration tests:

Integration test exampleFeatures

interface test

A test that checks the operation of individual program modules. Verify that data is transferred correctly.

black box test

Testing that verifies functionality based on software inputs and outputs without considering internal structure or implementation details. Verify the behavior of the system as seen from the outside.

Scenario Testing

Testing to verify operation and behavior based on actual business operations, verifying the system through transactions, etc.

stress test

A test that puts a load on the system to check whether any problems occur. Verify processing capacity by processing large amounts of data.

Integration testing is a type of testing that combines functions in this way and verifies that there are no problems with various inspection items.

system test

"System testing" is a test conducted after the system has been built to confirm whether it operates correctly based on the specifications defined in the requirements definition and whether it performs as desired.In the V-shaped model, it is located as a pair of requirements definition and is also called comprehensive testing.

This test is the final check of the entire system and is mainly divided into two types:

  • Functional testing
  • non-functional test

Functional testing is a test that uses actual data in a production environment to confirm that each function of the software is working correctly. A final check to see if the system works as expected.

Non-functional tests check aspects of the software other than its operation, i.e. whether it meets performance or non-functional requirements. System testing is generally performed by a test engineer or a system engineer who understands the specifications.

Explaining the benefits of using the V-model

The advantages of using the V-shaped model are as follows.

  • Easy to clarify test content
  • Easy to clarify who is responsible at each stage
  • Easy to check progress stages
  • Relatively low risk of rework

Easy to clarify test content

Using the V-model makes it easier to clarify the test content.This is because the test content is clearly defined for each development process.

ProcessProcess of testing the system

Requirement definition

Perform system tests to ensure that requirements are implemented as defined.

basic design

Perform an integration test to see if it is implemented according to the basic design

Detailed design

Perform unit tests to ensure that it is implemented according to the detailed design

By adopting the V-shaped model, you can perform testing and verification according to each stage as shown in the table above. By making it clear what needs to be done, it will lead to fewer omissions and improved quality.

Easy to clarify who is responsible at each stage

Another feature of the V-shaped model is that it makes it easy to clarify who is in charge at each stage.This is because the people in charge of each process are clearly separated.

ProcessExamples of responsible persons

Requirement definition

Project Manager, IT Consultant

basic design

Operations person

Detailed design

System Engineer

Development and implementation

programmer

For example, if the current process is basic design, the person in charge will be the person in charge of operations. By introducing the V-shaped model, it becomes easier to understand each stage and the person currently in charge.

However, some projects may have tasks that span multiple stages. In this case, it can be difficult to know who is responsible for each stage, so be careful.

Easy to check progress stages

Adopting a V-shaped model makes it easier to check the progress stages of a project.This is because the process proceeds in stages in the V-shaped model.

In the V-shaped model, the start of each stage is conditional on the completion of the previous stage. For example, the detailed design can only proceed after the basic design is completed. Completion of each phase becomes a clear milestone.

In this way, the V-model has extremely simple progress processes and progress conditions, and basically no time is required to check them. As mentioned above, it is also easy to clarify who is responsible, making it easier to manage and track the status of the project.

Relatively low risk of rework

Another advantage of the V-shaped model is that the risk of rework is relatively low.This is because development begins only after requirements definition and design are completed.

In the V-shaped model, requirements are first defined strictly and then thoroughly documented and designed. The test level for each stage is clearly defined, and rigorous testing is performed at the end of each process. This makes it less likely that omissions will be discovered in the downstream process, compared to if you proceed with development without thinking. You can expect to prevent major rework.

However, this is just a ``relatively low'' rate, not an absolute one. For example, if a fatal flaw is discovered during the testing stage, there is a risk that the process may have to go back to requirements definition. please note.

Explaining the difference between V-shaped model, W-shaped model, and agile model

In system development, in addition to the V-shaped model, there are other methods such as the W-shaped model and the agile model. Here we will explain the differences from the V-shaped model.

  • Difference between V-shaped model and W-shaped model
  • Difference between V-shaped model and agile model
  • Difference between V-shaped model and waterfall model
  • Differences between the V-model and the prototype model

Difference between V-shaped model and W-shaped model

The "V-shaped model" progresses in stages from requirements analysis to development and implementation, whereas the "W-shaped model" progresses at the same time as the testing process as shown below.The process of the W-shaped model is as follows.

Upstream process

downstream process

1.

Requirement definition

2.

Feedback from personnel

system test design

12.

system test

13.

correction

3.

basic design

Four.

Feedback from personnel

Integration test design

Ten.

Combined test

11.

correction

Five.

Detailed design

6.

Feedback from personnel

unit test design

8.

unit test

9.

correction

7.

development

This allows immediate verification as requirements definition and design progress. Design errors can be found efficiently, making them easier to fix.

As mentioned above, the V-shaped model represents the development steps in a V-shaped model, and tests are performed in stages from requirements analysis to development and implementation. The testing period for the V-shaped model is different from that of the W-shaped model. The V-shaped model begins the testing process after development, but the W-shaped model involves testing and design in the first half.

The W-shaped model is a development method recommended for projects that want to identify design errors at an earlier stage.

Difference between V-shaped model and agile model

The ``V-shaped model'' progresses in stages, but the ``agile model'' is a method that allows for flexible and quick releases.The steps of the agile model are as follows.

Function AFunction BFunction CFunction D

1. Requirement definition

1. Requirement definition

1. Requirement definition

1. Requirement definition

2. design

2. design

2. design

2. design

3. development

3. development

3. development

3. development

Four. test

Four. test

Four. test

Four. test

Five. release

Five. release

Five. release

Five. release

*In the agile model, it is common to develop each function simultaneously.

First of all, the agile model is a development method that repeats a series of processes of requirements definition, design, implementation, and testing for each function in a short period of time. It's like repeating the PDCA cycle at high speed.

Since we repeatedly release each feature, we can respond flexibly to changes in demand. Not only that, it also makes it easier to factor in market changes that occur during the project.

In contrast, the V-shaped model is less resistant to changes in requirements that occur during the course of the project because development is carried out faithfully in accordance with the requirements specifications. Instead, we always test at each stage, so you can expect the quality of the final product to be high.

Therefore, if you want to respond flexibly to changes, an agile model is recommended.

Difference between V-shaped model and waterfall model

The ``Waterfall model'' is a model that progresses sequentially, and the V-shaped model is a model that incorporates a testing process at each stage.The steps of the waterfall model are as follows.

  1. Requirement definition
  2. design
  3. programming
  4. test
  5. Operation/maintenance

The waterfall model divides the development of a system into stages and moves on to the next stage when one stage is completed. It is called a ``waterfall'' because the process descends from the top to the bottom like a waterfall, from requirements definition to system testing.

The waterfall model, like the V-shaped model, is characterized by clear objectives and deliverables for each stage. Easier project management and more control over the process.

On the other hand, the V-shaped model becomes V-shaped during the development stage of this waterfall model, and tests are incorporated into the process on the left. It has a feature that makes it easy to clarify the scope of the test.

The two models are very similar, and the V-model can be considered an advanced version of the waterfall model.

Differences between the V-model and the prototype model

A "prototype model" is a model in which a prototype is created and confirmed by the orderer.The basic process of the prototype model is as follows.

  1. Requirement definition
  2. design
  3. Prototype production
  4. Review and testing
  5. Prototype modification
  6. Main development
  7. release

A prototype model is a method in which requirements are determined in detail based on user feedback, and once the prototype passes, the process proceeds to full product development. Because it actively incorporates user feedback at the upstream process stage, it has the advantage of being able to more accurately understand needs.

On the other hand, in the V-shaped model, there is a confirmation test for users in the downstream process. Therefore, compared to prototype models, it is difficult to change the requirements.

For these reasons, prototype models are recommended for projects that aim to flexibly respond to user requests for changes while ensuring that the final product better meets user expectations.

However, please note that the prototype model requires the creation and verification of a prototype, so it tends to require more man-hours and costs than the V-model.

summary

So far, we have explained the V-shaped model for system development. Using the V-shaped model for system development makes it easier to manage the entire project.Because each process is clearly defined, it will be easier to understand the test content and to clearly identify the person responsible.

The V-shaped model is not good at flexible specification changes, so it is best used for projects where the requirements can be clearly defined and there are few changes. If you're planning a project that isn't expected to change much, consider adopting the V-shaped model.

If you have any problems with system development, please feel free to contact us.

Achievements left behind

48 years since its establishment.
We have a proven track record because we have focused on what is important.
It has a long track record in both the public and private sectors.

Number of projects per year

500 PJ

Annual number of business partners/customers

200 companies

Maximum number of trading years

47 years

Total number of qualified persons

1,870 people