Está en la página 1de 35

Contenido Tema 2. Habilidades de Comunicacin 2.1. Lectura, entendimiento y resumen de lecturas.3 Lectura de cdigo3 Pre-lectura, antes de comenzar a leer.

4 Resmenes..6 2.2. Escritura..8 Asignaciones...8 Reportes.8 Evaluaciones9 Justificaciones.11 Escribir cdigo de calidad12 2.3. Comunicacin de equipo y de grupo16 Comunicacin..16 Elementos que intervienen en el proceso de comunicacin.16 Teora de la informacin .17 Proceso de comunicacin ..17 Codificacin/Decodificacin .17 Ostensin/Inferencia .18 Funciones del lenguaje..18 Concepto de situacin18 Elementos de la situacin comunicativa19 Comunicacin de equipos y grupos.20 Comunicacin en equipos de software.21 Comunicacin de equipos de software con el cliente22 Factores que afectan la comunicacin..24 2.4. Habilidades de presentacin.25 Puntos de accin para el xito.25 Presencia..25 Voz.25 Contenido.26 Intencin27 Estado.28 Atencin29 Dominio.30 Emocin.31

Desarrollo de interfaces en las aplicaciones32

Bibliografa y fuentes3

2.1. Lectura, entendimiento y resumen de lecturas. Lectura de cdigo Cuando lee el cdigo de otras personas, Cmo empieza a leerlo? Qu patrones busca? Cunto tiempo puede aguantar antes de aburrirse? Al principio se ignora el deseo de cambiar el cdigo, que a veces es difcil de hacer. Pero entender primero y cambiar despus ahorra muchas malas experiencias. Si el formato del cdigo es errneo se tiene que cambiar. Use un formateador de cdigo si tiene. Luego estn las estructuras de datos complejas. Si ya se entiende un pedazo de cdigo, se escribe un comentario. Es muy importante realizar comentarios porque es posible que despus no se entienda el cdigo, ya sea por nosotros mismos o para futuras referencias. La calidad de la documentacin es tan importante como la calidad del software. Problemas tpicos: Mal escrita. Difcil de comprender. Desactualizada.

Planificacin Antes de elaborar cualquier documento piensa en tu trabajo: Redaccin Empieza haciendo esquemas, notas, ndices,... Deja la gramtica para el final. Cuida el estilo: Claridad, sencillez, economa, etc. Cuida la presentacin: Imagen esmerada, ndice claro, maquetacin, ... Relee de vez en cuando lo que escribas Asegrate de que no has perdido el hilo del desarrollo Objetivo / Propsito Para qu? Destinatario A quin? Contenido Qu? Plan / Organizacin Cmo? Cundo? Cunto?

Crtica y Revisin La escritura tcnica no es sencilla. Un documento correcto no se obtiene a la primera: Deja que alguien critique y revise tus escritos. Planificar->Redactar->Criticar->Revisar->Redactar...

Pre-lectura: antes de comenzar a leer: Observacin de texto: inferir informacin del autor, la longitud, el ao en el que fue escrito, el ndice o tabla de contenidos, comentarios editoriales, etc. (es lo que se hace cuando se va a comprar o se decide leer un libro) Observacin de las partes del texto (partes, captulos, ttulos, subttulos) y si el texto es corto, titulo, autor, y prrafos. Inferir la idea central a partir de ttulo y de la lectura del primer y ltimo prrafo. Verificar esta idea a travs de la localizacin de palabras claves que la confirmen.

Establecer la ida principal del texto: Si la lectura es superficial, bastara con preguntar de qu se trata el texto. Sin embargo, a veces esto no es tan fcil de determinar. Para ello profundizamos haciendo un anlisis del texto. Esto es lo que se hace cuando se lee para aprender: procesar informacin con una intencin.

Lectura por prrafos Proceder a la lectura por prrafos. Si no se entiende en primera instancia, relacionar lo que se capta con la idea central preconcebida producto de la prelectura y con nuestros conocimientos previos.

Leer para aprender Cuando leemos con la intencin de aprender, realizamos estrategias para procesar la informacin y pasarla a nuestra memoria a largo plazo. Es la que, al acumularse organizadamente en nuestra mente, nos permite formar nuestras estructuras cognitivas o esquemas mentales para seguir conociendo, es permanente y susceptible de recuerdo. Cuando aprendemos, procesamos informacin proveniente de la lectura. As, procesar es convertir la informacin en aprendizaje: Proceso de percibir, relacionar, organizar, retener y evocar la informacin.

Ayudarse, organizando las ideas: Construir un grfico que organice ideas principales y secundarias con sus conectores, establecer un tipo de texto atendiendo su estructura, y por tanto, hacer inferencias y suposiciones de lo que se va a el tipo de informacin que se va a encontrar, etc. Para ello nos apoyamos en una serie de estrategias que guardamos en nuestra memoria y se basan en procesos cognoscitivos. Estas estrategias a veces pueden ser producto de la experiencia o las aprendemos intencionalmente, pero cuando las hacemos conscientemente, las podemos repetir y mejorar al reflexionar sobre ellas.

Algunas sugerencias que ayudan a leer para aprender Se sintetizan cuando realizamos un resumen, conclusin, organizamos la informacin en grficos, parafraseos, mapas mentales, mapas conceptuales. La sntesis siempre es significativa para quien la realiza. Es decir, cualquier tcnica de procesamiento de informacin debe ayudar a quien la realiza a reconstruir la lectura o la informacin procesada.

Tipos de anlisis: Anlisis de partes: Las partes son los prrafos, los captulos, los ttulos y subttulos, los grficos, la diagramacin. Este criterio nos da informacin, formar ideas sobre lectura. Anlisis de estructura: Estructura: es un conjunto de conexiones organizadas, elementos relacionados en un todo. En un texto, hay elemento: introduccin, desarrollo y conclusin y estn organizados y relacionados. Es una estructura concebido como un todo, una unidad cuyos componentes o elementos estn dispuestos de una manera determinada, donde el todo es mayor que la suma de sus partes: Introduccin: propsito del autor, los antecedentes o circunstancia de lo escrito la tesis o idea central y su alcance. Desarrollo: elemento fundamental del escrito en el cual se argumenta y se explica la idea concreta expresada en la introduccin. El autor ampla su tesis introductoria. Conclusin: Se cierra con un refuerzo de los aspectos ms importantes de su tesis o idea concreta. El autor puede expresar recomendaciones especficas que considere de utilidad para el lector como reflexin.

Anlisis de funciones: Funcin: se descompone el texto observado para qu sirve cada prrafo dentro del texto. En los escritos los prrafos deben cumplir una finalidad concreta, ser tiles.

La finalidad ms importante es presentar o desarrollar una idea nueva o de avance que aporte contenido o informacin relevante. Da cuerpo al texto y por ello sabemos si son ms o menos densos. Pueden tener otras funciones: Referirse o ampliar una idea anteriormente expresada Definir un concepto Representar un ejemplo, ancdota o caso ilustrativo Resumir el prrafo o prrafos anteriores Servir de nexo o transicin entre prrafos Servir de introduccin Comentar una referencia bibliogrfica Concluir Otros

Para hacer un anlisis de funciones, se identifica la funcin de cada prrafo, se subraya la idea que contiene la funcin del prrafo y se explica y parafrasea esa idea. Anlisis de relaciones: Anlisis de relaciones entre la funcin del prrafo y la idea principal. La funcin del prrafo y la idea principal (que resume mayor informacin) coincide o es semejante. As, cuando hacemos un anlisis de relaciones buscamos esa coincidencia, obteniendo el conjunto de ideas principales para establecer cmo se relacionan. El resultado de hacer un anlisis de relaciones es determinar la coherencia de un texto. La coherencia textual es cuando existe una relacin lgica e hilada entre prrafos: una idea lleva a la siguiente.

