SlideShare una empresa de Scribd logo
UNIDAD I.
FUNDAMENTOS DE
INGENIERÍA DE
SOFTWARE
CONCEPTOS BÁSICOS
¿Qué es el software?
• Es el producto que diseñan y construyen los ingenieros del software. Esto
abarca programas que se ejecutan dentro de una computadora de
cualquier tamaño y arquitectura, documentos virtuales e impresos y datos
que combinan números, texto, audio, video e imágenes.
¿Quién lo hace?
• Los ingenieros de software lo construyen, y virtualmente cualquier
persona en el mundo industrializado lo utiliza bien directa o
indirectamente.
¿Porqué es importante?
¿Cuáles son los pasos?
APLICACIONES DEL
SOFTWARE
Puede aplicarse en cualquier situación donde se haya
definido previamente un conjunto específico de pasos
procedimentales.
•Software de sistemas
•Software de tiempo real
•Software de gestión
•Software de ingeniería y científico
PRODUCTO DE
SOFTWARE
Son sistemas de software junto a la
documentación que describe cómo instalarlo y
usarlo.
• Documentación de requerimientos
• Documentación de diseño
• Código fuente
• Planes de prueba del sistema
• Principios de operación
• Instrucciones de instalación
• Procedimientos de mantenimiento
• Manuales de usuario
CATEGORÍAS DE
SOFTWARELos productos de software se pueden dividir en dos
grupos:
•Productos genéricos: desarrollados para un mercado.
•Productos a la medida: encargados por un cliente.
La diferencia entre uno y otro:
•En los genéricos, la organización que desarrolla el software controla
su especificación.
•En los otros, por lo general es desarrollada y controlada por la
organización que está comprando el software.
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 daños 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.
INGENIERÍA DE
SOFTWARE
El término “Ingeniería del software” surge a final de los años 60
dentro de una conferencia dedicada a “la crisis del software”.
Se define como:
•“La disciplina tecnológica relacionada con la producción sistemática y el
mantenimiento de productos de software que son desarrollados y
modificados en el tiempo previsto y dentro de los costos estimados”.
Su objetivo es producir productos de software.
OTROS CONCEPTOS
Ingeniería del software:
• Conjunto de métodos, herramientas y procedimientos para
producir software de gran calidad. [R. Pressman]
Los métodos describen cómo construir técnicamente el
software. Comprende las actividades de:
•Planificación y estimación de proyectos
•Análisis de requisitos
•Diseño
•Codificación
•Prueba
•Mantenimiento
Las herramientas dan soporte semiautomático a los métodos.
Los procedimientos relacionan formalmente los métodos y las
herramientas.
CALIDAD DE SOFTWARE
La calidad del software es una noción que puede ser
descrita mediante una serie de factores, que pueden
ser:
• Externos: observables por los usuarios del producto.
• Internos: observables por profesionales de la computación.
FACTORES EXTERNOS
Corrección: capacidad de los productos de software de ejecutar
sus tareas tal como están definidas en su especificación de
requerimientos.
Robustez: capacidad de un sistema de software para funcionar en
situaciones anormales.
Modificabilidad: facilidad de un producto para adaptarse al
cambio de especificaciones.
Reusabilidad: facilidad para ser reutilizado en todo o en parte
para nuevas aplicaciones.
Compatibilidad: facilidad de los productos de software para
combinarse unos con otros.
Eficiencia: buen uso de los recursos de software y hardware
disponibles.
FACTORES EXTERNOS
Portabilidad: facilidad para adaptarse a otros entornos de software o hardware.
Verificabilidad: facilidad para preparar procedimientos de aceptación, en particular
datos de prueba, para detectar fallos durante las fases de validación y operación.
Integridad: capacidad de un sistema para proteger sus documentos (programas,
datos) contra accesos y modificaciones no autorizados.
Facilidad de uso: capacidad de aprender a manejar un sistema de software, operar
con el, preparar datos de entrada, interpretar resultados, etc.
FACTORES INTERNOS
Modularidad: independencia funcional de los
componentes del programa.
Legibilidad: facilidad de lectura e
interpretación del código del programa.
EL PROCESO DEL
SOFTWARE
¿Qué es un proceso de software?
Es un conjunto de actividades, acciones y tareas que se
ejecutan cuando va a crearse algún producto del trabajo.
• Una actividad busca lograr un objetivo amplio y se desarrolla sin
importar el dominio de la aplicación.
• Una acción es un conjunto de tareas que producen un producto
importante del trabajo.
• Una tarea se centra en un objetivo pequeño pero bien definido que
produce un resultado tangible.
ACTIVIDADES DEL
PROCESO DE
SOFTWAREUna estructura de proceso general para la ingeniería de software consta
de las siguientes actividades:
• Planificación
• Análisis
• Diseño
• Implementación
• Pruebas
• Instalación o Despliegue
• Uso y mantenimiento
Comunicación: comunicarse con los clientes para entender los objetivos.
Planeación: Cualquier viaje se simplifica si existe un mapa. Para el desarrollo de
software el mapa es el plan del proyecto de software.
Modelado: crear un bosquejo del objeto por hacer con el fin de entender el
panorama.
Construcción: generación de código y pruebas para descubrir errores.
Despliegue: entrega al consumidor para su evaluación.
PLANIFICACIÓN
Delimitación del ámbito del proyecto
Realización de un estudio de viabilidad
Análisis de los riesgos asociados al proyecto
Estimación del costo del proyecto
Planificación temporal y la asignación de
recursos a las distintas etapas del proyecto.
ANÁLISIS
Técnicas de elicitación de requerimientos
• Incluye desde el cliente que paga el proyecto hasta los usuarios finales de la
aplicación.
• Sin olvidarse de terceras personas, empresas competidoras y organismos
reguladores.
Herramientas de modelado de sistemas.
• Ayudan a comunicar la estructura de un sistema complejo
• Sirven para especificar el comportamiento deseado del sistema
• Ayudan a comprender mejor lo que estamos diseñando
• Permiten descubrir oportunidades de simplificación y de reutilización
Metodologías de análisis de requerimientos.
DISEÑO
Un software bien diseñado debe exhibir determinadas características.
Su diseño debería ser modular
Sus módulos deberían ser cohesivos (encargarse de una tarea concreta y sólo de una) y estar
débilmente acoplados entre sí (para facilitar el mantenimiento del sistema).
Cada módulo debería ofrecer a los demás unas interfaces bien definidos y ocultar sus detalles
de implementación.
Debe ser posible relacionar las decisiones de diseño tomadas con los requerimientos del
sistema que las ocasionaron.
Diseños mas comunes
•Arquitecturas multicapa
•Arquitecturas cliente/servidor
IMPLEMENTACIÓN
Antes de escribir una sola línea de código (o
de crear una tabla en nuestra base de datos)
es fundamental haber comprendido bien el
problema que se pretende resolver y haber
aplicado principios básicos de diseño que nos
permitan construir un sistema de información
de calidad.
• Herramientas adecuadas
• Un entorno de desarrollo que facilite nuestro trabajo
• Un lenguaje de programación apropiado para el tipo
de sistema que vayamos a construir.
PRUEBAS
Errar es humano y la etapa de pruebas tiene como
objetivo detectar los errores que se hayan podido
cometer en las etapas anteriores del proyecto (y,
eventualmente, corregirlos).
• Las pruebas de unidad
• Las pruebas de integración
• Pruebas alfa
• Pruebas beta
• Test de aceptación
• Revisiones
INSTALACIÓN/DESPLIEG
UE
Una vez concluidas las etapas de desarrollo de un sistema de
información (análisis, diseño, implementación y pruebas), llega el
instante de que poner el sistema en funcionamiento, su instalación o
despliegue.
De cara a su instalación, hemos de planificar el entorno en el que el
sistema debe funcionar, tanto hardware como software: equipos
necesarios y su configuración física, redes de interconexión entre los
equipos y de acceso a sistemas externos, sistemas operativos
(actualizados para evitar problemas de seguridad), bibliotecas y
componentes suministrados por terceras partes, etcétera.
USO Y MANTENIMIENTO
La etapa de mantenimiento consume típicamente del 40 al 80 por
ciento de los recursos de una empresa de desarrollo de software.
De hecho, con un 60% de media, es probablemente la etapa más
importante del ciclo de vida del software.
Dada la naturaleza del software, que ni se rompe ni se desgasta
con el uso, su mantenimiento incluye tres facetas diferentes:
•Eliminar los defectos que se detecten durante su vida útil (mantenimiento correctivo)
•Adaptarlo a nuevas necesidades (mantenimiento adaptativo)
•Añadirle nueva funcionalidad (mantenimiento perfectivo),
CICLO DE VIDA
Sucesión de etapas por las que atraviesa un producto software a lo largo
de su desarrollo y existencia.
Existen distintas formas, paradigmas o modelos de ciclo de vida de
software:
•Clásico o cascada
•Prototipado.
•Evolutivo o en espiral.
•Combinación de estilos, etc.
Alternativamente, a veces se usan los términos
“Ciclo de vida”, y “Modelo de ciclo de vida”
CICLO DE VIDA
CLÁSICO O CASCADA
Propuesto por W. Royce a principios de los 70.
Aplicación secuencial de una serie de pasos.
Cada paso genera entradas y documentación
para la siguiente.
MODELO EN CASCADA
REAL
CRÍTICAS AL CICLO DE
VIDA CLÁSICO
Proyectos raramente siguen el ciclo de vida secuencial.
Dificultad para establecer los requerimientos al principio de
proceso.
Errores detectados tardíamente.
Mantenimiento por parcheado (corregir según se presenten
los problemas).
PROTOTIPADO
Prototipear consiste en construir una
versión inicial de un producto, el cual se
describe la interacción hombre-máquina
sin implementar completamente la
funcionalidad del sistema (prototipo sin
funcionalidad).
Utilidad:
•Ayuda a los analistas a establecer las necesidades
del cliente.
•Ayuda a los desarrolladores a mejorar los productos.
CLASES DE
PROTOTIPOS
Vertical: desarrolla completamente algunas de las
facetas del producto.
Horizontal: desarrolla parcialmente todas las facetas del
producto.
Evolutivo: la versión final es el producto ya construido.
Desechable: se usa solo para la captación de
requerimientos y funcionalidad.
OBSERVACIONES
SOBRE EL
PROTOTIPADO
Facilita la captación de los requerimientos del cliente.
Reduce el riesgo de parcheado del producto final.
La construcción del prototipo supone una inversión adicional.
El cliente ve funcionando una versión de lo que será su programa
sin asumir que dicha versión no es robusta ni completa.
EVOLUTIVO O EN
ESPIRAL
El desarrollo en espiral fue definido por primera vez por
Barry Boehm en 1986.
Las actividades de este modelo se conforman en una
espiral, en la que 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.
VENTAJAS
El análisis del riesgo se hace de forma explícita y clara. Une los mejores
elementos de los restantes modelos.
Reduce riesgos del proyecto
Incorpora objetivos de calidad
Integra el desarrollo con el mantenimiento, etc.
Además es posible tener en cuenta mejoras y nuevos requerimientos sin
romper con la metodología, ya que este ciclo de vida no es rígido ni estático.
DESVENTAJAS
Genera mucho tiempo en el desarrollo
del sistema
Modelo costoso
Requiere experiencia en la identificación
de riesgos
OTROS TIPOS DE
MODELADO
Modelo incremental
Modelo DRA
Modelo en “Y”
Proceso Unificado de Rational (RUP)
Metodología ágil
Scrum
Programación extrema
¿QUÉ MODELO
UTILIZAR?
Para sistemas bien conocidos se puede utilizar el Modelo de
Cascada. La fase de análisis de riesgos es relativamente fácil
Con requisitos estables y sistemas de seguridad críticos, se
recomienda utilizar modelos formales
Con especificaciones incompletas, el modelo de prototipado
ayuda a identificarlos y va produciendo un sistema funcional
Pueden utilizarse modelos híbridos en distintas partes del
desarrollo
CLASIFICACIÓN DE LA
TECNOLOGÍA EN EL
DESARROLLO DE
SOFTWARE
Una de las tareas del ingeniero de software es la de seleccionar la
mejor tecnología para el tipo de proyecto a desarrollar.
Definimos tecnología de software como un conjunto integrado de
notaciones, herramientas y métodos, basados en unos sólidos
fundamentos, que permiten el desarrollo de un producto software en
un contexto organizativo dado.
Una tecnología de software puede considerarse constituida por los
siguientes componentes:
TECNOLOGÍAS DE
SOFTWARE
Las dos mas importantes son:
• Tecnologías de desarrollo
estructurado
• Tecnologías orientadas a objetos
TECNOLOGÍA
ESTRUCTURADA
Las tecnologías de desarrollo estructurado son las más convencionales de las
empleadas hoy día. Han surgido de la evolución de las ideas de programación
estructurada (hace más de veinticinco años) hacia las fases iniciales del ciclo de
vida.
La idea base de esta tecnología es que es posible estructurar el modelo de un
sistema de software en base a funciones que procesan información que reciben
de otras funciones (o del exterior) y dirigen la información procesada a otros
módulos funcionales (o al exterior).
El enfoque seguido, por tanto, es el de pensar en las funciones del sistema
necesarias (extraídas de los requisitos del sistema) y luego en los datos que
requieren.
TECNOLOGÍAS
ORIENTADOS A
OBJETOSLas tecnologías de desarrollo estructurado han demostrado sus
limitaciones a la hora de organizar y facilitar la evolución de sistemas de
software complejos.
La descomposición en funciones hace difícil al diseñador mantener la
relación con los objetos del mundo real sobre los que se modifican
generalmente los requisitos del usuario.
Los métodos de descomposición orientada a objetos constituyen la
tendencia más influyente observada en la ingeniería de sistemas de
software en los últimos años.
Con ellos nos referimos a un conjunto de métodos (aún en fase de
desarrollo o evolución) que permiten al analista y diseñador concebir su
sistema identificando clases de objetos, operaciones permitidas y
relaciones entre ellos como base para la estructura del sistema a diseñar.
¿Cuáles son las ventajas de un lenguaje
orientado a objetos?
• Fomenta la reutilización y extensión del código.
• Permite crear sistemas más complejos.
• Relacionar el sistema al mundo real.
• Facilita la creación de programas visuales.
• Construcción de prototipos
• Agiliza el desarrollo de software
• Facilita el trabajo en equipo
• Facilita el mantenimiento del software
HERRAMIENTAS CASE
Utilizamos las computadoras en nuestras vidas sin pensarlo.
•TV´s, microondas, cajeros automáticos, etc.
Desde que se inició la creación de software, surgió la necesidad de
herramientas que automatizaran el proceso.
Traductores, recopiladores, ensambladores, procesadores de
macros, etc.
•Estas aplicaciones provocaron una gran demanda por desarrollar software.
Se creo una gran cantidad de software que necesitaba
mantenimiento y actualización.
Causo muchos problemas a la industria de software, ya que no
podía cubrir la demanda con los métodos que se utilizaban.
•Crisis de software
Se crearon metodologías para intentar crear estándares de
desarrollo.
Además se creó un soporte automatizado para el desarrollo y
mantenimiento de software,
•Computer Aided Software Engineering (CASE)
¿QUÉ SON LAS
HERRAMIENTAS CASE?
Son un conjunto de programas y ayudas que
dan asistencia a los analistas, ingenieros de
software y desarrolladores, durante todos los
pasos del Ciclo de Vida de desarrollo de un
Software.
También se pueden definir como:•Conjunto de métodos, utilidades y técnicas que facilitan la
automatización del ciclo de vida del desarrollo de sistemas
de información, completamente o en alguna de sus fases.
VENTAJAS
La mejor razón para la creación de estas herramientas fue el
incremento en la velocidad de desarrollo de los sistemas.
Por esto, las compañías pudieron desarrollar sistemas sin encarar el
problema de tener cambios en las necesidades del negocio, antes de
finalizar el proceso de desarrollo.
También permite a las compañías competir más efectivamente usando
estos sistemas desarrollados nuevamente para compararlos con sus
necesidades de negocio actuales. En un mercado altamente
competitivo, esto puede hacer la diferencia entre el éxito y el fracaso.
Las herramientas CASE también permiten a los analistas
tener más tiempo para el análisis y diseño y minimizar
el tiempo para codificar y probar.
Además permiten:
•Verificar el uso de todos los elementos en el sistema
diseñado.
•Automatizar el dibujo de diagramas.
•Ayudar en la documentación del sistema.
•Ayudar en la creación de relaciones en la Base de Datos.
CLASIFICACIÓN DE
HERRAMIENTAS CASE
No existe una única clasificación de herramientas
CASE y, en ocasiones, es difícil incluirlas en una clase
determinada. Podrían clasificarse atendiendo a:
•Las plataformas que soportan.
•Las fases del ciclo de vida del desarrollo de sistemas que cubren.
•La arquitectura de las aplicaciones que producen.
•Su funcionalidad.
FASES DEL CICLO DE
VIDA QUE CUBREN
Herramientas integradas, I-CASE (Integrated CASE, CASE integrado):
abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son
llamadas también CASE workbench.
Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) o
front-end, orientadas a la automatización y soporte de las actividades
desarrolladas durante las primeras fases del desarrollo: análisis y diseño.
Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o back-
end, dirigidas a las últimas fases del desarrollo: construcción e
implantación.
Juegos de herramientas o Tools-Case, son el tipo más simple de
herramientas CASE. Automatizan una fase dentro del ciclo de vida.
Dentro de este grupo se encontrarían las herramientas de reingeniería,
orientadas a la fase de mantenimiento.
Tipo de
CASE
Ventajas Desventajas
I – CASE • Integra el ciclo de vida.
• Permite lograr importantes
mejoras de productividad a
mediano plazo.
• Permite un eficiente soporte al
mantenimiento de sistemas.
• Mantiene la consistencia de los
sistemas a nivel corporativo.
• No es tan eficiente para
soluciones simples, sino
para soluciones complejas.
• Depende del Hardware y del
Software.
• Es costoso.
Upper CASE • Se utiliza en plataforma PC, es
aplicable a diferentes entornos.
• Menor costo.
• Permite mejorar la calidad
de los sistemas, pero no
mejora la productividad.
• No permite la integración
del ciclo de vida.
Lower CASE • Permite lograr importantes
mejoras de productividad a
corto plazo.
• Permite un eficiente soporte al
mantenimiento de sistemas.
• No garantiza la consistencia
de los resultados a nivel
corporativo.
• No garantiza la eficiencia
del Análisis y Diseño.
• No permite la integración
del ciclo de vida.
DE ACUERDO A SU
FUNCIONALIDAD
Herramientas de planificación de sistemas de gestión.
Herramientas de análisis y diseño.
Herramientas de programación.
Herramientas de integración y prueba.
Herramientas de gestión de prototipos.
Herramientas de mantenimiento.
Herramientas de gestión de proyectos.
Herramientas de soporte.
COMPONENTES DE UNA
CASE
Repositorio: Base de datos central de una herramienta CASE. La mayoría de
herramientas CASE poseen un repositorio propio o bien trabajan sobre un
repositorio suministrado por otro fabricante o vendedor.
Módulos de diagramación y modelización: Algunos de los diagramas y
modelos utilizados con mayor frecuencia son:
•Diagrama de flujo de datos.
•Modelo entidad - interrelación.
•Historia de la vida de las entidades.
•Diagrama Estructura de datos.
•Diagrama Estructura de cuadros.
•Técnicas matriciales.
Herramienta de prototipado: El objetivo principal de esta herramienta es
poder mostrar al usuario, desde los momentos iniciales del diseño, el
aspecto que tendrá la aplicación una vez desarrollada.
Generador de código: Normalmente se suele utilizar sobre ordenadores
personales o estaciones de trabajo, por lo que el paso posterior del código
al host puede traer problemas, al tener que compilar en ambos entornos.
Las características más importantes de los generadores de código son:
•Lenguaje generado
•Portabilidad de código
•Generación del esqueleto del programa
Módulo generador de documentación: El módulo generador
de la documentación se alimenta del repositorio para
transcribir las especificaciones allí contenidas.
Algunas características de los generadores de
documentación son:
•Generación automática a partir de los datos del repositorio
•Combinación de información textual y gráfica
•Generación de referencias cruzadas.
•Ayuda de tratamiento de textos

