Вы находитесь на странице: 1из 9

Funcionalidad - Un conjunto de atributos que se relacionan con la existencia de un conjunto de funciones y sus propiedades especficas.

Las funciones son aquellas que satisfacen lo indicado o implica necesidades. o Idoneidad o Exactitud o Interoperabilidad o Seguridad o Cumplimiento de normas. Fiabilidad - Un conjunto de atributos relacionados con la capacidad del software de mantener su nivel de prestacin bajo condiciones establecidas durante un perodo de tiempo establecido. o Madurez o Recuperabilidad o Tolerancia a fallos Usabilidad - Un conjuntos de atributos relacionados con el esfuerzo necesitado para el uso, y en la valoracin individual de tal uso, por un establecido o implicado conjunto de usuarios. o Aprendizaje o Comprensin o Operatividad Eficiencia - Conjunto de atributos relacionados con la relacin entre el nivel de desempeo del software y la cantidad de recursos necesitados bajo condiciones establecidas. o Comportamiento en el tiempo o Comportamiento de recursos Mantenibilidad - Conjunto de atributos relacionados con la facilidad de extender, modificar o corregir errores en un sistema software. o Estabilidad o Facilidad de anlisis o Facilidad de cambio o Facilidad de pruebas Portabilidad - Conjunto de atributos relacionados con la capacidad de un sistema software para ser transferido desde una plataforma a otra. o Capacidad de instalacin o Capacidad de reemplazamiento o Adaptabilidad accessibility accountability accuracy adaptability administrability affordability agility auditability availability

credibility standards compliance process capabilities compatibility composability configurability Correctness customizability degradability demonstrability dependability deployability distributability durability evolvability extensibility fidelity flexibility installability Integrity interchangeability interoperability learnability maintainability manageability mobility

1. modularity 2. nomadicity 3. operability 4. portability 5. precision 6. predictability 7. recoverability 8. relevance 9. reliability 10. repeatability 11. reproducibility 12. responsiveness 13. reusability 14. robustness 15. safety 16. scalability 17. seamlessness 18. serviceability (a.k.a. 19. securability 20. simplicity

supportability)

21. stability 22. survivability 23. sustainability 24. tailorability 25. testability 26. timeliness 27. understandability 28. usability

Definidos por la IEEE 830 1993 Performance requirements Interface requirements Operational requirements Resource requirements Verification requirements Acceptance requirements Documentation requirements Security requirements Portability requirements Quality requirements Reliability requirements Maintainability requirements Safety requirements

Factores en la calidad del software La construccin de software requiere el cumplimiento de numerosas caractersticas. Entre ellas se destacan las siguientes: Eficiencia. La eficiencia de un software es su capacidad para hacer un buen uso

de los Recursos que manipula. Transportabilidad (portabilidad) la transportabilidad o portabilidad es la facilidad Con la que un software puede ser transportado sobre diferentes Sistemas fsicos o lgicos. Verificabilidad. La verificalidad facilidad de verificacin de un software- es su capacidad para soportar los procedimientos de validacin y de aceptar juegos de test o ensayo de programas. Integridad. Es la capacidad de un software de proteger sus propios componentes contra los procesos que no tengan el derecho de acceder. Fcil de utilizar. Un software es fcil de utilizar si se puede comunicar con el usuario de manera cmoda. Correccin (exactitud). Capacidad de los productos software de realizar exactamente las reas definidas por su especificacin. Robustez. Capacidad de los productos software de funcionar incluso en situaciones normales. Extensibilidad. Facilidad que tiene los productos de adaptarse a cambio en su especificacin.

Relaciones entre una necesidad del usuario y un NFR


Users need Users concern Non-functional requirement

Function

1. Ease of use 2. Unauthorised access 3. Likelihood of failure 1. Resource utilisation 2. Performance verification 3. Ease of interfacing

1. Usability 2. Security 3. Reliability(fiabilidad) 1. Efficiency 2. Verifiability 3. Interoperability

Performance

Change

1. Ease of repair 2. Ease of change 3. Ease of transport? 4. Ease of expanding or upgrading capacity or performance?

1. Maintainability 2. Flexibility 3. Portability 4. Expandability

1. Establecer los lmites o fronteras del sistema 2. Seleccionar los diferentes Stakeholders (interesados) en el proyecto

software Tener en cuenta el contorno (entorno) de la aplicacin Individuales u organizaciones

