unidad i. comunicación m.c. juan carlos olivares rojas

347
Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Upload: oscar-acosta-lucero

Post on 02-Feb-2016

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Unidad I. Comunicación

M.C. Juan Carlos Olivares Rojas

Page 2: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

• Este material se distribuye bajo una licencia Creative Commons Reconocimiento 2.5 México. Usted es libre de:

copiar, distribuir y comunicar públicamente la obra

hacer obras derivadas

• Bajo las condiciones siguientes:

Reconocimiento. Debe reconocer y dar crédito al autor original (Juan Carlos Olivares Rojas)

Page 3: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Agenda

1.1 Inicio

1.2 Requerimientos

Page 4: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

IntroducciónIntroducción

• Proyecto: es la integración de una serie de procedimientos y actividades haciendo uso de una metodología definida que permita lograr los objetivos y metas de la manera más eficiente y efectiva.

• El término proyecto implica una actividad futura.

Page 5: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

MetodologíaMetodología• Metodología: conjunto de pasos que nos conducen

a resolver un problema de manera sistemática.

• ¿Cuál es la diferencia con respecto a un algoritmo?

• Que la metodología se utiliza para resolver diversos tipos de problemas. Los algoritmos son precisos, las metodologías no dejan de ser mejores prácticas.

Page 6: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

MetodologíaMetodología• Eficacia hacer las cosas bien.

• Eficiencia hacer más con menos.

• En proyectos existe un trade-off entre lo que es rendimiento de una aplicación (velocidad-cantidad de recursos).

Page 7: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Objetivos y metasObjetivos y metas

• Un objetivo es lo que se aspira o se desea obtener de un proyecto.

• Una meta es una métrica para cuantificar el logro de un objetivo.

• Un objetivo es en general y una métrica en particular.

Page 8: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Elementos de un Proyecto

Page 9: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

InvestigaciónInvestigación

• Para lograr la realización de un proyecto es muy importante que se lleven a cabo una serie de pasos y procedimientos de investigación, los cuales permitirán abrir aún más las perspectivas que tenemos de dicho proyecto.

• ¿Qué es investigar?– Es indagar en búsqueda de la verdad

Page 10: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

InvestigaciónInvestigación

• Los tipos de investigación son:

• Investigación pura o básica: su finalidad es la obtención de nuevo conocimientos. Investigación por amor al arte.

• Investigación aplicada: su finalidad es utilizar el conocimiento obtenido en la investigación en algún producto reutilizable.

Page 11: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Desarrollo tecnológicoDesarrollo tecnológico

• Desarrollo tecnológico: su finalidad es el desarrollo de un prototipo en el que se apliquen nuevas tecnologías y conocimientos

• Investigación documental: aquella que se basa solamente en bibliografía

• Investigación de campo: aquella que se realiza en el lugar de los hechos, que requiere experimentación.

Page 12: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

InvestigaciónInvestigación

• Investigación cualitativa: aquella en la que las variables de investigación se evalúan en base a unidades no numéricas. (Investigaciones de Ciencias Sociales)

• Investigación cuantitativa: aquella cuyas variables pueden ser cuantificadas por medio de unidades tangibles (Investigaciones científicas y tecnológicas).

Page 13: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

TareaTarea• Entregar una carpeta física del proyecto en

donde se irán guardando todos los trabajos, a su vez existirá la versión electrónica.

• Investigar métodos (estándares) que permitan organizar la información de la carpeta del proyecto de manera efectiva.

• ¿Qué diferencia existe entre una Carpeta de Proyecto y un Portafolio de Proyecto?

Page 14: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Portafolio de Proyectos

Page 15: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

TareaTarea• Definir un Blog, Wiki o Sitio Web para el

proyecto.

• Diariamente se deberá hacer un registro para visualizar el avance del proyecto al día de hoy.

• Se revisa la forma más no el contenido. El objetivo es tener disciplina al momento de documentar.

Page 16: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Elementos para identificar Elementos para identificar posibles proyectosposibles proyectos

• A continuación se muestran algunos Motivos para desarrollar proyectos (necesidades):

  • Cambios demográficos  • Micromercados  • Volatilidad Corporativa

• Control de Costos

Page 17: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

NecesidadesNecesidades

• Consumismo  • Crisis Educativas  • Ambientalismo  • Calidad*  • Globalización  • Regularizaciones

Investigación sobre Calidad del Software y Fábricas de Software

Page 18: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Áreas de oportunidadesÁreas de oportunidades• Problemas con algún elemento actual

• Deseos de explotar nuevas necesidades  • Incremento de la competencia  • Hacer más efectivo el uso de la información  • Crecimiento organizacional  • Unión o adquisición corporativa  • Cambios en el ambiente o en el mercado

Page 19: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Proceso para el Desarrollo de Proceso para el Desarrollo de InventivasInventivas

• Los proyectos se originas de inventos, los cuales son ideas materializadas.

• Aun no se conoce el substituto de una buena idea.

• Las ideas constituyen el primer acercamiento, a la realidad que habrá de investigarse.

Page 20: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fuente de IdeasFuente de Ideas• Las experiencias individuales

• Los materiales escritos (libros, periódicos, revistas y tesis)

• Las conversaciones personales y las observaciones de hechos

• Las creencias y aún los presentimientos.

Page 21: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

¿Cuándo surgen las Ideas?¿Cuándo surgen las Ideas?

• Al leer una revista de divulgación popular

• Al estudiar en la casa

• Al ver televisión

• Al charlar con otras personas

• Al recordar algo vivido, etc.

Page 22: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

IdeasIdeas

• Las buenas ideas necesitan de un ambiente fertilizador.

• Las ideas surgen en ocasiones de problemas y en otras de necesidades.

• Una necesidad es vital. Un problema no.

Page 23: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

IdeasIdeas

• La mayoría de las ideas iniciales son vagas y requieren analizarse cuidadosamente para que sean transformadas en planteamientos más precisos y estructurados.

• Se necesita de 1% de inspiración y 99% de sudoración. Thomas Alva Edison

Page 24: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

IdeasIdeas

• Cuando una persona desarrolla una idea de investigación debe familiarizarse con el campo de conocimientos donde se ubica la idea (fundamentos o marcos teóricos).

• En el caso de proyectos empresariales se debe conocer la cultura organizacional (antecedentes)

Page 25: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

IdeasIdeas

• Para adentrarnos en el tema es necesario conocer los estudios, investigaciones y trabajos anteriores (estado del arte). Generalmente se resume en una tabla comparativa.

• No reinventar la rueda. Salvo que sea más costoso o inviable la solución.

Page 26: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Decidir el tipo de InvestigaciónDecidir el tipo de Investigación

• Tema ya investigados, estructurados y formalizados.

• Temas ya investigados pero menos estructurados y formalizados.

• Temas pocos investigados y estructurados.

• Temas no investigados.

Page 27: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Factores que restringen el éxito Factores que restringen el éxito de un Proyectode un Proyecto

• Alcance

• Costo

• Programa

• Satisfacción del Cliente

Page 28: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Factores que restringen el éxito Factores que restringen el éxito de un Proyectode un Proyecto

• Del grado de familiaridad de los desarrolladores con el proyecto (empeño y habilidades).

• La complejidad del mismo.

• La existencia de estudios previos.

Page 29: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ActividadActividad• Realizar una lluvia de ideas (Brainstorm) o

cualquier otra técnica de discusión grupal para empezar el desarrollo de inventivas. (25%)

• De las ideas obtenidas seleccionar tres ideas (5%).

• Revisar las ideas anteriores y el material adicional y escoger una sola idea (70%).

Page 30: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Técnicas de Discusión Grupal

• El proceso de resolución de problemas tiene tres fases según Mintzberg: – identificar el problema– desarrollar diferentes soluciones posibles– evaluar las posibles soluciones y seleccionar la

más adecuada.

• Otros autores han agregado dos más fases: – ejecutar la solución deseada– evaluar los resultados de la ejecución de dicha

solución.

Page 31: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Técnicas de Discusión Grupal

• Para la toma de decisiones grupales, existen varios métodos que se pueden seguir como: – votación (la decisión más votada gana),– votación aprobatoria (cada miembro puede votar por más

de una opción, la opción más votada es la que gana), – suma de rangos (se otorgan ponderaciones a las

opciones, siendo 1 para la menos votada, este proceso se realiza por participante, gana la opción con mayor puntaje) y

– desviación mínima (se selecciona la opción que tenga mayor puntaje y cuya desviación sea mínimo).

Page 32: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Técnicas de Discusión Grupal

• Estas técnicas se pueden mejorar a través de otras técnicas que ayudan a la toma de decisiones que a continuación se mencionan:– lluvia de ideas, – rueda de mesa (similar a la lluvia de ideas pero

cada quien tiene un turno para exponer sus ideas de forma cíclica),

– análisis FODA (Fortalezas Oportunidades Debilidades Amenazas).

Page 33: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Técnicas de Discusión Grupal

• La técnica del grupo nominal reúne características de la tormenta de ideas y la rueda de mesa, su funcionamiento es el siguiente: – cada miembro del grupo escribe el mayor número de

soluciones posibles de manera anónima; – un moderador recoge todas las respuestas, las presenta

al grupo escribiéndolas en un panel, tratando de agrupar aquellas soluciones que sean afines;

– las ideas propuestas son discutidas por el grupo hasta que sean suficientemente claras;

Page 34: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Técnicas de Discusión Grupal

– Cada miembro del grupo, anónimamente, otorga una puntuación a cada solución ya sintetizada, en función de lo apropiada que le resulte cada una para resolver el problema que se discute;

– por último, el moderador resume las puntuaciones conseguidas por cada solución alternativa, de forma que se puede establecer una jerarquía de adecuación de las diferentes propuestas de solución en función de la opinión grupal.

Page 35: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Técnicas de Discusión Grupal

• Para problemas más complejos se puede utilizar la técnica Philips 66. La cual consiste en hacer grupos de 6 personas que discutirán el problema por 6 minutos.

• Otra técnica compleja es el Proceso Delphi, la cual se utiliza cuando se desea aislar los miembros del grupo para aislar sus opiniones; o bien, cuando se necesita la opinión de expertos los cuales se encuentran alejados geográficamente.

Page 36: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Técnicas de Discusión Grupal

• El proceso Delphi es el siguiente: – Se elabora un primer cuestionario para recoger

información, posibles soluciones y causas del problema, este cuestionario se envía a los expertos, que los responde individual y anónimamente;

– se analizan los datos recogidos en el primer cuestionario categorizando las respuestas en función de su parecido y se elabora con esto un segundo cuestionario en el que se incluyen las alternativas más elegidas;

