Vous êtes sur la page 1sur 17

UNIVERSIDAD PRIVADA DEL SUR DE MXICO

Ingeniera de software

M.C.C. Pedro Alejo Escarela Rodrguez Tuxtla Gutirrez, Chiapas. Mayo de 2012
Qu es software?

Conjunto de componentes lgicos que integran un sistema


informtico

John Wilder Tukey

Adicionalmente:

Documentacin

Configuracin

Reglas

Datos

1
Qu es la ingeniera de software?

es una disciplina de la ingeniera que comprende todos


los aspectos de la produccin de software desde las
etapas iniciales de la especificacin del sistema, hasta
el mantenimiento de ste despus que se utiliza

Ian Sommervilee

Frases clave:

Disciplina de la ingeniera

Todos los aspectos de la produccin del software

2
Tipos de productos de software
Productos aislados.
Genricos Se venden al mercado abierto.
Quien los desarrolla controla sus
especificaciones.

Productos requeridos por un cliente


Personalizados Los desarrolla un contratista.
Se desarrollan bajo las normas y
especificaciones del cliente.

Producidos por una compaa


especializada en software.
Se producen a partir de las
especificaciones iniciales del
*Hbridos
productor.
Dirigidos al mercado abierto, pero se
adaptan a las necesidades y
especificaciones del cliente.

3
Qu es un modelo de procesos del software?

Tiene como punto de partida las reglas de


negocio.

Es una visin simplificada de uno o ms


procesos.

Se apoya en herramientas grficas.

Intervienen ingenieros de software y


usuarios finales.

4
Tipos de modelos

Modelo de flujo de trabajo. Representan


acciones humanas.

Modelo de flujo de datos o actividad.


Representan actividades o procesos de
transformacin de datos.

Modelo de rol/accin. Representan los roles


de las personas involucradas en el proceso
y de las actividades de las que son
responsables.

5
Modelos generales de desarrollo de software

Enfoque en cascada. Cada etapa debe ser


cubierta antes de pasar a la siguiente.

Desarrollo iterativo. Entrelaza las


actividades de especificacin, desarrollo y
validacin.

Desarrollo basado en componentes (CBSE).


Supone que las partes del sistema existen,
enfocndose a la integracin de las mismas.

6
Modelo de desarrollo en cascada
Anlisis de Se analizan las necesidades de los usuarios finales
requisitos para determinar qu objetivos debe cubrir.
Se descompone y organiza el sistema en partes que
puedan elaborarse por separado. Elaboracin del
Diseo del sistema Documento de Diseo de Software (SDD Software
Document Design) que describe el esquema global
relacional del sistema.

Se construyen los algoritmos necesarios y se


Diseo del programa
determinan las herramientas de desarrollo.

Escritura del cdigo fuente en el o los


Codificacin lenguajes seleccionados para tal fin.

Se ensamblan los elementos ya


programados y se comprueba su Pruebas
funcionamiento.

El usuario final ejecuta la solucin para


identificar errores u omisiones y validar el Verificacin
funcionamiento.

La solucin final es puesta en


Implementacin
produccin.

Se hacen los ajustes necesarios sin


afectar el funcionamiento general del Mantenimiento
sistema.

7
Ventajas

Se tiene todo bien organizado y no se mezclan las


fases.

Es perfecto para proyectos que son rgidos.

Ideal para proyectos donde se especifiquen bien


los requerimientos.

Ideal para proyectos en que se conozca bien la


herramienta a utilizar.

Sencillez, ya que sigue los pasos intuitivos


necesarios al momento de desarrollar el software.

Permite la documentacin rpida del proyecto.

8
Desventajas
Difcilmente el cliente establece al principio todos los
requerimientos necesarios.

En la vida real, un proyecto rara vez sigue una secuencia


lineal, lo que puede ocasionar una mala implementacin del
proyecto.

Es muy restrictivo y no permite el avance paralelo entre


fases.

El proceso de creacin de la solucin es muy lento.

Cualquier error detectado en la etapa de prueba conduce al


rediseo y nueva programacin del cdigo afectado, aumentando
los costos de desarrollo.

El software no se opera mientras no est completo.

Los resultados y/o mejoras no son visibles hasta que el


producto est terminado.

9
Modelo de desarrollo iterativo

Actividades
concurrentes

Versin
Especificacin
inicial

Esbozo de la Versiones
Desarrollo
descripcin intermedias

Versin
Validacin final

10
Ventajas

Resolucin de problemas de alto riesgo en tiempo


relativamente corto.

Visin de avance desde las etapas iniciales del proyecto.

Es muy flexible, ya que permite modificaciones o


correcciones de errores sin afectar en mayor medida otros
avances.

Menor tasa de fallos y cantidad de defectos en el proyecto.

Permite manejar la complejidad del proyecto, apuntando a la


resolucin de los problemas por partes.

Permite la optimizacin de procesos en el corto plazo.

Mejor adaptacin a los cambios.

11
Desventajas

No garantiza por s solo el xito de su uso.

El avance del progreso no es fcilmente medible.

La documentacin se elabora al final del desarrollo del


software.

Difcil medicin de impactos en los costos.

Requiere del involucramiento del cliente durante todo el


curso del proyecto.

Su costo se incrementa especialmente en la mano de obra,


ya que requiere la integracin de un equipo con personal
altamente calificado.

En el caso de licitaciones, sufre fuertes penalizaciones


por retrasos o incumplimiento en entregas de las etapas.

12
Modelo de desarrollo basado en componentes

Un componente es una unidad de composicin de


aplicaciones software, que posee un conjunto de
interfaces y de requisitos, y que ha de ser
desarrollado, adquirido, incorporado al sistema y
compuesto con otros componentes de forma
independiente, en tiempo y espacio

13
Modelo del ciclo de vida del DSBC

Especificacin
de
requerimientos

Anlisis de
componentes

Modificacin
de
requerimientos

Diseo del
sistema con
reutilizacin

Diseo de
componentes Desarrollo e
propios integracin

Validacin del
sistema

14
Ventajas
Permite alcanzar un mayor nivel de reutilizacin de software.

Permite que las pruebas sean ejecutadas probando cada componente


por separado antes de probar el conjunto completo de componentes
ya ensamblados.

Simplifica el mantenimiento del sistema.

La calidad mejora con el paso del tiempo debido a que cada


componente puede ser mejorado continuamente.

La adicin de una pieza dotada de funcionalidad requiere de poco


tiempo.

El retorno de la inversin puede ser ms favorable que


desarrollando los componentes uno mismo.

Funcionalidad mejorada, debido a que solo se necesita entender


la naturaleza de cada componente, ms no sus detalles internos.

15
Desventajas

Los compromisos en los requisitos son inevitables, por


lo que es posible que el software no cumpla con las
expectativas del cliente.

Las actualizaciones de los componentes adquiridos no


estn en manos de los desarrolladores del sistema.

17

Vous aimerez peut-être aussi