EL SOFTWARE Y LA INGENIERÍA DE SOFTWARE

Get Started. It's Free
or sign up with your email address
EL SOFTWARE Y LA INGENIERÍA DE SOFTWARE by Mind Map: EL SOFTWARE Y LA INGENIERÍA  DE SOFTWARE

1. EL PROCESO DEL SOFTWARE

1.1. EL proceso es un enfoque adaptable que permite que las personas que hacen el trabajo (el equipo de software) busquen y elijan el conjunto apropiado de acciones y tareas para el trabajo.

1.1.1. Actividades del proceso de software

1.1.1.1. Comunicación

1.1.1.1.1. comunicarse y colaborar con el cliente

1.1.1.2. Planeación.

1.1.1.3. Modelado:

1.1.1.3.1. Un ingeniero de software crea modelos a fin de entender mejor los requerimientos del software y el diseño que los satisfará

1.1.1.4. Construcción.

1.1.1.4.1. generación de código y las pruebas

1.1.1.5. Despliegue

1.1.2. Actividades "Sombrilla"

1.1.2.1. Seguimiento y control del proyecto de software

1.1.2.2. Administración del riesgo

1.1.2.2.1. evalúa los riesgos que puedan afectar el resultado del proyecto o la calidad del producto.

1.1.2.3. Aseguramiento de la calidad del software

1.1.2.4. Revisiones técnicas

1.1.2.5. Medición

1.1.2.5.1. Define y reúne mediciones del proceso, proyecto y producto para ayudar al equipo a entregar el software que satisfaga las necesidades de los participantes

1.1.2.6. Administración de la configuración del software

1.1.2.6.1. administra los efectos del cambio

1.1.2.7. Administración de la reutilización

1.1.2.8. Preparación y producción del producto del trabajo

2. LA PRÁCTICA DE LA INGENIERÍA DE SOFTWARE

2.1. Esencia de la práctica

2.1.1. Entender el problema (comunicación y análisis).

2.1.1.1. Oir bien elos requerimientos y pensar detenidamente

2.1.2. Planear la solución (modelado y diseño del software).

2.1.2.1. Realizar un diseño antes de programar

2.1.3. Ejecutar el plan (generación del código).

2.1.3.1. El diseño que creó sirve como un mapa de carreteras para el sistema que quiere construir

2.1.4. Examinar la exactitud del resultado (probar y asegurar la calidad).

2.1.4.1. Hay que hacer un número suficiente de pruebas para descubrir tantos errores como sea posible.

2.2. Principios generales

2.2.1. La razón de que exista todo

2.2.1.1. Un sistema de software existe por una razón: dar valor a sus usuarios. Todas las decisiones deben tomarse teniendo esto en mente.

2.2.2. MSE (Mantenlo sencillo, estúpido…)

2.2.2.1. Todo diseño debe ser tan simple como sea posible,

2.2.3. Mantener la visión

2.2.3.1. Sin integridad conceptual, un sistema está amenazado de convertirse en una urdimbre de diseños incompatibles

2.2.4. Otros consumirán lo que usted produce

2.2.4.1. Establecer especificaciones, diseñe e implemente con la seguridad de que alguien más tendrá que entender lo que hagamos

2.2.5. Ábrase al futuro

2.2.5.1. los sistemas de software con verdadera “fortaleza industrial” deben durar mucho tiempo

2.2.6. Planee por anticipado la reutilización

2.2.6.1. La reutilización del código y de los diseños es uno de los mayores beneficios de usar tecnologías orientadas a objetos.

2.2.7. ¡Piense!

2.2.7.1. Cuando se piensa en algo es más probable que se haga bien.

3. MITOS DEL SOFTWARE

3.1. Mitos de la administración

3.1.1. Hay un libro de estadares y procedimientos

3.1.1.1. Talves hay estándares pero no todo en la industria esta anticipado

3.1.2. nos atrasamos, podemos agregar más programadores y ponernos al corriente

3.1.2.1. agregar personal a un proyecto de software atrasado lo atrasará más

3.2. Mitos del cliente.

3.2.1. Para comenzar a escribir programas, es suficiente el enunciado general de los objetivos, podremos entrar en detalles más adelante.

3.2.1.1. un “planteamiento de objetivos” ambiguo es una receta para el desastre.

3.2.2. Los requerimientos del software cambian continuamente, pero el cambio se asimila con facilidad debido a que el software es flexible.

3.2.2.1. Depende en que parte de desarrollo se introducen, entre mas tarde se introducen mas dificil

3.3. Mitos del profesional

3.3.1. Una vez que escribimos el programa y hacemos que funcione, nuestro trabajo ha terminado

3.3.1.1. La mayoria de esfuerzo se da después de entregarlo al cliente por primera vez.