Page 37: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Técnicas de Discusión Grupal – se envía el segundo cuestionario en el que

cada experto ordena las diferentes alternativas en función de su adecuación, asignándoles un número y argumentando sus respuestas;

– se analizan las valoraciones del segundo cuestionario y con ello se elabora un tercer cuestionario dónde sólo aparecen las opciones más votadas y un resumen de los comentarios más importantes;

Page 38: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Técnicas de Discusión Grupal

– los expertos contestan el tercer cuestionario evaluando cada alternativa;

– se elaborará el informe final con los resultados obtenidos, este informe servirá a la persona encargada para tomar la decisión final.

Page 39: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Anexos Desarrollo de Anexos Desarrollo de InventivasInventivas

Ideas para definir Ideas

Page 40: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Avances en Ciencias Avances en Ciencias de la Computación de la Computación

20082008

Page 41: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

IntroducciónIntroducción

• La computación como ciencia se actualiza a pasos agigantados.

• La empresa de consultoría Gartner define una gráfica denominada Hiperciclo, en las cuales mide el avance de las tecnologías emergentes.

• En esta presentación se muestran las gráficas del 2006 y del 2012

Page 42: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

IntroducciónIntroducción

• La curva del hiperciclo tiene los siguientes elementos:– Disparo de la tecnología (1)– Pico de expectaciones infladas (2)– Desilusión (3)– Grado de encantamiento (4)– Productividad plena (5)

Page 43: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Introducción

Page 44: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Hiperciclo 2006Hiperciclo 2006

• Disparo de la tecnología:– Virtualización de aplicaciones para PC– Procesadores multinúcleo– Particiones de seguridad virtualizada– Suites E-learning– Suites de gestión (BPM)

Page 45: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Hiperciclo 2006Hiperciclo 2006

• Pico de expectaciones infladas:– Aplicaciones de outsourcing– Aplicaciones de almacenes de datos– Redes inalámbricas de tercera generación– WiMAX– Linux en el escritorio– Tablet PC– Suites Empresariales Inteligentes– Servicios de gestión de impresión

Page 46: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Hiperciclo 2006Hiperciclo 2006

• Desilusión:– Operaciones con llave pública– Portales básicos empresariales– CRM– BI– Lectores de huella digital– Clientes ligeros– Puntos de acceso WiFi

Page 47: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Hiperciclo 2006Hiperciclo 2006

• Encantamiento:– Tecnologías de manejo de contenido– ERP– Outsourcing de infraestructura de TI

Page 48: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Hiperciclo 2012Hiperciclo 2012

• Disparo de tecnologías:– Computación cuántica– Ajax offline– Traducción de voz a voz– Arquitectura orientadas a eventos– Inteligencia colectiva– Arquitecturas dirigidas por modelos– RSS Empresarial

Page 49: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Hiperciclo 2012Hiperciclo 2012

• Disparo de tecnologías (continuación):– Web semántica corporativa– Reconocimiento del habla para dispositivos móviles

• Pico de expectaciones infladas– IPv6– Mashup– Web 2.0

Page 50: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Hiperciclo 2012Hiperciclo 2012

• Pico de expectaciones infladas:– “Folksonomías”– Papel digital– Análisis de redes sociales

• Desilusión:– RFID– Grid Computing– Ajax

Page 51: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Hiperciclo 2012Hiperciclo 2012

• Pagos biométricos• Wikis• Blog corporativo• Redes de sensores y mallas• Tablet PC• Pagos por dispositivos móviles• Tecnologías de localización• Mensajería Instantánea Empresarial

Page 52: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Hiperciclo 2012Hiperciclo 2012

• Encantamiento:– Aplicaciones basadas en localización– Smartphone

• Productividad– VoIP– Internal Web Services

Page 53: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

BibliografíaBibliografía

• Enciso, Enrique (2007). “Tendencias y Predicciones Tecnológicas y Sociales”, Revista RED, Junio, pp. 21-27.

Page 54: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Innovación en TIInnovación en TI

Page 55: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Empresas TI Empresas TI

• cFares es un buscador de precios de boletos de avión cubriendo la mayoría de las rutas en el mundo. http://www.cfares.com/

• iPolipo: resuelve el problema de agendar juntas, se requiere un promedio de 7 correos electrónicos para confirmar una cita, lo que representa 100 horas al año en una empresa promedio. http://www.ipolipo.com/

Page 56: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Empresas TIEmpresas TI

• MOG: sistema que con autorización del usuario, permite acceder a una PC y catalogar toda la música disponible. En base con otros usuarios se sugieren nuevos títulos de canciones, permite formar una red social. http://mog.com

• Startforce: Sistema Operativo desde la Web. http://www.startforce.com/

Page 57: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Empresas TIEmpresas TI

• YouSentit: Empresa que permite la entrega digital de documentos para personas con poco conocimiento de computación, permite llevar el seguimiento de los documentos. http://www.yousendit.com/

• Payscale: los usuarios pueden definir posiciones laborales mediante habilidades y experiencias y compararlas en base a otras personas en otras regiones. http://www.payscale.com/

Page 58: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Empresas TIEmpresas TI

• SimulScribe: se dedica a convertir mensajes de voz en texto con un mercado potencial de 5,000 millones de dólares. Se cobra 0.25 dólares por correo de voz. http://www.simulscribe.com/

• SIBEAM: red inalámbrica multi gigabit de 60 GHz para transmitir video de alta definición sin importar su comprensión. http://www.sibean.com/

Page 59: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ReferenciasReferencias

• Enciso, Enrique. Innovación: clave para permanecer en el juego (2007). Revista Software Red, Septiembre de 2007, pp. 13.

Page 60: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Líneas de Líneas de Investigación 2008Investigación 2008

Page 61: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Áreas de InterésÁreas de Interés

• Sistemas Distribuidos

• Cómputo móvil

• Tecnologías Web

• Redes inalámbricas

• Bases de Datos

Page 62: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Líneas de InvestigaciónLíneas de Investigación

• Sistemas basados en localización (LBS) y búsquedas contextuales.

• Sistemas asíncronos basados en tecnologías SMS/MMS

• Programación de Sistemas usando .NET Compact Framework y J2ME

No necesariamente van en orden de interés

Page 63: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Líneas de InvestigaciónLíneas de Investigación

• Sistemas de intermediarios (proxys, middleware)

• Sistemas Distribuidos Inteligentes (Agentes Móviles)

• Transcodificación multiformato y Acaparamiento para dispositivos Móviles.

Page 64: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Líneas de InvestigaciónLíneas de Investigación

• Accesibilidad de recursos Web en dispositivos móviles (W3C, WCAG, MobileOK)

• Minería de datos para y en dispositivos móviles.

• Mecanismos de Precarga de Dispositivos Web.

Page 65: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Líneas de InvestigaciónLíneas de Investigación

• Servicios Web y P2P en dispositivos móviles

• Cómputo paralelo en dispositivos móviles (Grid, Clusters).

• Sistemas Operativos para dispositivos móviles y empotrados

• Virtualización

Page 66: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Líneas de InvestigaciónLíneas de Investigación

• Seguridad en dispositivos móviles.

• Desarrollos de Sistemas Adaptativos en Redes Inalámbricas (Redes de 3G, Redes de Sensores).

• Metodologías para el desarrollo de aplicaciones en entornos de computación con recursos limitados.

Page 67: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Líneas de InvestigaciónLíneas de Investigación

• Cómputo móvil en la educación

• Multimedia en dispositivos de cómputo limitado

Page 68: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Trabajos actualesTrabajos actuales

• Metodologías de Desarrollo en Computación con Recursos Limitados (ISwM):– “Desarrollo de Interfaces Adaptativas para Dispositivos

Móviles” (ITM)*– “Diseño de un Lenguaje para Modelar Redes de

Computadoras” (ITM)– “Utilización del Patrón MVC (Modelo‐Vista‐Controlador)

para el Desarrollo de Aplicaciones en Dispositivos Móviles” (ITM)*

– “Estudio y Aplicación de Patrones Arquitectónicos en la Construcción de Software para Dispositivos Móviles”

Page 69: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Trabajos actualesTrabajos actuales

• Proxy de accesibilidad móvil (UNID)*

• Weblog mininig en dispositivos móviles (UNID)*

• Virtualización de recursos y aplicaciones en dispositivos móviles (UNID)*

• Nuevas Técnicas de DSS.

Page 70: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Trabajos actualesTrabajos actuales

• Medios audiovisuales para la autenticación de sistemas de cómputo (UNID)*

• Herramienta para validar la colocación de puntos de acceso en redes inalámbricas utilizando diagramas de voronoi. (UNID)*

• “Plataforma educativa utilizando tecnologías Web 2.0” (ITM).

Page 71: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Trabajos actualesTrabajos actuales• Seguridad en Dispositivos Móviles utilizando

RSA (UVAQ)*

• Redes en Malla (802.11s) *

• Redes 3G en México: Aplicaciones y Servicios *

• Redes Inalámbricas de Banda Ancha: WiMax y 802.20 (WiBro) **

Page 72: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Propuestas de Trabajos Propuestas de Trabajos • Suite para la Conversión de Código de

Aplicaciones de Computadoras Personales a Aplicaciones de Cómputo Móvil (2Mobi)– “Traductor de J2ME a .NET CompactFramework”– “Traductor de .NET CompactFramework a J2ME”– “Traductor de J2SE a J2ME”– “Traductor de J2EE a J2ME”– “Traductor de .NET Framework a .NET CompactFramework”

Page 73: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Propuestas de TrabajosPropuestas de Trabajos

• Transcodificador de contenidos Web multiformatos

• Algoritmo para determinar de manera efectiva los recursos que se deben precargar en un sitio Web.

• Web Proxy caché con soporte para operaciones en modo desconexión para J2ME

Page 74: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Propuestas de TrabajosPropuestas de Trabajos

• Editor de páginas Web accesibles para dispositivos móviles

• Comunicación entre procesos IPC en máquinas virtuales

• Algoritmo de enrutamiento para dispositivos móviles utilizando técnicas de agrupamiento y distancias cortas

Page 75: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Propuestas de TrabajoPropuestas de Trabajo

• Modificación al protocolo SMTP para permitir la eliminación de correo no visto.

• Videostreaming en redes celulares de 2.5G de manera descentralizada

• Localización geográfica de recursos de manera descentraliza.

Page 76: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Propuestas de Trabajo

• Lenguaje para Modelar LBS

• Extensiones de UML para modelar aplicaciones LBS

• Búsquedas Semánticas en LBS.

Page 77: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fin AnexosFin Anexos

Page 78: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ActividadActividad

• Realizar el marco teórico del tema seleccionado (sugerencia utilizar metodología PBL) (60%):

