You are on page 1of 10

Resumen

Ingeniería de Software

Se habla sobre los conceptos básicos, la importancia del ciclo de vida del software
y los ciclos de vida lineal, cascada, incremental y espiral.

2011
Ana Laura Carreño Teniente
Universidad Interactiva y a Distancia del Estado de Guanajuato
03/06/2011
Ing. En Sistemas Computacionales
Ingeniería en sistemas Página 2

Contenido
DEFINICIÓN PROPIA DE INGENIERIA DE SOFTWARE ...................................... 3
CONCEPTOS BÁSICOS ......................................................................................... 3
¿Que es Ingeniería? ............................................................................................ 3
¿Qué es la ingenieria de software? ..................................................................... 3
¿Qué es Software? .............................................................................................. 3
¿Como se forma el software? .............................................................................. 4
Principales áreas de estudio y/o investigación .................................................... 4
CICLO DE VIDA DEL SOFTWARE ......................................................................... 5
Definición de Metodología ................................................................................... 5
Objetivos de cada etapa ...................................................................................... 5
Finalidad de una metodología .............................................................................. 6
Clasificación de las metodologías .................................................................... 6
MODELOS DE CICLO DE VIDA ............................................................................. 7
Ciclo de vida Lineal .............................................................................................. 7
Ciclo de vida en Cascada Puro ............................................................................ 8
Ciclo de vida Incremental..................................................................................... 9
Ciclo de vida en Espiral ..................................................................................... 10



Ingeniería en sistemas Página 3

DEFINICIÓN PROPIA DE INGENIERIA DE SOFTWARE
Es una area de la informatica, donde gracias al estudio de la tecnología y tecnicas
de conocimientos se desarrolla y se le da mantenimiento al software que podra
resolver problemas y satisfacer necesidades del ser humano.
CONCEPTOS BÁSICOS

¿Que es Ingeniería?
Es el estudio y la aplicación de las distintas ramas de la tecnología.

¿Qué es la ingeniería de software?
 Es la ciencia que ayuda a elaborar sistemas con el fin de que sea económico,
fiable y funcione eficientemente sobre las maquinas reales. Abarca un
conjunto de 3 elementos clave: métodos, herramientas y procedimientos.
 Es una disciplina o área de la informatica que ofrece método o técnicas para
desarrollar y mantener software de calidad que resuelven problemas de todo
tipo.
 Es la disciplina que integra el proceso, los metodos y las herramientas para el
desarrollo de software de coputadora.

¿Qué es Software?
 Es el conjunto de los programas de cómputo, procedimientos, reglas,
documentación y datos asociados que forman parte de las operaciones de un
sistema de computación.
 Es el producto que los ingenieros de software contruyen y despues mantiene
en largo plazo.
Ingeniería en sistemas Página 4

¿Como se forma el software?
1) Las instrucciones (programas de computadora) que al ejecutar se
proporcionana las características, funciones y grado de desempeño deseados.
2) Las estructuras de datos, que permiten que los programas manipulen
información de manera adecuada.
3) Los documentos que describen la operación y uso de los programas
Principales áreas de estudio y/o investigación
 Métodos y Metodologías de Desarrollo de software
 Procesos de desarrollo de software
 Gestión de proyectos de software
 Medición y estimación de software
 Ingeniería de software empírica
 Ingeniería Web

Ingeniería en sistemas Página 5

CICLO DE VIDA DEL SOFTWARE
Definición de Metodología
La metodología para el desarrollo de software son los procesos a seguir
sistemáticamente para idear, implementar y mantener un producto software desde
que surge la necesidad del producto, hasta que cumplimos el objetivo por el cual
fue creado con altas posibilidades de éxito.
 Planificación: se idea un planteamiento detallado que guíe la gestión del
proyecto temporal y económicamente.
 Implementación: se acuerdan el conjunto de actividades que componen la
realización del producto.
 Puesta en producción: se entra en la etapa de definición, donde se presenta
al usuario final, sabiendo que funciona correctamente y responde los
requerimientos solicitados en su momento.

Objetivos de cada etapa
 Expresión de necesidades: tiene como objetivo el armado de un
documento el cual se reflejan los requerimientos y funcionalidades que
ofrecerá al usuario el sistema a implementar (qué se va a implementar).
 Especificaciones: formalizamos los requerimientos.
 Análisis: se determinan los elementos que intervienen en el sistema a
desarrollar, su estructura, relaciones, evolución temporal, funcionalidades.
 Diseño: se define en detalle entidades y relaciones en las bases de datos,
se selecciona el lenguaje que se utilizara, el Sistema Gestor de Base de
Datos, etc.
 Implementación: se empieza a codificar algoritmos y estructura de datos,
definidos anteriormente.
 Debugging: se garantiza que el programa no contiene errores de diseño o
codificación. Se desea encontrar la mayor cantidad de errores.
Ingeniería en sistemas Página 6

 Validación: se verifica que el sistema desarrollado cumple con los
requerimientos expresados inicialmente por el cliente.
 Evolución: se agregan nuevas funciones y se corrigen errores que surjan.

Finalidad de una metodología
Lo que se busca con la metodología es explicar algo demasiado largo y detallado,
corregirlo y controlarlo en cada etapa del desarrollo del programa.
Clasificación de las metodologías
La metodología estructurada y orientada a objetos tiene una analogía en la
práctica con los paradigmas de programación.
 Metodología estructurada: se dirige hacia los procesos que intervienen en
el sistema a desarrollar, cada función a realizar por el sistema se
descompone en pequeños módulos individuales.
 Metodología orientada a objetos: ésta no comprende los procesos como
