Title: XML Application for NonFunctional Requirements Management in Systems Project
1XML Application for Non-Functional
RequirementsManagement in Systems Project
- Carla T. L. L. Silva, Lúcia R. D. Bastos,
- Roberto S. M. Barros and Jaelson F. B. Castro
- ctlls, lrdb, roberto, jbc_at_cin.ufpe.br
2Rationale
- Companies are continually changing and demanding
more flexible and complex systems turned to
improve their business strategies - The conceptual models have to describe some
aspects beyond entities and activities - The main aspects considered in elaborating
requirement documents - Considering all relevant elements of the
organizational environment - Eliciting functional and non-functional
requirements - Ensuring each requirement described is as
complete as possible - Ensuring that the documented requirements are in
conformance with user needs. - Scenario-based techniques
- dont take into account motivations, intentions
and alternatives to develop systems - are not suitable for modeling organizational
requirements and NFRs
3Proposal
- This work is aimed at providing an XML-based
environment for - automatically integrating the Softgoals
(representing NFRs) from GRL with the UML Use
Cases, - generate and manage extensions of projects and
Use Cases definitions, and - allow users (managers) to manage and give
conformance on project decisions related to
non-functional requirements. - XML provide a common language for representing
both UML and GRL diagrams
4Functional Requirements and the Use Case
Semantics
- Use Cases in UML
- are used to describe the use of a system by
actors (any external element that interacts with
the system) - is a description of a set of sequences of
actions, including variants, that a system
performs that yields an observable result value
to an actor. - Mapping the Use Case Diagram to XML XMI
pattern - The XMI pattern specifies an XML structure for
exchanging models of object-oriented systems. - The XMI pattern allows interoperability between
CASE tools, meta data repositories and
development tools, through meta data exchange
within a XML-based file or data flow.
5Non-Functional Requirements and the Semantics of
GRL
- GRL (Goal-oriented Requirement Language)
- is a language for supporting the goal-oriented
modeling and reasoning of requirements - supports the i framework, which offers modeling
concepts such as goals, task, softgoal
(representing NFRs) and resource. - complements Scenario models
- is concerned with exposing "why" certain choices
for behavior and/or structure were made or
certain constraints where introduced. - is not interested in the "operational" details of
processes or system requirements (or component
interactions). - The OME tool (Organizational Modeling Enviroment)
- generates the XML code of the GRL diagram,
according to the DTD that complies the GRLs BNF.
6Mapping the XML Document with Use Cases and
SoftGoals
- We created a Document Type Definition (DTD) which
defines different pieces of the modeled data and
their relationships .
7The Generator of XML Documents complying with
UseCase.dtd
The XSLT Reception/formatting diagram
8Storing of the XML Document in Databases
Storing XML document
9The NFR Management Application
The NFR Management tool diagram
10Case StudyBank System of checking account
Use Case for Bank system of checking account
11Case StudyBank System of checking account
GRL diagram for checking account
12Case StudyBank System of checking account
XML Complying the UseCase DTD
- lt?xml version"1.0" encoding"UTF-16"?gt
- lt!DOCTYPE usecase-spec SYSTEM UseCase.dtd"gt
- ltusecase-specgt
- ...
- ltnfr nfr-id"Element_5 " nfr-name"Performance "
description""/gt - ltnfr nfr-id"Element_2 " nfr-nameConfidentialit
y " description""/gt - ...
- ltusecase usecase-id"S.10006" name"Authorize
Access" description""gt - ltassociation-nfr association-id"association_nfr
_S.10006Element_2" usecase-id- ref"S.10006"
nfr-id-ref"Element_2 " association- name"associ
ation_nfr_Element_2" description"The
contribution is some- positive "/gt - ltassociation-nfr association-id"association_nfr
_S.10006Element_5" usecase-id- ref"S.10006"
nfr-id-ref"Element_5 " association- name"associ
ation_nfr_Element_5" description"The
contribution is some- negative "/gt - lt/usecasegt
- ...
- lt/usecase-specgt
13Conclusion
- The importance of XML tecnology in this project
since it allows us for representing both UML and
GRL notations in the same language, as well as
integrating them in a unique document. - Considering NFRs in the early stages of a system
development will make the conceptual model more
complete and with higher quality, according to
manager and market expectations. - From the case study we noted that information
contained in the GRL diagram can be the base to
evolve the information contained in the Use Cases
diagram. - Integrating non-functional requirements and Use
Cases enables the requirement engineer to choose
the best alternative to develop the software and
to analyze more deeply those Use Cases that
really represent the satisfaction of the
organizational goals.
14Future Work
- To improve the proposed application, future works
would include - Concluding the construction of the NFR management
environment, since the prototype only covers the
integrating models and some management functions - Providing user-oriented and browser-based
services, accessible by API.
15References
- 1. GRL Ontology. http//www.cs.toronto.edu/km/GRL/
. Access in February 2002. - 2. MOF e UML, The Unified Modeling Language,
version 1.4, The Object Management Group, May
2001. http//www.omg.org/. - 3. Rumbaught, J., Jacobson, I. and Booch, G. The
Unified Modeling LanguageReference Manual.
Addison Wesley, 1999. - 4. XML-Extensible Markup Language.
http//www.w3.org/TR/1998/REC-xml-19980210 and
http//www.xml.com/. Access in February 2002. - 5. Use Case papers. http//www.pols.co.uk/usecasez
one/use-case-papers.htm. Access in February
2002. - 6. XMI http//www.software.ibm.com/ad/features/xmi
.html. - 7. XSLT http//www.xml.com/pub/rg/XSLT_Tutorials.
- 8. i http//www.cs.toronto.edu/km/istar.
- 9. Santander, V., Castro, J. Deriving Use Cases
from Organizational Modeling, to appear in
RE02. IEEE Joint Int. Requirements Engineering
Conference. University of Essen, 2002. - 10. Castro, J., Kolp, M., Mylopoulos, J. A
Requirements-Driven Development Methodology In
CAISE01, The 13Th Conference on Advanced
Information Systems Engineering, 2001,
Interlaken, Switzerland. - 11. Chung, L., Nixon, B. A., Yu, E. and
Mylopoulos, J. Non-Functional Requirements in
Software Engineering. Kluwer Publishing, 2000.
16UseCase.dtd
- lt!ELEMENT usecase-spec (actor, nfr, usecase)gt
- lt!ELEMENT usecase (association-actor,
association-nfr)gt - lt!ATTLIST usecase usecase-id ID REQUIRED
- name CDATA IMPLIED
- description CDATA IMPLIED gt
- lt!ELEMENT association-actor EMPTYgt
- lt!ATTLIST association-actor association-id ID
REQUIRED - usecase-id-ref IDREF REQUIRED
- actor-id-ref IDREF REQUIRED
- association-name CDATA IMPLIED
- description CDATA IMPLIED gt
- lt!ELEMENT association-nfr EMPTYgt
- lt!ATTLIST association-nfr association-id ID
REQUIRED - usecase-id-ref IDREF REQUIRED
- nfr-id-ref IDREF REQUIRED
- association-name CDATA IMPLIED
- description CDATA IMPLIED gt
- lt!ELEMENT actor EMPTYgt
- lt!ATTLIST actor actor-id ID REQUIRED