How to become a good system analyst
Author: Deng Lei
Design definition in Truely Eye: The process of design is the process of processing the transaction abstraction into a computer model. 1. First, you must understand that the design is far more important than programming. 2. Implemented the training of our own thinking and considering problems from global. Establish an attitude attitude of cool thinking. 3. When designing (especially when designing the database design) Don't be completely restrained, the design is better than the poem, know how to be rhyme, but it is completely bound by the rhythm. 4. Do more design, often summarizing your shortcomings and success, ask others. 5. Specialize in finding the vulnerabilities and deficiencies designed by others, but also an important means of improving their design level. (Remember: This good method should not pass through it, you know it, hehe - :) 6. Experience is important, but if the concept is aging, it is not good at summing up, the so-called experience is a shackle that binds yourself. 7. Learn a good mathematics, especially theoretical mathematics such as mathematical analysis, operation planning, mathematical models. It is also beneficial to play a strategic business game. Recommend "Imperial Times" and "Simulation Capital 3000" and "Master 4". (Do not sink inside) 8. Determine the best design method according to the characteristics of the project and the development platform tool. Modular design method and object-oriented design. The combination of two design methods. 9. Decompose complex procedures with modular methods, but should focus on the connection between transactions, and use open vision to design. 10. Measurement of stringency, flexibility, development efficiency, and customer requirements during design. 11. Designfully designed to decide whether to decide whether to design enough flexibility and rigorous in accordance with the progress of the entire project and customer requirements. 12. Complex and unconditional is the worst design, simple and practical is not necessarily the best, but must not be the worst. (Don't say that I am lazy) 13. Training your own good expression skills, expressing its basic ideas with clear and clear and simple descriptions. 14. Establish a unified system analysis model and document template in a project, and at least one person must check and perform globally considers in a project.
Let me talk about how to become a good system analyst?
Bylsfboy
System analyst basics:
Good system analysts are generated from excellent programmers, a solid programming, rich experience is the basis for systematic analysis in the future. There is no thorough analysis of the system itself, it is difficult to understand some of these difficulties. But not equal to a good programmer can become a good system analyst.
Reasonable knowledge structure. Language ability, text expression ability, comprehensiveness of technology, etc. are the basic requirements for system analysts. For example, C / S and 3-layer development, if it is familiar with Netscape products, it is necessary to understand, such as Microsoft and other products, and to understand their history, development ideas, technical advantages and disadvantages, to cope with various poor chasing. Summary question. But more importantly, this is the premise you use custom technical requirements.
System analyst ideas:
The global concept is the concept that system analyst must have. If the system analyst is designed too much attention to details, it will often fall into the unclear queen on a certain issue. (93 years, my aphrographic guidelines have affected the understanding of software development in the next few years --- In the future, the computational opportunity is getting faster and faster, and write a few lines of code less write code. The most important thing is the whole; I was wrong at the beginning, some part was better, and it was useless)
Task difficulty predictive ability
System analysts must have fast task difficulty prediction capabilities and the ability to quickly determine the development group personnel composition and task division. (I will return this to my thoughts, not the ability) insects will naturally go out of wings, but their thoughts require long-term infiltration. To do this, you need a lot of thinking and learning. Design is much more important than programming. The development of the software industry, the emergence of various development tools, the programming is not a problem, and the programmer's work is aware of the existing things that others are piled up. System analysts must clearly understand that most programmers have not learned how to understand a system overall, some don't even understand programming (this is not said that they don't write code). Visual development tools plus five-flowered control, programmers can steal. (This is not exaggerated, I have been in management work, and I have exposed a lot of programmers) based on technology and jump out of the framework. Jump out of the framework based on the problem of user demand. System analyst ideas:
System analysts must have ideas for users. System analysts should have the ability to play themselves into users, to understand what they want to deliver, think what they think, thus understanding the user's ideas and picking out a reasonable part. In this sense, system analysts can get meaningful insights to guide his development group members. The system analyst has a clear understanding of the project outcome and guarantees that the project is not deviated. System analysts must have ideas that rooted in technology, higher than technology thinking. Pure programmers often consider the final result. When a new technology appears in the market, they are relatively small for delivery on time, and strongly hope that their plan can be built in new technology. on. Therefore, the system analyst's ideas and actions should be like a user, and it is also possible to stand in the height of technology, becoming a true user, the spokesperson between programmers.
System analyst key
gain trust. The most important quality of system analysts is to achieve trust, which is the key to the excellent system analyst. Mature is the most important. Mature can provide correct support for the entire project group, understand how technology can solve user needs.
System analyst preparation work
Unified various document modes, including future software variables, field naming rules. I recommend the basis for the rules set by PB, and become a standard for their utility. Unified document management. Unified analysis software. For example, Rose (UML is too standard, the domestic software management level is not used, but it is only as possible, your own understanding of system analysis is good)
The method is the shortage of thought, and there is not much to say in the specific method. I got a few books from U $ A, used for the use of object-oriented systems "," object-oriented analysis "," project management "is very good, recommend everyone to see.
I have sent a glimpse of "I have a computer in China." I heard that some people (habitual). In fact, BBS was originally vented, and there was a rare article here.
Since the "Venus" landed in Shenzhen, everyone is more eye-catching from the macro look at China IT industry. China IT this small tree is really not easy today. Some people put forward the slogan of "opposing Microsoft Hegemony", many people call for the emergence of China's "Silicon Valley". Microsoft's success is not the success of technology, more is the success of business operations. China IT This tree can grow high, depending on the soil he rooted. The current fact is that this soil is really barren! If we don't want to make a big tree according to our current ideas and law, don't expect "Microsoft", "Silicon Valley" so fruitful. If our software technology is behind the United States ten years, our hardware manufacturing technology is behind the United States for 20 years, and our management is backward in the United States for at least 30 years. The ultimate decision of development is just our death - poor management level. The reason for the formation of poor management level has a deep background and a multi-faceted reason. Systematic analysis work is to solve a problem, the goal is to transform a demand for computer application into actual physical implementation, which is complex and complex in the actual surface. In the system analysis process, you will pay attention to the following problems. System analysis design work that may be conducted may be helpful.
1) What is the purpose of the system you have finished? Note that it is not a functional requirement, but the purpose. That is why we want to build, why is modern construction.
2) What are the participation of the system you have finished, what is the original intention of all aspects? Those people may play an important role in system construction, what kind of attitude would be taken? How much influence do you have?
3) Does your system have a clear evaluation criteria? It is best to consider from all aspects of participation.
4) What is your system design idea? Whether it can be recognized by all aspects.
5) Do you know the personnel involved in the design and development of system? Where is their special length, is it willing to cooperate with you, why? Do you have enough influence on them?
6) Is your system development plan perfect? Does your plan have a clear stage? What should I do at any stage? How to evaluate this situation?
7) Are you familiar with the system development methods and tools used? Is your partner familiar?
8) Do you have a prototype? Computer or physically.
Several problems above are involved in systematic analysis and system planning, for all reference.
Systematic analysis work is to solve a problem, the goal is to transform a demand for computer application into actual physical implementation, which is complex and complex in the actual surface. In the system analysis process, you will pay attention to the following problems. System analysis design work that may be carried out can help
1) What is the purpose of the system you have finished? Note that it is not a functional requirement, but the purpose. That is why we want to build, why is modern construction. When considering the purpose of the system, I focus on the ultimate goal of the system, because a system is impossible to perfect, and there is some room for the system.
2) What are the participation of the system you have finished, what is the original intention of all aspects? Those people may play an important role in system construction, what kind of attitude would be taken? How much influence do you have? One of the failures in China's IT industry is that people "too young" must have leadership support, otherwise they will end. Don't think that you have much influence on them, even if you have, it is necessary to think that decision makers will affect them. In China, a technician, do you have a few a few? I am very sad about saying this here. Whoever plays an important role in the system and clarifies their attitude, this is very important.
3) Does your system have a clear evaluation criteria? It is best to consider from all aspects of participation. I don't know if this is wrong, before the construction of the system, the programmer for you, there must be at least two different evaluations for your leaders. 4) What is your system design idea? Whether it can be recognized by all aspects. If it is high, the leadership, the best way to use the programs, is recognized, that is, let them recognize their own ideas. (I try to do this, but don't do it, the system analyst is a little to learn to be honored, tolerated)
5) Do you know the personnel involved in the design and development of system? Where is their special length, is it willing to cooperate with you, why? Do you have enough influence on them? The software has developed to a certain level, not programming, not mathematics, but management.
6) Is your system development plan perfect? Does your plan have a clear stage? What should I do at any stage? How to evaluate this situation?
7) Are you familiar with the system development methods and tools used? Is your partner familiar? In fact, it is not every kind of tool to use, and it is not necessarily to master. Remind one sentence, when you do the program, you can do not rely on a programmer, you have no trust in before the programmer, because from this programmer will be larger. I am determined not to use rose in the company.
8) Do you have a prototype? Computer or physically.
Several problems above are involved in systematic analysis and system planning, for all reference.
This article is very good, my words are: "Demand analysis is actually the problem analysis." The meaning is that the system is problematic. Instead of users' needs. Frequently discovered that the system has been completed, the customer says "my problem has not been solved". However, the goals on the demand analysis manuscript are all set.
Since it is a problem analysis, it is necessary to familiarize with the knowledge of the target system. Even, it can be said that a good system analyst should also be a good business expert.
I am very happy to meet many analysts here, you can exchange problems in the analysis. I agree with the point of view. What is important in China is popular, because China's enterprise information system can be largely said to a large extent, but for a certain pressure. User is not a long-term development of the system, but only short-term results, requiring development unit to complete a large system development in a short period of time, no time to analyze the system, in this case Many developers will roughly analyze, crude design, enter the coding phase as soon as possible, and the life cycle of such systems will definitely be very long. Said so much, just want to say, system analysts should indeed be business and management experts, and need to have good language organization capabilities, and he needs to try our best to persuade users according to the problems existing in the problem domain, guide user needs, after all, We are experts, if users get the nose, the system will not be a successful system. (Of course, it is necessary to build it in the premise of the user is guided.
When understanding and analyzing the needs of users, we should convince users to understand that establishing a computer application system is not simply replacing manual labor using a computer, it should be a revolution in management ideas, which is a sublimation and improvement in the user model. If the system cannot be higher than the reality, the development system will make long-term repetitive modifications, and its software's life cycle is short.
For my understanding of your questions, try the following general / theoretical reply:
Demand analysis (you can use UsecaseDriven method for demand analysis) On the basis of clear demand analysis, the system analysis method (structured / object-oriented / component type) needs to be employed (structured / object-oriented / component type) is determined to apply the analysis / design of your development team. Method, systematic analysis. According to the analytical method you use, system design / modeling in turn. Any software system is established, which must be based on the nature of the established model, in sequence or repeated system This is the case. I have used PB programming for a year and a year and a half, and I have done 7 or 8 programs in it. I have been independently developed, and I have finished working with others. Most of them talk to users. After understanding the basic needs of users, they will immediately start writing programs, and they don't understand their way to understand the situation, until the program is completed. I have never thought about anything else, even if there is a document, it is more written and written. However, the maintenance amount is often very large, and the user reflects the lack of function, or what is considered all of them is not what he wants. Although finally completed, it feels special. I also read some software engineering books, but I always feel un practical, so I want to see how others do it, whether I read the book method is wrong, there is no master of systematic analysis. At the same time, I feel that I have long since the programming, whether there is no theoretical basis.