Resmenes Los resmenes son sntesis que pueden ser personales (cuando agregamos nuestros criterios previos) o textuales (cuando establecemos en forma de parfrasis la idea del autor, sin cambiar su significado). Es una de las actividades ms importantes dentro del estudio. Hay que realizarla despus de hacer el subrayado y de haber estudiado el tema, leccin o texto. Debemos hacerlo sin mirar lo que antes hemos estudiado, pero si tenemos que hacerlo, que sea lo menos posible el resumen debe ser corto pero completo, contener las ideas fundamentales y usar el vocabulario propio del tema. Si usamos un lenguaje demasiado personal podemos utilizar palabras inadecuadas que modifiquen el sentido del tema que estudiemos. Tenemos que enlazar los distintos prrafos del resumen de una forma lgica entre los mismos. Un buen resumen depende, casi al 100% de la comprensin del texto y de las veces que lo hayamos ledo.

Como mnimo debemos leerlo tres veces: Una rpida, para entender el sentido general. Otra ms lenta o analtica y subrayando, para extraer los elementos ms importantes. Recuerda que esta fase, si es necesario puede hacerse dos veces y subrayar en la tercera lectura. Otra ms analtica si cabe, ya intentando memorizar y analizar los contenidos.

El resumen se utiliza para sintetizar el contenido de un texto que luego hay que comentar o estudiar. Nos ayuda en un mejor estudio de la leccin y su comprensin, y a su vez facilita la concentracin mientras estudias. Para dominar esta tcnica tendrs que hacer los siguientes ejercicios, es importante que sigas este orden para ir mejorando poco a poco: Resumir textos y temas siempre a partir de lo que has subrayado. Anlisis y comentario de textos haciendo resmenes de los elementos ms importantes. Lecturas analticas para resumir mentalmente los contenidos ms importantes.

2.2 Escritura.

Escribir toda la documentacin en un proyecto es importante porque permite conservar la historia, facilita la utilizacin por parte del usuario, garantiza la permanencia y disminuye los costos de operacin y de ejecucin del proyecto como tal. Los documentos comunes en cualquier producto o proyecto de software a desarrollar por lo general son los siguientes: Manual de usuario. El manual de usuario se entrega junto con un una gua de adaptacin o instructivos, su detalle debe ser de manera comprensible para el usuario final. Tambin se puede adjuntar la direccin de la ayuda en lnea, para resolucin de problemas en tiempo real. Manual de capacitacin. Este manual tcnico se utiliza para realizar las funciones que son la descripcin de mdulos, sub-mdulos, men emergente, botones e iconos, adems de las teclas rpidas para acceder a la informacin, los diagramas de flujo de la informacin y ayudas en lnea campo a campo por pgina o por mdulos. Acta de cierre. Es en donde se unifica la imagen de la empresa y del proyecto, y es muy importante utilizar el idioma del usuario final.

Asignaciones. Para empezar a escribir asignaciones o tareas es esencial tomar en cuenta los siguientes pasos: Preparar elementos que se vayan a utilizar (cualquier material de trabajo). Tener un rea de trabajo despejada. Ir planificando, relajadamente. Crear un guion o los pasos que deba seguir para llevar a cabo su asignacin. Comenzar el trabajo. Hacer cosas detenidamente y con tiempo, as si ocurre algn problema podr pausar, regresar y comenzar nuevamente.

Reportes. Cuando se ha realizado un proyecto cuyos resultados o producto es esperado por personas distintas a quien lo realiza o por encargo de otra y otras personas, es necesario preparar un informe o reporte del trabajo realizado. En ambos, lo esencial es dar cuenta de algo que sucedi, con una explicacin que permita comprender lo sucedido, aunque existen diferencias especficas entre informe y reporte, generalmente se les considera como lo mismo.

La estructura de un proyecto se realiza a travs de bloques de informacin: a) Introduccin o presentacin. De qu trataba el proyecto.

A qu necesidad o problemtica de informacin responda o por qu era necesario. Qu se pretendan lograr con l. b) Planteamiento y realizacin de la accin. Qu planearon hacer. Con qu recursos y medios. Qu fuentes buscaron, con qu estrategias. Cules encontraron y cmo las validaron. c) Resultados y su valoracin. Sntesis o resumen. Anlisis crtico. Comentarios y juicios crticos. d) Conclusiones construidas con los hallazgos. Lo relevante, lo dbil, las ausencias. Razones o causas, implicaciones y consecuencias, Las tendencias, alternativas y escenarios futuros. e) Anexos. Contenidos referidos en el informe que por su amplitud y especificidad no se incluyen en l. f) Bibliografa y fuentes. Especificar de dnde fue obtenida la informacin incluida.

Evaluaciones. Evaluacin puede conceptualizarse como un proceso dinmico, continuo y sistemtico, enfocado hacia los cambios de las conductas y rendimientos, mediante el cual verificamos los logros adquiridos en funcin de los objetivos propuestos. La Evaluacin adquiere sentido en la medida que comprueba la eficacia y posibilita el perfeccionamiento de la accin docente. Lo que destaca un elemento clave de la concepcin actual de la evaluacin: no evaluar por evaluar, sino para mejorar los programas, la organizacin de las tareas y la transferencia a una ms eficiente seleccin metodolgica. La construccin de un sistema software tiene como objetivo satisfacer una necesidad planteada por un cliente. Pero cmo puede saber un desarrollador si el producto construido se corresponde exactamente con lo que el cliente les pidi? y cmo puede un desarrollador estar seguro de que el producto que ha construido va a funcionar correctamente? Una de las posibles soluciones a este problema podra ser que el cliente evaluase el sistema que se ha construido una vez terminado. Sin embargo, esto tiene varias implicaciones:

1. Por una parte, puede que el cliente descubra que el producto desarrollado no cumple con sus expectativas, esto es, que el producto no hace lo que l esperara que hiciera. Sin embargo, el producto ha sido terminado, por lo que habra que comenzar de nuevo el desarrollo? 2. Por otra parte, la comprobacin que el cliente podra realizar no sirve para comprobar que no hay errores en el software, puesto que ello depende de la porcin del programa que se est ejecutando en el momento de esta comprobacin, pudiendo existir errores en otras partes del programa que no se ejecuten en ese momento. Por lo tanto, lo recomendable es que el producto software vaya siendo evaluado a medida que se va construyendo. Por lo tanto, como veremos posteriormente, se hace necesario llevar a cabo, en paralelo al proceso de desarrollo, un proceso de evaluacin o comprobacin de los distintos productos o modelos que se van generando, en el que participarn desarrolladores y clientes. Con el fin de entregar a los clientes productos satisfactorios, el software debe alcanzar ciertos niveles de calidad. Para alcanzar buenos niveles de calidad el nmero de defectos necesitamantenerse bajo mnimos. El trmino calidad es difcil de definir. Esta dificultad se ha atacado elaborando este trmino en seis atributos que permiten una definicin ms sencilla. Estos seis atributos son: Funcionalidad Habilidad del software para realizar el trabajo deseado. Fiabilidad - Habilidad del software para mantenerse operativo (funcionando). Eficiencia - Habilidad del software para responder a una peticin de usuario con la velocidad apropiada. Usabilidad Habilidad del software para satisfacer al usuario. Mantenibilidad Habilidad del software para poder realizar cambios en l rpidamente y con una adecuada proporcin cambio/costo. Portabilidad - Habilidad del software para correr en diferentes entornos informticos.

A su vez, cada una de estas caractersticas del software se han subdividido en atributos an ms concretos. Aunque existen otra muchas otras descomposiciones de la calidad del software, sta es una de las ms aceptadas. Independientemente de la descomposicin de calidad que se elija, el nivel de propensin de faltas de un sistema software afecta siempre a varios de los atributos de calidad. En particular, fiabilidad y funcionalidad son siempre los ms afectados. No obstante, no existe una relacin bien establecida entre las faltas y la fiabilidad y funcionalidad. O dicho de otro modo, entre las faltas y los fallos. Todas las faltas de un producto software no se manifiestan como fallos. Las faltas se convierten en falloscuando el usuario de un sistema software nota un comportamiento errneo. Para que un sistema software alcance un nivel alto de calidad se requiere que el nmero de fallos sea bajo. Pero para mantener los fallos a niveles mnimos las faltas necesariamente deben tambin estar en niveles mnimos. Justificaciones. Justificar es exponer todas las razones, las cuales nos parezcan de importancia y nos motiven a realizar una Investigacin.

