SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
Aplicaciones Web J2EE y
Requerimientos no funcionales
       [ Una vista rápida ]

          Abril 2009

         Ing. Jorge Irey
Agenda



1. Taxonomia de Requisitos no
   Funcionales
2. Arquitectura vs. Diseño
3. Aplicaciones “n” – Capas: Tiers vs.
   Layers
4. Disponibilidad
5. Escalabilidad
6. Performance
7. Causas Comunes a los problemas
Motivación

                  Requerimientos                     “Fuerzas” que afectan al Software:
                    Funcionales
                                                     Requerimientos Funcionales
                                    Restricciones
                                                     Requerimientos NO Funcionales
Características                      del Negocio
 en tiempo de
   ejecución
                   Software

Restricciones
de Tecnología                          Otras
                                                         SLA                QoS
                                   Características




 “Fuerzas” que afectan a un Puente:
 Carga muerta
 Carga Viva
 Carga Dinámica
 Carga ambiental
Motivación (2)

     Requerimientos
      del Negocio




Documento de Visión y Alcance
                                                                                 Restricciones: “Solamente podrán votar los
                                                                                 ciudadanos legalmente residentes en el extranjero”



                      Requerimientos                                      Atributos de
                        del usuario                                         Calidad



                                                                                            Otros Requerimientos
                                       Documento de Casos de Uso                               No funcionales



 Requerimientos                                     Requerimientos                                              Restricciones
  del Sistema                                        Funcionales



                                                                             Especificación de Requerimientos de
                                                                                           Sofware
                                                      IEEE Std 830-1998
Taxonomia de Requisitos no Funcionales

FACILIDAD DE MANTENIMIENTO ¿ puedo                            INTEROPERABILIDAD ¿ podré comunicarlo con otros sistemas ?
arreglarlo ?                                                  PORTABILIDAD ¿ podré utilizarlo en otra máquina ?
FACILIDAD DE PRUEBA ¿ puedo                                   REUSABILIDAD ¿ podré reutilizar parte del software ?
probarlo ?
FLEXIBILIDAD ¿ Puedo modificarlo ?




                                         Visión del
                                          Usuario
                                                                                        Modelo de McCall
                                      OPERACION



                              CORRECCION ¿ Hace lo que se requiere ?
                              FIABILIDAD ¿ funciona bien todo el tiempo ?
                              EFICIENCIA ¿ Funcionará lo mejor posible ?
                              INTEGRIDAD ¿ es seguro ?
                              FACILIDAD DE USO ¿ puedo ejecutarlo ?
Taxonomia de Requisitos no Funcionales

                 Modelo ISO 9126
                          RNF-002 y RNF-020 “El sistema deberá
                          considerar un arquitectura lógica de 3 capas”
                          RNF-014 “Se debe tener extrema seguridad para
                          la transferencia de información con respecto a los
                          votos”
                          RNF-016 “A cada usuario empadronado se le
                          asignará un PIN”


                          RNF-001 “Debe tener un diseño amigable e
                          intutitivo al usuario”


                          RNF-022 “El tiempo de respuesta del sistema para
                          operaciones de carga de información deberá ser
                          como máximo 4 segundos con un ancho de banda
                          de 100 Mbps”




                          RNF-006: “ Habrá un servidor dedicado”
                          RNF-009: “ El sistema será desarrollado para
                          ejecutarse bajo el sistema operativo Windows XP”
                          RNF-019: “ El sistema usará MySQL ”
                          RNF-021 : “El servidor dedicado será como
                          mínimo P4 de 3 Ghz, 1 GB de RAM y disco duro
                          de 20 MB”
Arquitectura vs. Diseño

Una arquitectura significa crear una
infraestructura de software que soporte los niveles
de servicio (SLA) identificados para el sistema.
     Diseño : que sucede cuando un usuario hace “click”
     Arquitectura : qué sucede cuando “N” usuarios
      hacen “click”


                                         EJEMPLO: Votación Electrónica
                                         ¿Qué problemas potenciales tiene
                                         la siguiente estructura de BD ?
                                    PK
                                            CodigoCandidato        Votos

                                                  C1          5

                                                  C2          12

                                                  C3          27
