This book teaches the essentials of software engineering to anyone who wants to become an active and independent software engineer expert. It covers all the software engineering fundamentals without forgetting a few vital advanced topics such as software engineering with artificial intelligence, ontology, and data mining in software engineering.
The primary goal of the book is to introduce a limited number of concepts and practices which will achieve the following two objectives:
Teach students the skills needed to execute a smallish commercial project.
Provide students with the necessary conceptual background for undertaking advanced studies in software engineering through courses or on their own.