Whenever we start to develop or design any software before that we must have knowledge about Basic rules of Software Design.
We can divide Software Design into two part:
1. Software Design Principles
2. Software Design Patterns
These patterns deal with the process of communication, managing relationships, and responsibilities between objects. There are as follows:
a.) Chain of Responsibility: Passes a request among a list or chain of objects.
b.) Command: Wraps a request under an object as a command and passed to invoker object.
k.) Template Method
As agile has gained popularity, many stereotypes and/or misinterpretations have cast a negative shadow regarding its effectiveness. Considering this, let’s look at a few things that Agile isn’t.
- Agile development model is also a type of Incremental model. Software is developed in incremental, rapid cycles. This results in small incremental releases with each release building on previous functionality. Each release is thoroughly tested to ensure software quality is maintained. It is used for time critical applications. Extreme Programming (XP) is currently one of the most well known agile development life cycle model.