Tiers vs. Layers


                   Layer



            VS.


   Tier
SLA en Internet



1.   Performance
2.   Escalabilidad
3.   Confiabilidad       Todos están
                         relacionados
4.   Disponibilidad
5.   Extensibilidad                    Algunas soluciones


6.   Mantenibilidad   Algoritmos de balanceo de carga:
                            Round-robin

7.   Manejabilidad
                            Round-robin con pesos
                            Basados en el tiempo de respuesta
                      Asignación de clientes a instancias (stickiness)

8.   Seguridad
                      Monitorización de disponibilidad de instancias
                      Reintento de peticiones idempotentes
                      Soporte de balanceadores HW
                      Replicación de sesiones HTTP
                      Cluster de Servidores
Disponibilidad y Confiabilidad

• CONFIABILIDAD  medida de la continuidad de
  servicios “cumplidos” ( o equivalentemente, mide el
  tiempo de fallas )
   – MTTF  Mean Time to Failure
   – FIT  Failures in Time = 1/MTTF ( Se mide en mil
     millones de horas de operación = 109 )
   – MTTR  Mean Time to Repair ... Mide la interrupción del
     servicio
   – MTBF  Mean Time Between Failure = MTTF + MTTR
• DISPONIBILIDAD  Mide el cumplimiento del servicio
  con respecto a la alternancia entre los 2 estados. Para
  sistema no redundantes:
   – Disponibilidad = MTTF / ( MTTF + MTTR )
Escalabilidad


•   Comportamiento de una arquitectura cuando
    únicamente aumenta la carga del sistema y los
    demás parámetros se mantienen constantes.
       Escalabilidad vertical: Aumentando el
         numero de CPU’s y memoria de los
         servidores
       Escalabilidad horizontal: Aumentando
         el número de servidores
Performance

                                                                                                  ejecución
                                                                                                        1



    Tiempo de Respuesta
                                                                                          cola                                    X

•
                              l                                    no
                                                  ¿k=n?                                                 2
                             Peticiones                                                                ...                       Peticiones
                             llegando                     sí                              n             m                        completadas


•   Troughtput                                            rechazo
                                                                           k <= n



                                                                                                                 CPU




                                                                                              Disco

                          A queueing Model for a single tier server
                          MENASCE, Daniel; BARBARÁ, Daniel; DODGE, Ronald. “Preserving QoS of E-commerce sites Throrugh Self-Tunning: A Performance Model Approach”.
                          ACM, Conferencia de Comercio Electrónico, Florida, USA, 2001. Universidad George Mason
Causas Comunes a los problemas




                  Base de Datos
Causas Comunes a los problemas

     La aplicación desarrollada teóricamente cumple con el RES y el
      RDS, pero el usuario típico se queja : “El tiempo de respuesta está
      lento”
  Hay formas de medir la “experiencia” del usuario
  Hay formas de medir la cantidad de usuarios actuales.
  Hay que compararlo contra el RNF de la aplicación
  Luego: el trabajo consiste en determinar el MOTIVO de la lentitud
                                Tema de discusión



             Configuración de la JVM, Garbage Collector
BD           Código Java desarrollado no es óptimo
ADS          Arquitectura de la aplicación
LP           Mala codificación de las sentencias SQL, se genera FULL SCAN
DAW          Mal diseño de transacciones en la Base de Datos, se generan


?
              bloqueos
             Afinamiento del Sistema Operativo
             Afinamiento del Servidor de Aplicaciones
Ejemplo

Ejemplo clásico del RES : RNF-022 “el tiempo de respuesta del sistema para operaciones
de carga de información deberá ser como máximo 4 segundos de espera con una ancho de
banda de 100 Mbps”
Preguntas




            ¡ Gracias por su atención !

Más contenido relacionado

La actualidad más candente

IEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de softwareIEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de softwareJesús Navarro
 
