69600848 act 1 3 4 7 8 ingenieria de sotfware
TRANSCRIPT
-
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.
1
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.
1
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.
1
-
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.
5
-
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.