Capturing and Reusing Functional and Nonfunctional Requirements Knowledge
- Slides: 16
Capturing and Reusing Functional and Non-functional Requirements Knowledge: A Goal-Object Pattern Approach Lawrence Chung and Sam Supakkul The University of Texas at Dallas chung@utdallas. edu, ssupakkul@ieee. org
Pattern-based knowledge capturing and reuse n n n Capture and reuse proven solutions for recurring problems Provide vocabulary to facilitate communication Examples n n Civil engineering: suspension bridge, Victoria house Software engineering: observer pattern, singleton pattern
Observer design pattern n Recurring Problem n Synchronizing multiple copies of the same object e. g. monitoring applications n State change driven operations e. g. loan application n Proven Solution: Observer pattern n Observers subscribe to be notified Subject notifies all Observers upon changes Usage n n Substitute Concrete. Subject for the source copy Substitute Concrete. Observer for the affected copies or triggered operations
Limited use of the pattern-based approach in software engineering n Mostly for functional (design) knowledge n n n Captured individually n n Developer left to decide how to combine them Contain only primitive model elements n n Functions and objects Non-functional knowledge (e. g. quality) not captured Difficult to capture large piece of knowledge Catalogued in paper form n Require manual application
Addressing the limitations n Mostly for functional knowledge n n Captured individually n n Combine patterns using object-oriented relationships (generalization, composition) Contain only primitive model elements n n Capture both functional and non-functional (requirements) knowledge using a use case driven and goal-oriented technique Generalization and composition allow large scale knowledge capture and reuse Catalogued in paper form n Model driven pattern capture and reuse
UML use case modeling for functional requirements: a review Actor = a role played by external entities System boundary = system in question that implements the use cases Use case = system function Actor-Use case communication = system interface
The NFR Framework for nonfunctional requirements: a review NFR softgoal Propagate the check labels upward naming convention = Type [Topic] Type = Security Topic = Place. Order. Interface AND decomposition positive contribution operationalizing softgoal (implementation alternative) realized by more specific solutions Side-effect toward other NFRs negative contribution Select (check) alternatives that are desirable or give better trade-off claim softgoal
An integration of the two methods Ex: security, user friendly Ex: maintainability, extendibility Ex: scalability Ex: performance, accuracy
An integrated functional and nonfunctional requirements model Use case elements are starting points for NFR analysis Secondary use cases added to implemented the selected NFR implementation decisions
Capture small pieces of knowledge using model refinement methods
Extending UML to be modeldriven and for extendibility Pattern can specialize other Patterns NFRDecomposition A subclass of -Model. Refinement -Rule -Method -Refinement. Method Pattern as a Classifier can contain Methods to capture a model pattern As a Model. Refinement, Pattern can be contained by other Patterns Methods to capture use case model refinements
An example of methods/patterns combination e-Commerce Pattern is composed of e-Commerce. FRs and e -Commerce. NFRs Patterns e-Commerce is specialized and extended by Online. Bookstrore Pattern
Instantiate Online. Bookstore Pattern to get a final model
Benefits and limitations n Benefits n Method-based approach to capture different types of model refinements n n n object-oriented UML model for functional knowledge goal-oriented model for non-functional knowledge Model-driven via UML extension for tool support Extendable (composition, specialization) to form larger patterns and reuse at larger scale Limitations n n Limited cataloging support No Method to support design and architecture models
Conclusion n Contribution n n Goal-object pattern based approach for capturing and reusing functional and non-functional knowledge Future work n n n Better cataloging e. g. using meta-data Additional Methods to support design and architecture Tool support
Capturing and Reusing Functional and Non-functional Requirements Knowledge: A Goal-Object Pattern Approach Lawrence Chung and Sam Supakkul The University of Texas at Dallas chung@utdallas. edu, ssupakkul@ieee. org Thank you!
- Non functional requirements examples
- Asr architecture
- Space maintainer classification
- Non functional plasma enzyme
- Plasma enzyme
- Functional and non functional
- User requirement specification
- Non functional requirements template
- Iso non functional requirements
- Kebutuhan fungsional dan non fungsional
- Suspended floor construction
- Requirements in software engineering
- Engineering requirements document
- System functional requirements
- Non functional requirements system design
- User requirements
- Identify the requirements from problem statements