Beruflich Dokumente
Kultur Dokumente
INGENIERÍA DEL
SOFTWARE
Profesora: Participantes:
Ing. Noralba Zafra Ana Jiménez C.I:27.464.842
Asignatura: Carlos Betancourt C.I: 26.927.791
Reingeniería de Procesos Gabriela Urdaneta C.I:26.442.364
Sección: Julio Pérez C.I:27.120.444
7S-0518-D1 Maria Escalona C.I:26.570.561
Luis Mujica C.I:26.954.383
Contenido
¿QUÉ ES EL SOFTWARE?................................................................................................3
INGENIERÍA DEL SOFTWARE..........................................................................................3
ORIGEN..................................................................................................................................4
ELEMENTOS DE LA INGENIERÍA DEL SOFTWARE...................................................6
FASES DEL PROCESO DE DESARROLLO DE SOFTWARE.....................................7
CICLO DE VIDA....................................................................................................................8
MODELOS DE CICLO DE VIDA DEL 'SOFTWARE'......................................................9
Modelo en cascada.........................................................................................................9
Modelo V..........................................................................................................................10
PRINCIPIOS DE LA INGENIERÍA DE SOFTWARE.....................................................11
CARACTERÍSTICAS..........................................................................................................12
CARACTERÍSTICAS DEL SOFTWARE.....................................................................12
¿QUÉ ES EL SOFTWARE?
Software es un término informático que hace referencia a un programa
o conjunto de programas de cómputo, así como datos, procedimientos y
pautas que permiten realizar distintas tareas en un sistema informático.
Comúnmente se utiliza este término para referirse de una forma muy
genérica a los programas de un dispositivo informático, sin embargo, el
software abarca todo aquello que es intangible en un sistema computacional.
El software es el conjunto de instrucciones que una computadora debe
seguir, es decir, todas aquellas indicaciones sobre lo que tiene que hacer y
cómo. Esta definición contrasta con hardware, que se refiere a los
componentes físicos de la computadora, aquellos dispositivos, aparatos y
equipos que pueden ser tocados, vistos y manipulados. Sin el software, no
importa lo grande o costoso que sea el hardware, este no funcionará. El
conjunto del software y el hardware forman lo que se llama un sistema
informático y los dos van de la mano.
El concepto de software, como bien dijimos anteriormente, compone la
parte lógica de un sistema de computación, permitiéndole el funcionamiento.
Esto quiere decir entonces que no solo los programas son y forman un
software, sino que la información del usuario y los datos procesados integran
el software, ya que forma parte de él todo componente intangible y no físico.
ORIGEN
La ingeniería de software surgió de una serie de investigaciones en la
década de los sesenta. Las primeras investigaciones al respecto buscaban
hallar mejores mecanismos para escribir programas. Trabajos posteriores,
como el análisis y diseño estructurado, comenzaron a presentar una visión
más amplia del proceso. La disciplina se ha enriquecido con muchas
investigaciones y avances tecnológicos desde esa época.
Normalmente, se considera que la ingeniería de software tuvo su
origen histórico en esta conferencia del comité científico de la OTAN el año
1968 (aunque también hay quién dice que el término ya se usaba antes). El
origen exacto del término “Ingeniería de Software” es más discutido pero el
consenso actual es que fue popularizado por Margaret Hamilton, cuando
estaba trabajando en el desarrollo del software de navegación para el
Programa Espacial Apolo.
El concepto de ingeniería del software surgió en 1968, tras una
conferencia en Garmisch (Alemania) que tuvo como objetivo resolver los
problemas de la crisis del software. El término crisis del software se usó
desde finales de 1960 hasta mediados de 1980 para describir los frecuentes
problemas que aparecían durante el proceso de desarrollo de nuevo
software.
Tras la aparición de nuevo hardware basado en circuitos integrados,
comenzaron a desarrollarse sistemas y aplicaciones mucho más complejos
que hasta entonces no era posible construir puesto que el hardware
disponible no lo permitía. Estos nuevos proyectos de desarrollo de software,
en la mayoría de ocasiones, no se terminaban a tiempo, lo cual también
provocaba que el presupuesto final del software excediera de aquel que se
había pactado.
Algunos de estos proyectos eran tan críticos (sistemas de control de
aeropuertos, equipos para medicina, etc.) que sus implicaciones iban más
allá de las pérdidas millonarias que causaban. Además, en muchos casos el
software no daba respuesta a las verdaderas necesidades del cliente o había
que ser un usuario experto para poder utilizarlo, todo ello sumado a que el
mantenimiento de los productos era complejo y muy costoso.
El software no se producía como el hardware, que tenía un proceso de
fabricación definido y dividido en fases. El resultado eran productos de
pésima calidad en los que se habían invertido mucho tiempo y dinero pero
que o bien no llegaban a terminarse o bien a la larga no daban el resultado
que se esperaba. Se detectó que los métodos de desarrollo de software
informales que hasta entonces habían bastado para proyectos pequeños no
eran suficientes para los nuevos y grandes proyectos, y que se necesitaban
profesionales especializados en esta nueva disciplina que fueran capaces de
lidiar con la creciente complejidad de los nuevos sistemas.
Su origen se debió a que el entorno de desarrollo de sistemas
software adolecía de:
CICLO DE VIDA
El término ciclo de vida del software describe el desarrollo de software,
desde la fase inicial hasta la fase final. El propósito de este programa es
definir las distintas fases intermedias que se requieren para validar el
desarrollo de la aplicación, es decir, para garantizar que el software cumpla
los requisitos para la aplicación y verificación de los procedimientos de
desarrollo: se asegura de que los métodos utilizados son apropiados.
Estos programas se originan en el hecho de que es muy costoso
rectificar los errores que se detectan tarde dentro de la fase de
implementación. El ciclo de vida permite que los errores se detecten lo antes
posible y, por lo tanto, permite a los desarrolladores concentrarse en la
calidad del software, en los plazos de implementación y en los costos
asociados.
El ciclo de vida básico de un software consta de los siguientes
procedimientos:
Definición de objetivos: define la finalidad del proyecto y su papel en la
estrategia global.
Análisis de los requisitos y su viabilidad: recopila, examina y formula los
requisitos del cliente y examina cualquier restricción que se pueda aplicar.
Diseño general: requisitos generales de la arquitectura de la aplicación.
Diseño en detalle: definición precisa de cada subconjunto de la aplicación.
Programación (programación e implementación): implementación de un
lenguaje de programación para crear las funciones definidas durante la etapa
de diseño.
Prueba de unidad: prueba individual de cada subconjunto de la aplicación
para garantizar que se implementaron de acuerdo con las especificaciones.
Integración: garantiza que los diferentes módulos se integren con la
aplicación. Este es el propósito de la prueba de integración que está
cuidadosamente documentada.
Prueba beta (o validación): garantiza que el software cumple con las
especificaciones originales. Consiste en comprobar que el software
responda/realice correctamente las tareas indicadas en la especificación. Es
una buena praxis realizar pruebas a distintos niveles (por ejemplo, primero a
nivel unitario y después de forma integrada de cada componente) y por
equipos diferenciados del de desarrollo (pruebas cruzadas entre los
programadores o realizadas por un área de test independiente).
Documentación: sirve para documentar información necesaria para los
usuarios del software y para desarrollos futuros. Todo lo concerniente a la
documentación del propio desarrollo del software y de la gestión del
proyecto, pasando por modelaciones, diagramas, pruebas, manuales de
usuario, manuales técnicos, etc. Todo con el propósito de eventuales
correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema.
Implementación: la etapa de implementación del diseño de software es el
proceso de convertir una especificación del sistema en un sistema
ejecutable. Esta etapa es una descripción de la estructura del software que
se va a implementar, los datos que son parte del sistema, las interfaces entre
los componentes del sistema, y algunas veces los algoritmos utilizados.
Mantenimiento: comprende todos los procedimientos correctivos
(mantenimiento correctivo) y las actualizaciones secundarias del software
(mantenimiento continuo). Es decir, mantener y mejorar el software para
enfrentar errores descubiertos y nuevos requisitos. En otras palabras, en
esta etapa se realizan un mantenimiento correctivo (resolver errores) y un
mantenimiento evolutivo (mejorar las funcionalidades y/o dar respuesta a
nuevos requisitos).
El orden y la presencia de cada uno de estos procedimientos en el
ciclo de vida de una aplicación dependen del tipo de modelo de ciclo de vida
acordado entre el cliente y el equipo de desarrolladores.
Modelo V
El modelo de ciclo de vida V proviene del principio que establece que
los procedimientos utilizados para probar si la aplicación cumple las
especificaciones ya deben haberse creado en la fase de diseño.
PRINCIPIOS DE LA INGENIERÍA DE SOFTWARE
Una serie de principios dirige la práctica de la ingeniería de software,
que son fundamentales y además contribuyen a la aplicación de los
procedimientos del software.
En la práctica, los principios determinan los valores y reglamento que
servirán para el momento de investigar o estudiar un problema; luego se
buscará y diseñará la solución, se reparará, se probará y al estar listo, se
distribuirá entre la comunidad de usuarios.
Existen una serie de principios fundamentales que facilitan los
procedimientos y la práctica del software, como, por ejemplo:
1. Agregar valor para los usuarios finales
2. Mantenerlo sencillo
3. Fijar la visión (producto-proyecto)
4. Reconocer que los consumidores deben comprender lo que usted
ofrece
5. Abrirse al futuro
6. Planear la reutilización
7. ¡pensar!
CARACTERÍSTICAS
Veamos cada uno de las principales características que hacen a un
software de calidad.