Toda investigacin al momento de realizarse, deber llevar un objetivo bien definido, en el se debe explicar de forma detallada porque es conveniente y qu o cules son los beneficios que se esperan con el conocimiento recin adquirido. Un investigador deber que saber cmo acentuar sus argumentos en los beneficios a obtener y a los usos que se les dar. Para realizar bien esto, se toma en cuanta establecer y/o fomentar una serie de criterios para evaluar el estudio en cuestin. 1. Para qu servir y a quin le sirve. 2. Trascendencia, utilidad y beneficios. 3. Realmente tiene algn uso la informacin? 4. Se va a cubrir algn hueco del conocimiento? 5. Se va a utilizar algn modelo nuevo para obtener y de recolectar informacin? Adems de los objetivos de la investigacion, ser necesaria una justificacin de dicha investigacin, es decir, dar las razones o motivos por las cuales se procedi a la investigacin. As mismo, se tiene que explicar ante una o varias personas por qu es conveniente llevar a cabo la investigacin y cules son los beneficios que se derivarn de ella. Se puede establecer una serie de criterios para evaluar la utilidad de un estudio propuesto, criterios que evidentemente son flexibles y de ninguna manera son exhaustivos: Conveniencia: Que tan conveniente es o que funcionalidad tiene, para que sirve. Relevancia Social: En que afectara dicha investigacin o que impacto tendra sobre la sociedad, quienes se beneficiaran con tal desarrollo. Implicaciones Prcticas: Ayudara a resolver algn problema presente o que surgiera en un futuro. Valor Terico: Que contribucin o que aportacin tendra nuestra investigacin hacia otras reas del conocimiento, tendra alguna importancia trascendental, los resultados podrn ser aplicables a otros fenmenos o ayudara a explicar o entenderlos. Utilidad Metodolgica: Con nuestra investigacin podramos o ayudara a crear un nuevo instrumento para la recoleccin o anlisis.

10

Escribir cdigo de calidad. Se requiere:

Dedique el tiempo necesario para realizar la revisin. El propsito de la revisin es entender y analizar con atencin el diseo y el cdigo. Debe dedicar a la revisin la mitad del tiempo que ha tardado en escribir el cdigo o en planear el diseo originalmente. Permita que los revisores controlen la revisin. Los revisores y sus comentarios deben controlar la revisin. Si se permite que los desarrolladores dirijan las revisiones de su propio trabajo, los dems revisores podran pasar problemas por alto. Lea el cdigo o el documento de diseo antes de la reunin de revisin. A menos que la reunin est prevista para revisar cambios de carcter secundario, prepare de antemano las reuniones de revisin. Las reuniones de revisin en las que los revisores no se han preparado antes leyendo el cdigo o el diseo, constituyen una prdida de tiempo para todos los asistentes. Utilice el portal de proyectos de equipo para las revisiones en grupo. Publique sus documentos de diseo en un portal de proyecto donde todos los puedan encontrar y revisar con facilidad. Enve un puntero al documento publicado a sus revisores y pdales que agreguen sus comentarios. Si desea que el cdigo se revise de forma parecida, pguelo en un documento de texto y publquelo tambin en un sitio Web. Para obtener ms informacin, vea Utilizar el portal del proyecto de equipo. Utilice una lista de comprobacin. Es fcil dejarse llevar por determinados aspectos de una revisin, por ejemplo, centrarse exclusivamente en la seguridad, el control de errores o el estilo. Podra verse tentado a pasar a otras tareas despus de haber completado un solo aspecto. Las listas de comprobacin le recuerdan los numerosos aspectos diferentes que debe abarcar en su revisin. Realice el seguimiento de todos los problemas encontrados durante las revisiones del cdigo. Documente los problemas como elementos de trabajo, como comentarios en el cdigo, o como problemas en los documentos de diseo. De lo contrario, los problemas se pueden perder y no habr sacado ningn provecho del tiempo invertido en una revisin del cdigo. Para obtener ms informacin, vea Cmo: Agregar nuevos elementos de trabajo.

Se debe evitar:

Cambiar el cdigo o el diseo sin informar a los revisores. Aunque encuentre defectos en el diseo o el cdigo despus de que lo hayan revisado, debe resistirse a la tentacin de corregir los problemas antes de la reunin de revisin. Si cambia el cdigo o el diseo antes de la reunin, la revisin resultar confusa y es probable que los revisores se molesten por ello. En lugar de ello, trate los errores que encuentre como si fuese el revisor, antelos y contrlelos junto con todos los dems comentarios de revisin.

11

Se recomienda:

Incluya a representantes de todas las disciplinas. Aunque no siempre es viable contar con distintas disciplinas adems de la de desarrollo, en la revisin de los diseos y el cdigo resulta til contar con representantes de distintos mbitos que le ayuden a descubrir problemas difciles de detectar. Basta con una persona por disciplina, o quizs dos. Implicar a ms personas hace que las revisiones sean largas y difciles de administrar. Revise todo el cdigo y los diseos. Para lograr calidad en su producto, se debe revisar el cdigo y el diseo de todo el trabajo. Las revisiones deben incluir comprobaciones de compilador, pruebas unitarias, documentacin del diseo y documentacin de resultados.

Las instrucciones siguientes proporcionan varias tcnicas para escribir cdigo seguro:

Utilice las herramientas de anlisis de cdigo. Estas herramientas encuentran errores ocultos con mayor eficacia y menos esfuerzo. Realice una revisin de seguridad. El objetivo de toda revisin de seguridad es mejorar la seguridad de los productos que ya se han lanzado (mediante revisiones y correcciones) o garantizar que no se distribuya ningn producto nuevo hasta que sea lo ms seguro posible. No revise el cdigo de forma aleatoria. Prepare de antemano la revisin de seguridad y comience por crear un modelo exhaustivo de amenazas. Si no hace, puede desperdiciar mucho tiempo de su equipo. D prioridad al cdigo que debe recibir la revisin de seguridad ms intensa e indique qu errores de seguridad hay que buscar. Sea concreto en cuanto a lo que se debe buscar durante una revisin de seguridad. Cuando se buscan problemas concretos, normalmente se encuentran. Examnelo con mayor atencin si el equipo encuentra varios errores de seguridad en una seccin; probablemente indique que existe un problema de arquitectura que hay que solucionar. Si no encuentra ningn error de seguridad, normalmente significa que la revisin de seguridad no se realiz correctamente. Realice revisiones de seguridad como parte de la estabilizacin de cada hito y de la insercin de lneas de productos mayores establecidas por la direccin.

Utilice una lista de comprobacin de revisin de cdigo para mayor seguridad. Independientemente de la funcin que desempee en el equipo de desarrollo de software, resulta de gran utilidad disponer de una lista de comprobacin que seguir a fin de garantizar que el diseo y el cdigo cumplen los requisitos mnimos. Valide todos los datos introducidos por los usuarios. Si permite que la aplicacin acepte datos proporcionados por los usuarios, directa o indirectamente, debe validar esos datos antes de utilizarlos. Los usuarios malintencionados intentarn provocar errores en la aplicacin manipulando los datos de modo que representen datos no vlidos. La primera

12

regla para los datos introducidos por el usuario es: todos los datos son errneos hasta que se demuestre lo contrario. Extreme las precauciones cuando utilice expresiones regulares para validar los datos introducidos por el usuario. Para expresiones complejas como las direcciones de correo electrnico, es fcil pensar que se efecta una validacin completa cuando no es as. Pida a sus compaeros que revisen todas las expresiones regulares.

Valide perfectamente todos los parmetros de las interfaces de programacin de aplicaciones (API) exportadas. Asegrese de que todos los parmetros de las API exportadas son vlidos. Esto incluye los datos que parecen ser coherentes pero que estn ms all del intervalo de valores aceptado, como los tamaos bfer excesivos. No utilice aserciones para comprobar los parmetros de las API exportadas, porque las aserciones se quitarn en la versin de lanzamiento.

Se debe evitar:

