capitulo xii

18
Cursos técnicos gratuitos en línea Tome un curso gratuito en línea. http://www.microsoftvirtualacademy.com Microsoft Virtual Academy

Upload: danmar-vz

Post on 07-Nov-2015

230 views

Category:

Documents


3 download

DESCRIPTION

PROGRAMACION

TRANSCRIPT

  • Cursos tcnicos gratuitos en lnea

    Tome un curso gratuito en lnea.

    http://www.microsoftvirtualacademy.com

    Microsoft Virtual Academy

  • Aprendiendo a Programar

    Captulo XII

    Cmo encarar un proyecto tecnolgico?

  • Prototipos

    En algunas ingenieras o en arquitectura, se arman lo que se llaman prototipos del producto que se va a construir. Esto a veces es, o una versin de menor tamao de lo que se va a crear o una versin simplificada para mostrar como va a funcionar el objeto completo.

    En informtica, nosotros tambin podemos construir prototipos de nuestro proyecto ya sea para mostrarle al cliente o para nosotros poder transformar en realidad nuestras ideas e ir refinando lo que queremos construir.

    Esto puede ser tan sencillo como programar algunas pantallas simples que permitan la navegacin entre ellas, mostrando cierta informacin que puede no ser la real y final para poder darnos una idea de que es lo necesitamos cambiar y/o mejorar.

    USERResaltado

    USERResaltado

    USERResaltado

    USERResaltado

    USERResaltado

    USERResaltado

    Qu significa implementar un proyecto?

  • Prototipos y el desarrollo evolutivo

    El Modelo de prototipos, nos permite ejecutar un desarrollo evolutivo. Qu significa esto? Que nuestro sistema lo vamos a ir construyendo de a poco, agregando cosas sobre las que programamos previamente.

    El prototipo siempre debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar muchos recursos.

    La idea del prototipo es centrarnos en los aspectos del sistema que sern visibles para nuestro cliente o usuario de manera que ellos nos puedan dar su opinin; gracias a sta se refinan los requisitos del software que se desarrollar.

    Luego, el prototipo se ajusta para satisfacer las necesidades del cliente o usuario. Esto permite que al mismo tiempo entendamos mejor lo que tenemos que hacer y el cliente vea resultados a corto plazo.

    USERResaltado

    USERResaltado

    USERResaltado

    USERResaltado

  • Estimaciones

    Lo que vamos a tener que entender tambin para cualquier proyecto que encaremos, es lo referido a la estimacin de esfuerzo y alcance del proyecto. Esfuerzo se entiende como cuantas horas tenemos que invertir en todos los aspectos del proyecto para terminarlo, y el alcance son todas las funcionalidades, diseos y trabajos que estarn incluidos en el proyecto. El alcance es simplemente lo que va a ser parte del proyecto.

    Para poder definir el esfuerzo, obviamente primero deberemos tener claro nuestro alcance, porque sin saber lo que estar incluido en el proyecto no podremos saber cuantas horas deberemos dedicarle de trabajo.

  • Definiendo el alcance

    En computacin, lo que se llama Ingeniera de requerimientos tiene que ver con todas las tareas relacionadas con entender las necesidades o las condiciones a satisfacer para un sistema nuevo o modificado, tomando en cuenta los diversos requisitos de los clientes o usuarios.

    El propsito de esto es que entendamos de la mejor manera posible lo que hay que hacer antes de la fase de diseo en el proyecto. Los buenos requisitos deben ser medibles, comprobables, sin ambigedades o contradicciones, etc.

  • Ingeniera de requerimientos

    Las actividades que vamos a realizar para obtener los requisitos son de cinco clases.

    Obtener requisitos: a travs de entrevistas o comunicacin con clientes o futuros usuarios, para saber cules son sus expectativas.

    Analizar requisitos: detectar y corregir los problemas o la falta en la comunicacin, transformando los requisitos obtenidos de entrevistas, en condiciones apropiadas para ser diseadas.

    Documentar requisitos: igual que todas las etapas, los requisitos deben estar debidamente documentados. Esto nos sirve para saber exactamente que hacer, sin que haya malos entendidos

    Verificar los requisitos: consiste en comprobar en la aplicacin el correcto funcionamiento de lo que programamos basados en un requisito.

    Validar los requisitos: comprobar que los requisitos implementados se corresponden con lo que inicialmente se pretenda.

    USERResaltado

  • Ingeniera de requerimientos

    La ingeniera de requisitos puede ser un proceso largo y complejo para el que se necesitaremos de habilidades psicolgicas.

    Los analistas pueden emplear varias tcnicas para obtener los requisitos del cliente. Histricamente, se usaron tcnicas tales como las entrevistas, o talleres con grupos para crear listas de requisitos. En la actualidad tambin se incluyen el desarrollo de prototipos, y casos de uso (que no veremos ahora).

    Los requisitos formulados por los usuarios se toman como objetivos generales, a largo plazo, y se los debe analizar una y otra vez hasta determinar los objetivos crticos para el funcionamiento.

    Finalmente, se van a establecer formas de medir el progreso en la construccin, para evaluar en cualquier momento qu tan avanzado se encuentra el proyecto.

  • Estimando mi esfuerzo

    Lo primero que tienen que pensar es que independientemente de si ustedes son sus propios clientes o si es otro usuario, tienen que saber cuanto tiempo y esfuerzo le llevar hacer su proyecto. De otra manera, ustedes se frustrarn por no saber cuando finaliza el proyecto y su cliente, si lo tuviesen, se enojar porque probablemente el proyecto se extienda mas all de sus expectativas.

    Aunque la estimacin es ms un arte que una ciencia no es aconsejable empezar un proyecto sin ella. En la informtica muchos proyectos fracasan por no llevar a cabo de manera correcta esta actividad. Para un proyecto de software es necesario conocer el esfuerzo y el costo que tiene implicado.

    USERResaltado

  • Importancia de la estimacin y la gestin

    Veamos algunos nmeros que nos demuestran lo importante de una buena estimacin y gestin de un proyecto:

    El proyecto medio excede en un 90% lo presupuestado y un 120% su tiempo estimado.

    El 52.7% de los proyectos costar al menos un 189% de lo estimado.

    El tiempo de exceso medio es del 222% del estimado.

    Slo el 16.2% (9% en las grandes compaas) de los proyectos se completa en el plazo y presupuesto estimados.

    El 75% de los sistemas grandes funciona mal o es dejado de lado.

    El 15% del esfuerzo de desarrollo se desperdicia por cancelacin de los proyectos.

    El 50% de los proyectos grandes excede el presupuesto o el cronograma (en ms del 50%).

    Un proyecto medio excede en un 50% el plazo estimado.

    Los pequeos proyectos (en su gran mayora) exceden su presupuesto y se retrasan un 20%.

  • El mtodo Delphi

    Como podemos ver, es crucial entonces que hagamos un buen anlisis de nuestro proyecto antes de empezar a programar.

    En muchos lugares de trabajo, lo que van a encontrar que utilizan, an sin conocerlo formalmente, es el mtodo Delphi de estimacin.

    El mismo consiste en un grupo de personas que se renen, realizan un listado de tareas a realizar y luego asignan los tiempos necesarios de acuerdo a su experiencia. Luego se realiza un intercambio entre todos donde un responsable va consolidando las listas de tareas de todos, y tambin se expone el razonamiento detrs de las estimaciones de cada programador, buscando el consenso entre todos en base a la discusin. De esa reunin es que surge la estimacin final de esfuerzo para desarrollar el sistema que previamente relevamos con los clientes o usuarios.

  • Y ahora?

    Ya sabemos lo que el cliente quiere (aunque seamos nosotros), y tambin tenemos una idea de los tiempos necesarios para hacer nuestro sistema, y por ende, los costos.

    La manera de continuar es construyendo paso a paso, un prototipo que podremos ir mostrando

    De esta manera, podremos ir mostrando nuestro desarrollo, a la vez que medimos el avance mediante los indicadores que definimos cuando realizamos nuestro anlisis de requerimientos del sistema.

    La idea del prototipo es centrarnos en los aspectos del sistema que sern visibles para nuestro cliente o usuario de manera que ellos nos puedan dar su opinin; para ir refinando los requisitos del software que estamos desarrollando.

    Y as continuaremos hasta tener nuestro sistema completo y funcionando de acuerdo a nuestro anlisis inicial.

    USERResaltado

    USERResaltado

    USERResaltado

    USERResaltado

  • Finalmente, implementando

    Implementacin es una palabra con la que quizs muchos no estn familiarizados. La realidad es que es algo bastante sencillo. Implementar nuestro proyecto significa instalarlo en la mquina o dispositivo donde lo vamos a usar, o en el servidor donde vamos a alojar nuestro sitio web, dependiendo del tipo de proyecto que hayan hecho.

    En el caso que desarrollemos un sistema que corra en nuestra computadora o en un dispositivo mvil, solo deberemos instalar los ejecutables

    En el caso de instalar un sitio web en un servidor, ah se complica un poco mas la implementacin.

  • Implementacin web

    Como mencionamos previamente, un servidor web no es solamente la mquina que corre todos mis procesos sino el programa en s que brinda servicios a todos aquellos que quieren acceder a mi pgina. Este programa, en Windows, se llama Internet Information Server, o IIS.

    Cuando queremos publicar contenido al que se pueda acceder a travs de Internet o de una conexin de intranet, podemos agregar un sitio web al IIS para que incluya el contenido.

    En Windows 2008 server, o en las versiones Profesionales o Ultimate de Windows de escritorio, el IIS ya viene instalado. Y se crea una configuracin de sitio web predeterminada en el directorio \Inetpub\Wwwroot de nuestra mquina. Podemos utilizar este directorio predeterminado para publicar nuestro contenido web o crear un directorio en una ubicacin del sistema de archivos que elijamos.

  • Creando un sitio en IIS1. Abrimos el Administrador de IIS. Para hacer esto vayan al botn de inicio en la mquina donde instalarn el sistema y

    busquen directamente IIS o Internet Information Server.

    2. En el panel Conexiones, hagan clic con el botn secundario del mouse en el nodo Sitios del rbol y, a continuacin, hagan clic en Agregar sitio web.

    3. En el cuadro de dilogo Agregar sitio web, escribamos un nombre descriptivo para nuestro sitio web en el cuadro Nombre del sitio web.

    4. Hagan clic en Seleccionar si desea seleccionar un grupo de aplicaciones diferente del que aparece en el cuadro Grupo de aplicaciones. En el cuadro de dilogo Seleccionar grupo de aplicaciones , seleccione un grupo de aplicaciones en la lista Grupo de aplicaciones y, a continuacin, haga clic en Aceptar. (optativo)

    5. En el cuadro Ruta de acceso fsica, escribamos la ruta de acceso fsica de la carpeta del sitio web o hagamos clic en el botn de exploracin (...) para navegar por el sistema de archivos y buscar la carpeta.

    6. Seleccionemos el protocolo para el sitio web en la lista Tipo.

    7. El valor predeterminado en el cuadro Direccin IP es Todas las no asignadas. Dejmoslo as por ahora

    8. Escriban un nmero de puerto en el cuadro de texto Puerto, por ejemplo, 80.

    9. De forma opcional, escriba un nombre de encabezado del host para el sitio web en el cuadro Encabezado host. Por ejemplo: www.misitio.com.

    10. Si no tienen que realizar ningn cambio en el sitio y quieren que el sitio web est inmediatamente disponible, activen la casilla Iniciar sitio web inmediatamente.

    11. Hagan clic en Aceptar.

  • Eso es todo?

    Una vez que finalizamos con estos pasos, deberamos tener nuestro sitio funcionando, y podemos corroborarlo accediendo a la direccin que definimos en el encabezado: www.misitio.com, siempre y cuando hayamos configurado nuestros servidores de nombre de dominio correctamente para que apunten a donde estamos almacenando nuestro sistema.

    Y con esto, ya tenemos nuestro programa implementado y listo para usar!!!!

  • Repaso

    En este captulo vimos la importancia de:

    hacer un buen anlisis de requerimiento y que necesitamos entender

    realizar una estimacin de nuestro proyecto para entender el tiempo y costo asociado

    desarrollar un prototipo que se ajuste a los requerimientos de informacin del cliente y a nuestra necesidad de entender lo que el cliente quiere

    implementar nuestro desarrollo en el ambiente que corresponda a la tecnologa utilizada

    Para llevar su proyecto a buen puerto, deben prestar atencin a todas estas buenas prcticas y sus sistemas podrn terminarlos de manera mucho mas sencilla y con mayor satisfaccin para ustedes y sus usuarios.