Video Akihabara
Salvador Garcia
Created on September 9, 2024
More creations to inspire you
Transcript
FUNDAMENTO DE INGENIERIA DE SOFTWARE
CONCEPTOS BASICOS
CONCEPTO BASICOS
CONCEPTOS BASICOS
CONCEPTOS BASICOS
CONCEPTOS BASICOS
CONCEPTOS BASICOS
CONCEPTOS BASICOS
CONCEPTOS BASICOS
Los campos en que se utilizan las computadoras hoy en día son innumerables. Se ha llegado al punto en que es posible decir que no hay un solo campo del conocimiento humano en el que no se haya aplicado la computación, pues se han creado aplicaciones para áreas del conocimiento humano tan distintas como lo pueden ser la astrofísica y la cocina. Por esta razón el software que se puede crear es tan variado como las ideas que se forman en las mentes de las personas. Aún así, todos los proyectos de creación de software siguen un proceso muy parecido para llegar desde la idea original hasta un producto terminado y funcional. Este proceso básico está conformado por análisis, diseño, implementación, pruebas y mantenimiento.
Es el proceso formal de desarrollo de software en el que las necesidades del usuario se traducen en requerimientos, estos se transforman en diseño que se implementa en código que se prueba, documenta y se certifica para su uso operativo. Según la definición del IEEE la ingeniería del software se define como “la aplicación de un método sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software, esto es, la aplicación de la ingeniería al software”.
La ingeniería del software
Se define como el ingenio o el conocimiento de las ciencias naturales y matemáticas obtenidas con el estudio, la práctica y la experiencia se aplica con juicio para desarrollar formas de utilizar de modo económico, los materiales y fuerzas de la naturaleza para beneficio de la humanidad.
Ingeniería
Es el conjunto de todos los programas que existen dentro de una computadora o también conocido como el producto del desarrollo que realizan los ingenieros de software resultado de requerimientos de información.
Software
Análisis de Requerimientos: Se identifican y extraen los requisitos del software. Es crucial la habilidad en ingeniería de software para detectar requisitos incompletos o ambiguos. La comunicación intensa con el cliente es esencial para clarificar y completar los requisitos.
FASES DE LA INGENIERIA DE SOFTWARE
Especificación: Se describe detalladamente el software a desarrollar, incluyendo su comportamiento esperado y la interacción con usuarios y otros sistemas.
Diseño y Arquitectura: Se define cómo funcionará el software a nivel general, considerando aspectos tecnológicos como hardware y redes. Se diseñan los componentes del sistema y sus interacciones mediante diagramas..
Programación: Se traduce el diseño a código. Aunque es la parte más visible del desarrollo, no siempre es la más larga o compleja. Un diseño o especificación incompletos pueden requerir ajustes durante esta etapa.
FASES DE LA INGENIERIA DE SOFTWARE
Prueba: Se verifica que el software cumpla con los requisitos especificados. Es recomendable realizar pruebas a distintos niveles (unitarias e integradas) y por equipos diferentes al de desarrollo.
Documentación: Se elabora el manual de usuario y posiblemente un manual técnico para el mantenimiento y futuras ampliaciones. Esta tarea comienza en la primera fase y se completa tras las pruebas.
Mantenimiento: Incluye el mantenimiento correctivo (resolución de errores) y evolutivo (mejoras y nuevos requisitos).
Metodologías de Desarrollo de Software
Las metodologías clásicas son aquellas que siguen una secuencia lógica y cada etapa es directamente dependiente de que se culmine la etapa anterior. Estas metodologías pueden ser clasificadas en: − Cascada − Método evolutivo − Prototipos − Desarrollo basado en componentes − Espiral − Incremental
CLASICA
Metodologías Ágiles
El desarrollo ágil de software son métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requerimientos y soluciones evolucionan mediante la colaboración de grupos auto organizados y multidisciplinarios. Existen muchos métodos de desarrollo ágil; la mayoría minimiza riesgos desarrollando software en lapsos cortos. El software desarrollado en una unidad de tiempo es llamado una iteración, la cual debe durar de una a cuatro semanas.
Metodologías Otras Filosofías
Programación estructurada y Programación Orientada a Objetos: Son paradigmas de programación que indican cómo deben comportarse los sistemas de programación. No están relacionados con el ciclo de vida del software ni con la manera específica de realizar tareas en un proyecto. Por lo tanto, no son metodologías. Lenguaje UML (Unified Modeling Language): Es una herramienta de ingeniería significativa que permite a los profesionales del desarrollo de sistemas expresar sus ideas de manera común. Sin embargo, UML no prescribe cómo realizar tareas específicas en un proyecto, solo sirve para expresar ideas. Por lo tanto, no es una metodología. Algunas metodologías como RUP o METRICA utilizan UML como herramienta para expresar ideas.
Lorem ipsum
Credibilidad y Exactitud: Proporcionan credibilidad, exactitud y fiabilidad, lo que se traduce en un reconocimiento universal. Son utilizadas por analistas, programadores, ingenieros de software y otros especialistas en tecnologías de información. Optimización de Procesos: Ayudan a obtener resultados óptimos, eficaces y presentables en cada uno de los procesos de desarrollo de software. Toma de Decisiones: Brindan información necesaria para la toma de decisiones importantes, especialmente en lo que respecta a los costos y gastos asociados con la realización de un proyecto de software.
Importancia de las Herramientas CASE