Page 234 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 234

Principles of Software Engineering



                   Notes         derived from the requirements of the system, the end result is just enough code to have the
                                 software work as required.

                                                Test driven development is the NASA Project Mercury in the 1960’s.

                                                Any unmanaged change to the code may be the cause of an undesired side
                                                effect in the designed model.


                                 Self Assessment Questions
                                    1.  ...................... is the development of a system in a series of partial products throughout the
                                      project timescale.
                                       (a)  Incremental delivery       (b)  Increment

                                       (c)  Incremental development    (d)  None of these
                                    2.  A major effect of .......................is to elicit requests for change, mainly from users.
                                       (a)  Evolutionary delivery      (b)  Increment test

                                       (c)  Incremental build          (d)  Incremental life cycle
                                    3.  ………………..has frequently been used in the development of large systems, and is a step
                                      in the right direction.
                                       (a)  Increment test             (b)  Evolutionary delivery
                                       (c)  Incremental builds         (d)  Phased development
                                    4.  TDD is basically composed of the steps:

                                       (a)  Writing a test that defines how a small part of the software should behave.
                                       (b)  Simple, incremental development

                                       (c)  Simpler development process
                                       (d)  Constant regression testing
                                    5.  Encapsulation and modularity are not help managing the chaos of software development.
                                       (a)  True                       (b)  False

                                 11.3 Pair Programming


                                 Pair programming refers to the practice whereby two programmers work together at one
                                 computer, collaborating  on the similar design, algorithm, code, or test. The couple is made
                                 up of a driver, who actively types at the computer or records a design; and a navigator, who
                                 watches the work of the driver and carefully identifies problems, asks clarifying questions, and
                                 makes suggestions. Both are also continuous brainstorming associates. Pair programming has
                                 been shown to have many of the benefits of reviews while also eliminating the programmer’s
                                 distaste for reviews so that at least one form of review is actually performed.

                                 Pair programming is a method of programming in which two programmers work side-by-
                                 side at one computer, continuously collaborating on the same design, algorithm, code, or test.
                                 In industry,  the practice of pair programming has been  shown to improve product quality,
                                 improve team spirit, aid in knowledge management, and reduce product risk. In education,
                                 pair programming also improves student morale, helps students to be more successful, and



        228                               LOVELY PROFESSIONAL UNIVERSITY
   229   230   231   232   233   234   235   236   237   238   239