Más contenido relacionado

La actualidad más candente

Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
Barklyn Lsla
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
Francisco Gómez
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
Tensor
 
Proceso unificado
Proceso unificadoProceso unificado
Proceso unificado
Yolanda Uruchima
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
José Antonio Sandoval Acosta
 
Modelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareModelos o Ciclos de vida de software
Modelos o Ciclos de vida de software
William Matamoros
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
YESENIA CETINA
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
Micky Jerzy
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
Joan Sebastián Ramírez Pérez
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
José Antonio Sandoval Acosta
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
Ian Berzeker Tovar
 
Cuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwareCuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de software
paoaboytes
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
Cesar Prado
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
UNIVERSIDAD PERUANA DE INVESTIGACIÓN Y NEGOCIOS
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
landeta_p
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
Chuyito Alvarado
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de Software
EvelinBermeo
 
Rational rose
Rational roseRational rose
Rational rose
Israel Chava Gonzales
 
Análisis coste - beneficio en Software
Análisis coste - beneficio en SoftwareAnálisis coste - beneficio en Software
Análisis coste - beneficio en Software
Victor Samaniego Neyra
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
Giancarlo Aguilar
 

La actualidad más candente (20)

Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
 
Proceso unificado
Proceso unificadoProceso unificado
Proceso unificado
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
 
Modelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareModelos o Ciclos de vida de software
Modelos o Ciclos de vida de software
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
 
Cuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwareCuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de software
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de Software
 
Rational rose
Rational roseRational rose
Rational rose
 
Análisis coste - beneficio en Software
Análisis coste - beneficio en SoftwareAnálisis coste - beneficio en Software
Análisis coste - beneficio en Software
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 

Destacado

Procesos De Ingenieria Del Software
Procesos De Ingenieria Del SoftwareProcesos De Ingenieria Del Software
Procesos De Ingenieria Del Software
Raquel Solano
 
(Inmer)La Ingenieria de Software
(Inmer)La Ingenieria de Software(Inmer)La Ingenieria de Software
(Inmer)La Ingenieria de Software
Inmer Alexai Flores Rodriguez
 
Ingenieria en software
Ingenieria en softwareIngenieria en software
Ingenieria en software
El Tory
 
Especificación de requisitos de software
Especificación de requisitos de softwareEspecificación de requisitos de software
Especificación de requisitos de software
481200601
 
Material Apoyo Ingenieria del Software USAL Argentina
Material Apoyo Ingenieria del Software USAL ArgentinaMaterial Apoyo Ingenieria del Software USAL Argentina
Material Apoyo Ingenieria del Software USAL Argentina
Susana Daldin
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
Pedro Fernandez
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
Victor Cones
 
