You are on page 1of 0

Anlisis de aplicaciones de gestin TEMA 1

1

TEMA 1

INGENIERA DEL SOFTWARE ESTRUCTURADA

1.1. DEFINICIONES BSICAS
1.1.1. SOFTWARE
1.1.1.1. CARACTERSTICAS DEL SOFTWARE
1.1.1.2. ATRIBUTOS DE CALIDAD DEL SOFTWARE
1.1.1.3. PROBLEMTICA ACTUAL DEL SOFTWARE
1.1.1.4. MITOS EN EL DESARROLLLO DE SOFTWARE
1.1.2. APLICACIN INFORMATICA
1.1.3. SISTEMA DE INFORMACIN
1.1.3.1 ESTRUCTURA DE UN SI
1.1.3.2 TIPOS DE SISTEMAS DE INFORMACIN AUTOMATIZADOS
1.2. INGENIERIA DEL SOFTWARE
1.2.1 PRINCIPIOS DE LA INGENIERIA DEL SOFTWARE
1.3. HISTORIA DE LA INGENIERIA DEL SOFTWARE
1.3.1. LA CRISIS DEL SOFTWARE
1.4. INGENIERIA DEL SOFTWARE ESTRUCTURADA
1.5 PROCESO SOFTWARE
1.6 METODOLOGAS DE INGENIERIA DEL SOFTWARE
1.6.1. CONCEPTO DE METODOLOGA
1.6.2. OBJETIVOS DE UNA METODOLOGA
1.6.3. PROPIEDADES DE UNA METODOLOGA
1.6.4. EJEMPLOS DE METODOLOGAS
1.6.5 METODOS ESTRUCTURADOS
1.6.6 LAS METODOLOGAS Y LA MEJORA DEL PROCESO SOFTWARE
Anlisis de aplicaciones de gestin TEMA 1

2

1.1 DEFINICIONES

1.1.1 SOFTWARE

Tiene 3 significados posibles (IEEE Computer Dictionary):
1) Instrucciones de ordenador que cuando se ejecutan proporcionan la funcin
y el comportamiento deseado. (esta es la definicin de programa o
aplicacin informtica)
2) Estructuras de datos

que facilitan a los programas manipular
adecuadamente la informacin (una base de datos, una tabla)
3) Documentos que describen la operacin y el uso de los programas
1.1.1.1 Caractersticas del software

Elemento lgico, no fsico.

Desarrollado, no fabricado.

No se estropea, se deteriora! (deterioro por cambios)

Mayoritariamente cerrado: usar todo o nada (poco ensamblaje de
componentes: reutilizacin--)
1.1.1.2 Atributos de calidad del software

Fiable: Capacidad de ofrecer los mismos resultados bajo las mismas
condiciones.

Eficiente: Utilizacin ptima de los recursos de la mquina.

Robusto: No poseer un comportamiento catastrfico ante situaciones
excepcionales (Tolerante a fallos).

Correcto: Se ajusta a las especificaciones dadas por el usuario.

Portable: Capaz de integrarse en entornos distintos con el mismo
esfuerzo.

Adaptable (extensibilidad):Modificar alguna funcin sin que afecte a sus
actividades.

Inteligible: Diseo claro, bien estructurado y documentado.

No Errneo: No exista diferencia entre los valores reales y los
calculados

Reutilizable (reusabilidad)
1.1.1.3. Problemtica actual del software:

Incapacidad para estimar tiempo, coste y esfuerzo para el desarrollo de
un producto software.

Falta de calidad del producto software.

Avance del hardware y necesidad de aplicaciones ms complejas.

Cambio en la relacin entre el coste hardware/software.
Algunas preguntas:

Porqu lleva tanto tiempo terminar los programas?

Porqu es tan elevado su coste?

Porqu no podemos encontrar todos los errores antes de entregar el
software a nuestros clientes?

Porqu nos resulta difcil constatar el progreso conforme se desarrolla
el sw.?
Anlisis de aplicaciones de gestin TEMA 1

3

Algunas causas:

Naturaleza no fsica de la programacin.

Problemas derivados de la intervencin de grupos.

Problemas de comunicacin con los clientes.

Poco esfuerzo en el anlisis y el diseo.

Herramientas comerciales poco adecuadas.

Problemas de gestin

Planificaciones optimistas, plantillas poco cualificadas...

Difusin limitada de las nuevas tcnicas, mtodos y
herramientas....industria pendiente de su revolucin industrial.

Existencia de una serie de mitos.
1.1.1.4. Mitos en el desarrollo de software:

Mitos del SW. El gestor

Ya hay estndares y procedimientos. No tiene ya bastante el equipo?

Tenemos las herramientas de desarrollo ms avanzadas porque
compramos los ordenadores ms modernos.

Si fallamos en la planificacin, aadimos ms gente
Mitos del SW. El cliente

Una declaracin inicial de objetivos es suficiente para empezar a
escribir programas. Ya detallaremos ms adelante.

