Ingeniería de
Software II
MATERIAL DE APOYO PARA LA PRIMERA UNIDAD
Universidad Tecnológica de Hermosillo
Tecnologías de la información y Comunicación
Sistemas Informáticos
Ingeniería de Software II

Facilitador:
José Padilla Duarte
Definición de la IS
Por:
Gema Ivette Durán Verdi
Hermosillo sonora a 11 de Enero del 2014
¿Qué es la is?



“Ingeniería de software es la aplicación práctica del conocimiento
científico al diseño y construcción de programas de
computadora, a la documentación asociada requerida para
desarrollar, operar y mantenerlos.”
¿POR Qué es importante la IS?
Sin la IS no se podría:


Analizar



Diseñar



Programar



Aplicar

Si la IS no estuviera presente en estos
procesos difícilmente se podrían satisfacer
las necesidades del cliente; él o las
personas involucradas en el proyecto no
llegarían a un acuerdo lo que pondría en
peligro la calidad del producto obtenido.
¿SERÁ ÚTIL LA IS?


La utilidad de la IS en
el marco de
fabricación y diseño
de un producto define
la misma utilidad de un
software analiza si es
factible o no la
realización de este.
Si la IS NO SE APLICARA….


Antes de que existiera la IS, los
ingenieros que se dedicaban al diseño,
operación y mantenimiento de las
primeras máquinas cometían errores en
la programación, la mayoría de estos
errores no eran corregidos por que
pertenecían a software embedidos.



Históricamente se han registrado
accidentes por fallas en la
programación y operación de software
puesto que no tenían definido un marco
de trabajo como el que la IS dispone en
la actualidad.
Therac 25


El Therac 25 fue una máquina
diseñada para enfermos que
requerían de tratamientos de
radiación.



Fue responsable de graves
quemaduras y muertes en algunos
casos.



La máquina proporcionaba dosis
de radiación 100 veces mas altas
de las que algunos pacientes
necesitaban
Como se observa prescindir de la IS no es el mejor camino para desarrollar software seguro
y confiable,
Se debe tener siempre en cuenta que los usuarios son las víctimas, y que desarrollar
software que respete normas básicas de calidad no solo es una tarea entre la
computadora y el desarrollador.
¿todo el software es lo mismo que
hacen todas las máquinas?
TIPOS DE Software según la is
SOFTWARE DE
SISTEMA

SOFTWARE DE
PROGRAMACIÓN

SOFTWARE DE
APLICACIÓN
Software de sistema
Software de Sistema
Procura al usuario y programador adecuadas
interfaces de alto nivel, controladores, herramientas
y utilidades de apoyo que permiten el
mantenimiento del sistema global. Incluye entre
otros:
•
•
•
•
•
•

Sistemas operativos
Controladores de dispositivos
Herramientas de diagnóstico
Herramientas de Corrección y Optimización
Servidores
Utilidades
Software de
programación
Software de Programación:
Es el conjunto de herramientas que permiten al programador desarrollar
programas informáticos, usando diferentes alternativas y lenguajes de
programación, de una manera práctica. Incluyen básicamente:
Editores de texto
Compiladores
Intérpretes
Enlazadores
Depuradores
Software de aplicación
Software de aplicación
Es aquel que permite a los usuarios llevar a cabo una o varias
tareas específicas, en cualquier campo de actividad susceptible
de ser automatizado o asistido, con especial énfasis en los
negocios.
ORGANIZACIONES DE ESTANDARIZACIÓN DE
Software
SOFTWARE ENGINEERING
INSTITUTE

El Instituto de Ingeniería de Software engloba toda la oferta de
productos y servicios en Ingeniería de Software, Sistemas y
Tecnologías de Información (SI/TI) ya que en todos ellos interviene
el software como elemento diferencia
WORLD WIDE WEB
CONSORTIUM
La W3C es una organización que construye estándares para
la web,
es dirigida por Tim Berners-Lee creador del
protocolo HTTP, del URL y el lenguaje de texto plano HTML,
tecnologías esenciales para el desarrollo Web.
MODELOS DE DESARROLLO DE
SOFTWARE
La ingeniería de software dispone de varios modelos,
paradigmas y filosofías de desarrollo, en los cuales se
apoya para la construcción del software, entre ellos:
MODELO DE CASCADA