Las saturaciones del bfer. Una saturacin del bfer esttica se produce cuando un bfer declarado en la pila se sobrescribe porque se copian datos ms grandes que l. Las variables declaradas en la pila se ubican junto a la direccin de devolucin del llamador de la funcin. Las saturaciones del bfer tambin pueden aparecer en el montn y son igualmente peligrosas. Normalmente, la causa suele residir en datos introducidos por el usuario que se pasan a una funcin como strcpy, con el resultado de que la direccin de devolucin de la funcin se sobrescribe por una direccin elegida por el atacante. Para evitar las saturaciones del bfer, es fundamental escribir una aplicacin robusta. Aserciones para la comprobacin de los datos externos. Las aserciones no se compilan en las versiones de lanzamiento. No utilice aserciones para comprobar los datos externos. Todos los parmetros de las funciones y los mtodos exportados, todos los datos introducidos por el usuario y todos los datos de los archivos y socket deben verificarse atentamente para comprobar su validez, y rechazarse si hay algn error. Combinaciones de Id. de usuario y contrasea dentro del cdigo. No utilice contraseas contenidas dentro del cdigo. Modifique el instalador para que, al crear las cuentas de usuario integradas, se soliciten al administrador contraseas seguras para cada cuenta. De esta manera, se puede mantener la seguridad de los sistemas de nivel de produccin del cliente. Utilizar el cifrado para resolver todos los problemas de seguridad. El cifrado resuelve muy bien un reducido conjunto de problemas y se utiliza con frecuencia de maneras para las que no est diseado. Rutas de acceso a archivos y direcciones URL cannicas. Evite situaciones donde sea importante la ubicacin de un archivo o una direccin URL. Utilice ACL del sistema de archivos en lugar de reglas basadas en nombres de archivo cannicos.

13

Se recomienda:

Revise todos los defectos de seguridad anteriores de la aplicacin. Conozca bien los errores de seguridad que ha cometido en el pasado. Con frecuencia, el cdigo se escribe basndose en la repeticin de modelos. Por consiguiente, un error en una ubicacin de una persona podra indicar que existe el mismo error en otras ubicaciones de otras personas. Revise todas las rutas de acceso a errores. A menudo, el cdigo de las rutas de errores no se prueba bien y no limpia todos los objetos, como los bloqueos o la memoria asignada. Revise con atencin estas rutas de errores y, si es preciso, cree pruebas de insercin de errores para ejecutar el cdigo.

No se recomienda: Privilegios de administrador para que se ejecute la aplicacin. Las aplicaciones deben ejecutarse con el menor privilegio necesario para realizar el trabajo. Si un usuario detecta una vulnerabilidad de seguridad e inserta cdigo en el proceso, este cdigo malintencionado se ejecutar con los mismos privilegios que el proceso husped.

14

2.3. Comunicacin de equipo y de grupo.

Comunicacin Los lingistas y los tericos definen comunicacin como la transmisin de un lugar a otro de una determinada informacin, y ms concretamente, como el proceso de transmisin de informaciones de un emisor A a un receptor B a travs de un medio C. Todos los elementos que intervienen en esta transmisin integran el sistema de comunicacin. Desde un punto de vista lingstico la informacin ha de tener un carcter intencional y comunicativo. Habra, pues que diferenciar el indicio de la seal. El primero es un hecho que nos hace conocer algo a propsito de otro hecho no perceptible. La segunda es un indicio producido intencionadamente por el emisor para manifestar una intencin al receptor.

Elementos que intervienen en el proceso de comunicacin Los elementos imprescindibles en cualquier acto de comunicacin son: Emisor. Emite el mensaje y puede ser persona, grupo, animal o mquina. Receptor. Recibe el mensaje. Cdigo. Conjunto de signos y de reglas que combinados se utilizan para construir el mensaje. Mensaje. Informaciones que el emisor enva al receptor. Pueden ser unilaterales o bilaterales, dependiendo de si el mensaje llega o no de forma inmediata al receptor y de si se da o no comunicacin recproca. Estas caractersticas dependen de dos factores: a) De la situacin temporal o espacial en que se realiza el mensaje. (Libros o televisin). b) De la desigualdad en el conocimiento del cdigo por parte del emisor y el receptor, posiblemente por causas sociales o culturales. Canal. Va por la que circula el mensaje.

Los elementos no imprescindibles o extralingsticos del proceso de comunicacin son: Referente. Es el objeto, de carcter material o no, al que representa o al que remite el mensaje o el signo. Situacin. Conjunto de circunstancias espaciales y temporales, sociales e incluso personales en medio de las cuales se desarrolla la comunicacin. Ruido. Defectos que originan una prdida de informacin o que dificultan la comprensin del mensaje.

15

Teora de la Informacin El principio de la comunicacin supone una posibilidad de eleccin. El emisor escoge un mensaje del conjunto de mensajes disponibles; el receptor teniendo en cuenta esas alternativas podr interpretar adecuadamente el contenido del mensaje. La cantidad de informacin que es capaz de suministrar un estmulo depende del nmero de elecciones posibles o alternativas y de las posibilidades de ocurrencia. El contenido informativo vara en proporcin inversa a la probabilidad. La cantidad de informacin se mide en bits (binary digits). En un proceso de comunicacin hemos de tener en cuenta la redundancia en la codificacin del mensaje. Esta se origina por una serie de reglas superfluas y consiste en el desequilibrio informativo entre el contenido informativo y la cantidad de distinciones requeridas para identificarlo. Su funcin es compensar los posibles ruidos. Existiran dos tipos de redundancia: Redundancia inherente. Pertenece intrnsecamente al cdigo. (Gnero y nmero). Redundancia libre. Introducida por el emisor. (Dobletes de CI).

En la recepcin de un mensaje siempre queda un grado de incertidumbre, tenemos un conocimiento parcial de la fuente de informacin. Este grado de incertidumbre lo llamamos entropa, que a veces se define como lo opuesto a la informacin. En un acto de comunicacin hay informacin en tanto aumenta el conocimiento del emisor. Cuanto ms previsible sea la aparicin de una unidad de comunicacin, menor contenido aportar. Habr significacin cuando pueda ser decodificada por el receptor.

Proceso de Comunicacin

Codificacin / Decodificacin. No hay que olvidar que el fin ltimo de un sistema de la lengua es la comunicacin entre un hablante y uno o varios oyentes, siempre que posean en su mente un sistema lingstico comn. El proceso de comunicacin es un proceso de codificacin, llamado onomasiolgico. Ante un referente real o mental (estructura profunda de Chomsky), el hablante concibe un mensaje y tiene la intencin de transmitirlo, para ello lo codifica segn las reglas del cdigo que utiliza; en el caso del lenguaje verbal, debe pasar por varios niveles de codificacin: nivel semntico, sintctico, morfolgico y fonolgico.

16

El proceso de recepcin se conoce con el nombre de proceso semasiolgico, se produce a la inversa que el proceso onomasiolgico.

Ostensin / Inferencia. Segn Sperber y Wilson (1986) la comunicacin humana no es slo un proceso de codificacin decodificacin. Ostensin e inferencia se refieren, respectivamente a la produccin y a la interpretacin de evidencias o pruebas. La comunicacin ostensiva consiste, por tanto, en crear pruebas o evidencias que atraigan la atencin sobre un hecho para comunicara que algo es de una determinada manera, con la intencin de que el otro infiera a qu realidad se est haciendo referencia y con qu objetivo. "Esta habitacin es un horno". Si lo aplicamos en un contexto plenamente helador, dnde estara la irona de no mediar la ostensin-inferencia?

Funciones del lenguaje Emisor = Expresiva. Receptor = Conativa. Canal = Ftica. Cdigo = Metalingstica. Contexto o referencia = Referencial. Mensaje = Potica.

Concepto de situacin

La situacin es el conjunto de los elementos extralingsticos presentes en el momento de la comunicacin. El trmino "contexto de situacin" fue propuesto por Malinowski para definir el escenario donde funciona el lenguaje. Este concepto se refiere slo a las caractersticas que son pertinentes al discurso que se est produciendo.

17