Unidad 1 (1.3) Fundamentos de ingeniería de software
Unidad 1 (1.3) Fundamentos de ingeniería de software Unidad 1 (1.3) Fundamentos de ingeniería de software
Unidad 1 (1.3) Fundamentos de ingeniería de software
Selins Cassiel
 
Unidad 1 Introducción a la Ingeniería de Software
Unidad 1 Introducción a la Ingeniería de SoftwareUnidad 1 Introducción a la Ingeniería de Software
Unidad 1 Introducción a la Ingeniería de Software
Mary Carmen
 
Treminacion del trabajo v
Treminacion del trabajo vTreminacion del trabajo v
Treminacion del trabajo v
Christian Arturo Ortega Jiménez
 
Administración de Proyectos en la Ingeniería de Software
Administración de Proyectos en la Ingeniería de SoftwareAdministración de Proyectos en la Ingeniería de Software
Administración de Proyectos en la Ingeniería de Software
Grupo de Investigación de Ingeniería de Software e Ingeniería del Conocimiento
 
El despido
El despidoEl despido
El despido
Rosanna Rojas
 
CALIDAD DE SOFTWARE-SOLO SEPTIMO SEMESTRE
CALIDAD DE SOFTWARE-SOLO SEPTIMO SEMESTRECALIDAD DE SOFTWARE-SOLO SEPTIMO SEMESTRE
CALIDAD DE SOFTWARE-SOLO SEPTIMO SEMESTRE
Juan Raul Vergara
 
Pp valuacion por puntos
Pp valuacion por puntosPp valuacion por puntos
Pp valuacion por puntos
yelymil
 
DESPIDO LABORAL
DESPIDO LABORALDESPIDO LABORAL
Ieee 830
Ieee 830Ieee 830
Ieee 830
ALEX MERINO
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
XKWDX
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
Sergio Sanchez
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
José Antonio Sandoval Acosta
 
2008 Raquis
2008 Raquis2008 Raquis
2008 Raquis
Forlizzi
 

Destacado (20)

Procesos De Ingenieria Del Software
Procesos De Ingenieria Del SoftwareProcesos De Ingenieria Del Software
Procesos De Ingenieria Del Software
 
(Inmer)La Ingenieria de Software
(Inmer)La Ingenieria de Software(Inmer)La Ingenieria de Software
(Inmer)La Ingenieria de Software
 
Ingenieria en software
Ingenieria en softwareIngenieria en software
Ingenieria en software
 
Especificación de requisitos de software
Especificación de requisitos de softwareEspecificación de requisitos de software
Especificación de requisitos de software
 
Material Apoyo Ingenieria del Software USAL Argentina
Material Apoyo Ingenieria del Software USAL ArgentinaMaterial Apoyo Ingenieria del Software USAL Argentina
Material Apoyo Ingenieria del Software USAL Argentina
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
Unidad 1 (1.3) Fundamentos de ingeniería de software
Unidad 1 (1.3) Fundamentos de ingeniería de software Unidad 1 (1.3) Fundamentos de ingeniería de software
Unidad 1 (1.3) Fundamentos de ingeniería de software
 
Unidad 1 Introducción a la Ingeniería de Software
Unidad 1 Introducción a la Ingeniería de SoftwareUnidad 1 Introducción a la Ingeniería de Software
Unidad 1 Introducción a la Ingeniería de Software
 
Treminacion del trabajo v
Treminacion del trabajo vTreminacion del trabajo v
Treminacion del trabajo v
 
