Current location - Recipe Complete Network - Diet recipes - Talk about your understanding of software engineering
Talk about your understanding of software engineering

Talk about your understanding of software engineering

Some views on software engineering--I hope it can inspire others

I have seen many netizens' high opinions here. Very inspiring. Moreover, a number of books on software processes in different aspects have emerged on the market. However, here, I have never found a practical application method that is truly instructive to practice, so now I am throwing some bricks here and hope that all experts can learn from it. Correction.

My personal understanding is that software engineering is to implement software systems with clear functions in an organized and planned manner in accordance with engineering management methods and within a certain quality basis, time limit and cost range. Moreover, software engineering must operate within the scope of an enterprise and must be supported by enterprise resources. It must be connected with the enterprise's operation, decision-making, and management system before it can be implemented in a down-to-earth manner.

As a service industry, if the software industry wants to develop, it must first form a market that has an urgent need for software services. Secondly, consumers in this market must have sufficient purchasing power. The consumer groups of software are simpler and can be divided into individual consumption and enterprise consumption. China's enterprise group is huge in number, but not of high quality. There are very few large-scale enterprises. Therefore, the consumption of large-scale software by Chinese enterprises is definitely limited. Personal consumption of software, at least for now, is still not a climate in China. Therefore, what can currently form a relatively large-scale independent market in China must be small-scale software systems.

In addition, quality cannot be judged in absolute terms. For example, if you spend 500 yuan on a pair of leather shoes and they break after only one month of wear, they must be inferior products. But if you only spent 5 yuan on this pair of shoes and they still break after wearing them for a month, then they are a high-quality product. The same goes for software.

There is another issue, which is the software life cycle. In foreign countries, in many medium and large enterprises, software systems have become the lifeblood of the enterprise. Of course, these enterprises need long-term and stable software services and development systems as guarantees. Therefore, relatively speaking, the functional requirements for the software are relatively clear. Domestic small and medium-sized enterprises originally regard flexibility as a survival weapon in terms of operations. Of course, it is impossible to have a relatively long-term business plan, let alone use software systems for comprehensive enterprise management. This leads to short-term behavior in the demand for software systems. Therefore, they prefer a one-time purchase of a software system with limited functions rather than long-term continuous software services.

If the above analysis is representative, it means that we must now form a very effective engineering method for developing this type of software:

1. Small scale.

2. Low cost

3. Quality requirements are not high.

4. After-sales service is limited.

5. Life span is short.

I think that RUP may not be a good method for this type of system. In addition, I would also like to talk about my views on the quality of software personnel.

From my personal experience, I think there is a problem with the way we train software engineers. Theoretically speaking, as long as the software has a good structure designed and all technical difficulties are solved, high school students can do the rest of the coding. In fact, many of our computer science graduates from prestigious universities are not good at coding. Especially now that VB, PB, and JAVA are available, everyone seems to think that there is no need to care about the computer architecture. In several software projects I have worked on, many engineers were completely at a loss to solve problems such as Win32 multi-threading, event-driven, deadlock, and memory allocation using C language. I don't believe these problems can be solved with good documentation. In fact, being able to work with OO tools does not mean that you can perform OO system analysis and design at all.

Then again, how many people in China have more than 10 years of software development background? Moreover, their experience in the past 10 years has been more in the coding of small projects rather than the management and system analysis of large projects. A good system analyst needs practice, practice, and more practice.

If there are no large-scale software projects in our business environment, how can we have excellent system analysts?

So, I think our current problem is the technical level, knowledge and skills of engineers. Management awareness and management methods are equally important. Under this premise, should we explore software engineering methods that are truly suitable for us? Talk about your understanding of software engineering

The framework of software engineering (SoftWare Engineering) can be summarized as: goals, processes and principles.

(1) Software engineering goals: produce products that are correct, usable, and affordable. Correctness refers to the extent to which a software product achieves its intended functionality. Usability refers to the extent to which the basic structure, implementation, and documentation of software are available to users. Appropriate cost refers to the extent to which the entire cost of software development and operation meets user requirements. There are many problems to be solved in the realization of these goals, both in theory and in practice, which form constraints on the selection of processes, process models and engineering methods.

(2) Software engineering process: the steps required to produce a software product that can ultimately meet needs and achieve engineering goals. The software engineering process mainly includes the development process, operation process and maintenance process. They cover activities such as requirements, design, implementation, validation, and maintenance. Requirements activities include problem analysis and requirements analysis. Problem analysis obtains requirement definitions, also known as software requirements specifications. Requirements analysis generates functional specifications. Design activities generally include outline design and detailed design. The outline design establishes the entire software system structure, including descriptions of subsystems, modules, and related levels, and interface definitions for each module. Detailed design produces module descriptions that can be used by programmers, including data structure descriptions and processing descriptions in each module. Implementation activities convert design results into executable program code. Confirmation activities run throughout the entire development process to achieve post-completion confirmation to ensure that the final product meets user requirements. Maintenance activities include expansion, modification and improvement during use. Along with the above process, there are also management process, support process, training process, etc.

