Vous êtes sur la page 1sur 29

Act 1: Revisin de Presaberes Pgina 1 - Importancia de la Ingeniera de Software

A continuacin se presenta un conjunto de lecturas que lo ambientarn en el curso de Ingeniera de software y a la vez al final de cada lectura se le har unas preguntas para evaluar sus presaberes. La puntuacin de esta actividad es de 8 puntos de un total de 500. El software satura nuestro mundo y algunas veces damos por sentado su rol en hacer que nuestras vidas sean ms confortables, eficientes y efectivas. Hoy en da, el software trabaja tanto explcitamente como detrs de la escena, virtualmente en todos los aspectos de nuestras vidas, incluso en los sistemas crticos que comprometen nuestra salud y bienestar. Por esta razn, la ingeniera de software es ms importante que nunca. Las buenas prcticas de la ingeniera de software deben asegurar que ste haga una contribucin positiva a la manera en que se desarrollan nuestras vidas. La ingeniera de software es el proceso de construir aplicaciones de tamao o alcance prcticos, en las que predomina el esfuerzo del software y que satisfacen los requerimientos de funcionalidad y desempeo.La ingeniera de software, ofrece mtodos y tcnicas para desarrollar, mantener,producir y asegurar software de calidad. Por tal razn, este curso pretende describir los aspectos tcnicos y de gestin de la Ingeniera de Software, as como de establecer la importancia de la garanta de calidad del software.

Pgina 2 - Competencias a desarrollar


Las competencias que promueve el curso y que son necesarias son: COGNITIVA: Capacidad de apropiarse de un conjunto de conocimientos a travs del desarrollo, control y accin de procesos de pensamiento como: conocer el lenguaje de la ingeniera de software, identificar lo que significa Calidad del Software, identificar el proceso de software y mtricas del proyecto. En la ingeniera de software es muy importante la Induccin Deduccin, donde se puede generalizar o particularizar a partir de diversos escenarios. COMUNICATIVA: Capacidad de comprender, expresar mensajes y de desarrollar procesos argumentativos, apoyados por la asertividad en las relaciones interpersonales. Estn relacionadas con el desarrollo de los sentidos para observar, hablar, leer, escribir y escuchar lo mejor posible, de tal manera que se optimice la comunicacin y las relaciones interpersonales, ya que como estudiante debe interactuar con sus compaeros y con su tutor y en su vida profesional debe interactuar con muchas personas, ya que en el proceso de

desarrollo de software es clave la recoleccin de informacin mediante entrevistas, charlas, observacin y lectura de documentos. CONTEXTUAL: Capacidad de ubicar el conocimiento en el contexto cientfico, poltico, cultural, tecnolgico, social y en el plano nacional e internacional, as como la disposicin y capacidad para aplicarlo en procesos de transformacin que inciden en la calidad de vida de la poblacin. VALORATIVA: Capacidad de apropiarse de valores como el respeto a la vida. La dignidad humana, la convivencia, la solidaridad, la tolerancia y la libertad que orientan las acciones del individuo como persona, como ser social y como profesional. 1. El curso de Ingeniera de software pretende describir los aspectos tcnicos y de gestin de esta disciplina, as como de establecer la importancia de la garanta de calidad del software. Verdadero Falso 2. La capacidad deubicar el conocimiento en un escenario cientfico, poltico, cultural, tecnolgico o social, as como la disposicin y capacidad para aplicarlo en procesos de transformacin que inciden en la calidad de vida de la poblacin, hacen parte de la siguiente competencia: Valorativa Comunicativa Contextual Cognitiva 3. El desarrollo de habilidades como la Induccin y la Generalizacin, hace parte de la siguiente competencia: Comunicativa Valorativa Cognitiva Contextual 4. La netiqueta, palabra derivada del ingls net (red) y del francs etiquette (buena educacin), es el conjunto de normas que regulan el comportamiento de los usuarios de las diversas aplicaciones del internet.

De la misma manera que existen protocolos para los encuentros fsicos entre personas, la netiqueta describe protocolos que se deben utilizar en los encuentros electrnicos.. Ajustarse a las normas de la netiqueta en los cursos virtuales de la UNAD, hace parte del desarrollo de la siguiente competencia: Valorativa Contextual Comunicativa Cognitiva

Pgina 7 - Intencionalidades Formativas


El cursoIngeniera de Software correspondiente al componente bsico profesional del Programa de Ingeniera de Sistemas tiene como objetivo desarrollar habilidades y adquirir capacidades en la utilizacin de mtodos y tcnicas para desarrollar y mantener software de calidad. El curso tiene 3 crditos acadmicos los cuales comprenden el estudio independiente y el acompaamiento tutorial, con el propsito de:

Comprender los aspectos tcnicos y de gestin de la disciplina de ingeniera de software. Capacitar a los estudiantes en las tcnicas de gestin necesarias para planificar, organizar, supervisar y controlar proyectos de software. Fomentar en el estudiante tcnicas de gestin de calidad del software. Obtener un conjunto de tcnicas de prueba de software con el propsito de encontrar y corregir errores antes de entregar el software al cliente.

5. El curso de Ingeniera de Software est compuesto por tres unidades didcticas que corresponden a: 2 Crditos Acadmicos 4 Crditos Acadmicos 3 Crditos Acadmicos 6. Uno de los propsitos que pretende el curso Ingeniera de Software es:

Capacitar a los estudiantes en las tcnicas de gestin necesarias para que creen su propia empresa Fomentar en el estudiante tcnicas de gestin para desarrollar software libre. Capacitar a los estudiantes en las tcnicas de gestin necesarias para planificar, organizar, supervisar y controlar proyectos de software. Obtener un conjunto de tcnicas de prueba de software con el propsito de encontrar y corregir errores despus de entregar el software al cliente. 7. El propsito de Capacitar a los estudiantes en las tcnicas de gestin para planificacin, supervisin y control de proyectos de software, hacen parte del desarrollo de la siguiente competencia: Contextual Valorativa Comunicativa Cognitiva

