Preface:This article will introduce software management systems and version control systems, and then introduce the integration between them.
1. Let's talk about it first.Version Control SystemRight
Version Control System (VCS) is a part of Software Configuration Management (SCM. This system may be unfamiliar to college students who have just graduated. A few years ago, it may even be unfamiliar to some enterprises. Simply put, this system is mainly used to better store and call files (including text, code, image, etc. So why do we need to use this system to save various versions?
In this case, we need to record the history before the version control system is available. At that time, some programmers also needed to write code. At the beginning, everyone wrote the code and saved it directly. Later, we found a problem, one day, the Code was changed incorrectly. In fact, the code of the previous day is okay, but it has been saved and cannot be recovered to the previous day. What should we do? Every time you make changes, you must save a copy for future use.
In this way, the problem is solved, but the problem is solved again. At least one copy is saved every day, and there are more and more copies. But once I make a mistake, I can't find the correct code at once. Because there are too many copies, how do I know what I have changed in that copy? Way out again, every time you get a copy, you must use an Excel document to record what the copy changed, and each copy of the name must be unified, is XXX-1, XXX-2 like this, the suffix is the version number.
This problem has been solved again, but new problems continue to emerge. I found that the code didn't have this problem before, but now the Code has this problem, but the Code does not seem to have changed anything, I think it is better to make a comparison, but it seems that there are thousands of lines of code, so how can I compare the differences between the two versions? (after a great deal of hard work, I finally found the reason, it turns out that an initial value of a variable has been assigned an error, which may have been a mistake.) It seems difficult to solve this problem!
The problem persists. I may be modifying the same file, and others may be modifying it. At last, a big problem occurred. Who did the problem change, because it is the same source file, put it in the same place, and everyone will change it when they need it, and it will be gone, because it cannot be found at all.
The problem is still coming out. I am modifying this file. I just finished overwriting the file on the server. I don't know if another person has taken this file and changed it to another one, I just covered it, and he also passed it on to cover me. In the end, if something went wrong, it was my responsibility. Mom, I clearly passed it on. Who told him to cover it.
Problem... There are still many problems. How can this problem be solved? The solution is the version control system that we talk about. Its functions are mainly the problems I need to solve above. Of course, there are far more than these functions. I will discuss them in detail later.
Currently, popular version control tools include subversion, clearcase, perforce, accurev, and VSS. Among them, subversion is free, and perforce is widely used in Silicon Valley.
2. Let's talk about it again.Software Development Process Management SystemRight
The so-called software development process management system should, in a broad sense, cover all parts of the entire software project, including requirement analysis, summary design, coding, testing, deployment and maintenance, however, today we say that this only includes the development and testing stages, that is, the time when the code will be changed (for function and bug fixing ).
Or follow the method described above to introduce the software development management system.
How can we manage our development process (including bug fixing) before we have this system? In general, the leader sent you an email saying that, today, you have completed this function. The problem is, have you done it, he doesn't know if he doesn't ask. Even if you tell him that there are too many features, he forgets. Therefore, we can come up with a way to record what to do, who the owner is, when to do it, and where to put the code.
This method is indeed very good, and everyone is very excited. I thought everything was under control, but gradually the problem came up again, with many features and many bugs, which were recorded in the Excel document, send me one copy today, and send me one copy tomorrow. I am too busy to update the content, but I still send a new one every day, I don't know which Excel document is the latest. I forgot whether this feature was made, whether the bug was fixed, or not.
Zhuge Liang, one of the three stinks, has a solution. Don't use so many Excel documents. Let's just put everything on top and put it in one place, you can update it on your own, but sometimes you forget to update it. However, some people often remind me to update it, which is basically not enough.
However, the problem will occur again soon. It is ideal to see how many bugs and functions Xiao Zhang has fixed in a certain period of time. After a long time, he did not calculate the issue, the time for each development and test record is different. Some people prefer to use the year, month, and day, while some prefer to add the specific time, excel has powerful functions and cannot be found.
Alas, it seems that we have to force everyone to use a unified format. Well, the problem has finally been solved. However, we are always lucky, but there are still some problems. We will soon see more and more features and bugs discovered, however, a function or a bug may not be fixed in one day. I often want to update the Excel file after it is completed and find that there are too many items that I don't know, and sometimes I am lucky enough to find it quickly. I can't do anything I want to get rid of the several states I have done at once. Because it's not connected together, I have to find them one by one, hold down CTRL, and change it again, it's too much trouble!
Well, there is more than this problem. There is a feature, two of which have been done at different times. Later, a person changed the status, but finally found that this feature is faulty, neither of them can admit that they have changed their status.
......
Gradually, everyone often forgets to update the product (alas, there is no automatic reminder function), and the product quality is getting worse and worse...
Then everyone knows that the software development process management system has been born, and all of the above problems are solved. Of course, there are far more than these functions, including the automatic reminder function, haha.
Currently, devsuite is a popular software development process management system.,ClearQuest,Bugzilla and so on. The devsuite of techexcel covers the entire software life cycle. Bugzilla is free, and devsuite is free for Small and Medium teams.
3. integrated use of the two
Now, we have finally finished introducing these two systems, which is relatively simple. If you want to learn more, you can go to the Internet to find them.
Now, let's talk about their integration. here we can see that the version control system can only manage various versions of the Code, then their integration will inevitably be related to this, and we will start this part in the way of problems.
As a developer, we often perform functions and bug fixes, but I don't know if you have encountered one thing. After you have completed a function or fixed a bug, a long time later, the tester found that there was still a problem and you needed to modify it. At that time, you forgot the code, so you just checked the code and found it for a long time.
One more thing is that you fixed a Bug once, and then you encountered a similar bug again. Although you found the bug description you fixed at the beginning, but you still don't know how to fix it, so it's a waste of time to flip the code again, maybe you finally find the code, but I found that this Code was modified several times later, that is, there are more than N versions. You don't know which version was the one you changed, study again ......
At this time, we were thinking that now we have a development management system that manages task entries for every function and bug, so when I write code for this, can I associate the version when I modify this part of code with this task bar so that I can find this bug in the future (relative to code, there is a software development system, finding a bug is a very easy task. No matter how long the bug is, you will be able to know where I wrote the code, it also knows which version of the code file is changed. This is very helpful for our development work.
Since this demand exists, major system providers will certainly not sit down and launch their own products so that code can be associated with tasks, suchPerforceContainsJobCan be associated with the code,AccurevMediumTaskCan be associated with the code, of course, the best thing to do isTechexcelOfVersionlinkTools can be integrated with most mainstream version management tools, that is, if your company usesSubversion,VersionlinkYou canSubversionIntegration, makingSubversionCode andDevsuiteIf you useVSS,VersionlinkCan be followedVSSIntegration, letVSSCode andDevsuiteTasks in.
In today's world, there are more and more development-related tools, but independent tools are no longer available in the market. tools that can be integrated and used together are really needed by everyone, because each part of software development should have been closely integrated. In the past, there were different products, mainly because the industry was still in the exploratory stage and now it is in the mature stage, to make the process as smooth as possible, of course, who can have a complete set of seamless integration solutions is the king, so the integration of all parts becomes very important.