Selected Research
Cooperative Based Software Clustering on Dependency Graphs
Electrical & Computer Engineering, University of Waterloo, June, 2014
Proposed innovative clustering algorithm that synthesizes a new solution from the outcomes of multiple constituent graph clustering algorithms. This work is published for the Canadian Conference on Electrical and Computer Engineering (CCECE 2014).
Building and Reusing of Requirements Repository
Computer Engineering Dept., College of Engineering, Arab Academy for Sci. & Tech., Dec 2005.
This project suggests a new approach to requirements analysis
intended to maximize reuse, and thus increase productivity and
requirements specifications quality. Such benefits can be gained
by reusing requirements from the existing software applications.
Alternatively, reusable requirements representations could be
identified and utilized in the process of refining software
requirements for a single new application.
In this research work, we used the application family concept for
addressing the technological issues of concern to both
requirements engineering and software reuse and uses it as the
basis for developing a cohesive requirements reuse process. It
shows that this concept could be instantiated into a practical
object oriented method for requirements authoring and management
(OOMRAM) and embedded in a web based software tool (Requirements
Repository). The resulting method-tool pair was developed to
support analysts in developing a domain model, and then using the
model in requirements analysis, reuse and refinement.
One of the main problems in requirements refinement is the
effective matching of requirements which may be stored in a
repository. A major contribution of this work is to deal with this
difficulty and to develop an approach facilitate requirement of
classifying, comparing, searching and retrieving requirements
sourced in a repository.
![]() |
We developed a requirement representation model to facilitate the classification of requirements and its retrieval using an application family concept. Also, we developed a method of calculating similarity between family members. This proposed approach able to help the software engineer in managing changes in requirements easily and avoid the problems of unsatisfied, impractical and/or unnecessarily requirements.





