Prototipado Prototipado.

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

PROTOTIPOS.
Como Migrar a Software Libre
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
Introducción a LAS Bases de Datos
Otros métodos de Diseño de Sistemas...
Introducción al software
Introducción Tema Importancia de los Interfaces de Usuario
Framework Hexápodo PHP fácil, rápido y sin dolor
Modelos de Proceso del Software
Etapas y actividades en el desarrollo OO basado en UML
Procesos de la Ingeniería
Administración de Procesos de Pruebas
Ingeniería del Software
Desarrollo de Software Basado en Componentes
INSTITUTO TECNOLÓGICO SUPERIO DE LIBRES
M.S.C. Ivette Hernández Dávila
Ingeniería del software de la usabilidad (I)
Ingeniería de Sistemas Requerimientos
Diseño del Software Diseño de datos Diseño arquitectónico
DISEÑO DE LA INTERFAZ DE USUARIO
Ingeniería de Software Orientado a Objetos
DISEÑO DE SOFTWARE 1ª. Parte
Diseño e Implementación
Unidad 4 Diseño Arquitectónico Basado en la Funcionalidad
Ingeniería de Software
Ingenieria de software
Ciclo de Vida del Software Paradigmas de Desarrollo
Programación Orientada a Objetos
Comunicación y Multimedia
Tema 1: Introducción al análisis y diseño de aplicaciones software
CONCEPTOS BÁSICOS Diseño de Sistemas.
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
Ingeniería del Software
Visión Panorámica Diccionario de Datos Paso al diseño
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
FRAMEWORK VS Código fuente
PROYECTO INFORMÁTICO.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Unidad 3: Adquisición de Paquetes de Software Msc. Lic. Susana I. Herrera - Lic. Paola Budán UNSE 2012.
INTRODUCCIÓN AL PROCESO UNIFICADO DE DESARROLLO DESOFTWARE
Ingeniería de Requisitos
¿Qué es la Ingeniería del Software?
SRS "Software Requirements Specification" LCD:
Alexander Aristizabal Ángelo flores herrera
Diseño de Sistemas.
Introducción a UML Departamento de Informática Universidad de Rancagua
Fundamentos de Sistemas Expertos
III. DESARROLLO DE SISTEMAS.. Podemos definir el desarrollo de sistemas informáticos como el proceso mediante el cual el conocimiento humano y el uso.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Proceso de desarrollo de software Pablo Gervás F. Informática, UCM, noviembre 2007.
Unidad 3 MODELO DE ANALISIS.
Actividades en el Proceso de desarrollo de Software
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Interacción persona-ordenador Ingeniería de la interfaz - Diseño
Ingeniería del Software I
Ingeniería de Software
Organización y Métodos. ©Ian Sommerville 1995 Ingeniería de Software, 5a. edición Capitulo 4 Diapositiva * Ingeniería de Requerimientos ● Estableciendo.
Proceso de desarrollo de Software
Ing del Software Libre1 Ingeniería del Software Libre y Modelos de Calidad Instructora: Ing. Erika Veliz Correo Electrónico:
Las fases del ciclo de la vida de desarrollo de sistemas
Modelo de procesos de software
Fundamentos de Ingeniería de Software
El diseño de la interfaz de usuario requiere el estudio de las personas y el conocimiento tecnológico adecuado.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Verificación y Validación del Software
Entregables del Proyecto
Transcripción de la presentación:

Prototipado Prototipado

Índice Concepto de prototipo. Uso de los prototipos. Tipos de prototipos. Herramientas para el prototipado. Prototipos de la interfaz de usuario. Prototipado

Bibliografía (Piattini et al. 1996) Apartado 6.3.3. (Pressman 2001) Apartados 11.4 y 2.5. (Sommerville 2002) Capítulo 8. Prototipado

Concepto de prototipo Primera versión de un nuevo tipo de producto, en el que se han incorporado sólo algunas características del sistema final, o no se han realizado completamente. Modelo o maqueta del sistema que se construye para comprender mejor el problema y sus posibles soluciones: evaluar mejor los requisitos. probar opciones de diseño. Prototipado

Concepto de prototipo (II) Características de los prototipos: Funcionalidad limitada. Poca fiabilidad. Características de operación pobres. Prototipo  10% presupuesto del proyecto. normalmente pocos días de desarrollo. Prototipado

Uso de los prototipos Se presenta al cliente un prototipo para su experimentación. Ayuda al cliente a establecer claramente los requisitos. Ayuda a los desarrolladores a: Validar corrección de la especificación. Aprender sobre problemas que se presentarán durante el diseño e implementación del sistema. Mejorar el producto. Examinar viabilidad y utilidad de la aplicación. Prototipado

¿Cuándo son interesantes los prototipos? Siempre, pero especialmente cuando... Área de aplicación no bien definida (bien por su dificultad o por falta de tradición en su aplicación). El coste de rechazo por parte de los usuarios, por no cumplir sus expectativas, es muy alto. Es necesario evaluar previamente el impacto del sistema en los usuarios y en la organización. Se usan nuevos métodos, técnicas, tecnología. Recordemos que en el artículo “No silver bullet” (Brooks 87) (que mencionamos en el Capítulo 1) el prototipado se considera una de las aproximaciones realmente prometedoras, por dirigirse a la complejidad “esencial” del software. Prototipado

Tipos de prototipos Prototipado de interfaz de usuario: modelos de pantallas. Prototipado funcional (operacional): implementa algunas funciones, y a medida que se comprueba que son las apropiadas, se corrigen, refinan, y se añaden otras. Modelos de rendimiento: evalúan el rendimiento de una aplicación crítica (no sirven al análisis de requisitos). Ver (Piattini el al. 96), p. 164-165. Prototipado

