SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Ingeniería de Software
Diseño, construcción y mantenimiento de sistemas de
software grandes.
Diapositivas Traducidas por:
Dr. Pedro Mejía Alvarez.
CINVESTAV-IPN, México
Septiembre 2003.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Objetivos
Definir la Ingeniería de Software y explicar su
importancia.
Discutir los conceptos de producto de software y proceso
de software.
Explicar la importancia de la visibilidad delos procesos.
Introducir la noción de responsabilidad profesional.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Tópicos
Productos de Software.
El proceso de Software.
El modelo de Espiral de Boehm.
La visibilidad de los procesos.
Responsabilidad profesional.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Ingeniería de Software
Las economías de los países desarrollados dependen en
gran parte del software.
Mas y más sistemas son actualmente controlados por
software.
La Ingeniería de Software concierne a teorías, métodos y
herramientas para el desarrollo profesional de software.
El gasto en La Ingeniería de Software, representa un alto
porcentaje del PIB de los países desarrollados.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Ingenieria de Software: Conceptos Basicos
Que es la Ingenieria de Software ?
Cual es la diferencia entre un programador y un
Ingeniero de Software?
Cual es la diferencia entre un Ingeniero de Software y
un Ingeniero de Sistemas?
Cual es la diferencia entre la Ingenieria de Software y
la Computacion ?
Que es el software ?
Que es un proceso de software ?
Que es un modelo de software?
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Que es la Ingeniería de Software
La Ingeniería de Software es una diciplina de la
Ingeniería que concierne a todos los aspectos de la
producción de software
Los Ingenieros de Software adoptan un enfoque
sistematico para llevar a cabo su trabajo y utilizan las
herramientas y tecnicas necesarias para resolver el
problema planteado, de acuerdo a las restricciones de
desarrollo y recursos disponibles.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Diferencia entre Ingenieria de Software y Computacion
La computacion concierne a la teoria y fundamentos de
cualquier sistema de computo, sea de hardware o de
software.
La Ingenieria de software concierne solo al desarollo de
sisetmas o productos de software
La Ingeniria de Sofware todavia esta lejos de ser una
ciencia como los son la Quimica, la Ingenieria Civil o la
Electronica.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Ingenieria de Sistemas e Ingenieria de Software
La Ingeniería de Sistemas concierne a todos los
aspectos del desarrollo de sistemas basados en
cómputo, que incluyen hardware, software y el
proceso de Ingeniería. La Ingeniería de Software es
solo parte de este proceso.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Que es el Software ?
Programas de cómputo y su documentacion asociada
Sistemas o Productos de software grandes y complejos.
Que contiene el software.
Que tipos de software hay ?
Cual es el costo del software.
Como se desarrolla el software ?
Como saber si un software tiene calidad.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Productos de Software
Productos genéricos.
Productos que son producidos por una organización para ser vendidos al
mercado.
Productos hechos a medida.
Sistemas que son desarrollados bajo pedido a un desarrollador específico.
La mayor parte del gasto del software es en productos
genéricos, pero hay más esfuerzo en el desarrollo de los
sistemas hechos a medida.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Características de los Productos de
Software
Mantenibles.
Debe ser posible que el software evolucione y que siga cumpliendo con
sus especificaciones.
Confiabilidad.
El software no debe causar danos físicos o económicos en el caso de
fallos.
Eficiencia.
El software no debe desperdiciar los recursos del sistema.
Utilización adecuada.
El software debe contar con una interfaz de usuario adecuada y su
documentación.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Importancia de las características del producto
La importancia relativa de las características depende en el
tipo de producto y en el ambiente en el que será utilizado.
En algunos casos, algunos atributos pueden dominar.
En sistemas de seguridad críticos de tiempo real, los atributos clave
pueden ser la confiabilidad y la eficiencia.
Los costos tienden a crecer exponencialmente si son
requeridos altos niveles de alguna característica.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Que contiene el software ?
El software contiene:
– Líneas de código de algún lenguaje ?
– Instrucciones de computadora.
– Descripción de las estructuras de datos.
– Algoritmos.
– Procedimientos y funciones.
– Componentes de software.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Que tipos de software hay ?
Por su estructura:
– Funcionales.
– Orientados a objetos.
– Orientados a listas.
– Orientados a componentes.
Por su funcion:
– Programas o Sistemas de Usuario
– Interfaces Hombre-Maquina.
– Herramientas de Software.
– Librerias.
– Sistemas de uso generico: Compiladores, S.O’s, Procesadores de Texto,
etc.
– Bases de Datos.
– Sistemas basados en Web.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Que tipos de software hay ?
Por su plataforma de computo:
– Sistemas embebidos.
– Sistemas de computo distribuido.
– Sistemas de computo paralelo.
– Sistemas de tiempo real.
– Sistemas basados en Chips.
– Wearable computing systems.
– Sistemas de computo ubiquos.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Costos del Software
Los costos del software a menudo dominan al costo del
sistema. El costo del software en un PC es a menudo mas
caro que la PC.
Cuesta mas mantener el software que desarrollarlo. Para
sistemas con una larga vida, este costo se multiplica.
La Ingeniería de Software concierne a un desarrollo
efectivo en cuanto a costes del software.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Costes de Eficiencia.
Costos
Eficiencia
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
El Proceso de Software
Conjunto estructurado de actividades requeridas para
desarrollar un sistema de software.
Especificación- que debe hacer el software y cuales son sus
especificaciones de desarrollo.
Desarrollo – produccion del sistema de software.
Validación – verificar que el software hace lo que el cliente pide.
Evolución – cambiar/adaptar el software a las demandas.
Las actividades varían dependiendo de la organización y
del tipo de sistema a desarrollarse.
Debe estar explícitamente modelado si va a ser bien
administrado.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Proceso Genérico de Software
Especificación - establecer los requerimientos y
restricciones del sistema
Diseño - Producir un modelo en papel del sistema
Manufactura - construir el sistema
Prueba - verificar que el sistema cumpla con las
especificaciones requeridas
Instalación - entregar el sistema al usuario y asegurar su
operacionalidad
Mantenimiento - reparar fallos en el sistema cundo sea
descubiertos
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Características del proceso
Entendible
Se encuentra el proceso bien definido y es entendible ?.
Visible
El proceso es visible al exterior ?.
Soportable
Puede el proceso ser soportado por herramientas CASE ?.
Aceptable
El proceso es aceptado por aquellos involucrados en el ?.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Características del proceso
Confiable
Los errores del proceso son descubiertos antes de que se conviertan en
errores del producto ?.
Robusto
Puede continuar el proceso a pesar de problemas inesperados ?.
Mantenible
Puede el proceso evolucionar para cumplir con los objetivos
organizacionales ?.
Rapidez
Que tan rápido puede producirse el sistema ?.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Problemas en el Modelo del Proceso
Normalmente, las especificaciones son incompletas o
anómalas
No existe una distinción precisa entre la especificación, el
diseño y la manufactura
Solo hasta que el sistema se ha producido se puede probar
El software no se puede remplazar siempre durante el
mantenimiento
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Modelos de Desarrollo de Software
Representacion formal o simplificada de processo de
software.
Modelos Genericos:
– Modelo de Cascada
Separar en distintas fases de especificación y desarrollo.
– Desarrollo Evolutivo
La especificación y el desarrollo están intercalados.
– Prototipado
Un modelo sirve de prototipo para la construcción del sistema final.
– Transformación Formal
Un modelo matemático del sistema se transforma formalmente en la
implementación.
– Desarrollo basado en Reutilización
El sistema es ensamblado a partir de componentes existentes.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Modelo de Cascada (gráfica)
Definición de
Requerimientos
Diseño del Software
y del Sistema
Implementación y
Prueba de unidades
Integración y Prueba
del Sistema
Operación y
Mantenimiento
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Fases del Modelo de Cascada
Análisis de requerimientos y definición.
Diseño del sistema y del software.
Implementación y prueba de unidades
Integración y prueba del sistema.
Operación y mantenimiento.
La dificultad en esta modelo reside, en la dificultad de
hacer cambios entre etapas.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Desarrollo Evolutivo
Descripción
del sistema
Versión
Inicial
Versión
Final
Versiones
Intermedias
Especificación
Desarrollo
Validación
Actividades
Concurrentes
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Desarrollo Evolutivo
Problemas
Poca visibilidad en el proceso
Los sistemas están pobremente especificados
Se requieren habilidades especiales.
Aplicabilidad
Para sistemas interactivos pequeños o medianos.
Para partes de sistemas grandes (p.ej. la interfaz de usuario).
Para sistemas de corta vida.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Prototipado
Prototipado exploratorio
El objetivo es trabajar con clientes hasta evolucionar a un sistema final, a
partir de una especificación inicial. Se debe comenzar con unas
especificaciones bien entendidas.
Prototipado de “throw-away”.
El objetivo es entender los requerimientos del sistema. Se puede comenzar
con especificaciones poco entendidas.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Problemas y Riesgos con los Modelos.
Cascada.
Alto riesgo en sistemas nuevos debido a problemas en las especificaciones
y en el diseño.
Bajo riesgo para desarrollos bien comprendidos utilizando tecnología
conocida.
Prototipado.
Bajo riesgo para nuevas aplicaciones debido a que las especificaciones y
el diseño se llevan a cabo paso a paso.
Alto riesgo debido a falta de visibilidad
Evolutivo.
Alto riesgo debido a la necesidad de tecnología avanzada y habilidades
del grupo desarrollador.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Manejo de Riesgos
La tarea principal del administrador consiste en minimizar
riesgos.
El “riesgo” inherente en una actividad es se mide en base a
la incertidumbre que presenta el resultado de esa actividad.
Las actividades con alto riesgo causan sobre-costes en
cuanto a planeación y costos
El riesgo es proporcional al monto de la calidad de la
información disponible. Cuanto menos información, mayor
el riesgo.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Modelos de Procesos Híbridos
Los sistemas grandes están hechos usualmente de varios
subsistemas.
No es necesario utilizar el mismo modelo de proceso para
todos los subsistemas.
El prototipado es recomendado cuando existen
especificaciones de alto riesgo.
El modelo de cascada es utilizado en desarrollos bien
comprendidos.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Modelo de Proceso de Espiral
Determine objetivos
alternativas y
restricciones
Evalúe alternativas,
identifique y resuelva
riesgos
Análisis de
Riesgos
Análisis de
Riesgos
Análisis de
Riesgos
Análisis
de
Riesgos
Planea la
siguiente fase
Desarrolla y verifica
el siguiente nivel
del producto
Prototipo
OperacionalPrototipo
3Prototipo
2Proto
tipo 3
Plan de requerimientos
Plan del ciclo de vida
REVISIÓN
Plan de
Desarrollo
Plan de Integración
y Prueba
Concepto de
Operación
Simulaciones, modelos y benchmarks
Requeri
mientos de
SW
Validación de
Requerimientos
Diseño
V &V
Servicio
Prueba de
Aceptación
Prueba de
Integración
Prueba de
Unidades
Codificación
Diseño
Detallado
Diseño
del
Producto
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Fases del Modelo de Espiral
Planteamiento de Objetivos
Se identifican los objetivos específicos para cada fase del proyecto.
Identificación y reducción de riesgos.
Los riesgos clave se identifican y analizan, y la información sirve para
minimizar los riesgos.
Desarrollo y Validación.
Se elige un modelo apropiado para la siguiente fase del desarrollo.
Planeación.
Se revisa el proyecto y se trazan planes para la siguiente ronda del espiral.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Plantilla para una ronda del espiral
Objetivos.
Restricciones.
Alternativas.
Riesgos.
Resolución de riesgos.
Resultados.
Planes.
Garantías (commitments).
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Ventajas del Modelo de Espiral
Centra su atención en la reutilización de componentes y
eliminación de errores en información descubierta en fases
iniciales.
Los objetivos de calidad son el primer objetivo.
Integra desarrollo con mantenimiento.
Provee un marco de desarrollo de hardware/software.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Problemas con el Modelo de Espiral
El desarrollo contractual especifica el modelo del proceso
y los resultados a entregar por adelantado.
Requiere de experiencia en la identificación de riesgos.
Requiere refinamiento para uso generalizado.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Que modelo utilizar ?
Para sistemas bien comprendidos utiliza el Modelo de
Cascada. La fase de análisis de riesgos es relativamente
fácil.
Con requerimientos estables y sistemas de seguridad
críticos, utiliza modelos formales.
Con especificaciones incompletas, utiliza el modelo de
prototipado.
Pueden utilizarse modelos híbridos en distintas partes del
desarrollo.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Visibilidad de Procesos
Los sistemas de software son intangibles por lo que los
administradores necesitan documentación para identificar
el progreso en el desarrollo.
Esto puede causar problemas..
El tiempo planeado para entrega de resultados puede no coincidir con el
tiempo necesario para completar una actividad.
La necesidad de producir documentos restringe la iteración entre
procesos.
.El tiempo para revisar y aprobar documentos es significativo.
El modelo de cascada es aún el modelo basado en
resultados mas utilizado.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Documentos del Modelo de Cascada
Actividad Documentos Producidos
Análisis de Requerimientos Documento de Requerimientos
Definición de Requerimientos Documento de Requerimientos.
Especificación del Sistema. Especificación Funcional, Plan de Pruebas de
Aceptación.
Diseño Arquitectural Especificación de la Arquitectura, y Plan de
Pruebas del Sistema
Diseño de Interfaces Especificación de la Interfaces y Plan de pruebas
de Integración.
Diseño Detallado Especificación del diseño y Plan de prueba de
Unidades.
Codificación Código de Programa
Prueba de Unidades Reporte de prueba de unidades
Prueba de Módulos Reporte de prueba de módulos
Prueba de Integración Reporte de prueba de integración y Manual de
usuario final
Prueba del Sistema Reporte de prueba del sistema
Prueba de Aceptación Sistema final mas la documentación.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Visibilidad del Modelo
Modelo de Proceso Visibilidad del Proceso
Modelo de Cascada Buena visibilidad, cada actividad produce
un documento o resultado
Desarrollo Evolutivo Visibilidad pobre, muy caro al producir
docuementos en cada iteración.
Modelos Formales Buena visibilidad, en cada fase deben
producirse documentos.
Desarrollo orientado a la reutilización Visibilidad moderada. Importante contar
con documentación de componentes
reutilizables.
Modelo de Espiral Buena visibilidad, cada segmento y cada
anillo del espiral debe producir un
documento.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Retos de la Ingenieria de Software
Mantener y tratar con sistemas legados. Tratar con una mayor
diversidad de sistemas con mayores demandas de computo, y menores
tiempos de entrega
Sistemas Legados
– Sistemas entiguos que deben ser mantenidos y mejorados.
Hetereogenidad
– Sistemas que incluyen una mezcla de software y hardware.
Entrega
– Existe una presion incremental por una entrega a tiempo de los
productos de software.
Formalidad.
– Existe una gran demanda de que exista formalidad en el proceso
de desarrollo de software
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Retos de la Ingenieria de Software
Por que no podemos desarrollar sistemas de
software con tecnicas formales como lo
hacen los Ingenieros en Electronica, los Ing.
Quimicos o los Ingenieros Civiles. ?
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Demanda de Ingenieros de Software
Over the last few decades, information technology
has grown dramatically, with significant impact to
both the global economy and everyday life.
Computing power has increased rapidly while the
costs of hardware and communications have
dropped, making it increasingly more economical
to implement systems in software rather than
hardware. Mechanical devices in automobiles,
airplanes, and power plants are being replaced by
software components because software is more
adaptable, can provide more functionality, and can
be upgraded more easily to accommodate future
needs.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Demanda de Ingenieros de Software
Software is used in medical devices, transportation
systems, and financial systems to automate repetitive
but critical tasks. Scientists and business researchers
use software to sift through data warehouses and to
identify pertinent facts and trends. Banking,
insurance, telecommunications, and other service
industries use software to automate and personalize
the services they offer to their customers. As
software applications have grown more complex,
there has been a surge in the demand for software
engineers who have the knowledge and expertise to
develop high-quality software systems.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Responsabilidad profesional
Los Ingenieros de software no solo deben considerar
aspectos técnicos. Deben tener una visión mas amplia, en
lo ético, social y profesional.
No existe estatutos para ninguno de estos aspectos.
Desarrollo de sistemas militares.
Piratería.
Que es mejor para la profesión de Ingeniero de Software.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Aspectos Éticos
Confidencialidad.
Competencia.
Derechos de propiedad intelectual.
Mal uso de la computadora.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Una Profesion Madura de la Ingenieria de Software
Consultar:
A Mature Profession of Software Engineering.
Gary Ford
Norman Gibbs
Technical Report: CMU/SEI-96-TR-004
www.sei.cmu.edu
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Resumen
La Ingeniería de software concierne a las teorías, métodos
y herramientas para el desarrollo, administración y
evolución de productos de software.
Los productos de software consisten de programas y
documentación. Los atributos de los productos son,
mantenabilidad, dependabilidad, eficiencia y usabilidad.
El proceso de software consiste en aquellas actividades
involucradas en el desarrollo de software.
©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1
Resumen
El modelo de cascada considera cada actividad del proceso
como una actividad discreta.
El modelo de desarrollo evolutivo considera actividades
del proceso en forma concurrente.
El modelo de espiral se basa en análisis de riesgos.
La visibilidad del proceso involucra la creación de
documentos o resultados de las actividades.
Los Ingenieros de software deben tener responsabilidades
éticas, sociales y profesionales.

