martes, 19 de febrero de 2013

1.6 CLASIFICACIÓN DE LAS HERRAMIENTAS CASE


          CLASIFICACIÓN DE LAS HERRAMIENTAS CASE

CASE:  CASE es una combinación de herramientas software (aplicaciones) y de metodologías de desarrollo:

Las herramientas permiten automatizar el proceso de desarrollo del software.
Las metodologías definen los procesos automatizar.

Una primera clasificación del CASE es considerando su amplitud:
  • TOOLKIT: Es una colección de herramientas integradas que permiten automatizar un conjunto de tareas de algunas de las fases del ciclo de vida del sistema informático : Planificación estratégica, Análisis, Diseño, Generación de programas.

  • WORKBENCH: Son conjuntos integrados de herramientas que dan soporte a la automatización del proceso completo de desarrollo del sistema informático. Permiten cubrir el ciclo de vida completo. El producto final aportado por ellas es un sistema en código ejecutable y su documentación.

  • UPPER CASE: Planificación estratégica, Requerimientos de Desarrollo Funcional de Planes Corporativos.

  • MIDDLE CASE: Análisis y Diseño.

  • LOWER CASE: Generación de código, test e implantación 



ALUMNA: ISABEL GARCIA MENDEZ 
SEM:IV   GRUPO:B   ING.SITEMAS COMPUTACIONALES.












1.5 DEFINICIÓN E HISTORIA DE LA HERRAMIENTA CASE



1.5  DEFINICIÓN E HISTORIA DE LA HERRAMIENTA CASE

HERRAMIENTA CASE

Estas herramientas 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. Ya en los años 70 un proyecto
llamado ISDOS diseñó un lenguaje y por lo tanto un producto 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).

HISTORIA
Ya en los años 70 un proyecto llamado ISDOS diseñó un lenguaje y por lo tanto un producto
que analizaba la relación existente entre los requisitos de un problema y las necesidades que
éstos generaban, Aunque ésos son los inicios de las herramientas informáticas que ayudan a
crear nuevos proyectos informáticos, la primera herramienta CASE fue Excelerator que salió a
la luz en el año 1984 y trabajaba bajo una plataforma PC. 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.

Objetivos
*Mejorar la productividad en el desarrollo y mantenimiento del software.
*Aumentar la calidad del software.
*Reducir el tiempo y costo de desarrollo y mantenimiento de los sistemas informáticos.
*Mejorar la planificación de un proyecto
*Aumentar la biblioteca de conocimiento informático de una empresa ayudando a la búsqueda de soluciones para los requisitos.
*Automatizar el desarrollo del software, la documentación, la generación de código, las pruebas de errores y la gestión del proyecto.
*Ayuda a la reutilización del software, portabilidad y estandarización de la documentación
*Gestión global en todas las fases de desarrollo de software con una misma herramienta.
*Facilitar el uso de las distintas metodologías propias de la ingeniería del software.






1.4  CLASIFICACIÓN DE LA TECNOLOGÍA EN EL DESARROLLO DE SOFTWARE (TECNOLOGÍA  ESTRUCTURADA Y ORIENTADA A OBJETOS).



TECNOLOGÍA DE SOFTWARE
Conjunto integrado de notaciones, herramientas y métodos, basados en unos sólidos fundamentos, que permiten el desarrollo de un producto software en un contexto organizativo dado.

TECNOLOGÍAS DE DESARROLLO ESTRUCTURADO
Las tecnologías de desarrollo estructurado son las más convencionales de las empleadas hoy día. Han surgido de la evolución de las ideas de programación estructurada (hace más de veinticinco años) hacia las fases iniciales del ciclo de vida.
La idea base de esta tecnología es que es posible estructurar el modelo de un sistema de software en base a funciones que procesan información que reciben de otras funciones (o del exterior) y dirigen la información. Procesada a otros módulos funcionales (o al exterior).El enfoque seguido, por tanto, es el de pensar en las funciones del sistema necesarias (extraídas de los requisitos del sistema) y luego en los datos que requieren.

TECNOLOGÍAS ORIENTADAS A OBJETOS
Las tecnologías de desarrollo estructurado han demostrado sus limitaciones a la hora de organizar y facilitar la evolución de sistemas de software complejos. La descomposición en funciones hace difícil al diseñador mantener la relación con los objetos del mundo real sobre los que se modifican generalmente los requisitos del usuario.

