Você está na página 1de 22

U NIVERSIDAD T CNICA A MBATO

DE

MAESTRA EN GESTIN DE BASE DE DATOS

FACULTAD DE INGENIERA EN SISTEMAS ELECTRNICA E INDUSTRIAL


Materia:

INGENIERA DEL SOFTWARE

Profesor: ING. MS. FRANKLIN MAYORGA

Preparado por:

ING. K. RENATO URVINA B. ING. DANIEL ORITZ M. ING. MAURICIO VILLACIS.

Texto: Ingeniera del Software Pressman, 6ta. Edicin. Problemas y Puntos a Considerar: Captulos: 1 y 2 Ambato, 31 de Enero del 2009

CAPITULO 1. 1.1. Encontrar al menos cinco ejemplos adicionales de la manera en que la ley de las consecuencias imprevistas se aplica al software de computadora. Estos son algunos ejemplos positivos y negativos que se aplican no solo en el mundo, sino que tambin han llegado a afectar la vida y cotidianidad en nuestro pas:

1. Redes sociales como YouTube, myspace, facebook , etc. Afectan ya a la vida cotidiana, sobre todo de las personas jvenes, quienes las sienten como herramientas naturales de su diario vivir, con las mismas se facilita el intercambio y publicacin de ideas. Los weblogs permiten el intercambio de ideas en cuanto a temas variados y especficos, volviendo an ms abundante la cantidad de informacin disponible en la red. Enciclopedias abiertas como Wikipedia, la cual a ms de ser fuente de informacin se puede agregar editar la informacin all contenida. 2. Cada da ms artefactos, dispositivos y cosas que se utilizan cotidianamente incluyen software, se vuelven ms funcionales y tiles por ejm. Los automviles modernos llevan computador a bordo que permite al usuario saber si existe alguna falla en el automotor o saber cuntos kilmetros puede recorrer con el combustible en tanque, la temperatura ambiental, etc. Los edificios inteligentes, los iphone, hasta un microondas funcionan de acuerdo al software instalado. 3. La aplicacin de los GIS se ha convertido en herramienta indispensable para localizar yacimientos, levantar mapas, realizar monitoreo, etc. Afectando de forma positiva a distintas reas de aplicacin como Geologa, Topologa, Oceanografa, Geografa, Minera, Petrleos, Urbanismo, Localizacin de personas y objetos, etc. 4. En nuestro pas, el cercano fin (si no lo es ya) de la presentacin de impuestos en formularios llenados manualmente. As como la presentacin obligatoria de anexos de quienes estn obligados a presentar contabilidad. Han afectado la cultura tributaria y los profesionales de Contabilidad deben estar al da con relacin a estas nuevas herramientas. 5. La piratera de software ha proliferado mucho en nuestro pas. Convertido en un negocio que aunque ilcito, ha permitido hacer accesibles a programas que por su costo para nuestro medio sera muy difcil poder acceder de manera legal. Junto con esta clase de piratera se asocia tambin la piratera de otros trabajos como msica videos, causando prdidas para sus creadores. 6. Junto con la aplicacin de las nuevas tecnologas con los servicios y seguridades que la misma brinda, han aparecido nuevas formas de delito

como hacking, robo de claves; que en funcin del hacker puede causar mucho dao solamente demostrar su habilidad para introducirse en redes ajenas. 7. La aplicacin del software en la mayora de las reas ocupacionales ha obligado que los profesionales medios y superiores se vean en la obligacin de aprender el uso de estas herramientas para no quedar obsoletos en sus distintas profesiones. 8. La proliferacin de virus, gusanos y dems causados por el uso de las herramientas como mails, memorias infectadas causan prdidas de tiempo incuantificables, con la correspondiente prdida econmica hasta que se pongan en funcionamiento. 9. La falta de regulaciones claras a la ley de propiedad intelectual y profesionales de leyes que sepan su correcta aplicacin crea un vaco grande para quienes nos dedicamos al desarrollo de software. Adicionalmente las agremiaciones profesionales poco o nada han podido hacer al respecto, ahondando ms los problemas para los desarrolladores independientes. 1.2. Encontrar algunos ejemplos (positivos y negativos) que indiquen el impacto del software en la sociedad actual. Revisar una de las referencias anteriores a 1990 en la seccin 1.1, e indicar las predicciones del autor que resultaron correctas, as como las que fueron errneas.

EJEMPLOS POSITIVOS BANCA ELECTRNICA, Transacciones rpidas y sin necesidad de ir al banco, permiten ahorrar tiempo a los usuarios de la misma. DECLARACION DE IMPUESTOS, De forma ms rpida y correcta, se puede presentar los impuestos en el mismo lugar de trabajo. BLOGS Y REDES SOCIALES, Libertad de expresin, intercambio de informacin. FINANZAS Y CONTABILIDAD, Rapidez en la ejecucin y registro de datos. Obtencin de informacin confiable. SISTEMAS DE INFORMACION GEOGRAFICA, Ubicacin exacta y levantamientos de reas geogrficas, con informacin variada para diferentes reas como la geologa, minera, petrolera, hidrografa, meteorologa, urbanstica, etc. COMPUTACION MOVIL, Las caractersticas aadidas a los celulares actales, hace que puedan interactuar con los PC de escritorio laptops, sincronizando transferencias de datos entre ellos, dando movilidad a los usuarios. GOBIERNO ELECTRONICO (e goverment), como por ejemplo el uso de www.compraspublicas.gov.ec, cuya transparencia permite bajar los niveles de corrupcin en los contratos pblicos.

En forma general todo individuo que aprenda el uso de las herramientas de software mejora su calidad de vida al disminuir el estrs del esfuerzo de obtener informacin til para s mismo. EJEMPLOS NEGATIVOS Riesgos consecuentes del uso de nuevas tecnologas como robo de claves y cdigos de accesos, y con los mismos acceder a cuentas bancarias e informacin privadas. En nuestro medio (Ambato y provincias) la obtencin de software sin ningn costo (piratera), ha hecho que el trabajo de desarrollo de software no se valore en su real dimensin. Disponibilidad de informacin imgenes dainas para los nios, sin restriccin, introduccin de pederastas y nuevas formas de delitos. En los sistemas financieros, se corre el peligro de la dependencia de los programadores si existe alguna falla en el software, limitacin de licencias. Dependencia total del software en cuanto al funcionamiento de reas crticas como los servicios bsicos (comunicaciones, electricidad, agua), puertos, aeropuertos, hospitales, etc. Lamentablemente si una persona no aprende el uso de las nuevas tecnologas, corre el riesgo de quedarse obsoleto con los conocimientos y por consecuencia natural su trabajo puede perderse. Adicciones al uso de los videojuegos, mensajes escritos, chats hace que el usuario pierda la nocin del mundo real; y puede ser que el dao sea primero a nivel psicolgico llegando hasta el nivel fsico poniendo en riesgo su propia vida y la de los dems. Al existir una menor necesidad de esfuerzo fsico el sedentarismo es un mal que se est extendiendo con fuerza en todos los niveles de usuarios de software. REVISION ANTERIORES A 1990 Entre los libros publicados referenciados en el texto (Ing. del Software 6ta ed. Pressman) en la seccin 1.1. pg. 3, destaca STOLL 1989; quin argument que la comunidad electrnica creada por redes y software era la clave del intercambio de conocimiento alrededor del mundo. Es evidente que hoy 20 aos despus, el intercambio de informacin por medio del uso de internet (tanto web 1.0, como web 2.0 y futuras versiones del web), ha permitido la difusin de investigacin y conocimiento sin precedentes.
Narrada en forma de novela, el The Cuckoo's Egg cuenta la historia de Clifford Stoll, un astrnomo e informtico que, comprobando sus sistemas, descubre una diferencia de 75 centavos en la contabilidad. Este pequeo detalle le lleva a darse cuenta de que los ordenadores de su red estn siendo atacados por crackers desde el extranjero, y con ello comienza su particular carrera de persecucin hasta dar con ellos. Describe la forma en que los crackers se introducen en los ordenadores y la forma en que pueden ser detectados.

The Cuckoo's Egg (book). (2008, December 3). In Wikipedia, The Free Encyclopedia . Retrieved 22:07, January 25, 2009, from http://en.wikipedia.org/w/index.php?title=The_Cuckoo %27s_Egg_(book)&oldid=255637764

Extracto del libro The Cuckoos Egg Cap. 13, pg. 50


Una sola computadora aislada, fuera de comunicacin con el mundo, es inmune a los ataques. Pero una computadora aislada ha limitado su valor; no puede mantenerse al ritmo de lo que est pasando alrededor. Las computadoras son de gran uso cuando ellas actan recprocamente con las personas, mecanismos, y otras computadoras. Las redes permitieron a las personas compartir datos, los programas, y correo electrnico. La mayora las computadoras personales satisfacen las necesidades de sus dueos, y no necesita hablar a otros sistemas. Para el proceso de palabras, hojas de clculo de contabilidad, y juegos, usted realmente no necesite ninguna otra computadora. Pero conecte un mdem a su computadora, y su telfono informar lo ltimo de la bolsa de valores, los precios del mercado, rumores. Conectando a otra computadora le da una manera poderosa de ponerse a punto en las ltimas noticias.

Fue muy acertado en la precisin de que se usara el internet como medio de comunicacin y para la construccin de comunidades de informacin como si fuesen ciudades; tanto militares, universidades y comercios todos interconectados. Si tal vez existe alguna prediccin errada, la misma no es por equivocacin sino porque an no se creaban los buscadores como google yahoo. Y es por la forma de buscar informacin en aquellos aos: conectndose al directorio del NIC (Network Information Center in Menlo Park, California, USA.) en la cual si se busca a alguien se debe hacer con comandos telnet /unix, mediante la cual nos devuelve la IP de quien se busque, sin embargo de lo cual esta forma de bsqueda sigue vigente y vlida. Adicionalmente, la forma de trabajo de procesadores de palabras y hojas de clculo ha evolucionado para poder trabajar en forma conjunta (red), en dispositivos mviles (smart phones) y desde la web (google docs), al igual que los juegos; sin embargo no pierde vigencia al decir que realmente no necesite otra computadora para hacer este trabajo. 1.3. Desarrollar sus propias respuestas a las preguntas formuladas en la seccin 1.1. Debtanse con los compaeros de clase. Por qu tarda tanto la obtencin del software terminado? Fallas en etapa de anlisis, porque luego de esta fase, no se ha especificado de forma correcta el alcance y los requerimientos de los usuarios. Adicionalmente al disear los sistemas no se piensa en la flexibilidad y la evolucin natural de las empresas y por ende de los requerimientos; as como de los cambios exgenos como hardware, entorno y polticas gubernamentales inclusive.

Por qu son tan altos los costos de desarrollo de software? Errores de estimacin, porque al no poder entregar a tiempo los sistemas los recursos estimados no son suficientes, y si adems agregamos fallas en la etapa de anlisis los costos se disparan y no habr presupuesto del cliente, ni disponibilidad del desarrollador para terminar los mismos. A pesar de que se encuentran herramientas de estimacin (Ej. COCOMO y COCOMO II), el desarrollo de software depende del factor humano y por ende es impredecible.

Por qu es imposible encontrar todos los errores en el software antes de entregarlo a los clientes? Fallas en la etapa de diseo, se debe tener en cuenta no solo los posibles datos que se transformarn en informacin, sino tambin el entorno operativo (hardware + redes + sistema base + SGBD + usuarios), capacidad de almacenamiento y proceso en fases crticas como tablas con ms de 100 mil registros, cadas de energa, y servidores mal configurados. Fallas en la etapa de pruebas, falta de personal que pruebe sin el menor conocimiento de las restricciones de datos que pueda aceptar el sistema, e incluso que no sepa cmo se elabor el sistema.

Por qu se gastan tanto tiempo y esfuerzo en el mantenimiento de los programas existentes? Fallas en la fase de diseo, al no realizar un diseo que asegure la calidad del software, el mismo se volver difcil de mantener; llegando incluso a proponer nuevos sistemas. Adicionalmente esto se da por lo general en el software heredado, el cual no por culpa de quienes lo hicieron, sino porque no se dispona de las herramientas, modelos y estndares que se disponen hoy.

Por qu es difcil medir el progreso al desarrollar y darle mantenimiento al software? Porque a pesar de existir modelos, mtricas y estndares, introducidos por la ingeniera del software; el desarrollo de software por s mismo no deja de ser un arte todava, dependiendo totalmente del factor humano en su etapa

de desarrollo. A pesar de esto tambin se produce por la incorrecta aplicacin de los estndares y modelos que se pueden seguir, y al no asegurar la calidad del software el mantenimiento se vuelve difcil desde que sale a la luz la primera versin de un software. 1.4. La definicin de software que se presenta en la seccin 1.2. se aplica a los sitios Web? Si la respuesta es afirmativa, indicar la sutil diferencia entre un sitio Web y el software convencional. Si se aplica, al tener los mismos elementos mencionados en la definicin. Sin embargo la sutil diferencia puede radicar en que un sitio web necesita un browser (ejm. Internet explorer, firefox, opera, etc.), que interpreten el cdigo html generado por la aplicacin. En cambio el software convencional, puede estar escrito para ejecutarse (en una plataforma sistema operativo determinado), de forma directa pues al ser un cdigo compilado no depende de browsers que interpreten el cdigo su carga es ms rpida.

1.5. Muchas aplicaciones modernas cambian frecuentemente (antes de presentarlas al usuario final y despus de que se empieza a utilizar la primera versin). Sugiranse algunas formas de construir software para detener el deterioro debido al cambio. Aplicar estndares de ingeniera de software y ejecutarlas, un claro ejemplo de estos mtodos son ISO 12207, el modelo CMM. Sin embargo aplicarlas al pie de la letra es difcil, por lo tanto cada empresa (desarrollador) de software debera llegar a establecer su propio estndar basado en los mencionados y aplicarlo a su empresa. Una vez desarrollado resumido su estndar de desarrollo; se sugiere cuidar mucho los siguientes aspectos en cada fase del desarrollo: FASE: ANALISIS Alcances del sistema. Identificar en lo posible todos los requerimientos del usuario final.

FASE: DISEO Disear al sistema con enfoques de calidad, para facilitar el mantenimiento posterior;

Disear el sistema lo suficientemente flexible para que se adapte a los cambios naturales que puedan suceder. Disear por ende sistemas con suficientes parmetros, y configuraciones para que el mismo no dependa del desarrollador sino que sea flexible y parametrizable por el usuario final administrador del sistema. Tomar muy en cuenta los presupuestos que el cliente tenga previstos para tecnologa de hardware, para diseo de interfaces, bases de datos y tecnologa a utilizar.

FASE: DESARROLLO Utilizar componentes reutilizables ya desarrollados en lo posible. Desarrollar componentes libreras estndar que puedan ser reutilizados en el futuro. Utilizar tecnologa y mtodos de desarrollo que permitan introducir cambios posteriores a las versiones que se entreguen al usuario. Desarrollar pruebas de escritorio interpretacin del cdigo por parte de los desarrolladores, antes de entrar a la fase de pruebas.

FASE: PRUEBAS Utilizar datos de prueba reales, y en lo posible datos de entorno crtico; como por ejm. Poblar las tablas con miles de filas y medir su reaccin en el hardware a utilizar. Probar el sistema en entornos crticos como cadas de energa, fallos en red, etc. Desarrollar manuales instructivos. Hacer las aproximaciones e indicaciones al usuario final y realimentar al modelo.

FASE: IMPLANTACION Capacitar al usuario, y entregar los manuales instructivos disponibles. Utilizar estndares de solicitudes de cambios y nuevos requerimientos posteriores a la implantacin de un sistema. Por ltimo se sugiere hacer un control de entrega de versiones y de erratas.

1.6. Considrense las siete categoras presentadas en la seccin 1.3. Es posible aplicar el mismo enfoque de la ingeniera del software a cada una de ellas? Explicar la respuesta.

La ingeniera del software es el establecimiento y uso de principios slidos de la ingeniera para obtener econmicamente un software confiable y que funcione de modo eficiente en mquinas reales Ingeniera del Software - Pressman 6ta edicin. Pg. 23

Si se puede aplicar a estas categoras. Pero como un enfoque genrico, puesto que los productos software de cada una de estas categoras cumplen con el ciclo del software, independientemente de cmo fue desarrollado implementado.

1.7. Seleccionar alguno de los nuevos retos mencionados en la seccin 1.3. (o algn desafo an ms nuevo que pudiera haber surgido desde la impresin de este texto) y escribir un documento de una cuartilla que describa la tecnologa y los retos que representa para los ingenieros de software.

En el texto de Pressman, en los nuevos retos hemos seleccionado Fuente Abierta. Uno de los grandes problemas de la ingeniera del software ha sido y es que no ha
sabido adaptarse consecuentemente a su propia definicin. Esto es algo que se puede considerar como una especie de traicin a s misma, a sus propios fundamentos. El enfoque sistemtico y cuantificable ha tenido siempre como barreras las propias de las formas en las que el software se ha desarrollado y distribuido. El formato binario del software, la opacidad en los modelos de negocios, los secretos y barreras comerciales se encuentran entre las principales causas que han imposibilitado estudios cuantitativos y cualitativos a gran escala del software cuyos resultados pudieran ser verificados sistemticamente por equipos de investigacin independientes. Las "verdades" que han sido enunciadas son, con frecuencia, experiencias puntuales que han sido generalizadas y dadas por vlidas ante la falta de alternativas. La propia forma de desarrollar, distribuir y comercializar software ha sido la que ha llevado a la ingeniera del software a la crisis. Ingeniera del Software Libre. Una visin alternativa a la ingeniera del software tradicional Gregorio Robles - 2002 Revisin 0.94 - versin V congreso HispaLinux - 10 de octubre de 2002

Desde hace ms de una dcada, el software libre ha venido experimentando un gran auge en cuanto a uso, aceptacin y, desarrollo. La implantacin de Internet junto con las caractersticas de las licencias abiertas que "invitan" a todo el mundo a formar parte del equipo de desarrollo, han propiciado que a da de hoy no slo podamos contar con el cdigo fuente (un gran avance para su estudio en contraposicin al del software propietario), sino tomar medidas de los archivos de las listas de correo donde viene plasmada la comunicacin del proyecto, los repositorios de versiones gracias a los cuales podemos ver la evolucin, etc. De todas estas fuentes se puede extraer una gran cantidad de informacin de inters, en la mayora de casos incluso de manera automtica. Por tanto, el software libre ofrece la oportunidad de conocer ms a fondo el proceso de concepcin de software, aportndonos nuevas evidencias y experiencias. Los nuevos retos con respecto al cdigo abierto no solamente se basa en codificar de manera clara y establecer con comentarios con documentos asociados lo que hace cada funcin cada parte del cdigo, con lo cual se puede aceptar cdigo de otros desarrolladores incrementando la calidad del producto. Sino que tambin se basa en la parte econmica; puesto que en nuestra rea de desarrollo ya no se enfoca al cobro de licencia, o software propietario; debemos cambiar el enfoque econmico, una alternativa puede ser concentrarnos en el cobro de servicios. Es un tema que queda an con ms inquietudes que posiblemente se vayan dilucidando desarrollando en el transcurso del tiempo. 1.8. Describir con palabras propias la ley de la conservacin de la estabilidad organizacional (seccin 1.4.2). Los alcances y metas que se definen en un sistema desde su inicio no disminuyen, por consecuencia si se realiz un buen anlisis inicial, su alcance no sobrepasar al hecho en el anlisis inicial; caso contrario se est tratando de otro(s) sistemas. Al entender esto nos damos cuenta que la actividad rendimiento de un sistema aunque evolucione, mantendr un promedio de actividad efectiva; hasta que el mismo se quede obsoleto por la evolucin natural de los requerimientos y el entorno del sistema.

1.9. Describir con palabras propias la ley de la conservacin de la familiaridad (seccin 1.4.2). Los involucrados en el desarrollo de un sistema, quienes participan de forma directa indirecta se mantienen incluso despus de la entrega del producto final. Aunque el sistema evolucione, el personal involucrado se sigue

manteniendo aunque sean otras personas. Esto provoca que el sistema crezca de forma sostenida manteniendo su promedio de meta de usuario. Aqu cabe aclarar que el nmero de usuarios finales directos indirectos no es el mismo que el nmero de personas involucradas en el desarrollo.

1.10. Describir con palabras propias la ley de la calidad decreciente (seccin 1.4.2). Debido a la evolucin natural del entorno los requerimientos y funcionalidades de una organizacin poblacin, se debe entender que los sistemas deben evolucionar junto con su entorno; caso contrario quedarn obsoletos y por ende su calidad disminuir dramticamente hasta quedar en desuso. En el caso de sistemas crticos los mismos deben evolucionar y transformarse en software heredado.

1.11. A medida que la presencia del software se vuelve ms generalizada, los riesgos al pblico (debido a las fallas en los programas) representan una preocupacin significativa y creciente. Desarrollar un escenario catastrfico realista en el que la falla de un programa de computadora podra producir un gran dao (ya sea econmico o humano).
La mayor parte de los expertos coinciden en sealar que la manera ms probable de destruir el mundo es por accidente. Y aqu es donde entramos en juego nosotros, los profesionales de la informtica: nosotros somos los que provocamos los accidentes". http://mit.ocw.universia.net/6.170/6.170/f01/pdf/lecture-01.pdf

Se utiliza un software que controle la apertura y cierre de las compuertas de una central hidroelctrica, pero el algoritmo que analiza los datos de ingreso de caudal por un error de digitacin del programador pronostica que el caudal probable va a ser mucho mayor que la cantidad real que ingresa, cerrando las compuertas por un lapso de tiempo en el cual no se puede retornar a abrirlas inmediatamente. Esto causar que las turbinas se queden sin agua y por lo tanto debern hacer un enlace a la red nacional interconectada; pero esa operacin toma al menos diez minutos, dejando a las ciudades sin energa elctrica, con consecuencias imprevisibles para los usuarios de hospitales, clnicas, aeropuertos, etc.

El software en un automvil, interpreta las seales enviadas por los sensores en los frenos al girar una curva a alta velocidad o frenados intempestivos en ese caso activa el sistema de frenado ABS; si hubiera una falla en los sensores en el algoritmo de activacin del frenado las consecuencias pueden ser mortales para los ocupantes del mismo.

1.12. Examinar con atencin al grupo de noticias de internet comp.risk y preparar un resumen de los riesgos al pblico que se han discutido recientemente. Fuente alternativa Sofwtare Engineering Note publicada por la ACM.

Los computadores del sistema alemn de trenes cayeron por horas. Debora Weber-Wulff. El 14 de enero de 2009 a las 14:03, hubo un fallo de energa, causado por un mal mantenimiento de los sistemas de respaldo UPS. Tomo horas restablecer el sistema.

Sin embargo, otra razn para no usar Windows para dispositivos mdicos. Jeremy Epstein. Mircoles, 21 Jan 2009 El registro reporta un arduo trabajo por parte del personal de los hospitales luchando contra un gusano computacional, en una red de 8000 PCs; luego de que ms de 800 PCs aparecieron infectados con el gusano conficker el cual se autopropaga. Esto se dio por cuanto se desactivaron las actualizaciones automticas de seguridad de Windows, en la semana de navidad del 2008; y se descubri cuando en medio de una intervencin quirrgica el PC se reinicio. Incluso Microsoft toma nota del acuerdo de licencia que no debe usar su software para los sistemas crticos para la vida (entre otras cosas). Tal vez eso es slo una cosa, pero espero que haya consideracin de los riesgos antes de hacer caso omiso de esos trminos.

Riesgos de Avis insuficiente control de los datos de los clientes. Chris Warwick Chris Warwick.

En este caso el cdigo del cliente fue asignado a otro, y los datos del cliente original fueron entregados al otro, quien sin esperar los confirm y utiliz los servicios de la agencia cargndolos a la cuenta del cliente original.

Al revisar los riesgos probables por el mal uso del software, la mala programacin causa estragos y eventualmente puede provocar la muerte; nos da un indicativo que el software es una ciencia y un arte que debe ser tratado con todo el rigor posible, siguiendo estndares, pruebas, no solamente en la ejecucin de los algoritmos que forman el sistema sino que tambin debe tomarse en cuenta los entornos naturales y operativos de los sistemas.

CAPITULO 2 2.1. En la introduccin a este captulo, Baetjer puntualiza: El proceso ofrece una interaccin entre usuarios y diseadores, entre usuarios y herramientas en evolucin, entre diseadores y herramientas en evolucin [tecnologa]. Hganse cinco preguntas al respecto a a) lo que los diseadores deben preguntar a los usuarios; b) los usuarios deben preguntar a los diseadores; c) lo que los usuarios deben preguntarse a s mismos sobre el producto de software que se construir; y d) lo que los diseadores deben preguntarse a s mismos sobre el producto de software que se construir y el proceso que se utilizar para hacerlo.

a) Lo que los diseadores deben preguntar a los usuarios. El conocimiento informtico que disponen los usuarios. Experiencias anteriores en uso de sistemas relacionados. La predisposicin al cambio, aprendizaje de nuevas tecnologas y voluntad de facilitar informacin al analista o diseador. El conocimiento de los procesos y la gestin a automatizar; Identificacin de las reas y procesos crticos. Si tiene conocimiento de los datos que ingresarn al sistema y los datos que espera obtener al aplicar el sistema.

b) Los usuarios deben preguntar a los diseadores. El tipo y tiempo capacitacin, aprendizaje e implementacin del sistema. La forma de soporte y mantenimiento a recibir posterior a la instalacin. Conocimiento previo del rea en cuestin. Que tan adaptable a nuevas polticas internas y externas, cambios tecnolgicos ser el sistema (parmetros, configuraciones y flexibilidad). Que tan factible es introducir un cambio luego de que se ha empezado a desarrollar el proyecto. Tecnologa (software y hardware) a implementar. Metodologa de investigacin y modelo de desarrollo a usar.

c) Lo que los usuarios deben preguntarse a s mismos sobre el producto de software que se construir. Disponibilidad de tiempo y predisposicin al esfuerzo en asimilar un nuevo proyecto. Capacidad de interactuar con el investigador.

Tengo el conocimiento y la experiencia necesaria para aportar positivamente en el proyecto. Luego de haber interactuado con el nuevo producto ser capaz de heredarlo a otro usuario sin mayor esfuerzo. Que beneficios en tiempo de proceso, reportes, comunicacin, almacenamiento, tendr el nuevo software a construir.

d) Lo que los diseadores deben preguntarse a si mismos sobre el producto de software que se construir y el proceso que se utilizar para hacerlo. Estoy utilizando un modelo adecuado a la necesidad del nuevo proyecto. Conozco al mximo las herramientas y los recursos disponibles. Tengo la informacin necesaria para el desarrollo del producto de software que se construir. Estoy en la capacidad (experiencia y conocimientos) de realizar este proyecto o cuento con el personal adecuado para realizarlo. Satisface las necesidades, requerimientos y alcances del nuevo proyecto al presupuesto establecido.

2.2. En la figura 2.1. se colocan los tres estratos de ingeniera del software arriba de un estrato titulado un enfoque en la calidad. Esto implica un programa de calidad de una organizacin amplia como gestin de la calidad total. Realizar una pequea investigacin y desarrollar una gua de los principios clave de un programa de gestin de calidad total.

a) Consecucin de la plena satisfaccin de las necesidades y expectativas del


usuario (interno y externo).

b) Desarrollo de un proceso de mejora continua en todas las actividades y

procesos llevados a cabo en el desarrollo de software (implantar la mejora continua tiene un principio pero no un fin). c) Total compromiso de la Direccin y un liderazgo activo de todo el equipo directivo. d) Participacin de todos los miembros del grupo de desarrollo y fomento del trabajo en equipo hacia una Gestin de Calidad Total. e) Involucracin del cliente en el sistema de Calidad Total de grupo de desarrollo, dado el fundamental papel de ste en la consecucin de la Calidad en el producto final (software). f) Identificacin y Gestin de los Procesos Clave de la organizacin, superando las barreras departamentales y estructurales que esconden dichos procesos. g) Toma de decisiones de gestin basada en datos y hechos objetivos sobre gestin basada en la intuicin. Dominio del manejo de la informacin.

