1. Which design principles are violated by the following declaration:
double square(double x) {
double result = x * x;
print("square = ");
println(result);
return result;
}
2. Assume a business application uses the following design:

The ui package contains three classes:

The business package contains two classes:

The dbase package also contains two classes:

Redesign this application to eliminate the circular dependencies between the packages. You may introduce new packages. (Use a CASE tool to create the new design.)
3. Site several examples of how a personal computer realizes the Modularity and Abstraction principles.
4. Site several examples of how Windows or UNIX realizes the Modularity and Abstraction principles.