Capturing and Reusing Functional and Nonfunctional Requirements Knowledge

  • Slides: 16
Download presentation
Capturing and Reusing Functional and Non-functional Requirements Knowledge: A Goal-Object Pattern Approach Lawrence Chung

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

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

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)

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

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

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

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:

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

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

Capture small pieces of knowledge using model refinement methods

Extending UML to be modeldriven and for extendibility Pattern can specialize other Patterns NFRDecomposition

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

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

Instantiate Online. Bookstore Pattern to get a final model

Benefits and limitations n Benefits n Method-based approach to capture different types of 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

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

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!