[Escriba aquí]
GLOBALTEC
Fundamentos de Ingeniería del Software
UNIDAD 1
Integrantes del Equipo:
Cinthia Guadalupe Ramírez Montes
Lezly Susette Reyes Norman
Franklin Iztcoatl Monreal Cristerna
Bernardo Dávila Jiménez
Alfredo Pablo Hernández
GlobalTec
Fundamentos de Ingeniería del Software UNIDAD 1
Ingeniería en Sistemas Computacionales Página 3 de 16
Contenido 1.1. Conceptos Básicos ....................................................................................... 4
Glosario ................................................................................................................ 4
1.2. El Papel Evolutivo del Software ..................................................................... 7
Línea del Tiempo.................................................................................................. 7
1.3 Etapas del Desarrollo del Software ................................................................... 8
Cuadro Comparativo ............................................................................................ 8
1.4 Definición e Historia de las Herramientas Case ............................................... 9
Definición ............................................................................................................. 9
Historia de las herramientas CASE: ................................................................... 10
1.5 Clasificación de las Herramientas CASE........................................................ 13
Clasificación basada en su funcionalidad .......................................................... 13
Clasificación basada en el ciclo de vida del desarrollo de sistemas que cubren 14
Clasificación basada en su integración .............................................................. 15
Referencias ........................................................................................................... 16
GlobalTec
Fundamentos de Ingeniería del Software UNIDAD 1
Ingeniería en Sistemas Computacionales Página 4 de 16
1.1. Conceptos Básicos
Glosario
Software.- Programas de computadoras y documentación asociada, pueden ser
diseñados por una sola persona, o por un grupo. Pueden ser genéricos o hechos a
la medida para el cliente.
Equipamiento lógico o soporte lógico de un sistema informático, comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos, que son llamados hardware.
Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas; tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el software de sistema, tal como el sistema operativo, que, básicamente, permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz con el usuario.
Ingeniería.- disciplina que utiliza todo tipo de recursos, sea humano, de
conocimiento, físico, natural, financiero y de información, para crear y dirigir con
ciencia y arte, sistemas físicos y sociales sustentables que proveen de bienes y
servicios, mediante el conocimiento y el perfeccionamiento de los atributos y
relaciones de dichos recursos, apoyada en las matemáticas, ciencias naturales y
ciencias sociales con el fin de elevar la calidad de vida de la humanidad.
Ingeniería de Software.- Disciplina de la ingeniería que está conectada en todos
los aspectos al desarrollo de software. Los ingenieros de software deben adoptar
un enfoque sistemático y organizado en su trabajo junto con el uso de
herramientas y técnicas adecuadas dependiendo del problema a resolver, las
limitaciones de desarrollo y los recursos disponibles.
Informática.- tiene que ver con la teoría y los fundamentos de la computación.
Ingeniería en sistemas.- enfoque interdisciplinario que permite estudiar y
comprender la realidad, con el propósito de implementar u optimizar
sistemas complejos. Los ingenieros de sistemas están implicados en el sistema de
especificación, diseño arquitectónico, la integración y despliegue de los sistemas.
Proceso de creación de software.- Un conjunto de actividades cuyo objetivo es el
desarrollo o evolución de software, las partes principales son:
• Especificación - lo que el sistema debe hacer y su desarrollo limitaciones.
• Desarrollo - producción del sistema de software.
• Validación - comprobar que el software es lo que el cliente quiere.
GlobalTec
Fundamentos de Ingeniería del Software UNIDAD 1
Ingeniería en Sistemas Computacionales Página 5 de 16
• Evolución - cambiar el software en respuesta a los cambios demandas.
CASE.- Los sistemas de software que están destinados a proporcionar soporte
automatizado para las actividades del proceso de software.
Sistema.- Una colección útil de componentes interrelacionados trabajar juntos
hacia un objetivo común. Un sistema puede incluir software, mecánica, hardware
eléctricos y electrónicos y estar en funcionamiento por la gente. Los componentes
del sistema son dependientes de los otros componentes del sistema.
Modelado de arquitectura de sistema.- Un modelo arquitectónico presenta una
visión abstracta de los subsistemas que componen un sistema Puede incluir los
principales flujos de información entre los subsistemas Generalmente se presenta
como un diagrama de bloques Puede identificar los diferentes tipos de relaciones
funcionales componente en el modelo.
Programación.- es el proceso de diseñar, codificar, depurar y mantener el código
fuente de programas computacionales. El código fuente es escrito en un lenguaje
de programación. El propósito de la programación es crear programas que exhiban
un comportamiento deseado. El proceso de escribir código requiere frecuentemente
conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar,
algoritmos especializados y lógica formal.
Depuración.- Purificación o corrección del código en un sistema.
Validación de software.- Verificación y validación tiene por objeto mostrar que un
sistema se ajusta a su especificación y cumple con los requisitos del cliente sistema.
Base de datos.- colección de datos interrelacionados.
Dominio.-es una red de identificación asociada a un grupo de dispositivos o
equipos conectados a la red Internet.
Lenguaje de programación.- es un idioma artificial diseñado para
expresar procesos que pueden ser llevadas a cabo por máquinas como las
computadoras. Pueden usarse para crear programas que controlen el
comportamiento físico y lógico de una máquina, para expresar algoritmos con
precisión, o como modo de comunicación humana.
Interfaz.- es la conexión entre dos ordenadores o máquinas de cualquier tipo dando
una comunicación entre distintos niveles.
Documento.- testimonio material de un hecho o acto realizado en el ejercicio de
sus funciones por instituciones o personas físicas, jurídicas, públicas o privadas,
registrado en una unidad de información en cualquier tipo de soporte en lengua
natural o convencional.
GlobalTec
Fundamentos de Ingeniería del Software UNIDAD 1
Ingeniería en Sistemas Computacionales Página 6 de 16
Método.- literalmente camino o vía para llegar más lejos) al modo ordenado y
sistemático de proceder para llegar a un resultado o fin determinado: las
investigaciones científicas se rigen por el llamado método griego, basado en la
observación y la experimentación, la recopilación de datos y la comprobación de
las hipótesis de partida.
Método VORD.-
• Descubrir los puntos de vista que reciben servicios del sistema e identificar
los servicios prestados a cada punto de vista
Punto de vista estructuración
• Grupo relacionada puntos de vista en una jerarquía. Los servicios comunes
son proporcionados a mayores-niveles en la jerarquía
Mirador documentación
• Perfeccionar la descripción de los puntos de vista y prestaciones
determinadas
Punto de vista del sistema de asignación
• Transformar el análisis a un diseño orientado a objetos
Escenario.- Los escenarios son descripciones de cómo un sistema es utilizado en
la práctica.
Son útiles para obtención de requisitos como gente se puede identificar más
fácilmente que estos declaración abstracta de lo que requieren de una sistema.
Los escenarios son particularmente útiles para añadir detalles para una descripción
esquemática requisitos.
Excepciones.- es la indicación de alguna falla en el sistema.
Matriz.- es un arreglo bidimensional de números
Modelado del sistema.- es una abstracción del sistema que se está estudiando
en lugar de una representación alternativa de ese sistema.
Métodos estructurados.- es una técnica para escribir programas. Para ello se
utilizan únicamente tres estructuras: secuencia, selección e iteración.
Dato.- representación simbólica de una entidad.
Taxonomía.- sistema de clasificación
GlobalTec
Fundamentos de Ingeniería del Software UNIDAD 1
Ingeniería en Sistemas Computacionales Página 7 de 16
1.2. El Papel Evolutivo del Software
Línea del Tiempo
GlobalTec
Fundamentos de Ingeniería del Software UNIDAD 1
Ingeniería en Sistemas Computacionales Página 8 de 16
1.3 Etapas del Desarrollo del Software
Cuadro Comparativo
GlobalTec
Fundamentos de Ingeniería del Software UNIDAD 1
Ingeniería en Sistemas Computacionales Página 9 de 16
1.4 Definición e Historia de las Herramientas Case
Definición Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de
Software Asistida por Computadora) son diversas aplicaciones
informáticas destinadas a aumentar la productividad en el desarrollo de software
reduciendo el costo 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, cálculo de costos, 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, que analizaba la relación existente entre los requisitos de un problema
y las necesidades que éstos generaban, el lenguaje en cuestión se denominaba
PSL (Problem Statement Language) y la aplicación que ayudaba a buscar las
necesidades de los diseñadores PSA (Problem Statement Analyzer).
Tambien se puede definir como:
Conjunto de métodos, utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información, completamente o en alguna de sus fases. La sigla genérica para una serie de programas y una filosofía de desarrollo de software que ayuda a automatizar el ciclo de vida de desarrollo de los sistemas
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.
Automatizar:
Ø El desarrollo del software Ø La documentación
GlobalTec
Fundamentos de Ingeniería del Software UNIDAD 1
Ingeniería en Sistemas Computacionales Página 10 de 16
Ø 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
Historia de las herramientas CASE: Las Herramientas CASE tienen su inicio con el simple procesador de palabras que
Fue usado para crear y manipular documentación.
EN LA DECADA DE LOS 70´S
El proyecto ISDOS desarrolló un lenguaje llamado "Problem Statement Language"
(PSL) para la descripción de los problemas de usuarios y las necesidades de
solución de un sistema de información en un diccionario computarizado. Problem
Statement Analyzer (PSA) era un producto asociado que analizaba la relación de
problemas y necesidades.
Los setentas vieron la introducción de técnicas gráficas y diagramas de flujo de
estructuras de datos. Sobre este punto, el diseño y especificaciones en forma
pictórica han sido extremadamente complejos y consumían mucho tiempo para
realizar cambios.
La introducción de las herramientas CASE para ayudar en este proceso ha
permitido que los diagramas puedan ser fácilmente creados y modificados,
mejorando la calidad de los diseños de software. Los diccionarios de datos, un
documento muy usado que mantiene los detalles de cada tipo de dato y los
procesos dentro de un sistema, son el resultado directo de la llegada del diseño de
flujo de datos y análisis estructural, hecho posible a través de las mejoras en las
Herramientas CASE.
Pronto se reemplazaron los paquetes gráficos por paquetes especializados que
habilitan la edición, actualización e impresión en múltiples versiones de diseño.
Eventualmente, las herramientas gráficas integradas con diccionarios de base de
datos para producir poderosos diseños y desarrollar herramientas, podrían sostener
ciclos completos de diseño de documentos.
Como un paso final, la verificación de errores y generadores de casos de pruebas
fueron incluidos para validar el diseño del software. Todos estos procesos pueden
GlobalTec
Fundamentos de Ingeniería del Software UNIDAD 1
Ingeniería en Sistemas Computacionales Página 11 de 16
saberse integrados en una simple herramienta CASE que soporta todo el ciclo de
desarrollo.
A INICIOS DELOS 80’S
Empezó a manejarse más la ayuda en la documentación por medio de la
computadora, se desarrolló más la diagramación asistida por computadora, el
análisis y el diseño.
A MEDIADOS DELOS 80’S
Diseño automático de análisis y pruebas. Repositorios automáticos de información
de sistemas.
AL FINAL DELOS 80’S
Generación automática de código desde especificaciones de diseño
A INICIOS DELOS 90’S
Las herramientas CASE alcanzaron su techo a principios de los años 90. En la
época en la que IBM había conseguido una alianza con la empresa de software
AD/Cycle para trabajar con sus mainframes, estos dos gigantes trabajaban con
herramientas CASE que abarcaban todo el ciclo de vida del software. Pero poco a
poco los mainframes han ido siendo menos utilizados y actualmente el mercado de
las Big CASE ha muerto completamente abriendo el mercado de diversas
herramientas más específicas para cada fase del ciclo de vida del software.
Metodología Inteligente. Interface de Usuario reusable como una metodología
desarrollo.
La primera herramienta CASE como hoy la conocemos fue "Excelerator" en 1984,
era para PC. Actualmente la oferta de herramientas CASE es muy amplia y tenemos
por ejemplo el EASYCASE o WINPROJECT.
La primera herramienta comercial se remonta a 1982, aunque algunos especialistas
indican que algunos ejemplos de herramientas para diagramación ya existían las
herramientas CASE.
No fue sino hasta 1985 en que las herramientas CASE se volvieron realmente
importantes en el proceso de desarrollo de software. Los proveedores prometieron
GlobalTec
Fundamentos de Ingeniería del Software UNIDAD 1
Ingeniería en Sistemas Computacionales Página 12 de 16
a la Industria que muchas actividades serían beneficiadas por la ayuda de las
CASE.
Estos beneficios consistían, por ejemplo, en el aumento en la productividad. El
objetivo en 1985 para muchos vendedores era producir software más rápidamente.
Las herramientas del CASE serían una familia de métodos favorablemente
estructurados para planeamiento, análisis y diseño. Esto llevaría a la generación
automática de código para desarrollo de software vía una especificación
formalmente diseñada. Esto traería como beneficio:
Una mejora en la calidad, fiabilidad, utilidad y rendimiento.
El entorno de producción de documentación para software mejora la comunicación,
mantenimiento y actualización.
Hace el trabajo de diseño de software más fácil y agradable.
La promesa futura de reemplazar realmente a los ingenieros de software
especializados.
Reducción del costo de producción de software.
Con estos objetivos en mente, la industria destinó millones en producción de
Herramientas CASE.
Así como esta enorme suma de dinero fue gastada en Herramientas CASE, hubo
también trabajo de investigación a nivel mundial en diferentes instituciones como
Universidades, Instituciones Gubernamentales y de Defensa. La industria de
Herramientas CASE está creciendo y está tomando cada vez mayor importancia.
GlobalTec
Fundamentos de Ingeniería del Software UNIDAD 1
Ingeniería en Sistemas Computacionales Página 13 de 16
1.5 Clasificación de las Herramientas CASE
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
1. Herramientas integradas, I-CASE (Integrated CASE, CASE integrado):
abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son
llamadas también CASE Workbench.
2. Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) o front-
end, orientadas a la automatización y soporte de las actividades
desarrolladas durante las primeras fases del desarrollo: análisis y diseño.
3. Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o back-
end, dirigidas a las últimas fases del desarrollo: construcción e implantación.
4. Juegos de herramientas o Tools-Case, son el tipo más simple de
herramientas CASE. 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.
Clasificación basada en su funcionalidad Tipo de Herramienta Ejemplos
Planificación Herramientas PERT, Herramientas de Estimación, Hojas de Calculo
Edición de los Editores Herramientas de texto, editores de diagramas, procesadores de palabras
Gestión de Cambio Herramientas de requisitos de trazabilidad, cambio de sistemas control
Gestión de Configuración Sistema de gestión de versiones, sistemas de herramientas de construcción
Prototipos Verificador de lenguajes de alto nivel, generador de interfaces de usuarios
Método de Herramientas de apoyo Editores de diseño, diccionarios de datos, generadores de código
Procesamiento del Lenguaje Compiladores, Interpretes
GlobalTec
Fundamentos de Ingeniería del Software UNIDAD 1
Ingeniería en Sistemas Computacionales Página 14 de 16
Programa de análisis Generadores de referencia cruzada, analizadores de estática, analizadores dinámicos
Pruebas Generadores de datos de pruebas ,Comparadores de archivos
Depuración Sistemas de depuración interactiva,
Documentación Diseño de páginas, programas editores de imágenes
Reingeniería Referencias cruzadas de sistemas, programa para la reestructuración de sistemas
Clasificación basada en el ciclo de vida del desarrollo de
sistemas que cubren Tipo de Herramienta de:
Especificación Diseño Implementación Verificación y Validación
Reingeniería ●
Prueba ● ●
Depuración ● ●
Análisis de Programa ● ●
Procesamiento de lenguaje ● ●
Método de Herramientas de apoyo ● ●
Prototipos ● ●
Gestión de Configuración ● ●
Gestión de Cambio ● ● ● ●
Documentación ● ● ● ●
Edición ● ● ● ●
Planificación ● ● ● ●
GlobalTec
Fundamentos de Ingeniería del Software UNIDAD 1
Ingeniería en Sistemas Computacionales Página 15 de 16
Clasificación basada en su integración
GlobalTec
Fundamentos de Ingeniería del Software UNIDAD 1
Ingeniería en Sistemas Computacionales Página 16 de 16
Referencias
Título: Conceptos Básicos de la Ingeniería de software
Libro: Software Engineering
Edición: 6th Edición
Autor: Ian Sommerville
Título: Clasificación de Herramientas Case
Libro: Software Engineering
Edición: 6th Edición
Autor: Ian Sommerville
Título: Evolución del software Libro: Ingeniería de Software un enfoque practico Edición: 5ta Edición Autor: Roger S. Pressman Título: Clasificación de Herramientas Case Libro: Software Engineering Edición: 6th Edición Autor: Ian Sommerville Título: Ingeniería del software un enfoque practico Libro: Pressman Roger Edición: 5ta Edición Sitios Web: http://www.monografias.com/trabajos14/herramicase/herramicase.shtml
http://eltamiz.com/elcedazo/2009/05/12/herramientas-case-hasta-en-la-sopa/
http://www.uclm.es/ab/educacion/ensayos/pdf/revista10/10_17.pdf
http://www.inei.gob.pe/biblioineipub/bancopub/Inf/Lib5103/Libro.pdf
GlobalTec
Fundamentos de Ingeniería del Software UNIDAD 1
Ingeniería en Sistemas Computacionales Página 17 de 16