1 INTRODUCTION

2 TRADITIONAL SOFTWARE DEVELOPMENT LIFE CYCLE

3 OVERVIEW OF INTERNET OF THINGS

4 IOT SOFTWARE DEVELOPMENT LIFE CYCLE

5 FUNCTIONAL AND NON-FUNCTIONAL REQUIREMENTS

6 METHODOLOGY

7 DESIGN NOTATION, LANGUAGES, AND REPRESENTATIONS

8 DESIGN PRINCIPLES FOR NON-FUNCTIONAL REQUIREMENTS

9 RESEARCH CHALLENGES AND OPPORTUNITIES

10 CONCLUSION