Only direct adjacent layers can invoke each other's methods in a layered architecture. There is data sharing between all layers in a layered architecture. A UML diagram roust provide a complete view of the entire software system. The MVC style should be used to separate an interactive interface from the remainder of a program, thus increasing user interface flexibility. Among the advantages of layered architecture is "each layer is selected to be a set of related services, thus the architecture provides high degree of cohesion within the laser." Postconditions must be true when the use case ends whether it is successful or not. Use case models provide atomized requirements statements. A resolution model is any representation of a design problem. Architecture design is a problem-solving activity whose input is the SRS document and whose output is the SOD. All architectural designs are the same in terms of then level of abstraction. Architectural Design better done as an individual first and then bring together al the individual architectural design suggestions. Finalizing The Architectural Design step ensures that the selected architecture does satisfy the various functional and non-functional requirements (and possibly may delight the users) and is clearly documented. In Low-Level Detailed Design PAID stands for Packaging. Algorithms. Interfaces, and Data structures. In Layered architecture if any layer only uses the layer directly below it. then it is a Relaxed Layered Style. In Layered architecture each layer may hide private information from other layers. In Pipe-Filter architecture Pipe is a mechanism that allows the flow of data. Problems that fit Shared Data architecture includes real-time systems such as airplane control, medical equipment monitor, home monitor. In Model-View-Controller (MVC) architecture. Controller is the portion that handles the data model and the logic related to the application functions. In contrast to mid-level, low level detailed design fills in the details for programming purpose. A program entity is visible at a point in a program if it can be "used" (read or change its value) at that point