You are on page 1of 9

GROUP 6:

Syed Qarab Zahoor Naqvi BSE173019


Asad Saddique BSE173063
Muhammad Qasim BSE173059

SUBMITTED TO: Mudassar Adeel


Introduction

The history of requirement engineering is not very outdated [2]. In earlier days the requirement
phase was not taken seriously which caused many problems for software industry in later
phases. Recently the importance of the requirement engineering has been recognized and a
lot of research has commenced to generate quality requirements. The requirement
engineering is an iterative and co-operative process with an objective to analyze the problem,
to document the results in a variety of formats and evaluate precision of the results produced
[1].

Software Requirement Engineering


Software requirement is defined as a condition or capability that must be met or fulfilled by a
system to satisfy a contract, standard, specification, or other formally imposed documents
(IEEE standard 610.12-1990). The requirement engineer shall address the following things (IEEE
standard):
Functionality: What the software supposed to do?
Performance: How does the software perform the user needs?

Software Requirements Tools


The requirement specification obtained after requirement analysis used throughout the
software development lifecycle, must be verified because the quality of the requirements is
of utmost importance to deliver the right product. A number of software requirement tools
which verify the qualities of the software requirements are given below:.

1. Analyst Pro

Analyst Pro is a tool for requirements management, tracing and analysis developed by Goda
Software Inc. With Analyst Pro, requirements can be traced with any lifecycle software model
e.g. waterfall, RUP, spiral. It also provides integrated configuration management to simplify the
development process. It can be easily installed and deployed to geographically dispersed
teams to collaborate on specification, analysis and project management [03].

Features:
o Analyst Pro quickly establishes multidimensional traceability links with all project artifacts.
o Scalable from 1 to 250 users.
o Analyst Pro provides a repository for non-functional requirements objects. UML and
other models created by external tools can be saved to the repository for sharing,
collaboration, and configuration management, and for linking them to requirements
and specifications.
o Analyst Pro simplifies the development process by providing integrated
configuration management for project artifacts. Analyst Pro allows to baseline and lock
project artifacts.

Disadvantages:

o As it has an export/import facility, it can be interfaced with other applications. There


might be a chance that the data may be accessed by other user.
o As it is concerned with use case model requirements only and does not consider a
misuse case, there are some holes of intrusion and system may be considered insecure.
o The glossaries are the best practices and support the software development team
throughout the software development life cycle. Analyst Pro does not have any online
glossary to define any industry term, project references, corporative languages etc.
o It does not have any checklist to verify the criteria of requirements and a checklist is
always facilitates to deliver quality and tested requirements.

2. GMARC (Generic Model Approach to Requirements


Capture)

This tool developed by Computer System Architects Ltd. incorporates a fully developed
Requirements Engineering Methodology and provides rapid elicitation of requirements
using a generic approach to enhance re-usability and encourage standardization across projects
[04].
Features:

o The requirements can be directly elicited from the minds of the expert.
o Traceability of requirements hierarchically, historically and inter-task as well as inter-
document.
o Identification and correction of subjective requirements.
o The goals and constraints are separated.
o Generic approach enhances re-usability and encourages standardization across projects.
o User friendly Human Computer Interface.
o Automatic interchange of requirements information between models and specifications.
o Ability to verify dynamic viability of system being specified via animation.
o
Disadvantages:

o The size of the project may increase and GMARC does not have any feature of
scalability according to team size which may create a problem.
o A checklist is nowadays provides a better quality and tested requirements and GMARC
does not contain any checklist therefore one can not say that the gathered
requirements have quantity and quality.
o As the requirement is not concerned with use case model and a misuse case model.
Therefore, we may say that the requirements are not perfect regards with secured
aspects.
o The glossaries are the best practices and support the software development team
throughout the software development life cycle and it does not have any online
glossary to define any industry term, project references, corporative languages etc.
o There might be a chance to increase the project team size and GMARC does not have
any feature of scalability according to team size which may create a problem.

