Software Engineering Fundamentals

by 12:56 0 comments

.
Overview

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.

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.


10. Epilogue.
The Future. Ethics and Social Responsibility. Software Engineering Code of Ethics.


Case Studies.


References.


Index.

Features

NEW - Deeper analysis and explanation of object-oriented techniques.
Teaches students about this established and widely adopted methodology.
NEW - Use of Unified Modeling Language (UML).
Encourages students to learn about graphical method of description that is widely used for requirements descriptions.
NEW - Coverage of requirements analysis and software architecture.
Teaches students about these two areas that have become better understood and more standard.
NEW - Revised and updated case studies.
Better demonstrate the principles discussed in the text.
NEW - Model checking—A technique that provides automatic support to the human activity of software verification.
Exposes students to this powerful new verification technique.
NEW - GQM—Used to evaluate software quality and help improve the software process.
Enables students to learn about this up-to-date and widely known technique.
NEW - Coverage of Z.
Exposes students to this fairly well-known and established formal specification language.
Principles and techniques are emphasized rather than specific tools.
Students 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 for students.
Case studies—Including several studies of real-life software engineering projects and their analyses.
Demonstrates the integration of different concepts, contrasts different approaches in realistic situations, and exposes students to the diversity of problems faced in industrial practice.
A variety of exercises—Short exercises interspersed throughout the chapters help students to extend or apply their knowledge; longer end-of-chapter exercises help students integrate the material in each chapter; term-projects provide team exercises for developing a software system.
Enables students to apply the principles presented in the text.
New to This Edition

Deeper analysis and explanation of object-oriented techniques.
Teaches students about this established and widely adopted methodology.

Use of Unified Modeling Language (UML).
Encourages students to learn about graphical method of description that is widely used for requirements descriptions.

Coverage of requirements analysis and software architecture.
Teaches students about these two areas that have become better understood and more standard.

Revised and updated case studies.
Better demonstrate the principles discussed in the text.

Model checking—A technique that provides automatic support to the human activity of software verification.
Exposes students to this powerful new verification technique.

GQM—Used to evaluate software quality and help improve the software process.
Enables students to learn about this up-to-date and widely known technique.

Coverage of Z.
Exposes students to this fairly well-known and established formal specification language.
.
REFERENCE:
https://www.pearson.com/us/higher-education/program/Ghezzi-Fundamentals-of-Software-Engineering-2nd-Edition/PGM13112.html
.
DOWNLOAD:

razi mahmood

Developer

Razi is an IT Lecturer and Training Consultant. His lecture/training includes:
+Software Engineering
+Programming
+Mobile Development
+Database
+Web Portal System
+Adobe Creative Suites
+Microsoft Office Suites
+Certification
Read more about him at About Page