Weitere ähnliche Inhalte

Was ist angesagt?

Estandares y modelos del software
Estandares y modelos del softwareEstandares y modelos del software
Estandares y modelos del softwareedwardgutierrezp
 
Trabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueTrabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueJosue Zelaya
 
Diapositivas De Ingenieria De Software
Diapositivas De Ingenieria De SoftwareDiapositivas De Ingenieria De Software
Diapositivas De Ingenieria De Softwarerapa69
 
Presentacion de ingenieria
Presentacion de ingenieriaPresentacion de ingenieria
Presentacion de ingenieriaAlexander Cruz
 
Ingenieria de software buena (1)
Ingenieria de software buena (1)Ingenieria de software buena (1)
Ingenieria de software buena (1)Mario Rodriguez
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruizjhonatanalex
 
El producto y el proceso
El producto y el procesoEl producto y el proceso
El producto y el procesojenmer
 
Modelos De Calidad para proyectos de Software Y Software Libre
Modelos De Calidad para proyectos de Software Y Software LibreModelos De Calidad para proyectos de Software Y Software Libre
Modelos De Calidad para proyectos de Software Y Software LibreEQ SOFT EIRL
 
Unidad 5. calidad del software
Unidad 5. calidad del softwareUnidad 5. calidad del software
Unidad 5. calidad del softwareMaricela Ramirez
 