3. IRqA

IRqA is not a specific requirement-engineering tool, but also it focused on information


exploitation, which provides support to the entire requirement engineering cycle [05].

Features:

o Requirement can be captured by manual and automatic from MS Word documents.


o Graphical representation of concept models: class diagram (UML) and ER diagrams.
o Classification criteria defined by the user, specification is being consistently checked.
o Full end-to-end traceability from user requirements to the detailed design,
implementation and test.
o Integration with Object Oriented design tool with XML/UML export/import facility.
o Multiple specifications in domain and/or blocks.
o Validation of requirements implementation in service.

Disadvantages:

o The size of the project may be increase and IRqA has not any feature of scalability
according to team size.
o Glossary help and support the software development team throughout the software
development life cycle and it does not have any online glossary to define any industry
term, project references, corporative languages etc.
o It has the provision of interface with other software; therefore, the data of the
software requirement can be accessed by some malicious user. Thus there is a chance
of information disclosure.

4. CaseComplete:
CaseComplete is a tool developed by Serlio Software to manage, share use cases and
requirements based on Microsoft Word, CaseComplete helps to write use cases and
requirements faster and easier that have excellent compliance with use case standards for a
novice or an expert user whether working on solo system or a part of diverse team [06].

Features:

o The requirement reports generated in word documents are dynamically linked with
other requirements documented and stored in other place.
o The requirement report is integrated with other phases of software development life
cycle.
o The report is generated in Microsoft Word and HTML formats of individual and
complete requirement of the system
o Generates the test plans, project plans and UML models directly from use case model.
o Covers the non-functional requirement specification.

Disadvantages:

o There might be a need to increase the project team size.


o CaseComplete does not include scalability.
o A checklist nowadays provides a better, tested requirement and CaseComplete does not
contain any checklist. Therefore one cannot say that the gathered requirements have
to be testified and have quality.
o Since it has an export/import feature and can be hyperlinked with other application, an
unauthorized user might be send or capture data. This tool is considered as a weak
tool by means of security.

References:
[1]. Lowe D. Hali, W Hypermedia and the Web application
Engineering Approach, John Wiley & Sons. 1999.
[2]. Adam Sachitano, Richard O. Chapman, “Security in Software Architecture: Case Study”,
Proceedings of 2004 IEEE Workshop on Information Assurance, United States Military Academy, West
Point, NY 10-11 June, 2004.

[03]. http://www.analysttool.com
[04]. http://myweb.tiscali.co.uk/gmarc/general%20features.htm
[05]. www.ugs.com/products/teamcentre
[06]. http://www.serlio.com/casecomplete

Comparision:

A Comparative Study of Software Requirements Tools for Secure Software Development


Tools/Attributes Glossary Checklist Templates Use Case Prototyping TRS Scalability External
& Modeling & Audit Interface
Ontology

Analyst Pro X X X √ X √ √ √
GMARC X X √ X √ √ X √
IRqA X √ X √ X √ X √
CaseComplete: √ X X X X X X √

√: Means satisfies the criterion


X: Means does not satisfy the criterion
Authors

Marinos G. Georgiades

Department of Computer Science, University of Cyprus, Nicosia, Cyprus

Andreas S. Andreou

Dept. of Electrical Engineering & Information Technology, Cyprus University of Technology, Limassol,
Cyprus

NALASS Tool
is a tool that automates the NLSSRE (Natural Language Syntax and Semantics Requirements
Engineering) methodology created by [1], [2].
NALASS includes 4 components:
The Formalization component for automatic creation of requirements in the form of
formalized sentences, the Questions component for automatic creation of question sets
to be submitted to the customer, the Diagrams component for automatic creation
of diagrams, and the Documentation component for automatic generation of the SRS
document. Before explaining the Documentation component in section 4, it is useful, for
better understanding, to provide an overview of the methodology and the other
components of the tool. The NLSSRE methodology of [2], [3] provides formalization
of the major activities of RE including Requirements Discovery, Analysis and
Specification, so that the analyst will know in advance, through a step-by-step approach,
what questions to ask, in what specific way to analyze the answers to the questions, and
how to write them in a specific way. The application domain of the methodology
is an IS (e.g. Hospital IS or Bookstore IS) that deals mainly with management of documents
or other physical objects that can be conceived as electronic information which can
be Created, Altered, Read and Erased.

Advantages:
 Apart from specificity, advantage of NLSSRE is the use of
Natural Language (NL) for the syntax of FSRs and their components. NL gives
expressiveness to the formalization of requirements and makes them easily
understood by the users, analysts and programmers. For example, data are
derived from the semantic types of genitive case, nouns, adjectives, adverbial
complements, and stable and temporary object properties; functions are derived from
the semantic types of verbs; and constraints are derived from relations between data
and between data and functions. And these components (functions, data and
constraints) are written in the form of formalized sentences (FSRs), by using the right
order of different syntactic parts, such as subject, direct object, indirect object,
etc. In this way NLSSRE provides also a common terminology for documenting
data, functions and constraints.
 The advantage is twofold: first there will be a consistent and common language
of writing, without ambiguities and redundancies, and, second, this controlled
language may be computer-processed and translated automatically into
diagrammatic notations and the SRS document, as already mentioned. Another basic
element of our approach is the Information Object(IO)whichdenotes a separate entity
of information (attributes) that can stand on its own and can be created, altered,
read and erased within the context of the IS.For each IO, a specific number of (FSRs)
are provided. Each FSR includes a function (Create, Alter, Read, Erase, Notify), non-
functional requirements (Instrument, Amount, Time, Location – due to space
limitation and simplicity, they do not appear in the screenshots) with direct
relation to each function, roles (e.g. Creator, Accompaniment) that are related
to each function and are also attributes of the IO, and constraints. Hence, the FSRs
facilitate the formalization of functions, data attributes, non-functional
requirements and constraints of the IO.

CONCLUSIONS AND FUTURE WORK

Research shows that there is a lack of a software tool to automate the


creation of a Software Requirements Specification (SRS) document
described in Natural Language and providing specific terminology for its
components, including functions, data and non-functional requirements. Most of
the CASE tools available focus on diagrams and pictures and cannot handle the
textual aspects of requirements. This paper has presented NALASS, a software tool
that is intended to automate the application of the NLSSRE methodology which
utilizes elements of natural language such as verbs, nouns, genitive case,
adjectives and adverbs. Like the methodology on which it is based, the tool can
be used through the entire Requirements Engineering process. In this paper we
provided an overview of the methodology and the tool, and we expanded on the
use of the SRS Documentation component that generates automatically a well-
structured Natural Language SRS document. Our work is still in progress, so future
considerations involve (i) automatic generation of use cases descriptions,scenarios
and diagrams; (ii) embedding of DFDs and Class Diagrams (the automatic
creation of which is already implemented in NALASS) to the right section of
the SRS document (as also indicated in the IEEE SRS template), and (iii) assuring full
consistency of the tool and the Documentation component to the methodology
References
 http://sci-hub.tw/https://ieeexplore.ieee.org/document/5687039
 [1]D. S. Le Vie, "Documentation Metrics: What do YouReally Want to Measure?," STC Intercom,
pp. 7-9, 2000.
 [2]S.L. Pfleeger, and J.M. Atlee, Software Engineering: Theory and Practice. Upper Saddle
River, New Jersey, USA, Prentice Hall, 2006.
 [3 ]IEEE Std 830-1998, Recommended Practice for Software Requirements Specifications, IEEE
Xplore, 1998. [5] IBM Rational Rose. Available online as of July 12, 2010 at http://www-
306.ibm.com/software/rational/

You might also like