Page 51 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 51

Unit 3: Software Requirements



            pieces have to cooperate and communicate to solve the larger problem. Problem partitioning   Notes
            also aids design verification. The concepts of state and projection can sometimes also be used
            effectively in the partitioning process.
               1.  A state of a system represents some conditions about the system. This approach is
                 sometimes used in real-time software or process-control software.
               2.  Projections, different viewpoints of the system are defined and the system is then analyzed
                 from these different perspectives. The different “projections” obtained are combined
                 to form the analysis for the complete system. Analyzing the system from the different
                 perspectives is often easier, as it limits and focuses the scope of the study.
            Informal Approach

               1.  The informal approach to analysis is one where no defined methodology is used.
               2.  The information about the system is obtained by interaction with the client, end users,
                 questionnaires, study of existing documents, brainstorming etc.

               3.  The informal approach to analysis is used widely and can be quite useful because conceptual
                 modelling based approaches frequently do not model all aspects of the problem and are
                 not always well suited for all the problems.
               4.  As the SRS is to be validated and the feedback from the validation activity may require
                 further analysis or specification.
               5.  Choosing an informal approach to analysis  is not very  risky  the errors  that  may  be
                 introduced  are  not  necessarily  going  to  slip  by  the  requirements  phase.  Hence  such
                 approaches may be the most practical approach to analysis in some situations.

               6.  Various fact finding methods are used to collect detailed information about every aspect
                 of an existing system.

            Shadowing
               1.  Shadowing is a technique in which we observe a user performing the tasks in the actual
                 work environment and ask the user any questions related to the task.
               2.  We typically follow the user as the user performs tasks.
               3.  The information obtained by using this technique was firsthand and in context.

            3.2 Data Flow

            Software testing is “the process of analyzing a software item to detect the differences between
            existing  and  required  conditions  (that  is,  bugs)  and  to  evaluate  the  features  of  the  software
            items”. The main goals of software testing are to reveal bugs and to ensure that the system
            being developed  complies  with the customer’s  requirements. To make testing effective, it is
            recommended that test planning/development begin at the onset of the project. Software testing
            techniques can be divided into two kinds: black box and white box techniques.

            Black box testing is mainly a validation technique that checks to see if the product meets the
            customer  requirements.  However,  white  box  testing  is  a  verification  technique  which  uses
            the  source  code  to  guide  the  selection  of  test  data.  Data-flow  testing  is  a  white  box  testing
            technique that can be used to detect improper use of data values due to coding errors. Errors are
            inadvertently introduced in a program by programmers. For instance, a software programmer
            might use a variable without defining it. Additionally, he/she may define a variable, but not
            initialize it and then use that variable in a predicate.




                                             LOVELY PROFESSIONAL UNIVERSITY                                    45
   46   47   48   49   50   51   52   53   54   55   56