DOORS Filtering and Sorting

In this article we will discuss DOORS filtering and sorting.

DOORS Filter refers to a feature in the IBM Rational DOORS software, which is a requirements management tool used in various industries, including aerospace, defence, automotive, and medical devices.

A DOORS Filter allows users to select a subset of requirements from a larger set based on specific criteria. The criteria can include attributes of the requirements such as their status, priority, owner, and other properties. Filters can be saved and reused to quickly retrieve specific sets of requirements for analysis or reporting.

DOORS Filters are highly customizable and flexible, allowing users to create complex queries and logical expressions to define the criteria for selecting requirements. This feature can help users to manage large sets of requirements efficiently and to focus on specific aspects of the requirements based on their needs.

DOORS Sorting allows users to organize requirements data by sorting them into a specified order. Users can sort requirements based on various attributes, such as ID, name, status, priority, owner, or any other properties that are defined in the system.

For example, if a user wants to sort requirements based on their priority, they can select the priority attribute as the sorting criterion. This will organize the requirements in ascending or descending order of priority, depending on the user’s preference.

DOORS Sorting is a useful feature when dealing with large sets of requirements. By organizing the requirements into a logical order, users can easily locate and access the information they need, and analyse the requirements data in a more efficient manner. This feature can save time and effort for users and improve the overall productivity of the requirements management process.

DOORS Filtering and Sorting

In this section, let’s take a look at the example of DOORS filter.

Now, execute the following dxl code in the above module –

// www.TheCloudStrap.Com 

/************************************************************************
* $FILENAME: flt1.dxl
* $DESCRIPTION: Filter example code.
*
* NOTICE: Copyright www.TheCloudStrap.Com. All rights reserved.
* Software comes without any warranties and guarantees, is provided 
* as is and is not supported. Use this software at your own risk. 
* Authors resume no liabilities.
* 
* Contact: admin {at} TheCloudStrap.com
************************************************************************/

// Filter example
Module m = current 
Filter f1, f2, f3, f
Sort s 
f1 = contents ("child", false)	// matches object that contains 'child' in upper or lower case
f2 = attribute "Build_ID" > "1.5"
f3 = attribute "Build_ID" < "3.0"

f = f1 && f2 && f3

set (m, f)
filtering (on)
print "Filter is now on !\n"
s = ascending ("Build_ID")
set (m, s)
sorting (on)
print "Module is now sorted based on Build_ID attribute.\n"

Here is the output –

The module is now showing only the filtered objects – where ‘Object Text’ contains ‘Child’ and the Build_ID is greater than 1.5 and less than 3.

DOORS Filter – Links

You can apply the filter on outgoing or incoming links. In this example we will see how to apply filter on outgoing links. In the following module, we have highlighted the objects that have outgoing link.

Here is an example code –

// www.TheCloudStrap.Com 

/************************************************************************
* $FILENAME: flt2.dxl
* $DESCRIPTION: Filter example code.
*
* NOTICE: Copyright www.TheCloudStrap.Com. All rights reserved.
* Software comes without any warranties and guarantees, is provided 
* as is and is not supported. Use this software at your own risk. 
* Authors resume no liabilities.
* 
* Contact: admin {at} TheCloudStrap.com
************************************************************************/

// Filter example
Module m = current 
Filter f1, f2, f3, f
Sort s 
f1 = hasLinks (linkFilterOutgoing, "*")

set (m, f1)
filtering (on)

print "Filter is now on !\n"

Here is the output –

Only the objects with out-going links are filtered in the above module.

DOORS Filter – deleted objects

We can find out the list of deleted object with the help of isDeleted() function. We have two deleted objects in the following module and we would like to filter out these two deleted objects only using dxl code.

// www.TheCloudStrap.Com 

/************************************************************************
* $FILENAME: flt3.dxl
* $DESCRIPTION: Filter example code.
*
* NOTICE: Copyright www.TheCloudStrap.Com. All rights reserved.
* Software comes without any warranties and guarantees, is provided 
* as is and is not supported. Use this software at your own risk. 
* Authors resume no liabilities.
* 
* Contact: admin {at} TheCloudStrap.com
************************************************************************/

// Filter example - deleted object
bool deletedObj(Object o) {
	showDeletedObjects true
	
	if (isDeleted o) {
		return true
	}
	else {
		return false
	}
}

Module m = current 
Object o 
for o in entire m do {
	if (deletedObj(o))
		accept o
	else
		reject o
}
filtering on 
refresh m
print "Filter on - show deleted object only."

Here is the output –

Only the deleted objects are now shown in the current view.

DOORS Filter – modified objects

Similarly, you can also filter out the modified objects only with the help of filter. Here is the module before applying the filter –

// www.TheCloudStrap.Com 

/************************************************************************
* $FILENAME: flt4.dxl
* $DESCRIPTION: Filter example code.
*
* NOTICE: Copyright www.TheCloudStrap.Com. All rights reserved.
* Software comes without any warranties and guarantees, is provided 
* as is and is not supported. Use this software at your own risk. 
* Authors resume no liabilities.
* 
* Contact: admin {at} TheCloudStrap.com
************************************************************************/

// Filter example - modified object
bool modifiedObj(Object o) {
	
	if (modified o) {
		return true
	}
	else {
		return false
	}
}

Module m = current 
Object o 
for o in entire m do {
	if (modifiedObj(o))
		accept o
	else
		reject o
}
filtering on 
refresh m
print "Filter on - show modified object only."

Here is the output –

All the modified objects are now filtered in this case.

DOORS Filter – OLE objects

This example will demonstrate how to filter modified objects in DOORS using DXL code. The following doors module contains one OLE object (the last object where a word document is embedded).

// www.TheCloudStrap.Com 

/************************************************************************
* $FILENAME: flt5.dxl
* $DESCRIPTION: Filter example code.
*
* NOTICE: Copyright www.TheCloudStrap.Com. All rights reserved.
* Software comes without any warranties and guarantees, is provided 
* as is and is not supported. Use this software at your own risk. 
* Authors resume no liabilities.
* 
* Contact: admin {at} TheCloudStrap.com
************************************************************************/

// Filter example - OLE object
bool OLEObj(Object o) {
	
	if (oleIsObject o) {
		return true
	}
	else {
		return false
	}
}

Module m = current 
Object o 
for o in entire m do {
	if (OLEObj(o))
		accept o
	else
		reject o
}
filtering on 
refresh m
print "Filter on - show OLE object only."

Here is the output –

As shown in the above image, only the OLE object is filtered in the current view.

Conclusion

In this article we have discussed DOORS filtering and sorting.

DOORS Filtering and Sorting

2 thoughts on “DOORS Filtering and Sorting

Comments are closed.

Scroll to top
error: Content is protected !!