funciones sino que arma módulos basados en componentes, cada uno es
independiente de otro. Esto hace que el código sea reutilizable.


Ingeniería en sistemas Página 7

MODELOS DE CICLO DE VIDA
Se divide en tres grandes diferencias:
 El alcance del ciclo de vida: depende de hasta dónde deseamos llegar
con el proyecto.
 La cualidad y cantidad de las etapas en que se divide: según el ciclo de
vida que se adopte y el proyecto para el cual lo adoptemos.
 La estructura y sucesión de las etapas: sí hay realimentación entre ellas, y
si tenemos la libertad de repetirlas. (iterar: forma específica de repetición con
un estado mutable).
Cuando hablamos de riesgo, se refiere la probabilidad que se tiene de volver a
retomar una de las etapas anteriores, perdiendo tiempo, dinero y esfuerzo.

Ciclo de vida Lineal
El más sencillo de todos los modelos. Se trata de descomponer la actividad global
del proyecto en etapas separadas que son realizadas de manera lineal.
Cada etapa se realiza una sola vez, después de la etapa anterior y antes de la
siguiente. Es fácil de dividir y prever tiempos. Como condición deben ser
independientes entre sí, pues no hay retroalimentación entre ellas.
Desde el punto de vista de la gestión, se requiere saber con excesiva rigidez lo
que va a ocurrir en cada una de las distintas etapas antes de comenzar, para
hacer que se minimicen los errores.

Ciclo Linea
Análisis Diseño Implementación Debugging Instalación Aceptación
Ingeniería en sistemas Página 8

Su ventaja es la sencillez de su gestión y administración económica y temporal,
ya que se acomoda perfectamente a proyectos internos de programas muy
pequeños de ABM.
La desventaja es que no es apto para desarrollos que superen la
retroalimentación entre etapas.
Este tipo de ciclo conviene cuando una aplicación que se dedique exclusivamente
a almacenar datos, sea una base de datos o archivo plano. Debido a que su
realización y el código es muy sencillo.


Ciclo de vida en Cascada Puro
Winston Royce propuso este modelo en el año 1970. Este ciclo admite iteraciones.
Después de cada etapa se realiza una o varias revisiones para comprobar si se
puede pasar a la siguiente. Es un modelo rígido, poco flexible y con muchas
restricciones, pero sirvió de base para el resto de los modelos de ciclo de vida.









Uso del Prototipos
Prueba del Prototipo
Codificación del Prototipo
Análisis del Prototipo
Alcance del
Prototipo
Diseño del Prototipo
Requerimientos del sistema
Requerimientos del Software
Diseño preliminar del Software
Análisis
Diseño de Programa
Codificación
Prueba
Operacione
s
Ingeniería en sistemas Página 9

Una de sus ventajas, es la de proveer un producto con un elevado grado de
calidad sin necesidad de un personal altamente calificado.
La desventaja es la necesidad de contar con todos los requerimientos al
comienzo del proyecto, y si se comenten errores y no se detectan en la etapa
inmediata siguiente, es costoso y difícil volver a realizar su corrección. Y los
resultados no se verán hasta que no se está en la etapa final del ciclo, y aumenta
el costo del desarrollo en función del tiempo que tardemos en las correcciones.

Ciclo de vida Incremental
Se basa en la filosofía de construir incrementando las funcionalidades del
programa. Se realiza construyendo por módulos que cumplen las diferentes
funciones del sistema y permite aumentar gradualmente las capacidades del
software.
Permite a cada miembro desarrollar un modulo particular en caso de que sea en
equipo. A su vez, este ciclo de vida nos permite realizar una entrega al cliente
antes de terminar el proyecto.
Las ventajas son:
 Construir un sistema pequeño siempre es menos riesgoso que uno grande.
 Como es independiente, es más fácil relevar los requerimientos del usuario.
 Si se detecta un error grave, solo se desecha la última iteración.
 No es necesario disponer de todas las funcionalidades y facilita el
desarrollo con la filosofía de divide & conquista.
Su desventaja es que no está pensado para cierto tipo de aplicaciones, sino
que va dirigido a cierto tipo de usuario o cliente. Es útil cuando se necesitan
entregas rápidas y parciales.
Ingeniería en sistemas Página 10

Ciclo de vida en Espiral
Fue diseñado por Boehm en 1988, puede considerarse una variación del modelo
con prototipado. El modelo se basa en una serie de ciclos repetitivos para ir
ganando madurez en el producto final.
Toma beneficios de los ciclos de vida incremental y por prototipos, pero es más
riesgoso debido a las incertidumbres e ignorancia de los requerimientos que se
proporcionan en un principio.
A medida que el ciclo se cumple, se van obteniendo prototipos sucesivos que van
ganando la satisfacción del cliente. Pero la fuente de incertidumbre es el mismo
cliente, que en su mayoría, no sabe con perfección todas las funcionalidades que
debe tener el producto.
Hay 4 actividades que envuelven a las etapas:
1. Planificación: relevamiento de requerimientos iniciales
2. Análisis de riesgo: de acuerdo con el relevamiento, decidimos su
continuamos con el desarrollo.
3. Implementación: desarrolla un prototipo basado en requerimientos.
4. Evaluación: el cliente evalúa el prototipo. Sí está satisfecho se termina, y si
no, se incluyen nuevos requerimientos solicitados por el cliente.
La ventaja es que se puede comenzar el proyecto con un alto grado de
incertidumbre, pero tiene un bajo riesgo de retraso en caso de detectar errores. Es
un modelo adecuado para grandes proyectos internos de una empresa.
Se puede citar una aplicación que administre reclamos, pedidos e incidentes.