INTRODUCCIN
La
Qu es ingeniera de SW?
ciclo de vida:
Secuencial, cascada.
Orientado a prototipos
Evolutivo
Incremental
Espiral
Componente
Anlisis
Comprender
la naturaleza
del dominio.
Especificacin
de los
requisitos
Diseo
Estructura de
datos
Arquitectura de
SW
Representacion
es de la Interfaz
Algoritmos
Cdigo
Construccin
del SW. En
base al diseo
Prueba
Prueba de
procesos
lgicos
internos.
Pruebas
funcionales
Codificacin y
pruebas unitarias
Operacin y
mantenimiento
Integracin del
sistema
Utilidad:
Ayuda a los analistas a establecer las
producto.
Horizontal: desarrolla parcialmente todas las facetas del
producto.
Evolutivo: La versin final es el producto ya construido.
Desechable: Se usa sola para la captacin de requerimientos y
funcionalidad.
Desarrollo
Primera
versin
Desarrollo
Segunda
versin
Requerimiento
s
Desarrollo
Primera
versin
Requerimiento
s
Desarrollo
Segunda
versin
regiones de tarea.
1. Comunicacin con el cliente
2. Planificacin
3. Anlisis de riesgo
4. Ingeniera
5. Construccin y adaptacin
objeto.
Orientacin a objetos encapsula datos y mtodos.
Centrado a la construccin de componentes que no estn
desarrollo.
Lenguaje visual
Unin de los tres anteriores
Estndar internacional (OMG)
Versin actual: 2.0
UP (Unified Process)
Metodologa de diseo iterativo
Basada en casos de uso
Incorpora UML de forma natural
OOAD (Booch)
Tipos de relaciones
Herencia o Generalizacin
Agregacin o Composicin
Asociacin
Metaclase
Instanciacin (plantillas)
Cliente-Servidor (acceso)
Partes de UML
Vistas
Conjunto de diagramas
Diagramas
9 tipos de grafos
Combinan los elementos del modelo
adaptaciones
VISTAS
Vista de Casos de Uso
Funcionalidad externa del sistema
Vista Lgica
Estructura esttica y conducta dinmica del sistema
Vista de Componentes (software)
lgica
Casos
uso
comp
Conc
despliegue
usuario)
Describe la funcionalidad del sistema, como la perciben
los actores externos
Dirige el desarrollo de las otras vistas
Define los objetivos finales del sistema
Permite validar el sistema
Actor externo:
Usuario
Otro sistema
Se plasma en diagramas
de Casos de Uso
de Actividad
Vista Lgica
Describe la funcionalidad interna
Dirigida a diseadores y desarrolladores
Define la estructura esttica
Clases, objetos y relaciones
Define las colaboraciones dinmicas
Mensajes y funciones
Propiedades adicionales
Persistencia y concurrencia
Interfaces y estructura interna de las clases
Vista Lgica
Se plasma en diagramas
Estticos
de Clases
de Objetos
Dinmicos
de Estado
de Secuencia
de Colaboracin
de Actividad
Vista de Componentes
Describe los mdulos del sistema y sus
dependencias
Dirigida a desarrolladores
Se plasma en diagramas
de Componentes
Vista de Concurrencia
Describe la divisin del sistema en procesos y procesadores
Dirigida a desarrolladores e integradores
Resuelve problemas de
uso eficiente de los recursos
ejecucin en paralelo (hilos)
comunicacin y sincronizacin de hilos
Se plasma en diagramas
dinmicos
de Componentes
de Despliegue
Vista de Despliegue
Muestra
Tipos de Diagramas
De Casos de Uso
Estticos
de Clases
de Objetos
Dinmicos
de Estado
de Secuencia
de Colaboracin
de Actividad
De Componentes
De Despliegue (deployment)
ANALISIS
Es un conjunto o disposicin de procedimientos o programas
ANALISIS DE SISTEMAS
El anlisis de sistemas es el estudio de una aplicacin del sistema de
informacin y de empresa actual y la definicin de las necesidades y las
Estudio deViabilidad
Evale que conceptos tiene el cliente del sistema para establecer su
viabilidad.
Viabilidad econmica.
Viabilidad Tcnica.
Viabilidad Legal.
DISEO DE SISTEMAS
El Diseo de Sistemas se define como el proceso de aplicar
Diseo de Salida.
Diseo de Archivos.
Herramientas de especificacin.
Generadores de cdigos.
2.
Recursos
Recursos Humanos.
Recursos de entorno.
3.
terminados.
Utilice tcnicas de descomposicin relativamente
sencillas.
Desarrolle un modelo emprico para l calculo de
costos y esfuerzos del Software.
DIFERENTES MODELOS DE
ESTIMACION.
Los Modelos Empricos
El Modelo COCOMO.
Barry Boehm, en su libro clsico sobre economa de la
JERARQUA DE MODELOS DE
BOEHM
Modelo I.
JERARQUA DE MODELOS DE
BOEHM
Modelo III.
Orientado a Objetos
En la programacin convencional los datos asumen
ndice de fallos
Incremento del
ndice de fallos
por efectos
laterales
Curva Real
Cambio
Curva Ideal
Tiempo
60-100 x
1.5 -6
1x
Fase
Definicin
Desarrollo
Despus de la
entrega
tambin valiosa.
ltima generacin.
Mitos de Gestin
Mito 3: Si fallamos en la planificacin, agregamos
eficiencia.
trabajo en SW.
Mito
introduzca.
tardar en terminarlo.
programa funcionando.
Un parte fundamental para la mantencin es la
documentacin.
ANLISIS Y DISEO OO
Es identificar el dominio del problema y su solucin lgica dentro de la
2. Los usuarios finales y las personas de las empresas piensan de manera natural en
4. La complejidad de los objetos que podemos utilizar sigue en aumento puesto que
OO.
7. Las tcnicas 00 se ajustan de manera natural a la tecnologa CASE.
PROCESO DE DESARROLLO
DE SOFTWARE:
Requisitos del usuario
Proceso de desarrollo
de software
Sistema de software
Objetivos:
Asegurar la produccin de software de calidad dentro de plazos
y presupuestos predecibles.
PROCESO DE DESARROLLO
DE SOFTWARE
Planificacin
Ciclo de
desarrollo 1
Perfeccionar
plan
Construccin
Ciclo de
desarrollo 2
Anlisis
Aplicacin
...
Diseo
Construccin
Pruebas
PROCESO DE DESARROLLO
DE SOFTWARE
Ciclo de
desarrollo 1
Ciclo de
desarrollo 2
Ciclo de
desarrollo 3
Caso de uso A:
Versin
simplificada
-------------
Caso de uso A:
Versin
completa
-------------
Caso de uso B
------------------------Caso de uso C
-------------------------
...
PROCESO DE DESARROLLO
DE SOFTWARE
Planificacin
Ciclo de
desarrollo 1
Perfeccionar
plan
Construccin
Ciclo de
desarrollo 2
Anlisis
Aplicacin
...
Diseo
Construccin
Pruebas
ANLISIS OO
Algunas de las tareas a realizarse en la etapa de anlisis
(dominio del problema) son las siguientes:
Perfeccionar
plan
Definir los
requisitos
Crear el
glosario
Anlisis
Diseo
Construccin
Crear diagramas
de casos de uso
Definir los
contratos
Pruebas
Crear modelo
conceptual
DISEO OO
Algunas de las tareas a realizarse en la etapa de diseo
(dominio de la solucin) son las siguientes:
Perfeccionar
plan
Anlisis
Diseo
Definir casos
reales de uso
Definir reportes,
interfaz de usuario,
secuencia de pantallas
Definir diag.
de interaccin
Definir diagramas
diseo de clases
Construccin
Perfeccionar la
arquitectura
Definir esquema
base de datos
Pruebas
Lenguajes y herramientas OO
Lenguajes de programacin ms comunes que soportan la Orientacin a
Objetos:
Java
C ++
C#
Plataforma .net
Smalltalk
Herramientas case:
Rational Rose.
Poseidon (Profesional Edition)
Herramientas de modelado
Visio 2002
Umbrella (Open Source)
Poseidon (Comunity Edition)