Elementos de la situacin comunicativa. Para Hymes los rasgos del contexto de situacin que pueden ser relevantes para identificar el tipo de acto comunicativo, dentro de un enfoque pragmtico son: El emisor. No se entiende en el enfoque pragmtico como un mero decodificador sino como un sujeto real, con sus conocimientos y creencias. El destinatario. Slo se refiere a sujetos y no a mecanismos de decodificacin. El mensaje est construido para l y condiciona la forma del mensaje. El tema. El enunciado. Expresin lingstica que produce el emisor, construido segn un cdigo lingstico. Cada intervencin del emisor es un enunciado. El marco. Coseriu habla de contexto extraverbal para referirse al conjunto de "circunstancias no lingsticas que se perciben directamente o que son conocidas por el hablante". Las relaciones fsicas de los interactantes: gestos... El canal. El cdigo. La forma del mensaje. La intencin. Necesaria para interpretar correctamente los enunciados. La informacin pragmtica. Constara de tres componentes: Informacin general (conocimiento del mundo), situacional (conocimiento derivado de lo que los interlocutores perciben durante la interaccin) y contextual (se deriva de las expresiones lingsticas intercambiadas en el discurso inmediatamente precedente).

Otra forma de clasificar los rasgos que intervienen en la situacin comunicativa es la siguiente: Datos no fsicos. Conocimientos previos de los hablantes acerca del objeto de comunicacin, el uno del otro, de las relaciones que los unen. Datos fsicos. Aportados por el entorno. Datos kinsicos, proxmicos, paralingsticos...

18

Comunicacin de equipos y grupos La comunicacin en grupo se da de dos maneras: Interna. La interaccin entre los individuos que forman el grupo. Externa. La interaccin del grupo con un pblico u otros grupos.

Las personas se integran en grupos bsicamente por dos razones: Para realizar una tarea y para lograr mayor desarrollo personal. La comunicacin en grupo tiene diversos objetivos: Intercambiar informacin, conocimiento o experiencias. Intentar la solucin de problemas; establecer criterios, normas o polticas. Resolver una dificultad administrativa, cientfica o tecnolgica. Tomar decisiones o recomendar un curso de accin. Llegar a un consenso con la participacin de todos los reunidos. Formular nuevas metas de acuerdo con los logros alcanzados.

La comunicacin ineficiente puede causar el fallo de los equipos. stos no se forman si no se pueden comunicar regularmente. Las barreras comunes de la comunicacin incluyen falta de buzn de voz, falta de correo electrnico, nmero insuficiente de salas de conferencias, y separacin de los miembros del equipo en lugares geogrficamente dispersos.

Existen distintos medios de comunicacin, ya sean internos o externos, algunos son:

Comunicacin cara a cara. Informes. Grficas. Publicidad. Diagramas (UML por ejemplo, en el caso de proyectos de software). Correo electrnico. Boletines de noticias electrnicos. Pgina WEB. Sistemas de video conferencia.

19

Figura 1. Modos de comunicacin (Efectividad, mejores y peores)

Comunicacin en equipos de software La dificultad en el desarrollo de un proyecto de software no radica en lo tcnico si no en lo sociolgico, y ms concretamente en la comunicacin. La comunicacin efectiva depende de varias caractersticas del proyecto. La informacin debe ser fcil de consultar. Reservar la informacin y darla a conocer (cuando haga falta) es malo para la moral de un proyecto de desarrollo rpido. Debemos poner toda la informacin relevante, incluyendo documentos, hojas de clculo y material de planificacin de proyectos, en el control de versiones, y ponerla en lnea a disposicin de todos. La informacin tiene que venir de fuentes fidedignas. La confianza del equipo en la toma de decisiones (el punto hasta el que toman las decisiones de forma activa o rpida) depende de lo fiable que sea la informacin sobre la que basa sus decisiones. Los miembros del equipo necesitan tener oportunidades para plantear cuestiones que no se encuentren en la agenda formal. La palabra formal es clave. Los miembros del equipo necesitan oportunidades informales para plantear cuestiones nuevas en un entorno en el que los cargos, posiciones, tamaos de despacho y luchas por el poder no se tengan en cuenta. Esto forma parte de la razn subyacente en el xito de mtodos de gestin informales tales como gestin mediante visitas.

20

El sistema de comunicacin tiene que reflejar las cuestiones planteadas y las decisiones tomadas. Mantener un registro minucioso evita que el equipo retroceda para plantearse decisiones pasadas. Dentro de un proyecto de software es muy importante presentar y comunicar los datos. El estado del proyecto necesita ser monitoreado por los administradores del proyecto de software, pero la informacin recopilada tambin necesita ser compartida con el resto del equipo. Los proyectos de software se estn volviendo cada vez ms largos y complejos que el esfuerzo de equipo se considera esencial para el xito de un proyecto. La forma especfica de representacin y comunicacin elegida depende del tipo de proyecto, la intencin de la representacin de los datos, y el pblico. Las siguientes formas son especialmente populares entre los administradores de proyectos de software actualmente: Formas tabulares, para transmitir una gran cantidad de detalles del proyecto. Los grficos de barras, para mostrar una visin global del proyecto. Los grficos de control, para poner de relieve las tendencias y los lmites del proyecto. Los grficos circulares, para mostrar la informacin relativa y proporcional del proyecto. Histogramas, para mostrar comparaciones relativas del proyecto.

El tipo de beneficiarios y el propsito de la comunicacin dictarn la frecuencia y el medio usado para el intercambio de informacin. Si la informacin es publicada electrnicamente, los administradores del proyecto debern asegurarse que sta fue recibida y revisada pidiendo algn tipo de contestacin.

Comunicacin de equipos de software con el cliente Antes de que los requisitos del cliente puedan analizarse, modelarse o especificarse, stos deben recopilarse por medio de una actividad de comunicacin (tambin llamada obtencin de requisitos). Un cliente tiene un problema que se puede ajustar a una solucin basada en computadora. Un desarrollador responde a la solicitud de ayuda del cliente. La comunicacin ha comenzado. Pero el camino desde la comunicacin hasta el entendimiento suele estar lleno de baches. La comunicacin efectiva (entre pares tcnicos, con el cliente u otros participantes del software y con los gerentes de proyecto) est entre las actividades ms desafiantes que enfrenta un ingeniero de software. En este contexto se examinan los principios y conceptos de comunicacin de acuerdo con la manera en que se aplican en la comunicacin con el cliente. Sin embargo, muchos de los principios se aplican del mismo modo a las formas de comunicacin que ocurren dentro de un proyecto de software. Principios: 1. Escuchar. Se debe centrar la atencin en las palabras de quien habla, en vez de formular la respuesta a dichas palabras. Es necesario pedir una explicacin si algo no est claro, pero deben evitarse las interrupciones constantes.

21

