Has been to write a summary of this article, but it is not no time to write is the courage to go on, because afraid of other people throwing rotten eggs. These two days time, and finally summon the courage to write this article to the next! Also hope that some of the development is looking for a better friend to a little help, and hope for some technology with the management of cattle, and can give some suggestions.
As a project manager, systems architect or technical backbone, and its level is related to the company's project management, software quality management issues. The backbone of the project manager or technology should play a leading role in the development of the entire team and management to achieve a higher level.
That as a project manager or the company's technology backbone should learn those tools and knowledge point? This relates to a tool and technology is very much on how to choose, is facing the project manager, systems architect with the technical backbone of the problem before. According to the company and team, the choice of appropriate tools or technical framework, which is very important. Different stages of the project, different tools need to support.
Software system in accordance with the six stages of the life cycle, needs analysis will generally be divided into stages, the system design phase, the system development phase, software testing phase, the system release phase, maintenance phase, which requires several stages with different tools.
A needs analysis phase:
First, project management and demand management tools
Project management tool that many companies are in use, why should we use these tools? If there is no use of these tools, but the use of Excel or Word recorded, that when the demand for change? Demand for the achievement of the track? Whether the software on-time delivery? Would be a very annoying and error-prone lock thing. A software project development team can be successful, management is critical. Compared with well-known commercial chemicals: MicroSoft Project Server and Project 2003, IBM Rational RequisitePro, JIRA, PowerDesinger. Comparison of well-known open source Requirements Management tools include: OSRMT (Open Source Requirements Management Tools), Xplanner, Openworkbench and so on.
Many software companies are using SharePoint, the SharePoint platform, as long as you want, basically can be configured to meet your business needs. In SharePoint, the MicroSoft Project Server can be a very good combination, and then configured for the Project 2003 client, the project management company. Customary operation of the Project may be a problem in the Web interface for project management time, I felt quite inconvenient.
IBM Rational RequisitePro (
Second, the demand for analytical tools needs analysis tool could be used more than Rational Rose, MicroSoft Visio or MindManager, generally we use Rational Rose for use case analysis, drawing use case diagram, state diagram paintings; use MicroSoft Visio to draw application system chart, flow chart and so on. Of course, MicroSoft Visio to draw things out, in fact, as Rose can be achieved, but, we all do, we do not have the necessary expertise to do some special things, especially for some of the more specific companies and industries.
Ration Rose 2003 is a memory tool, since there are still many companies with personal use, personally feel that the software version is a classic, but for now the requirements of WYSIWYG, the use of Rose 2003, may have no alternative to meet you, because it requires a number of small operations to meet your request. However, it is undeniable that it is a very good software. Now for some new tools like the use of new technologies programmers, maybe now they are using RSA.
MicroSoft Visio (
Second, the system design stage:
First, the system design tool for the mainstream system design tool we are very familiar with the Rose2003, however, is now not called Rose, and now the latest design tools IBM is the RSA (Ration Software Architect), Borland Together, SyBase PowerDesinger, MicroSoft Visio, system design of revenue-raising, there are many tools, such as ArgoUML, DBDesigner and so on.
Second, the development of the framework of the technical framework for the choice of technology is the key to a good technical framework, the development will enable us to more quickly and more rational division of work teams, the system can support multiple database platforms, we are more convenient maintenance.
Web front-end MVC framework Struts 2. Struts 2 can be said to be wearing a Struts coat WebWork, and its core WebWork uses mostly technical, and design ideas based on the AOP, let us design the software to more reflect the "high cohesion, low-coupling "design thinking.
J2EE framework is the Spring, as an open source J2EE framework, although it does not point too many new technologies, but its integration, we take the development of a more simple, IOC, AOP, transaction processing, integration of open-source framework to support the and so on, making the framework as a first choice for J2EE.
Persistence layer framework Hibernate, an open source project, I would like to, not a single open-source community project to you, like Hibernate, rich documentation, active communities, the development team based on the Hibernate huge, making it as a persistence layer framework the first. Based on Hibernate, we can develop a database platform-independent products. However, Hibernate also have their own problems, if used improperly, may be out of control, once out of control, it brings that performance issues. For the latest Hibernate3, stored procedure support, external SQL customization, a very good solution to this problem. However, in the relationship, the use of or better to be careful.
Page frame, you can give more consideration to the use of DIV technology, JSTL tag library, Struts 2 tag library, DWR, AJAX, XML + XSLT and other technologies to better enable us to maintain the page, use OSCache cache technology to increase our access to the speed of the page.
Third, the development of norms of custom file naming specification, database design specifications, coding norms, teamwork and so on a number of normative things, the need for the development of the system requirements before the good, and training accordingly. QA should do a good job in the role of supervision, regular assessment of the problem has occurred and the problems that might arise, early detection, early intervention.
Fourth, the choice of development tools, the team must select the same development tools, development tools, the same as the same software version. Why should we do so, in fact, if you as a Team Leader, you will in the management team when you find a lot of problems, and solve the problem, and that the project before the coding, what they provide, and in order to avoid problems which affect the speed of the entire development team. The choice of development tools is also very important, more than the current enterprise development tools: Eclipse, Jbuilder, NetBeans, IDEA.
Jbuilder: the latest version of Jbuilder version is basically 2007,2007 can be regarded as the re-development version, because it is based on Eclipse. Borland is the company I am the most loyal Fans La. , from Jbuilder6, to Jbuilder7, then Jbuilder8, then Jbuilder9, Jbuilder X, Jbuilder 2005, Jbuilder 2006, I often tell my students that, for Jbuilder, I believe no one is more familiar than I He has been doing Java development close to 6 years, more than four years, every day are using the tools, Jbuilder I witnessed grown. Jbuilder people used a lot of people know that the piracy problem in Jbuilder, after the installation of Jbuilder, if you are not careful, there is no firewall installed, it will from time to time by Jbuilder port 8888 to the Borland headquarters to send some information on your computer, this is a very terrible, "Trojan horses" What is a "Trojan horse"? This is! Jbuilder X Since this situation has been there since. If you were not afraid of Borland's up with the Trade and Industry Bureau check your software, then select Jbuilder is a good choice. Java IDE development platform as the boss, Jbuilder in enterprise application development is very advantageous, especially the development of EJB with the WebService, even a sentence can only be used to describe, that is cattle. Jbuilder 2007, The Return of the King, I believe that Borland for many of the Fans, or the like and is willing to try, but the price is still a lot of companies will not stand, speed will also not stand a lot of programmers. Jbuilder my 2006 on the fate has already ended. My development environment is now basically Eclipse.
Eclipse: IBM donated to the good things, the development of very fast, and now has come to Eclipse3.3, a tool very useful. However, Eclipse is just a basic platform, if you need other features, you need to download the plug-in expansion related to download the plug-ins you should pay attention to compatibility with the Eclipse platform issues. Eclipse + MyEclipse (
NetBeans: the company as a Sun developer tools products, function as very strong, no matter what you do or do application development application development, NetBeans is a good choice. NetBeans is also the same with Eclispe is also a basic platform, but the basic platform of a lot better than the powerful Eclipse, NetBeans basically you can download a development application or a J2EE application. And, NetBeans support for the Chinese is very good, basically a new version out, they already have the Chinese version, English version with the Japanese version of the. It seems, NetBeans is still relatively optimistic about the decision-makers of these groups. NetBeans Plug-in Development of Mobile is best to use J2ME is the fastest, at least I personally think so. The development of J2ME applications, I preferred that NetBeans. NetBeans has grown to the current version 6.0, the interface is very beautiful, are interested in friends you can download a game. NetBeans download address is:
IDEA: The IDEA evaluation, I can only use words to describe it is: practical works of art. It is very easy to use, interface is very beautiful, very If you are a women's project manager or technical cow people, you will love this art devices. IDEA is very powerful development and application of the procedure, it is absolutely sure. Official plug-ins are also very rich, when you need that on the one hand, the function can basically get to find plug-ins, you need only plug in the official database to look inside it, and automatic installation, automatic update . JavaWorld received in 2003 as a general work, I believe, it can bring many innovative IDEA. It is a kind of commercial tools, the price is only 499 U.S. dollars, and individuals will buy 249 U.S. dollars, if you are willing to sacrifice some features, you can download a free version. Prices, individuals think that it is worthy of the value of this work of art. Are interested can download a trial version of play:
Ant is an open source apache project, the official website from the Ant download the latest version:
Third, the first stage of development, configuration management tools
There are a lot of code management tools, and now companies with more than code management tools have CVS, VSS, SVN.
For a development team is only 2-5 individuals, and that two or three individuals in the same office, and that the use of VSS is a very good choice, personally feel that the management of his small team are very easy to use. Personally feel that the only disadvantage of VSS is a file lock when a person, that other people will not be modified, when a file sharing for individuals and larger development team, this will show very serious problem. VSS client with the server you can find it from Visio Studio.
The VSS client Eclipse Plug-in:
For a development team have more than five individuals, that the option of CVS or SVN would be a better choice, and, if your team is dispersed, may not be an office or a city is not the same, and that the use of CVS or SVN is more like a choice. CVS server in general is to use CVSNT or CVSServer.
Linux for X86:
Window for X86:
JBuilder, Eclipse, NetBeans, IDEA integrated CVS client
As a version management tool, CVS since there have been 20 years, it can be said he has come to an end, but it is certain that it will continue to exist. SVN as a CVS replacement products appear. Many open source organizations to SVN on slowly, such as Apache with SourceForge. CVS than SVN has greater functionality, for example, it can change the catalog record, its performance will be much faster than CVS and so on. SVN is currently slowly being accepted by businesses, but personally feel that the Eclipse client stability has yet to be improved, perhaps with the Eclipse version of the compatibility to some extent. However, the stability of these, let me now use this product also continue to remain in the trial stage.
Current SVN plug-in support includes Eclipse, Jdeveloper, NetBeans, such as development tools.
Second, the knowledge base management tool for everyone in the team time in the development of a number of issues will be found, in the end, some problems can not be resolved, some issues can be resolved. In general, most of the issues through the joint efforts of team members, can be solved, that solution to the problem, problem-solving steps, which are the formation of knowledge. As a team Leader, we must attach importance to such knowledge, because knowledge is very useful, it does not for some novice or experienced colleagues such issues, can provide the appropriate assistance.
Fourth, the software testing phase
First, the defect management tool you can not guarantee that it will never go wrong, but some mistakes you have not found it yet; some errors in certain circumstances it will occur. Like Windows, there will be some system updates from time to time asked to update documents. These updates may not errors, just some of the hidden aspects of system security. These software systems can be regarded as defects. That these deficiencies should be how we manage? How to track this? Defect management is used more than two: the first is open-source bugzilla, the other is the business JIRA.
JIRA, as the provider for the shortcomings of the management system, JIRA price worthy of its functions. JIRA is not only a defect management system, it is a project management, defect management, statistical analysis as a tool. This tool I have been in use, just use some "special" version of it.
Second, software tools for performance monitoring Jprofiler (
Borland Optimizeit Suite (
Third, the software performance testing tools Ant + Windows Scheduled Tasks to create the company's automated testing DailyBuild process, this is a test done before the process. The use of this testing process, no more than one purpose, namely, to enhance the quality of the company's software.
Fifth, the release of the software released software will be how we do it? Our general approach is that the script of the database, including built form statement, to initialize the data, as well as the production of WAR file or EAR file. And then to the client side, we need to database tables and data to initialize, and then, WAR or EAR files will be posted to the application server. This may be that we now released to the client often do one thing. It can be done more as simple as that? There are two general approaches, the first is to use Ant, the preparation of a database to initialize the application with the release of the Ant script module, and then directly to the production machine can run the script; the installation of a second is the production of documents, generally used to create installation files of IzPack, this is the most a free tool, you can use this free tool to make the installation process. Customers may be accustomed to the way the installation of the installation process, and the production of an implementation of the installation process, help to improve the level of software products.
Sixth, the first phase of software maintenance, customer management tools to track customer CASE tracking system CASE do believe that many agents CISCO gold company will used. We must set up in the company's internal tracking system corresponding CASE. When the user when using the system and found some problems, we need input on these issues and follow-up. Such as customer call service system, etc. Some of the software business is still a lot of outside, in fact these systems is the development of a company's own very quickly. However, there must be. This is to improve the image of the entire company's overall service attitude.