|
Software Engineering is finally about application of concepts to efficiently engineer good software solutions.
This book focuses on imparting to students the knowledge and skills that are needed to successfully execute a commercial project of a few person-months effort while employing proper practices and techniques. A vast majority of the projects executed in the industry today fall in this scope.
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.
¢Provide the students necessary conceptual background for undertaking advanced studies in software engineering, through organized courses or on their own.
This book focuses on key tasks in two dimensions “ engineering and project management “ and discusses concepts and techniques that can be appied to effectively execute these tasks. The book is organized in a simple manner, with one chapter for each of the key tasks in a project. For engineering, these tasks are requirements analysis and specification, architecture design, module level design, coding and unit testing, and testing. For project management, the key tasks are project planning and project monitoring and control, but both are discussed together in one chapter on project planning as even monitoring has to be planned. In addition, one chapter clearly defines the problem domain of Software Engineering, and another Chapter discusses the central concept of software process which integrates the different tasks executed in a project.
Each chapter opens with some introduction and clearly lists the chapter goals, or what the reader can expect to learn from the chapter. For the task covered in the chapter, the important concepts are first discussed, followed by a discussion of the output of the task, the desired quality properties of the output, and some practical methods and notations for performing the task. The explanations are supported by examples, and the key learnings are summarized in the end for the reader. The chapter ends with some self-assessment exercises.
Finally, the book contains a question bank at the end which lists out questions with answers from major universities.
Highlights
* The book is excellent for students who know programming but have not had any exposure to software engineering.
* The book can also be used by professionals who are in a similar state “ know some programming but want to be introduced to the systematic approach of software engineering.
* Explanations are supported by examples in each chapter which helps tremendously in making the concept clear.
* The book focuses on both engineering and project management concepts and techniques to be used in a project.
* One of the chapters clearly defines the problem domain of Software Engineering, and another chapter discusses the central concept of software process which integrates the different tasks executed in a project.
* The book imparts to students the knowledge and skills that are needed to successfully execute a commercial project of a few person-months effort while employing proper practices and techniques.
* Teaches the student the skills needed to execute a smallish commercial project as well as provides the students necessary conceptual background for undertaking advanced studies in software engineering, through organized courses or on their own.
* Covers engineering issues like requirements analysis and specification, architecture design, module level design, coding and unit testing, and testing.
* Also covers Project Management issues like project planning and project monitoring and control.
* Frequently Asked Questions at the end of the book feature questions/answers from major universities.
|
|
|