Los requisitos del proyecto cambian continuamente, pero los cambios
pueden acomodarse fcilmente porque el software es flexible.

La labor del desarrollador consiste NICAMENTE en escribir lneas de
cdigo fuente.
Mitos del SW. El desarrollador

Una vez que escribimos el programa y hacemos que funcione, se acab
el trabajo.

No podemos comprobar la calidad hasta que se ejecute el programa.

Lo que se entrega al terminar el proyecto es el programa funcionando
1.1.2 APLICACIN INFORMTICA

Una aplicacin es un conjunto de programas (1 o ms programas). Es sinnimo de
software segn la primera acepcin de este trmino.
1.1.3 SISTEMA DE INFORMACIN

SISTEMA: Conjunto de cosas que ordenadamente relacionadas entre si
contribuyen a un determinado objetivo (Diccionario de la Lengua Espaola).

INFORMACIN: Datos procesados de tal manera que resultan tiles o
significativos para el receptor de los mismos (son la materia prima para
obtener informacin).

DATO: Registro de un hecho, acontecimiento, transaccin, etc.
Anlisis de aplicaciones de gestin TEMA 1

4

SISTEMA DE INFORMACIN:

Conjunto de procesos que, operando sobre una
coleccin de datos (ficheros, BD...) recopilan, elaboran y distribuyen la
informacin necesaria para las operaciones o trabajo de una organizacin
(empresa, ministerio,...)

SISTEMA DE INFORMACIN AUTOMATIZADO: Sistema de Informacin con
procesos informatizados mediante SW (programas y datos normalmente BD o
ficheros-) y con un HW (sobre el que funciona el software).

Un SI no necesita, para existir, estar obligatoriamente basado en el uso de
ordenadores. El SI existe siempre, est mecanizado o no.

La aplicacin del ordenador a los SI produce los sistemas de informacin
basados en computadora o Sistemas de Informacin Automatizados
(SIA).

Un Sistema de Informacin automatizado se compone de Software
(aplicaciones + Datos) + Hardware. Por tanto la Ingeniera del software tambin
se aplica en el desarrollo de Sistemas de Informacin.

El SI empresarial es el sistema encargado de coordinar los flujos y registros
de informacin necesarios para llevar a cabo las funciones de una empresa de
acuerdo con su planteamiento o estrategia de negocio (Andreu 96)( La
estrategia de negocio es fundamental)

Elementos de un sistema:
o Los componentes del sistema.
o Las relaciones entre ellos, que determinan la estructura del sistema.
o El objetivo del sistema.
o El entorno del sistema: aquello que lo rodea, dentro del cual est
ubicado.
o Los lmites del sistema: la frontera entre lo que es el sistema y lo que
constituye el entorno.
Algunas funciones que hay que desarrollar en la empresa:

Controlar y gestionar el empleo de los recursos financieros, del dinero, a travs
de la funcin (o sistema) contable y de gestin econmica.

Comercializar de manera ptima los productos o servicios en los que la
empresa basa su negocio: la actividad comercial y de ventas.

Fabricar productos o crear servicios que vender en el mercado: se trata de la
funcin o departamento de produccin.
Anlisis de aplicaciones de gestin TEMA 1

5

1.1.3.1 Estructura de un Sistema de Informacin:

Sistema de transacciones:

Este nivel incluye el procesamiento de las actividades diarias o transacciones, los
acontecimientos rutinarios que afectan a la organizacin: facturacin, pagos, entrega
de productos, etc cuyas caractersticas son:

Los procedimientos de tratamiento se comprenden bien y se pueden describir
en detalle.

Aparecen pocas excepciones a los procedimientos normales.

Hay un gran volumen de transacciones.

Existe una gran similitud entre transacciones
Direccin operativa:

Se preocupa del anlisis de los resultados, esencialmente respecto de los recursos
consumidos en las transacciones, para tomar decisiones a corto plazo y de
consecuencias limitadas (reaprovisionamiento de materiales, ordenacin de la
produccin)
Se trabaja con informacin del tipo:

Repetitiva (informes peridicos de ventas, pagos, etc.)

Centrada en el pasado (resultados histricos).

Con datos originados internamente.

Los datos cuentan con un formato bien estructurado.

Los datos son detallados y precisos.
INF. RESUMIDA Y
ABSTRACTA, DE
MBITO MS
GENERAL
INFORMACIN
DETALLADA Y
ESPECFICA
C
O
M
P
R
I
M
I
R
Y
R
E
S
U
M
I
R
Alta direccin
Sistema de transacciones
Direccin operativa
Direccin tctica
Estratgica
LARGO PLAZO
>3-5 AOS
D
p
t
o
.

C
o
m
e
r
c
i
a
l D
p
t
o
.

F
i
n
a
n
z
a
s
O
R
D
E
N
E
S
,

P
L
A
N
E
S
,

E
T
C
.
I
N
F
O
R
M
E
S
H
I
S
T