Pgina 11 - Unidades Didcticas


Este curso esta compuesto por tres unidades didcticas a saber: Unidad 1.Introduccin a la ingeniera de software: se presenta una vista general sobre la definicin de: ingeniera de software, producto de software, procesos de software, se determina las caractersticas del software, los mitos del software. Se presenta tambin los diferentes tipos de proceso y los modelos evolutivos del software. Unidad 2.Gestin y planificacin de proyectos de software: se trata de determinar como se debe gestionar el personal, el proceso y el problema durante un proyecto de software. Se identifican las mtricas de software y cmo pueden emplearse para gestionar el proceso de software y el proyecto llevado a cabo como parte del proceso. Unidad 3.Control de calidad del software: se contemplan los aspectos relacionados con la calidad del software, se identifican los aspectos de gestiny las actividades especficas del proceso de calidad del software. Se establece la importancia de la garanta de calidad del software as como se definen las estrategias para los planes de garanta de calidad del software. 8. En la unidad didctica Control de calidad del softwarese identifican las mtricas de software y su empleo para gestionar el proceso de software y el proyecto llevado

a cabo como parte del proceso. Falso Verdadero 9. La unidad didctica donde se determinan planes para garantizar la calidad del software a desarrollar, es: Unidad II Unidad I Unidad III Unidad IV 10. El tema referente a los Mitos del Software, es abordado en la Unidad:. Unidad 2 Unidad 3 Unidad 4 Unidad 1

Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Esta Leccin Evaluativa tiene un puntaje mximo de 8 puntos sobre un total de 500. Se espera que el estudiante haya explorado con anterioridad la Unidad 1. Introduccin a la Ingeniera de Software La ingeniera de Software fue definida por FritzBauer a finales de los 60's como "el establecimiento y uso de principios de ingeniera para obtener software que fuera confiable y que funcionara eficientemente con las mquinas reales". A pesar de tener ya bastante tiempo, esta definicin da el sentimiento correcto de lo que se espera de la disciplina. La importancia del uso de estas medidas es caracterstica para todas las disciplinas de la ingeniera. La mtrica se refiere a estndares de las medidas usadas para cuantificar aspectos especficos de un proceso, de un producto o de un proyecto de la ingeniera. Una medida es el mapa de un mundo emprico a un mundo ms formal y ms matemtico. En pocas tempranas la programacin era la tarea de oro de la Ingeniera del Software utilizando como tcnica la programacin estructurada o modular, pero ahora la ingeniera y el diseo de requisitos son las actividades relevantes de esta disciplina, emrgiendo mtodos estructurados de anlisis y tambin mtodos estructurados de diseo al igual que comenzaron tecnologas orientadas a objetos. En los aos 90's la gerencia de proyecto gan inters y llego a ser un componente importante en ingeniera del Software. En la dcada pasada, los estndares de la ingeniera de Software y la madurez de proceso han caracterizado la industria del software como una disciplina madura. En un nivel tcnico, la ingeniera del software comienza con una serie de tareas que hacen modelos y que resultan en una especificacin completa de requisitos y una representacion comprensiva de diseo del software que ser construido. A lo largo de la historia de la Industria del software han existido muchos mtodos o modelos de desarrollo de software, pero al parecer los mtodos orientados a objetos van a llegar a ser el estandard por el cual se va a regir esta industria. Aunque para ciertos sistemas que manejan informacin crtica, se han desarrollado mtodos formales para producir software con la integridad ms alta. Los mtodos formales confan en las tcnicas matemticas que expresan y modelan los requisitos de cualquier producto en el ciclo vital del software. El desarrollo de software orientado a objetos comenz en los 80's como una etapa natural de los mtodos estructurados. UML (Unified Modeling Language) ha emergido como una unificacin de los diversos mtodos orientados a objeto y se est convirtiendo en un estndard de ISO.

Actualmente, la tecnologa de componentes es un mtodo para desarrollar software que est creciendo. A diferencia de los mtodos tradicionales, la tecnologa Component-Base (Basada en Componentes) trata de sentar las bases para el diseo y desarrollo de aplicaciones distribuidas basadas en componentes software reutilizables. Segn la definicin del IEEE, "software es la suma total de los programas de ordenador, procedimientos, reglas, la documentacin asociada y los datos que pertenecen a un sistema de cmputo" y un producto de software "es un producto diseado para un usuario". En este contexto, la Ingeniera de Software (SE del ingls "Software Engineering") es un enfoque sistemtico del desarrollo, operacin, mantenimiento y retiro del software. Su origen se debe a que desde hace varios aos el entorno de desarrollo de sistemas software, viene adoleciendo de algunas dificultades que se hacen evidentes en los siguientes aspectos:

Retrasos considerables en la planificacin Poca productividad Elevadas cargas de mantenimiento Demandas cada vez ms desfasadas con las ofertas Baja calidad y fiabilidad del producto Dependencia de los realizadores

Esto es lo que se ha denominado comunmente "crisis del software". La palabra crisis se define en el diccionario como "un punto decisivo en el curso de algo, momento, etapa, o evento decisivo o crucial". Sin embargo para el software no ha habido ningn punto crucial, slo una lenta evolucin. La crisis en la industria del software ha permanecido durante muchos aos, lo cual parece una contradiccin para el trmino. Lo que si se podra decir es que hay un problema crnico en el desarrollo de software. Actualmente est surgiendo una gran expectativa ante la evolucin de la Ingeniera del Software, al ir apareciendo nuevos mtodos y herramientas formales que van a permitir en el futuro un replanteamiento de ingeniera en el proceso de elaboracin de software. Dicho replanteamiento vendr a suplir la demanda creciente por parte de los usuarios, permitiendo dar respuesta a los problemas de:

