La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ingeniería de Sotfware. ¿Qué es Ingeniería de Software? La El término Ingeniería de Software surge a final de los años 60 La El término Ingeniería de.

Presentaciones similares


Presentación del tema: "Ingeniería de Sotfware. ¿Qué es Ingeniería de Software? La El término Ingeniería de Software surge a final de los años 60 La El término Ingeniería de."— Transcripción de la presentación:

1 Ingeniería de Sotfware

2 ¿Qué es Ingeniería de Software? La El término Ingeniería de Software surge a final de los años 60 La El término Ingeniería de Software surge a final de los años 60 "Ingeniería del Software es un conjunto de métodos,herramientas y procedimientos para producir software de gran calidad" [R. Pressman] "Ingeniería del Software es un conjunto de métodos,herramientas y procedimientos para producir software de gran calidad" [R. Pressman]

3 ¿Cuál es su Objetivo? Su objetivo Producir Producto de Software Su objetivo Producir Producto de Software Productos Genéricos Productos Genéricos Productos Personalizados Productos Personalizados GenéricoPersonalizados Sistema de Compras OFFICE

4 ¿Por qué Es Importante? "Aunque los computadores han tenido mucho éxito, la experiencia diaria de uso de computadores es asociada muchas veces con dificultad, pena y otras barreras para la mayoría de la gente... La falta de usabilidad del software y un diseño pobre de los programas son una vergüenza secreta de la industria." Mitchell Kapor, Software Design Manifesto, 1990 Mitchell Kapor, Software Design Manifesto, 1990

5 ¿Qué conceptos debemos conocer? Método Método Planificación y estimación de proyectos Planificación y estimación de proyectos Análisis de requisitos Análisis de requisitos Diseño Diseño Codificación Codificación Prueba Prueba Mantenimiento Mantenimiento Herramientas Herramientas Procedimientos Procedimientos Ingeniería de Software Metódos ProcedimientoHerramientas

6 ¿Qué conceptos debemos conocer? Calidad del Software Internos Internos Corrección Corrección Robustez Robustez Modificabilidad Modificabilidad Reusabilidad Reusabilidad Compatibilidad Compatibilidad Eficiencia Eficiencia Portabilidad Portabilidad Verificabilidad Verificabilidad Integridad Integridad Facilidad de uso Facilidad de uso

7 ¿Qué conceptos debemos conocer? Calidad del Software Internos Internos Modularidad Modularidad Legibilidad Legibilidad

8 Ciclo de Vida del Software Ciclo de vida: "Sucesión de etapas por las que atraviesa un producto software a lo largo de su desarrollo y existencia." Tipos Clásico Clásico con prototipado En espiral Prototipado puro Combinación de estilos, etc.

9 Ciclo de Vida del Software Ciclo de vida clásico (W. Roycea en los años 70) Análisis Diseño Codificación Puesta en Marcha

10 Ciclo de Vida del Software Prototipado Tipo vertical, horizontal, evolutivo, desechable Análisis Construcción Prototipo Diseño Diseño Rápido Requerimiento Validación

11 Ciclo de Vida del Software Proceso evolutivo (espiral)

12 Introducción al Análisis OO ¿Qué es un objeto? ¿Qué es un objeto? Muebles Mundo Real

13 Introducción al Análisis OO ¿Qué es un objeto? ¿Qué es un objeto? Muebles Clase (Mayor) Instancia

14 Introducción al Análisis OO Las Clases tienen Las Clases tienen Atributos Atributos Métodos Métodos CLASE Atributos costo dimensiones color peso ubicación Métodos comprar vender mover pintar describir Muebles

15 Introducción al Análisis OO Las Clases tienen Las Clases tienen Atributos Atributos Métodos Métodos CLASE Mueble costo dimensiones color peso ubicación comprar vender mover pintar describir Muebles

