Sei sulla pagina 1di 30

INT

Introduccin
Software ................................................................................. 2
Metodologas y Herramientas............................................... 5
Procesos de Software........................................................... 8
Modelos de Proceso Software ............................................. 9
Visin Genrica de la IS........................................................ 15
Mtrica Versin 3................................................................... 17
Estructura Principal ...................................................... 20
Interfaces........................................................................ 22
Tcnicas y Prcticas ..................................................... 23
Participantes .................................................................. 26
Mtrica 3 vs. Mtrica 2 .......................................................... 28
Bibliografa............................................................................. 29
Introduccin: INT-2
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Software
Instrucciones + Estructuras de Datos + Documentacin
Caractersticas
El software se desarrolla, no se fabrica. Los costes se
concentran en la ingeniera, no en la produccin.
El software no se estropea, pero se deteriora .
ndice de Fallos
Tiempo
HARDWARE
ndice de Fallos
Tiempo
SOFTWARE (Ideal)
ndice de Fallos
f
Tiempo
SOFTWARE (Real)
Introduccin: INT-3
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
La mayora del software se construye a medida. No
existen catlogos de componentes software.
Reutilizacin:
Bibliotecas
Tcnicas de programacin estructurada y modular
Tcnicas orientadas a objetos
Problemas
Crisis del Software
La planificacin y estimacin de costes son muy
imprecisos
No existen datos sobre proyectos anteriores
Gestores de proyectos no especializados en el
desarrollo del software
Productos no entregados a tiempo
Falta de comunicacin con los usuarios
Baja productividad
Desarrollo sobre especificaciones ambiguas
Modificar especificaciones sobre la marcha
Falta total de documentacin del desarrollo y
modificaciones
Introduccin: INT-4
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Mala calidad
Pocas o nulas pruebas exhaustivas Software con
errores
El producto no responde a las necesidades de usuarios
Poco inters y tiempo en anlisis de requisitos
Errores en el producto en su entrega
Los productos se vuelven a disear y/o desarrollar
Gran diversidad (productos, mtodos, documentacin)
Necesidades
Asegurar calidad en el software
Conseguir plazos y costes razonables
Marco homogneo de referencia
Solucin (parcial?): Ingeniera del Software
Aplicacin de un enfoque sistemtico, disciplinado y
cuantificable hacia el desarrollo, operacin y
mantenimiento del software (IEEE 93)
Metodologa de Planificacin y Desarrollo de Sistemas
de Informacin MTRICA Versin 3
Plan General de Calidad Aplicable al Desarrollo de
Equipos Lgicos
Introduccin: INT-5
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Metodologas y Herramientas
Mtodo
Un determinado enfoque ( approach ) para solucionar un
determinado problema. Indican como construir
tcnicamente el software.
Consta de:
Notacin (grfica y/o textual)
Tcnicas que han de ser utilizadas para solucionar el
problema
Metodologa
Estudio de los mtodos
Conjunto de mtodos integrados para alcanzar una meta
comn
Definen la secuencia en la que se aplican los mtodos,
productos o documentos requeridos, controles de
calidad,...
(Definiciones parcialmente extradas del SEI: Software
Engineering Institute, Carnegie Mellon University)
Introduccin: INT-6
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Herramientas
Productos para automatizar un mtodo, parte o varios
CAD/CAM/CAE (Computer Aided Design, Manufacturing
and Engineering)
CASE (Computer Aided Software/System Engineering)
UpperCASE (Principio del ciclo de vida. ej. anlisis)
LowerCASE (Final del ciclo de vida, ej. generador de
cdigo)
Toolset (Varias Herramientas integradas para soportar
una metodologa)
IPSE (Integrated Programming Support Environment)
Soporte de todo el ciclo de vida
I-CASE (Integrated CASE). Para diferenciar de
herramienta no integradas
MetaCASE (Generador de herramientas CASE)
Introduccin: INT-7
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Es la tecnologa CASE la solucin?
+ Publicidad = Milagros
CASE = Ayuda
+ Realidad
= Perjuicio
Por s mismas, las herramientas NO SOLUCIONAN NADA
Hay que CONOCER a fondo los mtodos de desarrollo,
gestin y control
CASE posibilita y fomenta el uso de mtodos. Es una
solucin parcial
Ayuda a rebajar costes?
PRODUCCIN (anlisis, diseo, implementacin):
No decrecen sensiblemente
Incluso crecen algo
MANTENIMIENTO:
Decrece drsticamente
Introduccin: INT-8
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Procesos de Software
Conjunto de actividades y productos obtenidos durante el
desarrollo de un sistema software, independientemente de
su tamao o complejidad
Actividades de un proceso genrico
Especificacin y Anlisis
Se definen las funcionalidades y restricciones del software
a construir
Desarrollo
Produccin propiamente dicha de forma que cumpla con
las especificaciones
Validacin
Asegurar que el software es lo que el cliente requiere
Evolucin
Adaptacin a posibles cambios
Capas en la Ingeniera del Software
Herramientas
Mtodos
Proceso
Calidad
Introduccin: INT-9
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Modelos de Proceso Software
Lineal Secuencial o en Cascada
Problemas:
Difcil ajustar a proyectos reales
Difcil que el usuario exponga los requisitos al principio
No est disponible versin operativa hasta las ltimas
etapas
ANLISIS
DISEO
CDIGO
PRUEBA
Introduccin: INT-10
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Orientado a Prototipos
Mecanismo para la identificacin de requisitos del software
Problemas:
La gestin del desarrollo de software es muy lenta
Compromisos implementacin/eficiencia (Lenguaje de
programacin, sistema operativo, etc.)
Requisitos
(Entrevistas)
Construir/Revisar
Prototipo
Prueba Prototipo
Introduccin: INT-11
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Modelo Incremental
Basado en el ciclo de vida lineal y en la construccin de
prototipos
En primer lugar, se crea un primer incremento
(producto esencial) utilizando el modelo en cascada que
contempla los requisitos bsicos.
Se elaboran nuevos incrementos, incorporando en cada
uno nuevos requisitos no detectados hasta el momento,
o no incluidos en anteriores incrementos
As, los primeros incrementos son versiones
desmontadas del producto final
Cada incremento genera un producto operacional (o
versin incompleta )
Incremental vs. Prototipos?
Introduccin: INT-12
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Espiral (Boehm, 1988)
Combina las principales ventajas del ciclo de vida en
cascada y el orientado a prototipos.
El primer ciclo de la espiral especifica el producto
Cada uno de los siguientes un nuevo prototipo (refinado)
Problemas:
Poca experimentacin en proyectos
Planificacin Anlisis de Riesgos
Ingeniera Evaluacin
Introduccin: INT-13
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Basado en Componentes
Reutilizacin del software
Adecuado en tecnologas orientadas a objetos
Especializacin del modelo en espiral, donde las
aplicaciones se desarrollan a partir de componentes
previamente creados
Ingeniera:
- Identificacin de componentes candidatos
- Acceso a los componentes de la librera
- Construccin, en su caso, de componentes y
almacenamiento en la librera
El proceso anterior forma la primera iteracin en la
espiral
En futuras iteraciones, se deben ensamblar los
componentes
Problemas
Excesiva dependencia de la calidad y robustez de la
librera de componentes
Introduccin: INT-14
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Ciclos de Vida Orientados a Objeto
En sus orgenes la Orientacin a Objeto (OO) enfatizaba
sobre todo en los lenguajes de programacin (Lenguajes
de Programacin Orientados a Objeto)
A medida que el inters aumentaba en la industria, el
estudio se traslada al Diseo, y posteriormente al
Anlisis
Bsicamente, la mayora de metodologas especializan
los paradigmas iterativos (construccin de prototipos) y
evolutivos (incremental y espiral).
En general, en estas metodologas la tupla (Anlisis-
Diseo-Construccin) es ms compacta que en las
metodologas estructuradas, ya que todo el proceso se
basa en clases y objetos
Ejemplo: Rational Unified Process (RUP)
(http://www.rational.com/products/whitepapers)
Proceso Software basado en el uso efectivo de la
notacin UML (Unified Modeling Language)
Utilizacin a lo largo de todo el ciclo de vida de patrones
( templates ) y herramientas
Cuatro fases secuenciales:
1. Incepcin: Definicin inicial del proyecto, plan de
proyecto, costes, personal, riesgos, etc.
2. Elaboracin: Descripcin de arquitectura, riesgos
revisados, plan revisado, manual de usuario inicial, etc.
3. Construccin: Desarrollo, integracin y prueba de los
componentes
4. Transicin: Pruebas beta por los usuarios, conversin
de datos, plan de formacin de usuarios, etc.
Introduccin: INT-15
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Visin Genrica de la IS
Independientemente del paradigma, se puede ver el
proceso de desarrollo:
Definicin (QU)
Estudio del Sistema
Planificacin
Anlisis de Requisitos
Desarrollo (CMO)
Diseo (arquitectura, estructuras de datos, ...)
Codificacin
Prueba
Mantenimiento (CAMBIO)
Correccin
Adaptacin
Mejora
Introduccin: INT-16
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Desarrollo de un producto
software
Disciplinas
Desarrollo
Disciplinas
Gestin
Disciplinas
Control
Producto
Software
Normativa del MAP
Disciplinas
de
desarrollo
Metodologas de
desarrollo
Mtrica Versin 3
Disciplinas
de Control
Aseguramiento
de la calidad
(SQA: Software
Quality
Assurance)
Gestin de
Configuraciones
(SCM: Software
Configuration
Management)
Plan General de
Garanta de Calidad
aplicable al
desarrollo de
equipos lgicos
Interfaz de Calidad
de Mtrica 3
Plan de Gestin de
Configuraciones (en
proyecto)
Interfaz de Gestin
de la Configuracin
de Mtrica 3
Introduccin: INT-17
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Mtrica Versin 3
Gnesis de Mtrica
Ministerio para las Administraciones Pblicas
Otros Ministerios
Empresa Consultora (Coopers & Lybrand)
Origen de Mtrica
Mtodos
" de
autor"
Mtodos
" Nacionales"
Mtodos
" Internacionales

MERISE
DeMarco/
Yourdon,
Chen,
Jackson
SSADM (V4)
Euromtodo

METRICA (V2) METRICA (V3)

Estndares
ISO 12.207, IEEE
Std. 1074, ...
Introduccin: INT-18
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Objetivos
Abierta: apta para Administracin y empresas privadas
Formal: establece pasos necesarios
Orientada a obtener productos de calidad: nfasis en
revisiones formales
Flexible: adaptable a distintos proyectos, entornos,
complejidades y ciclos de vida
Sencilla: prctica y de fcil uso
Introduccin: INT-19
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Organizacin de la metodologa
(http://www.map.es/csi)
Estructura Principal
Interfaces
Tcnicas
Participantes
Herramientas de Apoyo
AUTOFORMACIN
SELECTOR (Seleccin de Herramientas: Seleccin
de productos software del mercado)
GESMET (Gestor Metodolgico: Adaptacin de
Mtrica 3 a proyectos concretos)
Introduccin: INT-20
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Estructura Principal
Objetivo
Definir la estructura del proyecto: Ciclo de vida
Procesos
Actividades
Tareas
Basada en un enfoque orientado a proceso
Distingue entre Procesos Principales (Planificacin,
Desarrollo y Mantenimiento) y Procesos de Interfaz
(Calidad, Seguridad, Gestin y Configuracin)
Basada principalmente en el ciclo de vida secuencial o de
cascada ( waterfall )
Como consecuencia de cada fase, se indican los
PRODUCTOS a conseguir:
Documentos
Cdigo
Introduccin: INT-21
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Procesos Principales
Planificacin de Sistemas de Informacin (PSI)
Desarrollo de Sistemas de Informacin
Estudio de Viabilidad del Sistema (EVS)
Anlisis del Sistema de Informacin (ASI)
Diseo del Sistema de Informacin (DSI)
Construccin del Sistema de Informacin (CSI)
Implantacin y Aceptacin del Sistema (IAS)
Mantenimiento de Sistemas de Informacin (MSI)
Planificacin Desarrollo Mantenimiento
Anlisis Diseo Construccin
e
Implantacin
EVS
Estudio de
Viabilidad del
Sistema de
Informacin
CSI
Construccin
del Sistema
de
Informacin
PSI
Planificacin
de Sistemas
de
Informacin
ASI
Anlisis del
Sistema de
Informacin
DSI
Diseo del
Sistema de
Informacin
IAS
Implantacin
y Aceptacin
del Sistema
de
Informacin
MSI
Mantenimiento
del Sistema de
Informacin
Introduccin: INT-22
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Interfaces
Definen un conjunto de actividades de tipo organizativo o
de soporte al proceso de desarrollo y/o productos
Gestin de Proyectos (GP): planificacin, seguimiento y
control de actividades y recursos humanos y materiales
Seguridad (SG): anlisis de riesgos lgicos
Gestin de la Configuracin (GC): definir y controlar los
cambios en la configuracin del sistema, modificaciones
y versiones.
Aseguramiento de la Calidad (CAL): marco de referencia
para la definicin y puesta en marcha de planes de
aseguramiento de la calidad.
Introduccin: INT-23
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Tcnicas y Prcticas
Tcnicas
Heursticas y procedimientos con notaciones especficas
(sintaxis y semntica), apoyados en estndares (p.e.,
modelo entidad/relacin)
Prcticas
Procedimientos y notaciones con menor rigidez (p.e.,
realizacin de entrevistas)
Diferentes tcnicas, la mayor parte de ellas con el objetivo
de crear un modelo (parcial) del sistema
Qu es un modelo?
Una forma de representar un sistema (norma IEEE)
Ejemplo en Arquitectura
Un mismo objeto puede representarse de acuerdo con tres
vistas diferentes
A l za d o
P l a n ta
P e r f i l
Introduccin: INT-24
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Para Sistemas Informticos
Tpicamente tres modelos (tres vistas diferentes del
mismo sistema)
Al menos dos son necesarios
Modelo Objetivo Tcnicas
Modelo
Funcional
(dinmico)
Lo que hace Diagramas de
Flujo de datos
(DFD)
Casos de Uso
(CU)
Modelo de datos
Retenidos
(esttico)
Lo que recuerda Diagramas
Entidad-Relacin
(ERD)
Modelo de
transicin de
estados
(evolutivo)
Los diferentes
estados que
caracterizan al
sistema
Diagramas de
transicin de
estados (STD)
Introduccin: INT-25
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Tcnicas ms relevantes utilizadas en
Mtrica 3 (Estructurado)
Objetivo Tcnica
Modelo
funcional
Diagramas
de Flujo de
Datos
Diagrama de
Casos de
Uso
DFD
DCU
Data Flow
Diagram
DFD
Modelo de
datos
Diagrama de
Estructura
lgica de
Datos
DED Logical Data
Structure
LDS
Modelo de
transicin de
estados
Diagramas
de
Transicin
de Estados
DTE State
Transition
Diagrams
STD
Diseo Diagramas
de
estructura
de cuadros
DEC Structure
Diagrams
SD
Pruebas Testing
Introduccin: INT-26
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Participantes
Definicin de perfiles de los participantes en los procesos
principales de la metodologa
Coinciden con los definidos en la herramienta
AUTOFORMACIN
Perfiles establecidos:
Directivo
Jefe de Proyecto
Consultor
Analista
Programador
Introduccin: INT-27
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Organizacin de la
documentacin
EP T
Introduccin INT
Diagramas de Flujo de
Datos
DFD X
Diagramas de Casos de Uso DCU X
Diagramas de Estructura
Lgica de Datos
DED X
Diagramas de Transicin de
Estados
DTE X
Historia de la Vida de las
Entidades
HVE X
Estudio de Viabilidad del
Sistema
EVS X
Anlisis del Sistema de
Informacin
ASI X
Diseo DIS X
Diseo del Sistema de
Informacin
DSI X
Pruebas PRU X
EP: Mtrica-3: Estructura Principal
T: Mtrica-3: Tcnicas
Introduccin: INT-28
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Mtrica 3 vs. Mtrica 2
MTRICA 3 MTRICA 2
Procesos Fases
Mdulos
Estructura
Metodologa
Actividades
Tareas
Actividades
Tareas
Planificacin PSI PSI
EVS ARS
ASI
EFS
DSI DTS
DCS CSI
DPU
Desarrollo
IAS PIA
Mantenimiento MSI
Aportaciones Mtrica 3
Compatibilidad con los ltimos estndares en Calidad e
Ingeniera del Software
Interfaz con Procesos de Gestin y Control
Cubre desarrollos estructurados y orientados a objeto
Ampliacin para tecnologas Cliente/Servidor e
Interfaces de Usuario Grficas
Tcnicas soportadas por varias herramientas CASE
Introduccin: INT-29
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
Bibliografa
" Metodologa de Planificacin, Desarrollo y
Mantenimiento de Sistemas de Informacin, MTRICA 3" ,
Ministerio para las Administraciones Pblicas (MAP),
2001. (Accesible desde
http://www.map.es/csi/metrica3/index.html)
" Plan General de Calidad Aplicable al Desarrollo de
Equipos Lgicos" , Ministerio para las Administraciones
Pblicas (MAP), 1992
Ingeniera del Software: Un enfoque Prctico, Quinta
Edicin , R.S. Pressman. McGraw-Hill, 2002
Ingeniera del Software, Sexta Edicin , I. Sommerville.
Addison-Wesley, 2002
" Anlisis y diseo detallado de aplicaciones
informticas de gestin " , M.G. Piattini y otros, Ra-Ma
1996
" Ingeniera del Software de Gestin: Anlisis y Diseo de
Aplicaciones" , A. de Amescua y otros. Paraninfo, 1995
Utilizacin de UML en Ingeniera del Software con
Objetos y Componentes , P. Stevens, R. Pooley.
Addison-Wesley, 2002.
El Lenguaje Unificado de Modelado , G. Booch, J.
Rumbaugh, I. Jacobson, Addison-Wesley, 2002.
" Structured Analysis and System Specification" , T.
DeMarco. Yourdon Press, 1979
" Modern Structured Analysis" , E. Yourdon. Prentice-Hall,
1989
" IEEE Software Engineering Standards Collection" ,
Institute of Electrical and Electronic Engineers. IEEE
Computer Society, 1994
Introduccin: INT-30
ISOFT, (C) Laboratorio de Comunicaciones e Ingeniera del Software (2002)
IEEE Transactions on Software Engineering . Revista
de Institute of Electrical and Electronic Enginners, IEEE
Computer Society.
ACM Transactions on Software Engineering and
Methodology . Revista de Association for Computing
Machinery.
" Novtica" . Revista de la Asociacin de Tcnicos de
Informtica (ATI)
The NATO Software Engineering Conferences 1968,
1969. (Accesible desde:
http://www.cs.ncl.ac.uk/old/people/brian.randell/home.for
mal/NATO/)