7.modelado de los requerimientos escenarios y clases
7.modelado de los requerimientos  escenarios y clases7.modelado de los requerimientos  escenarios y clases
7.modelado de los requerimientos escenarios y clasesRamiro Estigarribia Canese
 
Diagramas De Estado
Diagramas De EstadoDiagramas De Estado
Diagramas De Estadoguest5ed375
 
Desarrollo de aplicaciones web con casos de uso
Desarrollo de aplicaciones web  con casos de usoDesarrollo de aplicaciones web  con casos de uso
Desarrollo de aplicaciones web con casos de usoJosafat Mtz
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de usoTensor
 
Programación orientada a objetos (POO) [JAVA]
Programación orientada a objetos (POO) [JAVA]Programación orientada a objetos (POO) [JAVA]
Programación orientada a objetos (POO) [JAVA]Hack '
 
Sesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisisSesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisisJulio Pari
 
Diagrama de despliegue
Diagrama de despliegueDiagrama de despliegue
Diagrama de despliegueElvisAR
 
Diagramas De Despligue Uml
Diagramas De Despligue UmlDiagramas De Despligue Uml
Diagramas De Despligue Umlarcangelsombra
 
diagramas de interaccion
diagramas de interacciondiagramas de interaccion
diagramas de interaccionjent46
 
Modelado del AnáLisis
Modelado del AnáLisisModelado del AnáLisis
Modelado del AnáLisisCarolina Rojas
 
Programación I 2. Arquitectura de Capas
Programación I 2. Arquitectura de CapasProgramación I 2. Arquitectura de Capas
Programación I 2. Arquitectura de CapasEdward Ropero
 
Descripcion Caso De Uso
Descripcion Caso De UsoDescripcion Caso De Uso
Descripcion Caso De Usoucpr
 
Comparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De SocketsComparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De Socketsmallita
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesCarlos Macallums
 

La actualidad más candente (20)

Modelo basado en clases
Modelo basado en clasesModelo basado en clases
Modelo basado en clases
 
IEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de softwareIEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de software
 
7.modelado de los requerimientos escenarios y clases
7.modelado de los requerimientos  escenarios y clases7.modelado de los requerimientos  escenarios y clases
7.modelado de los requerimientos escenarios y clases
 
Diagramas De Estado
Diagramas De EstadoDiagramas De Estado
Diagramas De Estado
 
Couch db
Couch dbCouch db
Couch db
 
Metodologia para el proyecto
Metodologia para el proyectoMetodologia para el proyecto
Metodologia para el proyecto
 
Desarrollo de aplicaciones web con casos de uso
Desarrollo de aplicaciones web  con casos de usoDesarrollo de aplicaciones web  con casos de uso
Desarrollo de aplicaciones web con casos de uso
 
Independencia de datos
Independencia de datosIndependencia de datos
Independencia de datos
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Programación orientada a objetos (POO) [JAVA]
Programación orientada a objetos (POO) [JAVA]Programación orientada a objetos (POO) [JAVA]
Programación orientada a objetos (POO) [JAVA]
 
Sesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisisSesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisis
 
Diagrama de despliegue
Diagrama de despliegueDiagrama de despliegue
Diagrama de despliegue
 
Diagramas De Despligue Uml
Diagramas De Despligue UmlDiagramas De Despligue Uml
Diagramas De Despligue Uml
 
diagramas de interaccion
diagramas de interacciondiagramas de interaccion
diagramas de interaccion
 
Etapa de estudio de viabilidad de un proyecto informático c4
Etapa de estudio de viabilidad de un proyecto informático c4Etapa de estudio de viabilidad de un proyecto informático c4
Etapa de estudio de viabilidad de un proyecto informático c4
 
Modelado del AnáLisis
Modelado del AnáLisisModelado del AnáLisis
Modelado del AnáLisis
 
Programación I 2. Arquitectura de Capas
Programación I 2. Arquitectura de CapasProgramación I 2. Arquitectura de Capas
Programación I 2. Arquitectura de Capas
 