(3) The principles of software engineering refer to the principles that must be followed during the software development process around engineering design, engineering support and engineering management.

This issue is very complex, so I’m sorry to say a few words without considering my own capabilities.

The goal of software engineering is to develop software products with the minimum cost, the highest quality, and the shortest development time. Various software engineering methods currently popular are unsatisfactory in achieving this goal. The weight method represented by RUP takes too much time for planning and preparation, but very little energy is spent on actual development. It is believed that as long as the company ensures the implementation of the software process, everything else will be easy to handle. This is extremely depressing to human nature. method will not yield very good results. The lightweight method is better. After all, most of the attention is on development, and everyone likes it, but relying on only a few people cannot handle large projects. Of course, everyone is improving their own shortcomings and absorbing each other's strengths.

G. Booch said that insufficient automation is an important reason for the existence of a large number of problems in the software development process. I deeply agree with this and believe that it is difficult to achieve the goals of minimum cost, highest quality and shortest development time. The root cause of implementation. Therefore, future software engineering will inevitably develop to a stage with software automation technology as the core - the 4GL era.

Why has the 4GL era not yet come? This is because software automation is too difficult. The results achieved so far are limited to some very narrow areas and cannot meet actual project requirements. Moreover, this technology is too difficult. Understanding requires in-depth study of theory, which is difficult for ordinary developers to accept. The main reason why software automation technology has not developed greatly is that the current technology for describing action semantics is very low-level. Therefore, even using formal methods for design is very time-consuming. Although it can improve a certain degree of efficiency, it is still far from enough.

In order to solve this problem, we can only start by using previous achievements, that is, reusing components, but not using today's component technology. In the future, a large-scale component library for machine retrieval will be realized. This is a component library where computers can automate the search and transfer of components, rather than today's manual component library.

But why such a component library has not appeared is still an old problem. We do not yet have an ideal method for describing action semantics. The computer cannot determine whether two components or specifications and components are equivalent or have equivalent components. Of course Automatic retrieval is no longer possible.

Although there are many difficulties, I believe that the future development direction of software engineering will be a highly automated component-based development method.

What I said above is entirely my personal opinion and may not be credible. Talk about your understanding of civil engineering

Civil engineering is a plain and important subject. The definition of civil engineering in the subject introduction is: "Civil engineering is the science and technology of constructing various engineering facilities. A general term. It refers to not only the object of project construction, but also the materials, equipment and professional techniques such as survey, design, construction and maintenance." Tell us about your understanding of water conservancy projects?

1. Purpose and requirements of internship

1. Purpose

Hydraulic construction understanding internship is for students majoring in water conservancy related majors to start learning professional basic courses and professional courses. Before, an on-site inspection and understanding of the nature and content of the work in this major. Through on-site visits, students can gain a perceptual understanding of water conservancy and hydropower construction, gain a general understanding of the composition and functions of water conservancy hubs, and lay the foundation for subsequent courses. To enable students to further understand the major of water conservancy and hydropower engineering construction, cultivate students' love for the major, increase their self-confidence in learning and engaging in this major, and establish the ambition to devote themselves to the water conservancy and hydropower construction cause of the motherland.

2. Requirements

(1) Teaching requirements

Through understanding and practice, students should initially establish the following basic concepts:

① Comprehensive utilization of water conservancy resources and the role of water conservancy and hydropower construction in the construction of the national economy;

② The composition and overall layout of water conservancy hubs and the role of various hydraulic structures;

③Typical layout, component buildings and functions of hydropower stations;

④The general process of survey, planning, design, construction and operation management of water conservancy projects;

⑤ Application of learned courses in water conservancy engineering practice.

(2) Discipline and safety requirements

① Learn to understand and abide by the various safety regulations of the internship base;

② According to the arrangement of the instructor, there are Enter the project site in an orderly manner;

③ Do not tamper with the management, observation and operation equipment of the project without permission;

④ Be civil and courteous to project management personnel and do not affect management operations ;

⑤ Observe discipline and be on time for group activities *** ;

⑥ If you have something to do, you must ask the teacher in charge for leave;

⑦ Pay attention to safety, whether you are traveling , still at the station;

⑧Listen carefully to the explanations of the instructor and project-related personnel, and take notes carefully.

2. Internship Project Content and Time Arrangement

1. Internship Project Content

(1) Visit the Toutun River Reservoir Hub Project to learn about the local material dam water conservancy project The layout, composition and function of the hub;

(2) Visit the Santun River Reservoir Hub Project to understand the layout, composition and function of the artificial material dam water conservancy hub;

(3) Visit Youth Headwater Project, understand the layout, function and composition of the artificial curved water diversion hub;

(4) Visit the aqueduct and understand the composition and function of the aqueduct;

(5) Visit Steel gates and other metal structures, and understand the types and functions of hydraulic steel structures;

(6) Understand the design, construction, operation management and working conditions of water conservancy projects.

2. Internship time arrangement