1.Leer y analizar el problema

2.Enumerar hipótesis, ideas y presentimientos

3.Anotar los factores conocidos

Page 79: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ActividadActividad

4. Anotar los factores desconocidos

5. Planifique la investigación

6. Emita una declaración del problema.

7. Adquirir información (investigación).

8. Presentar el resultado de la investigación (solución).

• Fecha de entrega: Miércoles 27 de agosto de 2008.

Page 80: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ActividadActividad

• Realizar el estado del arte del proyecto. Entregar tabla comparativa (50%) y descripción de los trabajos relacionados (50%).

• Fecha de entrega: Jueves 28 de agosto de 2008.

Page 81: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Calidad del SoftwareCalidad del Software

• El objetivo fundamental del Desarrollo Estructurado de Proyectos es lograr la calidad del software.

• Por calidad se entienden muchas cosas. Para nuestro curso lo entenderemos como realizar 100% bien las cosas en el menor tiempo posible.

Page 82: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Calidad de SoftwareCalidad de Software

• La calidad hace referencia intrínseca a eficacia y eficiencia.

• ¿Qué tiene más calidad un “Vochito” o un BMV?

• Los dos tienen igual calidad si cumplen con los requerimientos (checklist).

Page 83: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Calidad de SoftwareCalidad de Software

• En general la Ing. Sw tiene los objetivos de que el software sea correcto, utilizable y costo-efectivo.

• Sinónimos de calidad es que esté libre de errores. Muchas de las metodologías de software actuales se basan en esta premisa.

Page 84: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Calidad de SoftwareCalidad de Software

• ¿Por qué es difícil lograr la calidad del software?

• El software es un producto intangible el cual se logra a través de un proceso creativo ya que programar es un arte, el cual no puede ser sistematizado del todo.

Page 85: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Calidad de SoftwareCalidad de Software

Page 86: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Calidad de SoftwareCalidad de Software

• ¿Por qué es importante el Desarrollo de Proyectos de forma Metodológica? El software es cada vez más complejo y costosos que se compara con construir un edificio.

• En 1968 se da un hito importante al ocurrir la “crisis del software” y definirse la Ingeniería de Software como tal.

Page 87: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Construcción de una casa Construcción de una casa para “wendo” para “wendo”

Puede hacerlo una sola personaRequiere:

Modelado mínimoProceso simpleHerramientas simples

Page 88: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Construcción de una casaConstrucción de una casa

Construida eficientemente y en un tiempo razonable por un equipoRequiere:

ModeladoProceso bien definidoHerramientas más sofisticadas

Page 89: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Construcción de un rascacielosConstrucción de un rascacielos

No cualquier persona o grupo de persona lo realiza.Imposible sin técnicas de Ingeniería

Page 90: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fábricas de SoftwareFábricas de Software

• Tratan de automatizar los procesos de desarrollo de software tal cual lo realizan las líneas de producción de los sistemas industriales.

• No es nuevo pero actualmente está teniendo mucho éxito. Requiere de mucho esfuerzo. Es un modelo organizacional.

Page 91: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Etapas para el desarrollo de un Etapas para el desarrollo de un proyectoproyecto

• Los proyectos en general presentan 6 etapas que a continuación se describen:

• Detección de necesidades: consiste en determinar los elemento (procesos, equipos, personas, etc.) que son requeridos o no para cumplir los objetivos del proyecto.

Page 92: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Etapas para el desarrollo de un Etapas para el desarrollo de un proyectoproyecto

• Definición del problema: consiste en delimitar las fronteras y el alcance de las necesidades que se desean atender.

• Factibilidad: consiste en definir las posibilidades de éxito de una solución.

9292

Page 93: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Etapas para el desarrollo de un Etapas para el desarrollo de un proyectoproyecto

• Los niveles de factibilidad son: – Operacional – Técnico – Económico

• La decisión de si se realiza un proyecto o no depende del desarrollador y del cliente.

9393

Page 94: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Etapas para el desarrollo de un Etapas para el desarrollo de un proyectoproyecto

• Planeación del proyecto: consiste en establecer una serie de estrategias para resolver un problema, además de las técnicas y el control que se llevará a cabo.

• Elaboración del proyecto: consiste en definir el diseño, la elaboración de módulos y la integración de todos los elementos.

Page 95: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Etapas para el desarrollo de un Etapas para el desarrollo de un proyectoproyecto

• Se deben de dar a conocer en esta etapa todos los distintos tipos de pruebas y técnicas de análisis de resultados para determinar una posible evaluación al final del proyecto.

• Documentación: consiste en explicar como están compuestos los manuales técnicos y de usuario del proyecto.

Page 96: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Ciclo de Vida de un ProyectoCiclo de Vida de un Proyecto

• Identificar una necesidad (1)

• Desarrollar una propuesta de solución (2)

• Realizar el proyecto (3)

• Terminar el proyecto (4)9696

Page 97: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Ciclo de Vida de un Proyecto

Page 98: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Ciclo de Vida de un ProyectoCiclo de Vida de un Proyecto

• Un proyecto puede comenzar con un SDP (Solicitud de Propuesta, RFP Request For Proposal) de un cliente.

• Un SDP es un documento en el cual se describe la problemática o necesidad de la empresa y se somete generalmente a concurso la solución.

9898

Page 99: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Ciclo de Vida de un ProyectoCiclo de Vida de un Proyecto

• En la mayoría de las ocasiones el SDP no existe por lo cual se debe de hacer un análisis previo para plantear la solución.

• Una vez obtenido el SDP el proyecto inicia formalmente a través de un contrato*

9999

Page 100: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Verdadero Ciclo de Verdadero Ciclo de Vida del Desarrollo de Vida del Desarrollo de

un Proyectoun Proyecto

Page 101: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Primera fasePrimera fase

Page 102: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Segunda faseSegunda fase

Page 103: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Tercera faseTercera fase

Page 104: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Cuarta faseCuarta fase

Page 105: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Ejemplo de Metodologías

• Problema: El profesor se encuentra actualmente ante una necesidad de extrema importancia. Necesita realizar una corbata para ir a una junta en donde se encontrarán altos empresarios del sector informático, el detalle es que no sabe a ser un nudo de corbata

• ¿Cómo podría resolver el problema?

Page 106: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Ejemplo de Metodologías• La solución más fácil es realizar outsorcing (que

lo hagan otros).

• Sino se puede, se deberá realizar en base a tres formas básicas de solución de problemas:

• Conocimiento

• Experiencia

• Sentido Común

Page 107: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Ejemplos de Metodologías

• La forma más fácil es a través de una metodología para realizar nudos de corbatas como la planteada en http://www.nudo-de-corbata.com/

• Lo primero que se tiene que saber es si debe ser un tipo especial de corbata o no. Los tipos pueden ir desde nudo de corbata simple, doble, windsor, medio windsor, nudo pequeño.

Page 108: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Simple

Page 109: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Windsor

Page 110: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Medio Windsor

Page 111: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Nudo pequeño.

Page 112: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Nudo Cruzado

Page 113: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Exposición de Metodologías

• Compartir documentos de sus presentaciones con sus compañeros.

Page 114: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Problemas de Comunicación

Page 115: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Quiz 0

• Este quiz no vale, pero aplica para la metodología de trabajo.

• Se debe cortar una hoja tamaño carta en 4 partes, utilizar un pedazo y poner el nombre o matricula en ese pedazo.

• Se contestarán pregunta por pregunta, en el orden en que van a las preguntas.

Page 116: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Quiz 0• ¿Cuál es el recurso más importante de cualquier

proyecto?

• ¿Qué dice la Ley de Brooks en cuestión de los proyectos?

• ¿Qué es el RAD?

• Describe un modelo de ciclo de vida del desarrollo de software

Page 117: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Quiz 0

• ¿Qué elementos incluye la etapa de construcción en el desarrollo de software?

• ¿En qué consiste la fase de transición de un proyecto?

• ¿En la fase de elaboración el flujo de trabajo de análisis se ha concluido?

Page 118: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Metodologías de Desarrollo de Metodologías de Desarrollo de SoftwareSoftware

• Las metodologías de software son un conjunto de “mejores prácticas” que si no se llevan a la práctica no sirven de nada.

• El factor humano es el recurso más importante de cualquier proyecto de software.

Page 119: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Metodologías de Desarrollo de Metodologías de Desarrollo de SoftwareSoftware

• Por ejemplo, la Ley de Brooks: Si se aumenta un programador más se retrasa el proyecto mientras se explica que hay que hacer.

• El proceso de desarrollo de software implica cuatro etapas:

111199

Page 120: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Ley de Brooks

Page 121: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Metodologías de Desarrollo de Metodologías de Desarrollo de SoftwareSoftware

– Especificación– Desarrollo– Evaluación– Evolución

• El desarrollo de software se basa en modelos, siendo los más representativos:

121211

Page 122: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Metodologías de Desarrollo de Metodologías de Desarrollo de SoftwareSoftware

• Cascada (clásico)• Construcción de prototipos• Espiral• RAD (Desarrollo rápido de aplicaciones)

• Cada uno de estos modelos tiene sus respectivas fases que pueden ser muy similares entre sí.

121222

Page 123: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Modelos de Ciclo de VidaModelos de Ciclo de Vida

121233

Cascada

Page 124: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Modelo Ciclo de Vida en Cascada Modelo Ciclo de Vida en Cascada ActualActual

• Comunicación:– Inicio del Proyecto– Recopilación de Requerimientos

• Planeación:– Estimación– Itinerario– Seguimiento

121244

Page 125: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Modelo de Ciclo de Vida en Modelo de Ciclo de Vida en Cascada ActualCascada Actual

• Modelado– Análisis– Diseño

• Construcción– Código– Prueba

121255

Page 126: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Modelo de Ciclo de Vida en Modelo de Ciclo de Vida en Cascada ActualCascada Actual

• Despliegue:– Entrega– Soporte– Retroalimentación

• En el modelo iterativo se repiten algunas fases al igual que en espiral.

121266

Page 127: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Modelo de Ciclo de Vida en Cascada Modelo de Ciclo de Vida en Cascada ActualActual

Page 128: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Flujos de Trabajo de las Etapas

0 10 20 30 40 50 60 70 80 90 100

Análisis

Diseño

Implementación

Despliegue

Inicio

Page 129: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Flujos de Trabajo de las Etapas

0 10 20 30 40 50 60 70 80 90 100

Análisis

Diseño

Implementación

Despliegue

Elaboración

Page 130: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Flujos de Trabajo de las Etapas

0 10 20 30 40 50 60 70 80 90 100

Análisis

Diseño

Implementación

Despliegue

Construcción

Page 131: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Flujos de Trabajo de las Etapas