Tipos de prototipos (II) Rápido o desechable: Sirve al análisis y validación de los requisitos. Después se redacta la especificación del sistema y se desecha el prototipo. La aplicación se desarrolla siguiendo un paradigma diferente. Problema: cuando el prototipo no se desecha, y termina convirtiéndose en el sistema final. Evolutivos: Comienza con un sistema relativamente simple que implementa los requisitos más importantes o mejor conocidos. El prototipo se aumenta o cambia en cuanto se descubren nuevos requisitos. Finalmente, se convierte en el sistema requerido. Actualmente se usa en el desarrollo de sitios Webs y en aplicaciones de comercio electrónico. Un problema que se presenta en ocasiones con los prototipos desechables es que el cliente presiona para que el prototipo que se le acaba de mostrar se convierta en el producto final con unas leves modificaciones, aunque inicialmente se fuera a desechar. El problema es que seguramente el prototipo se habrá construido rápidamente, sin seguir un método de ingeniería del software, y utilizando un lenguaje que probablemente no será muy eficiente. El mantenimiento de estas aplicaciones será muy difícil. También es difícil el mantenimiento de las aplicaciones desarrolladas como prototipos evolutivos, ya que muchas veces la documentación se reduce al mínimo o no se escribe, y no se aplican técnicas de ingeniería del software. Estas aplicaciones suelen tener menos tiempo de vida que las aplicaciones tradicionales. Prototipado

Tipos de prototipos (III) Vertical desarrolla completamente alguna de las funciones. Horizontal desarrolla parcialmente todas las funciones. Prototipado

Herramientas para el prototipado (Sommerville 2002) p.180 Lenguajes dinámicos de alto nivel. Lenguajes de cuarta generación (4GLs) (programación de BBDD). Ensamblaje de componentes y aplicaciones. Prototipado

Lenguajes dinámicos de alto nivel Muy usados: Smalltalk (basado en objetos, sistemas interactivos) Java (basado en objetos, sistemas interactivos) Prolog (lógico, procesamiento simbólico) LISP (basado en listas, procesamiento simbólico) Elección del lenguaje: ¿Cuál es el dominio de aplicación? ¿Cuál es la interacción de usuario requerida? (Java, Smalltalk se integran bien con las interfaces Web.) ¿Cuál es el entorno proporcionado para el lenguaje? Prototipado

Lenguajes de cuarta generación (4GLs) La mayoría de aplicaciones de gestión son interactivas e implican la manipulación de una BD y la producción de salidas que involucran organizar y dar formato a esos datos. 4GL: lenguaje de programación de BBDD (y su entorno de desarrollo), que contiene conocimiento de la BD y operaciones para manipulación de la misma. 4GL: lenguaje no procedimental. Las aplicaciones de gestión suelen involucrar la actualización de una BD y la producción de informes a partir de la información de la BD Prototipado

Lenguajes de cuarta generación (4GLs) (II) Generador de interfaces Hoja de cálculo Lenguaje de programación de BD (SQL) Generador de informes El lenguaje de programación de la BD suele ser SQL. Sistema de administración de BBDD Lenguaje de cuarta generación Prototipado

Lenguajes de cuarta generación (4GLs) (III) Reducen claramente los costos del desarrollo. Muy usados en prototipado evolutivo. Muchos 4GLs permiten el desarrollo de interfaces de BBDD basadas en navegadores Web. Generan SQL o código en lenguaje “de bajo nivel” como COBOL. Prototipado

Lenguajes de cuarta generación (4GLs) (IV) Menos eficientes que los lenguajes de programación convencionales. p.ej. Programa en 4GL reescrito en C++ (Sommerville 2002) -50% requisitos de memoria 10 veces más rápido Reducen claramente los costos del desarrollo ... ¿y el mantenimiento? Programas no estructurados difíciles de mantener No están estandarizados ni son uniformes  los usuarios pueden tener que reescribir totalmente los programas debido a que el lenguaje ha quedado obsoleto. Prototipado

Ensamblaje de componentes y aplicaciones El desarrollo de prototipos con reutilización comprende dos niveles: (a) El nivel de aplicación, en el que una aplicación completa se integra con el prototipo P.ej., si el prototipo requiere procesamiento de textos, se puede integrar un sistema estándar de procesamiento de textos (MS Office). Prototipado

Ensamblaje de componentes y aplicaciones (II) (b) El nivel de componente, en el que los componentes se integran en un marco de trabajo estándar. Visual Basic, TCL/TK, Python, Perl... Lenguajes de alto nivel sin tipos, con kits de herramientas gráficas. Desarrollo rápido de aplicaciones pequeñas y relativamente sencillas, construidas por una persona o conjunto de personas. No existe una arquitectura explícita del sistema. CORBA, DCOM, JavaBeans Junto con un marco arquitectónico, es más apropiado para sistemas grandes. Prototipado

Prototipos de la interfaz de usuario Las descripciones textuales y los diagramas no son suficientemente buenos para expresar los requisitos de la interfaz. La construcción de prototipos evolutivos con la participación del usuario final es la forma más sensata de desarrollar una interfaz. Los usuarios deben estar implicados en la evaluación y evolución del prototipo. Prototipado

Prototipos de la interfaz de usuario. Herramientas Generadores de interfaz (4GLs, Visual Basic, etc.). Editores de páginas Web. Herramientas CASE. Formularios, pantallas, generación de código... Bocetos en papel. Aplicaciones de dibujo Harward Graphics, etc. MS PowerPoint. Etc. Prototipado