Administración de Proyectos en la Ingeniería de Software
Administración de Proyectos en la Ingeniería de SoftwareAdministración de Proyectos en la Ingeniería de Software
Administración de Proyectos en la Ingeniería de Software
 
El despido
El despidoEl despido
El despido
 
CALIDAD DE SOFTWARE-SOLO SEPTIMO SEMESTRE
CALIDAD DE SOFTWARE-SOLO SEPTIMO SEMESTRECALIDAD DE SOFTWARE-SOLO SEPTIMO SEMESTRE
CALIDAD DE SOFTWARE-SOLO SEPTIMO SEMESTRE
 
Pp valuacion por puntos
Pp valuacion por puntosPp valuacion por puntos
Pp valuacion por puntos
 
DESPIDO LABORAL
DESPIDO LABORALDESPIDO LABORAL
DESPIDO LABORAL
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
2008 Raquis
2008 Raquis2008 Raquis
2008 Raquis
 

Similar a Unidad 1 Ingenieria de software

Unidad 1 ing de software
Unidad 1 ing de softwareUnidad 1 ing de software
Unidad 1 ing de software
Mary Carmen
 
UNIDAD_I.ppt
UNIDAD_I.pptUNIDAD_I.ppt
UNIDAD_I.ppt
GermnAurelioOrtizBal
 
IngSoftCap01-Introduccion.pdf
IngSoftCap01-Introduccion.pdfIngSoftCap01-Introduccion.pdf
IngSoftCap01-Introduccion.pdf
cristian265023
 
Inf 162
Inf 162Inf 162
Inf 162
Markitozzz100
 
Seleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de softwareSeleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de software
Ingris Argueta
 
Software
SoftwareSoftware
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
Pablo Niama
 
Software
SoftwareSoftware
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
jevo1994
 
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Jose Garcia
 
Tic
TicTic
Omar,luis,daniel
Omar,luis,danielOmar,luis,daniel
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
Brandon Betamen
 
Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobar
Edwin Alexander
 
Actividad 1
Actividad 1Actividad 1
Actividad 1
Juan Ayala
 
Taller de Programación Distribuida
Taller de Programación DistribuidaTaller de Programación Distribuida
Taller de Programación Distribuida
Gilber Basilio Robles
 
Adrian adrianza
Adrian adrianzaAdrian adrianza
Adrian adrianza
Adrian Adrianza
 
Ingeniería de software - definiciones
Ingeniería de software - definicionesIngeniería de software - definiciones
Ingeniería de software - definiciones
dettebe
 
Siste deinf
Siste deinfSiste deinf
Siste deinf
jesuspericana2
 
Tarea 2 de fundamentos del computador
Tarea 2 de fundamentos del computadorTarea 2 de fundamentos del computador
Tarea 2 de fundamentos del computador
Diogenes Gomez Santana
 

Similar a Unidad 1 Ingenieria de software (20)

Unidad 1 ing de software
Unidad 1 ing de softwareUnidad 1 ing de software
Unidad 1 ing de software
 
UNIDAD_I.ppt
UNIDAD_I.pptUNIDAD_I.ppt
UNIDAD_I.ppt
 
IngSoftCap01-Introduccion.pdf
IngSoftCap01-Introduccion.pdfIngSoftCap01-Introduccion.pdf
IngSoftCap01-Introduccion.pdf
 
Inf 162
Inf 162Inf 162
Inf 162
 
Seleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de softwareSeleccion de tecnicas de ingenieria de software
Seleccion de tecnicas de ingenieria de software
 
Software
SoftwareSoftware
Software
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
 
Software
SoftwareSoftware
Software
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
 
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
 
Tic
TicTic
Tic
 
Omar,luis,daniel
Omar,luis,danielOmar,luis,daniel
Omar,luis,daniel
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobar
 
Actividad 1
Actividad 1Actividad 1
Actividad 1
 
Taller de Programación Distribuida
Taller de Programación DistribuidaTaller de Programación Distribuida
Taller de Programación Distribuida
 
Adrian adrianza
Adrian adrianzaAdrian adrianza
Adrian adrianza
 
Ingeniería de software - definiciones
Ingeniería de software - definicionesIngeniería de software - definiciones
Ingeniería de software - definiciones
 
Siste deinf
Siste deinfSiste deinf
Siste deinf
 
Tarea 2 de fundamentos del computador
Tarea 2 de fundamentos del computadorTarea 2 de fundamentos del computador
Tarea 2 de fundamentos del computador
 

Último

Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
OmarPadillaGarcia
 
1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
raulnilton2018
 
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdfFocos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
PatoLokooGuevara
 
chancadoras.............................
chancadoras.............................chancadoras.............................
chancadoras.............................
ssuser8827cb1
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
micoltadaniel2024
 
simbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspecciónsimbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspección
HarofHaro
 
DIAGRAMA DE FLUJO DE ALGORITMO......
DIAGRAMA DE FLUJO   DE   ALGORITMO......DIAGRAMA DE FLUJO   DE   ALGORITMO......
DIAGRAMA DE FLUJO DE ALGORITMO......
taniarivera1015tvr
 
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptxPRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
brandonsinael
 
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
DiegoAlexanderChecaG
 
Cargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un PuenteCargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un Puente
jemifermelgarejoaran1
 
tipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdftipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdf
munozvanessa878
 
Sistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisiónSistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisión
MichaelLpezOrtiz
 
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docxINFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
LuzdeFatimaCarranzaG
 
muros de contencion, diseño y generalidades
muros de contencion, diseño y generalidadesmuros de contencion, diseño y generalidades
muros de contencion, diseño y generalidades
AlejandroArturoGutie1
 
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdfMETRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
Augusto César Dávila Callupe
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
carolina838317
 
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptxDIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
KeylaArlethTorresOrt
 
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapasexposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
raul958375
 
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-BoshProceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
shirllyleytonm
 
Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024
FantasticVideo1
 

Último (20)

Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
 
1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
 
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdfFocos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
 
chancadoras.............................
chancadoras.............................chancadoras.............................
chancadoras.............................
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
 
simbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspecciónsimbologia y normas de soldadura para su inspección
simbologia y normas de soldadura para su inspección
 
DIAGRAMA DE FLUJO DE ALGORITMO......
DIAGRAMA DE FLUJO   DE   ALGORITMO......DIAGRAMA DE FLUJO   DE   ALGORITMO......
DIAGRAMA DE FLUJO DE ALGORITMO......
 
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptxPRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
PRES 3. METROLOGÍA DE GASES Y RADIACIONES IONIZANTES.pptx
 
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
380378757-velocidades-maximas-y-minimas-en-los-canales.pdf
 
Cargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un PuenteCargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un Puente
 
tipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdftipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdf
 
Sistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisiónSistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisión
 
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docxINFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
 
muros de contencion, diseño y generalidades
muros de contencion, diseño y generalidadesmuros de contencion, diseño y generalidades
muros de contencion, diseño y generalidades
 
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdfMETRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
METRADOS_Y_PRESUPUESTO_EN_SISTEMA_DRYWALL_24-05.pdf
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
 
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptxDIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
 
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapasexposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
 
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-BoshProceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
 
Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024
 

Unidad 1 Ingenieria de software

  • 2. CONCEPTOS BÁSICOS ¿Qué es el software? • Es el producto que diseñan y construyen los ingenieros del software. Esto abarca programas que se ejecutan dentro de una computadora de cualquier tamaño y arquitectura, documentos virtuales e impresos y datos que combinan números, texto, audio, video e imágenes. ¿Quién lo hace? • Los ingenieros de software lo construyen, y virtualmente cualquier persona en el mundo industrializado lo utiliza bien directa o indirectamente. ¿Porqué es importante? ¿Cuáles son los pasos?
  • 3. APLICACIONES DEL SOFTWARE Puede aplicarse en cualquier situación donde se haya definido previamente un conjunto específico de pasos procedimentales. •Software de sistemas •Software de tiempo real •Software de gestión •Software de ingeniería y científico
  • 4. PRODUCTO DE SOFTWARE Son sistemas de software junto a la documentación que describe cómo instalarlo y usarlo. • Documentación de requerimientos • Documentación de diseño • Código fuente • Planes de prueba del sistema • Principios de operación • Instrucciones de instalación • Procedimientos de mantenimiento • Manuales de usuario
  • 5. CATEGORÍAS DE SOFTWARELos productos de software se pueden dividir en dos grupos: •Productos genéricos: desarrollados para un mercado. •Productos a la medida: encargados por un cliente. La diferencia entre uno y otro: •En los genéricos, la organización que desarrolla el software controla su especificación. •En los otros, por lo general es desarrollada y controlada por la organización que está comprando el software.
  • 6. 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 daños 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.
  • 7. INGENIERÍA DE SOFTWARE El término “Ingeniería del software” surge a final de los años 60 dentro de una conferencia dedicada a “la crisis del software”. Se define como: •“La disciplina tecnológica relacionada con la producción sistemática y el mantenimiento de productos de software que son desarrollados y modificados en el tiempo previsto y dentro de los costos estimados”. Su objetivo es producir productos de software.
  • 8. OTROS CONCEPTOS Ingeniería del software: • Conjunto de métodos, herramientas y procedimientos para producir software de gran calidad. [R. Pressman]
  • 9. Los métodos describen cómo construir técnicamente el software. Comprende las actividades de: •Planificación y estimación de proyectos •Análisis de requisitos •Diseño •Codificación •Prueba •Mantenimiento Las herramientas dan soporte semiautomático a los métodos. Los procedimientos relacionan formalmente los métodos y las herramientas.
  • 10. CALIDAD DE SOFTWARE La calidad del software es una noción que puede ser descrita mediante una serie de factores, que pueden ser: • Externos: observables por los usuarios del producto. • Internos: observables por profesionales de la computación.
  • 11. FACTORES EXTERNOS Corrección: capacidad de los productos de software de ejecutar sus tareas tal como están definidas en su especificación de requerimientos. Robustez: capacidad de un sistema de software para funcionar en situaciones anormales. Modificabilidad: facilidad de un producto para adaptarse al cambio de especificaciones. Reusabilidad: facilidad para ser reutilizado en todo o en parte para nuevas aplicaciones. Compatibilidad: facilidad de los productos de software para combinarse unos con otros. Eficiencia: buen uso de los recursos de software y hardware disponibles.
  • 12. FACTORES EXTERNOS Portabilidad: facilidad para adaptarse a otros entornos de software o hardware. Verificabilidad: facilidad para preparar procedimientos de aceptación, en particular datos de prueba, para detectar fallos durante las fases de validación y operación. Integridad: capacidad de un sistema para proteger sus documentos (programas, datos) contra accesos y modificaciones no autorizados. Facilidad de uso: capacidad de aprender a manejar un sistema de software, operar con el, preparar datos de entrada, interpretar resultados, etc.
  • 13. FACTORES INTERNOS Modularidad: independencia funcional de los componentes del programa. Legibilidad: facilidad de lectura e interpretación del código del programa.
  • 14. EL PROCESO DEL SOFTWARE ¿Qué es un proceso de software? Es un conjunto de actividades, acciones y tareas que se ejecutan cuando va a crearse algún producto del trabajo. • Una actividad busca lograr un objetivo amplio y se desarrolla sin importar el dominio de la aplicación. • Una acción es un conjunto de tareas que producen un producto importante del trabajo. • Una tarea se centra en un objetivo pequeño pero bien definido que produce un resultado tangible.
  • 15. ACTIVIDADES DEL PROCESO DE SOFTWAREUna estructura de proceso general para la ingeniería de software consta de las siguientes actividades: • Planificación • Análisis • Diseño • Implementación • Pruebas • Instalación o Despliegue • Uso y mantenimiento Comunicación: comunicarse con los clientes para entender los objetivos. Planeación: Cualquier viaje se simplifica si existe un mapa. Para el desarrollo de software el mapa es el plan del proyecto de software. Modelado: crear un bosquejo del objeto por hacer con el fin de entender el panorama. Construcción: generación de código y pruebas para descubrir errores. Despliegue: entrega al consumidor para su evaluación.
  • 16. PLANIFICACIÓN Delimitación del ámbito del proyecto Realización de un estudio de viabilidad Análisis de los riesgos asociados al proyecto Estimación del costo del proyecto Planificación temporal y la asignación de recursos a las distintas etapas del proyecto.
  • 17. ANÁLISIS Técnicas de elicitación de requerimientos • Incluye desde el cliente que paga el proyecto hasta los usuarios finales de la aplicación. • Sin olvidarse de terceras personas, empresas competidoras y organismos reguladores. Herramientas de modelado de sistemas. • Ayudan a comunicar la estructura de un sistema complejo • Sirven para especificar el comportamiento deseado del sistema • Ayudan a comprender mejor lo que estamos diseñando • Permiten descubrir oportunidades de simplificación y de reutilización Metodologías de análisis de requerimientos.
  • 18. DISEÑO Un software bien diseñado debe exhibir determinadas características. Su diseño debería ser modular Sus módulos deberían ser cohesivos (encargarse de una tarea concreta y sólo de una) y estar débilmente acoplados entre sí (para facilitar el mantenimiento del sistema). Cada módulo debería ofrecer a los demás unas interfaces bien definidos y ocultar sus detalles de implementación. Debe ser posible relacionar las decisiones de diseño tomadas con los requerimientos del sistema que las ocasionaron. Diseños mas comunes •Arquitecturas multicapa •Arquitecturas cliente/servidor
  • 19. IMPLEMENTACIÓN Antes de escribir una sola línea de código (o de crear una tabla en nuestra base de datos) es fundamental haber comprendido bien el problema que se pretende resolver y haber aplicado principios básicos de diseño que nos permitan construir un sistema de información de calidad. • Herramientas adecuadas • Un entorno de desarrollo que facilite nuestro trabajo • Un lenguaje de programación apropiado para el tipo de sistema que vayamos a construir.
  • 20. PRUEBAS Errar es humano y la etapa de pruebas tiene como objetivo detectar los errores que se hayan podido cometer en las etapas anteriores del proyecto (y, eventualmente, corregirlos). • Las pruebas de unidad • Las pruebas de integración • Pruebas alfa • Pruebas beta • Test de aceptación • Revisiones
  • 21. INSTALACIÓN/DESPLIEG UE Una vez concluidas las etapas de desarrollo de un sistema de información (análisis, diseño, implementación y pruebas), llega el instante de que poner el sistema en funcionamiento, su instalación o despliegue. De cara a su instalación, hemos de planificar el entorno en el que el sistema debe funcionar, tanto hardware como software: equipos necesarios y su configuración física, redes de interconexión entre los equipos y de acceso a sistemas externos, sistemas operativos (actualizados para evitar problemas de seguridad), bibliotecas y componentes suministrados por terceras partes, etcétera.
  • 22. USO Y MANTENIMIENTO La etapa de mantenimiento consume típicamente del 40 al 80 por ciento de los recursos de una empresa de desarrollo de software. De hecho, con un 60% de media, es probablemente la etapa más importante del ciclo de vida del software. Dada la naturaleza del software, que ni se rompe ni se desgasta con el uso, su mantenimiento incluye tres facetas diferentes: •Eliminar los defectos que se detecten durante su vida útil (mantenimiento correctivo) •Adaptarlo a nuevas necesidades (mantenimiento adaptativo) •Añadirle nueva funcionalidad (mantenimiento perfectivo),
  • 23. CICLO DE VIDA Sucesión de etapas por las que atraviesa un producto software a lo largo de su desarrollo y existencia. Existen distintas formas, paradigmas o modelos de ciclo de vida de software: •Clásico o cascada •Prototipado. •Evolutivo o en espiral. •Combinación de estilos, etc. Alternativamente, a veces se usan los términos “Ciclo de vida”, y “Modelo de ciclo de vida”
  • 25. CLÁSICO O CASCADA Propuesto por W. Royce a principios de los 70. Aplicación secuencial de una serie de pasos. Cada paso genera entradas y documentación para la siguiente.
  • 27. CRÍTICAS AL CICLO DE VIDA CLÁSICO Proyectos raramente siguen el ciclo de vida secuencial. Dificultad para establecer los requerimientos al principio de proceso. Errores detectados tardíamente. Mantenimiento por parcheado (corregir según se presenten los problemas).
  • 28. PROTOTIPADO Prototipear consiste en construir una versión inicial de un producto, el cual se describe la interacción hombre-máquina sin implementar completamente la funcionalidad del sistema (prototipo sin funcionalidad). Utilidad: •Ayuda a los analistas a establecer las necesidades del cliente. •Ayuda a los desarrolladores a mejorar los productos.
  • 29. CLASES DE PROTOTIPOS Vertical: desarrolla completamente algunas de las facetas del producto. Horizontal: desarrolla parcialmente todas las facetas del producto. Evolutivo: la versión final es el producto ya construido. Desechable: se usa solo para la captación de requerimientos y funcionalidad.
  • 30. OBSERVACIONES SOBRE EL PROTOTIPADO Facilita la captación de los requerimientos del cliente. Reduce el riesgo de parcheado del producto final. La construcción del prototipo supone una inversión adicional. El cliente ve funcionando una versión de lo que será su programa sin asumir que dicha versión no es robusta ni completa.
  • 31. EVOLUTIVO O EN ESPIRAL El desarrollo en espiral fue definido por primera vez por Barry Boehm en 1986. Las actividades de este modelo se conforman en una espiral, en la que 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.
  • 32.
  • 33.
  • 34. VENTAJAS El análisis del riesgo se hace de forma explícita y clara. Une los mejores elementos de los restantes modelos. Reduce riesgos del proyecto Incorpora objetivos de calidad Integra el desarrollo con el mantenimiento, etc. Además es posible tener en cuenta mejoras y nuevos requerimientos sin romper con la metodología, ya que este ciclo de vida no es rígido ni estático.
  • 35. DESVENTAJAS Genera mucho tiempo en el desarrollo del sistema Modelo costoso Requiere experiencia en la identificación de riesgos
  • 36. OTROS TIPOS DE MODELADO Modelo incremental Modelo DRA Modelo en “Y” Proceso Unificado de Rational (RUP) Metodología ágil Scrum Programación extrema
  • 37. ¿QUÉ MODELO UTILIZAR? Para sistemas bien conocidos se puede utilizar el Modelo de Cascada. La fase de análisis de riesgos es relativamente fácil Con requisitos estables y sistemas de seguridad críticos, se recomienda utilizar modelos formales Con especificaciones incompletas, el modelo de prototipado ayuda a identificarlos y va produciendo un sistema funcional Pueden utilizarse modelos híbridos en distintas partes del desarrollo
  • 38. CLASIFICACIÓN DE LA TECNOLOGÍA EN EL DESARROLLO DE SOFTWARE Una de las tareas del ingeniero de software es la de seleccionar la mejor tecnología para el tipo de proyecto a desarrollar. Definimos tecnología de software como un conjunto integrado de notaciones, herramientas y métodos, basados en unos sólidos fundamentos, que permiten el desarrollo de un producto software en un contexto organizativo dado. Una tecnología de software puede considerarse constituida por los siguientes componentes:
  • 39.
  • 40. TECNOLOGÍAS DE SOFTWARE Las dos mas importantes son: • Tecnologías de desarrollo estructurado • Tecnologías orientadas a objetos
  • 41. TECNOLOGÍA ESTRUCTURADA Las tecnologías de desarrollo estructurado son las más convencionales de las empleadas hoy día. Han surgido de la evolución de las ideas de programación estructurada (hace más de veinticinco años) hacia las fases iniciales del ciclo de vida. La idea base de esta tecnología es que es posible estructurar el modelo de un sistema de software en base a funciones que procesan información que reciben de otras funciones (o del exterior) y dirigen la información procesada a otros módulos funcionales (o al exterior). El enfoque seguido, por tanto, es el de pensar en las funciones del sistema necesarias (extraídas de los requisitos del sistema) y luego en los datos que requieren.
  • 42. TECNOLOGÍAS ORIENTADOS A OBJETOSLas tecnologías de desarrollo estructurado han demostrado sus limitaciones a la hora de organizar y facilitar la evolución de sistemas de software complejos. La descomposición en funciones hace difícil al diseñador mantener la relación con los objetos del mundo real sobre los que se modifican generalmente los requisitos del usuario. Los métodos de descomposición orientada a objetos constituyen la tendencia más influyente observada en la ingeniería de sistemas de software en los últimos años. Con ellos nos referimos a un conjunto de métodos (aún en fase de desarrollo o evolución) que permiten al analista y diseñador concebir su sistema identificando clases de objetos, operaciones permitidas y relaciones entre ellos como base para la estructura del sistema a diseñar.
  • 43. ¿Cuáles son las ventajas de un lenguaje orientado a objetos? • Fomenta la reutilización y extensión del código. • Permite crear sistemas más complejos. • Relacionar el sistema al mundo real. • Facilita la creación de programas visuales. • Construcción de prototipos • Agiliza el desarrollo de software • Facilita el trabajo en equipo • Facilita el mantenimiento del software
  • 44. HERRAMIENTAS CASE Utilizamos las computadoras en nuestras vidas sin pensarlo. •TV´s, microondas, cajeros automáticos, etc. Desde que se inició la creación de software, surgió la necesidad de herramientas que automatizaran el proceso. Traductores, recopiladores, ensambladores, procesadores de macros, etc. •Estas aplicaciones provocaron una gran demanda por desarrollar software. Se creo una gran cantidad de software que necesitaba mantenimiento y actualización.
  • 45. Causo muchos problemas a la industria de software, ya que no podía cubrir la demanda con los métodos que se utilizaban. •Crisis de software Se crearon metodologías para intentar crear estándares de desarrollo. Además se creó un soporte automatizado para el desarrollo y mantenimiento de software, •Computer Aided Software Engineering (CASE)
  • 46. ¿QUÉ SON LAS HERRAMIENTAS CASE? Son un conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software. También se pueden definir como:•Conjunto de métodos, utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información, completamente o en alguna de sus fases.
  • 47. VENTAJAS La mejor razón para la creación de estas herramientas fue el incremento en la velocidad de desarrollo de los sistemas. Por esto, las compañías pudieron desarrollar sistemas sin encarar el problema de tener cambios en las necesidades del negocio, antes de finalizar el proceso de desarrollo. También permite a las compañías competir más efectivamente usando estos sistemas desarrollados nuevamente para compararlos con sus necesidades de negocio actuales. En un mercado altamente competitivo, esto puede hacer la diferencia entre el éxito y el fracaso.
  • 48. Las herramientas CASE también permiten a los analistas tener más tiempo para el análisis y diseño y minimizar el tiempo para codificar y probar. Además permiten: •Verificar el uso de todos los elementos en el sistema diseñado. •Automatizar el dibujo de diagramas. •Ayudar en la documentación del sistema. •Ayudar en la creación de relaciones en la Base de Datos.
  • 49. CLASIFICACIÓN DE HERRAMIENTAS CASE No existe una única clasificación de herramientas CASE y, en ocasiones, es difícil incluirlas en una clase determinada. Podrían clasificarse atendiendo a: •Las plataformas que soportan. •Las fases del ciclo de vida del desarrollo de sistemas que cubren. •La arquitectura de las aplicaciones que producen. •Su funcionalidad.
  • 50. FASES DEL CICLO DE VIDA QUE CUBREN Herramientas integradas, I-CASE (Integrated CASE, CASE integrado): abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas también CASE workbench. Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) o front-end, orientadas a la automatización y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: análisis y diseño. Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o back- end, dirigidas a las últimas fases del desarrollo: construcción e implantación. Juegos de herramientas o Tools-Case, son el tipo más simple de herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontrarían las herramientas de reingeniería, orientadas a la fase de mantenimiento.
  • 51. Tipo de CASE Ventajas Desventajas I – CASE • Integra el ciclo de vida. • Permite lograr importantes mejoras de productividad a mediano plazo. • Permite un eficiente soporte al mantenimiento de sistemas. • Mantiene la consistencia de los sistemas a nivel corporativo. • No es tan eficiente para soluciones simples, sino para soluciones complejas. • Depende del Hardware y del Software. • Es costoso. Upper CASE • Se utiliza en plataforma PC, es aplicable a diferentes entornos. • Menor costo. • Permite mejorar la calidad de los sistemas, pero no mejora la productividad. • No permite la integración del ciclo de vida. Lower CASE • Permite lograr importantes mejoras de productividad a corto plazo. • Permite un eficiente soporte al mantenimiento de sistemas. • No garantiza la consistencia de los resultados a nivel corporativo. • No garantiza la eficiencia del Análisis y Diseño. • No permite la integración del ciclo de vida.
  • 52. DE ACUERDO A SU FUNCIONALIDAD Herramientas de planificación de sistemas de gestión. Herramientas de análisis y diseño. Herramientas de programación. Herramientas de integración y prueba. Herramientas de gestión de prototipos. Herramientas de mantenimiento. Herramientas de gestión de proyectos. Herramientas de soporte.
  • 53. COMPONENTES DE UNA CASE Repositorio: Base de datos central de una herramienta CASE. La mayoría de herramientas CASE poseen un repositorio propio o bien trabajan sobre un repositorio suministrado por otro fabricante o vendedor. Módulos de diagramación y modelización: Algunos de los diagramas y modelos utilizados con mayor frecuencia son: •Diagrama de flujo de datos. •Modelo entidad - interrelación. •Historia de la vida de las entidades. •Diagrama Estructura de datos. •Diagrama Estructura de cuadros. •Técnicas matriciales.
  • 54. Herramienta de prototipado: El objetivo principal de esta herramienta es poder mostrar al usuario, desde los momentos iniciales del diseño, el aspecto que tendrá la aplicación una vez desarrollada. Generador de código: Normalmente se suele utilizar sobre ordenadores personales o estaciones de trabajo, por lo que el paso posterior del código al host puede traer problemas, al tener que compilar en ambos entornos. Las características más importantes de los generadores de código son: •Lenguaje generado •Portabilidad de código •Generación del esqueleto del programa
  • 55. Módulo generador de documentación: El módulo generador de la documentación se alimenta del repositorio para transcribir las especificaciones allí contenidas. Algunas características de los generadores de documentación son: •Generación automática a partir de los datos del repositorio •Combinación de información textual y gráfica •Generación de referencias cruzadas. •Ayuda de tratamiento de textos