Software engineering matters because software matters. Software controls significant portions of human activities, and this centrality will grow. The field of software engineering continues to expand at an astounding rate. Software engineering is gravely hampered today by immature practices. This book supports a process to refound software engineering based on a solid theory, proven principles and best practices. The book fills a long-standing need in the software development communities to make the essential aspects of software development available in one comprehensive work. Written in an easy-to-understand tutorial format, Software Engineering: Concepts and Practices provides professionals, researchers, and students at all levels with a clear coverage of: Analyzing, designing, programming and testing software projects. Set of objectives to which a prospective should be targeting to achieve. Two types of review questions. List of key terms referring to abstract concepts, which may be used for better and crisp communication. List of key references for the concepts in the chapter. Useful websites appended to each chapter for quick reference.