Presentación con definiciones de ingeniería de software.
Contenido:
Definición.
Objetivos:
Organizaciones
Clasificación de los tipos de aplicaciones de cómputo.
Software engineering institute (sei).
W3c (world wide web consortium)
Modelos y filosofías de desarrollo de software:
Ciclo de vida del desarrollo de software (proceso para el desarrollo de software).
Arquitectura de software
Conclusiones
Bibliografía.
2. INTRODUCCIÓN
En los inicios de 1940, debido a una imprecisión en
la planificación del proyecto y estimación de los costos
además de una baja calidad en el desarrollo e
implementación del software, se creó así la ingeniería de
software con la intención de mejorar la calidad, aumentar la
productividad y trabajo de los ingenieros de software, así
como el control del proceso de uso en el usuario final. A
través de este documento se describirá más a fondo este
importante tema en la informática.
3. INGENIERÍA DE
SOFTWARE
•
Definición.
•
Objetivos:
•
Organizaciones
•
Clasificación de los tipos de aplicaciones de cómputo.
•
Software engineering institute (sei).
•
W3c (world wide web consortium)
•
Modelos y filosofías de desarrollo de software:
•
Ciclo de vida del desarrollo de software (proceso para el
desarrollo de software).
•
Arquitectura de software
•
Conclusiones
•
Bibliografía.
4. INGENIERÍA DE
SOFTWARE.
Definición.
Es la aplicación de un enfoque sistemático, disciplinado y
cuantificable al desarrollo, operación y mantenimiento de
software, y el estudio de estos enfoques, es decir, la
aplicación de la ingeniería al software.
5. Este término fue introducido a finales de los 60 a raíz de
la crisis del software.
Esta crisis fue el resultado de la introducción de la tercera
generación del hardware.
El hardware dejo de ser un impedimento para el desarrollo de
la informática; redujo los costos y mejoro
la calidad y eficiencia en el software producido
La crisis se caracterizó por los siguientes problemas:
•
Imprecisión en la planificación del proyecto y estimación de
los costos.
•
Baja calidad del software.
•
Dificultad de mantenimiento de programas con un diseño
poco estructurado, etc.
6. OBJETIVOS
• Mejorar la calidad de los productos de software
• Aumentar la productividad y trabajo de los ingenieros del
software.
• Facilitar el control del proceso de desarrollo de software.
• Suministrar a los desarrolladores las bases para construir
software de alta calidad en una forma eficiente.
• Definir una disciplina que garantice la producción y el
mantenimiento de los productos software desarrollados en el
plazo fijado y dentro del costo estimado.
8. CLASIFICACIÓN DE LOS TIPOS DE
APLICACIONES DE CÓMPUTO.
• De acuerdo a la forma de representación física de la
Información
• De acuerdo al Tipo de Uso
• De acuerdo a la Potencia
• De acuerdo al paralelismo
• IBM vs. APPlE
• Clones vs. de marca.
9. SOFTWARE ENGINEERING
INSTITUTE (SEI).
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, que dieran respuesta a los problemas
que generaba al ejército estadounidense la programación e
integración de los sub-sistemas de software en la
construcción de complejos sistemas militares. Financiado
por el Departamento de Defensa de los Estados Unidos y
administrado por la Universidad Carnegie Mellon.
10. W3C (WORLD WIDE
WEB CONSORTIUM)
Es un consorcio internacional que produce
recomendaciones para la World Wide Web.
Está dirigida por Tim Berners-Lee, el creador original de URL
(Uniform Resource Locator, Localizador Uniforme de
Recursos), HTTP (HyperText Transfer Protocol, Protocolo de
Transferencia de HiperTexto) y HTML (Hyper Text Markup
Language,Lenguaje de Marcado de HiperTexto) que son las
principales tecnologías sobre las que se basa la Web.
11. MODELOS Y FILOSOFÍAS DE
DESARROLLO DE SOFTWARE:
•
Modelo en cascada o Clásico (modelo tradicional)
•
Modelo de prototipos
•
Modelo en espiral
•
Desarrollo por etapas
•
Desarrollo iterativo y creciente o Iterativo e
Incremental
•
RAD (Rapid Application Development)
•
Desarrollo concurrente
•
Proceso Unificado
•
RUP (Proceso Unificado de Rational)
12. CICLO DE VIDA DEL DESARROLLO
DE SOFTWARE (PROCESO PARA
EL DESARROLLO DE SOFTWARE).
La ingeniería de software requiere llevar a cabo numerosas tareas agrupadas en etapas,
al conjunto de estas etapas se le denomina ciclo de vida.
•
Análisis de requisitos
Extraer los requisitos de un producto de software es la primera etapa para crearlo. El
resultado del análisis de requisitos con el cliente se plasma en el documento ERS, cuya
estructura puede venir definida por varios estándares.
•
Especificación
Describe el comportamiento esperado en el software una vez desarrollado. Entre las
técnicas utilizadas para la especificación de requisitos se encuentran:
Caso de uso
Historias de usuario
•
Arquitectura
Diseño de componentes de una aplicación. Es una actividad de planeación, ya sea a
nivel de infraestructura de red y hardware, o de software.
•
Programación
Consiste en la elaboración del software tomando en cuenta los lenguajes de
programación utilizados, así como al diseño previamente realizado.
13. •
Prueba
Consiste en comprobar que el software realice correctamente
las tareas indicadas en la especificación del problema.
•
Documentación
•
Todo lo concerniente a la documentación del propio
desarrollo del software y de la gestión del proyecto, pasando
por modelaciones (UML),diagramas de casos de uso, pruebas,
manuales de usuario, manuales técnicos, etc; todo con el
propósito de eventuales correcciones, usabilidad,
mantenimiento futuro y ampliaciones al sistema.
•
Mantenimiento
Fase dedicada a mantener y mejorar el software para corregir
errores descubiertos e incorporar nuevos requisitos.
14. ARQUITECTURA DE
SOFTWARE
La integración de infraestructura, desarrollo de aplicaciones, bases de datos y herramientas
gerenciales, requieren de capacidad y liderazgo para poder ser conceptualizados y
proyectados a futuro, solucionando los problemas de hoy. El rol en el cual se delegan todas
estas actividades es el del Arquitecto.
La arquitectura de sistemas en general, es una actividad de planeación, ya sea a nivel de
infraestructura de red y hardware, o de software.
La arquitectura de software consiste en el diseño de componentes de una aplicación
(entidades del negocio), generalmente utilizando patrones de arquitectura. El diseño
arquitectónico debe permitir visualizar la interacción entre las entidades del negocio y
además poder ser validado, por ejemplo por medio de diagramas de secuencia. Un diseño
arquitectónico describe en general el cómo se construirá una aplicación de software. Para
ello se documenta utilizando diagramas, por ejemplo:
•
Diagramas de clases
•
Diagramas de base de datos
•
Diagrama de despliegue
•
Diagrama de secuencia
15. CONCLUSIONES
A través de este trabajo se puede concluir que el campo en el
que se involucra y dedica la ingeniería de software es muy
importante, pues la calidad y la funcionalidad así como la
presentación de un software es una de las bases para el
ahorro de futuros problemas a la hora de implementar el
software con el usuario final.
Por último, la ingeniería de software es una aplicación de un
conjunto de pasos, estándares y técnicas utilizadas para una
inigualable calidad del software así como aumentar una
productividad y trabajo en los involucrados de dicho
software y facilitar el control del proceso de éste.