PDF de programación - CAPÍTULO II – CONCEPTOS DE INGENIERÍA DE SOFTWARE, CASE Y ANÁLISIS ESTRUCTURADO

Imágen de pdf CAPÍTULO II – CONCEPTOS DE INGENIERÍA DE SOFTWARE, CASE Y ANÁLISIS ESTRUCTURADO

CAPÍTULO II – CONCEPTOS DE INGENIERÍA DE SOFTWARE, CASE Y ANÁLISIS ESTRUCTURADOgráfica de visualizaciones

Publicado el 10 de Junio del 2017
749 visualizaciones desde el 10 de Junio del 2017
45,0 KB
24 paginas
Creado hace 22a (19/12/2001)
CAPÍTULO II –

CONCEPTOS DE INGENIERÍA DE SOFTWARE,

CASE Y ANÁLISIS ESTRUCTURADO

16





2.1 Ingeniería de software



2.1.1 Proceso de desarrollo de software



Los campos en que se utilizan las computadoras hoy en día son innumerables. Se

ha llegado al punto en que es posible decir que no hay un solo campo del conocimiento

humano en el que no se haya aplicado la computación, pues se han creado aplicaciones

para áreas del conocimiento humano tan distintas como lo pueden ser la astrofísica y la

cocina. Por esta razón el software que se puede crear es tan variado como las ideas que se

forman en las mentes de las personas. Aún así, todos los proyectos de creación de

software siguen un proceso muy parecido para llegar desde la idea original hasta un

producto terminado y funcional. Este proceso básico está conformado por análisis,

diseño, implementación, pruebas y mantenimiento.



Ahora bien, este ciclo de vida básico, como a veces se le llama, es tan solo la idea

general tras cualquier proceso particular de desarrollo de software. Existen diversos

modelos, o métodos, para lograr cumplir con los pasos necesarios de este ciclo, cada uno

con un enfoque distinto. Así pues, está el modelo de Construcción de Prototipos, el

modelo de Desarrollo Rápido de Aplicaciones, el de Procesos Evolutivos - que a su vez

se divide en los modelos incremental, en espiral, de ensamblaje de componentes y de



17

desarrollo concurrente - el modelo de Métodos Formales, y por último las Técnicas de

Cuarta Generación.



Todos estos modelos atacan el problema desde un ángulo distinto, y cada uno

tiene su forma particular de aplicación, pero a fin de cuentas, todos ellos ayudan a

realizar la función para la que fueron diseñados: el desarrollo de software mediante

técnicas de ingeniería.



2.1.2 Herramientas CASE y conceptos básicos



Para desarrollar software se necesita de otros tipos de software, es decir, para

construir sistemas de cómputo se utilizan otros sistemas de cómputo. Los medios

sistematizados que se utilizaron por mucho tiempo estaban limitados a los tradicionales

editores de texto para la codificación, y los compiladores del lenguaje respectivo. Fuera

de éstos era poco el soporte que un programador o desarrollador de sistemas obtenía por

parte de su ambiente de trabajo.



Debido a esta escasez de herramientas adecuadas para el desarrollo de sistemas

surgió la lógica necesidad de crear sistemas que se pudieran utilizar verdaderamente

como herramientas de soporte en la construcción de software. De ahí surge la Ingeniería

de Software Asistida por Computadora, o en inglés, Computer-Aided Software

Engineering (CASE). Así, una herramienta CASE es un producto computacional



18

enfocado a apoyar una o mas técnicas dentro del un método de desarrollo de software

[Jarzabek, 98].



A pesar de que las herramientas CASE no tienen una historia extremadamente

larga, pues empiezan a surgir a partir de principios de la década de los ochenta, ya se han

extendido a la mayor parte de las fases y actividades involucradas en el desarrollo de

software. Existen diversas taxonomías de las herramientas CASE, que utilizan varios

criterios para su clasificación. Una clasificación por función se divide en dos grandes

áreas: CASE superiores (U-CASE) y CASE inferiores (L-CASE). Los U-CASE abarcan

las etapas de planeación, análisis y diseño, mientras que los L-CASE comprenden las de

codificación, pruebas y mantenimiento. De esta manera se cubren las grandes áreas del

desarrollo de software.



Las herramientas CASE individuales pueden estar enfocadas a un área de

ingeniería de software más específica, como lo puede ser la ingeniería de información, el

modelado de procesos, planificación y administración de proyectos, análisis de riesgos,

seguimiento de requisitos, métricas, documentación, control de calidad, gestión de bases

de datos, de desarrollo de interfaz o de generación de prototipos entre otros [Pressman,

98]. El tipo específico de herramienta que se utilice depende de los requerimientos tanto

del sistema a implementar como de los desarrolladores.



19

2.1.3 investigación de mercado actual para herramientas CASE disponibles



Actualmente hay en el mercado varias herramientas CASE para la mayor parte de

los procesos del ciclo de vida del software, las cuales se presentan con las metodologías

