martes, 12 de abril de 2011

Ejercicios Capitulo 6


6.1 Identifique y comente brevemente cuatro tipos de requerimientos que se pueden definir para un sistema informático.
·         Requerimientos Funcionales
Acá se describe lo que el sistema debería de hacer, especificando cada una de las funciones instaladas en el sistema.
·         Requerimientos no funcionales
Son los requerimientos que no tienen que ver con las funciones del sistema, sino mas bien con las actividades emergentes como; la fiabilidad, el tiempo de respuesta y la capacidad de almacenamiento.
·         Requerimientos del producto
Deben especificar el comportamiento del producto, como el rendimiento en velocidad, cuanto se necesita de memoria, como será su portabilidad y su usabilidad
·         Requerimientos organizacionales
Se generan de las políticas de la organización; se debe conocer el lenguaje de programación y el método a diseñar y utilizar.
6.2 Comente los problemas de la utilización del lenguaje natural para definir los requerimientos del usuario y del sistema, y muestre, utilizando pequeños ejemplos, como el estructurar el lenguaje natural en formularios puede ayudar a evita algunas de estas dificultades.
·         Depende de que los lectores y redactores de la especificación utilicen las mismas palabras para el mismo concepto.
·         Una especificación en lenguaje natural es demasiado flexible.
·         No existe una forma fácil de modularizar los requerimientos en lenguaje natural.

6.3 Descubra las ambigüedades u omisiones en la siguiente declaración de requerimientos de una parte de un sistema expendedor de billetes.
Un sistema automático de expedición de billetes vende billetes de tren. Los usuarios seleccionan su destino e introducen una tarjeta de crédito. Cuando el usuario presiona el botón de inicio, se activa un menú que muestra los posibles destinos, junto con un mensaje para el usuario que le indica que seleccione el destino. Se comprueba su validez y entonces se le pide a los usuarios que introduzcan su tarjeta de crédito. Se comprueba su validez y entonces se le pide introducir un identificador personal. Cuando la transacción de crédito se haya validado, se expide el billete.
Ambigüedades
-       La tarjeta de crédito se introduce 2 veces?
-       Si se muestra una lista de posibles destinos porque tiene que validar?
Omisiones
-       La clase de viaje
-       Precios

6.7 Describa cuatro tipos de requerimientos no funcionales que pueden existir en un sistema. De ejemplos de cada uno de estos tipos de requerimientos.
Requerimientos del Producto:
Ejemplo: los requerimientos de rendimiento en la rapidez de ejecución del sistema.
Requerimientos Organizacionales:
Ejemplo: Los Estándares en los procesos que deben utilizarse; los requerimientos de implementación, como los lenguajes de programación
Requerimientos Externos:
Ejemplo: No se debe revelar al personal del sistema ninguna información personal de los usuarios
6.8 Redacte un conjunto de requerimientos no funcionales para el sistema expendedor de billetes, especificando su fiabilidad y su respuesta en el tiempo.
Requerimientos del Producto:
La interfaz del usuario se puede implementar de forma táctil de manera que el usuario no utilice ni teclado o más y en ambiente de navegador de internet.
Requerimientos Organizacionales:
La Documentación del Desarrollo y Manejo del Sistema debe entregarse en un formato de fácil lectura y de compresión sencilla para el usuario pueda consultarlos en línea.
Requerimientos Externos:
El sistema debe tener conectividad con los sistemas externos de control de tarjetas de crédito para validar la información del usuario en línea.

martes, 5 de abril de 2011

Ejercicios Capitulo 5


5.1      Explique porque la intangibilidad de los sistemas de software plantea problemas para la gestión de proyectos de software.
Pues la misma intangibilidad hace que este proyecto aun invisible e intangible se vuelva más algo abstracto y difícil de comprender en muchas situaciones, todo se esta manejando a través de ideas escritas en documentos.
5.2      Explique porque los mejores programadores no siempre son los mejores gestores de software. La respuesta puede tener como base una lista de actividades de gestión dadas en la sección 5.1
Simplemente su lógica y facilidad de hacer código no es tan fácil de implementar en la organización de un sistema, el tratar con computadoras es muy diferente al tratar con personas y su organizacion
5.3      Explique porque el proceso de planificación de proyectos es iterativo y porque un plan se debe revisar continuamente durante el proyecto del software.
Algunas partes del proyecto cambiaran frecuentemente, muchas veces la información que se tiene no es completa o puede ser confusa y poco entendible, además es necesario saber si lo que se esta haciendo es lo que realmente se pretende hacer.
5.5      ¿Cuál es la diferencia fundamental entre un hito y una entrega?
Un hito es un punto final de una actividad del proceso del software, una entrega es el resultado del proyecto que se entrega al cliente. Generalmente la entregas son hitos, pero los hitos no necesariamente son entregas, se pueden usar internamente en el proyecto para comparar resultados, pero no se entregan al cliente.
5.9      Además de los riesgos que se muestran en la figura 5.11, identifique otros seis posibles riesgos en los proyectos de software.
Desastres Naturales
Estado financiero de la empresa en riesgo
Cambios Políticos
Robos
Virus
Cambios de internos en la empresa
5.10  Los contratos de precio prefijado, donde el contratista ofrece un precio fijo para completar el sistema, pueden ser utilizados para traspasar los riesgos del proyecto del cliente al contratista. Si algo va mal, el contratista asumirá la diferencia. Indique de que modo el uso de contratos puede incrementar la probabilidad de la aparición de riesgos.
Un contrato ayuda y define cuales son los servicios que va a ofrecer nuestro software, el tiempo de desarrollo y cada unas de las clausulas de costos, equipo, etc.
Cualquier cambio tendrá que ser revisado con el contrato ya que nada puede salirse de lo que esta escrito y preeestablecido o acordado.
5.11  Su jefe le ha solicitado que entregue un software en un tiempo que solo puede ser posible cumplir preguntando al equipo del proyecto si desea trabajar horas extras sin pago alguno. Todos los miembros del equipo tienen hijos pequeños. Comente si debería aceptar esta petición de su jefe o si debería persuadir al equipo para dar el su tiempo a la organización más que a sus familias. ¿Qué factores podrían ser significativos en la decisión?
El trabajo requiere de nuevos retos cada día, y muchas veces de algunos sacrificios, pero todo sacrificio lleva consigo una recompensa, así que habría que negociar una remuneración extra para el equipo.
5.12  Como programador se le ofrece un ascenso como gestor de proyecto, pero su sensación es que puede tener una contribución más efectiva en un papel técnico que en uno administrativo. Comente cuando debería aceptar ese ascenso.
Me parece que las personas deben hacer lo que aman y lo que les gusta hacer, desde el momento que se le ofrece un ascenso a alguien es porque se le ha visto hacer muy bien su trabajo actual, y es cierto que aprenderá nuevas cosas en el nuevo puesto y obviamente tendrá una mejor remuneración económica, pero si realmente es algo que no le gusta hacer no es bueno tomar ese puesto.