Background
Leach, Ronald J. was born on February 5, 1944 in Baltimore. Son of Walter J. and Marilyn M. Leach.
(This book is an updated edition of the previous McGraw-Hi...)
This book is an updated edition of the previous McGraw-Hill edition, which was an essential guide to successful reuse across the entire software life cycle. It explains in depth the fundamentals, economics, and metrics of software reuse. The bottom line is good news for designers of complex systems: Systematic software reuse can succeed, even if the underlying technology is changing rapidly. Software reuse has been called the central technical concept of object-oriented design. This book covers reuse in object-oriented systems, but goes far beyond in its coverage of complex systems – the type that may evolve into “systems of systems.” Important new material has been added to this edition on the changed state-of-the-art and state-of-the-practice of software reuse, on product-line architectures, on the economics of reuse, on the maintenance of COTS-based systems. A case study using DoDAF (The Department of Defense Architectural Framework) in system design has been included to show some new thinking about reuse and some attributes of large-scale components of very large systems. After an introduction to basics, the book shows you how to: 1. Access reuse and disadvantages for your systems. 2. Understand and use domain analysis. 3. Estimate total costs, including maintenance, using life-cycle-based models. 4. Organize and manage reuse libraries. 5. Certify software components that have been created at any phase of the software life cycle your organization uses. 6. Implement systematic reuse using COTS (commercial, off-the-shelf) components and other existing software. The book includes several models and reengineering checklists, as well as important case studies. These models and checklists help anyone faced with the problem of whether to build, buy, reuse, or reengineer any software component, system, or subsystem of reasonable complexity. Such components, subsystems, and systems often fit into the new paradigms of service-oriented architectures (SOA) and software-as-a-service (SaAS). Software Reuse: Methods, Models, Costs emphasizes the cost efficient development of high-quality software systems in changing technology environments. Our primary example of domain analysis, which is the analysis of software into potentially reusable artifacts, often at a higher level than simply source code modules, is the assessment of possibilities for reuse in the Linux kernel. There are eight chapters in Software Reuse: Methods, Models, Costs: What is Software Reuse?, Techniques (which included domain analysis), Reuse Libraries, Certification of Reusable Software Components, The Economics of Software Reuse, Reengineering, Case Studies, and Tools For Software Reuse.
http://www.amazon.com/gp/product/1939142350/?tag=2022091-20
(This guide aims to provide a creative approach to learnin...)
This guide aims to provide a creative approach to learning C by emphasizing software engineering. It is designed for those learning C as a second language and ANSI C users. Numerous problems are included at the end of each chapter. The book is divided into two sections: the first part emphasizes the simpler software engineering aspects of C, allowing the reader to begin writing interesting programs quickly; the second part discusses advanced C topics, such as pointers, structures and the design of larger C programs which extend over several source code files. All the material has been class-tested to ensure accuracy and usability. A software project is introduced early in the book and appears throughout as new features of C are covered. Separate chapters on the "make" utility and "Toward C++" are included. Programs with bugs or errors are used to illustrate potential errors and how they can be fixed to create working programs. Special emphasis is placed on the design and implementation of user-defined libraries. A 3.5" MAC disk is supplied with this paperback.
http://www.amazon.com/gp/product/0124402100/?tag=2022091-20
(Goes beyond introductory level material to provide a unif...)
Goes beyond introductory level material to provide a uniform, thorough treatment of numerous topics important to UNIX power users. Features information on fault-tolerance as well as memory and process management. Includes scores of example code and exercises to facilitate understanding.
http://www.amazon.com/gp/product/0471036633/?tag=2022091-20
(The first edition of this book was originally published i...)
The first edition of this book was originally published in 1993 by John Wiley under the same name, Advanced Topics in UNIX. It was named an Alternate Main Selection of the Newbridge Book Club in the same year. That book stayed in print for thirteen years, an eternity in the computing literature. Due to changes in the publishing industry, this edition of the book is only available electronically. I was motivated to revise the book because of the increased popularity of several variants of UNIX and on what I learned from reviews of the previous published version of this book. Linux has become increasingly popular, due in no little part to it being so popular in the open source community and also because it is serving as the basis of the operating system for the Google Android phone. The Mach operating system, originally developed at Carnegie Mellon University, is the basis for the operating systems used to control Apple Macintosh computers. Solaris, originally developed by Sun Microsystems, is now considered by Oracle to be the top enterprise operating system and also claimed to have been especially built for cloud computing. It was clear to me that a revision of the book was necessary. I am currently running versions of both Linux (Ubuntu) and Solaris on my Windows PC. Of course, the operating system on my Macintosh is based on Mach. My experience with multiple versions of UNIX-like operating systems showed me that end users, application programmers, system programmers, and system administrators often had difficulties in making programs and utilities work well across different UNIX variants, due to differences in file system organization, different locations of critical configuration files, and important, yet subtle, differences in how system calls operate. There are also issues with different utilities, many of which are either not available on all UNIX versions, or else require a substantial effort to even get them to install properly. One of the most interesting problems required detailed analysis of several Linux variants in order to get a single public domain application to work – the different Linux variants from Fedora (formerly Red Hat), SUSE, and Ubuntu were examined before the application would install and work properly. Many second editions dump material from older technologies. I have chosen a different approach, guided by my own research and experience in the efficient development of large, high-quality, software systems in both UNIX and non-UNIX environments over much of the last twenty-five years. Much of my research in this area is based on the application of systematic approaches to software reuse as part of the software development process. In fact, I chose to produce a second edition of my book Software Reuse: Methods, Models, Costs before I began revising this book, Advanced Topics in UNIX. What is the relevance of software reuse to a book on UNIX? A huge percentage of current software applications for UNIX and other operating systems are built using existing software components that are either partially or entirely reused. Older software components necessarily have been built using older technology and are likely to use some of the older system calls as well as newly created calls. You need to understand the differences in different generations of system calls and their behavior if you are redeploying existing software components. That is, after all, the reason for learning system calls if you are an applications programmer. The same holds true for systems-level programming, especially kernel-level programming, since operating systems are rarely written from scratch. There are 11 chapters: Introduction to UNIX, The User Interface, Input and Output, UNIX File Systems, Introduction to Processes, Memory and Process Management, Introduction to Interprocess Communication, The System V IPC Package, Signals, Sockets, and RPC, IPC Comparison, and Fault-Tolerant UNIX Software.
http://www.amazon.com/gp/product/1939142334/?tag=2022091-20
(The Second Edition of Using C in Software Design provides...)
The Second Edition of Using C in Software Design provides a creative approach to learning the C programming language by emphasizing software engineering. This inexpensive book, extensively tested in several academic and professional settings, provides a gentle, but complete, introduction to the C language in both the original edition published by Academic Press Professional and the current ebook edition. It provides enough information for a practicing scientist or engineer to be able to write substantial programs to solve scientific programs using C libraries. Extensive program examples are included to illustrate the major concepts of the C programming language. This book, recently reformatted to include an active table of contents, also illustrates the way that modern software engineering is typically done, by showing how a major software design and development project can be implemented in the C language. (Note that this ebook is the successor to the original first edition, which is technically out of print, although some copies may be available from various booksellers. It has been retitled to indicate that it, in fact, a second edition. It has been assigned an ISBN in order to better track both domestic and international sales.) This book is designed for those learning C as a second language and ANSI C users. Numerous thought-provoking problems are included at the end of each chapter. The book is divided into two parts. The first part emphasizes the simpler software engineering aspects of C, allowing the reader to begin writing interesting programs quickly. The second section discusses advanced C topics, such as pointers, structures, and the design of larger C programs that extend over several source code files. Key features include: 1. All of the material has been class-tested to ensure accuracy and usability. 2. As much as feasible, the book discusses the C language in general and avoids most implementation-specific features of the language. 3. A software project is introduced early in the book and appears throughout as new features of C are covered. 4. A separate chapter on larger programming using the “make” facility or the Visual Studio “project” for separate compilation is included. 5. A few judiciously chosen programs deliberately seeded with bugs or errors are used to illustrate potential errors and how they can be fixed to create programs that work correctly. 6. Special emphasis is placed on the design and implementation of user-defined libraries. 7. A brief introduction to C++ is included.
http://www.amazon.com/gp/product/B007RI025G/?tag=2022091-20
Leach, Ronald J. was born on February 5, 1944 in Baltimore. Son of Walter J. and Marilyn M. Leach.
Bachelor of Science, University Maryland, 1964. Master of Arts, University Maryland, 1966. Doctor of Philosophy, University Maryland, 1971.
Master of Science, Johns Hopkins University, 1983.
Professor computer science Howard University, Washington, since 1969.
(This book is an updated edition of the previous McGraw-Hi...)
(The Second Edition of Using C in Software Design provides...)
(Goes beyond introductory level material to provide a unif...)
(Goes beyond introductory level material to provide a unif...)
(The first edition of this book was originally published i...)
(This guide aims to provide a creative approach to learnin...)
Member Institute of Electrical and Electronics Engineers, Association Computing Machinery, Mathematics Association American M C.
Married Mary Louise Moynihan, August 29, 1965. Children: John, Anne, David.