En ellas, un objeto es un conjunto de datos y funciones de manipulación de los mismos encapsulados en una unidad que es posible tratar como un todo (crear, copiar, destruir, etc.). Un objeto posee unas operaciones visibles a otros objetos aunque éstos no conocen cómo están implementadas. El diseñador reconoce inicialmente.
Clases de objetos de las que se derivan los objetos concretos que utilizará en el diseño.
Un objeto puede construirse jerárquicamente empleando, a su vez, a otros objetos más simples.
Los métodos de diseño orientados a objetos suelen facilitar el desarrollo de una implementación en un lenguaje de programación orientado a objetos (C++, Ada95 o Eiffel). No obstante, la elección del lenguaje de implementación no es realmente importante y esta elección está condicionada por muchas otras razones. Justo es reconocer, sin embargo, que ha sido la Programación Orientada a Objetos la que ha impulsado también la difusión de estas técnicas.

Bibliografía:



http://www.ecured.cu/index.php/H 





1.3 ETAPAS DE DESARROLLO DE SOFTWARE


                            ETAPAS DE DESARROLLO DE SOFTWARE

La ingeniería de software requiere llevar a cabo numerosas tareas agrupadas en etapas, al conjunto de estas etapas se le denomina ciclo de vida . Las etapas comunes a casi todos los modelos de ciclo de vida son las siguientes:


Etapa de Análisis Análisis:
Es el proceso de investigar un problema que se quiere resolver. Definir claramente el Problema que se desea resolver o el sistema que se desea crear. Identificar los componentes principales que integrarán el producto.

Etapa de Diseño Diseño:
Es el proceso de utilizar la información recolectada en la etapa de análisis al diseño del producto. La principal tarea de la etapa de diseño es desarrollar un modelo o las especificaciones para el producto o Componentes del Sistema.

Etapa de Desarrollo Desarrollo:
Consiste en utilizar los modelos creados durante la etapa de diseño para crear los componentes del sistema.

Etapa de Pruebas o Verificación Prueba:
Consiste en asegurar que los componentes individuales que integran al sistema o producto, cumplen con los requerimientos de la especificación creada durante la etapa de diseño.

Etapa de Implementación o Entrega Implantación:
Consiste en poner a disposición del cliente el producto.


Etapa de Mantenimiento Mantenimiento:
Consiste en corregir problemas del producto y re- liberar el producto como una nueva versión o revisión (producto mejorado).

Etapa final EOL (End-of-Life) :
El fin del ciclo del producto consiste en realizar todas las tareas necesarias para asegurar que los clientes y los empleados están consientes de que el producto ya no será vendido ni soportado. 






Bibliografía:
http://www.slideshare.net/itlac/etapas-de-desarrollo-software



1.2 EL PAPEL EVOLUTIVO DEL SOFTWARE




                                     EL PAPEL EVOLUTIVO DEL SOFTWARE

Hoy en día, el software tiene un papel dual. Es producto y canal de distribución de este. Como producto, ofrece la potencia de cómputo presentada como hardware de una computadora o, de manera más global por una red de computadoras accesible mediante hardware local y de acceso físico. Sin importar el lugar en que resida el software, ya sea en un celular o dentro de una computadora central, éste es un transformador de información; realiza la producción, el manejo, la adquisición, la modificación, el despliegue o la transmisión de la información que puede ser tan simple como un solo bit o tan compleja como una presentación multimedia. En su papel de vehículo para la entrega de un producto, el software actúa como la base para el control de la computadora (Sistemas Operativos), la comunicación de información (redes), y la relación y el control de otros programas (utilerías de software y ambientes).

El software entrega el producto más importante de nuestro tiempo: información. Transforma los datos personales (por ejemplo, las transacciones financieras de un individuo) de forma que los datos sean más útiles en un contexto local; maneja información alrededor del mundo (Internet) y proporciona los medios para adquirir información en todas sus formas.

El papel del software de computadora ha experimentado un cambio significativo en un periodo un poco mayor a 50 años. La mejorías sustanciales en el desempeño del hardware, los cambios profundos en las arquitecturas de cómputo, los enormes incrementos en las capacidades de memoria y almacenamiento, y la amplia variedad de opciones de salida y entrada han propiciado el surgimiento de sistemas más elaborados y complejos basados en computadoras.

