An introductory course on Software Engineering remains one of the hardest subjects to teach largely because of the wide range of topics the area enc- passes. I have believed for some time that we often tend to teach too many concepts and topics in an introductory course resulting in shallow knowledge and little insight on application of these concepts. And Software Engineering is ?nally about application of concepts to e?ciently engineer good software solutions. Goals I believe that an introductory course on Software Engineering should focus on imparting to students the knowledge and skills that are needed to successfully execute a commercial project of a few person-months e?ort while employing proper practices and techniques. It is worth pointing out that a vast majority of the projects executed in the industry today fall in this scope―executed by a small team over a few months. I also believe that by carefully selecting the concepts and topics, we can, in the course of a semester, achieve this. This is the motivation of this book. The goal of this book is to introduce to the students a limited number of concepts and practices which will achieve the following two objectives: – Teach the student the skills needed to execute a smallish commercial project.
Software engineering is an integral part of studies in computer science and consequently foundational knowledge is critical to all students in the field. This text focuses on the essential elements, providing readers with the basic skills and introductory knowledge required to execute a software project successfully.
Following the winning formula and easy-to read style of the authors previous An Integrated Approach to Software Engineering, this reader-friendly text is written specifically for undergraduates as an introduction to this broad-ranging discipline. With a strong emphasis on practice, this textbook takes a step-by-step approach whereby the key tasks involved in a project are discussed through the course of the book, illustrating the different activities involved in software development.
Features and topics:
Discusses core concepts and techniques in an introductory easy-to-follow approach
Offers a solid foundation to this wide-ranging topic
Focuses only on the essential elements required to complete a software project effectively
Takes the reader through the project life cycle - applying concepts to practice
Teaches the skills needed to execute a small commercial project
Provides the necessary conceptual background for further study in software engineering
Concentrates on the two key tasks: Engineering and project management
Each chapter covers one of the key tasks involved in a project
Includes helpful learning tools such as chapter introductions, chapter goals and self-assessment exercises
Teaching support (such as chapter slides, templates and a case study) and supplemental resources are available via http://www.cse.iitd.ac.in/~jalote/ConciseIntroToSE
Presents practical methods and notations for performing given tasks within each chapter
Designed for undergraduates and bolstered with numerous examples, this text imparts to the reader the fundamental knowledge, skills, practices and techniques within software engineering. It will also be helpful for professionals who know programming but want to be introduced to the formal systematic approach of software engineering.