R
I
C
O
S

Anlisis de aplicaciones de gestin TEMA 1

6

Direccin tctica:

Se ocupa de la asignacin efectiva de los recursos a medio plazo para mejorar el
rendimiento de la empresa.
Se basa en anlisis de informes:

Resmenes con medidas estadsticas.

De excepciones.

Especficos, que no se han pedido antes, y que los directivos necesitan con
rapidez para resolver un problema muy concreto
Direccin estratgica:

Trabaja con plazos largos para acometer la difcil tarea de decidir las lneas maestras
que debe seguir la empresa en el futuro.

La informacin debe aparecer en formato muy resumido.

La informacin se encuentra en formatos muy variables y de fuentes externas
ms inesperadas.

Las decisiones estn poco formalizadas y tienen un fuerte componente
subjetivo.
1.1.3.3 Tipos de sistemas de informacin automatizados:

OIS, Operating information system.

OIS, Sistema de Procesamiento de Transacciones.

Es la parte del SI dedicada al procesamiento de las operaciones rutinarias
diarias (transacciones)

Grandes volmenes de actividades repetitivas

Datos muy estructurados

Tratamientos simples y claros
MIS (Management Information System)

MIS, SI para la direccin.

Pertenece a los niveles operativo, tctico y estratgico de direccin.

Ms ligado con el nivel tctico.

Debe proporcionar a los directivos la informacin y ayuda necesaria para tomar
decisiones, normalmente de control administrativo.

Proporciona soporte a los directivos en las tareas estructuradas, realizadas
regularmente, con procesos bien definidos y sabiendo a priori qu informacin
se necesita.
DSS, Decisin support system.

DSS, Sistema de Apoyo a la Decisin.

DSS: sistema informtico interactivo, que ayuda al usuario en la toma de
decisiones, utilizando modelos para resolver problemas no estructurados.
Anlisis de aplicaciones de gestin TEMA 1

7

La parte del SI que ofrece soporte a las decisiones poco estructuradas, en las
que no existen mtodos claros para cmo tomarlas, ni se conocen los factores
que hay que considerar.

Orientado generalmente a la alta direccin y a facilitar las decisiones
estratgicas.

Planificacin, anlisis de alternativas, ensayo y error para la bsqueda de
soluciones.
EIS (Executive Information System o Sistema de informacin ejecutiva):

Anlogo al DSS pero dedicado a personal de alto nivel.
1. 2 INGENIERA DEL SOFTWARE

Definicin: Aplicacin de un enfoque sistemtico, disciplinado y cuantificable
hacia el desarrollo, operacin y mantenimiento del SW (IEEE Computer
Dictionary).

Por IS tambin se puede entender el conjunto de procesos para el desarrollo
de productos software segn un enfoque ingenieril, considerando, adems de
la programacin, otras actividades previas de anlisis y diseo. Si se ignoran
este tipo de actividades, en lugar de ingeniera del software se est realizando
artesana del software.

El objetivo de la IS es facilitar el mantenimiento del SW y aumentar la calidad
de ste.
1.2.1 Principios de la Ingeniara del software

Abstraccin: Permite parcelar la complejidad. Por ello se olvidan
aspectos irrelevantes del sistema y se potencian los fundamentales.

Encapsulamiento u Ocultacin de la informacin: Esconder todos
los detalles que no afecten a otros mdulos, definiendo interfaces
estrictos que sirvan de interaccin entre los distintos modelos.

Modularidad: Sirve para parcelar la solucin en mdulos
independientes con fuerte cohesin interna.

Localizacin: Deben estar agrupados todos aquellos elementos que
estn afectados por un mismo hecho.

Uniformidad: Todos los mdulos deben tener una notacin similar.

Completitud: Deben estar desarrollados todos los aspectos del
sistema.

Validacin y Verificabilidad: El producto final debe ser fcilmente
validable y verificable:Estamos desarrollando el programa
correcto?Estamos desarrollando correctamente el programa?
1.3 HISTORIA DE LA IS

Aos: Principios 50s Finales 60s

1 poca: prehistoria de la IS, el
concepto todava no definido.
o Programas simples
o SW no portable (el programa funciona slo en una mquina)
o Desarrollo unipersonal (1 programador por programa)
o Nula documentacin
Anlisis de aplicaciones de gestin TEMA 1

8

o Poca movilidad laboral

Aos: Finales 60s Mediados 70s

