I was not very clear about these two concepts, and then I collected the following information on the Internet to facilitate you! When the software scale is relatively small, the work done by the system analyst is to put the real business needs (this requirement does not refer to what the customer simply calls a function, but needs to be mined, it may be a potential but necessary system. business functions with clear regulations and logic are not only required by the business, but also by the operating environment on which the system depends) it is converted into a computer-understandable, implementable, and Computable Model. However, as the scale of the system is getting bigger and bigger, the complexity is getting higher and higher, and the application field is getting wider and wider, it is difficult for a person of work to complete this arduous task in an all-round way.
In a specific software design process, it is now broken down by the collaboration of system analysts and software architects to complete this task. System analysts focus on the previous part of the work, and software architects focus on the latter part of the work. The main work of system analysts includes business demand analysis, system demand analysis, feasibility analysis, and modeling. It features more communication with industry experts and users, consult with the project manager, software architect, and owner in a timely manner to analyze the characteristics, costs, and risks of the project and consider the implementation model. System analysts often face many uncertain events. They need to analyze and summarize these uncertain events to produce a relatively reliable deterministic conclusion or implementation solution model.
The main work of a software architect is to design the overall architecture of the system with clear system requirements. Of course, it may also cover the work of some system analysts and the content of software designers, however, it is characterized by more deterministic things and strives to find or construct an optimal model for the system. Although there may be many innovative components, but what's more important is how to make full use of the existing models, structures, and solutions, and learn from each other in various solutions based on the characteristics of the project to find the best balance point and combination point, best fit the solution of the current project. Therefore, the software architect is actually to make the system detailed, perfect, to provide a guarantee for better reliability.
In terms of actual responsibilities, the software architect has a higher perspective than the system analyst. In a large-scale software system, system analysts may analyze and design a subsystem of the system, and the software architect should be responsible for the entire system structure.
(1) Project Manager: master the knowledge system of information system project management, and have the experience and ability to manage large and complex information system projects and multi-project projects; able to organize and formulate feasible project management plans as needed; able to organize project implementation and manage project personnel, funds, equipment, progress and quality, make timely adjustments based on actual conditions, systematically supervise the performance of the project implementation process, and ensure that the project meets the established project objectives under certain constraints; ability to analyze and evaluate project management plans and achievements, detect problems early in project management progress, and take preventive measures; and coordinate relevant personnel involved in the project. That is, the project manager is responsible for implementing and controlling the entire project and coordinating various resources (including internal and customer resources ).
(2) system analyst: familiar with the business in the application field, able to analyze users' requirements and constraints, write information system requirement specification, and formulate a project development plan, coordinates various personnel involved in project development and operation, guides the formulation of strategic data planning for enterprises, organizes development projects, and evaluates and selects appropriate development methods and tools; system Analysis and Design documents can be compiled according to standard specifications, quality control and progress control can be performed on the development process, and project development can be guided in detail. That is, the primary responsibility of system analysts is to acquire and analyze user needs, form standardized documents, and guide the development of the entire project. They need to constantly communicate with customers and be familiar with the business in the application field.
(3) System Architect: The system architect can design a correct and reasonable software architecture based on the user's needs and the actual conditions in the user's application field to maintain system components and interfaces, ensure that the system architecture has good performance; be able to describe, analyze, design and evaluate the project at the system architecture level; be able to compile relevant design documents according to relevant standards; has a solid theoretical foundation and extensive knowledge, and can work with system analysts and project managers. That is, the System Architect is responsible for the overall and macro system design, focusing on the architecture level. It is purely technical to describe, analyze, and evaluate the architecture.
From the difficulty of the examination, the system architecture designer is the most difficult. At the same time, the architecture designer is also the industry's most lacking high-end positions, so its gold content will also be the highest. In addition, I personally estimate that the amount of gold in the architect certificate will exceed that of the system analyst, because the industry has deeply recognized the importance of the architecture and small and medium enterprises are short of architects. From the examination outline, the questions and content of the system architecture designer examination will basically overlap or be consistent with those of the system analyst, but the content is slightly biased towards the architecture design. What others say: first, let's take a look at the differences between architects and system analysts:
1. The system analyst must consider all aspects of the system he designed. He is the original author of the system implementation, it also plays a direct role in meeting customers' technical requirements and accepting product costs.
2. Architects generally have only a few people in software organizations. They are mainly responsible for evaluating the product architecture and approving interfaces between subsystems, the evaluation mainly focuses on the system-level quality attributes and cost, including: whether the current architecture meets the reliability requirements, scalability of the system architecture, reusability, performance, and basic public functions. They must perform initial checks on the system designed by the system analyst. Therefore, they are highly responsible and must be undertaken by experienced people. In the communication between other departments of the company and Ivar Jacob bson, Jacob clearly pointed out that the Architecture Committee is not a permanent organization and generally comes from the system analyst of the team. The only permanent position usually has only one chairman, other members must temporarily come from the first line of system development, and only have the most basic idea of system development.
3. system costs are the easiest thing for architects and system analysts to ignore. This is also one of their most basic responsibilities.
Next let's take a look at the differences between the system analyst and the Project Manager:
1. an unreasonable plan is often attributed to the project manager, but this is not a fact. Planning relies heavily on the components of the system designed by the system analyst to complete the process, and only the system analyst can make an accurate judgment on this. Therefore, the initial version of the plan comes from a system analyst rather than a project manager. The main role of the project manager in this regard is to assist the system analyst in preparing a plan, to help consider personnel and resource input, and to strictly monitor the progress of the project during project implementation.
2. quality objectives are developed and planned by system analysts, especially key technical indicators such as performance and reliability. These first tracking subjects are also system analysts. The role of the project manager is to assist the system analyst in arranging various resources to complete the testing and tracking activities of these objectives.
3. Cost is the only factor that requires the attention and strict control of architects, system analysts, and project managers. The reason is very simple. This is the source of food for everyone.
4. Other non-technical factors of the project are basically handled by the Project Manager, including contract, personnel communication, and procurement.