conceptos básicosdeingenieríasoftware
TRANSCRIPT
![Page 1: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/1.jpg)
13/04/2023 1
CONCEPTOS BÁSICOS DE INGENIERÍA DE SOFTWARE
Ing. M.Sc. Raúl Córdova
Ingeniería de SistemasESCUELA POLITÉCNICA
NACIONAL
2011
![Page 2: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/2.jpg)
13/04/2023 2
Ingeniería de Software
Software: son los programas, los documentos asociados y la configuración de datos que se necesitan para hacer que estos programas operen de manera correcta. (Ian Sommerville, 2002)
![Page 3: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/3.jpg)
13/04/2023 3
Ingeniería de Software
Tipos de productos de software:– Productos genéricos: sistemas aislados producidos por
una organización de desarrollo y que se venden al mercado abierto a cualquier cliente que le sea posible comprarlos. Se denominan algunas veces software empaquetado.
– Ejemplos: DBMS, Procesadores de texto, paquetes de dibujo, herramientas para administración de proyectos.
![Page 4: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/4.jpg)
13/04/2023 4
Ingeniería de Software
Tipos de productos de software (cont.):– Productos personalizados: sistemas requeridos
por un cliente en particular. Un contratista de software desarrolla el software especialmente para ese cliente.
Ejemplos: sistemas de control para instrumentos electrónicos, sistemas para automatizar procesos específicos (Contabilidad, Inventario, etc.) y sistemas de control de tráfico aéreo.
![Page 5: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/5.jpg)
13/04/2023 5
Ingeniería de Software
Diferencias entre los tipos:– En los productos genéricos, la organización que
desarrolla el software controla su especificación.
– La especificación de los productos personalizados, por lo general es desarrollada y controlada por la organización que está comprando el software. Los desarrolladores deben trabajar en esa especificación.
![Page 6: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/6.jpg)
13/04/2023 6
1.1 Ingeniería de Software: conceptos
Es una disciplina o área de la Informática o Ciencias de la Computación, que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo.
La Ingeniería de Software trata de la construcción de compiladores, sistemas operativos o desarrollos en Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistemas de información y aplicables a una infinidad de áreas. (SOMMERVILLE, 2006)
![Page 7: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/7.jpg)
13/04/2023 7
1.1 Ingeniería de Software: conceptos
Ingeniería de Software es el estudio de los principios y metodologías para desarrollo y mantenimiento de sistemas de software. (Zelkovitz, 1978)
Ingeniería de Software es la aplicación práctica del conocimiento científico en el diseño y la construcción de programas de computadora y la documentación asociada requerida para desarrollar, operar (funcionar) y mantener software. Se conoce también como desarrollo de software o producción de software (Bohem, 1976)
![Page 8: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/8.jpg)
13/04/2023 8
1.1 Ingeniería de Software: conceptos
Ingeniería de Software trata del establecimiento y uso de los principios y métodos de la ingeniería, a fin de obtener software de modo rentable que sea fiable y trabaje en máquinas reales. (Bauer, 1972)
(1) La aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación (funcionamiento) y mantenimiento del software; es decir, la aplicación de la ingeniería al software. (2) El estudio de enfoques como en (1) (IEEE, 1993)
![Page 9: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/9.jpg)
13/04/2023 9
1.1 Ingeniería de Software: conceptos
Tradicionalmente, la Ingeniería de Software ha sido una expresión aplicada para el desarrollo de proyectos de producción de software, involucrando el uso de un número de personas distintas en papeles diferentes. Junto con la Ingeniería de Software, han sido aplicadas técnicas gerenciales, metodológicas y métricas para producir una gran cantidad de productos confiables, mantenibles, reutilizables, dentro de presupuesto y a tiempo. (RINE, 1993)
![Page 10: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/10.jpg)
13/04/2023 10
1.1 Ingeniería de Software: conceptos
(1) La aplicación práctica de las ciencias de la computación, de la administración y de otras ciencias para el análisis, diseño construcción y mantenimiento de software y su documentación asociada.
(2) Una ciencia de ingeniería que aplica los conceptos de análisis, diseño, codificación, pruebas, documentación y gerenciamiento para obtener con éxito grandes programas de computador construidos para los usuarios.
![Page 11: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/11.jpg)
13/04/2023 11
1.1 Ingeniería de Software: conceptos
(3) La aplicación sistemática de métodos, herramientas y técnicas para cumplir con el requisito u objetivo establecido para un efectivo y eficiente sistema de software. (THAYER, 1990)
![Page 12: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/12.jpg)
13/04/2023 12
1.2 Sistemas de Software
Sistema:– Un sistema es una parte del mundo a la cual, una
persona (o grupo de personas), durante cierto intervalo de tiempo y por alguna razón, escoge enfocarlo como un todo formado por componentes, donde cada componente se caracteriza por propiedades seleccionadas como relevantes y por acciones relacionadas a estas propiedades y a las de otros componentes.(NYGAARD apud FLOYD, 1988)
![Page 13: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/13.jpg)
13/04/2023 13
1.2 Sistemas de Software
Sistema de software:– Es un conjunto de programas y sus
interfaces. (FLOYD, 1988)– Un sistema de software es un sistema
hecho por el hombre que consiste de una colección de software y documentos que se relacionan (THAYER, 1990)
![Page 14: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/14.jpg)
13/04/2023 14
1.2 Sistemas de Software
Sistema de software:– Un sistema de software consiste de diversos
programas independientes, archivos de configuración que se utilizan para ejecutarlos, un sistema de documentación que describe la estructura del sistema, la documentación para el usuario que explica cómo utilizar el sistema y, para productos de software, sitios Web que permiten a los usuarios descargar la información de productos recientes. (SOMMERVILLE, 2002)
![Page 15: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/15.jpg)
13/04/2023 15
1.2 Sistemas de Software
Sistema de software:– Programas, configuración de datos que se
necesitan para hacer que estos programas operen de manera correcta y todos los documentos asociados. (SOMMERVILLE, 2002)
![Page 16: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/16.jpg)
13/04/2023 16
Método y metodología
Booch define método como:– Un proceso disciplinado para la generación
de un conjunto de modelos que describen diferentes elementos de un sistema de software, usando una notación bien definida.
– Ejemplos: Método de Booch, Método de Jacobson, OMT (Object Modeling Technique) de Rumbaugh.
![Page 17: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/17.jpg)
13/04/2023 17
Método y metodología
Booch define metodología también como:– Un conjunto de métodos que cubren todo el ciclo
de vida de desarrollo de sistemas, y que están unidos por un enfoque general o filosófico (abstracción: de procesos, de datos - objetos, aspectos, dinámica)
– Abstracción: preocuparse de los más relevante, dejando de lado lo menos importante.
– Ejemplo: metodologías estructuradas y metodologías orientadas a objetos
![Page 18: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/18.jpg)
13/04/2023 18
Desarrollo de sistemas
Para desarrollar Sistemas de Software, existen dos técnicas: – Top-down (de arriba hacia abajo): implica
descomponer un sistema en partes más pequeñas, éstas en otras menores, hasta llegar a niveles de complejidad simples, y a partir de aquí, implementar los sistemas
– Las técnicas orientadas a procesos usan top-down
![Page 19: Conceptos básicosdeingenieríasoftware](https://reader036.vdocumento.com/reader036/viewer/2022082704/55828234d8b42adf088b55c1/html5/thumbnails/19.jpg)
13/04/2023 19
Desarrollo de sistemas
Bottom-up (de abajo hacia arriba): implica ir de los más simple a lo más complejo, identificando los elementos más simples, juntándolos en otros más complejos y así sucesivamente hasta obtener el sistema completo.
Las técnicas orientadas a datos usan bottom-up