![]() |
Home | People | Research | Publications | Tech Transition | Events | Partnerships | About ISR | Contact Us
![]() |
||
Towards Analyzing Non-functional Requirements in Software ArchitecturesStudent: Lihua Xu, UCI/ISR
Advisor: Debra J. Richardson, UCI/ISR and Hadar Ziv, UCI/ICS
Abstract: Functional requirements (FRs) capture the intended behavior of the system, in terms of the services or tasks the system is required to perform, while non-functional requirements (NFRs) are requirements that impose
restrictions on the product being developed. Despite the obvious
importance and relevance of non-functional requirements, NFRs specified
during requirement engineering are almost always left to be verified after
the implementation is finished, which means NFRs are not mapped directly
and explicitly from requirements engineering to architectural design. This
leaves software development with potential exacerbation of the age-old
problem of requirements errors that are not detected until very late in
process. Modeling and analyzing NFRs in software architectures at least
partially overcomes this deficiency.
This poster introduces our early research, which proposes a grouping mechanism, similar to the separation of concerns achieved in Aspect-Oriented Programming (AOP), to model NFRs in software architectures directly and explicitly. This eventually directs our ultimate research goal, which is to verify software architecture with respect to NFRs defined in requirements engineering. An example of how we model NFRs in software architecture is provided using the canonical KLAX example for the C2 architectural style.
Bio: Lihua Xu is a graduate student in ISR, studying with Professor Debra Richardson. Her interest relies mainly on specification-based analysis and testing. Her current project is on modeling and analyzing non-functional requirements in software architectures, where she proposes an architectural design pattern to offer a multi-dimensional view of software architecture design, and allows designer to verify the designed software architecture with respect to the non-functional requirements.
|