El Diseo
Lic. David Espinoza.
Concepto General
El diseo se define como el proceso previo de configuracin mental, "pre-figuracin", en la bsqueda de una solucin en cualquier campo. Utilizado habitualmente en el contexto de la industria, ingeniera, arquitectura, comunicacin y otras disciplinas creativas. Etimolgicamente deriva del trmino italiano disegno dibujo, designio, signare, signado "lo por venir.
lo hecho es la obra, lo por hacer es el proyecto el acto de disear como prefiguracin es el proceso previo en la bsqueda de una solucin o conjunto de las mismas. . Plasmar el pensamiento de la solucin o las alternativas mediante esbozos, dibujos, bocetos o esquemas trazados en cualquiera de los soportes, durante o posteriores a un proceso de observacin de alternativas o investigacin
El acto intuitivo de disear podra llamarse creatividad como acto de creacin o innovacin si el objeto no existe o se modifica algo existente inspiracin abstraccin, sntesis, ordenacin y transformacin. El acto humano de disear no es un hecho artstico en s mismo, aunque puede valerse de los mismos procesos en pensamiento y los mismos medios de expresin como resultado
Al disear un objeto, el diseador ordena y dispone los elementos estructurales y formales, as como dota al producto de significado en su contexto social.
El verbo "disear" se refiere al proceso de creacin y desarrollo para producir un nuevo objeto o medio de comunicacin (objeto, proceso, servicio, conocimiento o entorno) para uso humano.
El sustantivo "diseo" se refiere al plan final o proposicin determinada fruto del proceso de disear: dibujo, proyecto, plano o descripcin tcnica, maqueta al resultado de poner ese plan final en prctica (la imagen, el objeto a fabricar o construir). Disear requiere principalmente consideraciones funcionales, estticas y simblicas.
El proceso necesita numerosas fases como: observacin, investigacin, anlisis, testado, ajustes, modelados (fsicos o virtuales mediante programas de diseo informticos en dos o tres dimensiones). Adems abarca varias disciplinas y oficios conexos, dependiendo del objeto a disear y de la participacin en el proceso de una o varias personas.
Disear es una tarea compleja, dinmica e intrincada. Es la integracin de requisitos tcnicos, sociales y econmicos, necesidades biolgicas, ergonoma con efectos psicolgicos y materiales, forma, color, volumen y espacio, todo ello pensado e interrelacionado con el medio ambiente que rodea a la humanidad
ARTE u OFICIO
Durante dcadas los asuntos del Diseo se debaten entre investigadores y expertos. El diseo guarda relacin con la actividad artstica en la medida que emplea un lenguaje similar, pero es un fenmeno de naturaleza ms compleja y enteramente vinculado a la actividad productiva y al comercio.
Como subrayaba Renato de Fusco, (Arquitecto catedrtico de Historia de la Arquitectura de la U. de Npoles)a diferencia del arte y la arquitectura donde el protagonista son los artefactos, el proceso histrico del diseo no se basa slo en los proyectistas, porque al menos un peso similar tienen los productores, los vendedores y el mismo pblico. Se suele confundir con frecuencia a los diseadores y a los artistas, aunque nicamente tienen en comn la creatividad.
El diseador proyecta el diseo en funcin de un encargo, y ha de pensar tanto en el cliente como en el usuario final, justificando sus propuestas. A diferencia del artista que es ms espontneo y sus acciones pueden no estar justificadas.
El diseador
Quien disea, acta y proyecta objetos funcionales, herramientas ergonmicas, mobiliario, accesorios tiles, vestimenta, espacios fsicos o virtuales webs, multimedia, informacin, seales, mensajes no verbales sgnicos, simblicos y sistemas, ordena elementos grficos e imgenes, clasifica tipologas, crea o modifica tipografas.
Su campo de actuacin tiene relacin con la industria, el comercio y todas las actividades culturales. su perfil y educacin puede tener orientacin tcnica en la ingeniera de procesos industriales o constructivos (arquitectura de interiores).
DEFINICIONES.
Las definiciones sobre diseo son tantas y tan variadas como las actividades que han dado pie a esta actividad. Toms Maldonado sealaba que el diseo industrial es una actividad proyectual que consiste en determinar las prioridades formales de los objetos producidos industrialmente Diseo es un proceso de adecuacin formal, a veces no consciente, de los objetos.
Segn Joseph Edward Shigley y Charles R. Mishke, en su obra Diseo en ingeniera mecnica (Mechanical Engineering Design), publicada en 1989, "diseo es formular un plan para satisfacer una necesidad humana". Para el arquitecto Damiano Franco, el diseo se encuentra hasta en la parte ms nfima de la vida del ser humano. Qu sera de la vida cotidiana sin un diseo apropiado para cada una de las cosas y objetos? Un caos.
A lo que refiere Mariano Maddio, disear es proyectar nuevas ideas desde nuestra propia mirada, en donde el diseo al igual que toda obra de arte es captada primeramente por nuestra vista y reflejada en nosotros mismos. Gui Bonsiepe define al diseo como: "Hacer disponible un objeto para una accin eficaz. su objetivo est orientado a estructurar y configurar contenidos que permitan ser utilizados para ofrecer satisfacciones a necesidades especficas de los seres humanos.
Es por ello que muchas veces la falta de informacin lleva al empleo del trmino diseo incorrectamente. Ejemplos como: mucho diseo y poco contenido son comunes en medios de comunicacin, discursos etc. Sin embargo, el buen diseo, se caracteriza por su buena usabilidad y no siempre por su originalidad o esttica
el diseo es la organizacin de materiales y procesos de la forma ms productiva, en un sentido econmico, con un equilibrado balance de todos los elementos necesarios para cumplir una funcin. No es una limpieza de la fachada, o una nueva apariencia externa; ms bien es la esencia de productos e instituciones.
Estos cuatro actos, se van haciendo uno tras otro, y a veces continuamente. Hoy por hoy, y debido al mejoramiento del trabajo del diseador (gracias a mejores procesos de produccin y recursos informticos), podemos destacar otro acto fundamental en el proceso: Disear como acto cultural implica conocer criterios de diseo como presentacin, produccin, significacin, socializacin, costos, mercadeo, entre otros.
Analisis y Diseno OO
1.Comprender y definir el contexto y los modos de utilizacin del sistema. 2.Disear la arquitectura del sistema. 3.Identificar los objetos principales en el sistema.
No es un proceso sistematizado al 100%, por lo que necesita refinarse con varias iteraciones.
La encapsulacin de las clases hace que los sistemas evolucionen de forma rpida y sencilla.
Mtodo de Ingeniera
Diseo del sistema
Recoleccin y anlisis de requisitos
Actividad: Formulacin del problema con el cliente Resultado: Modelo del dominio del problema
Actividad: Anlisis del problema Descomposicin en partes Seleccin de estrategias para disear el sistema Seleccin del diseo detallado para cada una de las partes
Implementacin
Actividad: Trasladar el modelo del dominio de la solucin en representaciones ejecutables
Especificacin de la solucin
Software
Qu es un proceso software?
Es un conjunto de actividades y resultados asociados que producen un producto de software. Es uno de los componentes de un mtodo de desarrollo de software. Existen 4 actividades fundamentales de proceso, comunes para todos los procesos de software:
Especificacin del software Desarrollo del software Validacin del software Evolucin del software
Definicin
(QUE)
Desarrollo
(COMO)
Mant. Correctivo Soporte Mant. Adaptativo (CAMBIOS) Mant. Perfectivo Mant. Preventivo o Reingeniera del Software
Incremental
Espiral
El problema es seleccionar el modelo de proceso de software apropiado que debe aplicar el equipo de proyecto
?
56
Investigacin preliminar
Puesta en marcha
Proyectos reales raras veces se ajustan. Raras veces cliente expone todos los req. de entrada. Producto operativo al final => Paciencia (cliente) alta.
Fcil administrar, comprender Todos lo conocen
Usar cuando todos los requerimientos han sido establecidos claramente de entrada.
Ventajas
Desarrollar prototipo
Evaluar prototipo
Plan prototipo
Definicin prototipo
Prototipo ejecutable
Reporte eveluacin
60
Proceso Genrico del Prototipeo
Ventajas
Se detectan malos entendidos entre los desarrolladores y los usuarios Se detectan servicios no detectados antes Dificultades de uso o servicios confusos pueden ser identificados y refinados Staff de desarrollo de software puede encontrar requerimientos incompletos o inconsistentes con el desarrollo del prototipo El prototipo sirve como una base de la especificacin para la produccin de un sistema de calidad
Consejo:Cundo usar?
Usar cuando inicialmente no estn claros los requerimientos. Definir claramente de entrada las reglas de juego con el cliente. No ceder a presin del cliente.
61
Bosquejo de la Descripcin
Desarrollo
Versiones Intermedias
Validacin
Versin Final
62
Desventajas
Requiere tcnicas y herramientas especiales, para un desarrollo rpido. Los cambios continuos tienden a corromper la estructura del sistema haciendo el mantenimiento futuro muy difcil. Es imprescindible la pericia de un experto en prototipeo en el equipo de desarrollo. La organizacin debe estar consciente que el tiempo de vida de los sistemas desarrollados as es corto.
Cundo usar?
Es recomendable usar para sistemas pequeos o de vida corta. Cuando es difcil conocer bien los requerimientos.
63
64
Modelo DRA
Equipo # 1
Qu informacin? Quin la genera? A dnde va?
Equipo # 2
Modelo de Negocio
Modelo de Negocio
Tiempo
65
<-------------------------------60-90 das------------------------>
Modelo DRA
Crticas: Proyectos grandes => gran nro. de personas. Alto compromiso en tiempo. No apto para todo tipo de sistema (ej. no modularizable, bajo reuso de componentes). Desaconsejable cuando existen riesgos tecnolgicos altos o alta interoperatividad con programas ya existentes.
66
Modelos Evolutivos
Se adaptan ms fcilmente a los cambios introducidos a lo largo del desarrollo. Iterativos En cada iteracin se obtienen versiones ms completas del SW. Modelos Evolutivos:
Modelo Incremental (*) Modelo en Espiral (*) Modelo de Desarrollo Basado en Componentes (*) Modelo WINWIN Modelo de Desarrollo Concurrente
67
Modelo Incremental
Iteracin de Lineal Secuencial.
Cada iteracin devuelve un Incremento o versin operativa.
til cuando no se est seguro de cumplir con plazos de tiempo o se tiene una fecha imposible de cambiar.
68
Modelo Incremental
Inc1
Anlisi s
Diseo
Codif.
Prueba
Inc2
Anlisi s
Diseo
Codif.
Prueba
Inc3
Anlisi s
Diseo
Codif.
Prueba
Tiempo
Modelo Incremental
Validacin incremento
si
Sistema completo?
70
Modelo Incremental
Ventajas: Ofrece retroalimentacin Disminuye progresivamente el nmero de errores en las partes que faltan Disminuye el riesgo del desarrollo, errores se corrigen progresivamente Disminuye el tiempo de entrenamiento al usuario, que es progresivo El usuario no tiene que esperar hasta el final para hacer uso del sistema Problemas: Definicin del contrato, porque se planifica en forma detallada por incremento Los planes y documentacin se entregan con cada incremento del sistema Una vez que una parte es entregada sus interfaces son congeladas e incrementos posteriores deben adaptarse a estas Nota: Una evolucin de este enfoque se conoce como Programacin Extrema (XP-Extreme Programming).
71
Modelo en Espiral
72
Modelo en Espiral
Ventajas:
til para proyectos grandes. Permite usar el prototipado en todas las etapas de la evolucin para reducir el riesgo. Mantiene el enfoque sistemtico de los pasos sugeridos por el lineal secuencial, pero lo incorpora dentro de un marco iterativo ms real.
Crticas: Difcil de convencer a los clientes de que es controlable. Requiere mucha habilidad para el anlisis de riesgos y de esta habilidad depende su xito. No ha sido utilizado tanto como el lineal secuencial o el de prototipos. Se necesita mucha experiencia 73
Anlisis de Riesgos
Extraer
Construir iteracin
74
Crticas
Dificulta validacin con cliente => combinacin con otras tcnicas semiformales.
Herramientas que facilitan la realizacin de especificaciones a alto nivel -> cdigo fuente. Basadas en Lenguajes de 4ta Generacin (L4G) y uso de herramientas CASE
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas
http://agilemanifesto.org/
80
Mtodos Agiles
Modelos genricos
Adaptaciones para softw.
1997
ISO 9000-3
Trillium Bootstrap 1995
1959
1979
1987
MIL-Q 9858
BS 5750
ISO 9000
Modelos especficos para software.
ISO 12207
1995
Proy. SPICE
1993
2003-05
ISO 15504
2001
CMM-SW
DSDM SCRUM CRYSTAL XP
CMMI
1995
81
Mtodos Agiles
Recogen tcnicas, buenas
prcticas contrastadas por profesionales reconocidos.
5. Procesos primarios
5.1 Adquisicin
5. Procesos de soporte
6.1 Documentacin
5.2 Suministro
6.4 Verificacin
5.3 Desarrollo
6.5 Validacin
6.6 Reuniones
5.3
Mantenimiento
7. Procesos organizacionales
7.1 Gestin 7.2 Infraestructura
7.3 Mejora
7.4 Formacin
Extreme Programming
Este es el mtodo que ms popularidad ha alcanzado entre las metodologas giles, y posiblemente sea tambin el ms transgresor de la ortodoxia basada en procesos. Su creador, Kent Beck fue el alma mater del Manifiesto gil.
Extreme Programming (XP) se irgue sobre la suposicin de que es posible desarrollar software de gran calidad a pesar, o incluso como consecuencia del cambio continuo. Su principal asuncin es que con un poco de planificacin, un poco de codificacin y unas pocas pruebas se puede decidir si se est siguiendo un camino acertado o equivocado, evitando as tener que echar marcha atrs demasiado tarde.
Extreme Programming
Comunicacin
XP pone en comunicacin directa y continua a clientes y desarrolladores. El cliente se integra en el equipo para establecer prioridades y resolver dudas. De esta forma ve el avance da a da, y es posible ajustar la agenda y las funcionalidades de forma consecuente
De esta forma fallos se localizan muy pronto. La planificacin no puede evitar algunos errores, que slo se evidencian al
desarrollar el sistema. planes.
Extreme Programming
Simplicidad
La simplicidad consiste en desarrollar slo el sistema que realmente se necesita. Implica resolver en cada momento slo las necesidades actuales. Los costes y la complejidad de predecir el futuro son muy elevados, y la mejor forma de acertar es esperar al futuro. Con este principio de simplicidad, junto con la comunicacin y el feedback resulta ms fcil conocer las necesidades reales
Coraje
El coraje implica saber tomar decisiones difciles. Reparar un error cuando se detecta. Mejorar el cdigo siempre que tras el feedback y las sucesivas iteraciones se manifieste susceptible de mejora.
Tratar rpidamente con el cliente los desajustes de agendas para decidir qu partes y cundo se van a entregar.
Extreme Programming
Las 12 prcticas de XP
XP no es un modelo de procesos ni un marco de trabajo, sino un conjunto de 12 prcticas que se complementan unas a otras y deben implementarse en un entorno de desarrollo cuya cultura se base en los cuatro valores citados PRCTICAS DE CODIFICACIN 1.- Simplicidad de cdigo y de diseo para producir software fcil de modificar. 2.- Reingeniera continua para lograr que el cdigo tenga un diseo ptimo. 3.- Desarrollar estndares de codificacin, para comunicar ideas con claridad a travs del cdigo. 4.- Desarrollar un vocabulario comn, para comunicar las ideas sobre el cdigo con claridad.
PRCTICAS DE DESARROLLO 1.- Adoptar un mtodo de desarrollo basado en las pruebas para asegurar que el cdigo se comporta segn lo esperado. 2.- Programacin por parejas, para incrementar el conocimiento, la experiencia y las ideas. 3.- Asumir la propiedad colectiva del cdigo, para que todo el equipo sea responsable de l. 4.- Integracin continua, para reducir el impacto de la incorporacin de nuevas funcionalidades.
Extreme Programming
Las 12 prcticas de XP
PRCTICAS DE NEGOCIO 1.- Integracin de un representante del cliente en el equipo, para encauzar las cuestiones de negocio del sistema de forma directa, sin retrasos o prdidas por intermediacin. 2.- Adoptar el juego de la planificacin para centrar en la agenda el trabajo ms importante. 3.- Entregas regulares y frecuentes para satisfacer la inversin del cliente. 4.- Ritmo de trabajo sostenible, para terminar la jornada cansado pero no agotado.
Scrum
Scrum define mtodos de gestin y control para complementar la aplicacin de otros mtodos giles como XP que, centrados en prcticas de tipo tcnico, carecen de ellas. Los principios de Scrum son:
Reuniones diarias
Qu has hecho desde la ltima revisin? Qu obstculos te impiden cumplir la meta? Qu vas a hacer antes de la prxima reunin? Iteraciones de desarrollo de frecuencia inferior a un mes, al
final de las cuales se presenta el resultado a los externos del equipo de desarrollo, y se realiza una planificacin de la siguiente iteracin, guiada por cliente.
Scrum
AM (Agile Modeling)
Agile Modeling es la presentacin de un nuevo enfoque para realizar el modelado de sistemas,(diseo) y basado en los principios de los mtodos giles remarca la conveniencia de reducir el volumen de la documentacin. (Amber S. Agile Modeling: Effective Practices for Extreme Programming and the Unified Process)
Fomento de la comunicacin abierta. Trabajo en torno a una visin compartida. Apoderar a los integrantes del equipo (empowerment) Establecimiento de responsabilidades claras y compartidas. Centrar el objetivo en la entrega de valor para el negocio. Permanecer giles y esperar e cambio. Invertir en calidad. Aprender de la experiencia.
reas de trabajo en las que se usan mtodos determinados (Gestin de proyecto, de riesgos y de la mejora del talento)
Ideas que dan soporte a los principios y disciplinas de MSF y se muestran a travs de prcticas especficas contrastadas. Prcticas que han demostrado su efectividad en proyectos en diferentes condiciones de entornos reales Prcticas opcionales, sugeridas por el modelo.
Recomendaciones
Modelo o Disciplina
Modelo de procesos
Concepto Clave
Prctica Contrastada
Recomendac.
Uso de facilitadores externos Creacin de una BD de riesgos Est relacionado
Disposicin al aprendizaje
Gestin de riesgos
En 2005, el desarrollo del nuevo producto de Microsoft Visual Studio 2005 Team System ha ganerado la evolucin de MSF hacia la nueva versin 4.0 con dos lneas paralelas:
Microsoft Solutions Framework (MSF) for Agile Software Development. Microsoft Solutions Framework (MSF) for CMMI Process Improvement.
94
Desarrollo iterativo. Gestin de requisitos. Uso de arquitecturas basadas en componentes. Uso de tcnicas de modelado visual. Verificacin continua de la calidad. Gestin y control de cambios.
Roles: analista de sistemas, diseador, diseador de pruebas, roles de gestin y roles de administracin. Actividades: RUP determina el trabajo de cada rol a travs de actividades. Cada actividad del proyecto debe tener un propsito claro, y se asigna a un rol especfico. Las actividades pueden tener duracin de horas o de algunos das; y son elementos base de planificacin y progreso. Artefactos: Son los elementos de entrada y salida de las actividades. Son productos tangibles del proyecto. Las cosas que el proyecto produce o usa para componer el producto final (modelos, documentos, cdigo, ejecutables) Disciplinas: son contenedores empleados para organizar las actividades del proceso. RUP comprende 6 disciplinas tcnicas y 3 de soporte. Tcnicas: modelado del negocio, requisitos, anlisis y diseo, implementacin, pruebas y desarrollo. Soprte: gestin de proyecto, gestin de configuracin y cambio, y entorno. Flujos de trabajo: son el pegamentode los roles, actividades, artefactos y disciplinas, y constituyen la secuencia de actividades que producen resultados visibles.
96
1.- Inicio. Es la fase de la idea, de la visin inicial de producto, su alcance. El esbozo de una arquitectura posible y las primeras estimaciones. Concluye con el hito de objetivo. 2.- Elaboracin. Comprende la planificacin de las actividades y del equipo necesario. La especificacin de las necesidades y el diseo de la arquitectura. Termina con el hito de Arquitectura. 3.- Construccin. Desarrollo del producto hasta que se encuentra disponible para su entrega a los usuarios. Termina con el hito del inicio de la capacidad operativa. 4.- Transicin. Traspaso del producto a los usuarios. Incluye: manufactura, envo, formacin, asistencia y el mantenimiento hasta lograr la satisfaccin de los usuarios. Termina con el hito de entrega del producto.
97
Tamao
Criticidad
Dinamismo
Personal
Cultura
98
Personal
% Junior 40 30 20 10 0 % Senior y Master 15 20 25 30 35 30 3 10 30 70 100 300 50 30 10 90 50 5 10
Criticidad
Prdidas posibles
Dinamismo
% Modific. Requisitos / mes 1
Tamao
Nmero de personas
Cultura
% adaptacin a entornos caticos
99