Administracin Calidad Productividad Fcil mantenimiento

Este ltimo es uno de los grandes problemas, pues puede llegar a suponer un incremento superior al 60% del total del costo del software.

Las nuevas metodologas suponen un enfoque integral del problema, abarcando todas las fases, que en su mayora no se consideraba en los desarrollos tradicionales. En particular son fundamentales la reduccin de costos y plazos, as como la calidad del producto final. Estas tecnologas constituyen la denominada "Ingeniera del Software", que se puede definir como "el tratamiento sistemtico de todas las fases del ciclo de vida del software". Hay otras definiciones, pero todas inciden en la importancia de una disciplina de ingeniera para el desarrollo de software.

Se puede decir que el desarrollo de la Ingeniera del Software comienza con el desarrollo de Software Orientada a Objetos. Su respuesta : Falso Correcto, realmente el desarrollo de la Ingeniera del Software comienza a partir de la programacin estructurada.
2

La definicin de la Ingeniera de Software como el establecimiento y uso de principios de ingeniera para obtener software que fuera confiable y que funcionara eficientemente con las mquinas reales, se debe a: Su respuesta : Fritz Bauer Muy bien, a pesar de ser vieja, esta definicin da el sentimiento correcto detrs de la disciplina.
3

La tecnologa Basada en Componentes trata de sentar las bases para el diseo y desarrollo de aplicaciones distribuidas basadas en mdulos de software. Su respuesta : Falso Correcto, se basa en componentes de software reutilizables.
4

Los mtodos que utilizan tcnicas matemticas para expresar y modelar los requisitos de cualquier producto en el ciclo vital del software, se le denomina: Su respuesta : Formales Correcto, hay ciertos sistemas que manejan informacin crtica y los mtodos formales permiten desarrollar este tipo de software con la ms alta integridad
5

El desarrollo de software viene adoleciendo desde hace algn tiempo de algunas dificultades que han originado la crisis del software. Cul de las siguientes opciones NO corresponde a estas dificultades? Su respuesta : Independencia de los realizadores Correcto.
6

Las dificultades con las que ha venido adoleciendo el desarrollo y mantenimiento de software durante las ltimas dcadas, se le conoce como: Su respuesta : Crisis del Software Correcto, problemas como retrasos en la entrega, sobrecostos, dificultad en el mantenimiento, entre otros, originaron este trmino.
7

Uno de los problemas de los que adolece la Industria del Software es la dificultad en el mantenimiento del mismo, este problema representa un incremento notable en el costo final del software aproximado al 40%. Su respuesta : Falso Correcto, este incremento es mucho ms alto.
8

De acuerdo a la lectura anterior, se puede inferir que la crisis del software ya se super. Su respuesta : Falso Correcto
9

Las nuevas metodologas aplicadas en el proceso de elaboracin de software suponen un enfoque del problema que abarca: Su respuesta : Todo el Ciclo de Vida del software. Correcto
10

La ingeniera del software pretende principalmente: Su respuesta : Reducir costos y plazos de entrega deteniendose en la calidad del producto final. Correcto, el objeto de esta disciplina es el desarrollo de software de calidad. Si desea puede realizar otro intento. (Solo tiene Dos).

Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Esta Leccin Evaluativa tiene un mximo puntaje de 25 puntos sobre un total de 500. Se espera que el estudiante haya realizado con anterioridad una lectura completa de la Unidad 1.

Para poder comprender lo que es el software (y consecuentemente la Ingeniera del Software), es importante examinar las caractersticas del software que lo diferencian de otras cosas que los hombres pueden construir. El software es un elemento del sistema que es lgico, en lugar de fsico. Por lo tanto el software tiene unas caractersticas considerablemente distintas a las del hardware: El software se desarrolla, no se fabrica en un sentido clsico. Aunque existen similitudes entre el desarrollo del software y la construccin del hardware, ambas actividades son fundamentalmente diferentes. En ambas actividades la buena calidad se adquiere mediante un buen diseo, pero la fase de construccin del hardware puede introducir problemas de calidad que no existen (o son fcilmente corregibles) en el software. Ambas actividades dependen de las personas, pero la relacin entre las personas dedicadas y el trabajo realizado es completamente diferente para el software. Ambas actividades requieren de la construccin de un producto, pero los mtodos son diferentes. Los costos del software se encuentran en la ingeniera. Esto significa que los proyectos de software no se pueden gestionar como si fueran proyectos de fabricacin. El software no se estropea. El software no es susceptible a los males del entorno que hacen que el hardware se estropee. Otro aspecto de ese deterioro ilustra la diferencia entre el hardware y el software. Cuando un componente se estropea, se sustituye por una pieza de repuesto. No hay pieza de repuesto para el software. Cada fallo en el software indica un error en el diseo o en el proceso mediante el que se tradujo el diseo a cdigo maquina ejecutable. Por tanto, el mantenimiento del software tiene una complejidad considerablemente mayor que la del mantenimiento del hardware. La mayora del software se construye a medida, en vez de ensamblar componentes existentes. No existen catlogos de componentes de software. Se puede comprar software ya desarrollado, pero solo como una unidad completa, no como componentes que pueden reensamblarse en nuevos programas.

El software puede aplicarse en cualquier situacin en la que se haya definido previamente un conjunto especifico de pasos procedimentales (es decir, un algoritmo). (Excepciones notables a esta regla son el software de los sistemas expertos y de redes neuronales). Las siguientes reas del software indican la amplitud de las aplicaciones potenciales:

Software de Sistemas: El software de sistemas es un conjunto de programas que han sido escritos para servir a otros programas. El rea del Software de Sistemas se caracteriza por una fuerte interaccin con el hardware de la computadora; una gran utilizacin por mltiples usuarios; una operacin concurrente que requiere una planificacin, una comparticin de recursos y una sofisticada gestin de procesos; unas estructuras de datos complejas y mltiples interfaces externas. (p. Ej.: compiladores, editores, utilidades, ciertos componentes del sistema operativo, utilidades de manejo de perifricos, procesadores de telecomunicaciones). Software de Tiempo Real: El software que mide/analiza/controla sucesos del mundo real conforme ocurren, se denomina de tiempo real. Entre los elementos del software de tiempo real se incluyen: un componente de adquisicin de datos que recolecta y da formato a la informacin recibida del entorno externo, un componente de anlisis que transforma la informacin recibida del entorno externo, un componente de anlisis que transforma la informacin segn lo requiera la aplicacin, un componente de control/salida que responda al entorno externo y un componente de monitorizacin que coordina todos los dems componentes, de forma tal que pueda mantenerse la respuesta en tiempo real. Software de Gestin: El procesamiento de informacin comercial constituye la mayor de las reas de aplicacin del software. Los sistemas discretos (p. Ej.: nominas, cuentas de haberes/dbitos, inventarios, etc.), han evolucionado hacia el software de sistemas de informacin de gestin (SIG), que accede a una o ms bases de datos grandes que contienen informacin comercial. Las aplicaciones en esta rea reestructuran los datos existentes para facilitar las operaciones comerciales o gestionar la toma de decisiones. Adems de las tareas convencionales de procesamiento de datos, las aplicaciones de software de gestin tambin realizan calculo interactivo (p. Ej. : el procesamiento de transacciones en puntos de ventas). Software de Ingeniera y Cientfico: El software de Ingeniera y Cientfico est caracterizado por los algoritmos de manejo de nmeros. Las aplicaciones van desde la astronoma a la vulcanologa, desde el anlisis de la presin de los automotores a la dinmica orbital de los lanzadores espaciales y desde la biologa molecular a la fabricacin automtica. Software Empotrado: El software Empotrado reside en memoria de solo lectura y se utiliza para controlar productos y sistemas de los mercados industriales y de consumo. El software empotrado puede ejecutar funciones muy limitadas y curiosas (p. Ej.: el control de las teclas de un horno de microondas) o suministrar una funcin significativa y con capacidad de control (p. Ej.: funciones digitales en un automvil, tales como control de la gasolina, indicaciones en el salpicadero, sistemas de frenado, etc.). Software de Computadoras Personales: El mercado del software de computadoras personales ha germinado en la pasada dcada. El procesamiento de textos, las hojas de calculo, los grficos por computadora, multimedia, entretenimientos, gestin de bases de datos, aplicaciones financieras de negocios y personales, y redes o acceso a bases de datos externas son algunas de los cientos de aplicaciones.

Software de Inteligencia Artificial: El software de inteligencia artificial (IA) hace uso de algoritmos no numricos para resolver problemas complejos para los que no son adecuados el calculo o el anlisis directo. El rea ms activa de la IA es la de los sistemas expertos, tambin llamados sistemas basados en el conocimiento. Durante los primeros aos de la era de la computadora, el software se contemplaba como un aadido. La programacin de computadoras era un "arte de andar por casa" para el que existan pocos mtodos sistemticos. El desarrollo del software se realizaba sin ninguna planificacin, hasta que los planes comenzaron a descalabrarse y los costos a correr. Los programadores trataban de hacer las cosas bien, y con un esfuerzo heroico, a menudo salan con xito. El software se diseaba a medida para cada aplicacin y tenia una distribucin relativamente pequea. La mayora del software se desarrollaba y era utilizado por la misma persona u organizacin. La misma persona lo escriba, lo ejecutaba y si fallaba, lo depuraba. Debido a este entorno personalizado del software, el diseo era un proceso implcito, realizado en la mente de alguien y la documentacin normalmente no exista. La segunda era en la evolucin de los sistemas de computadora se extienden desde la mitad de la dcada de los sesenta hasta finales de los setenta. La multiprogramacin y los sistemas multiusuario introdujeron nuevos conceptos de interaccin hombre - mquina. Las tcnicas interactivas abrieron un nuevo mundo de aplicaciones y nuevos niveles de sofisticacin del hardware y del software. Los sistemas de tiempo real podan recoger, analizar y transformar datos de mltiples fuentes, controlando as los procesos y produciendo salidas en milisegundos en lugar de minutos. Los avances en los dispositivos de almacenamiento en lnea condujeron a la primera generacin de sistemas de gestin de bases de datos. La segunda era se caracteriz tambin por el establecimiento del software como producto y la llegada de las "casas del software". Los patronos de la industria, del gobierno y de la universidad se aprestaban a "desarrollar el mejor paquete de software" y ganar as mucho dinero. Conforme creca el nmero de sistemas informticos, comenzaron a extenderse las bibliotecas de software de computadora. Las casas desarrollaban proyectos en los que se producan programas de decenas de miles de sentencia fuente. Todos esos programas, todas esas sentencias fuente tenan que ser corregidos cuando se detectaban fallos, modificados cuando cambiaban los requisitos de los usuarios o adaptados a nuevos dispositivos hardware que se hubieran adquirido. Estas actividades se llamaron colectivamente mantenimiento del software. La tercera era en la evolucin de los sistemas de computadora comenz a mediados de los aos setenta y continuo mas all de una dcada. El sistema distribuido, mltiples computadoras, cada una ejecutando funciones concurrente y comunicndose con alguna otra, increment notablemente la complejidad de los sistemas informticos. Las redes de rea local y de rea global, las comunicaciones digitales de alto ancho de banda y la creciente demanda de acceso "instantneo" a los datos, supusieron una fuerte presin sobre los desarrolladores del software.

