1. What does aggregation mean in OO? Give an example.
Aggregation is a “part-of” association. For example, student is a part of a class.
2. When we employ the technique of generalization in design, what are we doing, and which part of OO design is closely related to this concept?
Generalization is an abstraction where we keep only the essentials and suppress the details. In OO, in moving from specific objects to a general class definition is an example of generalization.
3. List two differences between the state transition diagram and the sequence diagram. State diagram shows the states of the objects and how those states change. Sequence diagram only shows the message interactions among the objects.
4. Mention and describe three different views used in architectural design.
Architectural design is a high level view of the system. It can be described with: logical view : represents the decomposition of a system and how those parts work with each other physical architectural view: represents the mapping of the software to the hardware process view: represents the run-time “processes” and flow of the system.
5. What is the difference between data modeling and logical data base design?
In data modeling we are constructing and showing the Entity-Relationship among the objects.
In logical data base design, the E-R diagram is converted to the sets of tables and relationships among the tables.
6. What is the difference between low fidelity prototypes and high fidelity prototypes?
Low fidelity prototypes are quick hand drawn screens using markers, post-it notes, post cards, and/or cut out images to represent the screens of the system. Simple mockup sketch of the target product.
High fidelity prototypes are screens created using a tool to design the screens. These screens look and mimic the behavior of the future screens of the system. An example of a tool is visual basic with the use of hide and show. Detailed mockup