16 Introducción al Análisis OO Las Clases tienen Las Clases tienen Atributos : Atributos :Un conjunto de atributos genéricos Métodos : Métodos :Cada una de estas operaciones modificará uno o más atributos del objeto. CLASE comprar vender mover pintar describir Muebles costo dimensiones color peso ubicación Métodos Atributos

17 Disertaciones Temas Sistemas Distribuidos Capability Maturity Model for Software (CMM) Data Warehousing Data Mining Business Intelligence Licencia GNU/GPL

18 Pauta Las disertaciones deben cumplir con el objetivo de Propagar el conocimiento especifico del tema que aborda Introducción al tema a desarrollar. Introducción al tema a desarrollar. Descripción del tema. Descripción del tema. Descripción general: ¿Qué aplicaciones tiene? ¿Cuales son sus objetivos? Descripción general: ¿Qué aplicaciones tiene? ¿Cuales son sus objetivos? Interrelación:¿Ayuda a otras áreas del conocimiento? Interrelación:¿Ayuda a otras áreas del conocimiento? modelos matemáticos y métricas asociadas ¿Existen métricas Asociadas? modelos matemáticos y métricas asociadas ¿Existen métricas Asociadas? Análisis crítico Análisis crítico Relación con el Curso y percepción personal : ¿Qué opinión le merece el tema estudiado y su aporte a la ingeniería de Software? Relación con el Curso y percepción personal : ¿Qué opinión le merece el tema estudiado y su aporte a la ingeniería de Software? ¿Cuáles son las desventajas encontradas? ¿Cuáles son las desventajas encontradas? Conclusiones Conclusiones ¿Cómo resumiría el Tema analizada? ¿Cómo resumiría el Tema analizada? ¿Cuándo puede ser usado? ¿Cuándo puede ser usado? ¿Buenas practicas Asociada? ¿Buenas practicas Asociada?

19 Introducción al Análisis OO Encapsulamiento de Clases Encapsulamiento de Clases Atributos : Atributos :Un conjunto de atributos genéricos Métodos : Métodos :Cada una de estas operaciones modificará uno o más atributos del objeto. CLASE comprar vender mover pintar describir Muebles costo dimensiones color peso ubicación Métodos Atributos Encapsulamiemto Estimulo

20 Introducción al Análisis OO CLASES (super clases, subclase) CLASES (super clases, subclase) JERARQUIA JERARQUIA ATRIBUTOS ATRIBUTOS MENSAJES MENSAJES subclases que pueden añadir atributos "privados" y métodos Mueble (SUPER CLASE) Sub-clase de la Super-Clase Mueble mesa escritoriosilla Instancia de silla

21 Introducción al Análisis OO Conceptos Propios de la Orientación a Objetos Conceptos Propios de la Orientación a Objetos Encapsulamiento Encapsulamiento Herencia Herencia Polimorfismo Polimorfismo clase A B Figura circulocuadradotriangulo Dibujar

22 Análisis OO Proceso Unificado de Software Proceso Unificado de Software UML (1997) UML (1997) Lenguaje de propósito general Lenguaje de propósito general Permite crear modelos Permite crear modelos "El hábito no hace el monje"

23 Análisis OO Diagramas Usados UML Diagramas Usados UML Diagramas de estructura Diagramas de estructura Diagrama de clases Diagrama de clases Diagrama de componentes Diagrama de componentes Diagrama de objetos Diagrama de objetos Diagrama de despliegue Diagrama de despliegue Diagrama de paquetes Diagrama de paquetes Diagramas de comportamiento Diagramas de comportamiento Diagrama de actividades Diagrama de actividades Diagrama de casos de uso Diagrama de casos de uso Diagrama de estados Diagrama de estados Diagramas de Interacción Diagramas de Interacción Diagrama de secuencia Diagrama de secuencia Diagrama de comunicación Diagrama de comunicación

24 Análisis OO ¿Qué son análisis y diseño? Una definición general seria: Análisis Centrado en la investigación del Problema Análisis Centrado en la investigación del Problema Diseño Como el sistema va a cumplir con los requerimientos Diseño Como el sistema va a cumplir con los requerimientos

