 In the previous LXI, we had asked you on how you would go about designing a mood-based music player. Oh, a mood-based music player. That sounds really interesting. But I'm wondering what does it do? A mood-based music player automatically detects mood, plays music according to the mood, provides secure authentication, remembers users' choice of music, recommends music based on the mood as well as users' choice. Okay, this sounds very cool. But I'm still wondering how should I start designing such a mood-based music player? Yeah, it is an interesting question. Last week, we learned about the various phases and models in a typical software development. However, they only provide a framework but do not really guide you on how to think while creating a software. Right. So I was thinking, how will an experienced software designer go about designing such a mood-based music player? Yeah, that is a good thought. So learners, here is a reflection spot for you. How do you think experienced software developers will go about creating a mood-based music player? Pause the video and write your answers in the notebook. Okay, so I think that experienced developers could have worked on similar systems in the past. And I think that they will refer to these systems that they created as reference points. Yes, that's true. They also have an integrated view of the system and tend to continuously think about the why, what and how of the design. Hmm, the why, the what and the how. Can you explain it in some more detail? The why. The purpose of software design is often deliberated from the requirements. After this deliberation, the features of the solution are envisaged. They often map to the requirements. The features of a design solution are called as functions. For the mood-based music player, it could be mood detection, playlist creation, user authentication to name a few. The what. To realize the functions in the solution, physical as well as logical components are required. These components are referred to as structures. In the mood-based music player, there could be an emotion recognition camera, some algorithms to automatically generate playlists, emotion tagging of songs to name a few. The how. The structures interact with each other to achieve the function. For example, the emotion capture, it recognizes the user emotion, then provides it to the playlist generator which creates a playlist based on the mood. Behavior refers to the interaction between the structures that result in achieving the purpose of the design. Okay, so now I think I am understanding what you mean. So to start creating a software design, we could think of the functionalities that this design will contain. And these functionalities are realized by various structures that interact with each other. And these interactions are known as behaviors. It is a good summary indeed. We have only started thinking about function structures and behaviors individually. We would need to integrate them together. And let's see how to do this in the next LED.