Page 19 -
P. 19

The remainder of the chapters in this part are extended descriptions of
                                      the software process activities that will be introduced in Chapter 2.
                                      Chapter 4 covers the critically important topic of requirements engineer-
                                      ing, where the requirements for what a system should do are defined.
                                      Chapter 5 introduces system modeling using the UML, where I focus on
                                      the use of use case diagrams, class diagrams, sequence diagrams, and
                                      state diagrams for modeling a software system. Chapter 6 introduces
                                      architectural design and I discuss the importance of architecture and the
                                      use of architectural patterns in software design.
                                      Chapter 7 introduces object-oriented design and the use of design pat-
                                      terns. I also introduce important implementation issues here—reuse, con-
                                      figuration management, and host-target development and discuss open
                                      source development. Chapter 8 focuses on software testing from unit test-
                                      ing during system development to the testing of software releases. I also
                                      discuss the use of test-driven development—an approach pioneered in
                                      agile methods but which has wide applicability. Finally, Chapter 9 pres-
                                      ents  an  overview  of  software  evolution  issues.  I  cover  evolution
                                      processes, software maintenance, and legacy system management.
   14   15   16   17   18   19   20   21   22   23   24