Está en la página 1de 22

Ingeniera de Software

M.A., L.I.A. Luis Darwin de la Cruz Colorado


Objetivo del Curso

Este curso pretende dar una visin global de lo que es la Ingeniera de Software.
Pondremos nfasis en los siguientes temas:
Conocimientos bsicos de Ingeniera de Software.
Administracin de proyectos.
Planeacin y seguimiento de un proyecto.
Administracin de la configuracin.
Manejo de cambios.
Calidad del software.
Arquitectura de Software.
Tcnicas dinmicas (pruebas).
Tcnicas estticas (estndares, revisiones).
Definiciones

SOFTWARE:
Segn la RAE, el software es un conjunto de programas, instrucciones y
reglas informticas que permiten ejecutar distintas tareas en una
computadora.

Se considera que el software es el equipamiento lgico e intangible de un


ordenador. En otras palabras, el concepto de software abarca a todas
las aplicaciones informticas, como los procesadores de textos, las hojas
de clculo y los editores de imgenes.
Definiciones

INGENIERA DE SOFTWARE:
Es una disciplina formada por un conjunto de procesos, mtodos,
herramientas y tcnicas que se utilizan en el desarrollo de los programas
informticos (software de calidad).

El ingeniero de software se encarga de toda la gestin del proyecto para


que ste se pueda desarrollar en un plazo determinado y con el
presupuesto previsto.
Historia de la Ingeniera de Software

Las primeras computadoras digtales


aparecieron en la dcada de 1940.

El desarrollo de Software era algo nuevo.

El trmino Ingeniera del software apareci


por primera vez a finales de la dcada de
1950.

La Ingeniera de software fue estimulada


por la crisis del software de las dcadas de
entre 1960 y 1980.
Objetivos de la Ingeniera de Software

1. Mejorar el diseo de aplicaciones o software de tal modo que se adapten de


mejor manera a las necesidades de las organizaciones o finalidades para las
cuales fueron creadas.

2. Promover mayor calidad al desarrollar aplicaciones complejas.

3. Brindar mayor exactitud en los costos de proyectos y tiempo de desarrollo de


los mismos.
Objetivos de la Ingeniera de Software

4. Aumentar la eficiencia de los sistemas al introducir procesos que permitan


medir mediante normas especficas, la calidad del software desarrollado,
buscando siempre la mejor calidad posible segn las necesidades y resultados
que se quieren generar.

5. Una mejor organizacin de equipos de trabajo, en el rea de desarrollo y


mantenimiento de software.

6. Detectar a travs de pruebas, posibles mejoras para un mejor funcionamiento


del software desarrollado.
El desarrollar software sin conocer tcnicas de ingeniera representa un
enfoque artesanal de desarrollo que hoy en da sigue siendo comn.

Los esfuerzos de profesionalizacin tales como las certificaciones de


individuos y de empresas, buscan reducir este enfoque artesanal en el
desarrollo.
Para que sirve la Ingeniera de Software?

Para analizar, disear,


programar y aplicar un
software de manera correcta
y organizada, cumpliendo
con todas las
especificaciones del cliente
y el usuario final.
Cualidades de un Software de Calidad

Debe cumplir las necesidades para las cuales


fue diseado.
Debe ser confiable (No debe causar daos
materiales ni econmicos.)
Debe ser fcil de usar.
Debe ser posible modificarlo.
Debe ser capaz de ser transferido de un
entorno a otro.
Los datos deben ser consistentes.
Deben de tener medidas de seguridad muy
estrictas.
Ciclo de vida de un Software

El trmino ciclo de vida del software describe el desarrollo de software,


desde la fase inicial hasta la fase final.

El propsito de este programa es definir las distintas fases intermedias que se


requieren para validar el desarrollo de la aplicacin, es decir, para garantizar
que el software cumpla los requisitos para la aplicacin y verificacin de los
procedimientos de desarrollo, asegurando de que los mtodos utilizados son
apropiados.
Etapas del ciclo de vida de un Software

Las etapas comunes a casi todos los modelos de ciclo de vida son las
siguientes:

Definicin de objetivos: Definir el resultado del proyecto y su papel en la


estrategia global.

Anlisis de los requisitos y su viabilidad: Recopilar, examinar y formular los


requisitos del cliente y examinar cualquier restriccin que se pueda aplicar.

Diseo general: Requisitos generales de la arquitectura de la aplicacin.


Etapas del ciclo de vida de un Software

Diseo en detalle: Definicin precisa de cada subconjunto de la aplicacin.

Programacin: (Programacin e implementacin) es la implementacin de un


lenguaje de programacin para crear las funciones definidas durante la etapa
de diseo.

Prueba de unidad: Prueba individual de cada subconjunto de la aplicacin para


garantizar que se implementaron de acuerdo con las especificaciones.

Integracin: Para garantizar que los diferentes mdulos se integren con la


aplicacin. Este es el propsito de la prueba de integracin que esta
cuidadosamente documentada.
Etapas del ciclo de vida de un Software
Prueba beta: (o validacin), para garantizar que el software cumple con las
especificaciones originales.

Documentacin: Sirve para documentar informacin necesaria para los usuarios


del software y para desarrollos futuros.

Implementacin: Una Implementacin es la realizacin de una especificacin


tcnica o algoritmos con un programa, componente software, u otro sistema de
cmputo.

Mantenimiento: Para todos los procedimientos correctivos (mantenimiento


correctivo) y las actualizaciones secundarias del software (mantenimiento
continuo).
Ventajas

Desde el punto de vista de gestin

Facilitar la tarea de seguimiento del proyecto.

Optimizar el uso de recursos.

Facilitar la comunicacin entre usuarios y desarrolladores.

Facilitar la evaluacin de resultados y cumplimiento de objetivo.


Ventajas

Desde el punto de vista de los ingenieros de Software:

Ayudar a comprender el problema.

Permitir la reutilizacin.

Facilitar el mantenimiento del producto final.

Optimizar el conjunto y cada una de las fases del proceso de desarrollo.


Ventajas

Desde el punto de vista de cliente o usuario final:

Garantizar el nivel de calidad del producto final.

Obtener el ciclo de vida adecuado para el proyecto.

Confianza en los plazos del tiempo mostrados en la definicin del proyecto.


Modelos de desarrollo de Software

Modelo de Cascada:

Se define como una


secuencia de fases en la que
al final de cada una de ellas
se rene la documentacin
para garantizar que cumple
las especificaciones y los
requisitos antes de pasar a la
fase siguiente.
Modelos de desarrollo de Software

Modelo V:

El modelo de ciclo de vida V


proviene del principio que
establece que los
procedimientos utilizados
para probar si la aplicacin
cumple las especificaciones
ya deben haberse creado en
la fase de diseo.
Modelos de desarrollo de Software

Modelo de construccin de
prototipo:

Es la creacin de
una implementacin parcial
de un sistema, para el
propsito explcito de
aprender sobre
los requerimientos
del sistema.
Modelos de desarrollo de Software

Modelo incremental:

El desarrollo incremental es
el proceso de construccin
siempre incrementando
subconjuntos de
requerimientos del sistema.
Modelos de desarrollo de Software

Modelo espiral:

Este es un modelo de
proceso de software
evolutivo, el cual enlaza la
naturaleza interactiva de
la construccin de
prototipos, pero
conservando aquellas
propiedades del modelo en
cascada.

También podría gustarte