2 poca. Crisis del SW
o Programas complejos
o Programacin estructurada
o Bases de Datos
o SW como producto comercial (empresas de SW)
o Mantenimiento del SW se dispara (efecto iceberg: adems del esfuerzo
de desarrollo, existe un mayor esfuerzo oculto correspondiente al
futuro mantenimiento del sistema.
o Ao 1968

Fritz Bauer (OTAN): define el concepto Ingeniera del
Software: establecimiento y uso de principios robustos de la
ingeniera, a fin de obtener econmicamente, SW que sea fiable y que
funcione eficientemente sobre mquinas reales

Aos: Mediados 70s Principios 90s

3 Epoca
o Bajo coste HW
o Ingeniera del SW Estructurada
o Tcnicas de Anlisis (1978) y Diseo (1975) Estructurado
o Primeras metodologas de Ingeniera del software: MERISE (1978:
patrocinada por el gobierno de Francia), SSADM (1981: patrocinada por
el gobierno britnico), MTRICA (1989: patrocinada por el gobierno
espaol).
o Herramientas CASE bsicas

Aos: Principios 90s - ACTUALIDAD. 4 Epoca

o Aplicacin real de la Ingeniera del software
o Herramientas CASE integradas
o Ingeniera del software orientada a objetos
o La Ingeniera del software como disciplina cientfica
Segn ACM (Association for Computing Machinery) y IEEE Computer
Society, , el cuerpo de conocimientos de la ingeniera del software est
formado por las siguientes materias:
- Anlisis de requisitos del software
- Diseo de software
- Construccin de software
- Pruebas del software
- Mantenimiento del software
- Gestin de configuracin del software
- Anlisis de la calidad del software
- Gestin de la ingeniera del software
- Infraestructura de la Ingeniera del software (CASE)
- Proceso de ingeniera del software (ciclos de vida, metodologas)
1.3.1. CRISIS DEL SW

Situacin que se manifiesta durante las dcadas de los 60s y 70s, y que se
caracteriza por los siguientes hechos:

La planificacin y estimacin de costes es imprecisa (despus surgirn tcnicas)

La productividad de los programadores es baja:
Anlisis de aplicaciones de gestin TEMA 1

9

+ tiempo
+ coste
- productividad
- beneficio
Especificaciones ambiguas o incorrectas

Mantenimiento complejo: especialmente por la falta de documentacin

Mala calidad del SW pocas pruebas Errores

Todo ello origina la insatisfaccin de los usuarios del SW

Solucin: Ingeniera del software (se aplica durante los 80s).
Situacin actual de la ingeniera del software:

Fragmentacin e inmadurez de la disciplina.

Carencia de un conjunto de estndares (que se usen ampliamente).

Terminologa inconsistente.

Escepticismo e inercia en el sector.

Insuficiencia de datos - gua (estadsticas).

Carencia y poca difusin de base formal.
1.4 INGENIERIA DEL SOFTWARE ESTRUCTURADA

(Tambin denominada clsica Ingeniera del software orientada a funciones)

Es la aplicada desde principios de los aos 70.

Se basa en la idea de que un sistema software se compone de funciones que
procesan datos. (existen unas funciones generales y otras funciones especficas
en las que se descomponen las primeras).

La IS estructurada considera que el desarrollo de software ha de hacerse de forma
descendente (top-down: desde una visin general cercana al usuario, hasta un
nivel de abstraccin mas detallado, cercano al programador), proponiendo la
creacin de modelos del sistema que representen de manera descendiente los
siguientes aspectos:
- Las funciones (tambien llamadas procesos) llevadas a cabo por el sistema
- Los flujos de datos de entrada, salida e internos de cada funcin del sistema
- La estructura de los datos procesados por las funciones del sistema.

TCNICAS DE LA I.S. ESTRUCTURADA:

- TCNICAS DE ANLISIS ESTRUCTURADO:

Diagrama de Flujo de Datos

Diagrama de Entidad Relacin

Diagrama de historia de la vida de una entidad

Matriz de funciones-entidades
- TCNICAS DE DISEO ESTRUCTURADO:

Diagrama de Estructura Modular (o de Constantine)

Diagrama de Mdulos (o de Jackson)

Diagrama de Estructura Lgica de un programa (o de Warnier

Diagrama de rbol Programtico (o de Bertini)

Diagrama de estructura de datos

Diagrama de tablas (de una Base de Datos)

Diagrama de flujo de control (flowchart, organigrama, ordinograma)
Anlisis de aplicaciones de gestin TEMA 1

10

Pseudocdigo
- TCNICAS DE PROGRAMACIN ESTRUCTURADA

Estructuras de control (secuencia, decisin (if), repeticin (loop, for, while,
repeat,..)

Subprogramas (Que permiten un tipo de programacin estructurada
conocida como programacin modular (un tipo de programacin
estructurada con una estructura conocida como subprograma)

Lenguajes de programacin estructurada: COBOL, FORTRAN, C, PASCAL,
NATURAL, PL/SL(Oracle).
1.5 PROCESO SOFTWARE

Segn Sommerville: el proceso software es el conjunto de actividades que conducen
a la creacin de un producto software.
Segn Pressman: se define el proceso software como el marco de trabajo de las
actividades y tareas que se requieren para construir un software de alta calidad.

Proceso: Conjunto de causas que producen resultados. Secuencia de pasos que
se realizan con un propsito establecido.

Proceso software: Secuencia de pasos necesaria para desarrollar o mantener
software.

PROCESO SOFTWARE DEFINIDO: Proceso que cualquiera puede comunicar
acerca de cmo avanzar en un proyecto de software. La definicin del proceso
(que ha de estar documentada) es la que gua a los ingenieros de software sobre
la manera de trabajar (G.Cuevas, Gestin del proceso software, Ed. Centro
Estudios Ramn Areces, 2002).

Situacin del proceso software en el contexto de la organizacin de desarrollo:
o CALIDAD: Debe existir una cultura continua de mejoras de procesos.
o PROCESO: define un marco de trabajo para un conjunto de reas clave de
proceso
o MTODOS: Indican cmo construir tcnicamente el software
o HERRAMIENTAS: Proporcionan un soporte para el proceso y los mtodos

Un proceso se descompone en otros procesos, que son subprocesos de aquel. En
algunos casos los subprocesos de un proceso se denominan actividades, tareas,
acciones, pasos, etc.
Existen un conjunto de actividades genricas comunes para todos los procesos de
software independientes del tamao o la complejidad del proyecto. Estas actividades
son:

Planificacin (plan de sistemas o especificacin inicial)

Desarrollo

Mantenimiento
Algunas de las actividades del proceso de desarrollo son:

Definicin de requisitos

El contexto del problema a resolver (limitaciones)

Las funcionalidades que se espera que resuelva el sistema

Las restricciones o condiciones de uso
Anlisis de aplicaciones de gestin TEMA 1

11

Especificacin de requerimientos

El analista estudia los requisitos y elabora los requerimientos

Definen la conducta externa del sistema, no especifica su funcionamiento
interno.

Los requerimientos deben concordar con los requisitos

Establecen el punto de partida para el diseo

Diseo

Estructuras de datos a implementar.

Arquitectura del software.

Representacin del interfaz.

Determinacin de los algoritmos.

Se definen los cuadernos de carga (documentacin propia de esta fase).

Construccin

Se codifica cada unidad y se realizan pruebas individuales.

Generamos el programa y los datos de las pruebas (valor esperado valor

real).

Pruebas

Se est construyendo el producto correcto?

Se est construyendo correctamente el producto?

Pruebas de integracin: agrupamos las unidades construidas en mdulos
mayores (programas, cadenas o transiciones).

Pruebas de aceptacin: son realizadas por el usuario con objeto de
comprobar si el producto satisface sus requisitos.

Pruebas del sistema: comprobacin del sistema completo, midiendo
tiempos, resistencia, etc. El sistema completo lo forman el software y el
hardware.

Implantacin

Se imparte la formacin necesaria.

Se genera el manual de usuario y el manual de explotacin (para el
operador del sistema).
1.6. METODOLOGAS DE INGENIERA DEL SOFTWARE

Tambin llamadas metodologas de desarrollo de SW
1.6.1. CONCEPTO DE METODOLOGA

Metodologa=Conjunto de mtodos. Mtodo=Modo de hacer con orden
(DRAE, 2001).
- Una metodologa es una forma explcita de estructurar el pensamiento y
las acciones.
- Una metodologa debe sealar qu pasos tomar y cmo llevarlos a
cabo.

Conjunto de filosofas, fases, procedimientos, reglas, tcnicas, herramientas,
documentacin y aspectos de formacin para los desarrolladores del software.
Una metodologa representa el camino para desarrollar software de una
manera sistemtica. (Maddison, 1983).
Anlisis de aplicaciones de gestin TEMA 1

12

Conjunto integrado de tcnicas y mtodos que permiten obtener la forma
homognea y abierta, cada una de las actividades del ciclo de vida del SW
(Hilera et al., Metodologa de desarrollo de Sistemas de Informacin, UAH,
1996)
- Mtodo. Actividades llevadas a cabo para conseguir un objetivo.
Ejemplo: mtodo de anlisis, de diseo,...
- Integrado. Significa que las tcnicas se utilizan como parte de los
mtodos.
- Tcnicas. Utilizadas en la aplicacin de un mtodo.
- Homognea. Sistemtica, que se utilice en todos los proyectos de una
organizacin. No debera definirse una nueva metodologa para cada
proyecto.
- Abierta. A cambios y adaptacin segn el proyecto que se va a llevar a
cabo.

Conjunto de procedimientos, tcnicas, herramientas y un soporte documental
que ayuda a los desarrolladores a realizar nuevo software (Piattini, Anlisis y
diseo detallado de aplicaciones de gestin, RA-MA, 1995).
- Tareas: actividades elementales en que se dividen los procesos.
- Procedimiento: definicin de la forma de ejecutar una tarea.
- Tcnica: Herramienta(s) utilizada(s) para aplicar un procedimiento.
- Herramienta: Herramienta software que automatizan la aplicacin de
una tcnica.
- Producto: resultado de cada etapa.

Otra forma de definir la metodologa: Una metodologa de ingeniera del SW,
debe establecer.....:
- Cmo dividir un proyecto en etapas
- Qu trabajos se llevan a cabo en cada etapa.
- Que salida se produce en cada etapa, y cuando se debe producir. Las
salidas normalmente son documentos y productos SW.
- Qu tcnicas y herramientas se van a utilizar en cada etapa.
Normalmente se utilizan tcnicas estndar
- Qu restricciones se aplican (de tiempo, coste, objetivos, etc.)
- Cmo se gestiona y controla un proyecto
METODOLOGA VS CICLO DE VIDA: Una metodologa puede seguir uno o varios
modelos de ciclo de vida. El ciclo de vida indica lo que hay que obtener a lo largo del
ciclo de desarrollo, mientras que la metodologa indica como hay que obtener los
distintos productos parciales y finales.
1.6.2. OBJETIVOS DE UNA METODOLOGA

General. Concebir el desarrollo del SW como un proyecto de ingeniera del
SW.

Especficos.
- Mejorar la calidad del SW, al estar mas controlado el desarrollo del SW.
- Facilitar el control de los proyectos. Es ms fcil controlar el progreso de un
proyecto si se sigue un mtodo sistemtico.
- Facilitar la comunicacin y entendimiento entre los participantes
- Mejora de la productividad de la organizacin de SW. Las razones son:

Una mayor capacidad de adaptacin a cambios a realizar sobre
el SW.
Anlisis de aplicaciones de gestin TEMA 1

13

Facilidad de reutilizacin de productos y de personas si se utiliza
en todos los proyectos la misma metodologa.

Se consiguen tiempos de desarrollo y costes aceptables
- Facilitar el mantenimiento del SW, gracias a la documentacin.
- Conseguir satisfacer a todas las personas afectadas por el SW (usuarios,
clientes, directivos, auditores).
1.6.3. PROPIEDADES DE UNA METODOLOGA

1) Existencia de Reglas Predefinidas, que definan las fases de un proyecto,
productos a generar, tcnicas y herramientas a utilizar, formato de documentos
a elaborar, etc.
2) Cobertura total del ciclo de vida del SW. Debera definir no solo actividades
puramente de desarrollo, sino tambin de gestin, control de calidad, etc.
Debera adaptarse a estndares de ciclo de vida del software como ISO 12207.
3) Definicin de verificaciones intermedias
4) Facilidades de planificacin y control de los proyectos (para que no se
disparen los costes ni plazos).
5) Una metodologa debe poder adaptarse a diferentes tipos de proyectos
(adaptable segn variedad, tamao y entorno)
6) Proporcionar un medio de Comunicacin Efectiva. Mecanismo que facilite la
comunicacin entre los diferentes integrantes del proyecto.
7) Fcil Formacin. Que sea fcil de ensear a los participantes en los
proyectos.
8) Soportadas por herramientas CASE
9) Definicin de Mtricas de calidad y coste asociadas a cada etapa.
10) Soporte al mantenimiento y reutilizacin del SW. Hay metodologas de
reingeniera del SW, tambin hay metodologas de reutilizacin de
componentes orientados a objetos.
1.6.4. EJEMPLOS DE METODOLOGAS

