PART I Foundations Chapter 1 Software Engineering Competencies 1.1 Software Engineering 1.1.1 An Overview of Software Engineering 1.1.2 Software Process Model 1.1.3 Phases of Software Development 1.1.4 Methodology of Software Development 1.2 Software Requirements 1.2.1 What are Software Requirements 1.2.2 Categories of Software Requirements 1.2.3 Requirements Engineering process (RE) 1.2.4 Software Requirement Specification (SRS) 1.3 Designing the System 1.3.1 The Goals of Designing Phase 1.3.2 The Design Process 1.3.3 Software Designing Concepts 1.3.4 Developing a Design Model 1.4 Testing the System 1.4.1 Software Testing Fundamentals 1.4.2 Different Levels of Testing 1.4.3 Types of Testing Technique 1.5 Software Reengineering 1.5.1 Origin of Reengineering 1.5.2 A Software Reengineering Model 1.5.3 Software Reengineering Activities Concepts Terms Reading 1 Cloud-Based Software Crowdsourcing Reading 2 Test Driven Development Reading 3 AiXcoder Multiple Choice True/False Questions Fill in the Blanks References Chapter 2 Mobile Computers Competencies 2.1 An Overview of Mobile Computers 2.1.1 Types of Mobile Computers 2.1.2 Features of Mobile Computers 2.1.3 CPU Architectures of Mobile Computers 2.1.4 Mobile Operating Systems 2.1.5 Mobile Apps 2.2 Smartphones 2.2.1 Functions 2.2.2 iPhone 2.3 Android Operating System …… Part II New Technologies