Sei sulla pagina 1di 3

INGENIERÍA DE SOFTWARE:

Es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar software de
calidad.

Ésta carrera trabaja con diversa áreas de la informática y de ciencias de la computación,


abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de software, aplicables
a infinidad de áreas: negocios, investigación científica, medicina, producción, logística, banca,
control de tráfico, meteorología, derecho, Internet, Intranet, etc.

Capas de la Ingeniería de software El fundamento de la Ingeniería del Software es la capa de


proceso. Este proceso es la unión que mantiene juntas las capas de tecnología y que permite un
desarrollo racional y oportuno de la Ingeniería del Software. El proceso define un marco de trabajo
para un conjunto de áreas clave de proceso que se deben establecer para la entrega efectiva de la
tecnología de la Ingeniería del Software.

Elementos claves de la Ingeniería de Software La Ingeniería de Software incluye los siguientes


elementos clave: paradigmas, estrategias, métodos o técnicas, herramientas y procesos, los que a
continuación se detallan.

Paradigmas

Un paradigma representa un enfoque particular o filosofía para la construcción de software. Cada


uno tiene ventajas y desventajas, es por ello que hay situaciones donde un paradigma resulta más
apropiado que otro.

Estrategias

Se denominan estrategias para el desarrollo de software a las distintas maneras en que se ordena
la ejecución de las actividades requeridas para producir software.

Métodos o técnicas

Los métodos o técnicas indican cómo construir el software técnicamente y abarcan un amplio
espectro de actividades que incluyen planificación y estimación de proyectos, análisis de requisitos
y del sistema de software, diseño de la arquitectura de software, codificación, documentación,
prueba y mantenimiento.

Herramientas

Son instrumentos que suministran un soporte automático o semiautomático para el proceso y para
los métodos. Cuando se integran las herramientas de forma que la información creada por una
herramienta pueda ser usada por otra, se establece un sistema para el soporte de desarrollo del
software, llamado ingeniería del software asistida por computadora (CASE, en inglés). CASE
combina software, hardware y bases de datos sobre la Ingeniería del software (una estructura de
datos que contenga la información relevante sobre el análisis, diseño, codificación y prueba) para
crear un entorno de ingeniería del software análogo al diseño/ingeniería asistido por computadora,
CAD/CAE para el hardware.

Procesos
Los procesos son la combinación de estrategias, métodos y herramientas que, en forma conjunta,
dan un resultado particular. Los procesos indicarán qué herramientas deberán utilizarse y cuándo
se aplican determinados métodos o técnicas. Definen la secuencia en que se aplican los métodos,
los documentos que se requieren, los controles que aseguren la calidad y las mejores prácticas
que permiten a los gestores a evaluar los progresos. Concretamente, el proceso de desarrollo de
software define quién va a hacer qué, cuándo hacerlo y cómo alcanzar un cierto objetivo.

Las fases genéricas de un proceso de software

Con independencia del área de aplicación, tamaño o complejidad del proyecto, el trabajo que se
asocia a la ingeniería del software se puede dividir en tres fases genéricas:

 Fase de definición

 Fase de desarrollo

 Fase de mantenimiento

FASES GENÉRICAS DE UN PROCESO DE SOFTWARE

Fase de definición

Se centra sobre el qué. Es decir, durante la definición, el que desarrolla el software intenta
identificar qué información ha de ser procesada, qué función y rendimiento se desea, qué
comportamiento del sistema, qué interfaces van a ser establecidas, qué restricciones de diseño
existen, y qué criterios de validación se necesitan para definir un sistema correcto. Por tanto, han
de identificarse los requisitos clave del sistema y del software. Aunque los métodos aplicados
durante la fase de definición variarán dependiendo del paradigma de ingeniería del software (o
combinación de paradigmas) que se aplique, de alguna manera tendrán lugar tres tareas
principales:

 La ingeniería de sistemas o de información

 Planificación del proyecto del software

 Análisis de requisitos

Fase de desarrollo

Se centra en el cómo. Es decir, durante el desarrollo, un ingeniero del software intenta definir
cómo han de diseñarse las estructuras de datos, cómo ha de implementarse la función dentro de
una arquitectura de software, cómo han de implementarse los detalles procedimentales, cómo han
de caracterizarse interfaces, cómo ha de traducirse el diseño en un lenguaje de programación (o
lenguaje no procedimental) y cómo ha de realizarse la prueba. Los métodos aplicados durante la
fase de desarrollo variarán, aunque las tres tareas específicas técnicas deberían ocurrir siempre:

 El diseño del software

 La generación de código

 Las pruebas del software


Fase de mantenimiento

Se centra en el cambio que va asociado a la corrección de errores, a las adaptaciones requeridas


a medida que evoluciona el entorno del software y a cambios debidos a las mejoras producidas por
los requisitos cambiantes del cliente. Durante la fase de mantenimiento, se encuentran cuatro tipos
de cambios:

 Correctivo. Para corregir los defectos

 Adaptativo. Para acomodarlo a los cambios de su entorno externo (modificaciones en la


legislación, CPU, SO, las reglas de negocio, etc.)

 Perfectivo. Para agregar otras funciones adicionales que van a producir beneficios

 Preventivo. También llamado reingeniería del software. Estos cambios se realizan con la
finalidad de que se puedan corregir, adaptar y mejorar más fácilmente los programas.

Actividades de protección

Las fases descritas en esta visión general de la ingeniería del software se complementan con un
número de actividades protectoras. Entre las actividades típicas de esta categoría se incluyen: 
Seguimiento y control del proyecto de software

 Revisiones técnicas formales

 Garantía de calidad del software

 Gestión de configuración del software

 Preparación y producción de documentos

 Gestión de reutilización

 Mediciones

 Gestión de riesgos

Potrebbero piacerti anche