Descripcion Caso De Uso
Descripcion Caso De UsoDescripcion Caso De Uso
Descripcion Caso De Uso
 
Comparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De SocketsComparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De Sockets
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
 

Destacado

Requerimientos funcionales y no funcionales
Requerimientos funcionales y no funcionalesRequerimientos funcionales y no funcionales
Requerimientos funcionales y no funcionalesLismirabal
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónYare LoZada
 
Introducción a los Requerimientos no Funcionales
Introducción a los Requerimientos no FuncionalesIntroducción a los Requerimientos no Funcionales
Introducción a los Requerimientos no FuncionalesCarlos Zuluaga
 
Especificación de requisitos de un sitio web
Especificación de requisitos de un sitio webEspecificación de requisitos de un sitio web
Especificación de requisitos de un sitio webRafael Pedraza-Jimenez
 
Requerimientos de Usabilidad
Requerimientos de  UsabilidadRequerimientos de  Usabilidad
Requerimientos de Usabilidadgcaicedo
 
Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)Miguel Miranda
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones Juan Restrepo
 
Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0luimiguelandrade
 
Analisis de objetos, plantillas
Analisis de objetos, plantillasAnalisis de objetos, plantillas
Analisis de objetos, plantillasjorge camargo
 
Especificación de requisitos de software
Especificación de requisitos de softwareEspecificación de requisitos de software
Especificación de requisitos de software481200601
 
Ingenieria de requerimientos 1
Ingenieria de requerimientos 1Ingenieria de requerimientos 1
Ingenieria de requerimientos 1jmpov441
 
tipos de requisitos
  tipos de requisitos   tipos de requisitos
tipos de requisitos Juan Henao
 
2. requerimientos del software
2. requerimientos del software2. requerimientos del software
2. requerimientos del softwareuniv of pamplona
 
Ingenieria de requisitos - Ingeniería de Software
Ingenieria de requisitos - Ingeniería de SoftwareIngenieria de requisitos - Ingeniería de Software
Ingenieria de requisitos - Ingeniería de SoftwareJuan Manuel Agüera Castro
 
METODOLOGÍA DE LA INVESTIGACIÓN CIENTÍFICA
METODOLOGÍA DE LA INVESTIGACIÓN CIENTÍFICAMETODOLOGÍA DE LA INVESTIGACIÓN CIENTÍFICA
METODOLOGÍA DE LA INVESTIGACIÓN CIENTÍFICAAlexandra Ayala A
 
Requerimientos funcionales y no del sistema MARC21
Requerimientos funcionales y no del sistema MARC21Requerimientos funcionales y no del sistema MARC21
Requerimientos funcionales y no del sistema MARC21cirilor23
 
Toc y la mecanica del throughput accontaing. un modelo gerencial para la toma...
Toc y la mecanica del throughput accontaing. un modelo gerencial para la toma...Toc y la mecanica del throughput accontaing. un modelo gerencial para la toma...
Toc y la mecanica del throughput accontaing. un modelo gerencial para la toma...Carmen Hevia Medina
 

Destacado (20)

Requerimientos funcionales y no funcionales
Requerimientos funcionales y no funcionalesRequerimientos funcionales y no funcionales
Requerimientos funcionales y no funcionales
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
 
Sistema De Gestion De Notas
Sistema De Gestion De NotasSistema De Gestion De Notas
Sistema De Gestion De Notas
 
Introducción a los Requerimientos no Funcionales
Introducción a los Requerimientos no FuncionalesIntroducción a los Requerimientos no Funcionales
Introducción a los Requerimientos no Funcionales
 
Especificación de requisitos de un sitio web
Especificación de requisitos de un sitio webEspecificación de requisitos de un sitio web
Especificación de requisitos de un sitio web
 
Requerimientos de Usabilidad
Requerimientos de  UsabilidadRequerimientos de  Usabilidad
Requerimientos de Usabilidad
 
Requisitos
RequisitosRequisitos
Requisitos
 
Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)Requerimientos de un Sistema (usando criterios del swebok)
Requerimientos de un Sistema (usando criterios del swebok)
 
requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones requerimientos-tipos-y-definiciones
requerimientos-tipos-y-definiciones
 
Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0
 
Ciencias fácticas y ciencias formales
Ciencias fácticas y ciencias formalesCiencias fácticas y ciencias formales
Ciencias fácticas y ciencias formales
 
Analisis de objetos, plantillas
Analisis de objetos, plantillasAnalisis de objetos, plantillas
Analisis de objetos, plantillas
 
Especificación de requisitos de software
Especificación de requisitos de softwareEspecificación de requisitos de software
Especificación de requisitos de software
 
Ingenieria de requerimientos 1
Ingenieria de requerimientos 1Ingenieria de requerimientos 1
Ingenieria de requerimientos 1
 
tipos de requisitos
  tipos de requisitos   tipos de requisitos
tipos de requisitos
 
2. requerimientos del software
2. requerimientos del software2. requerimientos del software
2. requerimientos del software
 
Ingenieria de requisitos - Ingeniería de Software
Ingenieria de requisitos - Ingeniería de SoftwareIngenieria de requisitos - Ingeniería de Software
Ingenieria de requisitos - Ingeniería de Software
 
METODOLOGÍA DE LA INVESTIGACIÓN CIENTÍFICA
METODOLOGÍA DE LA INVESTIGACIÓN CIENTÍFICAMETODOLOGÍA DE LA INVESTIGACIÓN CIENTÍFICA
METODOLOGÍA DE LA INVESTIGACIÓN CIENTÍFICA
 
Requerimientos funcionales y no del sistema MARC21
Requerimientos funcionales y no del sistema MARC21Requerimientos funcionales y no del sistema MARC21
Requerimientos funcionales y no del sistema MARC21
 
Toc y la mecanica del throughput accontaing. un modelo gerencial para la toma...
Toc y la mecanica del throughput accontaing. un modelo gerencial para la toma...Toc y la mecanica del throughput accontaing. un modelo gerencial para la toma...
Toc y la mecanica del throughput accontaing. un modelo gerencial para la toma...
 

Similar a Requisitos No Funcionales

Clase3b especificacion qualityattributesyqaw
Clase3b especificacion qualityattributesyqawClase3b especificacion qualityattributesyqaw
Clase3b especificacion qualityattributesyqawRubens Diaz Pulli
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientosMarvin Romero
 
Analisis
AnalisisAnalisis
AnalisisFSILSCA
 
Documentación
DocumentaciónDocumentación
DocumentaciónFSILSCA
 
Presentacion.qo s desarrollo sw
Presentacion.qo s desarrollo swPresentacion.qo s desarrollo sw
Presentacion.qo s desarrollo swSantiago Bernal
 
Techdays2011 - Mayor poder sobre tu infraestructura ti con system center 201...
Techdays2011  - Mayor poder sobre tu infraestructura ti con system center 201...Techdays2011  - Mayor poder sobre tu infraestructura ti con system center 201...
Techdays2011 - Mayor poder sobre tu infraestructura ti con system center 201...Gonzalo Balladares Rivera
 
Clase 04a requerimientos introduccion
Clase 04a requerimientos introduccionClase 04a requerimientos introduccion
Clase 04a requerimientos introduccionDemián Gutierrez
 
Web Service buscador de localizaciones de IP’s
Web Service buscador de localizaciones de IP’sWeb Service buscador de localizaciones de IP’s
Web Service buscador de localizaciones de IP’sPablo Pellegrinet
 
Windows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDCWindows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDCJuan Pablo
 
Ingeniería derequerimientos
Ingeniería derequerimientosIngeniería derequerimientos
Ingeniería derequerimientosKaddy Hernandez
 
Charla Atributos de calidad con .Net
Charla Atributos de calidad con .NetCharla Atributos de calidad con .Net
Charla Atributos de calidad con .NetCarlos Paez
 

Similar a Requisitos No Funcionales (20)

Clase3b especificacion qualityattributesyqaw
Clase3b especificacion qualityattributesyqawClase3b especificacion qualityattributesyqaw
Clase3b especificacion qualityattributesyqaw
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientos
 