Control de Calidad del Software
Control de  Calidad del SoftwareControl de  Calidad del Software
Control de Calidad del SoftwareIntellimedia
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de softwarenancyespe21
 
Unidad i ing_soft
Unidad i ing_softUnidad i ing_soft
Unidad i ing_softUCC
 
Tecnicas en ing.de software
Tecnicas en ing.de softwareTecnicas en ing.de software
Tecnicas en ing.de softwarestephanierivas
 
Calidad de software ii
Calidad de software iiCalidad de software ii
Calidad de software iiCamilo Andres
 

Was ist angesagt? (19)

Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Conceptos basicos calidad software
Conceptos basicos calidad softwareConceptos basicos calidad software
Conceptos basicos calidad software
 
Estandares y modelos del software
Estandares y modelos del softwareEstandares y modelos del software
Estandares y modelos del software
 
Trabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueTrabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josue
 
Diapositivas De Ingenieria De Software
Diapositivas De Ingenieria De SoftwareDiapositivas De Ingenieria De Software
Diapositivas De Ingenieria De Software
 
Presentacion de ingenieria
Presentacion de ingenieriaPresentacion de ingenieria
Presentacion de ingenieria
 
Ingenieria de software buena (1)
Ingenieria de software buena (1)Ingenieria de software buena (1)
Ingenieria de software buena (1)
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruiz
 
