Some thoughts of software development (five year work summary edition) __

Source: Internet
Author: User

2010-08-01 21:05

Today to force themselves to write this summary, or I am afraid to have a new feeling later, but also precipitation, and do not know how long to precipitate and write it. Three years ago, I wrote a little bit of <web development > http://blog.csdn.net/Eric77/ Archive/2006/12/13/1441977.aspx, the basic point of view continues to persist inside the idea. In recent years, we have done a lot of systems, from requirements analysis, design, development, testing and project management of the entire process, and have some new insights.

For any system: there are 3 things to do: IPO. which is input,process,output.

For requirements Analysis: Your most important thing is to understand the needs of the users. That is, what is the function (Process) that the user's input and output are required to achieve. Understand that later, you can write some user requirements, describe use cases, input and output processing anomalies, or do a simple demo system, take to the user to see if this interface is user like, this process is not the user needs and so on.

And then there's the system analysis: first, you need to divide the user's requirements into modules, what each module's IPO is, what architecture they should adopt, how to interact with those modules, what the interface is, and what technology needs to be used. What is the operating environment of each module, for efficiency, Whether security or fault-tolerant features are to be considered.

Then there is the system design: Each module of the database How to design, the technology and the framework of the decision, to determine what the different levels of interfaces, such as the performance layer, business logic layer, database access layer, how to call each other, set the framework and development patterns and formats, the rest is encoded.

Coding section: First, the team should have a good coding standard. and to each person submitted code to review, I found that the program is more, I became a calculation, see the program will know what will happen, there is no need to run.

Test: Does the unit test write test cases? JUnit is a good tool. Everyone has to make sure that their code is OK. The overall test will run the whole process to see if the requirements are realized right, there are no other flaws.

Risk management: It's important to be aware of the risks to your project at all times, whether it's people, technology, time, or coordination. Be sure to keep in mind, report to the leader on time and weekly.

Well, that's the whole point I'm now having about a system development.

Maybe it's a little easier to write, but I think it's true, during the interview, people often ask me if you have done some complex business logic, in fact, I really do not know how to answer this question, I have always felt that the IPO to understand that more complex business logic will be simplified into a small step, After processing the input data, the database is updated or saved, and then returned to the user after processing feedback information. The most complex point is involved in the processing of multiple databases or nested transactions, as long as the life cycle of a good grasp of the transaction, whether to affect each other, processing good submission and rollback is OK. If it involves workflow, it is necessary to record and manage its position, the relationship between the upper and lower flow of the state or something. What are the complex business logic forms? Well, I'll think about it again.

Perhaps a large amount of data access and processing will require some skill. It is typical to convert frequently accessed dynamic pages into static HTML assignments to Apache processing, with attention to updates. or use cluster cluster to relieve stress. This will also involve tracking the user's problems, one of the easiest way to do this is to get the user to do the allocation. If the access to the database is too large, you can generally use the cache, more than a few databases, into a cluster form, a host of multiple units supplemented. Well, , if the background table data is too large, is to use the table, the table has several methods, skip it. What else, such as how to optimize the query statement, this will use Query Analyzer, and not to say more. The amount,,, what else, for the time being can not remember. However, the development of the < Douban technology architecture of Douban selfless cattle > This pdf is really very few, it is worth everyone's reading.

Remember when I went to IBM interview, asked, after a few career development direction, answered there are three, one is it specialist, one is Project Manager, there is an IT Architect. I also asked to be able to architect development in the future, the person said, architect to be familiar with a lot of technology, I asked two times, he answered two times. Then I ordered advisory i/t specialist. I was very puzzled at that time, I do Java so long, j2me,j2se,j2ee all had done, and to Gof <design Pattern> also realized 5 years, ripe in the heart, a variety of classics also saw a lot, how can not to the architect development. Now I joined IBM to enter a Hong Kong project, and after a few weeks of training in Hong Kong, I realized that a major project would involve a wide variety of languages, techniques, what cobal (transliteration), Forturn, Java,vb,c#,soa xx bus mode, MQ, Mainframe development, and so on, a lot of the old language I've only seen in books, and there are languages, frames, patterns, all of which have not been heard. I was so sweaty, I realized I was really ignorant. Knowledge is a balloon, and the more you know, The more you contact, the more ignorant you will find yourself. So that's why I'm going to write this out today. I am afraid that after the change, but also precipitation, need time.

Well, the road is long and we need to keep working on it.

Not long ago at home with my mother to see the ' Quilimin ' < Yellow Emperor inside > Related health knowledge, think everyone should listen to, Avenue to Jane, Yin and Yang Five elements, natural world, healthy health. Enlightenment-the word exists in all things in the universe.

22:23

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.