jueves, 9 de febrero de 2012

DISEÑO DE SOFTWARE

1.¿QUE ES SOFTWARE?


El software no son sólo programas, sino todos los documentos asociados y la configuración de datos que se necesitan para hacer que estos programas operen de manera correcta. Por lo general, un sistema de software consiste de diversos programas independientes, archivos de configuración que se utilizan para ejecutar estos programas un sistema de documentación que describe la estructura del sistema, la documentación para el usuario que explica cómo utilizar el sistema y, en cuanto a los productos de software, sitios Web que permitan a los usuarios descargar la información de productos recientes.

Existen dos tipos de software:

1. PRODUCTOS GENERICOS: Son sistemas aislados producidos por una organización de desarrollo y que se venden al mercado abierto a cualquier cliente que le sea posible comprarlos. Algunas veces éstos se denominan software empaquetado. Ejemplos de este tipo de productos son las bases de datos, los procesadores de texto, los paquetes de dibujo y las herramientas de administración de proyectos.

2. PRODUCTOS PERSONALIZADOS: Son sistemas requeridos por un cliente en particular. Un contratista de software desarrolla el software especialmente para ese cliente. Ejemplos de este tipo de software son los sistemas de control para instrumentos electrónicos, sistemas desarrollados para llevar a cabo procesos de negocios específicos y sistemas de control de tráfico aéreo.

Una diferencia importante entre estos diferentes tipos de software es que, en los productos genéricos, la organización que desarrolla el software controla especificación.

2.¿QUE ES LA INGENIERIA DE SOFTWARE?

Es una disciplina que comprende todos los aspectos de la producción de software desde las etapas iniciales de la especificación del sistema, hasta el mantenimiento de éste después de que se utiliza.

1.”disciplina de la ingeniería”. Los ingenieros hacen que las cosas funcionen. Aplican teorías, métodos y herramientas donde sean convenientes, pero las utilizan de forma selectiva y siempre tratando de descubrir soluciones a los problemas, aun cuando no existan teorías y métodos aplicables para resolverlos.

2.”todos los aspectos de producción de software”. La ingeniería de software no solo comprende los procesos técnicos del desarrollo de software, sino también las actividades, como la administración de proyectos de software y el desarrollo de herramientas, métodos y teorías de apoyo a la producción de software .En general, los ingenieros de software adoptan un enfoque sistemático y organizado en su trabajo, ya que es la forma más efectiva de producir software de alta calidad.

El desarrollo informal es apropiado para el desarrollo de sistemas de comercio electrónico basados en Web que requieren una mezcla de capacidades de software y de diseño gráfico.

3.¿CUAL ES LA DIFERENCIA ENTRE INGENIERIA DE SOFTWARE Y CIENCIA DE LA COMPUTACION?

Esencialmente, la ciencia de la computación se refiere a las teorías y métodos subyacentes a las computadoras y los sistemas de software, mientras que la ingeniería de software se refiere a os problemas prácticos de producir software .Los ingenieros de software a menudo utilizan enfoques ad hoc para desarrollar el software.

4.¿CUAL ES LA DIFERENCIA ENTRE INGENIERIA DE SOFTWARE E INGENIERIA DE SISTEMAS?
La ingeniería de sistemas comprende el desarrollo de hardware, políticas y procesos de diseño y distribución de sistemas, así como la ingeniería de software. Los ingenieros de sistemas están involucrados en la especificación del sistema, en la definición de su arquitectura y en la integración de las diferentes partes para crear el sistema final. Están menos relacionados con la ingeniería de los componentes del sistema (hardware, software, etc.).

La ingeniería de sistemas es más antigua que la de software. Por más de 100 años las personas han especificado y construido sistemas industriales complejos, como trenes y plantas químicasftware, mientras que la ingeniería de software se refiere a os problemas prácticos de producir software .Los ingenieros de software a menudo utilizan enfoques ad hoc para desarrollar el software.

5.¿QUE ES UN PROCESO DE SOFTWARE?

Es un conjunto de actividades y resultados asociados que producen un producto de software. Existen cuatro actividades fundamentales de procesos que son comunes para todos los procesos del software. Estas actividades son:

1. ESPECIFICACION DEL SOFTWARE: La funcionalidad del software y las restricciones sobre su operación deben quedar definidas.

2. DESARROLLO DEL SOFTWARE: Debe producirse software que cumpla con la especificación.

3. VALIDACION DEL SOFTWARE: El software debe validarse para asegurar qué es lo que el cliente requiere.

4. EVOLUCION DEL SOFTWARE: El software debe evolucionar para cumplir con los cambios requeridos por el cliente .Distintos procesos del software organizan esta actividades de diferentes formas y las describen con diferente nivel de detalle.
6.¿QUE ES UN MODELO DE PROCESOS DEL SOFTWARE?

Es una descripción de un proceso del software que se presenta desde una perspectiva particular. Un modelo de procesos del software es una abstracción de un proceso real. Algunos ejemplos de esos tipos de modelos que se pueden producir son:

1. UN MODELO DE TRABAJO FIJO: Muestra la secuencia de actividades en el proceso en conjunción con sus entradas, salidas y dependencias.

2. UN MODELO DE FLUJO DE DATOS O DE ACTIVIDAD: Representa el proceso como un conjunto de actividades, cada una de las cuales lleva a alguna transformación en los datos.

3. UN MODELO DE ROL/ACCION: Representan los roles de la gente involucrada en el proceso del software, y las actividades de las que son responsables.

Existe una gran variedad de modelos generales diferentes o paradigmas de desarrollo de software:

1. EL ENFOQUE DE CASCADA: Considera las actividades anteriores y las representa como fases de procesos separados, como la especificación de requerimientos, el diseño del software, la implementación, las pruebas, etc.

2. DESARROLLO EVOLUTIVO: Este enfoque entrelaza las actividades de especificación, desarrollo y validación. Un sistema inicial se desarrolla rápidamente a partir de especificaciones muy abstractas .Éste se refina basándose en las peticiones del cliente para producir un sistema que satisfaga las necesidades de dicho cliente.

3. TRANSFORMACION FORMAL: Este enfoque se basa en la producción de la especificación matemática formal del sistema y la transformación de esta especificación a un proceso utilizando métodos matemáticos.

4. SISTEMA DE ENSAMBLAJE DE COMPONENTES REUTILIZABLES: Esta técnica supone que las partes del sistema existen

HISTORIA
El contexto en el que se ha desarrollado el software está fuertemente ligado a la evolución de los sistemas informáticos. Un mejor rendimiento del hardware, una reducción del tamaño y un costo más bajo, han dado lugar a sistemas informáticos más sofisticados.
La evolución del software dentro del contexto de las áreas de aplicación de los sistemas basados en computadoras, puede verse de la siguiente manera :
Los primeros añosLa segunda eraLa tercera eraLa cuarta era
1950 - 1965
1965 - 1975
1975 - 1985
1985 -
  • Orientación por lotes
  • Distribución limitada
  • Software “a medida”
  • Multiusuario
  • Tiempo real
  • Bases de Datos
  • Software como producto
  • Sistemas distribuidos
  • Incorporación de “inteligencia”
  • Hardware de bajo costo
  • Impacto en el consumo
  • Potentes sistemas de escritorio
  • Tecnología orientada a objetos
  • Sistemas expertos
  • Redes neuronales artificiales
  • Computación paralela

No hay comentarios:

Publicar un comentario