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
   49   50   51   52   53   54   55   56   57   58   59