2. Prepararse antes de comunicar. Se debe invertir algn tiempo en entender el problema antes de reunirse con otros. Si es necesario, se puede realizar una investigacin para entender el negocio y dominar la jerga. Si se tiene la responsabilidad de conducir la reunin, es recomendable preparar una agenda del da antes de la junta. 3. Alguien debe facilitar la actividad. Cualquier reunin de comunicacin debe tener un lder o mediador para mantener una conversacin dinmica y en una direccin productiva, para mediar en cualquier conflicto que ocurra o para asegurar que se sigan los principios anteriores. 4. La comunicacin cara a cara es lo mejor. Pero, por lo general, funciona mejor cuando est presente otra representacin de la informacin relevante. Por ejemplo, un participante podra crear un esquema o un documento que sirva como foco de la discusin. Como curiosidad importante, Bill Gates apunt que la principal ventaja del nuevo desarrollo de productos de Microsoft era el hecho de estar todos en el mismo sitio, ya que siempre que existan interdependencias se puede hablar cara a cara. 5. Tomar notas y documentar las decisiones. Las cosas suelen caer en malentendidos. Alguien que participe en la comunicacin debe servir como grabadora y escribir todos los puntos y decisiones importantes. 6. Buscar la colaboracin. La colaboracin y el consenso se presentan cuando el conocimiento colectivo de los miembros del equipo se combina para describir las funciones o caractersticas del producto o sistema. Cada pequea colaboracin sirve para construir confianza entre los miembros del equipo y crear una meta comn para dicho equipo. 7. Conservar el enfoque, examinar un mdulo a la vez. Entre ms gente est implicada en una comunicacin, ms posibilidades existen de que la discusin salte de un tpico al siguiente. El mediador debe mantener la conversacin centrada en un mdulo sin dejar un tema hasta que ste haya sido resuelto. 8. Si algo no est claro, se hace un dibujo. L comunicacin verbal slo llega hasta cierto punto. Con frecuencia un esquema o figura puede proporcionar claridad cuando las palabras fallan al realizar su trabajo. 9. Una vez que se llega a un acuerdo sobre algo, se debe continuar; si no se puede llegar a un acuerdo, se debe continuar; si una caracterstica o funcin no est clara y no se puede clarificar en el momento, se debe continuar. La comunicacin, como cualquier actividad de ingeniera del software requiere de tiempo. En lugar de que se itere sin fin, los participantes deben reconocer que hay muchos tpicos que requieren anlisis y que continuar algunas veces es la mejor forma de agilizar la comunicacin. 10. La negociacin no es un concurso o un juego. Funciona mejor cuando ambas partes ganan. En muchas ocasiones los ingenieros de software y el cliente deben negociar funciones y caractersticas, prioridades y fechas de entrega. Si el equipo ha colaborado de buena forma, todas las partes tienen una meta comn. Por lo tanto, la negociacin demandar el compromiso de todas las partes.

22

Factores que afectan la comunicacin Hay varios efectos que afectan la comunicacin en los grupos de trabajo de software incluyendo: 1. Proximidad fsica. Mientras ms cerca las personas estn de uno al otro ms sern las oportunidades de comunicacin. Al final del espectro 2 personas pueden estar trabajando lado por lado a la par programando en la misma estacin de trabajo y al otro fin del espectro pueden estar trabajando en diferentes edificios. 2. Proximidad temporal. Como sea si 2 personas estn trabajando al mismo tiempo afecta la comunicacin. Esto ya que perder el enlace con tus compaeros por cierto tiempo te hace olvidar como trabajan ellos. 3. Amabilidad. Amabilidad crea un espacio de trabajo limpio y estndar, una comunicacin sin tpicos maliciosos que desva de un buen desarrollo de software, y hace que se centre puramente en el desarrollo con valores. En resumen cuando personas estn trabajando alrededor tuyo a esto se refiere cercas fsicamente y temporalmente, existe una comunicacin osmtica, un tipo de transferencia indirecta de informacin hacia tus compaeros y que recibes de tus compaeros, todo estos enlaces de comunicacin crean un circulo de comunicacin que mientras mejor sean los factores que la beneficien, los compaeros de trabajo compartirn mas informacin.

23

2.4. Habilidades de Presentacin.

Los Ocho Puntos de Accin para el xito son: Presencia Voz Contenido Intencin Estado Atencin Dominio Emocin

Presencia. Piensa en tu postura, tu posicin en el escenario, encarando la audiencia al frente, o en un ngulo con un pi detrs del otro. Cuando te muevas, hazlo con cuidado y atencin y haz tus gesticulaciones ms grandes y significativas. Consejos: Puedes experimentar esto enfrente de una audiencia en vivo, o simplemente habla con unos amigos y pdeles retroalimentacin de la forma en que te mueves. Si no puedes hacerlo de esta forma, consigue un espejo de cuerpo completo y mrate a ti mismo hacindolo. Voz. Piensa en tu tonalidad, ritmo, volumen, flexibilidad y alcance. Consejos: Pon atencin a las respuestas de tu audiencia, pide a algunos amigos una retroalimentacin constructiva sana y honesta, y grbate - aunque la nica forma de hacerlo sea grabando un mensaje en la contestadora del telfono. Debemos evitar un tono de voz montona y de bajo volumen ya que lleva a la audiencia a desconectar y a perder inters en la exposicin. Conviene aprovechar cualquier oportunidad para hablar en pblico ya que dominar la voz solo se consigue con la prctica. Es importante aprender a modular la voz, es decir, a subir o bajar el volumen, cambiar ritmo hacer nfasis en determinadas palabras. Con todo ello conseguiremos captar la atencin del pblico ms fcilmente. Es muy positivo hacer nfasis en los puntos importantes del discurso, es decir, destacar las ideas y resaltar las conclusiones.

24

Cada vez que realicemos una afirmacin, debemos hablar con determinacin, voz firme, alta y sin titubeos. Es imprescindible para transmitir correctamente el mensaje, hablar claro y hacer un esfuerzo en vocalizar correctamente. Cuando hablemos en pblico hay que hacer un esfuerzo por hablar alto, lo suficiente para que nos oigan claramente todos los oyentes. Es muy frecuente hablar demasiado rpido debido a los nervios. Debemos tener en cuenta este aspecto y tratar de hablar de una manera sosegad, sobre todo al principio del discurso. Hablar lento facilita enormemente la comprensin y adems proyecta al espectador una imagen de seguridad.

Contenido. Conoce tu materia por dentro y por fuera, de forma que pueda ser entregada fluidamente, sin necesidad de notas, mientras, tu atencin est afuera, enfocada en tu audiencia. Obtn un sistema de memoria efectivo para organizar o haz un Mapa Mental de la estructura en trozos tiles, de forma que puedas ser flexible en la entrega. Consejos: Mientras tus herramientas de memoria o mapas mentales pueden ser en papel, querrs almacenar esto internamente / en tu mente para mejores efectos. Intencin. Cules son tus propsitos con esta presentacin - Qu quieres que tu audiencia sepa o sea capaz de hacer al final? En qu estados de aprendizaje poderosos necesitan estar mientras ests en el proceso de accederlos, de forma de ser capaces de lograr el propsito? Consejo: Vale la pena algo de pensamiento y planeacin previos, para obtener una excelencia inconsciente despus. Estado. Primero sin estado, en tu propio estado, apilando los recursos que quieres para esta presentacin. Tus propias anclas establecidas para usarlas mientras te mueves suavemente por los estados en los que quieres dirigir primero a tu audiencia. Entonces para tu audiencia piensa acerca de anclas visuales, auditivas y cenestsicas "ciclos anidados", etc. Atencin. Tu atencin necesita estar afuera - usa "miradas suaves" para usarla en toda la audiencia y rastrea las respuestas. Usa la Hypnomirada del Dr. Richard Bandler para envolver a la audiencia hacia cualquier estado que quieras. Consejos: Miradas suaves significa relajar la mirada de forma que puedas ver a todos en tu vista perifrica. La Hypnomirada se experimenta mejor en persona. Dominio / Control. Domina tu espacio Mantener el tiempo, preguntas etc. Personas problemticas, interrupciones etc.

25

Es tu responsabilidad asegurar que cada aspecto del ambiente de entrenamiento soporta la experiencia y aprendizaje de los participantes. Consejos: Piensa acerca de la luz, calefaccin, agua a la mano, breaks adecuados, y cambios regulares en ritmo y actividades. Comienza a tiempo y prepara la atmsfera correcta para asegurar que los participantes llegan a tiempo, soporta las experiencias mutuas y que nadie se "cuelgue" en las preguntas o en el tiempo y atencin del presentador. Energa. S apasionado acerca de tu tema, entrgalo con impulso y entusiasmo si no te importa, no lo hagas (o si lo tienes que hacer, encuentra una razn que te motive primero). Consejos: Mucha energa y pasin no significa estar en un estado de excesiva actividad, productividad o concentracin. La energa que pones en la presentacin puede ser algo fuerte, regular, tico y congruente, y puede moverse a lo largo del rango completo de estados.

En otras palabras: Habilidad para hablar en voz alta clara. Capacidad para organizar los propios pensamientos e ideas para que las ideas fluyan suavemente. Con un lenguaje que es fcil de entender sin perder la audiencia. La capacidad de cautivar al pblico. Una buena manera es hacer la presentacin interactiva haciendo preguntas a la audiencia. El uso de ejemplos y ayudas visuales.

