compilado por gilberto pedraza garcíaarti... · compilado por gilberto pedraza garcía tomado de:...

25
Requerimientos No Funcionales Compilado por Gilberto Pedraza García Tomado de: Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools by Jack Greenfield, Keith. John Wiley & Sons © 2004

Upload: others

Post on 29-Jan-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

  • Requerimientos No Funcionales

    Compilado por Gilberto Pedraza García

    Tomado de: Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools by Jack Greenfield, Keith. John Wiley & Sons © 2004

  • USABILITY

  • USABILITY

    • Usability is a measure of how well the software supports the execution of user tasks.

    • Key factors contributing to usability are the presentation of information and the management of user interaction.

    • Usability includes two other measures, affordance and accessibility.

  • Affordance

    • Affordance is a measure of the cost of learning to be productive with a user interface [Nor].

    • A user interface may be highly usable once it has been learned, but difficult to learn.

    • The well-known EMACS text editor is an example of such an interface.

    • A user interface that is highly intuitive, and therefore easy to learn, is said to have high affordance.

  • Accessibility

    • Accessibility is a measure of how broad a pool of users can interact effectively with the user interface.

    • A highly accessible user interface can accommodate the needs of users with a wide variety of requirements, for example by providing interface mechanisms to help users with physical impairments, or by providing localized versions of the user interface.

  • Reliability

  • RELIABILITY

    • Reliability is a measure of the frequency and severity of defects encountered during normal operation of the software.

    • The more severe the defects and the more frequently they are encountered, the less reliable the software.

    • Three related measures are fault tolerance, robustness and security.

  • Fault tolerance

    • Fault tolerance is a measure of how well the system can maintain normal operation when defects are encountered.

    • Examples of fault tolerance in distributed business applications include recovering from failed transactions and routing tasks to other resources when the original resources are incapacitated.

  • Robustness

    • Robustness is a measure of how well the system avoids failures when confronted with invalid data orincorrect usage.

  • Seguridad

    • Security is a measure of how well the system avoids a specific type of failure, namely the unauthorized exposure of the processes and entities manipulated by the system.

  • Performance

  • PERFORMANCE • Performance is a measure of how quickly the system

    responds to stimuli, and how well it utilizes resources in providing that response.

    • Performance is often defined in terms of latency, throughput, efficiency and scalability.

  • Latency

    • Latency is a measure of the amount of time that elapses in performing a given operation under a given operating load.

  • Throughput

    • Throughput is a measure of how many operations can be performed in a given amount of time under a given operating load.

  • Efficiency

    • Efficiency is a measure of how many resources must be consumed by the software to provide acceptable latency and throughput under a given operating load.

  • Scalability

    • Scalability is a measure of how many additional resources must be consumed by the software to maintain acceptable latency and throughput with increasing load.

  • SUPPORTABILITY

  • SUPPORTABILITY

    • Supportability is a measure of the cost of supporting the software after it has been delivered to the customer.

    • Measures that contribute to supportability include maintainability, malleability, extensibility, portability, interoperability and testability.

  • Maintainability

    • Maintainability is a measure of how easy it is to correct defects in the software. This is determined by the degree of cohesion within the components, and by how well features are localized within the software.

  • Malleability

    • Malleability is a measure of how easy is to modify the software to accommodate changes in requirements.

    • This is determined by the degree of encapsulation of the components, and by how well they can vary independently of one another.

  • Extensibility

    • Extensibility is a measure of how easy it is to replace existing parts of the software, and how easy it is to add new functionality.

    • This is determined by the degree of coupling among the components.

    • When components are highly coupled, it is difficult to replace one without affecting the others.

  • Portability

    • Portability is a measure of how easy it is to adapt the software to run on different platforms.

    • This is determined by how well platform dependencies are localized and encapsulated within the software.

  • Interoperability

    • Interoperability is a measure of how easy it is to compose the software with other systems. This is determined

    • by how well the software exposes its functionality through programmatic interfaces and how much context

    • must be maintained by the other systems to use those interfaces.

  • Testability

    • Testability is a measure of how easy it is to design tests that exercise the features of the software to expose defects. This is related to the level of factoring of the features. When features are highly factored, they are easier to access in isolation, and therefore to test independently, and defects are easier to isolate.

  • References

    • Jack Greenfield, Keith. Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools by. John Wiley & Sons (2004)