El enfoque metodológico que ordena
rigurosamente las etapas del proceso para
el desarrollo de software, de tal forma que
el inicio de cada etapa debe esperar a la
finalización de la etapa anterior.
MODELO DE PROTOTIPO

El

Modelo

de

prototipos,

en

Ingeniería

de

software, pertenece a los modelos de desarrollo
evolutivo.
Características:
- El prototipo debe ser construido en poco tiempo
- Usar los programas adecuados
- No se debe utilizar muchos recursos.
MODELO DE ESPIRAL

Las actividades de este modelo se conforman en
una espiral.
Cada bucle o iteración representa un conjunto de
actividades.
Las actividades no están fijadas a ninguna
prioridad, sino que las siguientes se eligen en función
del análisis de riesgo, comenzando por el bucle
interior.
MODELADO POR ETAPAS
DESARROLLO ITERATIVO CRECIENTE
El proceso iterativo incremental se
basa en la retroalimentación del
usuario.
En cada iteración se involucra el
análisis de:
- Estructura
- Modularidad
- Usabilidad
- Confiabilidad
- Eficiencia
- Eficacia
La lista de control del proyecto se
modifica bajo la luz de los
resultados del análisis.
Rapid application development

El método comprende:
- El desarrollo interactivo
- La construcción de prototipos
- El uso de utilidades CASE (Computer Aided
Software Engineering).
El RAD tiende a englobar:
- La usabilidad
- Utilidad
- Rapidez
Proceso unificado
El nombre Proceso Unificado se usa para describir el
proceso genérico que incluye aquellos elementos
que son comunes a la mayoría de los refinamientos
existentes.
Características:
- Evoluciono al Proceso Unificado de Rational
- Este Modelo evita problemas legales
- El RUP es una marca registrada por IBM
CICLO DE VIDA DEL SOFTWARE
REQUERIMIENTOS


Es la primera etapa del proceso



Se definen las necesidades



Objetivos



Alcances



Necesidades



Recursos
Análisis


Esta es la segunda etapa, cuestiona la factibilidad de conseguir el
producto, en base a los recursos disponibles como:



Recursos Humanos



Recursos Tecnológicos



Recursos Económicos



Recopilar, examinar y formular los requisitos del cliente y examinar
cualquier restricción que se pueda aplicar.
DISEÑO Y ARQUITECTURA


Requisitos generales de la arquitectura de la aplicación.



Definición precisa de cada subconjunto de la aplicación.
PROGRAMACIÓN


Es la implementación de un lenguaje de programación para crear
las funciones definidas durante la etapa de diseño.
PRUEBAS


Prueba de unidad: prueba individual de cada subconjunto de la
aplicación para garantizar que se implementaron de acuerdo con
las especificaciones.



Integración: para garantizar que los diferentes módulos se integren
con la aplicación. Éste es el propósito de la prueba de integración
que está cuidadosamente documentada.



Prueba beta (o validación), para garantizar que el software cumple
con las especificaciones originales.



Documentación: sirve para documentar información necesaria
para los usuarios del software y para desarrollos futuros.
IMPLEMENTACIÓN

La implementación es parte del proceso en el que
los ingenieros de software programan el código para
el proyecto.
Las pruebas de software son parte esencial del
proceso de desarrollo del software. Esta parte del
proceso tiene la función de detectar los errores de
software lo antes posible.
MANTENIMIENTO

El mantenimiento y mejora del software de un
software con problemas recientemente desplegado
puede requerir más tiempo que el desarrollo inicial
del software.


Concluyendo la IS es una disciplina que respalda la fabricación de
un paquete informático si se utiliza cada una de la técnicas de la
manera apropiada obtendremos un producto integro que
garantize su funcionalidad, seguridad, imagen y preservación y
autenticidad de la información
ADVERTENCIA!!!



EL CONTENIDO MANEJADO EN ESTA PRESENTACIÓN ESTÁ BASADO EN UNA
INVESTIGACIÓN DE LA CLASE DE INGENIERÍA DE SOFTWARE II, SE REALIZÓ LA
CONSULTA DE DIVERSOS SITIOS ONLINE QUE MANEJAN TODOS LOS CONCEPTOS,
PRÁCTICAS, PRECEDENTES HISTÓRICOS, EN EL DOCUMENTO WORD SOLICITADO
SE ENCUENTRAN LAS REFERENCIAS DE IMÁGENES Y TEXTOS EXPUESTOS.
bibliografía











