El software y la ingenieria de software

Track and organize your meetings within your company

Get Started. It's Free
or sign up with your email address
El software y la ingenieria de software by Mind Map: El software y la ingenieria de software

1. Historia del software

1.1. Los grandes sistemas de software constituyen un elemento común en nuestra sociedad, convirtiéndose imprescindibles para la industria, el comercio y las personas. El reconocimiento de la necesidad de un enfoque de ingeniería en al desarrollo del software se remonta a dos conferencias de la OTAN en 1968 y1969, donde se acuñó el nombre de Ingeniería de Software y se sentaron las bases que hacen posible el avance de esta disciplina.

1.2. La historia de la ingeniería de software se ha caracterizado por los aumentos en los niveles de abstracción, lo cual ha permitido abordar problemas de mayor tamaño y de complejidad

1.3. La iniciativa MDA (Arquitectura dirigida por Modelos) sienta las bases para estecambio de paradigmas, separando la lógica de las aplicaciones de las plataformas de

2. Características del software

2.1. El software se desarrolla o construye, no se fabrica en un sentido clásico.

2.1.1. Existen similitudes entre desarrollo y creación de software, pero ambas actividades sondiferentes, ya que en la fase de construcción de hardware puede introducir problemas decalidad que no existen en el software. Ambas actividades requieren la construcción de un“producto” pero los enfoque son diferentes.

2.2. El software no se “estropea”.

2.2.1. El hardware exhibe relativamente muchos fallos al principio de su vida (defectos de diseño o de fabricación); una vez corregidos los defectos, la tasa cae hasta un nivel estacionario,y conforme pasa el tiempo, ésta se incrementa.

3. Dominios de la aplicación del software

3.1. Software de sistemas:

3.1.1. Conjunto de programas escritos para dar servicio a otros programas. Determinado software de sistemas (por ejemplo, compiladores, editores y herramientas para administrar archivos) procesa estructuras de información complejas pero deterministas.

3.2. Software de aplicación:

3.2.1. programas aislados que resuelven una necesidad específica de negocios.

3.3. Software de ingeniería y ciencias:

3.3.1. Se ha caracterizado por algoritmos “devoradores de números”. Las aplicaciones van de la astronomía a la vulcanología, del análisis de tensiones en automóviles a la dinámica orbital del transbordador espacial, y de la biología molecular a la manufactura automatizada.

3.4. Software incrustado:

3.4.1. Reside dentro de un producto o sistema y se usa para implementar y controlar características y funciones para el usuario final y para el sistema en sí.

3.5. Software de línea de productos:

3.5.1. Es diseñado para proporcionar una capacidad específica para uso de muchos consumidores diferentes.

3.6. Aplicaciones web:

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

3.7. Software de inteligencia artificial:

3.7.1. Hace uso de algoritmos no numéricos para resolver

3.7.2. problemas complejos que no son fáciles de tratar computacionalmente o con el análisis directo.

3.8. Computación en un mundo abierto:

3.8.1. El rápido crecimiento de las redes inalámbricas quizá lleve pronto a la computación verdaderamente ubicua y distribuida.

3.9. Construcción de redes:

3.9.1. La red mundial (World Wide Web) se está convirtiendo con rapidez tanto en un motor de computación como en un proveedor de contenido.

3.10. Fuente abierta:

3.10.1. tendencia creciente que da como resultado la distribución de código fuente para aplicaciones de sistemas (por ejemplo, sistemas operativos, bases de datos y ambientes de desarrollo) de modo que mucha gente pueda contribuir a su desarrollo.

4. Definición de Ingeniería de software

4.1. La ingeniería del Software es el establecimiento de los principios y métodos robustos de la ingeniería fin de obtener económicamente software que sea viable y que funcione eficientemente sobre máquinas reales. , definición propuesta por Fritz Bauer.

5. La naturaleza única de las apps

5.1. Uso intensivo de redes

5.1.1. La red permite acceso y comunicación mundiales por ejemplo, internet o tiene acceso y comunicación limitados (por ejemplo, una intranet corporativa).

5.2. Concurrencia

5.2.1. A la webapp puede acceder un gran número de usuarios a la vez. En muchos casos, los patrones de uso entre los usuarios finales varían mucho.

5.3. Carga impredecible

5.3.1. El número de usuarios de la webapp cambia en varios órdenes de magnitud de un día a otro.

5.4. Rendimiento

5.4.1. Si un usuario de la webapp debe esperar demasiado (para entrar, para el procesamiento por parte del servidor, para el formado y despliegue del lado del cliente), él o ella quizá decidan irse a otra parte.

5.5. Disponibilidad

5.5.1. Debe estar de al alcance de todos por 24 horas 365 días.

5.6. Orientadas a los datos

5.6.1. el uso de hipermedios para presentar al usuario final contenido en forma de texto, gráficas, audio y video.

6. Aunque la industria tiende a la construcción por componentes, la mayoría del software se construye a la medida.

6.1. A medida que la disciplina de software evoluciona se crea un grupo decomponentes estándar, de forma en que pueden utilizarse en muchos programasdiferentes. Los componentes reutilizables se han creado para que el ingenieroverdaderamente pueda concentrarse en elementos innovadores de un diseño.

6.2. Los componentes reutilizables en la actualidad encapsulan tanto datos como procesos que se aplican a los datos, permitiendo al ingeniero del software crear nuevas aplicaciones a partir de partes reutilizables.

7. En la ingeniería de software es importante llevar acabo

7.1. Disciplina de la Ingeniería: Los ingenieros hacen que las cosas funcionen al aplicar un conjunto de herramientas y métodos convenientes.

7.2. Aspectos de producción del software: Comprende la gestión de proyectos de software y desarrollo de herramientas, métodos y teorías de apoyo en la producción del software.