Object-Oriented Design Chương này thảo luận về làm thế nào để thiết kế các lớp ứng dụng. Nó giải thích các mục tiêu chủ yếu của lập trình hướng đối tượng, và làm thế nào có liên quan đến các lớp học của ứng dụng. Chương này cũng giải thích làm thế nào bạn có thể sử dụng các quan điểm khác nhau của hệ thống để có được một sự hiểu biết tốt hơn về các ứng dụng như một toàn thể. Nó giới thiệu Universal Modeling Language (UML), mà bạn có thể sử dụng để giúp xác định. | Ạ Object-Oriented Design This chapter discusses how to design the classes that make up the application. It explains the major goals of object-oriented programming and how they relate to the application s classes. This chapter also explains how you can use different views of the system to get a better understanding of the application as a whole. It introduces the Universal Modeling Language UML which you can use to help specify and understand the application before you start building it and describes some UML design tools that you can use to model the application. The Bug Hunter Example The sections in this chapter explain different ways to characterize an application. They discuss the program from the point of view of the users architects developers and others. To make the discussion easier each section works with the same example a hypothetical bug tracking application named Bug Hunter. This application allows users to enter bug reports. A bug manager reviews each report and assigns it to an appropriate developer. The developer reviews the bug tries to reproduce it fixes the bug hopefully and clears the bug. A release coordinator then performs regression testing revises the application and user documentation and then releases a new version of the code. In some cases the bug can follow a different path looping back to a previous state. For example if the assigned developer cannot reproduce the bug it is sent back to the user for clarification. If regression testing shows that the bug fix broke something the bug is sent back to the developer for reevaluation. Throughout this process users can view the status of a particular bug to see if it is new under review assigned under study fixed or released. The user can generate reports showing information about bugs selected and ordered in various ways such as a particular bug all bugs bugs Part I Design with certain severity levels bugs submitted during a particular time range or bugs in various states new assigned fixed