Introducción SOA - Cloud Computing
Introducción SOA - Cloud ComputingIntroducción SOA - Cloud Computing
Introducción SOA - Cloud Computing
 
Analisis
AnalisisAnalisis
Analisis
 
Documentación
DocumentaciónDocumentación
Documentación
 
Presentacion.qo s desarrollo sw
Presentacion.qo s desarrollo swPresentacion.qo s desarrollo sw
Presentacion.qo s desarrollo sw
 
Despliegue de la solución de software
Despliegue de la solución de softwareDespliegue de la solución de software
Despliegue de la solución de software
 
Arquitectura fisica y logica
Arquitectura fisica y logicaArquitectura fisica y logica
Arquitectura fisica y logica
 
Presentacion Final
Presentacion FinalPresentacion Final
Presentacion Final
 
Techdays2011 - Mayor poder sobre tu infraestructura ti con system center 201...
Techdays2011  - Mayor poder sobre tu infraestructura ti con system center 201...Techdays2011  - Mayor poder sobre tu infraestructura ti con system center 201...
Techdays2011 - Mayor poder sobre tu infraestructura ti con system center 201...
 
Webinar evolución a WebLogic
Webinar evolución a WebLogicWebinar evolución a WebLogic
Webinar evolución a WebLogic
 
Requerimientos del Software
Requerimientos del SoftwareRequerimientos del Software
Requerimientos del Software
 
Requerimientos del Software
Requerimientos del SoftwareRequerimientos del Software
Requerimientos del Software
 
Clase 04a requerimientos introduccion
Clase 04a requerimientos introduccionClase 04a requerimientos introduccion
Clase 04a requerimientos introduccion
 
Web Service buscador de localizaciones de IP’s
Web Service buscador de localizaciones de IP’sWeb Service buscador de localizaciones de IP’s
Web Service buscador de localizaciones de IP’s
 
Windows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDCWindows Azure, Lo mejor del PDC
Windows Azure, Lo mejor del PDC
 
Ingeniería derequerimientos
Ingeniería derequerimientosIngeniería derequerimientos
Ingeniería derequerimientos
 
Charla Atributos de calidad con .Net
Charla Atributos de calidad con .NetCharla Atributos de calidad con .Net
Charla Atributos de calidad con .Net
 
Software
SoftwareSoftware
Software
 
Software
SoftwareSoftware
Software
 

Más de jin_group

Soa Fast Track
Soa   Fast TrackSoa   Fast Track
Soa Fast Trackjin_group
 
Guia De Instalacion Web Sphere V7
Guia De Instalacion   Web Sphere V7Guia De Instalacion   Web Sphere V7
Guia De Instalacion Web Sphere V7jin_group
 
Examen Final Solucion Unac 2008
Examen Final Solucion Unac 2008Examen Final Solucion Unac 2008
Examen Final Solucion Unac 2008jin_group
 
WebLogic Bridge JMS
WebLogic Bridge JMSWebLogic Bridge JMS
WebLogic Bridge JMSjin_group
 
Oea e goverment-trabajo-final
Oea e goverment-trabajo-finalOea e goverment-trabajo-final
Oea e goverment-trabajo-finaljin_group
 
Exposicion Tributa 99
Exposicion Tributa 99Exposicion Tributa 99
Exposicion Tributa 99jin_group
 
Jin Unidad 3
Jin Unidad 3Jin Unidad 3
Jin Unidad 3jin_group
 
Jin Unidad 2
Jin Unidad 2Jin Unidad 2
Jin Unidad 2jin_group
 
Jin Unidad 1
Jin Unidad 1Jin Unidad 1
Jin Unidad 1jin_group
 

Más de jin_group (12)

Soa Fast Track
Soa   Fast TrackSoa   Fast Track
Soa Fast Track
 
Guia De Instalacion Web Sphere V7
Guia De Instalacion   Web Sphere V7Guia De Instalacion   Web Sphere V7
Guia De Instalacion Web Sphere V7
 
