miércoles, 16 de noviembre de 2011

MITOS DE SOFTWARE
Los mitos del software

Creencias acerca del software y de los procesos empleados para construirlo- se pueden rastrear hasta los primeros días de la computación. Los mitos tienen ciertos atributos que los convierten en insidiosos.
Mitos de la administración
Los gestores con responsabilidad sobre el software, como los gestores en la mayoría de las disciplinas, están normalmente bajo la presión de cumplir las propuestas, hacer que no se retrase el proyecto y mejorar la calidad. Un gestor de software se agarra frecuentemente a un mito del software.
Mito:
 Si se falla en la planificación, se puede añadir mas programadores y adelantar el tiempo perdido.
Mitos del cliente
En muchos casos, el cliente cree en los mitos que existen sobre el software, debido a que los gestores y desarrolladores de software hacen muy poco para corregir la mala información. Los mitos conducen a que el cliente se cree una falsa expectativa y, finalmente, quede insatisfecho con el desarrollador del software.
Mito:
Si los requisitos del proyecto cambian continuamente, los cambios pueden acomodarse fácilmente, ya que el software es flexible.
Mitos de los desarrolladores
Los mitos en los que aun creen muchos desarrolladores se han ido fomentando durante 50 años de cultura informática. Durante los primeros días del desarrollo del software, la programación se veía como un arte. Las viejas formas y actitudes tardan en morir.
Mito:
 Una vez que escribimos el programa y hacemos que funcione, nuestro trabajo ha terminado.
Enfoque de la Ingeniería de software dentro de la informática
Es el área de la ingeniería que ofrece métodos y técnicas para desarrollar y mantener software.
Esta ingeniería trata con áreas muy diversas de la informática y de las ciencias de la computación, tales como construcción de compiladores, sistemas operativos, o desarrollos Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistemas de información y aplicables a infinidad de áreas: negocios, investigación científica, medicina, producción, logística, banca, control de tráfico, meteorología, derecho, Internet, Intranet, etc.
Se dice también que es la profesión que consiste en la aplicación de los fundamentos de la ciencia de la computación, la electrónica y la ingeniería de software, para el desarrollo de soluciones integrales de cómputo
La ingeniería informática es la profesión que consiste en la aplicación de los fundamentos de la ciencia de la computación, la electrónica y la ingeniería de software, para el desarrollo de soluciones integrales de cómputo y comunicaciones, capaces de procesar información de manera automática.
Por lo que se refiere al soporte físico, la ingeniería informática se fundamenta en la tecnología electrónica, lo que le permite a los ordenadores interactuar con sistemas físicos, así como desarrollar interfaces de comunicación y control entre el ordenador y diversos dispositivos mecánicos y eléctricos, tales como sistemas de adquisición de datos, instrumentación virtual, control de robots, sistemas de iluminación, etc.
En el aspecto lógico y formal, la ingeniería informática se fundamenta en la teoría de autómatas, los lenguajes formales, la teoría de la información, el diseño de algoritmos, el reconocimiento de patrones, la inteligencia artificial y la ingeniería del conocimiento.
La informática es la disciplina que estudia el tratamiento automático de la información utilizando dispositivos electrónicos y sistemas computacionales. También es definida como el procesamiento de la información en forma automática. Para esto los sistemas informáticos deben realizar las siguientes tres tareas básicas:
Entrada: Captación de la información digital.
• Proceso: Tratamiento de la información.
• Salida: Transmisión de resultados binarios.
en el software se necesita un avance en:
    *Complejidad
    *Capacidad de diseño
    *Flexibilidad
    *Rapidez de desarrollo
    *Facilidad de modificación
    *Confiabilidad

TENDENCIAS DE LA INGENIERIA DE SOFTWARE
INTRODUCCIÓN
Una de las preocupaciones actuales más urgentes de la industria del software es crear sistemas confiables y de mayor calidad con menor inversión de tiempo y costo, que resuelvan problemas cada vez más complejos. Es preciso utilizar técnicas avanzadas de la ingeniería de software que ayuden a aliviar el esfuerzo en las diferentes etapas del ciclo de vida.

La Tecnologia Orientada a Objetos ha demostrado ser una excelente herramienta para resolver problemas de gran envergadura y complejidad, permitiendo obtener sistemas interoperables, modulares, evolutivos y con alto índice de reusabilidad. La reutilización conduce a un desarrollo más rápido y programas de mejor calidad.
Las técnicas orientadas a objetos combinadas con otras herramientas como las CASE (ingeniería de software asistida por coputadora), programación visual, generadores de código, metodologías basadas en depositos, bases de datos, bibliotecas de clases que maximicen la reutilización, tecnología cliente servidor, etc.; pueden proporcionar la magnitud de cambio necesario para lograr ese salto anteriormente mencionado.
En este capítulo se describen los principales factores que determinan la calidad del software y se introducen los principios y conceptos y conceptos básicos en que se basa para producir software de alta calidad y confiabilidad
Ingeniería de software es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad.

miércoles, 9 de noviembre de 2011

HERRAMIENTAS CASE

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.
Cuando se hace la planificación de la base de datos, la primera etapa del ciclo de vida de las aplicaciones de bases de datos, también se puede escoger una herramienta CASE (Computer-Aided Software Engineering) que permita llevar a cabo el resto de tareas del modo más eficiente y efectivo posible. Una herramienta CASE suele incluir:
  • Un diccionario de datos para almacenar información sobre los datos de la aplicación de bases de datos.
  • Herramientas de diseño para dar apoyo al análisis de datos.
  • Herramientas que permitan desarrollar el modelo de datos corporativo, así como los esquemas conceptual y lógico.
  • Herramientas para desarrollar los prototipos de las aplicaciones.
El uso de las herramientas CASE puede mejorar la productividad en el desarrollo de una aplicación de bases de datos.
TECNOLOGIA CASE
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
Ø 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
Componentes de una herramienta case
De una forma esquemática podemos decir que una herramienta CASE se compone de los siguientes elementos:
  • Repositorio (diccionario) donde se almacenan los elementos definidos o creados por la herramienta, y cuya gestión se realiza mediante el apoyo de un Sistema de Gestión de Base de Datos (SGBD) o de un sistema de gestión de ficheros.
  • 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, o bien generar a partir de la propia herramienta esquemas de base de datos, programas, etc. que pueden, a su vez, alimentar otros sistemas. Este elemento proporciona así un medio de comunicación con otras herramientas.
  • Comprobación de errores, facilidades que permiten llevar a cabo un análisis de la exactitud, integridad y consistencia de los esquemas generados por la herramienta.
  • Interfaz de usuario, que constará de editores de texto y herramientas de diseño gráfico que permitan, mediante la utilización de un sistema de ventanas, iconos y menús, con la ayuda del ratón, definir los diagramas, matrices, etc. que incluyen las distintas metodologías.