Ingenieria de software
Johan Bejarano. Universidad de San Buenaventura Cali
Objetivos
●
Describir el proceso de desarrollo de Software con un paradigma Orientado a Objetos (OOSD) Describir como el “modelamiento” soporta los procesos de OOSD Explicar el propósito, actividades y artefactos de los flujos de trabajo en un proceso de OOSD
●
●
PreguntasIniciales
●
Cuales son las características esenciales de un proceso de desarrollo de Software? Desde su experiencia, cuales son los flujos de trabajo o las actividades necesarias para llevar a cabo un proceso de desarrollo de Software Orientado a Objetos?
●
Metodología
●
“Conjunto de métodos, reglas y postulados empleados por una disciplina”. [Webster New
Collegiate Dictionary]
●En un proceso de OOSD, se refiere a el nivel mas alto de organización en un proyecto de software ¿Cual es la herramienta de desarrollo de Software más importante?
●
Metodología
●
Esta organización puede ser descompuesta en fases. Las fases pueden ser descompuestas en flujos de trabajo. Los flujos de trabajo pueden ser descompuestos en actividades Finalmente, las actividadestransforman los “artefactos”
●
●
●
Metodología
●
El resultado final de la metodología es un artefacto. El artefacto final es el producto de software que “satisface” el artefacto inicial, los requisitos del sistema de software.
●
Metodología
Flujos de Trabajo
●
Tradicionalmente se involucran los siguientes flujos de trabajo en un proceso de OOSD.
– – – – – – –“Elicitación” de requisitos Análisis de requisitos Arquitectura Diseño Implementación Pruebas Despliegue
Comparemos dos paradigmas
Paradigma procedimental Estructura Organizacional Capacidad de modificar el Software Reutilización de código Jerarquía de (Sub)Tareas Software es difícil de cambiar Paradigma OO Red de Objetos Colaborando Software es relativamente Más fácil de cambiar Reutilización de códigocon El uso de extensión e Instanciación de objetos Comportamiento polimórfico
Predomina el “Copy-paste” o 1001 parámetros o uso de Variable globales Predomina los condicionales Anidados if o switch Las pruebas son construidas Dentro del código. Difícil Separación funcional
Configuración de casos Especiales Separación funcional
Código modular ayuda a Separar bloques funcionales
Rolesinvolucrados en el proceso
Cliente Equipo de trabajo Administrador Proyecto Analista del Negocio Arquitecto De solución Diseñador de Software Programador Calidad Especialista de despliegue
Propietario(s) del Negocio Administrador(es) Usuarios
Qué es un modelo?
●
Un modelo es la simplificación de la realidad.
[Booch UML User Guide]
●
Un modelo es una conceptualización abstracta deuna entidad o sistema Diferentes vistas muestran el modelo desde diferentes perspectivas
●
Por qué modelar Software?
●
“Modelamos SW por que podemos entender mejor lo que estamos desarrollando” Modelar Software nos permite:
– –
●
Visualizar el sistema (nuevo o existente) Comunicar las decisiones a los integrantes del proyecto Documentar las decisiones que se tomaron Especificarla estructura y el funcionamiento del sistema Usar una “plantilla” para construir el sistema
– –
–
Mapa de un proceso de desarrollo de Software
Modelo de arquitectura Requisitos No funcionales Modelo de requisitos Interesado En el proyecto Requisitos funcionales Modelo de diseño Modelo de solución Código
Definición de UML
●
UML = Unified Modelling Language (Lenguaje Unificado deModelado) UML es un lenguaje gráfico que sirve para visualizar, especificar, construir y documentar los artefactos de un sistema de Software [UML v1.4 página xix]
●
Composición de los modelos UML
●
Un modelo construido en UML, estaría compuesto de:
– – –
Elementos (Cosas y relaciones entre ellas) Diagramas (Agrupación lógica de elementos) Vistas (Diagramas mostrando diferentes...
Regístrate para leer el documento completo.