1-- Introduccion a la Ingenieria de Software

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
1-- Introduccion a la Ingenieria de Software por Mind Map: 1-- Introduccion a la Ingenieria de Software

1. 8- Pruebas de Software

1.1. 1 Demostrar al desarrollador que el sistema cumple con los requerimientos

1.2. 2 Encontrar situaciones donde el comportamiento del software sea incorrecto indeseable o no este acorde con su especificacion

1.3. 8.1 Pruebas de desarrollo

1.3.1. Incluye todas las actividades de prueba que realiza el equipo que realiza el sistema.

1.4. 8.2 Pruebas de usuario

1.4.1. Es donde los ususarios proporcionan entradas y asesoria sobre las pruebas del sistema

2. 9- Evolucion del software

2.1. 9.1 Procesos de Evolucion

2.1.1. Las propuestas del cambio del sistema son la evolucion del sistema en todas las organizaciones

2.1.2. Estos cambios provienen de requerimientos existentes que no se hayan implementado en sistemas liberado..

2.1.3. Las propuestas de cambio deben vincularse con los componentes del sistema.

2.2. 9.2 Evolucion dinamica del programa

2.2.1. La primera ley afirma que el mantenimiento del sistema es inevitable.

2.2.2. La segunda ley afirma que conforme cambia un sistema su estructura se degrada

2.3. 9.3 Mantenimiento del Software

2.3.1. 1- Reparaciones de fsllas------>> los errores de codificacion son relativamente baratos de corregir

2.3.2. 2- Adaptacion ambiental----->> se refiere a algun aspecto del entorno del sistema como el hardware cambia el software.

2.3.3. 3- Adicion de funcionabilidad --->> es necesario cuando varian los requerimientos del sistema en respuesta a un cambio organizacional o empresarial.

3. 7.1 Diseño orientado a objetos con uso de UML

3.1. 1- comprender y definir el contexto y las interacciones externas del sistema

3.2. 2- diseñar la arquitectura del sistema

3.3. 3- identificar los objetos principales del sistema

3.4. 4- Desarrollar modelos de diseño

3.5. 5- Especificar interfaces

4. Una situación muy difícil para los Ingenieros Profesionales surge cuando su empleador actúa sin ética. Es decir una compañía es responsable del desarrollo de un sistema critico de seguridad.

5. Incluye técnicas que apoyan la especificación, el diseño y la evolución de programa, ninguno de los cuales son normalmente relevantes para el desarrollo de software personal.

6. 1- Un sistema embebido

7. INGENIERIA EN SOFTWARE

7.1. 2--Procesos de Software

7.1.1. 2.1 Modelos de Procesos de Software

7.1.1.1. 1* Modelo en cascada ----->> Toma las actividades fundamentales del proceso de especificación, desarrollo y luego las representa como fases separadas de proceso

7.1.1.2. 2* Desarrollo Incremental --->> Vincula las actividades de especificacion, desarrollo y validacion

7.1.1.3. 3* Ingeniería en Software Orientada a la Reutilización --->> Se basa en la existencia de un numero representativo de componentes reutilizables

7.1.2. 2.2 Actividades de Proceso

7.1.2.1. Las herramientas son útiles particularmente para dar apoyo a la edición de distintos tipos de documentos y para manejar el inmenso volumen de información detallada que se produce en un gran proyecto de software

7.1.3. 2.3 Como enfrentar el Cambio

7.1.3.1. Los requerimientos del sistema varían conforme a la empresa procura que el sistema responda a presiones externas y se modifican las prioridades administrativas.

7.1.4. 2.4 El proceso Unificado Racional

7.1.4.1. RUP Es un modelo de proceso moderno que se derivo del trabajo UML y el proceso asociado de desarrollo de software unificado... RUP se describe desde 3 perspectivas

7.1.4.1.1. 1) Perspectiva dinamica que muestra las fases de modelo a traves dek tiempo

7.1.4.1.2. 2) Perspectiva Estatica que presenta las actividades del proceso que se establecen

7.1.4.1.3. 3) Perspectiva practica que sugiere buenas practicas a usar durante el proceso

7.2. 3-- Desarrollo Agil de Software

7.2.1. 3.1 Metodos Agiles

7.2.1.1. 1- Participacion del Cliente

7.2.1.1.1. Los clientes deben intervenir estrechamente en el proceso de desarrollo

7.2.1.2. 2- Entrega Incremental

7.2.1.2.1. El cliente especifica los requerimientos que se van a incluir

7.2.1.3. 3- Personas - No procesos

7.2.1.3.1. Desarrollar sus propias formas de desarrollo sin procesos establecidos

7.2.1.4. 4- Adoptar el cambio

7.2.1.4.1. Diseñar el sistema para adoptar dichos cambios.

7.2.1.5. 5- Mantener simplicidad

7.2.1.5.1. Enfocarse en la simplicidad tanto en el software a desarrollar como en el proceso de desarrollo.