Hay 2 tipos:

Metodologas oficiales, que estn patrocinadas por gobiernos.

Mtrica 3 (Espaa)

Merise (Francia)

SSADM (UK)

Metodologas no Oficiales. Las definen las universidades, las
empresas, expertos.. Ejemplos:

YOURDON (USA)

UNIFIED PROCESS (Roumbaugh, Booch, Jacobson)

MTRICA

Versiones: 1.0 (1989), 2.0 (1993), 2.1 (1995), 3.0 (2001)

Tiene un ciclo de vida en cascada.

Est compuesto por 7 Procesos Principales o de desarrollo:

Planificacin

Estudio de viabilidad

Anlisis

Diseo

Construccin

Implementacin
Anlisis de aplicaciones de gestin TEMA 1

14

Mantenimiento

1 proceso de gestin

1 proceso de calidad

1 proceso de seguridad

1 proceso de gestin de configuracin

La versin 3 se puede aplicar en proyectos de:

Ingeniera del software estructurada

Ingeniera del software orientada a objetos
MERISE

Las bases son creadas por un grupo pequeo de estudiantes universitarios en 1976.
Incorpora una nueva fase de planificacin previa al desarrollo que
denomina esquema director.
Considera tres niveles de abstraccin:

Conceptual: define el qu .

