Page 54 -
P. 54
2.2 Process activities 37
Software development tools
Software development tools (sometimes called Computer-Aided Software Engineering or CASE tools) are
programs that are used to support software engineering process activities. These tools therefore include design
editors, data dictionaries, compilers, debuggers, system building tools, etc.
Software tools provide process support by automating some process activities and by providing information
about the software that is being developed. Examples of activities that can be automated include:
The development of graphical system models as part of the requirements specification or the software design
The generation of code from these graphical models
The generation of user interfaces from a graphical interface description that is created interactively by the user
Program debugging through the provision of information about an executing program
The automated translation of programs written using an old version of a programming language to a more
recent version
Tools may be combined within a framework called an Interactive Development Environment or IDE. This
provides a common set of facilities that tools can use so that it is easier for tools to communicate and operate
in an integrated way. The ECLIPSE IDE is widely used and has been designed to incorporate many different
types of software tools.
http://www.SoftwareEngineering-9.com/Web/CASE/
particularly critical stage of the software process as errors at this stage inevitably
lead to later problems in the system design and implementation.
The requirements engineering process (Figure 2.4) aims to produce an agreed
requirements document that specifies a system satisfying stakeholder requirements.
Requirements are usually presented at two levels of detail. End-users and customers
need a high-level statement of the requirements; system developers need a more
detailed system specification.
There are four main activities in the requirements engineering process:
1. Feasibility study An estimate is made of whether the identified user needs may be
satisfied using current software and hardware technologies. The study considers
whether the proposed system will be cost-effective from a business point of view
and if it can be developed within existing budgetary constraints. A feasibility
study should be relatively cheap and quick. The result should inform the decision
of whether or not to go ahead with a more detailed analysis.
2. Requirements elicitation and analysis This is the process of deriving the system
requirements through observation of existing systems, discussions with poten-
tial users and procurers, task analysis, and so on. This may involve the develop-
ment of one or more system models and prototypes. These help you understand
the system to be specified.
3. Requirements specification Requirements specification is the activity of trans-
lating the information gathered during the analysis activity into a document that