About Fundamentals of Software Engineering Practical Handbook to understand the hidden language of computer hardware and software Key Features ● This book contains real-time executed examples along with case studies. ● Covers advanced technologies that are intersectional with software engineering. ● Easy and simple language, crystal clear approach, and straight forward comprehensible presentation. ● Understand what architecture design involves, and where it fits in the full software development life cycle. ● Learning and optimizing the critical relationships between analysis and design. ● Utilizing proven and reusable design primitives and adapting them to specific problems and contexts. Description 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. What will you learn This book includes only those concepts that we believe are foundational. As executing a software project requires skills in two dimensions—engineering and project management—this book focuses on crucial tasks in these two dimensions and discusses the concepts and techniques that can be applied to execute these tasks effectively. Who this book is for The book is primarily intended to work as a beginner’s guide for Software Engineering in any undergraduate or postgraduate program. It is directed towards students who know the program but have not had formal exposure to software engineering. The book can also be used by teachers and trainers who are in a similar state—they know some programming but want to be introduced to the systematic approach of software engineering. Table of Contents 1. Introductory Concepts of Software Engineering 2. Modelling Software Development Life Cycle 3. Software Requirement Analysis and Specification 4. Software Project Management Framework 5. Software Project Analysis and Design 6. Object-Oriented Analysis and Design 7. Designing Interfaces & Dialogues and Database Design 8. Coding and Debugging 9. Software Testing 10. System Implementation and Maintenance 11. Reliability 12. Software Quality 13. CASE and Reuse 14. Recent Trends and Development in Software Engineering 15. Model Questions with Answers About the Author Hitesh Mohapatra received a B.E. degree in Information Technology from Gandhi Institute of Engineering and Technology, Gunupur, Biju Patnaik University of Technology, Odisha in 2006, and an MTech. Degree in CSE from Govt. College of Engineering and Technology, Bhubaneswar, Biju Patnaik University of Technology, Odisha in 2009. He is currently a full-time PhD scholar at Veer Surendra Sai University of Technology, Burla, India since 2017 and expected to complete by August 2020. Amiya Kumar Rath received a B.E. degree in computer from Dr Babasaheb Ambedkar Marathwada University, Aurangabad, in 1990, and an M.B.A. degree in systems management from Shivaji University in 1993. He also received an MTech. Degree in computer science from Utkal University in 2001, and a PhD degree in computer science from Utkal University, in 2005, with a focus on embedded systems.