Organizativo: define la organizacin que hay que implantar para
alcanzar los objetivos asignados al sistema.

Fsico: comprende los medios tcnicos necesarios para el proyecto
MERISE
ORIGEN: RACINES(1977) + MERISE(1979) = MERISE (1982)
MBITO: Francia, Blgica, Espaa, Suiza, Italia, Amrica del Norte y el Magreb.
Ciclo de vida::
ETAPA 1: ESQUEMA DIRECTOR
ETAPA 2: ESTUDIO PRELIMINAR
ETAPA 3: ESTUDIO DETALLADO
ETAPA 4: ESTUDIO TCNICO
ETAPA 5: REALIZACIN Y PUESTA EN MARCHA
ETAPA 6: MANTENIMIENTO
Tcnicas:
MODELO CONCEPTUAL DE DATOS (M.C.D.)
MODELO CONCEPTUAL DE TRATAMIENTOS (M.C.T.)
MODELO LGICO DE DATOS (M.L.D.)
MODELO ORGANIZATIVO DE TRATAMIENTOS (M.O.T.)
MODELO FSICO DE DATOS (M.F.D.)
MODELO OPERATIVO DE TRATAMIENTOS (M.Op.T.)
OTRAS: DIAGRAMA DE FLUJO DE DATOS (DFD)
MODELO CONCEPTUAL DE TRATAMIENTO ANALTICO (M.C.T.A.)
MODELO DE CICLO DE VIDA DE LOS OBJETOS (M.C.V.O.)
MODELO ORGANIZATIVO DE DATOS (M.O.D.)
MODELO ORGANIZATIVO DE TRATAMIENTOS ANALTICO (M.O.T.A.)
MODELO LGICO DE TRATAMIENTOS (M.L.T.)
MODELO LGICO DE TRATAMIENTOS REPARTIDO (M.L.T.R.)
MODELO LGICO DE DATOS REPARTIDO (M.L.D.R.)
SSADM