3. Definir los objetivos del sistema y tareas 4. Definir los diferentes escenarios y casos de uso 5. Anlisis y modelado de requisitos

1. Modelado del negocio 2. Modelado de los datos 3. Modelado del comportamiento 4. Modelado del dominio 5. Modelado de requerimientos no funcionales (o requerimientos de calidad)
6. Documentar y mantener actualizada la documentacin (en el ESMS

como va se va a ser seguimiento de los requerimientos?) Tcnicas para obtener requisitos (tomado de Requirements Engineering= A Roadmap[B Nuseibet; S Easterbrook]):
Traditional techniques: incluye un amplio nmero de tcnicas de recoleccin de datos como cuestionarios, encuestas, entrevistas y anlisis de la informacin Group elicitation techniques (tcnicas de obtencin grupales): tcnicas de trabajo grupal con los interesados del proyecto, algunas incluyen un facilitador imparcial. Prototyping Model-driven techniques Cognitive techniques Contextual techniques: surge como alternativa a las tcnicas tradicionales y las cognitivas. Utiliza tcnicas de etnografa como la observacin de participantes

Se puede hacer una clasificacin ms general: tcnicas contextualizadas y las tcnicas tradicionales y cognitivas.

Requisitos no funcionales:
1.1 Flexibilidad (Flexibility) 1.2 Fiabilidad (Reliability)
Se evala midiendo la frecuencia y gravedad de los fallos, la exactitud de las salidas (resultados), el tiempo de medio de fallos (TMDF), la capacidad de recuperacin de un fallo. 1.2.1 Tolerancia a Fallos (Fault Tolerance) Capacidad para manejar excepciones. Tambin puede entenderse como los atributos relacionados con la habilidad del sistema para mantener un nivel especfico de desempeo en caso de fallos o excepciones. (Considero que equivale a Robustes) 1.2.2 Madurez (Maturity): Comprendida por los atributos del software que se relacionan con la frecuencia de los fallos en la ejecucin ocasionados por defectos en el software. (Considero que equivale a Estabilidad) 1.2.3 Degradabilidad (Degradability): Comprendida por los atributos del software que se relacionan con el esfuerzo requerido para re-establecer la funcionalidad esencial luego de una cada del sistema. 1.2.4 Recuperabilidad (Recoverability): Existencia de mecanismos o dispositivos de software para reestablecer el nivel de desempeo y recuperar datos ante un fallo. 1.2.5 2.2.5 Prediccin (Predictability): Se refiere al grado en el cul es posible emitir un pronstico cuantitativo o cualitativo acertado acerca del comportamiento de un sistema . 1.2.6 2.2.6 Exactitud (Accuracy): Se refiere a la exactitud de las salidas (resultados) del sistema 1.2.7 2.2.7 Disponibilidad (Availability): Consiste en la medida de la disponibilidad del sistema para el uso.

1.3 Desempeo (performance):


Es el grado en el cual un sistema o componente cumple con sus funciones designadas, dentro de ciertas restricciones dadas, como velocidad, exactitud o uso de memoria. El desempeo de un sistema se refiere a aspectos temporales del comportamiento del mismo. Se refiere a capacidad de respuesta, ya sea el tiempo requerido para responder a aspectos especficos o el nmero de eventos procesados en un intervalo de tiempo. Adems se refiere a la cantidad de comunicacin e interaccin existente entre los componentes del sistema. El rendimiento se mide por la velocidad de procesamiento, el tiempo de respuesta, consumo de recursos, rendimiento efectivo total y eficacia. (Ms bien creo que es con la eficiencia que con la eficacia, que est ms relacionada con la funcionalidad) 1.3.1 2.3.1 Velocidad (Speed) 1.3.2 2.3.2 Eficiencia (Efficiency): La cantidad de recursos informticos y de cdigo necesarios para que un programa realice su funcin. 1.3.3 Exactitud (Accuracy): eficacia??? 1.3.4 Tiempo de Respuesta (Response Time) 1.3.5 Tiempo de Recuperacin (Recovery time) 1.3.6 Uso de Recursos (Resource Usage)

1.4 Capacidad de Soporte (Supportability):


