17 Questions
What is the primary trade-off in achieving storage efficiency by compressing data?
Longer processing time to compress and decompress the data
Which UML diagram is used to reflect the organization of packages and their elements?
Package diagram
What is the primary purpose of using a package diagram to represent class elements?
To provide a visualization of the namespaces in the system
Which of the following is considered an impediment to speed efficiency in real-time applications?
Loops
Which UML diagram type is used to model the structure of a software system's components and their relationships?
Component diagram
Which of the following is a common trade-off in storing data in order of relative frequency to achieve storage efficiency?
Increased processing time to determine the location of data
What is the main purpose of package diagrams in UML?
Organize use case diagrams and class diagrams
How does a component diagram differ from a class diagram in UML?
Component diagrams have a higher level of abstraction
In UML, what do activity diagrams display?
The sequence of activities
Which UML element is primarily used to illustrate the pieces of software and embedded controllers that make up a system?
Component Diagrams
What is the typical relationship between a component and classes in a component diagram?
A component is implemented by one or more classes at runtime
What is the primary purpose of refactoring in software design?
To accommodate additional requirements
Which of the following is NOT a type of UML diagram mentioned in the text?
Package diagram
What is the purpose of using abstraction in software design?
To accommodate several classes with significant commonality
What is the primary purpose of verifying input in software design?
To ensure environmental robustness
What is the relationship between design and coding in software development?
The relationship depends on the nature of the task and the experience of the programmer
What is the main purpose of using component diagrams in software design?
To model the physical components of a system
Study Notes
Package Diagrams
- Used to organize use case diagrams and class diagrams
- Can be used to represent the organization of packages and their elements
Component Diagrams
- Illustrate the pieces of software, embedded controllers, etc. that make up a system
- Have a higher level of abstraction than Class Diagrams
- A component can encompass a large portion of a system
- Implemented by one or more classes (or objects) at runtime
Activity Diagrams
- Used to display the sequence of activities
- Show the workflow from a start point to the finish point
- Detailing the many decision paths that exist in the progression of events contained in the activity
Design Principles
- Speed Efficiency: critical for real-time applications
- Impediments to speed efficiency include loops, remote operations, function calls, object creation
- Storage Efficiency: attained by storing only needed data, compressing data, and storing in order of relative frequency
- Profiler: an application that tracks resource usage during program execution
UML Diagrams
- Types of UML diagrams include actor, relation among actors, classes, relations, package diagrams
- UML diagrams are used to provide a visualization of namespaces
Refactoring
- Refactoring: revising the design and implementation to accommodate additional requirements
- Methods include promoting a primitive attribute to class, class selection, introducing abstract classes or interfaces
- Refactoring is needed to accommodate increased scope
Verifying Input
- Check all inputs for constraints including type verification, preconditions, invariants, postconditions
- Initialize variables and objects at declaration/creation time to improve robustness
Learn about the most common use of package diagrams to organize use case and class diagrams, as well as the purpose and abstraction level of component diagrams in UML.
Make Your Own Quizzes and Flashcards
Convert your notes into interactive study material.
Get started for free