Taken together, a lot of this design information, can be thought of as design rationale. Rationale here means, the reasons that you did what you did in coming up with your design solution. The more you can make explicit choices with reasons for those choices, the better off we’ll be, the downstream people who are trying to maintain the system. The bottom line as far as design information is concerned, is that there’s many options to you. And you need to decide upfront, what it is that’s going to be important in your documentation, and then capture it as you go along. Now I’d like to introduce you to some key design concepts that are going to be used throughout the term, when we talk about software design.