Examen Final Solucion Unac 2008
Examen Final Solucion Unac 2008Examen Final Solucion Unac 2008
Examen Final Solucion Unac 2008
 
WebLogic Bridge JMS
WebLogic Bridge JMSWebLogic Bridge JMS
WebLogic Bridge JMS
 
Oea e goverment-trabajo-final
Oea e goverment-trabajo-finalOea e goverment-trabajo-final
Oea e goverment-trabajo-final
 
Exposicion Tributa 99
Exposicion Tributa 99Exposicion Tributa 99
Exposicion Tributa 99
 
Jin Unidad6
Jin Unidad6Jin Unidad6
Jin Unidad6
 
Jin Unidad5
Jin Unidad5Jin Unidad5
Jin Unidad5
 
Jin Unidad4
Jin Unidad4Jin Unidad4
Jin Unidad4
 
Jin Unidad 3
Jin Unidad 3Jin Unidad 3
Jin Unidad 3
 
Jin Unidad 2
Jin Unidad 2Jin Unidad 2
Jin Unidad 2
 
Jin Unidad 1
Jin Unidad 1Jin Unidad 1
Jin Unidad 1
 

Requisitos No Funcionales

  • 1. Aplicaciones Web J2EE y Requerimientos no funcionales [ Una vista rápida ] Abril 2009 Ing. Jorge Irey
  • 2. Agenda 1. Taxonomia de Requisitos no Funcionales 2. Arquitectura vs. Diseño 3. Aplicaciones “n” – Capas: Tiers vs. Layers 4. Disponibilidad 5. Escalabilidad 6. Performance 7. Causas Comunes a los problemas
  • 3. Motivación Requerimientos “Fuerzas” que afectan al Software: Funcionales Requerimientos Funcionales Restricciones Requerimientos NO Funcionales Características del Negocio en tiempo de ejecución Software Restricciones de Tecnología Otras SLA QoS Características “Fuerzas” que afectan a un Puente: Carga muerta Carga Viva Carga Dinámica Carga ambiental
  • 4. Motivación (2) Requerimientos del Negocio Documento de Visión y Alcance Restricciones: “Solamente podrán votar los ciudadanos legalmente residentes en el extranjero” Requerimientos Atributos de del usuario Calidad Otros Requerimientos Documento de Casos de Uso No funcionales Requerimientos Requerimientos Restricciones del Sistema Funcionales Especificación de Requerimientos de Sofware IEEE Std 830-1998
  • 5. Taxonomia de Requisitos no Funcionales FACILIDAD DE MANTENIMIENTO ¿ puedo INTEROPERABILIDAD ¿ podré comunicarlo con otros sistemas ? arreglarlo ? PORTABILIDAD ¿ podré utilizarlo en otra máquina ? FACILIDAD DE PRUEBA ¿ puedo REUSABILIDAD ¿ podré reutilizar parte del software ? probarlo ? FLEXIBILIDAD ¿ Puedo modificarlo ? Visión del Usuario Modelo de McCall OPERACION CORRECCION ¿ Hace lo que se requiere ? FIABILIDAD ¿ funciona bien todo el tiempo ? EFICIENCIA ¿ Funcionará lo mejor posible ? INTEGRIDAD ¿ es seguro ? FACILIDAD DE USO ¿ puedo ejecutarlo ?
  • 6. Taxonomia de Requisitos no Funcionales Modelo ISO 9126 RNF-002 y RNF-020 “El sistema deberá considerar un arquitectura lógica de 3 capas” RNF-014 “Se debe tener extrema seguridad para la transferencia de información con respecto a los votos” RNF-016 “A cada usuario empadronado se le asignará un PIN” RNF-001 “Debe tener un diseño amigable e intutitivo al usuario” RNF-022 “El tiempo de respuesta del sistema para operaciones de carga de información deberá ser como máximo 4 segundos con un ancho de banda de 100 Mbps” RNF-006: “ Habrá un servidor dedicado” RNF-009: “ El sistema será desarrollado para ejecutarse bajo el sistema operativo Windows XP” RNF-019: “ El sistema usará MySQL ” RNF-021 : “El servidor dedicado será como mínimo P4 de 3 Ghz, 1 GB de RAM y disco duro de 20 MB”
  • 7. Arquitectura vs. Diseño Una arquitectura significa crear una infraestructura de software que soporte los niveles de servicio (SLA) identificados para el sistema.  Diseño : que sucede cuando un usuario hace “click”  Arquitectura : qué sucede cuando “N” usuarios hacen “click” EJEMPLO: Votación Electrónica ¿Qué problemas potenciales tiene la siguiente estructura de BD ? PK CodigoCandidato Votos C1 5 C2 12 C3 27
  • 8. Tiers vs. Layers Layer VS. Tier
  • 9. SLA en Internet 1. Performance 2. Escalabilidad 3. Confiabilidad Todos están relacionados 4. Disponibilidad 5. Extensibilidad Algunas soluciones 6. Mantenibilidad Algoritmos de balanceo de carga: Round-robin 7. Manejabilidad Round-robin con pesos Basados en el tiempo de respuesta Asignación de clientes a instancias (stickiness) 8. Seguridad Monitorización de disponibilidad de instancias Reintento de peticiones idempotentes Soporte de balanceadores HW Replicación de sesiones HTTP Cluster de Servidores
  • 10. Disponibilidad y Confiabilidad • CONFIABILIDAD  medida de la continuidad de servicios “cumplidos” ( o equivalentemente, mide el tiempo de fallas ) – MTTF  Mean Time to Failure – FIT  Failures in Time = 1/MTTF ( Se mide en mil millones de horas de operación = 109 ) – MTTR  Mean Time to Repair ... Mide la interrupción del servicio – MTBF  Mean Time Between Failure = MTTF + MTTR • DISPONIBILIDAD  Mide el cumplimiento del servicio con respecto a la alternancia entre los 2 estados. Para sistema no redundantes: – Disponibilidad = MTTF / ( MTTF + MTTR )
  • 11. Escalabilidad • Comportamiento de una arquitectura cuando únicamente aumenta la carga del sistema y los demás parámetros se mantienen constantes.  Escalabilidad vertical: Aumentando el numero de CPU’s y memoria de los servidores  Escalabilidad horizontal: Aumentando el número de servidores
  • 12. Performance ejecución 1 Tiempo de Respuesta cola X • l no ¿k=n? 2 Peticiones ... Peticiones llegando sí n m completadas • Troughtput rechazo k <= n CPU Disco A queueing Model for a single tier server MENASCE, Daniel; BARBARÁ, Daniel; DODGE, Ronald. “Preserving QoS of E-commerce sites Throrugh Self-Tunning: A Performance Model Approach”. ACM, Conferencia de Comercio Electrónico, Florida, USA, 2001. Universidad George Mason
  • 13. Causas Comunes a los problemas Base de Datos
  • 14. Causas Comunes a los problemas  La aplicación desarrollada teóricamente cumple con el RES y el RDS, pero el usuario típico se queja : “El tiempo de respuesta está lento” Hay formas de medir la “experiencia” del usuario Hay formas de medir la cantidad de usuarios actuales. Hay que compararlo contra el RNF de la aplicación Luego: el trabajo consiste en determinar el MOTIVO de la lentitud Tema de discusión  Configuración de la JVM, Garbage Collector BD  Código Java desarrollado no es óptimo ADS  Arquitectura de la aplicación LP  Mala codificación de las sentencias SQL, se genera FULL SCAN DAW  Mal diseño de transacciones en la Base de Datos, se generan ? bloqueos  Afinamiento del Sistema Operativo  Afinamiento del Servidor de Aplicaciones
  • 15. Ejemplo Ejemplo clásico del RES : RNF-022 “el tiempo de respuesta del sistema para operaciones de carga de información deberá ser como máximo 4 segundos de espera con una ancho de banda de 100 Mbps”
  • 16. Preguntas ¡ Gracias por su atención !