I INTRODUCTION This book is intended to improve the reader s understanding of how to design software. It does so primarily by describing what software design is and explaining the basic concepts of good software design methods. Practicing software designers too busy to keep informed about evolving design methods will find a summary of the more important modern ones here, with a description of each and how it is used. Then, as they have time or need to explore one or more in greater depth, a specific book is recommended for each which explains it fully and in a clear, understandable way. Thus practicing designers can expand their knowledge of software design step by step, as appropriate, and without having to do extensive research. Those readers who desire an understanding of important design concepts without having to read numerous books should also find this volume useful, especially Chapters 2 through 4. Those who manage software designers may benefit from a better understanding of the methods their designers use, and may identify additional ones that their designers should use. Those new to software design will find an explanation of important design concepts, and obtain a perspective on software design before exploring specific methods in detail. Those with in-depth knowledge of an included method will find little that is new in its presentation here. Those interested in the leading edge of each technology will find it in the latest periodicals, usually written with the assumption that the reader already has an understanding of the basics- which is what this book intends to impart. The most important part of this book is Chapter 2, which describes architectural software design - ways to decompose whole systems into parts. The next most important chapters are 3 and 4. A complete software design includes specifications for components that make up the system; Chapter 3 describes various common ways to define individual components. Chapter 4 explains those concepts of data base design with which designers who concentrate primarily on functional decomposition should be aware. Recommenda- tions and general design suggestions are given in Chapter 5 as well as some software design issues such as reuse and portability. Chapter 6 is a short conclusion and comments. Following Chapter 6 are two appendices on executing data flow diagrams. These are for those readers who are interested in the technical detail about concepts discussed in the section Code reuse in Section 5.3. Appendix C consists of problems on the material in Chapters 1-6; the answers to these problems are given in Appendix D.
|
商品评论(0条)