https://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software
http://es.wikipedia.org/wiki/Calidad_de_software
https://es.wikipedia.org/wiki/Historia_de_la_ingenier%C3%ADa_del_soft
ware
https://en.wikipedia.org/wiki/List_of_publications_in_computer_science
#Report_of_a_conference_sponsored_by_the_NATO_Science_Committ
ee
https://es.wikipedia.org/wiki/Therac_25
http://ingenieriadesoftware3.blogspot.mx/p/importancia-de-laingenieria-del.html
http://es.wikipedia.org/wiki/Software
http://es.wikipedia.org/wiki/Software_Engineering_Institute
www.sei.cmu.edu
Goodby

Software Engineering Definitions

  • 1.
    Ingeniería de Software II MATERIALDE APOYO PARA LA PRIMERA UNIDAD
  • 2.
    Universidad Tecnológica deHermosillo Tecnologías de la información y Comunicación Sistemas Informáticos Ingeniería de Software II Facilitador: José Padilla Duarte Definición de la IS Por: Gema Ivette Durán Verdi Hermosillo sonora a 11 de Enero del 2014
  • 4.
    ¿Qué es lais?  “Ingeniería de software es la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora, a la documentación asociada requerida para desarrollar, operar y mantenerlos.”
  • 5.
    ¿POR Qué esimportante la IS? Sin la IS no se podría:  Analizar  Diseñar  Programar  Aplicar Si la IS no estuviera presente en estos procesos difícilmente se podrían satisfacer las necesidades del cliente; él o las personas involucradas en el proyecto no llegarían a un acuerdo lo que pondría en peligro la calidad del producto obtenido.
  • 6.
    ¿SERÁ ÚTIL LAIS?  La utilidad de la IS en el marco de fabricación y diseño de un producto define la misma utilidad de un software analiza si es factible o no la realización de este.
  • 7.
    Si la ISNO SE APLICARA….
  • 8.
     Antes de queexistiera la IS, los ingenieros que se dedicaban al diseño, operación y mantenimiento de las primeras máquinas cometían errores en la programación, la mayoría de estos errores no eran corregidos por que pertenecían a software embedidos.  Históricamente se han registrado accidentes por fallas en la programación y operación de software puesto que no tenían definido un marco de trabajo como el que la IS dispone en la actualidad.
  • 10.
    Therac 25  El Therac25 fue una máquina diseñada para enfermos que requerían de tratamientos de radiación.  Fue responsable de graves quemaduras y muertes en algunos casos.  La máquina proporcionaba dosis de radiación 100 veces mas altas de las que algunos pacientes necesitaban
  • 14.
    Como se observaprescindir de la IS no es el mejor camino para desarrollar software seguro y confiable, Se debe tener siempre en cuenta que los usuarios son las víctimas, y que desarrollar software que respete normas básicas de calidad no solo es una tarea entre la computadora y el desarrollador.
  • 15.
    ¿todo el softwarees lo mismo que hacen todas las máquinas?
  • 16.
    TIPOS DE Softwaresegún la is SOFTWARE DE SISTEMA SOFTWARE DE PROGRAMACIÓN SOFTWARE DE APLICACIÓN
  • 17.
    Software de sistema Softwarede Sistema Procura al usuario y programador adecuadas interfaces de alto nivel, controladores, herramientas y utilidades de apoyo que permiten el mantenimiento del sistema global. Incluye entre otros: • • • • • • Sistemas operativos Controladores de dispositivos Herramientas de diagnóstico Herramientas de Corrección y Optimización Servidores Utilidades
  • 18.
    Software de programación Software deProgramación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluyen básicamente: Editores de texto Compiladores Intérpretes Enlazadores Depuradores
  • 19.
    Software de aplicación Softwarede aplicación Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios.
  • 20.
  • 21.
    SOFTWARE ENGINEERING INSTITUTE El Institutode Ingeniería de Software engloba toda la oferta de productos y servicios en Ingeniería de Software, Sistemas y Tecnologías de Información (SI/TI) ya que en todos ellos interviene el software como elemento diferencia
  • 22.
    WORLD WIDE WEB CONSORTIUM LaW3C es una organización que construye estándares para la web, es dirigida por Tim Berners-Lee creador del protocolo HTTP, del URL y el lenguaje de texto plano HTML, tecnologías esenciales para el desarrollo Web.
  • 23.
    MODELOS DE DESARROLLODE SOFTWARE La ingeniería de software dispone de varios modelos, paradigmas y filosofías de desarrollo, en los cuales se apoya para la construcción del software, entre ellos:
  • 24.
    MODELO DE CASCADA Elenfoque metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la etapa anterior.
  • 25.
    MODELO DE PROTOTIPO El Modelo de prototipos, en Ingeniería de software,pertenece a los modelos de desarrollo evolutivo. Características: - El prototipo debe ser construido en poco tiempo - Usar los programas adecuados - No se debe utilizar muchos recursos.
  • 26.
    MODELO DE ESPIRAL Lasactividades de este modelo se conforman en una espiral. Cada bucle o iteración representa un conjunto de actividades. Las actividades no están fijadas a ninguna prioridad, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle interior.
  • 27.
  • 28.
    DESARROLLO ITERATIVO CRECIENTE Elproceso iterativo incremental se basa en la retroalimentación del usuario. En cada iteración se involucra el análisis de: - Estructura - Modularidad - Usabilidad - Confiabilidad - Eficiencia - Eficacia La lista de control del proyecto se modifica bajo la luz de los resultados del análisis.
  • 29.
    Rapid application development Elmétodo comprende: - El desarrollo interactivo - La construcción de prototipos - El uso de utilidades CASE (Computer Aided Software Engineering). El RAD tiende a englobar: - La usabilidad - Utilidad - Rapidez
  • 30.
    Proceso unificado El nombreProceso Unificado se usa para describir el proceso genérico que incluye aquellos elementos que son comunes a la mayoría de los refinamientos existentes. Características: - Evoluciono al Proceso Unificado de Rational - Este Modelo evita problemas legales - El RUP es una marca registrada por IBM
  • 31.
    CICLO DE VIDADEL SOFTWARE
  • 32.
    REQUERIMIENTOS  Es la primeraetapa del proceso  Se definen las necesidades  Objetivos  Alcances  Necesidades  Recursos
  • 33.
    Análisis  Esta es lasegunda etapa, cuestiona la factibilidad de conseguir el producto, en base a los recursos disponibles como:  Recursos Humanos  Recursos Tecnológicos  Recursos Económicos  Recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar.
  • 34.
    DISEÑO Y ARQUITECTURA  Requisitosgenerales de la arquitectura de la aplicación.  Definición precisa de cada subconjunto de la aplicación.
  • 36.
    PROGRAMACIÓN  Es la implementaciónde un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.
  • 38.
    PRUEBAS  Prueba de unidad:prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones.  Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada.  Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales.  Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros.
  • 39.
    IMPLEMENTACIÓN La implementación esparte del proceso en el que los ingenieros de software programan el código para el proyecto. Las pruebas de software son parte esencial del proceso de desarrollo del software. Esta parte del proceso tiene la función de detectar los errores de software lo antes posible.
  • 40.
    MANTENIMIENTO El mantenimiento ymejora del software de un software con problemas recientemente desplegado puede requerir más tiempo que el desarrollo inicial del software.
  • 41.
     Concluyendo la ISes una disciplina que respalda la fabricación de un paquete informático si se utiliza cada una de la técnicas de la manera apropiada obtendremos un producto integro que garantize su funcionalidad, seguridad, imagen y preservación y autenticidad de la información
  • 42.
    ADVERTENCIA!!!  EL CONTENIDO MANEJADOEN ESTA PRESENTACIÓN ESTÁ BASADO EN UNA INVESTIGACIÓN DE LA CLASE DE INGENIERÍA DE SOFTWARE II, SE REALIZÓ LA CONSULTA DE DIVERSOS SITIOS ONLINE QUE MANEJAN TODOS LOS CONCEPTOS, PRÁCTICAS, PRECEDENTES HISTÓRICOS, EN EL DOCUMENTO WORD SOLICITADO SE ENCUENTRAN LAS REFERENCIAS DE IMÁGENES Y TEXTOS EXPUESTOS.
  • 43.
  • 44.