Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería...

37
1 Ingeniería de Software

Transcript of Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería...

Page 1: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

1

Ingeniería de Software

Page 2: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

2

Ingeniería de Sistemas

Enfoque en variedad de elementosn Análisis, diseño y organización de los

elementos en un sistema

Todo para generar un producto, servicio o tecnología para transformación o control de información

Page 3: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

3

Ingeniería de Sistemas

Proceso de ingeniería de sistemas se conoce comon Ingeniería de información

Cuando se construye un producto, el proceso se conoce comon Ingeniería de producto

Page 4: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

4

Sistemas Basados en Computadoras

Un sistema basado en computadora utiliza una variedad de elementosn Softwaren Hardwaren Genten Base de datosn Documentaciónn Procedimientos

Page 5: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

5

Sistemas Basados en Computadoras

Los elementos se combinan para transformar la información

n Convertir datos de ventas en perfiles de tipos de gente que compran un producto

n Un robot transforma un conjunto de instrucciones en un archivo en señales de control para realizar acciones

Page 6: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

6

Sistemas Basados en Computadoras

Jerarquía de sistemas

n Un sistema puede formar parte de otro sistema en un nivel superior

n Ejemplo: Sistema de Automatización de una Fábrica

n Actividades genéricas en la parte superior de la jerarquía

Page 7: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

7

Sistemas Basados en Computadoras

Sistema de Automatizaciónde una Fábrica

Sistema deManufactura

Sistema deInventario

Sistema deInformación

Sistema deMovimientode Material

Fabricaciónde Células

RobotsDispositivode Entradade Datos

Máquina deCrontrol

Numérico

Page 8: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

8

Jerarquía de Ingeniería de Sistemas

Colección de métodos utilizados en la jerarquía

Vista global se refina a dominios

Vista de dominios se analiza para identificar elementos de sistema: datos, software, hardware, gente

Page 9: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

9

Jerarquía de Ingeniería de Sistemas

Formalmente

n VG = {D1, D2, D3, ..., Dn}

n Dj = {E1, E2, E3, ..., En}

n Ej = {C1, C2, C3, ..., Cn}

Page 10: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

10

Jerarquía de Ingeniería de Sistemas

Dominio deProducto o Negocio Vista Global

Dominio deInterés

Vista deDominio

Vista deElemento

Vista deDetalle

Page 11: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

11

Modelado de Sistemas

Creación de modelos paran Definir un proceso para cubrir las necesidades de

la vista bajo consideraciónn Representar el comportamiento de los procesos y

cosas a asumir sobre las cuales se basa ese comportamiento

n Definir explícitamente las entradas endógenas y exógenas del modelo

n Representar todas las ligas que permitirán al ingeniero entender mejor la vista

Page 12: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

12

Modelado de Sistemas

Consideracionesn Asumirn Simplificacionesn Limitacionesn Restriccionesn Preferencias

Page 13: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

13

Ingeniería de Información

Definir arquitecturas que permitirán al negocio utilizar su información efectivamente.

Creación de un plan para implementar esas arquitecturasn Arquitectura de datosn Arquitectura de aplicacionesn Infraestructura de tecnología

Page 14: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

14

Ingeniería de Información

Arquitectura de Datosn Provee estructura para las necesidades de

información del negociowObjetos de datosw Reusabilidadw Flujo de datos (funciones)

Page 15: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

15

Ingeniería de Información

Arquitectura de Aplicaciónn Elementos del sistema que transforman

objetos de la arquitectura de datos para algún propósito del negociow Programas (SW)

Page 16: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

16

Ingeniería de Información

Infraestructura de Tecnologían Provee las bases para las arquitecturas de

datos y aplicaciónwHW

n Computadoras, redes, ligas comunicación, tecnologías de almacenamiento, arquitectura (cliente-servidor)

w SW

Page 17: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

17

Ingeniería de InformaciónOrganizaciónde Negocio Planeación Estratégica

de InformaciónVista Global

Área de Negocio Ánálisis de Áreade Negocio

Vista de Dominio

Área deNegocio

Requerimiento de Proceso

Diseño deSistema de NegocioVista de Elemento

Construcción eIntegración

Vista de Detalle

Ingenieríade

Software

Sistema deInformación

Page 18: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

18

Ingeniería de Producto

Traducir los deseos de los clientes para un conjunto de capacidades en un producto trabajandoNecesita una arquitectura e infraestructuran Componentesw SWw HWw Datosw Gente

Page 19: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

19

Ingeniería de Producto

Análisis de Sistemasn RequerimientoswNecesidades de información y controlw Funcionalidad y comportamiento del productowDesempeñowDiseñow Restricciones de interfazwNecesidades especiales

Page 20: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

20

Ingeniería de Producto

Ingeniería de Componentesn Actividades concurrentes para cada

componente del sistemaw Ingeniería de Softwarew Ingeniería de Hardwarew Ingeniería de Recursos Humanosw Ingeniería de Bases de Datos

Page 21: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

21

Ingeniería de Producto

Ingeniería (de software en nuestro caso)n Actividades de diseño y modeladon Actividades de construcción y diseño

Page 22: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

22

Ingeniería de ProductoProductoCompleto Análisis del Sistema

Vista Global

Capacidades Ingeniería deComponentes

Vista de Dominio

Software

Requerimiento de Proceso

Modelado deAnálisis y DiseñoVista de Elemento