El lenguaje Corporal. El Lenguaje Corporal es todo aquel conjunto de movimientos, gestos, actitudes que realizamos consciente e inconscientemente cuando nos comunicamos. -A travs del lenguaje corporal, el orador transmite mensajes como pueden ser los nervios, la timidez, seguridad, confianza, dominio, entusiasmo o vacilacin. El pblico capta todo ese conjunto de gestos con total claridad. Desde el primer momento en que se empieza la exposicin, debemos utilizar el lenguaje corporal en sentido positivo. Hay que saber transmitir serenidad y espontaneidad evitando aquellos gestos, actitudes y movimientos que resulten exagerados.

26

Es conveniente no quedarse quieto o rgido ya que la monotona y ayuda a captar la atencin del espectador. Se debe mantener una postura cmoda, erguida, natural y no forzada. Un factor muy importante que no conviene olvidar es establecer el contacto visual con el auditorio desde el primer momento. Los gestos relajados del rostro ayudan notablemente a atraer la atencin del pblico. Una sonrisa agradable siempre tiene un muy buen efecto. Los movimientos de las manos deben estar cuidados, ni inmviles ni en constante movimiento. Son tiles para enfatizar las ideas o conceptos cruciales que estn describiendo. La postura debe ser erguida y relajada. La posicin en el escenario debe ser aquella que permita a todos los espectadores vernos con claridad.

Importante para captar la atencin: El orador debe tratar de ganarse al pblico independientemente de que este coincida con los argumentos expuestos para captar la atencin del pblico debemos tener en cuenta una serie de factores, como los siguientes: Al pblico se le gana con simpata y amabilidad. Es importante saludar al auditorio desde el primer momento, estableciendo contacto visual y agradecer de forma sincera su presencia. Mostrar una imagen amable, tanto en el lenguaje corporal como en el tono de la voz. Mirar al pblico. El contacto visual es fundamental para mantener el hilo conductivo de la exposicin. Siempre resultan agradables unos toques de humor sano y sobrio que ayudan a relajar la tensin, avivar el inters y mantener la atencin del oyente. Tambin se puede dar la oportunidad al pblico de participar en la exposicin. El orador deber estar atento a las reacciones del auditorio, tratando de detectar indicios de prdidas de atencin (mirar al reloj, hablar comn compaero, leer un folleto). Si se observan signos de desatencin, es aconsejable cambiar el tono de la voz, enfatizar, comentar alguna ancdota curiosa o emplear el humor.

La persuasin:

27

Persuadir significa convencer a las personas mediante argumentos. Es necesario: Ser moderado y estar calmado. Conceder la razn en algunos temas con ecuanimidad. Desarrollar una explicacin slida.

Recursos de la persuasin: Mostrar apasionamiento por el tema tratado. Sonrer y ser agradable en trato personal. Considerar con mximo inters las preguntas o intervenciones de los oyentes. Transmitir valores humanos positivos (generosidad, aplicacin, honestidad, deseo, felicidad).

La persuasin es eficaz cuando estn en juego los temas relacionados con: El dinero, por ejemplo: este procedimiento permitir ahorrar a la empresa unos costes de El tiempo, por ejemplo: la implantacin del just in time permite reducir los tiempos de fabricacin en torno a un 15%...) El trabajo, por ejemplo: estamos comprometidos con aumentar la productividad de nuestros trabajadores La ciencia (cualquier argumento que se articule apoyndose en principios cientficos obtendr muy poca oposicin)

28

DESARROLLO DE INTERFACES EN LAS APLICACIONES