Nace a principios de los 80.

Hace nfasis en la participacin de usuarios.

Mxima flexibilidad en herramientas y tcnicas.
Considera tres fases:

Estudio de viabilidad.

Estudio completo:

Anlisis de requisitos.

Especificacin de requisitos.

Especificacin lgica del sistema.
Anlisis de aplicaciones de gestin TEMA 1

15

Desarrollo fsico.
SSADM(Structured Systems Analysis and Desing Method)
ORIGEN: versin 0 (1980), 3.0 (1988), 4.0 (1990)
MBITO: Gran Bretaa, Irlanda, Israel, Hong Kong, Malta.
Ciclo de vida::
ETAPA 0: ESTUDIO DE VIABILIDAD
ETAPA 1: INVESTIGACIN DEL SISTEMA ACTUAL
ETAPA 2: ESTUDIO DE OPCIONES DEL SISTEMA
ETAPA 3: DEFINICIN DE REQUERIMIENTOS
ETAPA 4: OPCIONES DEL SISTEMA TCNICO
ETAPA 5: DISEO LGICO
ETAPA 6: DISEO FSICO
Tcnicas:
MODELO/DIAGRAMA DE FLUJO DE DATOS (DFM)
ESTRUCTURA LGICA DE DATOS (LDS)
HISTORIA DE LA VIDA DE LAS ENTIDADES (ELH)
DISEO DE DILOGOS LGICOS DE PANTALLAS (LDD)
ANLISIS RELACIONAL DE DATOS (RDA)
DISEO LGICO COMPLETO DE DATOS (CLDD)
ESPECIFICACIN DE PROGRAMA (PS)
YOURDON
ORIGEN: versin 0 (1980), 3.0 (1988), 4.0 (1990)
MBITO: Compaas de Estados Unidos.
Ciclo de vida::
ETAPA 1: ESTUDIO DE VIABILIDAD
ETAPA 2: ANLISIS DEL SISTEMA
ETAPA 3: DISEO
ETAPA 4: IMPLEMENTACIN o PRODUCCIN
ETAPA 5: PRUEBAS Y TEST DEL SISTEMA
ETAPA 6: CONTROL DE CALIDAD
ETAPA 7: DOCUMENTACIN
ETAPA8: CONVERSIN DE LOS DATOS DEL SISTEMA ANTERIOR
ETAPA9: INSTALACIN
Tcnicas:
DIAGRAMA DE FLUJO DE DATOS (DFD)
DIAGRAMA DE TRANSICIN DE ESTADOS (STD)
MODELO ENTIDAD/RELACIN (ERD)
LENGUAJE DE DESCRIPCIN DE DICCIONARIO DE DATOS
DIAGRAMA DE ESTRUCTURA MODULAR (STC)

UNIFIED PROCESS

(Metodologa utilizada por la empresa Rational, 1999).

Autores: Rumbaugh, Booch y Jacobson (1999). Socios de Rational.

Para proyectos orientados a objetos

Fases:

Inicio
Anlisis de aplicaciones de gestin TEMA 1

16

Elaboracin

Construccin

Transicin

Es un ciclo de vida evolutivo, porque establece que se hagan versiones cada
vez mas refinadas de las clases de objetos.

Dentro de cada fase lo que establece son interacciones. Es un proceso
iterativo, a cada clase se le aaden progresivamente elementos y se van
combinando clases hasta obtener el software final.
1.6.5 METODOS ESTRUCTURADOS

Sus objetivos son:

Registrar de forma apropiada los requisitos de informacin

Proporcionar un mtodo sistemtico de desarrollo

Construir un S.I. en un tiempo apropiado y a costes aceptables

Construir un sistema documentado y fcil de mantener

Ayudar a identificar, lo ms pronto posible, cualquier cambio que sea posible
realizar dentro del proceso de desarrollo
Las caractersticas principales son:

Descomposicin funcional del sistema

Construccin de modelos de datos

Representacin del flujo de informacin

Transformacin de diagramas de flujo de datos en estructura modular de
programa
Con la evolucin de las tcnicas estructuradas se va pasando de la construccin de
programas de forma artesanal a una forma que sigue mtodos de ingeniera, sentando
las bases para un desarrollo automatizado. El enfoque estructurado permite solventar
los problemas que surgen en el desarrollo convencional
Los mtodos estructurados los podemos clasificar dependiendo del enfoque de la
metodologa, se puede establecer la siguiente clasificacin

Orientados a procesos

Orientados a datos
o Orientados a estructuras de datos jerrquicas
o Orientados a estructuras de datos no jerrquicas
Mtodos orientados a procesos: Mtodo descendente de descomposicin funcional
para definir los requisitos del sistema.
Mtodos orientados a datos jerrquicos: La estructura de control del programa debe
ser jerrquica y debe derivarse de la estructura de datos. El proceso de diseo
consiste en definir primero las estructuras de entrada y salida, para posteriormente
combinarlas con el fin de obtener la estructura del programa. Finalmente se ordena la
lgica procedimental para que se ajuste a esta estructura
Mtodos orientados a datos no jerrquicos: Los datos son la parte esencial del
sistema porque son ms estables que los procesos que actan sobre ellos.
Representacin de un modelo de datos de la organizacin formado por un conjunto de
Anlisis de aplicaciones de gestin TEMA 1

17

entidades de datos bsicas y las relaciones entre ellas. Los procesos derivan de una
definicin inicial de los datos
Los principales mtodos de desarrollo son:

Metodologas oficiales, que estn patrocinadas por gobiernos.

Mtrica 3 (Espaa)

Merise (Francia)

SSADM (UK)

Metodologas no Oficiales. Las definen las universidades, las
empresas, expertos.. Ejemplos:

Yourdon y Constantine

Gane&Sarson

De Marco
1.6.6 LAS METODOLOGAS Y LA MEJORA DEL PROCESO SOFTWARE

Uno de los elementos sumamente esenciales que determina la calidad de los
productos y la supervivencia de las empresas que viven del desarrollo de software es
el proceso para hacerlo. El proceso de desarrollo de software se define como el
conjunto de actividades, mtodos y prcticas utilizadas por un grupo humano para
desarrollar y mantener el software y sus productos asociados.
La mayora de las compaas no tienen siquiera definido un proceso, o mejor dicho,
tienen un proceso catico, similar al trabajo de los bomberos, viven apagando
incendios, mantienen el fuego bajo control, reaccionan constantemente, no hay tiempo
para mejorar y los bomberos se queman.
Por lo anterior las empresas, sin perder el enfoque hacia sus productos, deben
tambin direccionar buena parte del trabajo hacia la definicin, adecuacin y
mejoramiento continuo de sus procesos de desarrollo de software.
Uno de los trabajos ms importantes en el rea son los modelos de madurez de
capacidad diseados por el SEI (Software Engineering institute) asisten a
organizaciones desarrolladoras de software en el mejoramiento de sus capacidades,
en talento humano, procesos y tecnologa. Su objetivo es incrementar la productividad,
disminuir los tiempos de entrega y los costos, y asegurar la calidad.
Especficamente el modelo de madurez de capacidad para software CMM
(Capability Maturity Model) describe los principios y prcticas que soportan la
madurez del proceso de software. Su objetivo es ayudar a las organizaciones en el
mejoramiento de la madurez de sus procesos de software de tal forma que
evolucionen desde un proceso catico hacia un proceso maduro y disciplinado.
CMM est organizado en cinco niveles de madurez:
1. Inicial: el proceso de desarrollo de software es caracterizado como catico, no
existe un proceso definido y el xito depende de esfuerzos individuales.
2. Repetible: se tienen procesos de gestin bsicos de los proyectos en ejecucin, se
establecen costos, se realiza planeacin de actividades y se definen funciones. Se
tiene la capacidad para repetir el proceso en proyectos similares y as garantizar el
xito de ellos.
Anlisis de aplicaciones de gestin TEMA 1

18

3. Definido: se tiene un proceso de software estndar que integra las actividades de
gestin e ingeniera, el cual es aceptado por la organizacin y utilizado en todos sus
proyectos.
4. Gestionado: se obtienen medidas cuantitativas del proceso de software y de la
calidad de los productos.
5. Optimizado: se mejoran continuamente los procesos gracias a la realimentacin
cuantitativa de los mismos, ideas y tecnologas de innovacin.