3.3.2. Hasta que no se haga “correr” el programa, no hay manera de evaluar su calidad.

3.3.2.1. Se pueden realizar rebisiones técnincas

3.3.3. El único producto del trabajo que se entrega en un proyecto exitoso es el programa que funciona

3.3.3.1. EL programa funcional solo es una parte de una configuración de software que incluye muchos elementos (modelos, documentos, planes)

3.3.4. La ingeniería de software hará que generemos documentación voluminosa e innecesaria, e invariablemente nos retrasará.

3.3.4.1. No se trata de producir documentos. Se trata de crear un producto de calidad.

4. CÓMO COMIENZA TODO

4.1. Todo proyecto de software se desencadena por alguna necesidad de negocios

4.2. Al principio es normal que las necesidades del negocio se expresen de manera informal como parte de una simple conversación

5. Conceptos

5.1. La ingeniería de software está formada por un proceso, un conjunto de métodos (prácticas) y un arreglo de herramientas que permite a los profesionales elaborar software de cómputo de alta calidad.

5.2. El software es importante porque afecta a casi todos los aspectos de nuestras vidas

5.3. se construye del mismo modo que cualquier producto exitoso, con la aplicación de un proceso ágil y adaptable para obtener un resultado de mucha calidad, que satisfaga las necesidades de las personas que usarán el producto.

6. LA NATURALEZA DEL SOFTWARE

6.1. Son instrucciones (programas de cómputo) que cuando se ejecutan proporcionan las características, función y desempeño buscados;

6.2. Caracteristicas

6.2.1. El software se desarrolla o modifica con intelect

6.2.2. El software no se “desgasta”.

6.2.3. la mayor parte del software se construye para un uso individualizado.

6.3. Dominios

6.3.1. Software de sistemas:

6.3.2. Software de aplicación

6.3.3. Software de ingeniería y ciencias

6.3.4. Software incrustado:

6.3.5. Software de línea de productos

6.3.6. Software de inteligencia artificial

6.3.7. Aplicaciones web:

6.4. Desafios

6.4.1. Computación en un mundo abierto

6.4.2. Construcción de redes

6.4.3. Fuente abierta

6.5. Software heredado

6.5.1. Se refiere al software viejo que se ha hecho con el paso del tiempo

6.5.2. Los programas deben evolucionar

6.5.2.1. debe adaptarse para que cumpla las necesidades de los nuevos ambientes del cómputo y de la tecnología.

6.5.2.2. debe ser mejorado para implementar nuevos requerimientos del negocio

6.5.2.3. debe ampliarse para que sea operable con otros sistemas o bases de datos modernos.

6.5.2.4. debe rediseñarse para hacerla viable dentro de un ambiente de redes.

7. LA NATURALEZA ÚNICA DE LAS WEBAPPS

7.1. llamadas “webapps”, esta categoría de software centrado en redes agrupa una amplia gama de aplicaciones.

7.1.1. Atributos

7.1.1.1. Uso intensivo de redes.

7.1.1.2. Concurrencia.

7.1.1.3. Carga impredecible.

7.1.1.3.1. No se sabe cuanto aumentaran los ususarios

7.1.1.4. Rendimiento.

7.1.1.4.1. Los usuarios cambiaran de pagina si deben esperar demasiado

7.1.1.5. Disponibilidad.

7.1.1.6. Orientadas a los datos.

7.1.1.7. Evolución continua.

7.1.1.7.1. Se esperan mejoras continuas por aprte de ususarios

7.1.1.8. Seguridad.

7.1.1.9. Estética.

8. INGENIERÍA DE SOFTWARE

8.1. El software se ha incrustado profundamente en casi todos los aspectos de nuestras vidas y, como consecuencia deben escucharse muchas opiniones.

8.2. Los requerimientos de la tecnología de la información que demandan los individuos, negocios y gobiernos se hacen más complejos con cada año que pasa

8.3. Los individuos, negocios y gobiernos dependen cada vez más del software para tomar decisiones estratégicas y tácticas, así como para sus operaciones y control cotidianos

8.4. A medida que aumenta el valor percibido de una aplicación específica se incrementa la probabilidad de que su base de usuarios y longevidad también crezcan

8.5. Definición: La ingeniería de software es el establecimiento y uso de principios fundamentales de la ingeniería con objeto de desarrollar en forma económica software que sea confiable y que trabaje con eficiencia en máquinas reales

8.6. CAPAS

8.6.1. Herramientas

8.6.1.1. proporcionan un apoyo automatizado o semiautomatizado para el proceso y los métodos

8.6.2. Métodos

8.6.2.1. son la experiencia técnica

8.6.3. Procesos

8.6.3.1. Establece la estrucutra que debe establecerse

8.6.4. Compromiso con la calidad

8.6.4.1. alimentan la cultura de mejora continua,