Universidad Tecnológica de Hermosillo

Ingeniería de software II
López Castillo Rafael Fernando
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
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.

Conceptos generales
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
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
•
•
•
•
•

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
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)
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)
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
Es un proceso secuencial
de desarrollo en el que los
pasos de desarrollo son
vistos hacia abajo

Modelo cascada
El prototipo es el
framework de
actividades dedicada al
desarrollo de software
prototipo, es decir,
versiones incompletas
del software a
desarrollar.

Modelo prototipo
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
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
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.

Ciclo de vida del
desarrollo 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.

Arquitectura 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, la
informática aporta herramientas y procedimientos sobre los
que se apoya la ingeniería de software.

Conclusiones
• http://ingenieriadesoftware3.blogspot.mx/p/importancia-de-laingenieria-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

Bibliografía

Ingeniería de software - Descripción, características, modelos

  • 1.
    Universidad Tecnológica deHermosillo Ingeniería de software II López Castillo Rafael Fernando
  • 2.
    En éste documentose 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: Entendemospor 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 deingenierí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 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 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 institutofederal 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 consorciointernacional 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 dedesarrollo 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 procesosecuencial de desarrollo en el que los pasos de desarrollo son vistos hacia abajo Modelo cascada
  • 15.
    El prototipo esel framework de actividades dedicada al desarrollo de software prototipo, es decir, versiones incompletas del software a desarrollar. Modelo prototipo
  • 16.
    Provee una estrategiapara 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 secentra 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 ciclode 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 deciclo 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 deciclo 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ños1960 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 delSoftware 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 desoftware 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 necesarioinventar 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. Dondeel 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 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. Conclusiones
  • 27.
    • http://ingenieriadesoftware3.blogspot.mx/p/importancia-de-laingenieria-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 Bibliografía