Ingeneria del software

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Ingeneria del software por Mind Map: Ingeneria del software

1. Cumplimiento de tiempos: Existen muchas formas de discutir o evaluar la eficiencia del equipo y el trabajo completado, en el desarrollo de software, por ejemplo, el tiempo de entrega de un proyecto comienza con la propuesta y termina con la entrega.

1.1. Tiempo de entrega

1.2. Cantidad de código

1.3. Trabajo en curso (WIP)

1.4. Velocidad ágil

1.5. Tasa de éxito de la meta del sprint.

1.6. Número de versiones de software

2. Modelos y ciclos de vida del desarrollo de software

2.1. La ingeniería de software, con el fin de ordenar el caos que era anteriormente el desarrollo de software, dispone de varios modelos, paradigmas y filosofías de desarrollo, estos los conocemos principalmente como modelos o ciclos de vida del desarrollo de software, esto incluye el proceso que se sigue para construir, entregar y hacer evolucionar el software, desde la concepción de una idea hasta la entrega y el retiro del sistema y representa todas las actividades y artefactos (productos intermedios) necesarios para desarrollar una aplicación.

2.1.1. Ciclo de Vida

2.1.1.1. Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global.

2.1.1.2. Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar.

2.1.1.3. Diseño general: requisitos generales de la arquitectura de la aplicación.

2.1.1.4. Diseño en detalle: definición precisa de cada subconjunto de la aplicación.

2.1.1.5. Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.

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

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

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

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

2.1.1.10. Implementación y Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).

3. Metodologías de software

3.1. Es un marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo en sistemas de información

3.1.1. Prevención de errores: La prevención de defectos es muy útil en cualquier servicio de pruebas, sobre todo en aquellos sectores donde la evolución del negocio o del software sea muy dinámica. Por ejemplo, en el sector Telco, caracterizado por el gran volumen de aplicaciones que intervienen en los flujos de provisión -CRM, integración, facturación, backend, plataforma de red, etc.

3.1.2. Costos Planeados: Antes de construir un producto, los ingenieros construyen diferentes modelos de costos para brindar un informe detallado de la inversión que se debe realizar en el desarrollo del producto. Antes de empezar el desarrollo de un sistema el cliente debe tener un conocimiento claro sobre los costos que requiere la construcción del mismo.

3.1.3. Calidad: Es el cumplimiento de los requerimientos contractuales por parte del producto software desarrollado, así como durante el proceso de desarrollo. La calidad se obtiene mejorando día a día el proceso de producción, mantenimiento y gestión del software

4. Pruebas de software

4.1. Son las investigaciones empíricas y técnicas cuyo objetivo es proporcionar información objetiva e independiente sobre la calidad del producto a la parte interesada o stakeholder.

4.1.1. Unitarias: Es una forma efectiva de comprobar el correcto funcionamiento de las unidades individuales más pequeñas de los programas informáticos ​. Por ejemplo en diseño estructurado o en diseño funcional una función o un procedimiento, en diseño orientado a objetos una clase

4.1.2. De integración: Son aquellas que se realizan en el ámbito del desarrollo de software una vez que se han aprobado las pruebas unitarias y lo que prueban es que todos los elementos unitarios que componen el software, funcionan juntos correctamente probándolos en grupo.

4.1.3. De sistema: Tienen como objetivo ejercitar profundamente el sistema comprobando la integración del sistema de información globalmente, verificando el funcionamiento correcto de las interfaces entre los distintos subsistemas que lo componen y con el resto de sistemas de información con los que se comunica.

4.1.4. De aceptación: Las pruebas de aceptación pertenecen a las últimas etapas previas a la liberación en firme de versiones nuevas a fin de determinar si cumplen con las necesidades y/o requerimientos de las empresas y sus usuarios

5. Principios de la ingeniería del software

5.1. Crear programas informáticos que satisfagan las necesidades de la sociedad y empresas. Guiar y coordinar el desarrollo de una programación difícil. Intervenir en el ciclo de vida de un producto. Estimar los costos y el plazo de ejecución de un proyecto.

5.2. Los tipos de software que existen se pueden clasificar en tres grandes grupos de acuerdo con las funciones que habilitan. De esta forma, hablamos de software de aplicación (dentro del cual encontramos, a su vez, el software de gestión), software de programación y software de sistema.

5.2.1. Software de aplicacion

5.2.1.1. Generalmente instalados en el sistema por el usuario, y diseñados para llevar a cabo un objetivo determinado y concreto, de tipo lúdico, instrumental, comunicativo, informativo, etc.

5.2.2. Software de programacion

5.2.2.1. Es el conjunto de herramientas que permiten al programador desarrollar programas de informática, usando diferentes alternativas y lenguajes de programación, de una manera práctica.

5.2.3. Software de sistema

5.2.3.1. consiste en un software que sirve para controlar e interactuar con el sistema operativo, proporcionando control sobre el hardware y dando soporte a otros programas