2. En éste documento se definirán los conceptos generales, las
importancias y las actividades de la ingeniería de software,
además de las metodologías y sus procesos. Las
organizaciones encargadas de estandarizar el desarrollo de
software para tener productos de calidad.
Definiciones de la
ingeniería de software
3. El software:
Producto lógico, intangible, le complementa el hardware. Es
desarrollado, no fabricado, no se deteriora y mayormente
está hecho a la medida
Conceptos generales
4. Ingeniería de software:
Entendemos por ingeniería de Software “el establecimiento
y uso de principios de ingeniería robustos, orientados a
obtener software económico, que sea fiable y funcione
eficientemente sobre máquinas reales”.
Conceptos generales
5. Ingeniería de software:
Herramientas: Proporcionan un soporte automático o
semiautomático para la aplicación de los procedimientos y
los métodos.
Conceptos generales
6. Ingeniería de software:
Procedimientos: se puede caracterizar por un conjunto de
actividades que se pueden aplicar en el desarrollo de
cualquier proyecto software así como la forma de abarcarlas
durante el desarrollo del mismo.
Conceptos generales
7. Ingeniería de software:
Análisis: se centra en el QUÉ
Desarrollo: Se centra en el CÓMO
Mantenimiento: Se centra en el cambio que va asociado a la
corrección de errores.
Conceptos generales
8. El concepto de ingeniería de software surgió en 1998, tras
una conferencia en Garmish que tuvo como objetivo
resolver el problema de la crisis del software. Éste fue
ocasionado por el avance desmesurado del hardware. Se
necesitaba un mejor software para aprovechar los recursos
del hardware.
Inicios de la ingeniería
de software
9. Con ella se puede analizar, diseñar, programar y aplicar un
software de manera correcta y organizada, cumpliendo con
todas las especificaciones del cliente y el usuario final.
En la construcción y desarrollo de proyectos se aplican
métodos y técnicas para resolver los problemas
Importancia de la
ingeniería de software
10. •
•
•
•
•
Software de aplicación: aplicaciones típicas
Software científico y de ingeniería: complejos cálculos
Software empotrado: va instalado de fabrica
Software de línea de productos: satisfactorio al cliente
Aplicaciones basadas en WEB: funcionan en red
Tipo de aplicaciones de
computo
11. Es un instituto federal estadounidense de investigación y
desarrollo, fundado por Congreso de los Estados Unidos en
1984 para desarrollar modelos de evaluación y mejora en el
desarrollo de software
SEI (Software Engineering
Institute)
12. Es un consorcio internacional que produce
recomendaciones para la World Wide Web.
Está dirigida por Tim Berners-Lee, el creador original de
URL, HTTP y HTML que son las principales tecnologías
sobre las que se basa la Web.
W3C (World Wide Web
Consortium)
13. Una metodología de desarrollo de software se refiere a un
framework que es usado para estructurar, planear y
controlar el proceso de desarrollo en sistemas de
información.
Modelos y filosofías de
desarrollo de software
14. Es un proceso secuencial
de desarrollo en el que los
pasos de desarrollo son
vistos hacia abajo
Modelo cascada
15. El prototipo es el
framework de
actividades dedicada al
desarrollo de software
prototipo, es decir,
versiones incompletas
del software a
desarrollar.
Modelo prototipo
16. Provee una estrategia para
controlar la complejidad y
los riesgos, desarrollando
una parte del producto
software reservando el resto
de aspectos para el futuro.
Modelo incremental
17. La atención se centra en la
evaluación y reducción
del riesgo del proyecto
dividiendo el proyecto en
segmentos más pequeños
y proporcionar más
facilidad de cambio
durante el proceso de
desarrollo.
Modelo espiral
18. El término ciclo de vida del software describe el desarrollo
de software, desde la fase inicial hasta la fase final. El
propósito es definir las distintas fases intermedias que se
requieren para validar el desarrollo, es decir, para garantizar
que el software cumpla los requisitos para la aplicación y
verificación de los procedimientos de desarrollo.
Ciclo de vida del
desarrollo de software
19. El modelo de ciclo de vida
en cascada se define como
una secuencia de fases en
la que al final de cada una
de ellas se reúne la
documentación para
garantizar que cumple las
especificaciones y los
requisitos antes de pasar a
la fase siguiente:
Ciclo de vida del
desarrollo de software
20. El modelo de ciclo de
vida V proviene del
principio que establece
que los procedimientos
utilizados para probar si la
aplicación cumple las
especificaciones ya deben
haberse creado en la fase
de diseño.
Ciclo de vida del
desarrollo de software
21. En los años 1960 ya se acercaba el concepto de arquitectura
de software en los círculos de investigación. No obstante,
toma popularidad en los años 1990 tras reconocerse la
denominada crisis del software y como tema de interés de la
incipiente disciplina de la ingeniería del software.
Arquitectura de software
22. La Arquitectura del Software es el diseño de más alto nivel
de la estructura de un sistema.
Una Arquitectura de Software, también denominada
Arquitectura lógica, consiste en un conjunto de patrones y
abstracciones coherentes que proporcionan el marco
Arquitectura de software
23. Una arquitectura de software se selecciona y diseña con
base en objetivos y restricciones. Los objetivos son aquellos
prefijados para el sistema de información, pero no
solamente los de tipo funcional, también otros objetivos
como la mantenibilidad, flexibilidad e interacción con otros
sistemas de información.
Arquitectura de software
24. No es necesario inventar una nueva arquitectura de software
para cada sistema de información. Lo habitual es adoptar
una arquitectura conocida en función de sus ventajas e
inconvenientes para cada caso en concreto.
Arquitectura de software
25. • Monolítica. Donde el software se estructura en grupos
funcionales muy acoplados.
• Cliente-servidor. Donde el software reparte su carga de
cómputo en dos partes independientes pero sin reparto claro de
funciones.
• Arquitectura de tres niveles. Especialización de la arquitectura
cliente-servidor donde la carga se divide en tres partes (o
capas) con un reparto claro de funciones: una capa para la
presentación (interfaz de usuario), otra para el cálculo (donde
se encuentra modelado el negocio) y otra para el
almacenamiento (persistencia). Una capa solamente tiene
relación con la siguiente.
Arquitectura de software
26. Con ella se puede analizar, diseñar, programar y aplicar un
software de manera correcta y organizada, cumpliendo con
todas las especificaciones del cliente y el usuario final.
En la construcción y desarrollo de proyectos se aplican
métodos y técnicas para resolver los problemas, la
informática aporta herramientas y procedimientos sobre los
que se apoya la ingeniería de software.
Conclusiones