domingo, 14 de octubre de 2012

Diagramas de un Sistema de planillas
Diagramas de contexto
Nivel 0



Diagrama nivel 1



Diagrama de estado


Diagrama de clases


Diagrama de colaboración




Diagrama de secuencia



Diagrama de componentes y despliegue



Diagramas de casos de uso





Calculo de las métricas orientadas al tamaño
Del sistema de planillas

El Sistema cuenta con:
·         Costo: U$ 8000.
·         LDC(líneas de código): 6000.
·         Equipo conformado: 4.
·         Periodo: 9 meses
Se emplearon 120 hojas de papel para documentación y se detectaron 60 errores.
Cálculos indicadores.
 Ø  Índice de productividad:  LDC/ (equipo*Periodo) = 6000/(4*9) = 166.6667.
 Ø  Índice de calidad: LDC /Errores = 6000/60 = 100 para un error.
 Ø  Índice de documentación: 100/6000 = 0.0166667.
Índice de costo: Costo/LDC = 8000/6000 = 1.3333.



Garantía de calidad

Definición:
Es una actividad de protección que se emplea en el desarrollo del software abarcando el análisis, diseño y control de código fuente, revisiones de código etc. La calidad es un patrón de acciones planificado y sistemático que se requieren para asegurar la calidad del software.
También es el grado de relación que tiene el producto para satisfacer las necesidades del usuario. Un software que cumple con todos los requisitos y necesidades del usuario, y que sus procesos se ejecuten correctamente nos indica que es de calidad.

Tipos de calidad.
 1) Calidad de diseño: Son el grado de materiales, tolerancia y las especificaciones del rendimiento, esto permite que la calidad del diseño aumente.
   2)    Calidad de Concordancia: Se cumplen las especificaciones del diseño, cuando mayor sea el grado de cumplimiento más alto será el nivel de calidad de concordancia, se centra principalmente en la implementación.

Estándar de calidad ISO 9001
  Es un conjunto de normas para la calidad y gestión, es cada vez el más importante estándar internacional, ha sido adoptado por más de 130 países alrededor del mundo, en la cual los usuarios pueden juzgar la competencia de un desarrollo de software.

¿Qué es gestión de calidad?
   Es aquello que la organización efectúa para:
·       ** Cumplir requisitos de los clientes.
·       **  Incrementar satisfacción de los clientes.
·       ** Cumplir requisitos legales o normativos.

Beneficios de tener un Sistema de gestión de calidad

  1)    Mayor satisfacción y lealtad de los clientes.
  2)    Mayor competitividad y utilidad.
  3)    Mayor motivación y moral de los empleados, ya que trabajan en forma más eficiente.
  4)    Ayuda a centrar la empresa sobre el problema de producir con calidad.
  5)    Mejora la competitividad en el mercado y la fiabilidad de los clientes.

Gestión de la configuración
(GCS)
·   *  Es una actividad de autoprotección que se aplica durante el proceso de desarrollo de      software.
·       *      Es un proceso de garantía de calidad de software.

¿Para qué sirven las actividades de GCS?
·        *  Para identificar los cambios.
·        * Controlar los cambios.
·        * Garantizar su adecuada implementación.
·        *  Informar del cambio a todos aquellos que puedan estar interesados.

                         ¿Cómo se distingue la GCS del mantenimiento?
  
   La GCS es un conjunto de actividades de seguimiento y control que comienzan cuando inicia el proyecto y termina solo cuando el software queda fuera de circulación.

Y el mantenimiento es un conjunto de actividades de IS que se producen después de que el software se haya entregado al cliente y este en funcionamiento.

                Necesidad de cambios de la gestión de configuración

·         Modificación de requisitos.
·         Cambio de prioridades.
·         Cambio de estructura del equipo.
·         Restricciones en presupuesto o planificación.
·         Errores.

Elementos de la GCS

    1)    ECS ( Información creada como parte del proceso de IS) se divide en:
