What are two ways in which an architectural model of a program is used?
1) To visualize and communicate the design of the program
2) To identify potential issues and optimize performance
3) To generate code automatically
4) To test the program for bugs and errors