Construcción eIntegración

Vista de Detalle

Ingenieríade

Software

Función

Hardware

Datos Comportamiento

Componente deprograma

Page 23: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

23

Ingeniería de Requisitos

¿Cómo podemos asegurar que hemos especificado un sistema que recoge las necesidades del cliente y satisface sus expectativas?

Ingeniería de requisitos ayuda a entender lo que el cliente quiere

Page 24: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

24

Ingeniería de Requisitos

Pasos de la Ingeniería de Requisitosn Identificación de requisitosn Análisis de requisitos y negociaciónn Especificación de requisitosn Modelado del sisteman Validación de requisitos y Gestión de

requisitos

Page 25: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

25

Ingeniería de Requisitos

Identificación de requisitosn Más difícil de lo que parecen Mediante entrevistasn Problemas (porqué la obtención de

requisitos es tan costosa)w Problemas de alcancew Problemas de comprensiónw Problemas de volatilidad

Page 26: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

26

Ingeniería de Requisitos

Para obtener requisitos:n Valorar el impacto en el negocio y la

viabilidad técnica del sistema propueston Identificar personas que ayudan a

especificar requisitos y contrastar su papel en la organización

n Definir entorno técnico (arquitectura computadora, sistema operativo, comunicaciones) en el sistema o producto

Page 27: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

27

Ingeniería de Requisitos

Para obtener requisitos:n Identificar restricciones de dominio

(características específicas del entorno del negocio en el dominio de la aplicación) que limiten la funcionalidad y rendimientos del sistema o producto a construir

n Definir métodos para obtención de requisitos (entrevistas, grupos de trabajo, equipos de discusión)

Page 28: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

28

Ingeniería de Requisitos

Para obtener requisitos:n Solicitar participación de muchas personas para

que los requisitos se definan desde diferentes puntos de vista, asegurar identificar lo fundamental de cada requisito

n Identificar requisitos ambiguos como candidatos para el prototipado

n Crear escenarios de uso para ayudar a los clientes / usuarios a identificar mejor los requisitos fundamentales

Page 29: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

29

Ingeniería de Requisitos

Análisis y negociación de requisitosn Agrupamos requisitos en categoríasn Estudiamos cada requisito en relación con

el restow consistenciaw completudw ambigüedad

n Clasificamos requisitos en base a necesidades del cliente/usuario

Page 30: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

30

Ingeniería de Requisitos

Análisis de requisitos– Preguntasn ¿Cada requisito es consistente con los objetivos

generales del sistema/producto?n Requisitos especificados a nivel adecuado ¿nivel

de detalle técnico apropiado?n ¿Es requisito necesario?, ¿es esencial?n ¿Requisitos bien delimitados?, ¿ambigüedad?n ¿Cada requisito tiene procedencia?n ¿Existen requisitos incompatibles?n ¿Técnicamente es posible lograr los requisitos?n ¿Se pueden probar los requisitos implementados?

Page 31: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

31

Ingeniería de Requisitos

Cosas comunes de los clientesn Piden más de lo que necesitann Proponen requisitos contradictorios

El ingeniero en sistemas resuelve estos problemas mediante negociaciónSe estima el impacto en costo de cada requisito y en plazo de entregaIterativamente se eliminan requisitos o se ajustan para lograr el objetivo planteado

Page 32: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

32

Ingeniería de Requisitos

Especificación de requisitosn Documento escrito, combinado con descripciones

en lenguaje natural y modelos gráficosn Describe la función y características de un sistema

de computación y las restricciones que gobiernan su desarrollo

n Delimita cada elemento del sisteman Describe la información (datos y control) que

entra y sale del sistema

Page 33: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

33

Ingeniería de Requisitos

Modelado del sistemaEl modelo debe mostrar y evaluar los componentes del sistema y sus relaciones entre siDeterminar si se reflejan los requisitosValorar la forma en que se ha concebido el sistema

Page 34: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

34

Ingeniería de Requisitos

Validación de requisitosn Examina las especificaciones para asegurarwNo ambigüedadwNo inconsistenciaswNo omisionesw Errores hayan sido corregidosw Ajuste a estándares establecidos

n proceso, proyecto y producto

Page 35: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

35

Ingeniería de Requisitos

Gestión de requisitosn Conjunto de actividades para identificar, controlar

y seguir los requisitos y los cambios en cualquier momento

n Los requisitos se identifican y se generan matrices para darles seguimientow Matriz de seguimiento de característicasw Matriz de seguimiento de orígenesw Matriz de seguimiento de dependenciasw Matriz de seguimiento de subsistemasw Matriz de seguimiento de interfaces

Page 36: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

36

Ingeniería de Requisitos

Gestión de requisitosn Identificación de requisitosw F = requisito funcionalwD = requisito de datosw C = requisito de comportamientow I = requisito de interfazw S = requisito de salida

n F09 es el noveno requisito funcional

Page 37: Ingeniería de Softwarerossainz/ingSw_cuatrimestral/1_Apuntes_… · Vista de Detalle Ingeniería de Software Función Hardware Datos Comportamiento Componente de programa. 23 Ingeniería

37

Ingeniería de Requisitos

TAREAEstudiar y resumir la sección 10.6 (Pressman) 5a edición: Modelado del Sistema. Lo van a utilizar en su proyecto ó la sección 10.7 (Pressman) 4a ediciónPoner su resumen en la página web