La conclusin de la tercera era se caracteriz por la llegada y amplio uso de los microprocesadores. El microprocesador ha producido un extenso grupo de productos inteligentes, desde automviles hasta hornos microondas, desde robots industriales a equipos de diagnsticos de grupo sanguneo. La cuarta era de la evolucin de los sistemas informticos se aleja de las computadoras individuales y de los programas de computadoras, dirigindose al impacto colectivo de las computadoras y del software. Potentes mquinas personales controladas por sistemas operativos sofisticados, en redes globales y locales, acompaadas por aplicaciones de software avanzadas se han convertido en la norma. La industria del software ya es la cuna de la economa del mundo. Las tcnicas de la cuarta generacin para el desarrollo del software estn cambiando en la forma en que la comunidad del software construye programas informticos. Las tecnologas orientadas a objetos estn desplazando rpidamente los enfoques de desarrollo de software ms convencionales en muchas reas de aplicaciones. Sin embargo, un conjunto de problemas relacionados con el software ha persistido a travs de la evolucin de los sistemas basados en computadora, y estos problemas continan aumentando. los avances del software continan dejando atrs la habilidad de desarrollar software para alcanzar el potencial del hardware. La habilidad de desarrollar nuevos programas no pueden ir al mismo ritmo de la demanda de nuevos programas, no se puede construir programas lo suficientemente rpido como para cumplir las necesidades del mercado y de los negocios. El uso extenso de computadoras ha hecho de la sociedad cada vez ms dependiente de la operacin fiable del software. Cuando el software falla, pueden ocurrir daos econmicos enormes y ocasionar sufrimiento humano. En respuesta a estos problemas, las practicas de la Ingeniera del Software se estn adoptando en toda la industria. El proceso de desarrollo de software no es nico. No existe un proceso de software universal que sea efectivo para todos los contextos de proyectos de desarrollo. Debido a esta diversidad, es difcil automatizar todo un proceso de desarrollo de software. A pesar de la variedad de propuestas de proceso de software, existe un conjunto de actividades fundamentales que se encuentran presentes en todos ellos: 1. Especificacin de software: Se debe definir la funcionalidad y restricciones operacionales que debe cumplir el software. 2. Diseo e Implementacin: Se disea y construye el software de acuerdo a la especificacin.

3. Validacin: El software debe validarse, para asegurar que cumpla con lo que quiere el cliente. 4. Evolucin: El software debe evolucionar, para adaptarse a las necesidades del cliente. Adems de estas actividades fundamentales, hay otras que se aplican a lo largo de todo el proceso del software. Ellas se sealan a continuacin:

Seguimiento y control de proyecto de software. Revisiones tcnicas formales. Garanta de calidad del software. Gestin de configuracin del software. Preparacin y produccin de documentos. Gestin de reutilizacin. Mediciones. Gestin de riesgos.

Estas actividades de proteccin, tales como garanta de calidad del software, gestin de configuracin del software y medicin, abarcan el modelo del proceso. Las actividades de proteccin son independientes de cualquier actividad del marco de trabajo y aparecen durante todo el proceso.

Una de las siguientes opciones es una caracterstica del software. Su respuesta : Se construye a la medida Correcto, No existen catlogos de componentes de software.
2

El software que reside en memoria de solo lectura y que es utilizado para controlar productos y sistemas de los mercados industriales, se le denomina: Su respuesta : Empotrado Correcto.
3

Un software diseado para mejorar los procesos de la bsqueda de informacin en Internet basado en ciertos patrones establecidos, estara dentro de la categora: Su respuesta : Inteligencia Artificial Correcto, El rea ms activa de la IA es la de los sistemas expertos, tambin llamados sistemas basados en el conocimiento.
4

Un software diseado para el Control de la Hora de Entrada y Salida a los trabajadores de una empresa y que utiliza la tecnologa touch screen para facilitar su interaccin, estara dentro de la categora: Su respuesta : Sistemas Correcto.
5

Una de las caractersticas de la primera era de la evolucin del software es: Su respuesta : La documentacin del software desarrollado no exista. Correcto, el diseo era implicito y estaba en la mente del programador
6

La tecnologa que actualmente est desplazando rpidamente los enfoques de desarrollo de software ms convencionales, se le denomina: Su respuesta : Orientada a Objetos Correcto.
7

Una de las caractersticas de la tercera era de la evolucin del software es: Su respuesta :

La Programacin Concurrente. Correcto, Aplicada a sistemas distribuidos, mltiples computadoras, donde cada una ejecuta funciones concurrentes y se comunican entre s.
8

La Actividad Especificacin de software presente en el proceso de desarrollo de software, se refiere a: Su respuesta : Definir la funcionalidad y restricciones operacionales que debe cumplir el software. Correcto.
9

De acuerdo a la lectura anterior se puede inferir que, existe un estndar nico para el desarrollo de software que es suministrado por la disciplina Ingeniera de Software. Su respuesta : Falso Correcto, No existe un proceso de software universal que sea efectivo para todos los contextos de proyectos de desarrollo.
10

El cliente debe daptarse a las limitaciones y restricciones del software desarrollado. Su respuesta : Falso Correcto, Al contrario el sofware debe hacerse a la medida del cliente. Si desea puede hacer otro intento desde el pricipio. (Recuerde son 2 intentos)

Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Pgina 1 - Gestin de Proyectos