2.3. Existe la posibilidad de que las actividades genricas del proceso de ingeniera del software no se apliquen? Si es as, descrbase. No existe la posibilidad de omitir actividades genricas ya que son tiles tanto para pequeos sistemas como para grandes proyectos de software. Las actividades genricas: Comunicacin, Planeacin, Modelado, Construccin y Despliegue. Estas cinco actividades genricas son tiles durante el desarrollo de programas pequeos, grandes aplicaciones en red, y en la ingeniera de sistemas basados en computadoras grandes y complejas. Los detalles del proceso del software sern muy diferentes en cada caso, pero las actividades dentro del marco permanecern iguales. 2.4. Las actividades de sombrilla ocurren a lo largo de todo el proceso del software. Se aplican de modo uniforme a travs del proceso o algunas estn concentradas en una o ms actividades del marco de trabajo? Se aplican a lo largo del proceso de software, y no se pueden aplicar de manera uniforme a lo largo de todo el proceso del software. Las actividades sombrilla son actividades conjuntas (asociadas) al resto de actividades genricas, para asegurar que el proyecto cumpla con las metas establecidas en cada uno de los pasos. Aunque cada actividad de sombrilla es diferente, y depende de la actividad genrica a la que est asociada, el esfuerzo trabajo necesario para aplicarlo es distinto al momento de evaluar cada situacin. Sin embargo las actividades sombrilla de forma global se aplican de manera igual en todo el proceso del software.

2.5. Descrbase un marco de trabajo del proceso con palabras propias. Cuando se dice que las actividades del marco de trabajo son aplicables a todos los proyectos, esto significa que las mismas tareas de trabajo se aplican a todos los proyectos, sin importar el tamao y la complejidad? Explquese la respuesta. Un marco de trabajo en trminos simplificados puede ser un mapa o plantilla a seguir en el que constan actividades tiles para el equipo de desarrollo. Las actividades genricas: Comunicacin, Planeacin, Modelado, Construccin y Despliegue. Las actividades sombrilla: Seguimiento y control del proyecto de software, Gestin del riesgo, Aseguramiento de la calidad del software, Revisiones

tcnicas formales, Medicin, Gestin de configuracin del software, Gestin de la reutilizacin, Preparacin y produccin del producto de trabajo. Estas cinco actividades genricas junto con las actividades sombrilla son tiles durante el desarrollo de programas pequeos, grandes aplicaciones en red, y en la ingeniera de sistemas basados en computadoras grandes y complejas. Los detalles del proceso del software sern muy diferentes en cada caso, pero las actividades dentro del marco permanecern iguales. Por lo tanto podemos decir que las mismas tareas de trabajo se pueden aplicar a todos los proyectos, sin importar el tamao y la complejidad.

2.6. Intente establecer un conjunto de tareas para la actividad de comunicacin. a) presentacin b) entrevistas previas c) definicin de requerimientos d) elaboracin de cuestionarios e) elaboracin de encuestas f) entrevistas formales g) desarrollo de informes h) documentacin de tareas realizadas i) seguimiento 2.7. Investigar un poco ms acerca de la IMCM y discutir las ventajas y desventajas de los modelos IMCM continuo y discreto .

MODELO CMMI DISCRETO

VENTAJAS Estrategia Incorporada Las reas de proceso se basan en si mismas Mejores beneficios a largo plazo La mayor parte de los problemas de calidad son planeados de esa forma Las reas de proceso seleccionadas

DESVENTAJAS Mayor inversin al inicio. Los resultados que se pueden medir, pueden tomar ms tiempo. Puede ser mas dificil de convencer a la alta gerencia Puede ser mas dificil de implementar Las evaluaciones son mas caras Los problemas sistemticos de

CMMI CONTINUO

pueden cumplir con los objetivos de negocio directamente Se pueden conseguir resultados ms rpido Se requiere una inversin inicial menor

calidad pueden no ser tomados en cuenta Puede que no se tengan beneficios a largo plazo Falta de estrategia incorporada Se puede implementar los procesos en el orden equivocado

2.8. Desplegar la documentacin de la IMCM del sitio de la red del SEI y seleccionar un rea del proceso que no sea la planeacin del proyecto. Hacer una lista de las metas especficas (ME) y de las prcticas especficas (PE) asociadas que se definan mediante el rea de trabajo que se haya elegido. AREA DE TRABAJO: Medicin y Anlisis

Meta Especfica Prcticas Especficas


SG1 Alinear las Actividades de Medicin y Anlisis Los objetivos y actividades de medicin estn alineados con las metas y necesidades de informacin identificadas. SP1.1 Establecer objetivos de medicin SP1.2 Especificar mediciones SP1.3 Especificar procedimientos de recogida y almacenamiento de datos SP1.4 Especificar procedimientos de anlisis SG2 Proporcionar Resultados de la Medicin Los resultados de las mediciones, las cuales soportan las metas y necesidades de informacin, son proporcionados. SP2.1 Recolectar datos para las mediciones SP2.2 Analizar datos de las mediciones SP2.3 Almacenar datos y resultados SP2.4 Comunicar resultados

2.9. Considerar la actividad de comunicacin dentro del marco de trabajo. Desarrollar un patrn completo del proceso (podra ser un

patrn discreto) aprovechando los principios descritos en la seccin 2.4. Nombre del patrn. Comunicacin. Propsito. Llegar a establecer e implementar comunicacin entre usuarios, cliente, y todo el personal implicado dentro del desarrollo del nuevo proyecto de software, utilizando tcnicas y herramientas para la obtencin de informacin. Tipo. Tarea. Contexto inicial. Para aplicar este patrn de proceso se deben de considerar las siguientes condiciones. 1. Tener viabilidad para el desarrollo de investigacin. 2. Conocer el rea fsica de investigacin. 3. Identificar los clientes. 4. tener establecidas tcnicas de investigacin por parte del diseador. Problema. la comunicacin es una de las fases por no decir la fase mas importante dentro del proceso de desarrollo de software, lograr obtener la informacin deseada conlleva muchos riesgos, y muchas de las veces la informacin es interpretada de una manera distinta a la que el cliente quiso expresar. Tambin existen clientes que se niegan a facilitar informacin.

Solucion. Al aplicar correctamente las tcnicas de investigacin se logra una eficiente comunicaron e interpretacin de datos facilitados por el cliente, para llegar a establecer una slida base para los siguientes fases de desarrollo. Adems crea un ambiente de confianza entra cliente y desarrollador.

Contexto resultante. la comunicacin by direccional eficiente entre cliente y desarrollador tiene como consecuencia una recopilacin eficiente y confiable de informacin para usos como. En base a esta informacin se puede determinar el modelo de proceso que se utilizara en el desarrollo del proyecto. La informacin se la puede trasladar a un prototipo. Tenemos ya la mesa servida para realizar el anlisis de informacin.

Patrones relacionados. Los siguientes son los patrones relacionados Reunin del equipo del proyecto. construccin de prototipos. Anlisis de requerimientos. Evaluacin del cliente.

2.10. Cul es el propsito de la evaluacin del proceso? Por qu el SPICE ha sido desarrollado como un estndar para la evaluacin del proceso? El objetivo de la evaluacin de proceso es llegar a tener una ingeniera de software exitosa y con esta tambin se puede medir la capacidad del desarrollador y del proceso para poder mejorarlo. El SPICE se lo considera un estndar por que contiene un conjunto de requisitos que satisface las necesidades de evaluacin del proceso de software en las organizaciones de desarrollo.

2.11. Investigar ms sobre el PSP y preparar una breve presentacin que indique los beneficios cuantitativos del proceso. Medicin de tiempo de proceso. El desarrollador llega a entender de manera personal como influye la cantidad de tiempo que se demora en realizar un proceso dentro del proyecto y con esto l puede determinar las areas donde tiene que enfatizar. Los defectos que entran y salen del proceso. Cuantificar la cantidad de errores cometidos en cada proceso. Los diferentes tamaos de los productos que se producen. Medir en trminos de calidad y eficiencia los diferentes productos que se llegaron a obtener luego de haber puesto en marcha el proceso. 2.12. La utilizacin de escritos (un mecanismo requerido en el PSE) no goza de gran aceptacin entre la comunidad del software. Hacer una lista de las ventajas y desventajas mientras se toman en cuenta los

escritos y sugerir al menos dos situaciones en que seran tiles y otras dos situaciones en donde no tendran tantos beneficios.

Ventajas Estructura de pasos a seguir reas de trabajo perfectamente definidas Busca la calidad desde el inicio del proyecto Para cada actividad hay un formato de trabajo predefinido

Desventajas Muy estricto en los pasos a seguir Formatos de documentacin demasiado complejos Se requiere documentar cada paso y accin que se tome

Situaciones favorables Cuando hay mucha rotacin de personal es beneficioso ya que los escritos ayudan mucho a absorber los efectos de capacitar un nuevo personal En el caso de desarrollar algoritmos que ejecuten algn proceso complejo es muy beneficioso documentar con escritos dichos procesos y las consecuencias de los mismos Situaciones desfavorables Excesivas reuniones de trabajo para planeamiento y coordinacin de tareas a ejecutarse Nivel de detalle de control de los proceso puede resultar muy burocrtico dentro del grupo de trabajo.

Você também pode gostar