- Used Books
- Staff Picks
- Gifts & Gift Cards
- Sell Books
- Stores & Events
- Let's Talk Books
Special Offers see all
More at Powell's
Recently Viewed clear list
New Trade Paper
Ships in 1 to 3 days
available for shipping or prepaid pickup only
Available for In-store Pickup
in 7 to 12 days
More copies of this ISBN
Fundamentals of Software Engineering 2ND Editionby Carlo Ghezzi
Synopses & Reviews
The long-awaited second edition of Fundamentals of Software Engineering presents the fundamental principles of software engineering and illustrates the application of those principles in the different phases of software development. It stresses the importance of a rigorous approach to the practice of software engineering. Over 350 exercises are provided to aid in the comprehension of the material. Over 20 in-depth case studies show how to deal with the intricacies of real-world problems.
This second edition maintains the successful structure of the first edition and enhances the contents by adding treatment of recent developments in software engineering.
New coverage to this edition includes:
Book News Annotation:
Fundamental principles of software engineering are explained and illustrated in different phases of software development in this text for advanced undergraduate and beginning graduate students in computer science. The text stresses the importance of a rigorous approach to the practice of software engineering. Some 350 exercises and 20 in- depth case studies are included. This second edition is updated to treat recent developments in software engineering, with expanded treatment of object orientation, software architecture, modeling languages Z and UML, requirements engineering, and validation techniques. There are also new case studies on process, requirements, design, and systems engineering. Ghezzi teaches computer science at the Politecnico di Milano, where he holds the chair of software engineering. ^
Annotation c. Book News, Inc., Portland, OR (booknews.com)
This book provides selective, in-depth coverage of the fundamentals of software engineering by stressing principles and methods through rigorous formal and informal approaches. In contrast to other books which are based on the lifecycle model of software development, the authors emphasize identifying and applying fundamental principles that are applicable throughout the software lifecycle. This emphasis enables readers to respond to the rapid changes in technology that are common today. Principles and techniques are emphasized rather than specific tools—users learn why particular techniques should or should not be used. Understanding the principles and techniques on which tools are based makes mastering a variety of specific tools easier. The authors discuss principles such as design, specification, verification, production, management and tools. Now coverage includes: more detailed analysis and explanation of object-oriented techniques; the use of Unified Modeling Language (UML); requirements analysis and software architecture; Model checking—a technique that provides automatic support to the human activity of software verification; GQM—used to evaluate software quality and help improve the software process; Z specification language. For software engineers.
About the Author
Carlo Ghezzi is a professor of computer science at the Politecnico di Milano, where he holds the chair of software engineering. He was named a Fellow of the Association for Computing Machinery in 2000 for his contributions to software engineering research.
Mehdi Jazayeri is a professor of computer science at the Technische Universität Wien, where he holds the chair of distributed systems. He spent many years in software development at several Silicon Valley companies, including 10 years at Hewlett-Packard Laboratories, Palo Alto, CA.
Dino Mandrioli is a professor of computer science at the Politecnico di Milano, where he holds the chair of theoretical computer science. His research interests are centered on the application of formal methods in the practice of software engineering.
Table of Contents
1. Software Engineering: A Preview.
The Role of Software Engineering in System Design. A Shortened History of Software Engineering. The Role of the Software Engineer. The Software Life Cycle. The Relationship of Software Engineering to Other Areas of Computer Science. The Relationship of Software Engineering to Other Disciplines.
2. Software: Its Nature and Qualities.
Classification of Software Qualities. Representative Qualities. Quality Requirements in Different Application Areas. Measurement of Quality.
3. Software Engineering Principles.
Rigor and Formality. Separation of Concerns. Modularity. Abstraction. Anticipation of Change. Generality. Incrementality. Two Case Studies Illustrating Software Engineering Principles.
4. Software Design.
The Software Design Activity and its Objectives. Modularization Techniques. Handling Anomalies. A Case Study in Design. Concurrent Software. Object-Oriented Design. Architecture and Components.
5. Software Specification.
The Uses of Specifications. Specification Qualities. Classification of Specification Styles. Verification of Specifications. Operational Specifications. Descriptive Specifications. Building and Using Specifications in Practice.
6. Software Verification.
Goals and Requirements of Verification. Approaches to Verification. Testing. Analysis. Symbolic Execution. Model Checking. Putting it All Together. Debugging. Verifying Other Software Properties.
7. The Software Production Process.
What is a Software Process Model? Why Are Software Process Models Important? The Main Activities of Software Production. An Overview of Software Process Modes. Dealing with Legacy Software. Case Studies. Organizing the Process. Organizing Artifacts: Configuration Management. Software Standards.
8. Management of Software Engineering.
Management Functions. Project Planning. Project Control. Organization. Risk Management. Capability Maturity Model.
9. Software Engineering Tools and Environments.
Historical Evolution of Tools and Environments. Dimensions for Comparing Software Tools. Representative Tools. Tool Integration. Forces Influencing the Evolution of Tools.
The Future. Ethics and Social Responsibility. Software Engineering Code of Ethics.
What Our Readers Are Saying
Other books you might like
Computers and Internet » Computer Architecture » General