25 Análisis OO ¿Qué son análisis y diseño? Una definición OO seria: Análisis Identifica los Objetos del dominio del problema Análisis Identifica los Objetos del dominio del problema Diseño Se definen los objetos lógicos de software Diseño Se definen los objetos lógicos de software AnalistaDiseñoImplementación Mueble public Mueble{ …. }

26 Análisis OO Identificar un Objeto o Clase Entidades externas Entidades externas Cosas Cosas Sucesos Sucesos Roles Roles Lugares Lugares Estructurales Estructurales

27 Análisis OO ¿Cómo saber si el objeto es correcto? Información retenida Información retenida Servicio necesario Servicio necesario Atributos múltiples Atributos múltiples Atributos Comunes Atributos Comunes Operaciones comunes Operaciones comunes Requisitos esenciales Requisitos esenciales

28 Análisis OO Diagramas Básicos casos de uso el modelo conceptual Definir diagramas colaboración diagramas de diseño de clases Diagramas a Definir

29 Análisis OO Diagramas Básicos > Diagrama Caso de USO diagramas de diseño de clases Juego de Dados Pagar Juego Jugador

30 Análisis OO Diagramas Básicos > Caso de USO Caso de uso Alto Nivel Caso de uso Alto Nivel Caso de uso Extendido Caso de uso Extendido JugarDados (Comienzan con un verbo) Jugador

31 Análisis OO Caso de USO No son los Requisitos Descripción narrativa de Procesos Describe secuencia de acciones de un actor ¿Cómo el uso del sistema provee un valor observable para un usuario, o como satisface sus necesidades? Ejemplo 1. 1.Retiro de dinero desde un cajero 2. 2.La comprar un articulo 3. 3.Juego de datos JugarDados

32 Análisis OO Caso de USO Enunciado del ejemplo juego de datos Enunciado del ejemplo juego de datos Juego de Dados el jugador puede realizar todas las jugadas que el jugador puede realizar todas las jugadas que desee el jugador ganara si al hacer rodar los dos dados obtiene un puntaje igual a 7 de lo contrario desee el jugador ganara si al hacer rodar los dos dados obtiene un puntaje igual a 7 de lo contrario con cualquier otro puntaje perderá con cualquier otro puntaje perderá

33 Análisis OO Diagramas Básicos > Diagrama Caso de USO Caso de uso Alto Nivel Caso de uso Alto Nivel Caso de Uso Actores Descripción REF. 1 Jugador Juego de Dados Este caso de uso comienza cuando el jugador recoge y hace rodar los dados. Si los puntos suman siete gana y pierde si suman cualquier otro número.

34 Análisis OO Diagramas Básicos > Diagrama Caso de USO Caso de uso Expandido Caso de uso Expandido Caso de Uso Actores resumen REF.Numero de referencia Lista de actores quién inicial el caso de uso. Nombre del caso de uso Propósito Intención del caso de uso. Repetición del caso de uso de alto nivel o alguna síntesis similar. Tipo 1. Primario, secundario u opcional. 2. Esencial o real. Evento Ref. Cruzada: Sistema

35 Análisis OO Diagramas Básicos > Diagrama Conceptual Diagrama conceptual Diagrama conceptual Jugador Nombre Dados valorMostrado Jugada consta Lanza Juega

36 Análisis OO Diagramas Básicos > Diagrama Colaboración Diagrama Colaboración Diagrama Colaboración :jugadord1:Dado d2:Dado Jugar() 1:r1:=lanzar 2:r2:=lanzar

37 Análisis OO Diagramas Básicos > Diagrama diseño de clases Diagrama diseño de Clases Diagrama diseño de Clases Jugador Nombre Dados valorMostrado Jugada consta Lanza Juegar() Lanzar() Nombre Iniciar()

38 Análisis OO ejemplo: Sistema de Proyecto 1.Requerimientos 2.Casos de usos Alto Nivel 3.Casos de usos Expandidos 4.Diagrama de Secuencia 5.Contratos 6.Diagrama conceptual 7.Diagrama de Clases

