History of software engineering

The field software engineering was born in 1968 in responde to chronic failures of large software projects to meet schedule and budget constraints.

The software industry has evolved through 4 eras, 50’s –60’s, mid 60’s –late 70’s, mid 70’s- mid 80’s, and mid 80’s-present. Each era has its own distinctive characteristics, but over the years the software’s have increased in size and complexity. Several problems are common to almost all of the eras and are discussed below.

The Software Crisis dates back to the 1960’s when the primary reasons for this situation were less than acceptable software engineering practices. In the early stages of software there was a lot of interest in computers, a lot of code written but no established standards. Then in early 70’s a lot of computer programs started failing and people lost confidence and thus an industry crisis was declared. Various reasons leading to the crisis included:

– Hardware advances outpacing the ability to build software for this hardware.
– The ability to build in pace with the demands.
– Increasing dependency on software’s
– Struggle to build reliable and high quality software
– Poor design and inadequate resources.

The process that has been defined and adopted needs to be managed well and thus process management comes into play. Process management is concerned with the knowledge and management of the software process, its technical aspects and also ensures that the processes are being followed as expected and improvements are shown.

From this we conclude that a set of defined processes can possibly save us from software project failures. But it is nonetheless important to note that the process alone cannot help us avoid all the problems, because with varying circumstances the need varies and the process has to be adaptive to these varying needs.ss.jpg


Extreme programming

Extreme programming is a type of agile software development, it is a methodology based on values of simplicity. It produces higher-quality software more productively. It emphazises teamwork. All (Managers, developers and customers) are equal partners. They self organizes around the problem to try a solution as efficiently as possible.

The process is divided in 5 stages.

Communication,Simplicity,Feedback,Respect,Courage.

 

 


Qué es ingeniería de software?

La ingeniería de software envuelve el diseño y desarrollo de muchos tipos de software, puede incluir software de sistemas operativos y distribución de redes. Es lo que instruye a la computadora, linea por linea, como se desea que trabaje una función.

¿Qué debe tener un ingeniero en software?

Como en todo, tener fuertes habilidades en programación es requerido, tanto análisis de algoritmos como estructura de datos.

Al trabajar en una aplicación o proyecto, el ingeniero en software debe de tener en cuenta las necesidades del usuario.software_product Entonces ellos diseñan y construyen software para cumplir estos requerimientos.