VIDA
Claves en el Desarrollo de SI
Notacin
Herramientas
Metodologa
Notacin
El modelado captura las
partes esenciales del sistema
Orden
Item
envo
Proceso de Negocios
Sistema Computaciona
Notacin:
Modelado para manejar la
Complejidad
Notacin
Modelado de la
Arquitectura del SW
Interface de Usuario
(Visual Basic,
Java, ..)
Servidor de BDs
(C++ & SQL, ..)
Notacin
Modelado para promover la
Reutilizacin
Mltiples Sistemas
Componentes
Reutilizados
Qu es una Metodologa?
En un proyecto de desarrollo de software la
metodologa define Quin debe hacer Qu,
Cundo y Cmo debe hacerlo
Requisitos nuevos
o modificados
Proceso de Desarrollo
de Software
Sistema nuevo
o modificado
Procesos y Metodologas
La Ingeniera de Software como disciplina
Algunos modelos de proceso de desarrollo son:
desarrollo en Cascada, usando Prototipos, Basado
en Componentes, en Espiral (Incremental,
Iterativo), Programacin Automtica. Las
metodologas se basan en alguna combinacin de
estos enfoques
Las metodologas (tanto comerciales como en el
mbito acadmico y de investigacin) pueden ser
agrupadas en dos grandes corrientes:
Metodologas Estructuradas y Metodologas
Orientadas a Objetos
Metodologas Estructuradas
Los mtodos estructurados comenzaron a
desarrollar-se a fines de los 70s con la
Programacin Estructurada, luego a mediados de los
70s aparecieron tcnicas para el Diseo primero y
luego para el Anlisis. Enfocados a implementaciones
usando lenguajes de 3ra generacin
Ejemplos de metodologas estructuradas
gubernamentales: MERISE (Francia), MTRICA 3
(Espaa), SSADM (Reino Unido)
Ejemplos de mtodos estructurados en el mbito
acadmico: Gane & Sarson, Ward & Mellor, Yourdon
& DeMarco e Information Engineering
Metodologas OO
Su historia va unida a la evolucin de los lenguajes de
programacin orientada a objeto, los ms representativos:
a fines de los 60s SIMULA, a fines de los 70s Smalltalk80, la primera versin de C++ por Bjarne Stroustrup en
1981 y actualmente Java o C#. A fines de los 80s
comenzaron a consolidarse algunos mtodos Orientadas a
Objeto
En 1995 aparece el Mtodo Unificado, que posteriormente
se reorienta para dar lugar al Unified Modeling Language
(UML), la notacin OO ms popular en la actualidad
Algunos mtodos OO con notaciones predecesoras de
UML: OOAD (Booch), OOSE (Jacobson), Coad & Yourdon,
Shaler & Mellor y OMT (Rumbaugh)
Algunas metodologas orientadas a objetos basadas en
UML: Rational Unified Process (RUP), OPEN, MTRICA 3
Metodologa
Elementos de un Proceso SW
Actividades
Herramientas
Personas
Proceso
SW
Roles
Artefactos
Notacin
Herramientas CASE
CASE es un acrnimo para Computer-Aided
Software Engineering, aunque existen algunas
variaciones para lo que actualmente se
entiende por CASE:
C
A
S
E
Computer
Aided
Assisted
Automated
Software
Systems
Engineering
Qu es una CASE?
En Terminology for Software Engineering and
Computer-aided Software Engineering, B.Terry
& D.Logee, Software Engineering Notes, Abril
1990, CASE es definido como:
Herramientas individuales para ayudar al
desarrollador de software o administrador de
proyecto durante una o ms fases del desarrollo
de software (o mantenimiento).
Proceso
Subproceso
Tarea de desarrollo apoyada por una herramienta CASE
Representacin Representacin de objetos, relaciones o procesos
Anlisis de objetos relaciones o procesos
Anlisis
Produccin
Transformacin
Control
Coordinacin
Cooperacin
Soporte
Organizacin
Infraestructura
Modelo secuencial
Ingeniera de Sistemas
Anlisis
Diseo
Cdigo
Pruebas
Mantencin
Modelo Prototipo
Refinamiento
de Requisitos
Diseo rpido
Escuchar al
Construir/revisar
usuario/cliente
prototipo
Refinamiento
Pruebas
Aprobacin u observaciones
del usuario/cliente
Modelo en Espiral
Estilo incremental.
Es similar al de prototipos, pero agrega la
evaluacin de riesgos tcnicos y de gestin.
Etapas : (desde adentro hacia fuera)
Desarrollo conceptual
Desarrollo del producto
mejora del producto
mantenimiento del producto
Caso : MS-Office
Modelo en Espiral
Planificacin
Evaluacin del
Riesgo
Ingeniera
Comunicacin con el
usuario/cliente
Construccin y
adaptacin
Refinamiento
Aprobacin u observaciones
del usuario/cliente
Modelo de ensamblaje de
componentes
Modelos anteriores, pero con uso de
bibliotecas de rutinas (tradicional) o clases
(orientacin a objetos).
Ms rpido.
Menores costos de desarrollo.
Programadores ms experimentados.
Menor dependencia de las personas que
participaron en el proyecto.
Metodologas Estructuradas
Proponen la creacin de modelos del sistema que
representan:
Los procesos
Los flujos
La estructura de los Datos
Enfoque Top-Down
De visin general a nivel de abstraccin ms sencillo
Tipos:
Orientadas a Procesos
Orientadas a Datos
Estructuras de Datos Jerrquicas
Estructuras de Datos no Jerrquicas
Metodologas Estructuradas
Metodologas Estructuradas
Metodologas Estructuradas
Metodologas Orientadas a Procesos
Metodologa de Yourdon/Constantine
Realizar los DFD del sistema
Realizar el diagrama de estructuras
Evaluar el diseo
Preparar el diseo para la
implantacin
Metodologas Estructuradas
Metodologas Estructuradas
Capas de la Ingeniera de
SW
herramientas
mtodos
proceso
Enfoque de calidad
Ejemplo : Un futbolista
Herrramientas
Condiciones
fsicas
Mtodos
Tcnica
Proceso
90 minutos
de juego
Enfoque de
calidad
Estilo Elegancia
amateur
Profesional
(normalmente)
amateur
profesion
al
Nivel de
juego
confiable
Mtodos
Herramientas
Distintas herramientas de desarrollo y/o
programacin.
Algunas presentan soporte automtico o
semi automtico : CASE, CAD, 4GL, etc.
El Proceso
Cmo controlamos o evaluamos que las cosas
vayan bien?.
{cmo se las arregla el DT para asegurar el
xito del partido, si se considera que l no
est jugando?}
Control de gestin de proyectos de sw.
Establecimiento del contexto en que se aplican
los mtodos tcnicos, modelo, documentos,
datos, informes, formularios, etc.
Fases de la Ingeniera de
SW
Fase de Definicin : Qu?. Ingeniera
de Sistemas, planificacin del proyecto y
anlisis de requisitos.
Tipos de cambio en la
mantencin
Tcnicas de 4 generacin
Apoyado en herramientas CASE. Prototipos.
Aplicaciones pequeas y de tamao medio.
Anlisis
Upper CASE
Diseo
Programacin
Pruebas
Mantencin
4GL
Lower CASE
Resumen
La Ingeniera de SW es una disciplina.
Integra proceso, mtodos y herramientas.
Existen diversos paradigmas, con ventajas y
desventajas pero basado en fases comunes.
En este curso se estudiarn los principios,
conceptos y mtodos que permiten llevar a
cabo el Proceso que se denomina Ingeniera
del software.