Esta Leccin Evaluativa tiene un puntaje mximo de 8 puntos sobre un total de 500. Se espera que el estudiante haya explorado con anterioridad la Unidad 2. Los proyectos software son diferentes por la sola razn de su tamao, esto hace que existan tres categoras diferenciadas de proyectos, con problemas diferentes cada una: Proyectos pequeos: consisten solamente en la implementacin. No tienen costos indirectos importantes. Proyectos grandes: poseen implementacin, pero hay muchas ms cosas. Poseen gerencia de proyecto, control de calidad, capacitacin de personal, hay un plan de mantenimiento, hay documentacin importante para uso interno y externo. Se genera imformacin para mercadeo. Proyectos medianos: es un caso intermedio entre los dos anteriores. Un error clsico de la historia de gestin de proyectos fue no advertir la existencia de estas tres categoras diferentes y lo peor, todava seguir pensando que la informacin o la experiencia adquirida en proyectos pequeos puede servir para proyectos medianos y grandes. Este hecho es una causa de los resultados catastrficos en la gestin de proyectos de software. Por otro lado, el tamao del proyecto software tamben determina el tamao del grupo de trabajo, si es un proyecto pequeo, se necesitar un grupo mximo de 3 personas donde la informacin se pueda manejar de manera informal, pero si es un proyecto grande donde involucra un equipo de mas de 10 personas, no se puede confiar en la memoria de los integrantes y adems la comunicacin no va a ser tan personalizada, ya que por lo general se necesita varios meses de trabajo para lograr los objetivos y esto conlleva a que se lleve la informacin de manera ms organizada.

Pgina 5 - El Proceso de Software y Mtricas


Cuando se empieza un proyecto de desarrollo de software, el primer problema a definir consiste en resolver los siguientes cuestionamientos: Cules son los datos del proyecto? De qu informacin debemos partir? La situacin o la respuesta es diferente si es un proyecto nuevo o en el replanteo de uno

existente. En un proyecto nuevo no hay nada hecho, la informacin que se posee es externa, la visin que tiene alguin desde afuera, la visin que tiene el usuario. No se sabe nada interno del proyecto como la cantidad de mdulos a disear, nmero de personas que participarn o lneas de cdigo a generar. A lo sumo se tiene una cierta especificacin del proyecto y algunas metas de costo y plazo de entrega que se debe alcanzar. Lo que se sabe es muy poco, sin embargo este pobre material, debera ser suficiente. Lo que falta en un proyecto nuevo es la informacin de realizacin: costos, tiempo y personas. Lo ideal sera dipsoner de una mtrica aplicada sobre los datos externos que midiera todo lo que hace falta. Luego con estimadores, obtener los costos, tiempo y personas necesarios. Con estos resultados se hara la comparacin con las metas externas. Se verificara si el costo y el plazo de entrega es aceptable. si no lo es, se debe replantear el proyecto, modificar alguno de sus datos externos si no hay ajustes con las metas y proceder nuevamente a recalcular. Una vez logrado esto, se aplican herramientas clsicas de gestin para dividir el proyecto en tareas, tiempos y otros elementos que permitan ejecutarlos. En el caso de replanteo de un proyecto la situacin es opuesta. Se tiene buenos registros de cunto cost el proyecto, en qu tiempo se hizo y cuntas personas trabajaron. Pero no se ha registrado nada de los datos externos del proyecto, no se ha medido en lo previo. El punto de partida consistira en la recuperacin de los datos externos del proyecto. Para esto se hace una estimacin preeliminar. Con esta estimacin se aplica la metodologa sobre los datos externos y se estiman los costos, tiempos y personas. Estos elementos pueden estar registrados, por lo tanto se pueden comparar los valores estimados con los datos del proyecto y realizar los ajustes respectivos.

Pgina 9- Gestin del Riesgo


Se han producido amplios debates sobre la definicin adecuada para riesgo de software, y hay acuerdo comn en que el riesgo siempre implica dos caractersticas:

Incertidumbre: El acontecimiento que caracteriza al riesgo puede o no puede ocurrir; por ejemplo, no hay riesgos de un 100 por ciento de probabilidad. Prdida: Si el riesgo se convierte en una realidad, ocurrirn consecuencias no deseadas o prdidas.

Cuando se analizan los riesgos es importante cuantificar el nivel de incertidumbre y el grado de prdidas asociado con cada riesgo. Para hacerlo, se consideran diferentes categoras de riesgos. Los riesgos del proyecto amenazan al plan del proyecto. Es decir, si los riesgos del proyecto se hacen realidad, es probable que la planificacin temporal del proyecto se

retrase y que los costos aumenten. Los riesgos del proyecto identifican los problemas potenciales de presupuesto, planificacin temporal, personal (asignacin y organizacin), recursos. cliente y requisitos y su impacto en un proyecto de software. Los riesgos tcnicos amenazan la calidad y la planificacin temporal del software que hay que producir. Si un riesgo tcnico se convierte en realidad, la implementacin puede llegar a ser difcil o imposible. Los riesgos tcnicos identifican problemas potenciales de diseo, implementacin, de interfaz. verificacin y de mantenimiento. Adems. las ambigedades de especificaciones, incertidumbre tcnica, tcnicas anticuadas y las "tecnologas punta" son tambin factores de riesgo. Los riesgos tcnicos ocurren porque el problema es ms difcil de resolver de lo que pensbamos

Pgina 10 - Gestin del Riesgo


