Page 228 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 228

Principles of Software Engineering



                   Notes         High-level Language
                                 The concept was that if we want to compute |A + B − C|, and store the result in a memory
                                 location called D, all we had to do was write D = |A + B − C| and let a computer program,
                                 the  compiler,  convert  that  into  the  sequences  of  numbers  that  the  computer  could  execute.
                                 FORTRAN (an acronym for Formula Translation) was the first major language in this period.
                                 The FORTRAN statements were patterned after mathematical notation. In mathematics the =
                                 symbol implies that both sides of the equation have the same value. However, in FORTRAN
                                 and some other languages, the  equal sign is known as the assignment operator. The action
                                 carried out by the computer when it encounters this operator is, ‘Make the variable named on
                                 the left of the equal sign have the same value as the expression on the right.’ Because of this, in
                                 some early languages the statement would have been written as −D → D to imply movement
                                 or change, but the use of → as an assignment operator has all but disappeared.

                                 11.1 Incremental

                                 An incremental approach postpones detail in some or all phases to produce working software
                                 earlier in the project development timescale. The basic idea is to develop the system in a vertical
                                 slice rather than a horizontal slab.
                                 Incremental Development: Incremental Development is the growth of a system in a sequence
                                 of incomplete products (increments) throughout the project timescale.
                                 Incremental Delivery: Incremental Delivery is the delivery of increments to the customer/users
                                 at intervals throughout the project timescale.
                                 Increment:  An Increment is a self-contained functional unit of software, together with all
                                 supporting material, including:
                                    •  Requirements specification
                                    •  Design documentation

                                    •  Test plans, cases and results
                                    •  User manuals and training

                                    •  Estimates, plans, schedules, resourcing
                                    •  Quality assurance information (e.g. Review reports)
                                    •  Configuration management information.
                                 An increment produces (or alters) a cross-section of the final system deliverables, connected to
                                 a functional piece of the final system. Incremental development is the construction of a software
                                 system in a series of small mini-life-cycles, rather than construction in one large monolithic life
                                 cycle.

                                 11.1.1 Incremental Life Cycle Models
                                 Incremental Build and Test
                                 The incremental build and test approach begins the incremental development in the coding
                                 phase, with the phases being monolithic. Many developers go some way toward this approach
                                 casually, although often without the complete put of life cycle documentation. Since this is not








        222                               LOVELY PROFESSIONAL UNIVERSITY
   223   224   225   226   227   228   229   230   231   232   233