De acuerdo con Kendall y Kendall la ingeniería de sistemas asistida por ordenador es la aplicación de tecnología informática a las actividades, las técnicas y las metodologías propias de desarrollo, su objetivo es acelerar el proceso para el que han sido diseñadas, en el caso de CASE para automatizar o apoyar una o mas fases del ciclo de vida del desarrollo de sistemas.
Las estructuras repetitivas se utilizan cuando se quiere que un conjunto de instrucciones se ejecuten un cierto número finito de veces, por ejemplo, escribir algo en pantalla cierta cantidad de veces, mover un objeto de un punto a otro cierta cantidad de pasos, o hacer una operación matemática cierta cantidad de veces. Se les llama bucle o ciclo a todo proceso que se repite cierto número de veces dentro de un pseudocódigo o un programa y las estructuras repetitivas nos permiten hacerlo de forma sencilla.
Parcial estructuras repetitivas"for y while" - herrmanientas case
1.
2. Son aquellas en las que una sentencia
o grupo de sentencias se repiten
muchas veces. Este conjunto de
sentencias se llama Bucle (Lazo o
ciclo).
BUCLE: Es una estructura de control
que permite la repetición de una serie
determinada de sentencias.
3. El cuerpo del bucle contiene las sentencias
que se repiten.
Pascal proporciona tres estructuras de
control para especificar la repetición.
a) Estructura de control while
b) Estructura de control repeat
c) Estructura de control for
4. Ejemplo: Leer una lista de números desde el teclado y sumar sus
valores.
suma := 0;
read (Numero);
Suma : = suma + Numero;
read (Numero);
suma : = suma + Numero;
read (Nuero);
suma : = suma + Numero;
. . .
CUERPO
DEL
BUCLE
}
}
ITERACIÓN.
Tales acciones repetidas se llaman bucles. La acción o
acciones que se repiten en un bucle se denominan cuerpo
del bucle, y cada repetición del cuerpo del bucle se
denomina iteración.
1
2
3
BUCLE
5. La estructura repetitiva while
(mientras) es aquella en la
que el número de instrucciones
no se conoce por anticipado y
el cuerpo del bucle se repite
(mientras) se cumpla una
determinada condición.
6. mientras condición hacer
sentencia/s
fin mientras
Condición: Expresión
lógica o relacional
while expresión lógica do
sentencia;
while expresión lógica do
begin
sentencia1
.
. cuerpo del bucle
.
Sentencia n
End;
Sentencia simple
Sentencia compuesta
} CONDICIÓN
SENTECIA/S
falsa
verdadera
I := 1
mientras I <= 5 hacer
Sentencia/s
I := I + 1
fin_mientras
7. Ejemplo: Imprimir promedio de 50 números.
Inicio
I := 1
AC := 0
mientras I <= 50 hacer
leer N
AC := AC + N
fin_mientras
P := AC/50
Imprimir P
fin
8. La sentencia for requiere que
conozcamos por anticipado el numero de
veces que se ejecutan las sentencias
del interior del bucle.
Desde i ← valor inicial hasta valor final hacer
Sentencias
fin_desde
for variable:= valor inicial to valor final do
Sentencia;
for I := 1 to 3 do
Sentencias;
9. La variable v se denomina variable de control
del bucle. Cuando se ejecuta la sentencia for, a
la variable v se le asigna el valor inicial; al
llegar a la sentencia end se verifica si el
valor final es mayor que el valor inicial; en
caso negativo se incrementa el valor de la
variable de control en uno y se vuelven a
ejecutar todas la sentencias del interior del
bucle, hasta que la variable de control sea
mayor que el valor final, en cuyo momento se
termina el bucle.
for ;variable to do sentenciaExpresiónExpresión
10. Ejemplo: Imprimir promedio de 50 números.
inicio
AC := 0
para I:= 1 hasta 50 hacer
leer N
AC := AC + N
fin_para
P := AC/50
Imprimir P
fin
11. (Computer Aided Software Engineering, Ingeniería de SoftwareAsistida por Ordenador)
Son diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo
de software reduciendo el coste de las mismas en términos de tiempo y de dinero. Estas
herramientas nos pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del
software en tareas como el proceso de realizar un diseño del proyecto, calculo de costes,
implementación de parte del código automáticamente con el diseño dado, compilación
automática, documentación o detección de errores entre otras.
12. • Automatizar las actividades de gestión de proyectos y
mejorar la visión de la ingeniería
• Ayudar en el análisis, diseño y codificación
• Garantizar que la calidad se diseñe antes de llegar a
construir el producto.
• Incrementar la reusabilidad del software.
• Reducir costes de desarrollo y mantenimiento.
13. • Soporte gráfico para varias técnicas (DFD, DER, modelos
OO, etc.)
• Control de errores, unicidad de identificadores, reglas,
metodología, etc.
• Control de documentos y versiones.
• Métricas del software.
• Simulación y prototipado.
• Generación de código.
• Verificación entre diferentes modelos
14. • Herramientas de gestión
• Herramientas técnicas
• Herramientas de soporte
• Herramientas de apoyo a las primeras fases
• Análisis, diseño
• Herramientas de apoyo a las ultimas fases
• Implementación (generación de código).
• Pruebas (caja blanca y caja negra).
• Mantenimiento.
15. La tecnología CASE supone la automatización del desarrollo del software, contribuyendo a
mejorar la calidad y la productividad en el desarrollo de sistemas de información y se plantean
los siguientes objetivos:
• Permitir la aplicación práctica de metodologías estructuradas, las cuales al ser realizadas con
una herramienta se consigue agilizar el trabajo.
• Facilitar la realización de prototipos y el desarrollo conjunto de aplicaciones.
• Simplificar el mantenimiento de los programas.
• Mejorar y estandarizar la documentación.
• Aumentar la portabilidad de las aplicaciones.
• Facilitar la reutilización de componentes software.
• Permitir un desarrollo y un refinamiento visual de las aplicaciones, mediante la utilización de
gráficos .
16. Automatizar
-El desarrollo del software
-La documentación
-La generación del código
-El chequeo de errores
-La gestión del proyecto
Permitir
-La reutilización del software
-La portabilidad del software
-La estandarización de la documentación
17. No existe una única clasificación de herramientas CASE y, en ocasiones, es difícil
incluirlas en una clase determinada. Podrían clasificarse atendiendo a:
· Las plataformas que soportan.
· Las fases del ciclo de vida del desarrollo de sistemas que cubren.
· La arquitectura de las aplicaciones que producen.
· Su funcionalidad.
Las herramientas CASE, en función de las fases del ciclo de vida abarcadas, se pueden
agrupar de la forma siguiente:
18. • abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son
llamadas también CASE workbench.
Herramientas integradas,
I-CASE (Integrated CASE,
CASE integrado)
• front-end, orientadas a la automatización y soporte de las actividades
desarrolladas durante las primeras fases del desarrollo: análisis y diseño.
Herramientas de alto
nivel, U-CASE (Upper
CASE - CASE superior)
• oback-end, dirigidas a las últimas fases del desarrollo: construcción e
implantación.
Herramientas de bajo
nivel, L-CASE (Lower
CASE - CASE inferior)
• son el tipo más simple de herramientasCASE. Automatizan una fase
dentro del ciclo de vida. Dentro de este grupo se encontrarían las
herramientas de reingeniería, orientadas a la fase de mantenimiento.
Juegos de herramientas o
Tools-Case,
19. *Facilidad para la revisión de aplicaciones
*Soporte para el desarrollo de prototipos de sistemas.
*Generación de código
*Mejora en la habilidad para satisfacer los requerimientos
del usuario.
*Soporte interactivo para el proceso de desarrollo.
20. *Falta de niveles estándar para el soporte de
la metodología.
*Confiabilidad en los métodos estructurados.
*Conflictos en el uso de los diagramas.
*Diagramas no utilizados
*Funciones limitadas
*Alcance limitado
21. Repositorio (diccionario) donde se almacenan los elementos definidos o creados por la herramienta.
Meta modelo (no siempre visible), que constituye el marco para la definición de las técnicas y
metodologías soportadas por la herramienta.
Carga o descarga de datos, son facilidades que permiten cargar el repertorio de la herramienta CASE
con datos provenientes de otros sistemas.
Comprobación de errores, facilidades que permiten llevar a cabo un análisis de la exactitud,
integridad y consistencia.
Interfaz de usuario, que constará de editores de texto y herramientas de
diseño gráfico definir los diagramas, matrices, etc. que incluyen las distintas metodologías.