1.1)       Material no ejecutable:
1.1.1)   Documentos de especificación.
1.1.2)   Documentos de diseños.
1.1.3)   Listados de software o datos.
1.1.4)   Manuales de usuarios.
1.2)       Material ejecutable:
1.2.1) Código ejecutable.
1.2.2) Resultado de pruebas.
1.2.3) Sistemas operativos, compiladores.
    2) Una línea base es un punto de referencia en el desarrollo del software que queda marcado por el envió de uno o más elementos de configuración del software y la aprobación del ECS obtenido mediante una RTE.

f









Características y tipos de software, capas del proceso de software y modelos de desarrollo de software





Tipos de software
 1)    Software de aplicación: Son aquellos que vemos a diario como Microsoft Word, Power  point, Excel, Outlook, blog de notas, Paint, Etc.
      2)    Software empotrado: Son aquellos que requieren de otro software para funcionar.  
    3)   Software basado en web: Son todos aquellos que usan los negocios para transacciones         (on-line) por ejemplo: ebay.
     4)    Software de inteligencia artificial: Son todos aquellos que se emplean en robots o satélites.
     5)    Software de tiempo real: Son aquellos que utilizamos para chatear como facebook, Hotmail     Messenger, yahoo, Etc.
    6)   Software de PC: Son controladores para la computadora como los drivers de audio, video,   Ethernet, etc.
   7)   Software de gestión: Son aquellos programas que manejan gran cantidad de información almacenada como por ejemplo SQL server, Access, Oracle, etc.

Capas del proceso de desarrollo

 “El gráfico del pastel consiste en organizar el desarrollo de software dividiéndola en bloques para facilitar su desarrollo.”
f
  1)    Calidad - ¿Qué?: En esta etapa nos limitamos a saber qué es lo que vamos hacer para darle calidad y que tanto se compromete el equipo de trabajo ya que estos serán evaluados por los usuarios finales por lo cual está en juegos el prestigio del equipo de trabajo.
   2)    Procesos - ¿Cómo?: Se definen los métodos técnicos a utilizar asegurando la calidad del software formando las bases de control de gestión de proyectos de software estableciendo los hitos.
   3)    Métodos - ¿A través de qué?: Nos indicara el cómo construiremos el software, a través de que método. Los métodos pueden ser el Análisis de requisitos, Diseño, pruebas y mantenimientos.
   4)    Herramientas - ¿Con qué?: Utilizamos las famosas herramientas CASE (Computer-Aided Software Engineering) las cuales nos proporcionan un soporte automático o casi automático  para el proceso y los métodos.
  5)  ¿Quiénes?: Esta etapa se refiere a los usuarios finales que son los que le darán el uso y aprobaran su funcionamiento y eficiencia.
      El modelo de desarrollo de software que he utilizado es el Modelo incremental para una feria tecnológica que se realizo en UPOLI. El software que desarrollamos fue una simulación de un Sistema Operativo utilizando el lenguaje java. La ventaja de este modelo que empleamos es que si estábamos en la etapa 2 teníamos la ventaja de regresarnos a la etapa anterior y poder corregir errores.

   Este modelo es flexible porque se corrige errores con la desventaja que al retroceder se consume mucho tiempo (atrasa) por eso hay que considerar las variables de esfuerzo, tiempo y costo.
Fases genéricas y actividades protectoras
  Fases genéricas:

1.    Definición
1.1. Ing. De Sistemas.
1.2. Planificación de proyectos.
1.3. Análisis de requisitos.
2.    Desarrollo.
2.1. Diseño de software.
2.2. Programación (generación de códigos)
2.3. Prueba y evaluación de sistemas.
3.    Mantenimiento.
3.1. Corrección.
3.2. Adaptación.
3.3. Mejora.
            3.4.Prevención.



Actividades protectoras

 ü  Seguimiento y control del proyecto de software.
 ü  Revisiones técnicas formales.
 ü  Garantía de la calidad del software.
 ü  Gestión de configuración del software.
 ü  Preparación y producción de documentos.
 ü  Gestión de Re utilización.
 ü  Mediciones.
    üGestión de Riesgos.


Modelos de desarrollo de software

·         Modelo incremental.
·         Modelo lineal/secuencial.
·         Modelo de Construcción de prototipo.
·         Modelo espiral.
·         Modelo de desarrollo concurrente.
                  ·     Modelo de desarrollo basado en componentes.