7.2.2. 3.2 Programacion Extrema

7.2.2.1. Incluye algunas practicas,, las cuales refeljan los principios de los metodos agiles

7.2.2.1.1. 1) Requerimientos simples del cliente, usados para decidirse que funcionabilidad debe incluirse.

7.2.2.1.2. 2) El representante del cliente participa en el desarrollo

7.2.2.1.3. 3) Las personas- no los procesos se ban en la programacion en pares.

7.2.2.1.4. 4) El cambio se acepta mediante liberaciones regulares del sistema

7.2.2.1.5. 5) Mantener la simplicidad se logra mediante la refactorizacion constante.

7.3. 4-- Ingenieria de Requerimientos

7.3.1. 4.1 Requerimientos Funcionales y No funcionales

7.3.1.1. FUNCIONALES--->> acerca de servicios que el sistema debe proveer

7.3.1.2. NO FUNCIONALES--->> Limitaciones sobre servicios o funciones que ofrece el sistema

7.3.2. 4.2 Especificacion de Requerimientos

7.3.2.1. Los requerimientos del sistema deben describirse de manera simple el comportamiento externo del sistema y sus restricciones operacionales.

7.3.2.1.1. 1- Talvez se tenga que diseñar una arquitectura del sistema

7.3.2.1.2. 2- En la mayoria de los casos los sistemas deben interoperar con los sistemas existentes.

7.3.2.1.3. 3- Necesario de una arquitectura especifica para cubrir los requerimientos no funcionales

7.3.3. 4.3 Validacion de Requerimientos

7.3.3.1. 1- Comprobacion de Validez

7.3.3.2. 2- Comprobacion de Consistencia

7.3.3.3. 3- Comprobacion de totalidad

7.3.3.4. 4- Comprobabilidad de Realismo

7.3.3.5. 5- Verificabilidad

7.4. 5- Modelo del Sistema

7.4.1. 5.1 Modelos de Contextos

7.4.1.1. Debe decidir sobre las fronteras del sistema

7.4.2. 5.2 Modelos de Interaccion

7.4.2.1. 1- Modelado de caso de uso que se utiliza principalmente para modelar interacciones entre un sistema y actores externos

7.4.2.2. 2- Diagramas de Secuencia que se emplea para modelar interacciones entre componentes del sistema.

7.4.3. 5.3 Modelos de comportamiento

7.4.3.1. Modelos dinamicos del sistema conforme se ejecutan.. En ellos se muestra lo que sucede o lo quese suponene que pasa cuando un skistema responde ante un estimulo de su entorno.. Ellos son..

7.4.3.1.1. 1- Datos

7.4.3.1.2. 2- Eventos

7.5. 6- Diseño Arquitectonico

7.5.1. 6.1 Patrones Arquitectonicos

7.5.1.1. Se puede considerar como una descripción abstracta estilizada de buena practica

7.5.2. 6.2 Arquitecturas de Aplicacion

7.5.2.1. 1- Aplicaciones de Procesamiento de transaccion

7.5.2.1.1. Centradas en base de datos que procesan requerimientos del usuario mediante la informacion y actualizan la base de datos

7.5.2.2. 2- Sistemas de Procesamiento de Lenguaje

7.5.2.2.1. Intenciones del usuario se expresan en lenguaje formal (como JAVA)

7.6. 7- Diseño e Implementacion

7.6.1. 7.2 Patrones de Diseño

7.6.1.1. Los patrones y los lenguajes de patron son formas de describir mejores practicas, buenos diseños y captar las experiencias de tal manera que es posible que otros reutilizen esta experiencia

7.6.2. 7.3 Desarrollo de codigo abierto

7.6.2.1. Es un enfoque al desarrollo del software en que se publica el codigo de un sistema de software y se invita a voluntarios a participar del proceso

8. 1.1 Desarrollo de Software Profesional

8.1. Existen 2 tipos de Productos de Software

8.1.1. 1- PRODUCTOS GENERICOS

8.1.1.1. Consisten en sistemas independientes que se producen por una organización y se venden en el mercado abierto

8.1.2. 2- PRODUCTOS PERSONALIZADOS

8.1.2.1. Son sistemas para clientes en particular

9. 1.2 Ética en la Ingeniería de Software

9.1. Como ingeniero en Software, usted debe aceptar que su labor implica responsabilidades mayores que la simple aplicación de habilidades técnicas.

9.2. Existen areas donde los estándares de comportamiento no están acotadas por la legislación, si no por la notación mas difusa de responsabilidad profesional: Algunas de ellas son:

9.2.1. 1- Confiabilidad

9.2.2. 2- Competencia

9.2.3. 3- Derechos de Propiedad Intelectual

9.2.4. 4- Mal uso de computadoras

10. 1.3 Estudios del caso

10.1. Los 3 sistemas que se usan como estudio de casa son:

10.1.1. 2- Un sistema de informacion

10.1.2. 3- Un sistema de adquisición de datos basado en sensores.