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ños | La segunda era | La tercera era | La 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
|