This book seeks to provide an overall view of the nature of software engineering, focusing on real world practice and guiding students of software engineering to understand the benefits and drawbacks of various methods. Intended for both the student and the professional, this text follows the natural life cycle of software development, providing the reader with comprehensive overview of the software development field. The text includes comprehensive coverage of methods, tools, principle, and guidlines. Case studies and examples are presented extensively throughout the book.
Read More
Software Engineering Fundamentals provides a comprehensive overview of software engineering and its process, builds on experience drawn from actual practice, and guides engineering students towards a better understanding of various disciplines, tasks, and specialities that contribute to the development of a software product. Intended for both students and professionals, the text follows the full software development life cycle, including a thorough coverage of methods, tools, principles, and guidelines. Software Engineering Fundamentals is unique in its coverage of such topics as software metrics, real-time software design, quality assurance, reliability, risk management, cost and schedule estimation, sizing, planning, test and integration process, technical management, and human factors. It establishes the concept of software development as an engineering process and software as an engineered product, and describes software development as a team-oriented activity usually conducted in a system development setting. The notion of using software metrics (attributes) to measure properties of the software product as a means to evaluate and control the development process is introduced, software metrics are presented as a management tool, and the software development process is described using an accepted review and documentation structure as an outline. Many interim products of the software engineering process are described in enough detail to permit the reader to produce a credible draft of these products. While encouraging the use of modeling techniques for sizing, cost and schedule estimation, reliability, risk assessment, and real-time design, the authors emphasize the need to calibrate models with actual data. Explicit guidance is provided for virtually every task that a software engineer may be assigned, and realistic case studies and examples are used extensively to reinforce the topics presented. Software Engineering Fundamentals presents a unique blend of practical and theoretical treatment of software engineering topics for students and professional use.
Read Less