El producto y el proceso
El producto y el procesoEl producto y el proceso
El producto y el proceso
 
La ingeniería de software
La ingeniería de softwareLa ingeniería de software
La ingeniería de software
 
Modelos De Calidad para proyectos de Software Y Software Libre
Modelos De Calidad para proyectos de Software Y Software LibreModelos De Calidad para proyectos de Software Y Software Libre
Modelos De Calidad para proyectos de Software Y Software Libre
 
La ingeniería de software 2010
La ingeniería de software 2010La ingeniería de software 2010
La ingeniería de software 2010
 
Unidad 5. calidad del software
Unidad 5. calidad del softwareUnidad 5. calidad del software
Unidad 5. calidad del software
 
Control de Calidad del Software
Control de  Calidad del SoftwareControl de  Calidad del Software
Control de Calidad del Software
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Unidad i ing_soft
Unidad i ing_softUnidad i ing_soft
Unidad i ing_soft
 
Tecnicas en ing.de software
Tecnicas en ing.de softwareTecnicas en ing.de software
Tecnicas en ing.de software
 
Presentación de software
Presentación de softwarePresentación de software
Presentación de software
 
Calidad de software ii
Calidad de software iiCalidad de software ii
Calidad de software ii
 

Andere mochten auch

Experiencias docentes en la web social
Experiencias docentes en la web socialExperiencias docentes en la web social
Experiencias docentes en la web socialEnrique Barreiro
 
Ingeniería del Software de Gestión. Tema 5
Ingeniería del Software de Gestión. Tema 5Ingeniería del Software de Gestión. Tema 5
Ingeniería del Software de Gestión. Tema 5Enrique Barreiro
 
Ingeniería del Software de Gestión. Tema 3
Ingeniería del Software de Gestión. Tema 3Ingeniería del Software de Gestión. Tema 3
Ingeniería del Software de Gestión. Tema 3Enrique Barreiro
 
Ingeniería del Software de Gestión. Tema 2.
Ingeniería del Software de Gestión. Tema 2.Ingeniería del Software de Gestión. Tema 2.
Ingeniería del Software de Gestión. Tema 2.Enrique Barreiro
 
Proyecto de grado
Proyecto de gradoProyecto de grado
Proyecto de gradocalvarezl67
 
Elaboracion de perfil de proyecto de grado
Elaboracion de perfil de proyecto de gradoElaboracion de perfil de proyecto de grado
Elaboracion de perfil de proyecto de gradoAlex Garcia
 
Estructura del proyecto de grado
Estructura del proyecto de gradoEstructura del proyecto de grado
Estructura del proyecto de gradoEdison Coimbra G.
 
Ingeniería del Software de Gestión. Tema 1
Ingeniería del Software de Gestión. Tema 1Ingeniería del Software de Gestión. Tema 1
Ingeniería del Software de Gestión. Tema 1Enrique Barreiro
 
