Ingenieria de software

15
INGENIERIA DE INGENIERIA DE SOFTWARE SOFTWARE Definiciones y Conceptos Elaboro: Fernando Alfonso Casas De la Torre Maestria en S.C. I.T.L.

Transcript of Ingenieria de software

Page 1: Ingenieria de software

INGENIERIA DE INGENIERIA DE SOFTWARESOFTWARE

Definiciones y Conceptos

Elaboro:Fernando Alfonso Casas De la Torre

Maestria en S.C. I.T.L.

Page 2: Ingenieria de software

Ingenieria de Software

¿Qué es la Ingeniería de software?

Es una disciplina de la ingenieria que comprende todos los aspectos de la

produccion de software desde las etapas iniciales de la especificacion del sistema hasta el mantenimiento de este despues

que se utiliza.

Page 3: Ingenieria de software

Ingenieria de Software

¿Cuál es la diferencia entre un programador y un Ingeniero de software?

•Programador: Es aquella persona que escribe, depura y mantiene el código fuente de un programa informático.

•Ingeniero de Software: Es la persona que estudia el dominio del uso del software y prepara el software requisitos y especificación de documentos.

Page 4: Ingenieria de software

Ingenieria de Software

Un INGENIERO DE SOFTWARE no se enfoca en entender como funciona el programa dentro de un sistema operativo, o por asi decirlo, dentro de la computadora.  

Le importa que el producto (software) entregado cumpla con los requerimientos definidos, de forma que le entregue “valor” al cliente.

Su solución va centrada y orientada a cliente y sus requerimientos. (no tanto en el código), es decir, se enfoca en dar soluciones a los problemas planteados.

En resumen, un ingeniero de software esta enfocado en la funcion que proveera el software (uso que se le dara dentro de un negocio especifico), de forma que cumpla especificaciones.

Page 5: Ingenieria de software

Ingenieria de Software

El PROGRAMADOR sabe como funciona el software, es decir, que algoritmos utiliza, como maneja la memoria, manejo de recursos del computador para poder realizar alguna tarea o procedimiento computacional.

Esta centrado en la tecnología utilizada, que involucra tanto el lenguaje utilizado, frameworks, cosa que el cliente no sabe y no quiere saber, pero es la estructura que sostiene todo el funcionamiento del software que maneja su información.

En resumen el programador esta enfocado a la funcionalidad de un programa y el ingeniero a la funcionalidad del sistema enfocado al

cliente o usuario.

Page 6: Ingenieria de software

Ingenieria de Software

El PROGRAMADOR sabe como funciona el software, es decir, que algoritmos utiliza, como maneja la memoria, manejo de recursos del computador para poder realizar alguna tarea o procedimiento computacional.

Esta centrado en la tecnología utilizada, que involucra tanto el lenguaje utilizado, frameworks, cosa que el cliente no sabe y no quiere saber, pero es la estructura que sostiene todo el funcionamiento del software que maneja su información.

En resumen el programador esta enfocado a la funcionalidad de un programa y el ingeniero a la funcionalidad del sistema enfocado al

cliente o usuario.

Page 7: Ingenieria de software

Ingenieria de Software

Page 8: Ingenieria de software

Ingenieria de Software¿Qué es un proceso de software?

Antes de definir lo que es un proceso de desarrollo de software, entendamos lo que es un proceso. Una definición sencilla de proceso es “serie de acciones que conducen a un final”.

Pero para realizar el prceso necesitamos ejecutar una serie de acciones, y estas acciones tengan cierto orden, dependencias, roles responsables, resultados, tiempos de ejecución y herramientas de apoyo, estaremos hablando de procesos, que pueden ser predefinidos y personalizados.

Ahora un PROCESO DE SOFTWARE es el proceso para la creación de un software. La meta de la ingeniería de software es construir productos de software, o mejorar los existentes; en ingeniería de procesos, la meta es desarrollar o mejorar procesos.

Page 9: Ingenieria de software

Ingenieria de Software¿Qué es un proceso de software?

Un proceso de desarrollo de software es un conjunto de personas, estructuras de organización, reglas, políticas, actividades y sus procedimientos, componentes de software, metodologías, y herramientas utilizadas o creadas específicamente para definir, desarrollar, ofrecer un servicio, innovar y extender un producto de software.

Page 10: Ingenieria de software

Ingenieria de Software¿Qué es un modelo de software?Los modelos de desarrollo de software son una representación abstracta de una manera en particular.

Realmente no representa cómo se debe desarrollar el software, sino de un enfoque común. Puede ser modificado y adaptado de acuerdo a las necesidades del software en proceso de desarrollo.

Hay varios modelos para perfilar el proceso de desarrollo, cada uno de las cuales cuenta con pros y contras. El proyecto debería escoger el más apropiado para sus necesidades.

Page 11: Ingenieria de software

Ingenieria de SoftwareParadigma Tradicional:

Es uno de los paradigmas más antiguo, se inventó durante la creación del método estructurado. Si se elige un proyecto, el método varia en etapas. Como todo modelo, existen sus pros y contras al usar este paradigma:

Page 12: Ingenieria de software

Ingenieria de SoftwareParadigma Orientado a Objetos: Estos modelos se basan en la Programación orientada a objetos; por lo tanto, se refiere al concepto de clase, el análisis de requisitos y el diseño. El modelo o paradigma orientado a objetos posee dos características principales, las cuales son:

Permite la re-utilización de software.

Facilita el desarrollo de herramientas informáticas de apoyo al desarrollo, el cual es simple al implementarla en una notación orientado a objetos llamado UML.

Page 13: Ingenieria de software

Ingenieria de SoftwareParadigma de Desarrollo Ágil:

Es un paradigma de las METODOLOGÍAS DE DESARROLLO basado en procesos ágiles. Estos intentan evitar los tediosos caminos de las metodologías tradicionales enfocándose en las personas y los resultados.

Usa un enfoque basado en el Valor para construir software, colaborando con el cliente e incorporando los cambios continuamente.5

Page 14: Ingenieria de software

Ingenieria de SoftwareModelos 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

Page 15: Ingenieria de software

Ingenieria de Software

¡Muchas gracias por su atencion!