39 Análisis OO ejemplo: Sistema de Proyecto 1.Requerimientos Informe Informe 1.- Informe de movimiento 1.- Informe de movimiento 2.- Informe etapa y actividades 2.- Informe etapa y actividades Almacenamiento Almacenamiento 3.- Guardar información movimiento proyecto etapa actividades responsable 3.- Guardar información movimiento proyecto etapa actividades responsable 4.- Guardar información de los datos responsables 4.- Guardar información de los datos responsables 5.- Guardar información de proyectos 5.- Guardar información de proyectos 6.- Guardar información de las etapas 6.- Guardar información de las etapas 7.- Guardar información de actividades 7.- Guardar información de actividades Procesamiento Procesamiento 8.- Calculo porcentual de cada etapa 8.- Calculo porcentual de cada etapa 9.- Calculo porcentual de cada etapa 9.- Calculo porcentual de cada etapa

40 Análisis OO ejemplo: Sistema de Proyecto Caso de UsoMantenedorProyectoID05 ActorResponsable DescripciónEste caso se encarga de mantener la información de los proyectos que son ingresados por el responsable. Casos de usos alto Nivel Casos de usos alto Nivel

41 Análisis OO (Ej.) Sistema de Proyecto Casos de usos Expandido Casos de usos Expandido Caso de UsoMantenedorProyectoID05 ActorResponsable PropósitoMantener actualizada la información del proyecto ResumenEste caso se encarga de mantener la información de los proyectos que son ingresados por el responsable. TipoPrimario y esencial Referencias Cruz. Curso Normal de los Eventos EVENTOSISTEMA 1. Este caso comienza cuando el responsable solicita ver los proyectos 3. El responsable solicita crear un nuevo Proyecto 5. El responsable solicita modificar proyecto" 2. El sistema despliega una lista con todos los proyectos. 4. El sistema informa al usuario del estado de creación 6.-El sistema informa del estado de la modificación Curso Alternativo Linea 5 : no ingreso el responsable el identificador del proyecto, se muestra un mensaje de error

42 Análisis OO (Ej.) Sistema de Proyecto Diagrama de Secuencia Diagrama de Secuencia :Sistema 1.- Este caso comienza cuando el responsable solicita ver los proyectos 3. El responsable solicita crear un nuevo Proyecto 5. El responsable solicita modificar proyecto" verListaProyecto() crearProyecto() modificarProyecto() Se crea un proyecto ver caso de uso ???

43 Análisis OO (Ej.) Sistema de Proyecto Contratos Contratos NombreVerListadoProyecto () ResponsabilidadObtener de la base de datos un listado de proyectos. ReferenciaCaso de uso mantenedorDeproyecto Pre-CondicionQue exista una instancia de responsable Post-CondicionSe creo una instancia de proyecto

44 Diseño OO (Ej.) Sistema de Proyecto Diagrama de colaboración Diagrama de colaboración List listaProyecto= VerListadoProyecto ():List Controlador :fachada :Proyecto 1: List listaProyecto= RecuperarProyectos ():List 2: List listaProyecto= RecuperarProyectos ():List

45 Análisis OO (Ej.) Sistema de Proyecto Diagrama Conceptual Diagrama Conceptual Proyecto Responsable Etapas Actividades Movimiento crea genera crea 1 0..n 1..n n 1

46 Diseño OO (Ej.) Sistema de Proyecto Diagrama Clases Diagrama Clases Proyecto Responsable Etapas Actividades Movimiento crea genera crea 1 0..n 1..n n 1 Nombre ingresarProyecto() ModificarProyecto() EliminarProyecto() Nombre ingresarEtapa() ModificarEtapa() EliminarEtapa()


Descargar ppt "Ingeniería de Sotfware. ¿Qué es Ingeniería de Software? La El término Ingeniería de Software surge a final de los años 60 La El término Ingeniería de."

Presentaciones similares


Anuncios Google