TAILIEUCHUNG - Software Engineering For Students: A Programming Approach Part 17

Software Engineering For Students: A Programming Approach Part 17. This fully revised version of Doug Bell's Software Engineering: A Programming Approach continues to use the successful formula of the previous editions. The author's approach is to present the main principles, techniques and tools used in software engineering, one by one, chapter by chapter. This book is a unique introduction to software engineering for all students of computer science and its related disciplines. It is also ideal for practitioners wishing to remain current with new developments in the area | 138 Chapter 10 Data structure design Answers to self-test questions A new line is needed for each occurrence of process line. Record Male Not male Further reading The main reference on this method is . Jackson Principles of Program Design Academic Press 1997. Read all about the many serial file formats in mainstream use in Gunter Born The File Formats Handbook International Thomson Publishing 1995. CHAPTER 11 Object-oriented design This chapter explains how to carry out object-oriented design OOD explains how to use class-responsibility-collaborator CRC cards emphasizes the importance of using ready-made libraries. Introduction We begin this chapter by reviewing the distinctive features and principles of object-oriented programming OOP . This sets the scene as to what an OOD seeks to exploit. Then we look at how to go about designing software. We use the Cyberspace Invaders game as the case study. The widely agreed principles of OOP are encapsulation inheritance polymorphism. The advantages of these features is that they promote the reusability of software components. Encapsulation allows a class to be reused without knowing how it works - thus modularity and abstraction are provided. Inheritance allows a class to be reused by using some of the existing facilities while adding new facilities in a secure manner. Polymorphism further promotes encapsulation by allowing general purpose classes to be written that will work successfully with many different types of object. Object-oriented languages are usually accompanied by a large and comprehensive library of classes. Members of such a library can either be used directly or reused by employing inheritance. Thus the process of programming involves using existing library classes extending the library classes and designing brand-new classes. During OOD the designer must be aware of the wealth of useful classes available in the libraries. To ignore them would be to risk wasting massive design programming