Ingeniería del Software de Gestión. Tema 4
Ingeniería del Software de Gestión. Tema 4Ingeniería del Software de Gestión. Tema 4
Ingeniería del Software de Gestión. Tema 4Enrique Barreiro
 
Elementos o estructura de la tesis
Elementos o estructura de la tesisElementos o estructura de la tesis
Elementos o estructura de la tesismary050
 
Ingenieria De Software Para Dummies
Ingenieria De Software Para DummiesIngenieria De Software Para Dummies
Ingenieria De Software Para DummiesSorey García
 
Introducción a la Ingeniería de Software:Qué es un Buen Sistema?
Introducción  a la Ingeniería de Software:Qué es un Buen Sistema?Introducción  a la Ingeniería de Software:Qué es un Buen Sistema?
Introducción a la Ingeniería de Software:Qué es un Buen Sistema?Kudos S.A.S
 
LA INGENIERÍA DE SOFTWARE Y RUP
LA INGENIERÍA DE SOFTWARE Y RUPLA INGENIERÍA DE SOFTWARE Y RUP
LA INGENIERÍA DE SOFTWARE Y RUPKudos S.A.S
 
Metodologia De La Investigacion
Metodologia De La InvestigacionMetodologia De La Investigacion
Metodologia De La Investigacionrafaella arosemena
 

Andere mochten auch (17)

Experiencias docentes en la web social
Experiencias docentes en la web socialExperiencias docentes en la web social
Experiencias docentes en la web social
 
Ingeniería del Software de Gestión. Tema 5
Ingeniería del Software de Gestión. Tema 5Ingeniería del Software de Gestión. Tema 5
Ingeniería del Software de Gestión. Tema 5
 
Ingeniería del Software de Gestión. Tema 3
Ingeniería del Software de Gestión. Tema 3Ingeniería del Software de Gestión. Tema 3
Ingeniería del Software de Gestión. Tema 3
 
Ingeniería del Software de Gestión. Tema 2.
Ingeniería del Software de Gestión. Tema 2.Ingeniería del Software de Gestión. Tema 2.
Ingeniería del Software de Gestión. Tema 2.
 
Proyecto de grado
Proyecto de gradoProyecto de grado
Proyecto de grado
 
Elaboracion de perfil de proyecto de grado
Elaboracion de perfil de proyecto de gradoElaboracion de perfil de proyecto de grado
Elaboracion de perfil de proyecto de grado
 
Proyecto de grado
Proyecto de gradoProyecto de grado
Proyecto de grado
 
Estructura del proyecto de grado
Estructura del proyecto de gradoEstructura del proyecto de grado
Estructura del proyecto de grado
 
Ingeniería del Software de Gestión. Tema 1
Ingeniería del Software de Gestión. Tema 1Ingeniería del Software de Gestión. Tema 1
Ingeniería del Software de Gestión. Tema 1
 
Ingeniería del Software de Gestión. Tema 4
Ingeniería del Software de Gestión. Tema 4Ingeniería del Software de Gestión. Tema 4
Ingeniería del Software de Gestión. Tema 4
 
Elementos o estructura de la tesis
Elementos o estructura de la tesisElementos o estructura de la tesis
Elementos o estructura de la tesis
 
ingenieria del software
ingenieria del softwareingenieria del software
ingenieria del software
 
Ingenieria De Software Para Dummies
Ingenieria De Software Para DummiesIngenieria De Software Para Dummies
Ingenieria De Software Para Dummies
 
Introducción a la Ingeniería de Software:Qué es un Buen Sistema?
Introducción  a la Ingeniería de Software:Qué es un Buen Sistema?Introducción  a la Ingeniería de Software:Qué es un Buen Sistema?
Introducción a la Ingeniería de Software:Qué es un Buen Sistema?
 
LA INGENIERÍA DE SOFTWARE Y RUP
LA INGENIERÍA DE SOFTWARE Y RUPLA INGENIERÍA DE SOFTWARE Y RUP
LA INGENIERÍA DE SOFTWARE Y RUP
 
Plan de Tesis
Plan de TesisPlan de Tesis
Plan de Tesis
 
Metodologia De La Investigacion
Metodologia De La InvestigacionMetodologia De La Investigacion
Metodologia De La Investigacion
 

Ähnlich wie Nuevo1 (20)

Sesion1 Introducción Ingeniería Software
Sesion1 Introducción Ingeniería SoftwareSesion1 Introducción Ingeniería Software
Sesion1 Introducción Ingeniería Software
 
software
softwaresoftware
software
 
Conceptos
ConceptosConceptos
Conceptos
 
Diapositivas-Ing-SW-napa
Diapositivas-Ing-SW-napaDiapositivas-Ing-SW-napa
Diapositivas-Ing-SW-napa
 
SeccióN De TéCnicas De IngenieríA De Software(2007)
SeccióN De TéCnicas  De IngenieríA De Software(2007)SeccióN De TéCnicas  De IngenieríA De Software(2007)
SeccióN De TéCnicas De IngenieríA De Software(2007)
 
Que es Ingenieria del Software?,
Que es Ingenieria del Software?,Que es Ingenieria del Software?,
Que es Ingenieria del Software?,
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
 
Is01
Is01Is01
Is01
 
Diapox
DiapoxDiapox
Diapox
 
Diapox
DiapoxDiapox
Diapox
 
Presentación de software
Presentación de softwarePresentación de software
Presentación de software
 
Presentación de software
Presentación de softwarePresentación de software
Presentación de software
 
Presentación de software
Presentación de softwarePresentación de software
Presentación de software
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatan
 
Paula guia
Paula guiaPaula guia
Paula guia
 
IngSoftCap01-Introduccion.pdf
IngSoftCap01-Introduccion.pdfIngSoftCap01-Introduccion.pdf
IngSoftCap01-Introduccion.pdf
 
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
 
Diapoesatx
DiapoesatxDiapoesatx
Diapoesatx
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software
 
