
Fundamentals of Software Engineering
International Edition
Pearson (Publisher)
2nd Edition
Published on 5. November 2002
Book
Paperback/Softback
624 pages
978-0-13-099183-6 (ISBN)
Description
Appropriate for both undergraduate and graduate introductory software engineering courses found in Computer Science and Computer Engineering departments.
This text provides selective, in-depth coverage of the fundamentals of software engineering by stressing principles and methods through rigorous formal and informal approaches. The authors emphasize, identify, and apply fundamental principles that are applicable throughout the software lifecycle, in contrast to other texts which are based in the lifecycle model of software development. This emphasis enables students to respond to the rapid changes in technology that are common today.
This text provides selective, in-depth coverage of the fundamentals of software engineering by stressing principles and methods through rigorous formal and informal approaches. The authors emphasize, identify, and apply fundamental principles that are applicable throughout the software lifecycle, in contrast to other texts which are based in the lifecycle model of software development. This emphasis enables students to respond to the rapid changes in technology that are common today.
More details
Edition
2nd edition
Language
English
Place of publication
United States
Publishing group
Pearson Education (US)
Target group
Professional and scholarly
Dimensions
Height: 235 mm
Width: 179 mm
Thickness: 22 mm
Weight
892 gr
ISBN-13
978-0-13-099183-6 (9780130991836)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
Previous edition
Carlo Ghezzi | etc.
Fundamentals of Software Engineering
Book
01/1992
Prentice-Hall
€47.03
Article exhausted; check for reprint
Persons
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 Universitaet 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.
Mehdi Jazayeri is a professor of computer science at the Technische Universitaet 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.
Content
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.
10. Epilogue.
The Future. Ethics and Social Responsibility. Software Engineering Code of Ethics.
Case Studies.
References.
Index.
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.
10. Epilogue.
The Future. Ethics and Social Responsibility. Software Engineering Code of Ethics.
Case Studies.
References.
Index.