You are on page 1of 28

INGENIERIA DE SOFTWARE

Es el estudio de los principios y metodologas para desarrollo


y mantenimiento de sistemas de software ... Zelkovitz

Es la aplicacin prctica el conocimiento cientfico en


el diseo y construccin de programas de
computadora y la documentacin asociada requerida
para desarrollar , operar y mantenerlos ... Bohem

INGENIERIA DE SOFTWARE
Trata del establecimiento de los principios y mtodos de la
ingeniera a fin de obtener software de modo rentable que sea
fiable y trabaje en mquinas reales ... Bauer

Es la aplicacin de un enfoque sistemtico,


disciplinado y cuantificable al desarrollo, operacin
(funcionamiento) y mantenimiento del software --IEEE

PRINCIPIOS DE LA

INGENIERIA DE SOFTWARE
1. HAZ DE LA CALIDAD LA RAZON DE TRABAJAR
2. ES POSIBLE SOFTWARE DE ALTA CALIDAD
3. UNA BUENA GESTION ES MAS IMPORTANTE QUE UNA
BUENA TECNOLOGIA
4. LAS PERSONAS Y TIEMPO NO SON INTERCAMBIABLES
5. IMPORTANTE SELECCIONAR EL MODELO ADECUADO
6. ENTREGAR PRODUCTOS AL USUARIO LO MAS PRONTO
POSIBLE
7. DETERMINAR EL PROBLEMA ANTES DE ESCRIBIR LOS
REQUISITOS
8. EVALUAR LAS ALTERNATIVAS DEL DISEO
9. DISEAR SIN DOCUMENTACION ES NO DISEAR

PRINCIPIOS DE LA

INGENIERIA DE SOFTWARE
10. MINIMIZAR LA DISTANCIA INTELECTUAL
11. USAR FORMALISMOS DISTINTOS PARA LAS DISTINTAS
FASES
12. LAS TECNICAS SON ANTERIORES A LAS
HERRAMIENTAS
13. INSPECCIONAR EL CODIGO
14. PRIMERO HAZLO CORRECTO, DESPUES HAZLO RAPIDO
15. LA GENTE ES LA CLAVE DEL XITO
16. INTRODUCE LAS MEJORAS CON CUIDADO
17. ASUMIR CADA QUIEN SU RESPONSABILIDAD
18. LA ENTROPIA DEL SOFTWARE ES CRECIENTE

CAPAS DE LA

INGENIERIA DE SOFTWARE
HERRAMIENTAS: proporciona un enfoque para el proceso y
mtodos, es soporte, se llama CASE
HERRAMIENTAS
METODOS
PROCESO
CALIDAD

METODOS: indican cmo construir tcnicamente el software


PROCESO: la ingeniera de software se fundamente en el
proceso, es la unin que mantiene juntas las capas de
tecnologa
UN ENFOQUE DE CALIDAD: cualquier enfoque debe apoyarse
sobre un compromiso de organizacin de calidad

CAPAS DE LA

INGENIERIA DE SOFTWARE

La estrategia para el desarrollo de


software se le llama MODELO DE
PROCESO o PARADIGMA DE
INGENIERIA DE SOFTWARE

PARADIGMAS DEL SOFTWARE

Cada paradigma es un intento de ordenar las


actividades de ayudar al contro y coordinacin de
los proyectos de software

PARADIGMA 1: CICLO DE VIDA CLASICO


MODELO LINEAL SECUENCIAL

Demanda un acercamiento secuencial y


sistemtico que coordine las siguientes
actividades
Ing. de Sistemas
o de Informacin

ANALISIS

DISEO

CODIGO

PRUEBA

INGENIERIA DE SISTEMAS: es el establecimiento


de requisitos y de las partes que se necesitan
para el desarrollo del sistema

ANALISIS: conocimiento de la informacin,


funciones, relaciones, comportamiento,
rendimiento e interconexin

DISEO: Se centra en la estructura de datos,


arquitectura del software, representaciones de
interfaz y detalle procedural

GENERACION DE CODIGO: realizacin en un


lenguaje de programacin

PRUEBAS: internas de lgica y externas de


funcionalidad

MANTENIMIENTO: correctivo, adaptativo y


perfectivo

POR QUE FALLA?

Causa confusin al inicio ( requerimientos )


Es difcil el cliente exponga todos los requisitos
El cliente debe tener paciencia hasta que el
proyecto termine o este avanzado

PARADIGMA 2: CONSTRUCCION DE PROTOTIPOS


Consiste en crear modelos del software que se va a
construir

Diseo
Rpido

CONSTRUIR
MAQUETA

ESCUCHAR
AL CLIENTE

Recoleccin
de
Requisitos

CLIENTE
PRUEBA
MAQUETA