La capacidad de soporte combina la capacidad de ampliar el programa (extensibilidad), adaptabilidad y servicios (estos tres atributos representan un trmino ms comn -mantenimiento-), as como capacidad de hacer pruebas, compatibilidad, capacidad de configuracin (la capacidad de organizar y controlar elementos de la configuracin del software), la facilidad de instalacin de un sistema y la facilidad con que se pueden localizar los problemas. 1.4.1 2.4.1 Mantenibilidad (Mantainability): El esfuerzo necesario para localizar y arreglar un error en un programa o realizarle cambios. 2.4.1.1 Capacidad de Cambio (Changeability): Comprende los atributos del software que se relacionan con el esfuerzo necesario para la modificacin, remocin de fallos o la adaptacin debido a cambios en el entorno.

2.4.1.3 Estabilidad (Stability): Comprende los atributos del software que atenan los riesgos relacionados con modificaciones no esperadas y sus efectos. 2.4.1.4 Analizabilidad (Analisability): Consiste en el esfuerzo necesario para diagnosticar las deficiencias y causas de los fallos. Por otra parte, tambin consiste en el esfuerzo requerido para la identificacin de las partes de un sistema que se deben modificar. 2.4.1.5 Adaptabilidad (Adaptability): Es la habilidad de realizar cambios futuros al sistema. 2.4.1.6 Integrabilidad (Integrability): Es la medida en que trabajan correctamente componentes del sistema que fueron desarrollados separadamente al ser integrados. 2.4.1.7 Extensibilidad (Extensibility): Consiste en la capacidad para ampliar un programa. 2.4.1.8 Escalabilidad (Scalability): Es el grado con el que se pueden ampliar el diseo arquitectnico, de datos o procedimental. 2.4.1.9 Modularidad (Modularity): Se refiere a la independencia funcional de los componentes del sistema 2.4.1.11 Reusabilidad (Reusability): (capacidad de reutilizacin). Hasta dnde se puede volver a emplear un programa (o partes de un programa) en otras aplicaciones, en relacin al empaquetamiento y alcance de las funciones que realiza el programa. 2.4.1.11.1 Generalidad 2.4.1.11.2 Modularidad 1.4.2 2.4.2 Portabilidad (Portability): El esfuerzo necesario para transferir el programa de un entorno hardware o software a otro diferente. 2.4.2.4 Instalabilidad (Installability): Consiste en el esfuerzo necesario para instalar el software en diversos ambientes de computacin que se especifiquen. 2.4.2.6 Co-Existencia (Co-Existence): Facilidad que tiene el software para operar adecuadamente sin sufrir o causar perturbaciones de otro software ya instalado. 2.4.2.7 Auto-Descriptividad

2.4.2.8 Conformidad: Grado en el que los atributos del software hacen que este se adhiera a estndares o convenciones relacionadas con la portabilidad. 1.4.3 2.4.3 Compatibilidad (Compatibility) 1.4.4 2.4.4 Configurabilidad (Configurability): Consiste en la capacidad de organizar y controlar elementos de la configuracin del software. Tambin Posibilidad que se otorga a un usuario experto a realizar ciertos cambios al sistema. 1.4.5 2.4.5 Internacionalizacin (Internationalizacin) Interoperability(Interoperabilidad) Verifiability (que se pueda verificar el desempeo) Usability Explicidad (Explicity): Compuesta por los atributos del software que permiten una percepcin clara en relacin a su estado. (Barras de Progreso, Mensajes etc.) Capacidad de Personalizacin (Customisability): Compuesta por los atributos que permiten al usuario personalizar al software con el propsito de reducir el esfuerzo requerido para usarlo, al mismo tiempo que se incrementa la satisfaccin con su uso. Consistencia de la IGU (IGU Consistency) este requisito toma peso o importancia al momento en que el entorno ser desarrollado por diferentes personas o grupos I+D, la arquitectura debe permitir que se pueda cambiar fcilmente la interfaz separando la presentacin de la funcionalidad de sus componentes. 2.1.10 Sistema de Ayuda Contextual (Context-Sensitive Help) 2.1.11 Asistentes (Wizards) 2.1.12 Documentacin del Usuario (User Documentation) 2.1.13 Material de Entrenamiento (Training Materials)

1.4.6 2.2.7 Disponibilidad (Availability): Consiste en la medida de la disponibilidad del sistema para el uso. Teniendo en cuenta este requisito (y otros como la eficiencia, robustes, recuperabilidad) del sistema software se toma la decisin de realizar un software de escritorio