The hydraulic engineering internship should be arranged at the end of the second year of college. At this time, students have basically completed basic courses and are about to start studying professional basic courses and professional courses. , arranging awareness internships during this period will help students understand and understand hydraulic structures. Therefore, the hydraulic engineering internship is scheduled from June to July every year, usually for 2 to 3 days. The specific time arrangement needs to be determined after contacting the project management unit.

3. Internship Report (Assignment) Requirements

(1) After the internship, each student should fill in the "Xinjiang Agricultural University Student Internship Registration Form" (see Attachment 2) and submit it After the internship instructor and the internship guidance group sign their opinions, they will be submitted to the college for filing.

(2) After the internship, each student should fill in the "Xinjiang Agricultural University Student Internship Report" form and prepare a "Hydraulic Engineering Understanding Internship Report" according to the requirements of the "Hydraulic Engineering Understanding Internship Guide". Less than 3,000 words.

4. Internship Assessment and Performance Evaluation

1. Instructors should evaluate students’ performance in all aspects during the internship process. Among them:

(1) Comprehensive performance (ideological expression, internship attitude, solidarity and mutual assistance, and compliance with discipline, etc.) account for 20%.

(2) Internship registration form and internship report content account for 80%.

2. Internship results are evaluated according to the five-level grading system of excellent, good, medium, passing, and failed, and are filled in the "Xinjiang Agricultural University Student Internship Results Registration Form".

3. Within one week after the internship ends, submit the "Student Internship Status Registration Form", "Student Internship Report", "Internship Performance Assessment Registration Form" and "Teaching Internship Guidance Record Form" to the college teaching office for archiving.

5. Reference books and materials Tell us about your understanding of civil engineering construction?

Only when you can endure loneliness can you maintain prosperity.

It doesn’t matter how much hardship you endure in the beginning, there is a lot of room for development in the future! Talk about your understanding of engineering project management

1. There should be professional books in this area that explain it comprehensively and accurately.

2. It is not appropriate to search for this kind of questions online.

Hope this helps. Tell us about your understanding of QC

QC? It’s not easy to be a QC. It's all your fault if something goes wrong, I'm just... ready to quit, it's so stressful. Tell me about your understanding of CUBA?

Personally, I think their offense is single and their defense has too many holes. In addition, the on-site audience is not enthusiastic enough and has a dispensable mentality towards the game, resulting in really poor viewing experience, and then a vicious circle will inevitably come to an end if there is no improvement.

From the audience’s point of view, they played really rubbish, but in real life, they are considered very strong. I once played against a retired Cuban player, and he basically bullied us 2-3 by himself. Everyone, the level is not bad. Tell me about your understanding of seo?

And Subhuti can talk about your understanding of CRM anytime, anywhere.

CRM was originally proposed by Gartner Group, just like it proposed ERP. CRM (CustomerRelationshipManagement) is customer relationship management. From a literal point of view, it refers to the use of CRM by enterprises to manage relationships with customers. CRM is a business strategy for selecting and managing valuable customers and their relationships. CRM requires a customer-centered business philosophy and corporate culture to support effective marketing, sales and service processes. If the company has the right leadership, strategy and corporate culture, CRM applications will achieve effective customer relationship management for the company.

CRM is a method and process for acquiring, retaining and increasing profitable customers. CRM is not only a brand-new, internationally leading, customer-centered business management theory, business concept and business operation model, but also a specific software that uses information technology as a means to effectively improve corporate income, customer satisfaction, and employee productivity. and implementation methods.

By understanding the "recipient-centered" idea proposed earlier in the fields of philosophy, literature and aesthetics, it will help you further understand the concept of "customer-centered" in economics. Zhuangzi said: "You are not a fish, how can you know the happiness of fish" - you are not a fish, how do you know whether the fish is happy or not. If you can accurately grasp the recipient's experience, this person will not only become a rich man, but also a great thinker. Reception aesthetics was founded by Hans Robert Jauss in 1967. In the past, literary and aesthetic research and creation were all centered on the author/artist. Jauss advocated a fundamental and subversive shift to The reader/receiver is the center, hence the name reception aesthetics.

It is equivalent to the transformation of economics from "product/manufacturer-centered" to "customer-centered". Jauss's "reader/receiver-centered" experience theory is three years earlier than Toffler's prediction of the experience economy, and is Philip Kotler perfected the "4C" theory many years earlier - "4C" is one of the theoretical sources that later introduced and matured CRM customer relationship management.

CRM maximizes the improvement and performance of the entire customer relationship life cycle. CRM integrates customers, companies, employees and other resources, allocates and reorganizes resources effectively and structurally, and facilitates timely understanding and use of relevant resources and knowledge throughout the customer relationship life cycle; it simplifies and optimizes various business processes, It enables the company and its employees to focus on important aspects and core businesses of improving customer relations, performance, and improve employees' ability to respond quickly and provide feedback to customers in sales, service, and marketing activities; it also brings benefits to customers. For convenience, customers can quickly obtain personalized products, solutions and services based on their needs.