Los riesgos del negocio amenazan la viabilidad del software a construir y a menudo ponen en peligro el proyecto o el producto. Los candidatos para los cinco principales riesgos del negocio son: 1. Construir un producto o sistema excelente que no quiere nadie en realidad (riesgo de mercado), 2. Construir un producto que no encaja en la estrategia comercial general de la compaa (riesgo estratgico), 3. Construir un producto que ei departamento de ventas no sabe cmo vender 4. Perder el apoyo de una gestin experta debido a cambios de enfoque o a cambios de personal (riesgo de direccin) 5. Perder presupuesto o personal asignado (riesgos de presupuesto). Es extremadamente importante recalcar que no siempre funciona una categorizacin tan sencilla. Algunos riesgos son simplemente imposibles de predecir. Los riesgos conocidos son todos aquellos que se pueden descubrir despus de una cuidadosa evaluacin del plan del proyecto. del entorno tcnico y comercial en el que se desarrolla el proyecto y otras fuentes de informacin fiables (p. ej.: fechas de entrega poco realistas. falta de especificacin de requisitos o de mbito del software. o un entorno pobre de desarrollo), los riesgos predecibles se extrapolan de la experiencia en proyectos anteriores (ej.: cambio de personal, mala comunicacin con el cliente. disminucin del esfuerzo del personal a medida que atienden peticiones de mantenimiento). Pueden ocurrir pero son extremadamente difciles de identificar por adelantado.

1. Para la gestin de proyectos software no se tiene en cuenta el tamao del proyecto porque toda la informacin a manejar siempre es la misma.

Verdad Falso Falso Correcto, hay que tener en cuenta el tamao porque este me orienta que debo gestionar. 2. En los equipos de trabajo con ms de 10 personas se puede utilizar una comunicacin de tipo informal. Falso Verdad Falso Correcto, lo ms probable es que se tenga que trabajar por mucho tiempo y la memoria falla! 3. De acuerdo a la categorizacin anterior, un software desarrollado como opcin de grado estara en la categora. Proyectos pequeos Proyectos medianos. Proyectos Complejos Proyectos Grandes Proyectos medianos. Correcto, adems de la implementacin, debe haber otras actividades como la planificacin, pruebas, etc. 4. Cuando se inicia un nuevo proyecto software la primera informacin a estimar es sobre los costos, tiempos y personas. Verdad Falso Verdad Correcto, esta la informacin externa que tenemos de primera mano

5. Cuando se inicia un nuevo proyecto software o se replantea uno existente, el proceso de gestin a seguir es el mismo para ambos casos. Falso Correcto, la informacin con que se cuenta es diferente y eso hace que la gestin difiera. 6. En un proyecto nuevo la nica informacin con que se cuenta desde el principio, es: La cantidad de mdulos a disear Nmero de personas que participarn Lneas de cdigo a generar Algunas metas de costo y plazo de entrega que se deben alcanzar. Algunas metas de costo y plazo de entrega que se deben alcanzar. Correcto, esta la informacin externa que tenemos de primera mano. 7. Los riesgos tcnicos identifican problemas potenciales de diseo, implementacin, de interfaz, verificacin y de mantenimiento. Verdad Correcto, Los riesgos tcnicos amenazan la calidad y la planificacin temporal del software que hay que producir. 8. El riesgo que se presenta cuando se desarrolla un software que nadie va a interesarse en comprar o utilizar por las caractersticas de hardware que necesita para su optimo funcionamiento, corresponde a: De Direccin De presupuesto Riesgo estratgico Riesgo de mercado

Riesgo de mercado

Correcto.

9. Un riesgo en una interfaz de verificacin de datos, corresponde a: Riesgo Tcnico Riesgo Conocido Riesgo Del Proyecto Riesgo Predecible Riesgo Tcnico Correcto

10. Los riesgos del proyecto identifican los problemas potenciales de presupuesto, planificacin temporal, personal y recursos.

Verdad Correcto. Si los riesgos del proyecto se hacen realidad, es probable que la planificacin temporal del proyecto se retrase y que los costos aumenten. Si desea puede realizar otro intento. (Solo tiene Dos).

Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Hay cuatro P's que tienen una influencia sustancial en la gestin de proyectos software personal, producto, proceso y proyecto -. El personal debe organizarse en equipos eficaces, motivados para hacer un software de alta calidad y coordinados para alcanzar una comunicacin efectiva. Los ingennieros de software pueden organizarse en diferentes organigramas de equipos que van desde las jerarquas de control tradicionales a los equipos de "paradigma abierto". Se pueden aplicar varias tcnicas de coordinacin y comunicacin para apoyar el trabajo del equipo. En general, las revisiones formales y las comunicaciones informales persona a persona son las ms valiosas para los profesionales. Los requisitos del producto deben comunicarse desde el cliente al desarrollador, dividirse (descomponerse) en las partes que lo constituyen y distribuirse para que trabaje el equipo de software. El proceso debe adaptarse al personal y al problema. Se selecciona una estructura comn del proceso, se aplica un paradigma apropiado de ingeniera de software y se elige un conjunto de tareas para completar el trabajo.

