Ingeniería de software II
López Castillo Rafael Fernando
Universidad Tecnológica de Hermosillo
Definiciones de la
ingeniería de software
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.
Conceptos generales
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
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
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
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
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.
Inicios de la ingeniería
de software
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.
Importancia de la
ingeniería de software
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
Tipo de aplicaciones de
computo
• 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
SEI (Software Engineering
Institute)
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
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, HTTP y HTML que son las principales tecnologías
sobre las que se basa la Web.
Modelos y filosofías de
desarrollo de software
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.
Modelo cascada
Es un proceso secuencial
de desarrollo en el que los
pasos de desarrollo son
vistos hacia abajo
Modelo prototipo
El prototipo es el
framework de
actividades dedicada al
desarrollo de software
prototipo, es decir,
versiones incompletas
del software a
desarrollar.
Modelo incremental
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 espiral
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.
Ciclo de vida del
desarrollo de software
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
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
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.
Arquitectura de software
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
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
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
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
• 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.
Conclusiones
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.
Bibliografía
• http://ingenieriadesoftware3.blogspot.mx/p/importancia-de-la-
ingenieria-del.html
•
• http://es.wikipedia.org/wiki/Software_Engineering_Institute
•
• http://es.wikipedia.org/wiki/Metodolog%C3%ADa_de_desarro
llo_de_software
•
• http://es.kioskea.net/contents/223-ciclo-de-vida-del-software
•
• http://es.wikipedia.org/wiki/Arquitectura_de_software
•
• http://moodle.tic-uth.net/file.php/268/ISW.pdf

ingenieradesoftwareii-140115210933-phpapp01 (1).pptx

  • 1.
    Ingeniería de softwareII López Castillo Rafael Fernando Universidad Tecnológica de Hermosillo
  • 2.
    Definiciones de la ingenieríade software 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.
  • 3.
    Conceptos generales El software: Productológico, intangible, le complementa el hardware. Es desarrollado, no fabricado, no se deteriora y mayormente está hecho a la medida
  • 4.
    Conceptos generales Ingeniería desoftware: 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”.
  • 5.
    Conceptos generales Ingeniería desoftware: Herramientas: Proporcionan un soporte automático o semiautomático para la aplicación de los procedimientos y los métodos.
  • 6.
    Conceptos generales Ingeniería desoftware: 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.
  • 7.
    Conceptos generales Ingeniería desoftware: 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.
  • 8.
    Inicios de laingeniería de software 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.
  • 9.
    Importancia de la ingenieríade software 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
  • 10.
    Tipo de aplicacionesde computo • 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
  • 11.
    SEI (Software Engineering Institute) Esun 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
  • 12.
    W3C (World WideWeb Consortium) 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.
  • 13.
    Modelos y filosofíasde desarrollo de software 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.
  • 14.
    Modelo cascada Es unproceso secuencial de desarrollo en el que los pasos de desarrollo son vistos hacia abajo
  • 15.
    Modelo prototipo El prototipoes el framework de actividades dedicada al desarrollo de software prototipo, es decir, versiones incompletas del software a desarrollar.
  • 16.
    Modelo incremental Provee unaestrategia para controlar la complejidad y los riesgos, desarrollando una parte del producto software reservando el resto de aspectos para el futuro.
  • 17.
    Modelo espiral La atenciónse 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.
  • 18.
    Ciclo de vidadel desarrollo de software 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.
  • 19.
    Ciclo de vidadel desarrollo de software 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:
  • 20.
    Ciclo de vidadel desarrollo de software 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.
  • 21.
    Arquitectura de software Enlos 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.
  • 22.
    Arquitectura de software LaArquitectura 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
  • 23.
    Arquitectura de software Unaarquitectura 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.
  • 24.
    Arquitectura de software Noes 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.
  • 25.
    Arquitectura de software •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.
  • 26.
    Conclusiones Con ella sepuede 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.
  • 27.
    Bibliografía • http://ingenieriadesoftware3.blogspot.mx/p/importancia-de-la- ingenieria-del.html • • http://es.wikipedia.org/wiki/Software_Engineering_Institute • •http://es.wikipedia.org/wiki/Metodolog%C3%ADa_de_desarro llo_de_software • • http://es.kioskea.net/contents/223-ciclo-de-vida-del-software • • http://es.wikipedia.org/wiki/Arquitectura_de_software • • http://moodle.tic-uth.net/file.php/268/ISW.pdf