Tarea intro ing_sw_quina
Tarea intro ing_sw_quinaTarea intro ing_sw_quina
Tarea intro ing_sw_quina
 

Nuevo1

  • 1. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Ingeniería de Software Diseño, construcción y mantenimiento de sistemas de software grandes. Diapositivas Traducidas por: Dr. Pedro Mejía Alvarez. CINVESTAV-IPN, México Septiembre 2003.
  • 2. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Objetivos Definir la Ingeniería de Software y explicar su importancia. Discutir los conceptos de producto de software y proceso de software. Explicar la importancia de la visibilidad delos procesos. Introducir la noción de responsabilidad profesional.
  • 3. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Tópicos Productos de Software. El proceso de Software. El modelo de Espiral de Boehm. La visibilidad de los procesos. Responsabilidad profesional.
  • 4. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Ingeniería de Software Las economías de los países desarrollados dependen en gran parte del software. Mas y más sistemas son actualmente controlados por software. La Ingeniería de Software concierne a teorías, métodos y herramientas para el desarrollo profesional de software. El gasto en La Ingeniería de Software, representa un alto porcentaje del PIB de los países desarrollados.
  • 5. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Ingenieria de Software: Conceptos Basicos Que es la Ingenieria de Software ? Cual es la diferencia entre un programador y un Ingeniero de Software? Cual es la diferencia entre un Ingeniero de Software y un Ingeniero de Sistemas? Cual es la diferencia entre la Ingenieria de Software y la Computacion ? Que es el software ? Que es un proceso de software ? Que es un modelo de software?
  • 6. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Que es la Ingeniería de Software La Ingeniería de Software es una diciplina de la Ingeniería que concierne a todos los aspectos de la producción de software Los Ingenieros de Software adoptan un enfoque sistematico para llevar a cabo su trabajo y utilizan las herramientas y tecnicas necesarias para resolver el problema planteado, de acuerdo a las restricciones de desarrollo y recursos disponibles.
  • 7. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Diferencia entre Ingenieria de Software y Computacion La computacion concierne a la teoria y fundamentos de cualquier sistema de computo, sea de hardware o de software. La Ingenieria de software concierne solo al desarollo de sisetmas o productos de software La Ingeniria de Sofware todavia esta lejos de ser una ciencia como los son la Quimica, la Ingenieria Civil o la Electronica.
  • 8. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Ingenieria de Sistemas e Ingenieria de Software La Ingeniería de Sistemas concierne a todos los aspectos del desarrollo de sistemas basados en cómputo, que incluyen hardware, software y el proceso de Ingeniería. La Ingeniería de Software es solo parte de este proceso.
  • 9. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Que es el Software ? Programas de cómputo y su documentacion asociada Sistemas o Productos de software grandes y complejos. Que contiene el software. Que tipos de software hay ? Cual es el costo del software. Como se desarrolla el software ? Como saber si un software tiene calidad.
  • 10. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Productos de Software Productos genéricos. Productos que son producidos por una organización para ser vendidos al mercado. Productos hechos a medida. Sistemas que son desarrollados bajo pedido a un desarrollador específico. La mayor parte del gasto del software es en productos genéricos, pero hay más esfuerzo en el desarrollo de los sistemas hechos a medida.
  • 11. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Características de los Productos de Software Mantenibles. Debe ser posible que el software evolucione y que siga cumpliendo con sus especificaciones. Confiabilidad. El software no debe causar danos físicos o económicos en el caso de fallos. Eficiencia. El software no debe desperdiciar los recursos del sistema. Utilización adecuada. El software debe contar con una interfaz de usuario adecuada y su documentación.
  • 12. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Importancia de las características del producto La importancia relativa de las características depende en el tipo de producto y en el ambiente en el que será utilizado. En algunos casos, algunos atributos pueden dominar. En sistemas de seguridad críticos de tiempo real, los atributos clave pueden ser la confiabilidad y la eficiencia. Los costos tienden a crecer exponencialmente si son requeridos altos niveles de alguna característica.
  • 13. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Que contiene el software ? El software contiene: – Líneas de código de algún lenguaje ? – Instrucciones de computadora. – Descripción de las estructuras de datos. – Algoritmos. – Procedimientos y funciones. – Componentes de software.
  • 14. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Que tipos de software hay ? Por su estructura: – Funcionales. – Orientados a objetos. – Orientados a listas. – Orientados a componentes. Por su funcion: – Programas o Sistemas de Usuario – Interfaces Hombre-Maquina. – Herramientas de Software. – Librerias. – Sistemas de uso generico: Compiladores, S.O’s, Procesadores de Texto, etc. – Bases de Datos. – Sistemas basados en Web.
  • 15. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Que tipos de software hay ? Por su plataforma de computo: – Sistemas embebidos. – Sistemas de computo distribuido. – Sistemas de computo paralelo. – Sistemas de tiempo real. – Sistemas basados en Chips. – Wearable computing systems. – Sistemas de computo ubiquos.
  • 16. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Costos del Software Los costos del software a menudo dominan al costo del sistema. El costo del software en un PC es a menudo mas caro que la PC. Cuesta mas mantener el software que desarrollarlo. Para sistemas con una larga vida, este costo se multiplica. La Ingeniería de Software concierne a un desarrollo efectivo en cuanto a costes del software.
  • 17. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Costes de Eficiencia. Costos Eficiencia
  • 18. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 El Proceso de Software Conjunto estructurado de actividades requeridas para desarrollar un sistema de software. Especificación- que debe hacer el software y cuales son sus especificaciones de desarrollo. Desarrollo – produccion del sistema de software. Validación – verificar que el software hace lo que el cliente pide. Evolución – cambiar/adaptar el software a las demandas. Las actividades varían dependiendo de la organización y del tipo de sistema a desarrollarse. Debe estar explícitamente modelado si va a ser bien administrado.
  • 19. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Proceso Genérico de Software Especificación - establecer los requerimientos y restricciones del sistema Diseño - Producir un modelo en papel del sistema Manufactura - construir el sistema Prueba - verificar que el sistema cumpla con las especificaciones requeridas Instalación - entregar el sistema al usuario y asegurar su operacionalidad Mantenimiento - reparar fallos en el sistema cundo sea descubiertos
  • 20. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Características del proceso Entendible Se encuentra el proceso bien definido y es entendible ?. Visible El proceso es visible al exterior ?. Soportable Puede el proceso ser soportado por herramientas CASE ?. Aceptable El proceso es aceptado por aquellos involucrados en el ?.
  • 21. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Características del proceso Confiable Los errores del proceso son descubiertos antes de que se conviertan en errores del producto ?. Robusto Puede continuar el proceso a pesar de problemas inesperados ?. Mantenible Puede el proceso evolucionar para cumplir con los objetivos organizacionales ?. Rapidez Que tan rápido puede producirse el sistema ?.
  • 22. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Problemas en el Modelo del Proceso Normalmente, las especificaciones son incompletas o anómalas No existe una distinción precisa entre la especificación, el diseño y la manufactura Solo hasta que el sistema se ha producido se puede probar El software no se puede remplazar siempre durante el mantenimiento
  • 23. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Modelos de Desarrollo de Software Representacion formal o simplificada de processo de software. Modelos Genericos: – Modelo de Cascada Separar en distintas fases de especificación y desarrollo. – Desarrollo Evolutivo La especificación y el desarrollo están intercalados. – Prototipado Un modelo sirve de prototipo para la construcción del sistema final. – Transformación Formal Un modelo matemático del sistema se transforma formalmente en la implementación. – Desarrollo basado en Reutilización El sistema es ensamblado a partir de componentes existentes.
  • 24. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Modelo de Cascada (gráfica) Definición de Requerimientos Diseño del Software y del Sistema Implementación y Prueba de unidades Integración y Prueba del Sistema Operación y Mantenimiento
  • 25. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Fases del Modelo de Cascada Análisis de requerimientos y definición. Diseño del sistema y del software. Implementación y prueba de unidades Integración y prueba del sistema. Operación y mantenimiento. La dificultad en esta modelo reside, en la dificultad de hacer cambios entre etapas.
  • 26. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Desarrollo Evolutivo Descripción del sistema Versión Inicial Versión Final Versiones Intermedias Especificación Desarrollo Validación Actividades Concurrentes
  • 27. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Desarrollo Evolutivo Problemas Poca visibilidad en el proceso Los sistemas están pobremente especificados Se requieren habilidades especiales. Aplicabilidad Para sistemas interactivos pequeños o medianos. Para partes de sistemas grandes (p.ej. la interfaz de usuario). Para sistemas de corta vida.
  • 28. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Prototipado Prototipado exploratorio El objetivo es trabajar con clientes hasta evolucionar a un sistema final, a partir de una especificación inicial. Se debe comenzar con unas especificaciones bien entendidas. Prototipado de “throw-away”. El objetivo es entender los requerimientos del sistema. Se puede comenzar con especificaciones poco entendidas.
  • 29. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Problemas y Riesgos con los Modelos. Cascada. Alto riesgo en sistemas nuevos debido a problemas en las especificaciones y en el diseño. Bajo riesgo para desarrollos bien comprendidos utilizando tecnología conocida. Prototipado. Bajo riesgo para nuevas aplicaciones debido a que las especificaciones y el diseño se llevan a cabo paso a paso. Alto riesgo debido a falta de visibilidad Evolutivo. Alto riesgo debido a la necesidad de tecnología avanzada y habilidades del grupo desarrollador.
  • 30. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Manejo de Riesgos La tarea principal del administrador consiste en minimizar riesgos. El “riesgo” inherente en una actividad es se mide en base a la incertidumbre que presenta el resultado de esa actividad. Las actividades con alto riesgo causan sobre-costes en cuanto a planeación y costos El riesgo es proporcional al monto de la calidad de la información disponible. Cuanto menos información, mayor el riesgo.
  • 31. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Modelos de Procesos Híbridos Los sistemas grandes están hechos usualmente de varios subsistemas. No es necesario utilizar el mismo modelo de proceso para todos los subsistemas. El prototipado es recomendado cuando existen especificaciones de alto riesgo. El modelo de cascada es utilizado en desarrollos bien comprendidos.
  • 32. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Modelo de Proceso de Espiral Determine objetivos alternativas y restricciones Evalúe alternativas, identifique y resuelva riesgos Análisis de Riesgos Análisis de Riesgos Análisis de Riesgos Análisis de Riesgos Planea la siguiente fase Desarrolla y verifica el siguiente nivel del producto Prototipo OperacionalPrototipo 3Prototipo 2Proto tipo 3 Plan de requerimientos Plan del ciclo de vida REVISIÓN Plan de Desarrollo Plan de Integración y Prueba Concepto de Operación Simulaciones, modelos y benchmarks Requeri mientos de SW Validación de Requerimientos Diseño V &V Servicio Prueba de Aceptación Prueba de Integración Prueba de Unidades Codificación Diseño Detallado Diseño del Producto
  • 33. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Fases del Modelo de Espiral Planteamiento de Objetivos Se identifican los objetivos específicos para cada fase del proyecto. Identificación y reducción de riesgos. Los riesgos clave se identifican y analizan, y la información sirve para minimizar los riesgos. Desarrollo y Validación. Se elige un modelo apropiado para la siguiente fase del desarrollo. Planeación. Se revisa el proyecto y se trazan planes para la siguiente ronda del espiral.
  • 34. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Plantilla para una ronda del espiral Objetivos. Restricciones. Alternativas. Riesgos. Resolución de riesgos. Resultados. Planes. Garantías (commitments).
  • 35. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Ventajas del Modelo de Espiral Centra su atención en la reutilización de componentes y eliminación de errores en información descubierta en fases iniciales. Los objetivos de calidad son el primer objetivo. Integra desarrollo con mantenimiento. Provee un marco de desarrollo de hardware/software.
  • 36. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Problemas con el Modelo de Espiral El desarrollo contractual especifica el modelo del proceso y los resultados a entregar por adelantado. Requiere de experiencia en la identificación de riesgos. Requiere refinamiento para uso generalizado.
  • 37. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Que modelo utilizar ? Para sistemas bien comprendidos utiliza el Modelo de Cascada. La fase de análisis de riesgos es relativamente fácil. Con requerimientos estables y sistemas de seguridad críticos, utiliza modelos formales. Con especificaciones incompletas, utiliza el modelo de prototipado. Pueden utilizarse modelos híbridos en distintas partes del desarrollo.
  • 38. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Visibilidad de Procesos Los sistemas de software son intangibles por lo que los administradores necesitan documentación para identificar el progreso en el desarrollo. Esto puede causar problemas.. El tiempo planeado para entrega de resultados puede no coincidir con el tiempo necesario para completar una actividad. La necesidad de producir documentos restringe la iteración entre procesos. .El tiempo para revisar y aprobar documentos es significativo. El modelo de cascada es aún el modelo basado en resultados mas utilizado.
  • 39. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Documentos del Modelo de Cascada Actividad Documentos Producidos Análisis de Requerimientos Documento de Requerimientos Definición de Requerimientos Documento de Requerimientos. Especificación del Sistema. Especificación Funcional, Plan de Pruebas de Aceptación. Diseño Arquitectural Especificación de la Arquitectura, y Plan de Pruebas del Sistema Diseño de Interfaces Especificación de la Interfaces y Plan de pruebas de Integración. Diseño Detallado Especificación del diseño y Plan de prueba de Unidades. Codificación Código de Programa Prueba de Unidades Reporte de prueba de unidades Prueba de Módulos Reporte de prueba de módulos Prueba de Integración Reporte de prueba de integración y Manual de usuario final Prueba del Sistema Reporte de prueba del sistema Prueba de Aceptación Sistema final mas la documentación.
  • 40. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Visibilidad del Modelo Modelo de Proceso Visibilidad del Proceso Modelo de Cascada Buena visibilidad, cada actividad produce un documento o resultado Desarrollo Evolutivo Visibilidad pobre, muy caro al producir docuementos en cada iteración. Modelos Formales Buena visibilidad, en cada fase deben producirse documentos. Desarrollo orientado a la reutilización Visibilidad moderada. Importante contar con documentación de componentes reutilizables. Modelo de Espiral Buena visibilidad, cada segmento y cada anillo del espiral debe producir un documento.
  • 41. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Retos de la Ingenieria de Software Mantener y tratar con sistemas legados. Tratar con una mayor diversidad de sistemas con mayores demandas de computo, y menores tiempos de entrega Sistemas Legados – Sistemas entiguos que deben ser mantenidos y mejorados. Hetereogenidad – Sistemas que incluyen una mezcla de software y hardware. Entrega – Existe una presion incremental por una entrega a tiempo de los productos de software. Formalidad. – Existe una gran demanda de que exista formalidad en el proceso de desarrollo de software
  • 42. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Retos de la Ingenieria de Software Por que no podemos desarrollar sistemas de software con tecnicas formales como lo hacen los Ingenieros en Electronica, los Ing. Quimicos o los Ingenieros Civiles. ?
  • 43. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Demanda de Ingenieros de Software Over the last few decades, information technology has grown dramatically, with significant impact to both the global economy and everyday life. Computing power has increased rapidly while the costs of hardware and communications have dropped, making it increasingly more economical to implement systems in software rather than hardware. Mechanical devices in automobiles, airplanes, and power plants are being replaced by software components because software is more adaptable, can provide more functionality, and can be upgraded more easily to accommodate future needs.
  • 44. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Demanda de Ingenieros de Software Software is used in medical devices, transportation systems, and financial systems to automate repetitive but critical tasks. Scientists and business researchers use software to sift through data warehouses and to identify pertinent facts and trends. Banking, insurance, telecommunications, and other service industries use software to automate and personalize the services they offer to their customers. As software applications have grown more complex, there has been a surge in the demand for software engineers who have the knowledge and expertise to develop high-quality software systems.
  • 45. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Responsabilidad profesional Los Ingenieros de software no solo deben considerar aspectos técnicos. Deben tener una visión mas amplia, en lo ético, social y profesional. No existe estatutos para ninguno de estos aspectos. Desarrollo de sistemas militares. Piratería. Que es mejor para la profesión de Ingeniero de Software.
  • 46. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Aspectos Éticos Confidencialidad. Competencia. Derechos de propiedad intelectual. Mal uso de la computadora.
  • 47. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Una Profesion Madura de la Ingenieria de Software Consultar: A Mature Profession of Software Engineering. Gary Ford Norman Gibbs Technical Report: CMU/SEI-96-TR-004 www.sei.cmu.edu
  • 48. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Resumen La Ingeniería de software concierne a las teorías, métodos y herramientas para el desarrollo, administración y evolución de productos de software. Los productos de software consisten de programas y documentación. Los atributos de los productos son, mantenabilidad, dependabilidad, eficiencia y usabilidad. El proceso de software consiste en aquellas actividades involucradas en el desarrollo de software.
  • 49. ©Ian Sommerville 2002 Ingeniería de Software, 5a. Y 6a. edición. Capitulo 1 Diapositiva 1 Resumen El modelo de cascada considera cada actividad del proceso como una actividad discreta. El modelo de desarrollo evolutivo considera actividades del proceso en forma concurrente. El modelo de espiral se basa en análisis de riesgos. La visibilidad del proceso involucra la creación de documentos o resultados de las actividades. Los Ingenieros de software deben tener responsabilidades éticas, sociales y profesionales.