Transición

0 10 20 30 40 50 60 70 80 90 100

Análisis

Diseño

Implementación

Despliegue

Page 132: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Modelo IterativosModelo Iterativos

Page 133: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Modelo en EspiralModelo en Espiral

131333

Page 134: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ActividadActividad

• Investigar dos metodologías de desarrollo de software por cada persona:

• MOPROSOFT

• Open UP (RUP)

• CMMI 131344

Page 135: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ActividadActividad• Six Sigma

• TSP/PSP

• Métodos Ágiles (XP eXtreme Programming)

• MSF

• ITIL131355

Page 136: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ActividadActividad

• De las metodologías que se les hayan asignado, preparar una presentación donde se exprese brevemente la metodología de manera muy general (80%).

• Una vez realizada todas las presentaciones, redactar un escrito en el que se indique que metodología es la que mejor aplica para el proyecto a desarrollar (20%). 1313

66

Page 137: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Rúbrica de PresentacionesRúbrica de Presentaciones

• Vestimenta formal: 10%

• Material de Entrega: 10%

• Contenido de la presentación: 70%

• Presentación fluida sin lectura: 20%131377

Page 138: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Radiografía de la Radiografía de la Industria del Software Industria del Software

en Méxicoen México

¿Por qué son importantes las metodologías de desarrollo de

software? 131388

Page 139: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Tipos de OrganizaciónTipos de Organización

Page 140: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Esquema de ContrataciónEsquema de Contratación

Page 141: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

EdadEdad

Page 142: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

EscolaridadEscolaridad

Page 143: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

GéneroGénero

Page 144: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Antigüedad Antigüedad

Page 145: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

SalariosSalarios

Page 146: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

SalariosSalarios

Page 147: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

SalariosSalarios

147147

Page 148: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Salario InternacionalSalario Internacional

Page 149: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Salario Tipo de OrganizaciónSalario Tipo de Organización

Page 150: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Salario por FunciónSalario por Función

Page 151: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Salario por Rango EdadSalario por Rango Edad

Page 152: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Salario Grado de EstudiosSalario Grado de Estudios

Page 153: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Conocimiento y HabilidadesConocimiento y Habilidades

Page 154: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Conocimiento y HabilidadesConocimiento y Habilidades

Page 155: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

PlataformasPlataformas

Page 156: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

BDBD

Page 157: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Otras habilidadesOtras habilidades

Page 158: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

CertificacionesCertificaciones

Page 159: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

CertificacionesCertificaciones

Page 160: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Request For Proposal

• Solicitud de Propuesta 1:

• Desarrollar un sistema de cómputo móvil para la ayuda en la toma de requerimientos de proyectos de software.

• El sistema deberá sincronizarse con un servidor en donde se centralizará la información y podrá compartirse con otros a través de un portal Web.

Page 161: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Request For Proposal

• El Sistema de cómputo móvil deberá tener la capacidad de implantar las técnicas de obtención de requerimientos más comunes (cuestionarios, encuestas, prototipos, FODA, FURPS, etc.) y plasmarlo en una lista de requerimientos que permita obtener un diccionario de datos y algún modelo visual como los diagramas de casos de uso.

Page 162: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Request For Proposal

• Solicitud de Propuesta 2:

• Realización de un sistema LBS que permita conocer la ruta “ideal” entre dos puntos de la ciudad de Morelia para utilizarse en sistemas de Taxi.

• La aplicación deberá de ser de preferencia para un dispositivo móvil con GPS o 3G.

Page 163: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Request For Proposal• Otra forma de realizarse es a través de un

“mashup” para la Web utilizando la API de Google Map o Google Earth.

• Se deberá calcular costos utilizando la información espacial disponible.

• Se excluyen elementos como tráfico, manifestaciones y otra información no disponible en el modelo.

Page 164: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ActividadActividad

• Lectura del Artículo: “La Catedral y el Bazar”.

• Realizar en forma grupal una presentación de los puntos más relevantes (80%)

• De forma personal escribir los tres principios que más llamaron mi atención.

161644

Page 165: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

La Catedral y el Bazar

• Aquí irán los puntos principales del artículo

Page 166: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Actividad

• Instalar GNU Fortran en Windows y/o Linux en parejas y traer una computadora por equipo. Los equipos serán de dos personas cómo máximo (cada equipo es responsable de su computadora).

• Dar una leída algún manual de Fortran 95

• Traer impresa al menos dos hojas en formato horizontal de 80 columnas x 25 Filas.

Page 167: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Actividad

• Se deberá entregar el Lunes en el salón de clases.

• Se tendrán actividades de “laboratorio” en el salón de clases en espera de que se nos asigne un laboratorio fijo.

• Para el jueves: instalar y aprender python

Page 168: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Actividad

• El buen estilo de codificación trae como consecuencia una mejor reestructuración del código lo cual lo hace menos propenso a cometer errores y más fácil de mantener.

• El término codificación hace hincapié a codificar ciertos “datos” en un formato en específico.

Page 169: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Actividad

• En los primeros lenguajes de programación como las computadoras eran escasas y costosas, se realizaban muchas pruebas de escritorio, antes de codificar un programa, este se escribía en un formato especial llamado hoja de control tabular, en la cual se escribían en cada celda un carácter de control, de esta forma se podían hacer las perforaciones en una tarjeta perforada.

Page 170: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Actividad

Page 171: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Actividad

Page 172: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Actividad

Page 173: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Actividad

Page 174: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Actividad• Desarrollar un programa en Fortran que permita

calcular las raíces de una ecuación de segundo grado utilizando fórmula general.

• El programa deberá de validar las entradas, indicando si las raíces obtenidas son imaginarias o reales.

• Dicho programa se hará en la hoja tabular y se probará a lápiz y papel.

Page 175: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Actividad• Una vez realizada la prueba de escritorio, se tendrá

hasta tres oportunidades de poder correr el programa en la computadora.

• Si corre a la primera, se tendrá un 100, a la segunda 90, tercera 80, después se tendrá 70 siempre y cuando se entreguen la hoja de control y se corrija el error.

• A continuación se presenta un pequeño resumen de Fortran.

Page 176: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Es el lenguaje de programación de computadoras más antiguo. Se originó en 1957 por IBM.

• El nombre viene de Formula Translator, el cual se orientó a cálculos científicos.

• Existen varios compiladores de Fortran, en este curso se utilizarán el GNU Fortran.

Page 177: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Existen varios dialectos de FORTRAN siendo los más representativos, Fortran IV, Fortran 77, Fortran 95 y Fortran 2003.

• La versión manejada en este curso es el compilador g95 que también incluye aspectos de la versión 2003.

Page 178: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Una vez instalado el compilador, los programas se editan utilizando un editor de texto plano y compilando desde línea de comandos.

• Los archivos de código fuente deben de tener la extensión .f o .for; existen algunos compiladores que reconocen otras extensiones.

Page 179: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• El proceso de compilación se realiza identificando la carpeta bin y se ejecuta el comando:

• >_ g95 archivo.f –o ejecutable

• Donde con la opción –o se renombra el ejecutable en caso contrario el archivo ejecutable pasará a llamarse a.exe

Page 180: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• La estructura de un programa es la siguiente:

• C Estructura de un programa en Fortran• Program nombre• Bloque de instrucciones• End

• !Declaraciones de funciones y rutinas

Page 181: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Nótese que el programa en sus palabras clave pueden ir en mayúsculas y minúsculas. Se acostumbra que todas las palabras clave se hagan en mayúsculas.

• También es ampliamente recomendable poner comentarios, los cuales inician con la letra C al inicio de renglón o bien con ! En cualquier parte del código.

Page 182: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Es de suma importancia dejar el programa de forma tabular, ya que los primeros 6 caracteres están reservados para etiquetas que generalmente son números. Si no se deja dicho espacio el programa no compilará bien.

• En Fortran es posible no realizar programación estructurada por lo que se debe evitar la instrucción GO TO

Page 183: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• El nombre del programa debe de ser un

identificador válido (comenzar con al menos una letra)

• El sistema no es fuertemente tipeado por lo que se pueden utilizar variables sin declararlas.

• Se debe de terminar el programa principal con la instrucción end.

Page 184: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• C Programa hola mundo

• PROGRAM hola

• WRITE(*,*) ‘Hola mundo’ !Pantalla

• END

• Se recomienda sangrar el código. La salida estándar es el monitor y se utiliza la instrucción WRITE.

Page 185: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• La instrucción WRITE tiene dos argumentos, el primero de ellos indica el dispositivo de salida y el segundo formato. Si se utiliza el operador * o bien se omiten los parámetros de la instrucción, se utiliza

Page 186: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Actividad: realizar la lectura de dos números y mostrar el resultado de las 4 operaciones básicas.

• ¿Qué estructuras de programa necesito?

Page 187: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• Se ocupa de una instrucción para leer datos que

es READ(*, *).

• Una vez asignado se necesitan hacer los cálculos para ello se necesitan conocer los operadores aritméticos: +, -, *, / y ** que sirve de exponenciación.

• También se puede utilizar el comando PRINT para imprimir datos en pantalla de forma básica.

Page 188: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Actividad: Desarrollar un programa para calcular el área de un triángulo conociendo solamente la longitud de sus tres lados.

• ¿Qué se necesita? Entender el problema. La fórmula es:

• S = (A + B + C)/2

Page 189: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Donde A, B y C son los lados del triangulo. Después se aplica la fórmula:

• Para ello se necesita el operador SQRT para poder sacar la raíz cuadrada.

