What Does Software Engineering Mean
The software engineering is a discipline consists of a set of methods, tools and techniques used in the development of software ( software ).
This discipline transcends the programming activity , which is the fundamental pillar when creating an application. The software engineer is in charge of all the management of the project so that it can be developed within a specified period and within the planned budget.
Software engineering, therefore, includes the prior analysis of the situation, the design of the project, the development of the software, the tests necessary to confirm its correct operation and the implementation of the system .
It should be noted that the software development process involves what is known as the software life cycle , which is made up of four stages: conception, development, construction, and transition.
The concept sets the scope of the project and develops the business model; the elaboration defines the project plan, details the characteristics and bases the architecture; construction is product development; and the transition is the transfer of the finished product to the users.
Once this cycle is complete, software maintenance comes into play . This is a phase of this engineering where the errors discovered (many times noticed by the users themselves) are solved and updates are incorporated to face the new requirements. The maintenance process also incorporates new developments, to allow the software to fulfill a greater number of tasks.
A field directly related to software engineering is systems architecture , which consists of determining and schematizing the general structure of the project, diagramming its skeleton with a relatively high degree of specificity and pointing out the different components that will be necessary to carry out the project. development, such as add-on applications and databases. This is a fundamental point in the process, and is often the key to the success of a computer product.
Technological advances and their impact on social life have inevitably affected the software development process for various reasons, such as the indiscriminate access of users to certain information that until a couple of decades ago they were completely unaware and that they cannot understand, since they do not have the necessary degree of technical knowledge. A well-informed consumer is a consumer who cannot be scammed, since he knows what he needs and has the ability to analyze the different offers on the market, comparing the proposals and benefits of the products; however, an uninformed consumer is like a wayward child who cries, screams, and kicks non-stop.
The first of all the stages of the work carried out by software engineers consists of carefully studying the characteristics that are considered necessary for the program to be developed , and this is the point at which they must find a balance (increasingly difficult to achieve) between the excessive demands of bad consumers and the possibilities of the company. Time is money, and companies in the IT world know this very well.
Each function of a program, each feature that makes it more comfortable, smarter, more accessible, translates into a certain amount of time, which in turn carries the salaries of all the people involved in its development. But in addition to the production cost required to perform each of the pieces of a program, software engineering must decide which of them make sense, are consistent with the rest, and are necessary to clearly communicate the essence and objectives of the application.