de ingeniería de software más conocidas. Se realizó una investigación para obtener una

muestra representativa de los tipos de herramientas que están disponibles. De las

herramientas que se encontraron, fueron escogidas las que contienen las funciones

asociadas al Análisis Estructurado y, en algunos casos, al diseño. La razón para incluir

herramientas que también cuenten con la fase de diseño, ya sea estructurado u orientado a

objetos, es debido a que el proyecto que se realiza se propone como la primera parte de

un ambiente integrado, por lo que es conveniente compararlo también con herramientas

que incluyan otras etapas del desarrollo del software.



La muestra de herramientas encontradas, así como sus características generales,

incluyendo metodología(s) implementadas y precios, puede encontrarse a detalle en el

Apéndice VII.



2.2 Metodología de Análisis Estructurado



2.2.1 Análisis estructurado

Antes de explicar en que consiste el Análisis Estructurado, veamos algunas

definiciones simples de análisis:



20



"Estudio realizado para separar las distintas partes de un todo" [Larousse, 98]



"El análisis es el estudio de un problema, antes de realizar alguna acción." [DeMarco, 79]



Aunque la primera es una definición completamente válida, es más tradicional,

mientras que la segunda se aproxima mas a nuestros intereses, es decir, al análisis con

respecto al proceso de desarrollo de software. Más propiamente, el análisis aplicado a el

desarrollo de software, se puede considerar como "el estudio de una aplicación o área de

negocios que se dirige a la especificación de un nuevo sistema"[DeMarco, 79].



Se han ideado distintas maneras de realizar este análisis, pues aunque en teoría es

un proceso similar al de el análisis en cualquier otro campo ya sea abstracto o concreto,

en la computación se deben tener muchas consideraciones con respecto al trabajo que se

desea realizar. Como respuesta a ésta necesidad han aparecido diferentes métodos de

análisis en el desarrollo de software, de los cuales uno de los más aceptados ha sido el

Análisis Estructurado, creado por Tom DeMarco.



El principal objetivo del Análisis Estructurado es el proveer a los constructores

del sistema el Documento de Especificación Estructurada (DEE), el cual es el resultado

del uso de distintas herramientas, principalmente los Diagramas de Flujo de Datos (DFD)

y los Diccionarios de Datos (DD). El DEE se complementa mediante el uso de Lenguaje

Estructurado, Tablas de Decisión y Árboles de Decisión. Cabe notar que hay áreas dentro



21

del campo del análisis que no están incluidas en el Análisis Estructurado, como pueden

ser un análisis de costo-beneficio, de desempeño del sistema, de selección de equipo o de

políticas de la empresa.



Como se expuso anteriormente, DFD y los DD constituyen la mayor parte del

cuerpo del DEE. A continuación se definen y describen ambos.



2.2.2 Diagramas de flujo de datos



En pocas palabras, los DFD son representaciones gráficas de los procesos de un

sistema, incluidas sus entradas y salidas de información. Estos están enfocados en el flujo

de los datos del sistema y son representados en forma de red.



Pero, ¿cómo se representa un sistema gráficamente? Para ello se utilizan cuatro

elementos principales, que deben representar en el diagrama cada componente a

considerar del sistema. Estos son los flujos, los procesos, los archivos y las fuentes de

datos o depósitos. A continuación se definirá cada componente.



Flujo. Los flujos representan la comunicación entre el resto de los componentes de un

diagrama y, aunque por lo general están conectados solamente a dos de ellos, pueden

divergir o converger, es decir, pueden separarse o unirse dos o más. El nombre del flujo

nos da una idea de los datos que se traspasan de un elemento a otro, pero la definición



22

correcta y única de ello se encuentra en el Diccionario de Datos. Los flujos se representan

mediante una flecha unidireccional, como se ve en la Figura 2.1.



Flujo "W"



Figura 2.1 Representación de un Flujo de Datos

Proceso. Se pueden considerar como la parte principal de un diagrama. Representan las

acciones u operaciones que se llevan a cabo en el sistema, de acuerdo a las entradas que

reciba, para producir salidas esperadas. Éstos se dibujan con una burbuja, como se puede

apreciar en la Figura 2.2.



Figura 2.2 Representación de un Proceso

Archivo. Como archivo podemos tomar cualquier contenedor de datos o información

relevante al sistema, que se almacene de manera temporal, ya sea en memoria, disco,

cinta magnética, etc. De ellos se pueden introducir y extraer datos. La notación para los



23

archivos, que se puede ver en la Figura 2.3, consta de un título sobre una línea recta o

entre dos líneas horizontales.



Figura 2.3 Representación de un Archivo

Fuente de datos. La fuentes de datos son personas u organizaciones exteriores al sistema

que se analiza, p
  • Links de descarga
http://lwp-l.com/pdf4358

Comentarios de: CAPÍTULO II – CONCEPTOS DE INGENIERÍA DE SOFTWARE, CASE Y ANÁLISIS ESTRUCTURADO (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad