domingo, 14 de octubre de 2012


Unidad I: Introducción a la ingeniería del software

Contenido temático

Cuestionario elaborado por:  MBA. Tania Sequeira.
                                                          Docente Universitario
                                                          Escuela Ingeniería UPOLI.

1.Mediante las técnicas (cuadro sinóptico, dibujo o marco lógico conceptual) explique las características del software
2. Ejemplifique cada una de las aplicaciones del software.

Software de sistemas
Son los que software que están más próximos al hardware, la función de estos programas es servir al desarrollo o al funcionamiento de otros programas.
Ej.:
·         Sistemas operativos
·         Herramientas de programación (compiladores, ensambladores, etc...)
·         Controladores de dispositivos
Software de gestión
Estos programas utilizan grandes cantidades de información almacenadas en base de datos, además ayuda para la toma de decisiones.
Ej.:
·         Las transacciones que realizan los bancos.

Software de PC
Son las aplicaciones que se encuentran comúnmente en las computadoras personales.
Ej.:
·         Procesadores de textos
·         Hojas de cálculos
·         Juegos
Software empotrado
Son aquellos  que están instalados en productos  industriales como la electrónica.
Ej.:
·         Celulares
·         Microonda
·         Televisor


3. Mediante un dibujo, establezca los escenarios donde se reflejan los mitos y realidades del software, en cuanto a gestión, cliente y equipo desarrollador.

Mitos de gestión

Mito: Tenemos un libro que está lleno de estándares y procedimientos para construir software.

Realidad: ¿Pero se usa?, ¿conocen los trabajadores su existencia?, ¿refleja las practicas modernas en desarrollo del software?, ¿es completo? En muchos casos la respuesta a todas estas preguntas es no.



Mito: Nuestra gente dispone de las herramientas de desarrollo de software más avanzadas, después de todo les compramos las computadoras mas nuevas.

Realidad: Se necesita mucho más que el último modelo de  computadora, herramientas de software, las cuales son mucho más importantes que el hardware para conseguir buena calidad y productividad, de que nos sirve un hardware de calidad si el software no lo es.



Mito: Si se falla en la planificación, se puede adelantar el tiempo perdido añadiendo más personal al equipo.
Realidad: dado a que no es un proceso mecánico añadir gente a un proyecto de software retrasado lo retrasa aun más, debido a que habría que capacitar al nuevo personal.



Mitos de cliente
Mito: Una declaración general de los objetivos del software es suficiente para comenzar a realizarlo.
Realidad: Una mala definición inicial es la principal causa de la falta de calidad de un software. Para evitar esto se debe de tener una exhaustiva comunicación el cliente con el analista.






Mito: Los requerimientos del proyecto cambian continuamente, pero los cambios pueden acomodarse fácilmente ya que el software es flexible.
Realidad: El impacto del cambio varía según el tiempo en que se introduzca.




Mitos de equipo desarrollador
Mito: Lo único que se entrega al terminar el proyecto es el programa funcionando.
Realidad: El programa es solo una parte de una configuración del software, también se tiene que realizar un manual de usuario.



4.       Explique las capas de desarrollo de software.




La primera capa es calidad
Consiste en la planificación de la calidad que tendrá el software, esto ira basado en normativas de calidad. Lo que se procura es realizar un software con la mejor calidad posible.

La segunda capa es el proceso
Consiste en cómo se realizara el proceso de desarrollo de software del software, ya sea en la obtención de la información, análisis, desarrollo, prueba del software, etc.

La tercera capa es Métodos
Son los métodos que se utilizaran para el desarrollo del software. Existen diferentes métodos para la elaboración del software se tiene que elegir la apropiada.


La cuarta capa es herramientas
Consiste en las herramientas que se utilizaran, ya sea en el proceso de obtención de la información como encuestas, entrevistas, etc. O en el proceso de desarrollo de software que serian los lenguajes de programación.




5. Testifique en cuales situaciones ha aplicado los modelos de desarrollo de software.



Unidad II: Gestión de proyectos de software.

1.Realizar un mural acerca de ofertas de cargos del área de informática que han publicado las empresas.

2.Del proyecto realizado a nivel de análisis y diseño estructurado(DC, DFD, Ficheros físicos) y orientados a objetos (D. casos de uso, de actividades e iteración), calcule las métricas orientadas al tamaño, punto de función y ampliadas así como las métricas de calidad.









3. Dado la tabla de riesgos (modificada a nuestra realidad económica) establezca ejemplos de cada categoría.


4. Preparar material didáctico acerca de la garantía de la calidad y gestión de configuración del software.

Concepto de calidad
La calidad se refiere a la concordancia con los requisitos funcionales y de rendimiento establecidos inicialmente.
Importante también para la calidad es que haya concordancia con los estándares especificados y con las características implícitas de todo producto software.
Si realizamos un producto con mala calidad (“se cuelga”, da errores, es difícil de usar, etc.) los clientes no quedan satisfechos.
El control de calidad es un conjunto de inspecciones, revisiones y pruebas utilizados a lo largo del proceso de desarrollo de software para verificar que se cumplen los requisitos fijados.
La generación de buenos documentos de lo que se va realizando es esencial para facilitar el proceso de control y para garantizar la calidad.


Los costes relativos para encontrar y reparar un defecto aumentan dramáticamente a medida que se cambia de prevención a detección y desde el fallo interno al externo.

Entre los costes de prevención se incluyen:
  • ·         planificación de la calidad,
  • ·         revisiones técnicas formales,
  • ·         equipo de pruebas,
  • ·         formación del equipo.

Entre los costes de evaluación se incluyen:
  • ·         inspección del proceso y entre procesos,
  • ·         mantenimiento del equipo,
  • ·         pruebas.


Factores y métricas de calidad
  • ·         Corrección. Grado en que un programa satisface los requisitos.
  • ·         Fiabilidad. Grado en que se espera que un programa lleve a cabo sus funciones esperadas.
  • ·         Eficiencia. Cantidad de recursos empleados para llevar a cabo su misión.
  • ·         Integridad. Grado en que puede controlarse el acceso al software o a los datos por personal no autorizado.
  • ·         Facilidad de uso. Esfuerzo requerido para usar el software desarrollado.
  • ·         Facilidad de mantenimiento. Esfuerzo requerido para localizar y reparar un error en el software.


Revisiones del software
  • ·         “Filtro” para el proceso de ingeniería del software.
  • ·         Se aplican en varios momentos durante el desarrollo del software y sirven para detectar errores y defectos que puedan así ser eliminados.
  • ·         Ventaja: “Purifican” las actividades de ingeniería del software.
  • ·         Inconveniente: Retardan el “flujo” de las actividades del desarrollo.
  • ·         No todas son efectivas.




Revisión técnica formal (RTF). Es el filtro más efectivo desde el punto de vista de garantizar la calidad.
Se puede definir como una actividad llevada a cabo por los ingenieros del software que busca y repara errores en la actividad actual antes de pasar a la siguiente actividad dentro de nuestra planificación.
Los objetivos de una RTF son:
  • ·         Descubrir errores en la función, la lógica o la implementación de cualquier software.
  • ·         Verificar que el software alcanza sus requisitos.
  • ·         Garantizar que el software cumple los estándares.
  • ·         Conseguir uniformidad en el desarrollo.
  • ·         Hacer proyectos manejables (la complejidad crece exponencialmente con el tamaño).


En una reunión hay varias restricciones:
  • ·         No debe haber más de cinco personas.
  • ·         Debe prepararse por adelantado.
  • ·         No debe durar más de dos horas.

Una RTF se hace de una pequeña parte específica, no se revisa todo, sino partes pequeñas (modularidad).
La RTF la dirige el jefe de revisiones, que no es el mismo que el jefe del proyecto.
Un registrador apunta todo lo que se analiza en la RTF.

Estándar ISO 9001
Estándar: (DRAE). Que sirve como tipo, modelo, norma, patrón o referencia.
ISO: International Organization for Standardization.
Adoptado por 130 países.
Si un producto no tiene la etiqueta ISO 9001 los usuarios dudan de su calidad.
Obtener la certificación ISO 9001 depende de todos los integrantes de la empresa, aparte de ser sinónimo de buenos productos.


Las actividades de GCS sirven para:
  • ·         Identificar el cambio.
  • ·         Controlar el cambio.
  • ·         Garantizar su adecuada implementación.
  • ·         Informar del cambio a todos aquellos que puedan estar interesados.


Hay que distinguir mantenimiento y GCS.
  • ·         El mantenimiento es un conjunto de actividades de IS que se producen después de que el software se haya entregado al cliente y esté en funcionamiento.
  • ·         La GCS es un conjunto de actividades de seguimiento y control que comienzan cuando se inicia el proyecto y termina sólo cuando el software queda fuera de circulación.


Control de versiones
El control de versiones es una combinación de procedimientos y herramientas para gestionar versiones de los objetos de configuración creados durante el proceso del software.
Cada ECS tiene un conjunto de atributos que lo definen, bien sea un número de versión o una cadena de variables.
Los atributos de la versión N serán los mismos que los de la N+1, sólo habremos de cambiar los atributos de fecha de edición, número de versión, etc.
Imagen
Cuando se realizan cambios muy significativos se cambia el primer número, si es menos relevante, el segundo, y así dependiendo del número de dígitos considerado.
Imagen
Auditora de la configuración
  • ·         Las RTF se centran en la corrección técnica del elemento modificado.
  • ·         Una auditoría de configuración del software completa la revisión técnica formal al comprobar características que generalmente no tiene en cuenta la revisión.




Las tareas que se llevan a cabo son:
  • ·         Examinar cada ECS para detectar consistencia con otros.
  • ·         Detectar omisiones, redundancias, colisiones, efectos secundarios no deseados, ...
  • ·         Ver si se ha registrado y divulgado cada cambio.
  • ·         Comprobar si se han seguido los estándares.
  • ·         Garantizar la calidad y hacer un informe de ello.

Si la auditoría es informal se incluye en la RTF (ahorro de tiempo), pero si es formal se hace independientemente.