Page 168 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 168

Principles of Software Engineering



                   Notes                                 Figure 8.1: The DD Phase Actives




























                                 The design of a software system is split into two phases:
                                    1.  High-level design
                                        •  A system viewed as a set of modules
                                    2.  Low-level design
                                        •  Providing detailed information about each module
                                    3.  After high-level design, a designer’s focus shifts to low-level design:
                                 Each module’s responsibilities should be specified as precisely as possible
                                    •  constraints on the use of its interface should be specified
                                    •  pre and post conditions can be identified
                                    •  module-wide invariants can be specified

                                    •  internal data structures and algorithms can be suggested
                                 In detailed design of procedures, the  logic for implementing  the  procedure is specified in a
                                 semiformal notation. For classes, state diagrams can be used to model the relationships between
                                 methods.

                                 8.1 Meaning of Detailed Design

                                 Design  standards  have  to  be  set  at  the  create  of  the  DD  (detailed  design)  phase  by  project
                                 management to organize the collective labors of the team. This is especially necessary when
                                 development team members are working in parallel. The developers must first complete the top-
                                 down rotting of the software started in the AD phase and then outline the processing to be carried
                                 out by each component. Developers must continue the structured approach and not introduce
                                 unnecessary complexity. They must build defenses against likely problems. Developers should
                                 verify detailed designs in design reviews, level by level. Review of the design by walkthrough
                                 or inspection before coding is a more efficient way of eliminating design errors than testing.

                                 The DD phase can be called the ‘implementation phase’ of the life cycle. The purpose of the
                                 DD phase is to detail the design outlined in the ADD, and to code, document and test it. The
                                 detailed design and production is the responsibility of the software engineers. Other kinds of
                                 engineers  may  be  consulted  during  this  phase,  and  representatives  of  users  and  operations



        162                               LOVELY PROFESSIONAL UNIVERSITY
   163   164   165   166   167   168   169   170   171   172   173