• ¿Cómo se garantiza que los lados introducidos sean válidos?

))()(( CSBSASSÁrea

Page 190: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Los datos 1,2 y 3 como longitudes de los lados de un triangulo no forman realmente un triangulo, en cambio los datos 3,4 y 5 si ya que forman un triangulo rectángulo con área de 6 unidades cuadradas.

• La evidencia obvia es garantizar que cada dato no sea 0 o negativo.

Page 191: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• La otra no tan evidente es validar el resultado de las áreas, ya que está no puede ser ni 0 ni negativa.

• Para poder realizar estas acciones se necesita de la instrucción de decisión IF, el cual tiene la siguiente sintaxis IF (expresión) XX, XX, XX

Page 192: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Esta es la vieja sintaxis, la cual salta a la primera etiqueta si el resultado es menor que 0, a la segunda si es igual a 0 y salta a la tercera línea cuando sea mayor a 0.

• La instrucción STOP permite parar un programa.

Page 193: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Las etiquetas generalmente son números y deben ir en la primera columna.

• Actividad: modificar el programa anterior para que permita la introducción de un lado hasta que este sea positivo.

• ¿Qué se necesita un ciclo? Que se puede obtener con un GO TO y una condicional.

Page 194: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• La otra forma de hacer una decisión es con el IF lógico, el cual tiene la sintaxis: IF (expresión) GO TO etiqueta.

• Para ello se necesita conocer los operadores relacionales los cuales son: .GT., .LT., .EQ., .NE., .GE., .LE. Para >,<, =, <>, >= y <= respectivamente.

Page 195: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Algunos compiladores permiten hacer uso de dichos operadores de manera normal.

• Actividad: realizar el factorial de un número. Tomando en cuenta que Fortran no permite recursividad en la gran mayoría de sus versiones.

Page 196: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• El operador + o $ al inicio de una línea de código (6ta columna) indica que la línea continúa de la línea anterior.

• Algunos compiladores limitan la extensión de las sentencias hasta 72 caracteres, dado que las tarjetas perforadas eran de hasta 80 líneas.

Page 197: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• El operador de asignación es =.

• Los operadores lógicos son: .NOT., .AND., .OR., .EQUIV. Y .NEQUIV. Para la negación, conjunción, disyunción, equivalencia y no equivalencia.

• Otras funciones aritméticas son: ABS, MOD, DIV, MAX, MIN, SIN, COS, TAN. Utilizadas en casi todos los lenguajes.

Page 198: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Los tipos de datos básicos en Fortran son:

• INTEGER: enteros

• REAL: decimales

• DOBLE PRECISION: decimales largos

• LOGICAL: lógicos, .TRUE. Y .FALSE.

• CHARACTER: caracateres

• COMPLEX: Complejos como (1,2) CMPLX(-0.5,1.E-3).

Page 199: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Ejemplo de Declaración de Variables:

• INTEGER A• REAL B, C• LOGICAL D

• La instrucción PARAMETER sirve para declarar constantes. PARAMETER (PI=3.14159)

Page 200: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• La instrucción FORMAT recibe la siguiente secuencia de caracteres para especificar el formato de los datos:

• A Cadenas

• I Enteros

• F Decimales

• E Notación Científica

Page 201: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• D Doble Precisión• X Espacio en blanco• / Salto de renglón

• Ejemplos:

• A20: Cadena de 20 caracteres• 5I3: 5 enteros de 3 dígitos cada uno• F3.2 Un decimal con tres dígitos enteros y 2 dígitos

fraccionarios

Page 202: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• 3X: tres espacios en blanco• /// Tres líneas en blanco

• Se pueden utilizar sentencias de decisión doble del tipo: IF (condición) THEN sentencias ELSE sentencias ENDIF.

• Actividad: Realizar un programa para calcular las raíces de una ecuación cuadrada, indicando si son reales o imaginarias las raíces.

Page 203: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• Las subrutinas se llaman con la instrucción

CALL desde el programa principal y se declaran de la siguiente manera:

• SUBROUTINE nombre(parametros)

• !Declaraciones

• RETURN

• END

• Modificar el programa de las raíces utilizando subrutinas

Page 204: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• Las funciones permiten regresar un valor a

diferencia de las subrutinas. Se declaran de la siguiente forma:

• Tipo FUNCTION nombre(parametros)• !Declaraciones• nombre = valor• RETURN• END

Page 205: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• Reescribir el programa Factorial utilizando

una función.

• Realizar un programa que permita jugar “Craps”. Dicho juego consiste en lanzar dos dados (simulación realizada a través de una función que se invoque dos veces) y sumar la puntuación. Si la suma de los dados da 2,3 o 12 el usuario pierde inmediatamente.

Page 206: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• Si la suma da 7 u 11 el usuario gana. Si da

cualquier otra combinación 4,5,6,8,9 o 10, el usuario tiene otra segunda oportunidad.

• El programa debe de pedir al usuario la cantidad de dinero con la que cuenta el usuario. Por cada juego se debe pedir la apuesta. Se debe sumar o restar dependiendo de si ganó o perdió el juego. El juego termina hasta tener 0 pesos o bien que el usuario decida salir.

Page 207: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• Para generar números aleatorio se utiliza la función

RAND(TIME()) que genera un número aleatorio entre 0 y 1 por lo que necesita ser convertido a enteros con INT.

• Los ciclos se pueden realizar de manera estructura con la instrucción:

• DO inicialización, límite, incremento• sentencias• ENDO

Page 208: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• Actividad: realizar un programa que permita

simular una partida de póker. El usuario deberá tener 5 cartas. La simulación consiste en repartir aleatoriamente cartas. Del 1 al 10 las cartas de corazones (donde el 1 representa el as), del 11 al 20 los diamantes (por ejemplo el 13) indica que se sacó el tres de diamantes, del 21 al 30 el trebol, y del 31 al 40 las picas. Los jotos están representados del 41 al 44, donde el 41 representa el joto de corazones y así sucesivamente.

Page 209: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Las reinas están representadas del 51 al 54 (por ejemplo el 52 representa la reina de diamantes), y los reyes están del 61 al 64 (donde el 64 es el rey de picas).

• No se deberán repartir cartas. Se debe indicar si se hizo alguna jugada válida del póker (par, dos pares, tercia, full (tercia, par), póker (4 figuras igual), flor y flor imperial).

Page 210: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Los arreglos se declaran poniendo al final de la declaración de variables, las dimensiones y el tamaño de éstas. Por ejemplo:

• INTEGER A(30) !Arreglo de 30 enteros• CHARACTER*40 N(30) !Arreglo de 30

cadenas de tamaño 40 cada una• REAL T(3,4) !Matriz de 3 filas por 4 columnas

de números decimales.

Page 211: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• Los arreglos inician a partir del subíndice 1.

• Se pueden especificar el rango de los arreglos. Por ejemplo: REAL A(-5:5) !10 elementos.

• La instrucción DATA permite inicializar un arreglo: DATA A/.1,.2,.3/

• Se puede utilizar la instrucción CYCLE para continuar la siguiente iteración de un ciclo y EXIT para salir.

Page 212: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• Se puede acceder a subcadenas definiendo su

rango. Sea la cadena X=‘Morelia’, la instrucción Y=X(1:4) seria equivalente ‘More’.

• El operador // sirve para concatenar cadenas. Otras operaciones son LEN(cad) para determinar el tamaño de una cadena, CHAR(num) regresa el carácter representado por el código ASCII dado. ICHARC(c) regresa el valor númerico ASCII del código.

Page 213: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• La función INDEX(cad1, cad2) regresa la posición en donde se encuentra la subcadena 2 en la subcadena 1.

• Actividad. Realizar un programa que dado los siguientes datos: nombre, apellido paterno, apellido materno y fecha (en formato dd/mm/aaaa) pueda calcular el RFC de dicho usuario.

Page 214: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• El RFC se calcula con la primera letra del apellido paterno, la primera vocal del apellido paterno, la primera letra del apellido materno, la primera letra del nombre, los dos últimos dígitos del año de nacimiento, los dos dígitos que representan el mes, los dos dígitos del día.

Page 215: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• También existen archivos en Fortan. A continuación se muestra un ejemplo.

• PROGRAM ARCHI• PARAMETER(MAXP=20)• CHARACTER*48 PAL(MAXP)•

OPEN(UNIT=9,FILE='PALABRAS.TXT',STATUS='OLD',ERR=99)

Page 216: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• READ(9,*,ERR=99) (PAL(I), I=1,MAXP)• CLOSE(9)• DO I=1,MAXP• PRINT *, I,') ',PAL(I)• ENDDO• STOP• 99 PRINT *, 'ERROR'• END

Page 217: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• El programa inicia definiendo una constante para

indicar un máximo de 20 palabras de tamaño máximo de 48 caracteres.

• La instrucción OPEN abre un archivo, el primer argumento es el identificador de archivo, el segundo es el nombre, el tercero es el estado. Dicho estado puede ser OLD (debe de existir el archivo), NEW (se crea) y REPLACE (reeplza el archivo si existe).

Page 218: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• El último argumento ERR define la etiqueta a la cual se salta si ocurre algún error.

• Se utiliza READ para leer desde el archivo, indicando el ID, el formato y el código de error. Se lee cada palabra desde 1 hasta 20. Posteriormente se imprime cada una de las palabras.

Page 219: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• Actividad: desarrollar un programa en forma que

permita obtener el valor de verdad de cualquier operador lógico. Por ejemplo si las entradas son A=.TRUE. B=.FALSE. C=.FALSE. El programa debe devolver que A .AND. B .AND. C = FALSE, y así con los demás operadores .OR., .NOT., .EQUIV. Y .NEQUIV.

• La salida se deberá guardar en archivos. Se sugiere utilizar evaluación de expresiones por corto circuito.

Page 220: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Actividad: realizar un programa que permita calcular la exponencial de un número dado.

!...

!2!11

2

nxxx

en

x

Page 221: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Actividad: Desarrollar un programa que dado n como entrada permita desarrollar el teorema binomial, dada la siguiente fórmula:

!)1)...(1(

...!2)1(

!11)1( 2

rrnnn

xnn

xn

x n

Page 222: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran• Desarrollar un programa que permita convertir

cualquier número en cualquier base a cualquier otra.

• El algoritmo consiste en convertir el número original a base a diez y después cambiarlo a la nueva base.

• Para convertir a base diez se debe multiplicar el número por su peso en cada uno de sus dígitos.

Page 223: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Fortran

• Para convertir de decimal a cualquier base, se debe dividir el número por la base dejando los residuos almacenados en una parte y la parte entera pasa a ser el siguiente número. El proceso se realiza hasta que el cociente quede a 0. El resultado se obtiene invirtiendo cada uno de los dígitos de residuo obtenidos con la división, para ello se necesita manejar un arreglo.

Page 224: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

RequerimientosRequerimientos

• Un requisito no es otra cosa que una condición o capacidad de un usuario o sistema para satisfacer un objetivo o resolver un problema.

• Los requerimientos pueden ser funcionales (explícitos) o no funcionales (implícitos).

Page 225: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

RequerimientosRequerimientos

• Las características que deben perseguir los requerimientos son: necesario, conciso, completo, consistente, no ambiguo, verificable.

• Los problemas que presenta la Ingeniería de Requerimientos son muchos:

Page 226: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

RequerimientosRequerimientos

• Los requerimientos no son obvios y provienen de muchas fuentes.

• Son difíciles de expresar en palabras.

• Un requerimiento puede cambiar en el transcurso del proyecto.

Page 227: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

RequerimientosRequerimientos

• Lo que se pretende con una buena Ingeniería de Requerimientos es reducir costos y retrasos del proyecto, mejorar la calidad del software, evitar el rechazo de los usuarios finales entre otras cuestiones.

Page 228: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

RequerimientosRequerimientos

• Es muy importante definir los límites y alcances del sistema.

• El éxito de la obtención de requerimientos consiste en ponernos en los zapatos de nuestros clientes y no desarrollando a nuestros gustos.

222288

Page 229: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas
Page 230: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diferentes VistasDiferentes Vistas

Page 231: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diferentes VistasDiferentes Vistas

Page 232: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diferentes VistasDiferentes Vistas

Page 233: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

RequerimientosRequerimientos

• Se deben evaluar y negociar cada uno de los requerimientos con el fin de priorizar cada uno de los requerimientos.

• Se deben documentar cada uno de los requerimientos obtenidos así como el control del cambio.

Page 234: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

RequerimientosRequerimientos

• Para obtener requerimientos se siguen muchas técnicas. Las más populares son las entrevistas y cuestionarios.

• Tips para Diseñar Cuestionarios.

• Es necesario realizar un muestreo de los datos para encontrar necesidades.

Page 235: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

RequerimientosRequerimientos

• Se deberán poner escalas (preguntas cerradas) para cuantificar lo que se pretende.

• Actividad: diseñar un cuestionario sobre el proyecto y aplicarlo a por los menos a 20 personas. Se sugiere utilizar sistemas en líneas para realizar los cuestionarios. (Diseño:20%, Aplicación:80%)

Page 236: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

RequerimientosRequerimientos

• Tips para realizar entrevistas:

• Utilizar una técnica de rombo de preguntas cerradas, abiertas y cerradas.

• Observación del mundo (STROBE).

• Tener un guión flexible (improvisación).

Page 237: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

RequerimientosRequerimientos

• Tarea: realizar una entrevista a personal relacionado con el proyecto. Primera parte diseño entrevista (50%) una vez aprobada por el profesor (entrega martes 10 junio) se procede a la aplicación (50%).

• En metodologías ágiles el cliente participa de manera activa en el desarrollo del sistema.

Page 238: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

FODAFODA

• Se pueden utilizar técnicas como la Lluvia de Ideas o análisis FODA, el cual consiste en hacer una relación entre elementos:

• Fortaleza: Factor interno positivo.

• Oportunidades: Factor externo positivo.

• Debilidades: Factor interno negativo.

• Amenazas: Factor externo negativo.

Page 239: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

RequerimientosRequerimientos

• Actividad: Realizar un análisis FODA del proyecto. Cada integrante del equipo se encarga de un área y se junta (100%)

• Otras técnicas de obtención de requerimientos son:

• Matriz de requisitos• Metodología FURPS+

Page 240: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Quiz 1

1. Menciona uno de los 4 apartados del manifiesto ágil

2. Que metodología se enfoca en lo que se denomina “experiencia del usaurio”

3. Qué metodología se enfoca al control de calidad siguiendo un control estadístico rigurso.

Page 241: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Quiz 1

4. Significado de las siglas TSP

5. Metodología enfocada a organizaciones grandes utilizando niveles de madurez

6. ¿En que metodología los miembros del equipo tienes cinturones de color como en las artes marciales?

Page 242: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Quiz 17. ¿Cuál fue la primera metodología en español

ampliamente utilizada en México?

8. Por que el modelo CMMI no puede implantarse tal cual en México

9. ¿Qué metodología está casada con UML?

10.En que metodología se propone la programación en parejas.

Page 243: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Actividad

• Realizar un programa en Python que permita calcular el área de un triángulo conociendo la longitud de sus tres lados. Para ello se aplica la fórmula:

• Donde S = (A+B+C)/2

))()(( CSBSASSÁrea

Page 244: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python

• Lenguaje creado a principios de la década de 1990 por Guido van Rossum. Actualmente es un proyecto de Software Libre.

• Se trata de un lenguaje interpretado o de script, con tipado dinámico, fuertemente tipado, multiplataforma y orientado a objetos (en realidad es multiparadigma ya que permite programación estructurada y funcional).

Page 245: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python

• Es un lenguaje muy similar a Perl y a otros lenguajes de script disponibles en los sistemas Unix tales como AWK, PHP, etc.

• La versión que se utilizará para este curso es la 2.5.2 del proyecto GNU para Windows, aunque existen otras como ActivePython. Cada implementación de Python tiene sus características propias como iPython para desplegar una shell más útil.

Page 246: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python

• Existen varias implementaciones del lenguaje como Jpython, IronPython y Cpython, siendo esta última la más robusta e implementada por que está hecha en C.

• Al ejecutar Python se muestra un shell (>>>) que nos permite interpretar comandos del lenguaje o correr aplicaciones.

Page 247: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python

• En la shell se pueden ejecutar expresiones simples como expresiones aritméticas. Ejemplo:

• >>> 1+1

• 2

• Se puede salir del shell a través de la función exit() o bien la combinación de teclas Ctrl + D

Page 248: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python• La shell permite trabajar de manera interactiva.

• Python genera código muy legible por lo que no se utilizan conceptos como llaves o caracteres raro como || ó &&, en su lugar se utilizan palabras en inglés más claras como or ó and.

• Se recomienda utilizar IDEs como PyDEV que es un plugin para Eclipse.

Page 249: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python• El primer programa en cualquier lenguaje de

programación es el “hola mundo”, aquí se seguirá la tradicción:

• >>> print “Hola Mundo”• Hola mundo

• Si se desea ejecutar este programa sin el shell, se deberá ejecutar la instrucción: python hola.py Para esto se asume que se escribió el código en un editor de texto plano.

Page 250: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python• El programa se ejecutará muy rápido para

detenerlo hasta que se presione una tecla, se deberá añadir la siguiente línea:

• raw_input()

• Si se estuviera en un Unix se puede agregar la línea #!/usr/bin/python al inicio de cualquier programa para “firmarlo” y así permitir que este sea autoejecutable.

Page 251: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python

• Los tipos de datos básicos son:

• Numéricos: 7 (enteros), 12.5 (flotantes) 5+3j (complejos)

• Cadenas de Texto como “UVAQ”

• Lógicos: true y false

Page 252: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python• Aunque no es necesario declarar variables se

puede utilizar el operador type(var) para saber el tipo de datos de una variable.

• Los tipos de datos enteros pueden ser int y long. Como internamente Python se maneja en C, la longitud de los tipos de datos es la misma que en las implementaciones de C. Por lo que se utilizan las mismas convenciones (prefijo L al final de un número para indicar que es long, iniciar con un 0 indica que es octal, si inicia con 0x es hexadecimal).

Page 253: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python• Los operadores aritméticos son los clásicos de todo

lenguaje, incluyendo: ** para potencia, // para división entera, % para módulo.

• También existen operadores a nivel de bits como el & (and), | (or), ~ (not), ^ (xor), << y >> para corrimientos a la izquierda y a la derecha.

• Actividad: realizar un programa que dado dos números permita saber si un número es par o impar, hacerlo a través de operadores de bits.

Page 254: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python

• Actividad: Realizar otro programa que permita determinar la multiplicación y la división de un número entero por dos. Se debe de hacer con operadores de bits.

• Actividad: realizar un programa que permita determinar si un número tiene paridad par o impar, considerar todos los bits menos el más significativo, el cual deberá contener un 0 si es paridad par o un 1 si es paridad impar.

Page 255: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python• Los comentarios se ponen a través del

carácter #

• Las cadenas puede utilizar comillas dobles “” o comillas simples ‘’

• Se pueden utilizar caracteres especiales como \n, \t, entre otros, que son comunes a C. Se puede utilizar el operador + para concatenar cadenas.

Page 256: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python

• Tarea: traer una computadora con Linux (unix) en cualquiera de sus variantes: LiveCD (usb distro), máquina virtual, instalación física, emulador de Linux, etc. Que permita la realización de scripts y tenga instalado el compilador gcc y python.

• Es necesario el manejo de este entorno para los problemas de esta clase y tareas.

Page 257: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python• Los valores de tipo lógicos o bool, se llaman

true y false.

• Los operadores lógicos son and, or y not. El operador de comparación es ==. Los otros operadores relacionales son !=, <, >, <= y >=.

• Una de las características fundamentales de Python es su manejo avanzado de tipos de datos, entre ellos se encuentran las listas.

Page 258: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python• Las listas (colecciones) pueden manejar

elementos de cualquier tipo. Un ejemplo es:

• L = [1, 2.5, “UVAQ”, true]

• print l[1]

• Una propiedad importante es el particionamiento (slicing) el cual permite acceder a un rango de elementos o crear una sublista del tipo:

• Inicio:fin:incremento

Page 259: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python• Las tuplas son similares a las lista salvo que

tienen menos opciones y consumen menos memoria. Se declaran separando los elementos por comas:

• t = 1, 2.3, “hola”• type(t)

• Los diccionarios son útiles para almacenar pares de indice-contenido. Por ejemplo peliculas = {“odisea espacial”:”kubrick”, “jurasic park”: “Spilberg”}

Page 260: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python

• peliculas[“jurasik park”] devolvería “Spilberg”

• La estrustura condicional if tiene la siguiente sintaxis:

• if (condicionAEvaluar):

• acciones cuando es verdadero

• else:

• acciones cuando es falos

Page 261: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python

• Se puede utilizar la palabra clave elif (condicion): para anidar else.

• También existe la condicional de una sóla línea: A if B else C

• V = “par” if (n%2==0) else v=“impar”

• Existe el ciclo precondicional:

• while (condicion):

Page 262: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python• Las funciones se definen de la siguiente forma

• def nombre(param1, param2):

• acciones

• Existe el concepto de datos inmutables que no pueden cambiar después de la ejecución de la función (similar al concepto de variable local y global, o bien parámetros por valor y por referencia).

Page 263: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python

• La función int(), convierte una cadena a número y la función str() convierte un número a cadena.

• La función raw_input(cad) nos permite introducir datos desde consola y color el prompt con la cadena cad.

• Los ciclos for … in ..:, permiten acceder a los elementos de una colección.

Page 264: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python

• #Imprime todos los elementos de la lista l

• for e in l

• print e

Page 265: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python

• Trabajos:

• Calcular el tiempo de vuelo entre dos horarios suponiendo que no tarda más de 24 horas. El tiempo se dará en el formato de hh:mm:tt, donde hh va de 0 a 12, m de 0 a 59, y tt puede ser am o pm. Se deben validar los dos horarios

Page 266: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python

• Dadas dos listas A y B, dejar en la lista A los valores impares y en la B los valores pares. Pedir los valores de la lista al usuario.

• Leer N números y calcular los siguientes estadísticos: media, moda, mediana y desviación estándar.

Page 267: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Python• Realizar un programa quedado un número de

bits determine el número de KB (Kilo Bytes), MB y GB. Un byte son 8 bits. Un KB son 1024 bytes, un MB son 1024 KB, un GB son 1024 MB.

• Por ejemplo si el usuario introduce la cantidad: 12,896,521 bits el programa debe devolver:– 1,612,065 (1612065.18) bytes– 1574.28 KB– 1 1.53 MB– 0.0015 GB

Page 268: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Metodología FURPS+Metodología FURPS+

• Funcional (Functional): características, capacidades y seguridad.

• Facilidad de Uso (Usability): factores humanos, ayuda, documentación.

• Fiabilidad (Reliability): frecuencia de fallos, capacidad de recuperación.

Page 269: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Metodología FURPS+Metodología FURPS+

• Rendimiento (Performance): tiempos de respuesta, productividad, precisión, disponibilidad, uso de los recursos

• Soporte (Supportability): adaptabilidad, facilidad de mantenimiento, internacionalización, configurabilidad.

Page 270: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Metodología FURPS+Metodología FURPS+• +:• Implementación: limitación de recursos,

lenguajes y herramientas, hardware • Interfaz: restricciones impuestas para la

interacción humana• Operaciones: gestión del sistema• Empaquetamiento• Legales: licencias, auditorias, etc.

Page 271: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Métodología FURPSReq F U R P S +

Consultas a través de un celular

Deberán realizarse a través de SMS/MMS, la respuesta será en MMS

Pocos movimientos del teclado

Optimizado para desplegar información importante

Soporte en Plataformas J2ME

Ejecutarse con Equipos Nokia serie 60

Sistema Web de Captura Indicadores

Seguridad por autenticación y huella digital

Optimizado para navegador Opera

… ….

Page 272: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Metodología FURPS+Metodología FURPS+

• Actividad: una vez identificado los posibles requerimientos del proyecto se comienza por hacer una matriz de estos, colocando en cada una de las una de las letras de FURPS+ para evaluarlo y poder darle prioridad e identificar Factores Críticos de Éxito.

• Matriz FURPS grupal 100%, al menos 10 requisitos evaluados. Entrega: Viernes 19 de Septiembre.

Page 273: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Factores Críticos de ÉxitoFactores Críticos de Éxito

• La metodología de Factores Críticos de Éxito sirven para determinar aquellas áreas o cosas que son críticas para la empresa.

• El FCE nos ayuda a enfocar nuestros esfuerzos y en determinar como se debe monitorear cada una de nuestras alternativas.

Page 274: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

FCEFCE

• No son medidas estándar para toda la industria, ni para todos los negocios. Son específicos para una situación particular en un momento dado.

• Pueden ser medidos cuantitativa o cualitativamente

Page 275: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

FCEFCE

• Existen factores:– Internos– Externos– De seguimiento de operaciones– De seguimiento de planes

Page 276: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

FCEFCE

• Principales fuentes (según Rockart):– La industria– La estrategia competitiva o posición en la

industria– Factores del medio ambiente– Factores temporales– Posición administrativa

Page 277: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

FCEFCE

• Algunos FCE de la Industria Automotriz:

• Economía en el combustible

• Imagen

• Organización eficiente de agencias

• Control de costos de manufactura, etc.

Page 278: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

FCEFCE

• Se deben considerar los siguientes elementos:

• Información crítica: información necesaria para dar seguimiento a los FCE (extraída de otros SI, comprada, etc.)

Page 279: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

FCEFCE

• Supuestos críticos: Los objetivos y FCE están basados en supuestos. Deben ser validados constantemente. Ej. Actividades de la competencia, inflación, etc.

• Decisiones críticas: Determinar cuáles son las decisiones críticas que se deben hacer. Ej. ¿dar de baja un producto?, ¿compra o desarrollo?, máximo riesgo aceptable.

Page 280: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

FCEFCE

Fase 1. Formación de un equipo de trabajo– Pocos recursos– Reconocimiento y posibilidad de comunicación

con la alta dirección– Conocimiento de la industria, sus problemas,

puntos clave, etc.– Entender la empresa, y su posicionamiento,

estructura, cultura y política, posición competitiva.

Page 281: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

FCEFCE

Fase 2. El equipo se prepara para el estudio– Estudiar la metodología– Estudiar la técnica de entrevistas

seleccionada– Familiarizarse sobre la situación de la

empresa y su entorno

Page 282: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Metodología para generar FCEMetodología para generar FCE

Fase 3. Sesión introductoria con la alta administración, para:– Obtener apoyo– Obtener lista de personas a entrevistar en la

siguiente fase– Obtener un primer nivel de FCE, problemas,

oportunidades, etc...de todo el negocio, no sólo de informática.

Page 283: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

FCEFCE• ¿Cuáles son las cosas que ud. ve como FCE en

su trabajo?

• ¿Cuál es el área que más le perjudicaría si fallase?, ¿Dónde le molestaría más que se fallase?

• Si lo aislaran del negocio 3 semanas, ¿sobre qué sería lo primero que quisiera que lo enterarán en relación al negocio?

Page 284: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

FCEFCE

Fase 4. Sintetizar el resultado de las entrevistas

– Sintetizar los resultados, combinando respuestas, eliminando duplicidades y priorizando (como un primer resultado).

Page 285: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

FCEFCE

Fase 5. Reunión de enfoque del equipo directivo (paso clave):– El equipo se reúne con los ejecutivos– Los ejecutivos determinarán los FCE de acuerdo

a la información recolectada– Mejores resultados si la reunión es con

participación abierta

Page 286: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

RúbricaRúbrica

• Una rúbrica es un elemento que nos permite definir en forma tabular los requisitos que debe tener un producto en general y evaluarlos en base a un criterio determinado.

Page 287: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Ejemplo de RúbricaEjemplo de Rúbrica

Page 288: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ActividadActividad

• Definir una rúbrica para evaluar una clase de gomitas de azúcar, definir al menos 5 características, ubicar porcentajes a cada una.

• Evaluar al menos tres tipos de gomitas. Distribuir la rúbrica a sus demás compañeros para que puedan evaluar y sacar un promedio de las especificaciones.

Page 289: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Tarea• Diseñar una rúbrica para la evaluación de

requerimientos de software.

• La rúbrica deberá evaluar 5 características como mínimo (de preferencia las listadas en la actividad de FURPS) indicando las características de si se cumple o no la actividad.

• Fecha entrega: Lunes 22 de septiembre de 2008.

Page 290: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Desarrollo de PrototiposDesarrollo de Prototipos

• Los prototipos son una excelente herramienta para la obtención de requerimientos dado que el cliente puede ver elementos funcionales en operación del proyecto.

• El problema es que es una técnica muy costosa, motivo por el cual su utilización está muy restringida.

Page 291: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diseño de PrototiposDiseño de Prototipos

Page 292: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diseño de PrototiposDiseño de Prototipos

Page 293: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diseño de PrototiposDiseño de Prototipos

• Champcart

• Motor: Turbocargado, 2.65 litros V-8

• Caja de velocidad: Manual con 6 o 7 velocidades delanteras

• LLantas: Bridgestone.

• Peso mínimo: 1,565 libras

Page 294: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diseño de PrototiposDiseño de Prototipos

• Formula1

• Motor: Aspirado, 3 litros (183 cubic inches) V10 Turbocarga está prohibido.

• Caja de velocidad: Semiautomática de 6 o 7 velocidades delanteras

• Llantas: sin marca• Peso mínimo: 1,322.77 libras con conductor

Page 295: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diseño de PrototiposDiseño de Prototipos

Page 296: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diseño de ComponentesDiseño de Componentes

Page 297: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diseño de ComponentesDiseño de Componentes

• Chasis básico: $450,000.

• Motor: no se venden de manera individual

• Llantas: 28 llantas por evento con un costo de $1,200 por juego, alrededor de $150,000 al año

• Costo equipo: 50 personas

Page 298: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diseño de ComponentesDiseño de Componentes

• Otras partes: $150,000 de refacciones y $350,000 de partes de la caja de velocidades.

• Costo transporte: $500,000 al año de transporte.

• Total: mínimo 2 millones, en promedio de 5-10 millones de dólares

Page 299: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ActividadActividad

• En equipos de 2 Personas se deberá crear un prototipo de avión de papel el cual deberá ser aquel que en las pruebas de ensayo llegue más lejos.

• Ganará el equipo que con el recurso disponible y las restricciones de tiempo realice bien cada uno de los pasos indicados en la actividad.

Page 300: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ActividadActividad

• Paso 1: Poner nombre a los equipos.

• Paso 2: Escoger un líder de proyecto.

• Paso 3: Diferenciar roles entre los equipos de trabajo: diseñador, probador, constructor, etc. (Paso 1 a 3: 10%)

Page 301: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ActividadActividad

• Paso 4: Elaborar especificación de prototipo (50%).

• En este caso se debe tener un diseño claro que permita la construcción a gran escala del mismo.

• Cada equipo es responsable de su material, todos los equipos cuentan con igual recurso.

Page 302: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ActividadActividad

• Paso 5: Personalizar su prototipo con algún detalle y mostrar las mejoras realizadas (la presentación se hace hasta el final) (10%)

• Paso 6: Construcción y elaboración del prototipo a gran escala (20%).

Page 303: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ActividadActividad

• Paso 7: Se escogerán una muestra aleatoria de dos aviones para la realización de la comprobación de la calidad (10%).

• ¿Qué se aprendió con la práctica de hoy?

Page 304: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Desarrollo de PrototiposDesarrollo de Prototipos

• Los prototipos son versiones reducidas, demos o conjunto de pantallas (que no son totalmente operativos) de la aplicación pedida.

• Esta técnica es útil cuando:

1. El área de aplicación no está bien definida (puede ser algo novedoso)

Page 305: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Desarrollo de PrototiposDesarrollo de Prototipos

2. El costo del rechazo de la aplicación es muy alto.

3. Es necesario evaluar primeramente el impacto del sistema en la organización.

• La técnica ayuda para visualizar la diferencia entre desarrolladores y usuarios.

Page 306: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Desarrollo de PrototiposDesarrollo de Prototipos

• Aunque limitado, se dispone de un sistema funcional en las primeras etapas de desarrollo.

• Esta técnica se resume en: “No sé exactamente lo que quiero, pero lo sabré cuando lo vea”

• Es una técnica costosa

Page 307: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Casos de UsoCasos de Uso

• Otra forma de obtener requerimientos es a través de diagramas de casos de uso dentro de UML

• Se recomienda utilizar diagramas de caso de uso ya que nos dan los macrorequisitos de la aplicación. Cada caso de uso debe ser especificado de manera correcta.

Page 308: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

UMLUML

• UML (Unified Modelling Language), lenguaje de modelado unificado. Fue desarrollado en 1997 al fusionar las metodologías de Ivar Jacobson, Jame Rumbaugh y Grady Booch.

• Es un lenguaje visual, su premisa básica radica en que una imagen vale más que 1,000 líneas de código.

Page 309: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

UMLUML

• Al ser UML un lenguaje posee gramáticas y alfabetos que definen como deben de estructurarse cada una de las palabras válidas del lenguaje.

• Un modelo es una representación de la realidad. No sólo se modela software sino prácticamente cualquier actividad.

Page 310: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

UMLUML

• Es el lenguaje estándar para modelar proyectos de software.

• La versión más actual del lenguaje es la 2.1

• Los métodos que se fusionaron para crear UML fueron OMT (Rumbaugh), Objectory (Jacobson) y el método Booch.

Page 311: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

¿Por qué modelar?¿Por qué modelar?

• Casi el 80% de los proyectos de software fallan.

• Nadie construye una casa sin un plano.

• Actualmente existen muchas herramientas que auxilian el proceso de modelado como Visio, ArgoUML, Rational Rose, Together, etc.

Page 312: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ModelosModelos

• Los modelos deben ser más baratos que la realidad.

• Es más fácil para una persona entender un diagrama que las líneas de código fuente de un programa.

• Los diagramas al igual que el texto consumen tiempo.

Page 313: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ModelosModelos

• Se deben construir modelos que sean representativos para que sean útiles (imaginense hacer un documento de 100 hojas que nadie va a leeer)

• UML define varios tipos de diagramas los cuales pueden ser extensibles.

Page 314: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Métodos Orientado a ObjetosMétodos Orientado a Objetos

• UML tiene 5 diferentes vistas con diferentes diagramas en cada una de ellas.

• Vista usuario: representa el sistema (producto) desde la perspectiva del usuario. Se suele utilizar diagramas de casos de uso.

Page 315: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Métodos Orientado a ObjetosMétodos Orientado a Objetos

• Vista estructural: modela los datos y la funcionalidad del sistema; es decir, la estructura estática (clases, objetos y relaciones).

• Vista de implementación: Los aspectos estructurales y de comportamiento se representan aquí tal y como van a ser implementados.

Page 316: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Métodos Orientado a ObjetosMétodos Orientado a Objetos

• Vista del comportamiento: representa los aspectos dinámicos o de comportamiento del sistema. También muestra las interacciones o colaboraciones entre los diversos elementos estructurales descritos en vistas anteriores.

Page 317: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Métodos Orientado a ObjetosMétodos Orientado a Objetos

• Vista del entorno: aspectos estructurales de comportamiento en el que el sistema a implementar se representa (diagramas de componentes y despliegue).

Page 318: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Tipos de diagramasTipos de diagramas

• Los diagramas más utilizados en UML son:

• Diagramas de casos de uso

• Diagramas de actividades

• Diagramas de clases

• Diagramas de interacción– Diagramas de secuencia– Diagramas de colaboración

Page 319: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Tipos de diagramasTipos de diagramas

• Diagramas de estado

• Diagramas de componentes

• Otros diagramas– Diagrama de topología del despliegue

• Los diagramas deben de reflejar lo que se pretende modelar

Page 320: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diagramas de casos de usoDiagramas de casos de uso

• Son responsables de documentar los macrorequisitos del sistema.

• Lista de capacidades que debe brindar el sistema.

• Los elementos principales son los actores y los casos de usos que en conjunto forman un escenarios.

Page 321: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diagramas de casos de usoDiagramas de casos de uso

• Se deben establecer prioridades para las capacidades del sistema.

• ¿Cuál es la diferencia entre un editor de textos como Notepad y Word?

• Objetivos primarios: crear, guardar e imprimir documentos de texto.

Page 322: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diagramas de caso de usoDiagramas de caso de uso

• Objetivos secundarios: guardar el archivo en formato HTML, RTF y PDF.

• Los diagramas de uso sirven para mostrar detalles de implementación del sistema a usuarios finales.

• Los conectores asocian a los actores y los casos de uso.

Page 323: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diagramas de caso de usoDiagramas de caso de uso

• Las líneas continuas representan una asociación y las puntuadas dependencias.

• Si el conector tiene un triangulo hueco en la punta representa una generalización que es una relación de herencia.

• Los estereotipos agregan detalles a una relación.

Page 324: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diagramas de caso de usoDiagramas de caso de uso

• Los estereotipos más utilizados son: inclusión y de extensión.

• Muchas herramientas no implantan UML al 100% existen muchos problemas de compatibilidad entre dichas herramientas. XMI es la descripción de un diagrama UML en XML el cual utilizan varias herramientas para exportar diagramas.

Page 325: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diagramas de caso de usoDiagramas de caso de uso

• Incluir implica una dependecia de utilización de un caso de uso.

• Las notas ayudan ha aclarar los diagramas.

• Extender da más detalle de dependecia de un caso de uso al cual se le agregan más capacidades.

Page 326: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diagramas de caso de usoDiagramas de caso de uso

• Las notas deben ser como elementos taquigráficos.

• Se deben incluir la siguiente documentación: párrafo que describa el caso de uso, párrafo que describa cada una de las funciones primarias y secundarias, entre otros.

Page 327: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diagramas de casos de usoDiagramas de casos de uso

• Se deben detallar ejemplos de la utilización de casos de uso.

• Los actores pueden ser usuarios o partes del sistema.

• En general los primeros diagramas que se deben construir son los casos de uso

Page 328: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diagramas de casos de usoDiagramas de casos de uso

Page 329: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Diagramas de casos de usoDiagramas de casos de uso

Page 330: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Preguntas frecuentesPreguntas frecuentes

• ¿Cuántos diagramas debo crear? No existe una respuesta específica.

• ¿Debo hacer diagramas de todo tipo? No, sólo se deben utilizar los diagramas que mejor reflejen el modelado de la problemáticaoe

Page 331: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Preguntas frecuentesPreguntas frecuentes

• ¿Qué tan grande debe de ser un diagrama? Entre más grande sea un diagrama mayor es la confusión. Se deben realizar diagramas bien detallados, pero no tan detallados.

• ¿Cuánto texto debe complementar el modelo? Entre menos texto mejor, son como los comentarios del código fuente: pocos pero claros.

Page 332: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Modelado de softwareModelado de software

• Algunas recomendaciones para el modelado de software son:

• No tenga a los programadores esperando los modelos.

• Trabajar de una macrovista a una microvista(enfoque Top-Down).

Page 333: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Modelado de softwareModelado de software

• Se debe documentar en forma económica.

• Si es obvio no se debe de modelar.

• Hacer hincapié en la especialización.

• Utilizar patrones de diseño.

• Refactorizar.

Page 334: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ActividadActividad

• Desarrollar los diagramas de casos de uso (en el anverso) del proyecto en las tarjetas de Trabajo.

• Especificar en el reverso cada escenario de manera completa (30%)

• Explotar los diagramas de casos de uso por lo menos un nivel (70%)

333344

Page 335: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Otras TécnicasOtras Técnicas

• La Ingeniería de Requerimientos comprende las actividades de obtención (captura, descubrimiento y adquisición), análisis (negociación), especificación y validación de requerimientos.

• También establece la gestión para manejar cambios, mantenimiento y seguimiento de los requerimientos.

Page 336: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

JADJAD

• Joint Application Development, Desarrollo Conjunto de Aplicaciones es una técnica que consiste en realizar sesiones conjuntas entre los analistas de sistemas y los expertos del dominio.

• Con esta técnica se obtienen sistemas más enfocados a la realidad, muchas metodologías nuevas se fundamentan en esta premisa.

Page 337: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

JADJAD

• ¿Por qué JAD funciona?

• Por que las entrevistas son lentas, difíciles de hacer y complicadas de obtener datos.

• Al ser muchos revisores del proyecto es más fácil detectar errores.

• Problema: se requiere de mucha organización

Page 338: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ETHICSETHICS

• Implementación Efectiva de Sistemas Informáticos desde los puntos de vista Humano y Técnico.

• Fue desarrollada en 1979 por E. Mumford, se enfoca en los aspectos sociales que están presentes en el desarrollo del software, dado que un sistema no tendrá éxito sino es utilizado eficientemente por los empleados.

Page 339: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Puntos de vistaPuntos de vista

• Todos los sistemas ocupan de un grupo de usuarios interesados (stakeholders), cada uno puede tener intereses diferentes, incluso en muchas casos contradictorios.

• Existen métodos que toman los puntos de vistas de los usuarios para encontrar cosas en común, un ejemplo es VORD (Definición de Requerimientos Orientados a Puntos de Vista).

Page 340: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Puntos de vistaPuntos de vista

• VORD consiste de los siguientes pasos:

• Identificación de puntos de vista

• Estructuración de dichos puntos de vista

• Documentación de puntos de vista (refinación)

• Trazado del punto de vista (conversión a un diseño orientado a objetos)

Page 341: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

EtnografíaEtnografía

• Es una técnica de observación que se puede utilizar para entender los requerimientos sociales y organizacionales. Se centra en los siguientes aspectos:

• La forma en la que las personas trabajan y no como el sistema los hace trabajar

• Los requerimientos se derivan de la cooperación de muchas personas

Page 342: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Tips para la obtención de Tips para la obtención de requerimientosrequerimientos

• Aprender de todos los documentos, formularios, informes y archivos existentes.

• De ser posible se observará el sistema en acción. Se tomarán notas y dibujos. Conviene que las personas no sepan que están siendo evaluadas.

Page 343: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Tips para la obtención de Tips para la obtención de requerimientosrequerimientos

• Realizar entrevistas o sesiones de trabajo en grupo para refinar los requisitos de la aplicación.

• Es necesario verificar los requerimientos nuevamente hasta estar seguros

Page 344: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Actividad

• Realizar un diseño basado en componentes sobre cualquier objeto formado por piezas de lego.

• Se deberá de indicar el plan de diseño de construcción así como su modelo de utilidad.

• El modelo de utilidad se mostrará a través de Diagramas de Casos de Uso.

Page 345: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

Laboratorio• Traer el IDE de Netbeans cargado de preferencia

en su máquina o llegar temprano al laboratorio.

• Se realizará un diseño de una aplicación basada en componentes con algunas limitaciones. Se premiará a la más original.

• Se utilizará de preferencia la versión 6.1 o la instalada en el laboratorio.

Page 346: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

ReferenciasReferencias

• Guido, J. y Clements, J., “Administración Exitosa de Proyectos”, Segunda Edición, Thomson, México, 2003, ISBN: 0-324-07168-X.

Page 347: Unidad I. Comunicación M.C. Juan Carlos Olivares Rojas

¿Preguntas, dudas y comentarios?