Page 151 - DCAP506_ARTIFICIAL_INTELLIGENCE
P. 151

Unit 11: Natural Language Processing




          What is deceiving is that software may appear to work properly but may have errors, not be  Notes
          reusable or extensible, be unnecessarily complex. In fact, most of the software built without
          some model exhibits some or all of these defects. Most schools emphasize algorithms, not the
          development of software systems. There is a large literature on methods of system development
          that although oriented to other disciplines, is very applicable to software, but rarely used (In
          fact, design patterns originated from ideas about buildings).





             Notes  Some people believe that with components we don’t need to understand what is
             inside each component. The result of all this is that analysis is skipped or done poorly.

          We need to look for ways to make analysis more precise and easier for developers.

          The use of patterns is a promising avenue. A Semantic Analysis Pattern is a pattern that describes
          a small set of coherent Use Cases that together describe a basic generic application.



             Did u know?  The Use Cases are selected in such a way that the application can fit a variety
             of situations.
          Semantic Analysis Patterns differ from design patterns in the following ways:
              Design patterns are closer to implementation, they focus on typical design aspects, e.g.,
               user interfaces, creation of objects, basic structural properties.
              Design patterns apply to any application; for instance, all applications have user interfaces,
               they all need to create objects.

              Design patterns intend to increase the flexibility of a model by decoupling some aspects of
               a class.
          An instance of a SAP is produced in the usual way: Use Cases, class and dynamic diagrams, etc.
          We select the Use Cases in such a way that they leave out aspects which may not be transportable
          to other applications. We can then generalize the original pattern by abstracting its components
          and later we derive new patterns from the abstract pattern by specializing it (Figure 11.1). We
          can also use analogy to directly apply the original pattern to a different situation.

                                    Figure  11.1:  Pattern  Generation



























                                           LOVELY PROFESSIONAL UNIVERSITY                                   145
   146   147   148   149   150   151   152   153   154   155   156