目 录 PART I Foundations 7 Chapter 1 8 Software Engineering 8 Competencies 8 1.1 Software Engineering 9 1.1.1 An Overview of Software Engineering 9 1.1.2 Software Process Model 11 1.1.3 Phases of Software Development 14 1.1.4 Methodology of Software Development 16 1.2 Software Requirements 17 1.2.1 What are Software Requirements 17 1.2.2 Categories of Software Requirements 18 1.2.3 Requirements Engineering process (RE) 19 1.2.4 Software Requirement Specification (SRS) 20 1.3 Designing the System 21 1.3.1 The Goals of Designing Phase 21 1.3.2 The Design Process 22 1.3.3 Software Designing Concepts 22 1.3.4 Developing a Design Model 25 1.4 Testing the System 25 1.4.1 Software Testing Fundamentals 26 1.4.2 Different Levels of Testing 27 1.4.3 Types of Testing Technique 29 1.5 Software Reengineering 30 1.5.1 Origin of Reengineering 31 1.5.2 A Software Reengineering Model 32 1.5.3 Software Reengineering Activities 33 Concepts 36 Terms 37 Reading 1 Cloud-Based Software Crowdsourcing 40 Reading 2 Test Driven Development 42 Reading 3 AiXcoder 44 Multiple Choice 45 True/False Questions 47 Fill in the Blanks 47 References 48 Chapter 2 49 Mobile Computers 49 Competencies 49 2.1 An Overview of Mobile Computers 50 2.1.1 Types of Mobile Computers 50 2.1.2 Features of Mobile Computers 52 2.1.3 CPU Architectures of Mobile Computers 53 2.1.4 Mobile Operating Systems 54 2.1.5 Mobile Apps 57 2.2 Smartphones 57 2.2.1 Functions 58 2.2.2 iPhone 60 2.3 Android Operating System 65 2.3.1 The Origin of Android 66 2.3.2 Android User Interface 67 2.3.3 Android Architecture 68 Concepts 70 Terms 70 Reading 1 Future Developments for Smartphones 73 Reading 2 Smartphones and Poor Sight 74 Reading 3 Android Software Development Tools 74 Multiple Choice 76 True/False Questions 78 Fill in the Blanks 78 Reference 79 Chapter 3 80 Data Management and Databases 80 Competencies 80 3.1 An Overview of Database Systems 81 3.1.1 The Fundamental Concepts of Database 81 3.1.2 Evolution of Database Technology 83 3.1.3 Advantages of Database Management Systems (DBMSs) 84 3.1.4 Data Models 85 3.1.5 Entity-Relationship Model 86 3.1.6 Levels of Abstraction in a DBMS 87 3.2 Relational Databases 89 3.2.1 Overview of relational database 89 3.2.2 Integrity Constraints over Relation 90 3.2.3 Relational algebra 91 3.3 Database Design 93 3.3.1 Requirements Analysis 94 3.3.2 Conceptual Database Design 94 3.3.3 Logical Database Design 94 3.3.4 Schema Refinement 95 3.3.5 Physical Database Design 95 3.3.6 Application and Security Design 95 3.4 Main Memory Databases 96 3.4.1 An Overview of Main Memory Database 97 3.4.2 The Evolution of Main Memory Database 98 3.4.3 The Key Technology of Main Memory Databases 99 Concepts 102 Terms 103 Reading 1 KingbaseES 106 Reading 2 MongoDB 108 Multiple Choice 111 True/False Questions 113 Fill in the Blanks 114 References 115 Chapter 4 116 Networking and Security 116 Competencies 116 4.1 LAN 116 4.1.1 Ethernet LAN 117 4.1.2 Packets—Data Transmission 118 4.1.3 Ethernet—Sending One Packet 118 4.1.4 Wi-Fi 119 4.1.5 A Summary of Ethernet Design 119 4.2 TCP/IP 120 4.2.1 IP Address 120 4.2.2 Domain Names 121 4.2.3 Router 121 4.2.4 What does it Mean to be on the Internet 121 4.2.5 Ping 122 4.2.6 Traceroute 122 4.3 Security 123 4.3.1 Computer—A Castle 123 4.3.2 Password Attacks 123 4.3.3 Phishing Attacks 125 4.3.4 Malware Attacks 126 4.3.5 Safety Recap 128 Concepts 128 Terms 129 Reading 1 Networking 130 Reading 2 TCP/IP 132 Multiple Choice 134 True/False Questions 137 Fill in the Blanks 137 Reference 138 Part II New Technologies 139 Chapter 5 140 Deep Learning 140 Competencies 140 5.1 Evolution of neural network 140 5.1.1 Deep Learning and Neural Network 141 5.1.2 The first wave of neural network research 142 5.1.3 The second wave of neural network research 142 5.1.4 The third wave of neural network research 143 5.2 Structure of Deep Neural Network 144 5.2.1 Hierarchical structure 145 5.2.2 Neurons 145 5.2.3 Computing 145 5.3 Categories of Deep Neural Network 145 5.3.1 Feedforward Neural Network (FNN) 146 5.3.2 Convolutional neural network (CNN) 146 5.3.3 Recursive neural network (RNN) 147 5.4 Applications of Deep Learning 148 5.4.1 Automatic speech recognition 148 5.4.2 Computer vision 149 5.4.3 Natural language processing 150 Concepts 151 Terms 151 Reading 1 iFlytek: The voice of AI 153 Reading 2 Deep Learning Transforming the Retail Industry 156 Reading 3 Providing Better Customer Service Strategy 157 Multiple Choice 158 True/False Questions 160 Fill in the Blanks 161 Reference 162 Chapter 6 163 Big Data 163 Competencies 163 6.1 Big Data Basics 164 6.1.1 Big Data and its Properties 164 6.1.2 Categories of Big Data 166 6.1.3 Big Value of Big Data 167 6.1.4 Jim Gray’s Fourth Paradigm 169 6.1.5 Evolution of Data Management 170 6.1.6 Big Data Challenges 172 6.2 Big Data Technologies 173 6.2.1 Big Data Acquisition and Pre-processing 173 6.2.2 Big Data Management 175 6.2.3 Big Data Analysis 177 6.2.4 Big Data Visualization 177 6.3 Big Data Systems 178 6.3.1 Batch Data Processing System 178 6.3.2 Streaming Data Processing System 179 6.3.3 Graph Data Processing System 180 Concepts 182 Terms 182 Reading 1 How Hadoop can be Used 186 Reading 2 A Multi-stage Filtering Strategy for Audio Retrieval 187 Reading 3 Transwarp Manager : Domestic big data management system 188 Multiple Choice 190 True/False Questions 193 Fill in the Blanks 195 Reference 196 Chapter 7 198 Blockchain 198 Competencies 198 7.1 Concept and Development of Blockchain 199 7.1.1 The origin of the Blockchain 199 7.1.2 Blockchain and the modern industrial field 200 7.2 The Core of Blockchain 202 7.2.1 The consensus mechanism 202 7.2.2 Blockchain and Cryptography 204 7.3 Blockchain Applications 206 7.3.1 Blockchain and Energy Internet 206 7.3.2 Blockchain and Internet of Things 207 Concepts 209 Terms 209 Reading 1 Bitcoin and Ethereum 212 Reading 2 Blockchain and Peer-to-Peer Energy Trading 213 Reading 3 The Energy Blockchain In China 215 Multiple Choice 217 True/False Questions 219 Fill in the Blanks 220 References 220 Chapter 8 222 Artificial Intelligence 222 Competencies 222 8.1 History 223 8.1.1 Precursors 223 8.1.2 The Birth of Artificial Intelligence 224 8.1.3 AI’s Golden Years and Its Boom 224 8.2 Research Goals 226 8.2.1 The Short-term Goal 226 8.2.2 The Long-term Goals 226 8.3 Major Researches on AI 227 8.3.1 Deduction, Reasoning and Problem Solving 227 8.3.2 Knowledge Representation 228 8.3.3 Automated Planning and Scheduling 228 8.3.4 Machine Learning 229 8.3.5 Natural Language Processing 229 8.3.6 Robotics 229 5.3.7 AI Game 230 8.4 Applications of AI 231 8.4.1 Apple Watch/Siri 231 8.4.2 Google Atlas5 232 8.4.3 ABB’s YuMi 233 8.4.4 Leonardo’s Robot 234 Concepts 235 Terms 235 Reading 1 Virtual Reality 237 Reading 2 Knowledge-Based (Expert) System 238 Reading 3 Artificial Intelligence in China 239 Multiple Choice 239 True/False Questions 241 Fill in the Blanks 242 References 243 Chapter 9 244 Internet of Things 244 Competencies 244 9.1 Definition of Internet of Things 245 9.1.1 Origin of the Concept of “Internet of Things” 245 9.1.2 Common Definition of Internet of Things 245 9.1.3 Development of the Internet of Things 246 9.2 Technologies of Internet of Things 249 9.2.1 Wireless Sensor Network 249 9.2.2 Embedded System 252 9.2.3 RFID 256 9.2.4 Other Technologies 259 9.3 Applications of Internet of Things 261 9.3.1 Food 261 9.3.2 Health 261 9.3.3 Intelligent Home 263 Concepts 265 Terms 265 Reading 1 Classification of the Internet of Things 268 Reading 2 The Architecture of the Internet of Things 270 Reading 3 The Internet of Things in China 271 Multiple Choice 272 True/False Questions 274 Fill in the Blanks 275 References 276