Finalmente, el proyecto debe organizarse de una manera que permita al equipo de software tener xito. La medicin permite que gestores y desarrolladores mejoren el proceso del software, ayuden en la planificacin, seguimiento y control de un proyecto de software, y evalen la calidad del producto (software) que se produce. Las medidas de los atributos especficos del proceso, del proyecto y del producto se utilizan para calcular las mtricas del software. Estas mtricas se pueden analizar para proporcionar indicadores que guan acciones de gestin y tcnicas. Las mtricas del proceso permiten que una organizacin tome una visin estratgica proporcionando mayor profundidad de la efectividad de un proceso de software. Las mtricas del proyecto son tcticas, permiten que el gestor de proyectos adapte el enfoque a flujos de trabajo del proyecto y a proyectos tcnicos en tiempo real. Las tcnicas orientadas tanto al tamao como a la funcin se utilizan en toda la industria. Las mtricas orientadas al tamao hacen uso de las lneas de cdigo como factor de normalizacin para otras medidas como persona-mes o defectos. El punto de funcin proviene de las medidas del dominio de informacin y de una evaluacin subjetiva de la complejidad del problema. Las mtricas de la calidad del software como mtricas de productividad se centran en el proceso, en el proyecto y en el producto. Desarrollando una lnea base de mtricas de calidad, una organizacin puede actuar con objeto de corregir reas de proceso del software que son la causa de los defectos del software. Las mtricas tienen significado solo si han sido examinadas para una validez estadstica. Los ingenieros de software y sus gestores pueden obtener una visin ms profunda del trabajo que realizan y del producto que elaboran creando un lnea base de mtricas una base de datos que contenga mediciones del proceso y del producto-. El planificador del proyecto de software tiene que estimar tres cosas antes de que comience el proyecto: cunto durar, cunto esfuerzo requerir y cunta gente estar implicada. Adems el planificador debe predecir los recursos (de hardware y software) que va a requerir, y el riesgo implicado. El enunciado del mbito ayuda a desarrollar estimaciones mediante una o varias de las tcnicas siguientes: descomposicin, modelos empricos y herramientas automticas. Las tcnicas de descomposicin requieren de un esbozo de las principales funciones del software, seguido de las estimaciones de nmero de LDC, de los valores seleccionados dentro del dominio de la informacin, del nmero de personas - mes requeridas para implementar cada funcin, o del nmero de personas - mes requeridas para cada actividad de ingeniera de software. Las tcnicas empricas usan expresiones empricamente obtenidas para el esfuerzo y para el tiempo, con las con las que se predicen esas magnitudes del proyecto. Las herramientas automticas implementan un determinado modelo emprico. Para obtener estimaciones exactas para un proyecto, generalmente se utilizan al menos dos de las tres tcnicas referidas anteriormente. Mediante la comparacin y la conciliacin de las estimaciones obtenidas con las diferentes

tcnicas, el planificador puede obtener una estimacin ms exacta. La estimacin del proyecto software nunca ser una ciencia exacta, pero la combinacin de buenos datos histricos y de tcnicas sistemticas pueden mejorar la precisin de la estimacin. Cuando se pone mucho en juego en un proyecto de software el sentido comn nos aconseja realizar un anlisis de riesgo. Sin embargo, la mayora de los jefes de proyecto lo hacen informal y superficialmente, si es que lo hacen. El tiempo invertido identificando, analizando y gestionando el riesgo merece la pena por muchas razones: menos trastornos durante el proyecto, una mayor habilidad de seguir y controlar el proyecto y la confianza que da planificar los problemas antes de que ocurran. El anlisis del riesgo puede absorber una cantidad significativa del esfuerzo de planificacin del proyecto, pero el esfuerzo merece la pena.

La gestin de proyectos de software es una actividad que empieza y termina en la etapa de definicin del proyecto software. Su respuesta :

Falso
Correcto, Esta actividad empieza antes de iniciar cualquier actividad tcnica y contina a lo largo de la definicin, del desarrollo y del mantenimiento del software.

2
La gestin eficaz de un proyecto de software se centra en las cuatro P's, estas hacen referencia a: Personal, Producto, Proceso y Proyecto. Su respuesta :

Verdad
Correcto, Estas 4 P's tienen una influencia sustancial en la gestin de proyectos software.

3
De la anterior lectura se puede inferir que es imposible desarrollar un software en equipo. Su respuesta :

Falso
Correcto, El personal debe organizarse en equipos eficaces, motivados para hacer un software de alta calidad.

4
De acuerdo a la lectura anterior se puede inferir que para la gestin eficaz de un proyecto de software, el orden de atencin dado a las cuatro Ps no es importante. Su respuesta :

Falso
Correcto.

De la lectura anterior se puede inferir que las mtricas del software solo se orientan a asegurar que el software desarrollado satisfaga las necesidades del cliente. Su respuesta :

Falso
Correcto, La medicin permite que gestores y desarrolladores mejoren no solo el producto (software) sino tambin el proceso del software.

6
De la lectura anterior se puede inferir que solo hasta que el software est terminado es que se puede medir su calidad. Su respuesta :

Falso
Correcto, las mtricas buscan asegurar la calidad del software desde el mismo momento que empieza la planificacin del mismo

7
Las mtricas que permiten redireccionar el flujo de trabajo en un proyecto software corresponde a: Mtricas del proyecto Mtricas de la Calidad Mtricas orientadas al tamao Mtricas de punto de funcin

Las mtricas que permiten redireccionar el flujo de trabajo en un proyecto software corresponde a: Su respuesta :

Mtricas del proyecto

Correcto, las mtricas tambin ayudan a la planificacin, seguimiento y control de un proyecto de software.

8
El planificador del proyecto de software tiene que estimar principalmente tres cosas antes de que comience el proyecto: cunto costar, cunto durar y cunto esfuerzo requerir. Su respuesta :

Falso
Correcto, antes de tener en cuenta el costo del proyecto, se debe saber cunta gente estar implicada.

9
Las tcnicas que implementan un determinado modelo emprico, se les conoce como: Herramientas automticas De descomposicin Modelos empricos Modelos fractales

Las tcnicas que implementan un determinado modelo emprico, se les conoce como: Su respuesta :

Herramientas automticas
Correcto

10
Las tcnicas existentes para hacer estimaciones del proyecto software pueden asegurar un 100% de precisin en la estimacin.

Su respuesta :

Falso
Correcto, hay tcnicas que se basan en la experiencia o en datos histricos, lo cual las hace imprecisas. Esta actividad tiene dos intentos, si desea realice el otro.