Evaluacin
por el cliente

POR QUE FALLA?

No se ha tenido en cuenta la calidad del software


Querra hacer del prototipo un producto final

EFECTIVO SI:

Se definen las reglas al comienzo


Cliente y desarrollador se ponen de acuerdo que
el prototipo es un mecanismo para definir los
requerimientos

PARADIGMA 3: EL MODELO DRA (RAD)


Desarrollo Rpido de Aplicaciones

Modelo lineal secuencial que enfatiza un ciclo de


desarrollo extremadamente corto
Es una adaptacin del lineal utilizando una
contruccin basada en componentes

Comprende las siguientes fases:

1 Modelado de Gestin

( que informacin )

2 Modelado de Datos

(caractersticas obj )

3 Modelado del Proceso

( flujo de informacin)

4 Generacin de aplicaciones

( lenguajes, tcnicas)

5 Pruebas y entrega

( pruebas )

POR QUE FALLA?

Para proyectos grandes requiere mucho recurso


humano
Requiere clientes y desarrolladores comprometidos
No todas las aplicaciones son apropiadas para DRA
No es adecuado cuando los riesgos son altos

PARADIGMA 4: MODELO INCREMENTAL


Combina el lineal con el de prototipos
Se centra en la entrega de un producto operacional
con cada incremento
Es util cuando no hay suficiente personal y no
alcanza la fecha lmite
ANALISIS

DISEO

CODIGO

PRUEBA

Entrega primer
incremento
Entrega segundo

ANALISIS

DISEO

ANALISIS

CODIGO

DISEO

PRUEBA

CODIGO

incremento

PRUEBA
TIEMPO /
CALENDARIZACION

PARADIGMA 5: MODELO ESPIRAL

Combina prototipos con los aspectos controlados y


sistemticos del modelo lineal secuencial
Utiliza la construccin de prototipos como
mecanismo de reduccin de riesgos por lo tanto
demanda una consideracin directa de los riesgos

Planificacin
Comunicacin con
el cliente

Evaluacin
del cliente

Anlisis de
riesgos

Ingeniera

Construccin y Adaptacin

MODELO ESPIRAL

ACTIVIDADES PRINCIPALES:
Comunicacin con el cliente
Planificacin ( determinar objetivos, recursos,
tiempo, alternativas, restricciones )
Analisis de riesgos
Ingeniera ( construir la aplicacin )
Construccin y accin ( adaptacin, probar,
instalar, dar soporte )
Evaluacin del cliente ( valoracin de resultados )

OBTIENE EN LAS ETAPAS:

1 proyecto de desarrollo de conceptos


2 proyecto de desarrollo de nuevos productos
3 proyecto de mejora de productos
4 proyecto de mantenimiento de productos

POR QUE FALLA?

Puede resultar difcil convencere a grandes


clientes de que el proceso es controlable
Requiere una habilidad para la evaluacin del
riesgo ( sino se reconocen riesgos surgirn
problemas )

PARADIGMA 6: DESARROLLO BASADO EN


COMPONENTES

Es un modelo de la tecnologa de objetos


Las clases son reutilizables por las diferentes
aplicaciones y arquitecturas del sistema
Conduce a la reutilizacin del software
Se basa en el UML

PARADIGMA 7: TECNICAS DE 4TA GENERACION

Es software preestablecido para ingeniereos


programadores de alto nivel y genera
codificaciones especficas
Se enfoca en la habilidad de manejar un leguaje lo
mas cercano al natural
Estas son CASE y generadores de cdigo
Ahorra tiempo en proyectos cortos

FASES DE LA INGENIERIA DEL SOFTWARE

DEFINICION

Qu?

Identificar la informacion que ha de ser procesada


Su funcin
Rendimiento
Comportamiento del sistema
Interfaces
Restricciones
Criterios de validacin

REQUISITOS

FASES DE LA INGENIERIA DEL SOFTWARE

DESARROLLO

Cmo?

Cmo se disean las estructuras de datos


Cmo implementarse los procedimientos
Cmo caracterizar las interfaces
Cmo traducir al lenguaje
Cmo realizar las pruebas

FASES DE LA INGENIERIA DEL SOFTWARE

MANTENIMIENTO

Se centra en el CAMBIO,
en la correccin de errores

4 tipos de cambio:

Adaptaciones del software

Correccin

Cambio por las mejoras

Adaptacin
Mejora
Prevencin

FASES DE LA INGENIERIA DEL SOFTWARE

DEFINICION

DESARROLLO

ANALISIS

DISEO

PLANIFICACION

CODIFICACION

ANALISIS
REQUERIMIENTOS

PRUEBA

MANTENIMIENTO

CORRECTIVO
ADAPTATIVO
PERFECTIVO

You might also like