Interfaz de programacin de aplicaciones o API (del ingls Application Programming Interface) es el conjunto de funciones y procedimientos (o mtodos, en la programacin orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstraccin. Son usadas generalmente en las bibliotecas (tambin denominadas comnmente "libreras"). Caractersticas Una interfaz de programacin representa la capacidad de comunicacin entre componentes de software. Se trata del conjunto de llamadas a ciertas bibliotecas que ofrecen acceso a ciertos servicios desde los procesos y representa un mtodo para conseguir abstraccin en la programacin, generalmente (aunque no necesariamente) entre los niveles o capas inferiores y los superiores del software. Uno de los principales propsitos de una API consiste en proporcionar un conjunto de funciones de uso general, por ejemplo, para dibujar ventanas o iconos en la pantalla. De esta forma, los programadores se benefician de las ventajas de la API haciendo uso de su funcionalidad, evitndose el trabajo de programar todo desde el principio. Las APIs asimismo son abstractas: el software que proporciona una cierta API generalmente es llamado la implementacin de esa API. Por ejemplo, se puede ver la tarea de escribir "Hola Mundo" sobre la pantalla en diferentes niveles de abstraccin: 1. Haciendo todo el trabajo desde el principio: 1. Traza, sobre papel milimetrado, la forma de las letras (y espacio) "H,o, l, a,M,u, n, d, o". 2. Crea una matriz de cuadrados negros y blancos que se asemeje a la sucesin de letras. 3. Mediante instrucciones en ensamblador, escribe la informacin de la matriz en la memoria intermedia ("buffer") de pantalla. 4. Mediante la instruccin adecuada, haz que la tarjeta grfica realice el volcado de esa informacin sobre la pantalla. 2. Por medio de un sistema operativo para hacer parte del trabajo: 1. Carga una fuente tipogrfica proporcionada por el sistema operativo. 2. Haz que el sistema operativo borre la pantalla. 3. Haz que el sistema operativo dibuje el texto "Hola Mundo" usando la fuente cargada. 3. Usando una aplicacin (que a su vez usa el sistema operativo) para realizar la mayor parte del trabajo: 1. Escribe un documento HTML con las palabras "Hola Mundo" para que un navegador Web como Google Chrome, Mozilla, Firefox, Opera o Internet Explorer pueda representarlo en el monitor. Como se puede ver, la primera opcin requiere ms pasos, cada uno de los cuales es mucho ms complicado que los pasos de las opciones siguientes. Adems, no resulta nada prctico usar el primer planteamiento para representar una gran cantidad de informacin, como un artculo enciclopdico sobre la pantalla, mientras que el segundo enfoque simplifica la tarea eliminando un

29

paso y haciendo el resto ms sencillos y la tercera forma simplemente requiere escribir "Hola Mundo". Sin embargo, las APIs de alto nivel generalmente pierden flexibilidad; por ejemplo, resulta mucho ms difcil en un navegador web hacer girar texto alrededor de un punto con un contorno parpadeante que programarlo a bajo nivel. Al elegir usar una API se debe llegar a un cierto equilibrio entre su potencia, simplicidad y prdida de flexibilidad . Ejemplos de interfaces de programacin

Microsoft WMI Microsoft Win32 API Microsoft Framework .NET OpenGL OpenCL Java EE API for SCSI device interfacing The Carbon APIs for the Macintosh OS Common Object Request Broker Architecture (CORBA) Symfony para PHP Drupal API Django para Python

Habilidades de Gestin y la Jerarqua Organizacional

Habilidades Tcnicas. Conocimiento y pericia en actividades que involucran mtodos, procesos y procedimientos. Esto implica trabajar con herramientas y tcnicas especficas. Habilidades Humanas. Habilidad para trabajar con gente, del esfuerzo cooperativo, del trabajo en equipo, de la creacin de un ambiente donde la gente se sienta segura y libre de expresar sus opiniones. Habilidades Conceptuales. Habilidad para ver la Imagen Completa (the big picture), para reconocer los elementos relevantes de una situacin, y para entender las relaciones entre los elementos. Habilidades de Diseo. Habilidad para resolver problemas de manera que beneficie a la empresa. Para ser efectivos, particularmente en los niveles organizacionales altos, los gerentes deben ser capaces de ms que slo ver un problema. Si los gerentes solamente ven

30

los problemas y se transforman en observadores de problemas, fallarn. Deben tener, adems, la habilidad de un buen ingeniero de diseo para generar una solucin prctica a un problema. Planificacin de un Proyecto de Ingeniera de Software. La planificacin involucra la especificacin de objetivos y metas para un proyecto y las estrategias, polticas, planes y procedimientos para alcanzarlos. Todo proyecto de ingeniera de software debe partir con un buen plan. La planificacin es necesaria por la existencia de incertezas sobre el ambiente del proyecto software y sobre fuentes externas. La planificacin enfoca su atencin en las metas del proyecto, riesgos potenciales y problemas que puedan interferir con el cumplimiento de esas metas. Los principales problemas en la planificacin de un proyecto de ingeniera de software incluyen los siguientes: Requerimientos incorrectos e incompletos. Muchas especificaciones de requerimientos son inestables y sujetas a cambios mayores. La planificacin no se lleva a cabo por la creencia errnea de que es una prdida de tiempo y los planes cambiarn de todos modos. La planificacin de costos y plazos no es actualizada y se basa en necesidades de mercadeo y no de los requerimientos del sistema. Es difcil estimar el tamao y complejidad del proyecto de software de modo de realizar una estimacin de costos y plazos realista. Los costos y plazos no son re estimados cuando los requerimientos del sistema o el ambiente de desarrollo cambia. No se manejan factores de riesgo. La mayora de las organizaciones de desarrollo de software no recolectan datos de proyectos pasados. Las compaas no establecen polticas o procesos de desarrollo de software.

HABILIDAD PARA REALIZAR UN SOFTWARE El desarrollo de software no es una tarea fcil. Prueba de ello es que existen numerosas propuestas metodolgicas que inciden en distintas dimensiones del proceso de desarrollo. Por una parte tenemos aquellas propuestas ms tradicionales que se centran especialmente en el control del proceso, estableciendo rigurosamente las actividades involucradas, los artefactos que se deben producir, y las herramientas y notaciones que se usarn. Estas propuestas han demo strado ser efectivas y necesarias en un gran nmero de proyectos, pero tambin han presentado problemas en otros muchos. Una posible mejora es incluir en los procesos de desarrollo ms actividades, ms artefactos y ms restricciones, basndose en los puntos dbiles detectados. Sin embargo, el resultado final sera un proceso de desarrollo ms complejo que puede incluso limitar la propia habilidad del equipo para llevar a cabo el proyecto. Otra aproximacin es centrarse en otras dimensiones, como por ejemplo el factor humano o el producto software. Esta es la filosofa de las metodologas giles, las cuales dan mayor valor al individuo, a la colaboracin con el cliente y al des arrollo incremental del software con iteraciones muy cortas . Este enfoque est mostrando su efectividad en proyectos con requisitos muy cambiantes y cuando se exige reducir drsticamente los tiempos de desarrollo pero manteniendo una alta calidad. Las metodologas

31

giles estn revolucionando la manera de producir software, y a la vez generando un amplio debate entre sus seguidores y quienes por escepticismo o convencimiento no las ven como alternativa para las metodologas tradicionales. En este trabajo se presenta resumidamente el contexto en el que surgen las metodologas giles, sus valores, principios y comparacin con las metodologas tradicionales. Adems se describen brevemente las principales propuestas, especialmente Programacin Extrema (eXtreme Programming, XP) la metodologa gil ms popular en la actualidad. HERRAMIENTAS PARA ELABORAR UN PROYECTO DE SOFTWARE En las dos ltimas dcadas las notaciones de modelado y posteriormente las herramientas pretendieron ser las "balas de plata" para el xito en el desarrollo de software, sin embargo, las expectativas no fueron satisfechas. Esto se debe en gran parte a que otro importante elemento, la metodologa de desarrollo, haba sido postergado. De nada sirven buenas notaciones y herramientas si no se proveen directivas para su aplicacin. As, esta dcada ha comenzado con un creciente inters en metodologas de desarrollo. Hasta hace poco el proceso de desarrollo llevaba asociada un marcado nfasis en el control del proceso mediante una rigurosa definicin de roles, actividades y artefactos, incluyendo modelado y documentacin detallada. Este esquema "tradicional" para abordar el desarrollo de software ha demostrado ser efectivo y necesario en proyectos de gran tamao (respecto a tiempo y recursos), donde por lo general se exige un alto grado de ceremonia en el proceso. Sin embargo, este enfoque no resulta ser el ms adecuado para muchos de los proyectos actuales donde el entorno del sistema es muy cambiante, y en donde se exige reducir drsticamente los tiempos de desarrollo pero manteniendo una alta calidad. Ante las dificultades para utilizar metodologas tradicionales con estas restricciones de tiempo y flexibilidad, muchos equipos de desarrollo se resignan a prescindir del .buen hacer. de la ingeniera del software, asumiendo el riesgo que ello conlleva. En este escenario, las metodologas giles emergen como una posible respuesta para llenar ese vaco metodolgico. Por estar especialmente orientadas para proyectos pequeos, las metodologas giles constituyen una solucin a medida para ese entorno, aportando una elevada simplificacin que a pesar de ello no renuncia a las prcticas esenciales para asegurar la calidad II99del producto Compiladores Los compiladores son programas que "traducen" un fichero de cdigo fuente de cualquier lenguaje interpretado al lenguaje ensamblador, y llama cuando sea necesario al ensamblador y al linker (enlazador). Los ms importantes son GCC (para C), G++ (para C++), G77 (para Fortran 77), Microsoft Visual C++, etc. Ensambladores Los ensambladores son aquellos programas que se encargan de desestructurar el cdigo en lenguaje ensamblador y traducirlo a lenguaje binario. Los archivos en lenguaje binario sern posteriormente enlazados en un nico fichero, el ejecutable.

32

Los ms importantes son tas, gas, nasm... Enlazadores (Linkers) Son los programas que enlazan varios ficheros objeto en lenguaje binario para crear un nico fichero, el ejecutable del programa. El ms importante es ld. Depuradores (Debuggers) Como su nombre indica, sirve para corregir bugs. Se encargan de ejecutar, paso a paso y advirtiendo de errores, valores de variables, etc. un programa. Son particularmente tiles cuando el programa parece estar bien, pero no da el resultado esperado (se cuelga, da resultados errneos...). El ms importante es GDB. Actualmente casi todas las IDEs incluyen uno, o deberan. Editores de texto Son tan importantes como un compilador (imaginate como programar sin editores), y actualmente suelen incluir funciones especficamente dedicadas a la programacin, como resaltado de sintaxis, autoindentacin, etc. Grandes editores de texto son GNU Emacs, Vim, Scite, Notepad++... Otras herramientas No son tan importantes como las anteriores, pero tambin tienen su importancia:

IDEs (Interfaz de Desarrollo Estructurada): juntan en un slo programa editor de texto, compilador, enlazador, ensamblador, depurador... Ejemplos de ellas son Anjuta, Dev-Cpp, Codeblocks... Programas de indentacin: sirven para aclarar el cdigo escrito confusamente. El nico que conozco es indent. De todas formas, un editor de texto medianamente decente suele incluir sus propias funciones de indentado.

33

Herramientas Software Hay muchsimas herramientas software para planificar y gestionar proyectos. Lo importante no es la herramienta sino que realmente nos ayude a ser productivos y en este sentido depende mucho de la persona. En mi opinin la mejor secuencia para adquirir una buena competencia sera:

Utilizar el papel. S, el papel porque es el mejor sistema (barato y rpido) para escribir y pintar Utilizar software bsico. Por ejemplo calendarios web, un editor de texto o una hoja de clculo Utilizar software especfico. El tpico es MS Project aunque hay muchos ms por ejemplo los que utilizan software libre y uno muy recomendable llamado Gantter (va web y similar a MS Project) Utilizar software prctico va web. Con un calendario on-line, una herramienta de control de tareas, de horas o incluso un weblog. Son herramientas baratas, simples y muy adecuadas para proyectos sencillos.

34

Bibliografa y fuentes:

Desarrollo y Gestin de Proyectos Informticos Steve McConnell Mc Graw Hill

Managing Software Projects Frank Tsui Jones and Bartlett Publishers 1st edition

(Ver en Google Libros)

Comunicaciones de la Organizacin Rodrguez, Daro; Opazo Mara Editorial Alfaomega

Ingeniera del Software: Un enfoque prctico * Roger S. Pressman Mc Graw Hill Sexta Edicin

Ingeniera del Software * Ian Sommerville Pearson Sptima Edicin

35