3.3 Enlaces de Interes Sábado, Ago 23 2008 

Esta fuente ha sido tomada desde el tema de los Sistemas de Informacion

http://www.monografias.com/trabajos7/sisinf/sisinf.shtml#intro

2.2 [2do. Periodo] Foro #6 Lunes, Ago 18 2008 

Gestion de proyectos de software.

El emprenderse en un proyecto de software no se limita a tener la voluntad de hacerlo, llevar un proyecto desde cero hasta un software que cumpla todos y cada uno de los requerimientos del cliente no es tarea fácil, si no se sabe usar las herramientas adecuadas y el proceso adecuado.

Es por ello que existe el gestionamiento de proyectos de software. El gestionar proyectos de software nos dan ciertas pautas que debemos considerar al hacer nuestro software. Primeramente debemos hacer tres preguntas claves que definirán el desarrollo del software:

¿Cuánto tiempo llevara hacer el proyecto? : Con esta pregunta debemos darnos una idea del tiempo estimado en desarrollar el proyecto, el tener una fecha limite ayuda a tener debidamente controlado el desarrollo y no dejarlo en momentos de aislamiento.

¿Cuántas personas trabajaran en el proyecto? : El saber cuantas personas trabajan en el proyecto y limitarlo a una fecha determina el esfuerzo que se hace en cuanto a las tareas que hay que cumplir a medida que se da el desarrollo del software.

¿Cuánto será el coste monetario? : Conocer y tener un presupuesto definido ayuda a controlar las decisiones que se harán dentro del proyecto.

El tener contemplado una fecha límite, un presupuesto y controlar quienes y cuantas personas trabajaran en el proyecto es una excelente manera de llevar controlado el desarrollo del proyecto y asegura la satisfacción del cliente al presentarle el proyecto en tiempo calendarizado y sin mucho coste innecesario.

El gestionar proyectos presume conocer las anteriores pautas para poder tenerlas en cuenta al momento de aplicarlas según los pasos que se vayan dando, estos pasos son los siguientes:

• Planificación (aclaraciones)
o Resultados deseados del proyecto
o Entidades financieras: ¿a qué entidades afectará el proyecto, cuáles son necesarias para su financiación y cuáles podrían estar interesadas en los resultados del mismo?
o Actividades que deben llevarse a cabo para completar el proyecto.
o Fechas de inicio y fin de cada actividad del proyecto.
o Presupuestos para todos los recursos necesarios del proyecto (aquí se incluyen otros recursos a parte del dinero).
o Riesgos importantes del proyecto y medidas que se tomarán para evitarlos.
Organización (precisar las funciones y responsabilidades del personal del proyecto)
• Control del rendimiento de trabajo (aquí se incluye):

o Organizar al personal del proyecto, dirigir su enfoque de trabajo y motivarlo constantemente.
o Seguir detenidamente el proyecto y comparar el trabajo realizado y los resultados con lo que se especificó en la planificación.
o Cuando el seguimiento de un proyecto sugiera que es necesario hacer algún cambio en su planificación, hay que plantearlo y modificarlo.
o Mantener a todos informados sobre los logros, cuestiones y cambios del proyecto.
o Vigilar de cerca el proyecto constantemente y ocuparse de los riesgos que vayan surgiendo.

2.2 [2do. Periodo] Foro #5 Lunes, Ago 18 2008 

Características de un buen diseño de software

El diseño del software debe, en primera instancia, estar correctamente definido, y las bases de esto se encuentran en la correcta identificación de requerimientos. Un diseño sin la validez necesaria de los requerimientos que debe seguir es un completo fracaso y por ello todo el desarrollo del software puede irse por la borda. Así que primeramente, el asegurarnos que el diseño que se crea este bien infundado seria de las primeras cosas que debemos hacer.

Para darle seguimiento, se debe conocer todas y cada uno de los componentes a tomar en consideración al momento de diseñar el software, de lo contrario este no sabría como interactuaría nuestro software con el cliente. Así pues, al momento de definir un diseño hay que tomar en cuenta el ámbito en el cual se desarrollara, que tiene por objetivos y con quienes y como se relacionara con ellos, de lo contrario el diseño seria pobre y limitado.

Como cualquier proceso, la etapa de diseño del sistema consta de cuatro pasos, cada uno de ellos abarcan áreas del diseño que no deben dejarse a un lado pues cada una en su contexto presentan una relación importante en conjunto.

1. El Diseño de los datos.
2. El Diseño Arquitectónico.
3. El Diseño de la Interfaz.
4. El Diseño de procedimientos

Así mismo, el funcionamiento y eficiencia de nuestro software esta ciertamente relacionado con un buen diseño que sea tanto interior (nivel de datos, etc.) como exterior (nivel de interfaz) es por ello que no hay que menospreciar ningún paso ni mucho menos omitirlo, y una vez realizado un buen diseño este debe cumplir ciertas características que le darán la validez necesaria para ser expuesta al cliente.

Un buen diseño de software debe de ser:
• Ser de fácil soporte.
• Adaptabilidad
• Eficiente
• Integro
• Flexible
• Fácil de usar

2.4 Estudio de casos #2 Lunes, Ago 18 2008 

1. ¿Cómo se puede potencializar la productividad en el desarrollo de proyectos de software?

Primeramente puede hacerse ejerciendo una buena organización, seriedad y responsabilidad por cada uno de los integrantes del proyecto y un uso determinado de métricas para medir el desempeño funcional, operacional, de tiempo, y de personal de esta manera se puede sacar a relucir la calidad de un trabajo en términos cuantificables, así se puede evaluar, plantear salidas alternas que mejoren la calidad de la producción haciendo énfasis en aquellas áreas donde se muestra un nivel deficiente o de poco desempeño.

Para poder llevar en un lineamiento el desarrollo del proyecto, no se debe perder de vista la comprensión de recursos y el entendimiento de todo el proyecto en si, abarcando procesos y otros factores implicados, el entender el proyecto no solo conlleva al manejo adecuado de información sino también nos ayuda a identificar factores que están de mas en el proyecto a medida que este se desarrolla o aquellos que faltan o que se desvían del proyecto en si.

Si lo analizamos de esta manera el comprender el proyecto conlleva a una serie de conclusiones, el comprender nos lleva a entender y a alinear el proyecto, el entenderlo nos lleva a mejorar aquellas áreas que necesitan ser mejoradas bajo el contexto de las fechas establecidas y el coste monetario que se gestiono anteriormente.

De esta manera potencializar la productividad se basa en la comprensión del proyecto y asegurar elementos que cada rama del desarrollo necesita para trabajar de forma eficiente, el llevar el control de cada área por medio de métricas y sistemas de mediciones son buenas opciones para optimizar y asegurar la calidad y eficiencia de un proyecto de software al llevarlo a la máxima capacidad de funcionalidad que cumpla con los requisitos del cliente.

2. Describir ¿Cuál es la importancia del uso de métricas para una eficiente y eficaz gestión de proyecto de software?

El gestionar proyectos de software no se resume a identificar cada elemento al momento de evaluar el coste monetario, operacional o de tiempo, se trata de manejarlo en el amplio sentido de la palabra, conocerlo y mejorarlo, para ellos existen las métricas.

Con el uso de métricas se puede plantear un problema o proyecto a base de ciertos factores de incidencia en los proyectos y de los cuales se obtengan ciertos resultados que puedan ser medibles y por lo tanto cuantificables.

Factores como el tamaño, el esfuerzo es decir las horas laboradas para terminar una tarea, la duración del proyecto, el personal involucrado, los defectos en la calidad del producto que se dirige al cliente, el cambio y los recursos de computación así como los gastos, el progreso del proyecto, trabajo completado y asuntos pendientes, son 11 de las métricas primitivas que poseen alto valor al ser modelos de medición de nuestro proyecto y que nos dan una amplia vista de cómo se mueve y avanza, estos nos puntualizan aquellas áreas que deben ser comprometidas a cambios y actualizaciones así como a mejoras.

Las métricas deben de ser utilizadas considerando en el entono en el cual se compararan, ya que un determinado ambiente en relación con otro puede tener resultados diferentes al momento de verificar el resultado de las métricas.

Recordemos que limitarnos a utilizar una sola métrica puede dejar marginadas y deficientes otras áreas que no se puedan medir con una sola, el utilizarlas todas y cada una de ellas no se discute sin embargo seria mas apropiado utilizar solo aquellas que creamos convenientes y con las cuales se nos de una idea de cómo funciona y va nuestro proyecto, de esta manera sabremos como funciona globalmente nuestro proyecto y como inciden en las áreas que están necesitadas.

3. ¿Qué impacto tiene el uso de normas y estándares en el proceso de medición de proyectos de TI (y específicamente en proyectos de desarrollo de software)?

El uso de normas y estándares nos dan en primera instancia un lineamiento que ha sido evaluado por muchas otros proyectos de TI, y que han resultado útiles, recordemos que una norma o un estándar debe ser definido y debe poder aplicarse a muchas situaciones, de esta manera estándares como CMM o las normas ISO, nos dan una visión de nuestro proyecto de software en términos de calidad y eficiencia sin importar el contexto del proyecto o quienes trabajan en el.

Las normas y estándares validados a nivel internacional nos proporcionan una vista de cómo el desempeño de un proyecto de software debe ser evaluado y las debidas correcciones que estos deben tener para ser validados por el cliente inclusive si este conociera o no dichas normas y estándares, y a nivel internacional, pero la calidad y eficiencia a la que se llego tras la corrección, organización y responsabilidad junto con el llenar las expectativas del cliente son las principales validaciones que nos llenaría de la satisfacción de un buen trabajo bien hecho.

Los beneficios organizacionales que pueden ganarse por la adopción de un proceso de medición son:
• Incremento en la Satisfacción de los Clientes por alcanzar o exceder sus expectativas
• Disminución de los Riesgos por tener estimados basados en datos históricos
• Establecimiento de metas de productividad y calidad basado en datos cuantitativos
• Incremento del control de los Proyectos por efectos de la visualización de sus procesos
• Retención de Empleados e incremento de la satisfacción en el trabajo a través de estimados realistas de esfuerzo y tiempo en los proyectos.
• Obtención de información valiosa para análisis comparativo con Competidores (Benchmarking)

Recordemos que para medir y obtener resultados favorables, hay que saber que hay que medir, comprender y mejorar una vez que haya sido medido.

El utilizar métricas dentro del proceso de medición nos proporciona información cuantificable en cuanto al rendimiento del proceso, el definir las metas y responder las preguntas para determinar si estas son alcanzadas son fácilmente respondidas de manera apropiada por el uso de las métricas y sistemas de medición. De esta manera nuestro proyecto de software no solo puede ser evaluado a nivel de estándares que nos dan un nivel de calidad y eficiencia que de aquí a cualquier parte del mundo nos daría validez sino también aseguraríamos el proyecto en el cual estamos trabajando, dejando satisfecho a nuestro cliente al igualar o superar sus expectativas.

4. ¿Es posible aplicar normas y estándares durante el proceso de desarrollo de software en el contexto salvadoreño? ¿Cómo implementar una versión tropicalizada de los diferentes Procesos de medición de proyectos de TI en nuestro país, sin perder la calidad del producto final?

Si es posible, ya que pese a que los proyectos del país son en ocasiones a menor escala que algunos que se hacen a la medida de grandes clientes y organizaciones, estas normas y estándares como lo dicen sus nombres, son un modelo que no sufre cambios en los ámbitos que se aplique y que solo conllevan a diferentes respuestas según estos ámbitos.

La realidad salvadoreña no es diferente al momento en que se aplique estas normas, un desarrollador de software sabe como aplicarlas siempre y cuando comprenda el funcionamiento y el proceso contextual en el cual su proyecto se tome acabo.

El implementar métricas, y sistemas de medición conocidos internacionalmente en una versión salvadoreña puede ser un poco difícil debido a que el contexto internacional difiere del nuestro, aun así aplicar aquellas métricas que deban ser aplicadas y tengan un resultado significativo y que no salga del contexto salvadoreño si es posible siempre y cuando quien controle y administre el uso de estos tenga el conocimiento adecuado del proyecto y comprenda el producto final que se requiere.

El uso de mediciones estándar como el PMBOK, es otra opción viable que puede ser aplicada siempre y cuando se limite a la realidad salvadoreña ¿Cómo hacerlo?, pues con el debido control y administración de información del proyecto y la aplicación de la medición en si.


5. Establezca un plan de acción, conforme la realidad salvadoreña, para medir y mejorar la calidad del proceso de desarrollo de proyecto de software (definir un proceso capaz de entregar los productos a tiempo, gestionando su comportamiento a través de las fases del proyecto y teniendo en cuenta la percepción de la calidad del cliente).

Una sociedad salvadoreña donde se organice y se trabaje en equipo para un fin común no solo conllevara a mejores aspectos sociales sino también a un beneficio comunal.

El desarrollo de software en nuestra actualidad es tomada como algo que pese a ser importante y a ser un camino futuro donde abra nuevas puertas a nuevos horizontes laborales, no se le da el trato que merece, para comenzar el trabajo en equipo no esta fuertemente infundado en los nuevos egresados que año con año dejan las universidades. Es necesario crear una cultura de beneficios comunales, donde se ejerza la participación comunitaria y el trabajo en equipo, sin perder el liderazgo que es una de las cualidades de los ingenieros de software.

Una vez recalcada la interacción entre ingenieros, se debe dar paso al uso de normas y estándares que ayuden al desarrollo del software, en muchas ocasiones el salvadoreño se limita a pensar que el desarrollar software es un pasatiempo o simplemente una forma de ganar plata, cuando en realidad es una actividad para colocar todos los recursos disponibles, tanto personales como institucionales y normativos para llegar a un fin. Este fin, persigue la competencia entre ingenieros donde no se olvide el trabajo en equipo, la aceptación del cliente y llenar sus expectativas y crear un software que califique tanto en El Salvador como en el resto del mundo.

Gestionar un proyecto y aplicar normas junto con un conjunto de métricas son elementos que ayudaran no solo a que el desarrollo de software sea más robusto y tenga fuertes bases, pero esto solo se consigue con la debida organización y responsabilidad de quien maneja el proyecto. El ingeniero consta con bastos recursos como las normas ISO, estándares como CMM, entre otros así como estándar en el proceso de medición como lo define PMBOK.

Es por ello que el principal objetivo de ejercer un plan de acción para mejorar y medir la realidad tiene como eje central el mismo ingeniero que debe ser educado con fuertes bases y principios que a la larga cuando llegue a desenvolverse como desarrollador de software, pueda competir con otros, y trabajar en equipo utilizando métodos, técnicas y teorías que el mundo internacional y nacional le ofrezca.

6. Definir las conclusiones del grupo, basados en el análisis del artículo propuesto.

El gestionar proyectos de software no es un proceso simple que puede hacerse de la noche a la mañana, es necesario tomar la seriedad y responsabilidad necesaria para saber comprender los elementos y las implicaciones que comprenden el emprenderse en un proyecto. De esta manera, emprenderse en un proyecto necesita varios recursos para poder completarlo eficientemente y que este sea de calidad, con el uso apropiado de herramientas de medición, de control y manejo de información se puede minimizar los costos y defectos que se puedan producir en el desarrollo del proyecto, asegurando de esta manera que el resultado sea un producto aprobado por estándares y normas y por el mismo cliente.

Para comprender el proyecto y poder mejorar aquellos lugares en donde se encuentra deficiencia en la calidad y eficiencia, se puede optar por el uso de métricas y sistemas de medición. Para ello, es primordial entender aquello que se evaluara, por que se evaluara y que resultados se obtendrá al evaluarse, aquello lo cual debe de medirse debemos considerarlo como lo más sustancial del proyecto, el evaluar algo que no tiene cabida no solo conlleva al fracaso del proceso de medición sino también a datos erróneos y que pueda acabar en deficiencia y costes de recursos innecesarios.

Con métricas que lleven un control desde el personal, esfuerzo, tiempo, tamaño etc. Podemos darnos una idea de la calidad y eficiencia de nuestro proyecto, cada métrica puede ser aplicada por separado pero ocurre que el utilizar solo algunas de estas no conlleva a la información completa y necesaria de todo el proyecto en si, si no se sabe establecer aquellas que son mas importantes medir en la empresa, es decir digamos que queremos medir el esfuerzo pero dejamos de lado la cantidad de personal y el tiempo estimado en efectuar un proceso. Es por ello que el control de métricas y mediciones debe ser hecho por alguien con la capacidad de conocimiento de este tema.

Recordemos también que no solo se basa en métricas el conocer el rendimiento del proyecto, tener un control de este y saberlo manejar es ante todo la base de cómo sabernos mover en el proyecto y que cuerdas halar y modificar si queremos que este sea de calidad y sea eficiente según las normas y estándares lo indican. Como todos sabemos herramientas como las normas ISO, CMM, o El PMBOK son importantes al momento de saber corregir y mejorar un sistema de información.

El PMBOK es un estándar reconocido internacionalmente, que provee los fundamentos de la gestión de proyectos que son aplicables a un amplio rango de proyectos, incluyendo construcción, software, ingeniería, etc. Las métricas tienen cierta relación conforme las aplicaciones del PMBOK se den en la gestión de proyectos, mas que todo en las áreas de alcance, tiempo, costo y calidad.

El PMBOK supone ante todo controlar debidamente cada fase de aplicación para llevar un registro de calidad y eficiencia del proyecto, ejerciendo cambios y modificaciones según se conlleve la aplicación de cada fase.

2.2 [1er Periodo]Foro #4 Lunes, Ago 18 2008 

¿Cuál es el impacto de la Ingeniería de Requerimientos en el desarrollo de software?

El hecho que la fase de requerimientos tenga su propia ‘ingeniería’ solo nos dice lo muy importante que es esta fase, pues en ella se define lo que en realidad modelara nuestro software para llevarlo a cumplir con lo que nuestro cliente nos ha pedido. El llevar esta fase es un tanto dificultosa pues hay muchos obstáculos en el camino, que van desde el modelado incompleto, el reconocer requerimientos absurdos y sin sentido alguno en la cabida de nuestro proyecto, o en la incomprensión de lo que el cliente en verdad quiere.

Cualquiera de las opciones anteriores, terminaría en un rotundo fracaso, pues en primer lugar las expectativas de nuestro cliente se verían aplastadas, en segundo lugar el ingeniero quedaría como incompetente y en tercer lugar con gran cantidad de requerimientos incompletos o erróneos, la cantidad de recursos utilizados para llegar a completarlos seria un desperdigo presupuestal que acabaría en disconformidad tanto del ingeniero como del mismo cliente.

El reconocer los debidos requerimientos e identificar otros que no nos ha dicho el cliente pero que gracias al proceso de reconocimiento han salido a flote y resultan muy útiles en el desarrollo de software, es importante para asegurar el buen desarrollo del software así como llenar o superar las expectativas del cliente.

Para poder reconocer aquellos requerimientos validos, es necesario y fundamental establecer charlas con el cliente, que si bien este no sabe lo que quiere o no tiene idea alguna de lo que son los requerimientos, el ingeniero debe saber que información recaudar y como recaudarla para tener un amplio campo de información que le ayude a reconocer lo que la empresa necesita y como lo necesita. No es necesario que el cliente sepa de requerimientos así como el ingeniero sepa por completo el funcionamiento del lugar, basta con establecer charlas de acá y por allá, consiguiendo suficiente información de cómo se mueve la empresa y ver aquellos baches que pueden ser alcanzados a cubrirse con el desarrollo del software.

Es por ello que la fase de requerimientos es extremadamente importante por no decir que es la base fundamental del funcionamiento de nuestro software, pues con la identificación de estas, se puede responder preguntas de ¿Para que es el software?, ¿Qué procesos hará el software?, ¿Qué podemos esperar del software?.

1.1 Carta de presentacion Lunes, Ago 18 2008 

Tengan todos una cordial bienvenida al blog de Vilma y Martha, donde como bien sabran se expondra los temas, foros, tareas y demas de la materia Ingenieria de Software que es impartida por nuestro docente el Ing. Milton Narvaez. Esperamos sea de su agrado y puedan dejar comentarios para poder ampliar el conocimiento y motivar la participacion entre nosotros.