conceptos básicosdeingenieríasoftware

19
26/08/2022 1 CONCEPTOS BÁSICOS DE INGENIERÍA DE SOFTWARE Ing. M.Sc. Raúl Córdova Ingeniería de Sistemas ESCUELA POLITÉCNICA NACIONAL 2011

Upload: mrcordova

Post on 18-Jun-2015

621 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Conceptos básicosdeingenieríasoftware

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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