En la actualidad un enorme industria del software se ah convertido en un factor dominante en la economía del mundo industrializado. El programador solitario de la era inicial ha sido sustituido por equipos de especialistas en software, en los que cada uno se enfoca en una parte de la tecnología requerida para desarrollar una ampliación compleja. Hasta ahora, las preguntas formuladas al programador solitario son las mismas que se hacen cuando se construyen los sistemas basados en computadoras modernas.


PRIMERA ERA (1950 / 1965)

·         Se trabajaba con la idea de “Codificar y Corregir”.
      No existía un planteamiento previo.
No existía documentación de ningún tipo.
Existencia de pocos métodos formales y pocos creyentes en ellos.
 Desarrollado  a base de prueba y error.

SEGUNDO ERA (1965 – 1972)


Se busca simplificar código.
 Aparición de Multiprogramación y Sistemas Multiusuarios.
Sistemas de Tiempo Real apoyan la toma de decisiones.Aparición de Software como producto. (Casas de Software).
Se buscan procedimientos para el desarrollo del Software.


TERCERA ERA (1972 – 1985)
 Nuevo Concepto: Sistemas Distribuidos.
 Complejidad en los Sistemas de Información.
Aparecen: Redes de área local y global, y Comunicadores Digitales.
Uso de Microprocesadores.



 CUARTA  ERA (1985 - 1995 )

·         Impacto Colectivo de Software.
Aparecen:Las  Redes de Información, Tecnologías Orientadas a Objetos.
Aparecen: Redes Neuronales, Sistemas Expertos y SW de Inteligencia Artificial.
 La información como valor preponderante dentro de las Organizaciones.



QUINTA ERA (2000 hasta hoy en día)


Utiliza algunos requisitos de las eras anteriores solo que aumenta la omnipresencia de la web, la reutilización de información y componentes de software 

Codificar: Transformar mediante las reglas de un código la formulación de un mensaje.

 Hardware: Componente físico de la computadora. Por ejemplo: el monitor, la impresora o el disco rígido. El hardware por sí mismo no hace que una máquina funcione.

 Multiprogramación: Se denomina multiprogramación a la técnica que permite que dos o más procesos ocupen la misma unidad de memoria principal y que sean ejecutados al "mismo tiempo“.




Bibliografía:




Unidad  1: Fundamentos de Ingeniería de software


1.1  CONCEPTOS BÁSICOS

Antes de empezar la lectura de este texto, debe recordarse que el software es la parte intangible de una computadora, conformada por todos los programas que se muestran en el monitor y que sin el hardware el software no funcionaría, ya que como sabemos el hardware y el software juntos conforman la principal herramienta en el campo de la tecnología: el ordenador.

Es una palabra que proviene del idioma inglés, pero que gracias a la masificación de uso, ha sido aceptada por la Real Academia Española. Según la RAE,
En otras palabras, el concepto de software abarca a todas las aplicaciones informáticas, como los procesadores de textos, las planillas de cálculo y los editores de imágenes. El software es desarrollado mediante distintos lenguajes de programación, que permiten controlar el comportamiento de una máquina. Estos lenguajes consisten en un conjunto de símbolos y reglas sintácticas y semánticas, que definen el significado de sus elementos y expresiones. Un lenguaje de programación permite a los programadores.
Con el paso del tiempo el software ha sufrido cambios radicales, que han ido marcando momentos importantes en la historia de la humanidad, es gracias al software que nuestras tareas cotidianas se facilitan, además de que las empresas pueden producir en mayor cantidad y llevar un mejor control de sus empleados, es por el que se han desarrollado formas de ayudar al mundo, sin duda esto ha revolucionado nuestra forma de vivir y pensar, no imaginaríamos un mundo sin computadoras, sin tecnología; es por esto que en el presente blogger se muestra una colección de temas que tratan acerca de la historia del software, la forma en que ha ido cambiando conforme los años, además se menciona algunas de las principales herramientas de apoyo dentro de su ingeniería; se hace mención de las diferentes etapas de desarrollo del software, ya que como cualquier otro producto del mercado, también se desarrolla con un proceso, generalmente mecánico.
Bibliografía: