This text provides a technical introduction to the field of Object-oriented programming. It is aimed at programmers who are familiar with the concepts of programming and design.
Typically, analysis, development, and database teams work for different business units, and use different design notations. With UML and the Rational Unified Process (RUP), however, they can unify their efforts -- eliminating time-consuming, error-prone translations, and accelerating software to market. In this book, two data modeling specialists from Rational Software Corporation show exactly how to model data with UML and RUP, presenting proven processes and start-to-finish case studies. The book utilizes a running case study to bring together the entire process of data modeling with UML. Each chapter dissects a different stage of the data modeling process, from requirements through implementation. For each stage, the authors cover workflow and participants' roles, key concepts, proven approach, practical design techniques, and more. Along the way, the authors demonstrate how integrating data modeling into a unified software design process not only saves time and money, but gives all team members a far clearer understanding of the impact of potential changes. The book includes a detailed glossary, as well as appendices that present essential Use Case Models and descriptions. For all software team members: managers, team leaders, systems and data analysts, architects, developers, database designers, and others involved in building database applications for the enterprise.
This revision of Grady Booch's classic offers the first industry-wide standard for notation in developing large scale object-oriented systems. Laying the groundwork for the development of complex systems based on the object model, the author works in C++ to provide five fully-developed design examples, along with many smaller applications. Three of these capstone projects are new with this edition, including an inventory tracking system which implements a client server. The other four span problem domains as diverse as data acquisition for scientific tools, framework, artificial intelligence, and command and control. To measure progress, metrics in object development are suggested so that the developer knows how the project is going. In addition, the author demonstrates good and bad object designs and shows how to manage the trade-offs in complex systems.
Object-oriented analysis and design (OOAD) has over the years, become a vast field, encompassing such diverse topics as design process and principles, documentation tools, refactoring, and design and architectural patterns. For most students the learning experience is incomplete without implementation. This new textbook provides a comprehensive introduction to OOAD. The salient points of its coverage are: • A sound footing on object-oriented concepts such as classes, objects, interfaces, inheritance, polymorphism, dynamic linking, etc. • A good introduction to the stage of requirements analysis. • Use of UML to document user requirements and design. • An extensive treatment of the design process. • Coverage of implementation issues. • Appropriate use of design and architectural patterns. • Introduction to the art and craft of refactoring. • Pointers to resources that further the reader’s knowledge. All the main case-studies used for this book have been implemented by the authors using Java. The text is liberally peppered with snippets of code, which are short and fairly self-explanatory and easy to read. Familiarity with a Java-like syntax and a broad understanding of the structure of Java would be helpful in using the book to its full potential.
Object-Oriented Analysis and Design for Information Systems clearly explains real object-oriented programming in practice. Expert author Raul Sidnei Wazlawick explains concepts such as object responsibility, visibility and the real need for delegation in detail. The object-oriented code generated by using these concepts in a systematic way is concise, organized and reusable. The patterns and solutions presented in this book are based in research and industrial applications. You will come away with clarity regarding processes and use cases and a clear understand of how to expand a use case. Wazlawick clearly explains clearly how to build meaningful sequence diagrams. Object-Oriented Analysis and Design for Information Systems illustrates how and why building a class model is not just placing classes into a diagram. You will learn the necessary organizational patterns so that your software architecture will be maintainable. - Learn how to build better class models, which are more maintainable and understandable. - Write use cases in a more efficient and standardized way, using more effective and less complex diagrams. - Build true object-oriented code with division of responsibility and delegation.
- Exploit the significant power of design patterns and make better design decisions with the proven POAD methodology - Improve software quality and reliability while reducing costs and maintenance efforts - Practical case studies and illustrative examples help the reader manage the complexity of software development
Object-Oriented Design with UML and Java provides an integrated introduction to object-oriented design with the Unified Modelling Language (UML) and the Java programming language. The book demonstrates how Java applications, no matter how small, can benefit from some design during their construction. Fully road-tested by students on the authors' own courses, the book shows how these complementary technologies can be used effectively to create quality software. It requires no prior knowledge of object orientation, though readers must have some experience of Java or other high level programming language. This book covers object technology; object-oriented analysis and design; and implementation of objects with Java. It includes two case studies dealing with library applications. The UML has been incorporated into a graphical design tool called ROME, which can be downloaded from the book's website. This object modelling environment allows readers to prepare and edit various UML diagrams. ROME can be used alongside a Java compiler to generate Java code from a UML class diagram then compile and run the resulting application for hands-on learning. This text would be a valuable resource for undergraduate students taking courses on O-O analysis and design, O-O modelling, Java programming, and modelling with UML. * Integrates design and implementation, using Java and UML* Includes case studies and exercises * Bridges the gap between programming texts and high level analysis books on design
THE #1 BESTSELLING BOOK ON OBJECTIVE-C 2.0 Programming in Objective-C 2.0 provides the new programmer a complete, step-by-step introduction to Objective-C, the primary language used to develop applications for the iPhone, iPad, and Mac OS X platforms. The book does not assume previous experience with either C or object-oriented programming languages, and it includes many detailed, practical examples of how to put Objective-C to use in your everyday iPhone/iPad or Mac OS X programming tasks. A powerful yet simple object-oriented programming language that’s based on the C programming language, Objective-C is widely available not only on OS X and the iPhone/iPad platform but across many operating systems that support the gcc compiler, including Linux, Unix, and Windows systems. The second edition of this book thoroughly covers the latest version of the language, Objective-C 2.0. And it shows not only how to take advantage of the Foundation framework’s rich built-in library of classes but also how to use the iPhone SDK to develop programs designed for the iPhone/iPad platform. Table of Contents 1 Introduction Part I: The Objective-C 2.0 Language 2 Programming in Objective-C 3 Classes, Objects, and Methods 4 Data Types and Expressions 5 Program Looping 6 Making Decisions 7 More on Classes 8 Inheritance 9 Polymorphism, Dynamic Typing, and Dynamic Binding 10 More on Variables and Data Types 11 Categories and Protocols 12 The Preprocessor 13 Underlying C Language Features Part II: The Foundation Framework 14 Introduction to the Foundation Framework 15 Numbers, Strings, and Collections 16 Working with Files 17 Memory Management 18 Copying Objects 19 Archiving Part III: Cocoa and the iPhone SDK 20 Introduction to Cocoa 21 Writing iPhone Applications Part IV: Appendixes A Glossary B Objective-C 2.0 Language Summary C Address Book Source Code D Resources