Podcast
Questions and Answers
Which type of cohesion occurs when a module’s tasks must be executed in the same time-span?
Which type of cohesion occurs when a module’s tasks must be executed in the same time-span?
- Logical Cohesion
- Functional Cohesion
- Temporal Cohesion (correct)
- Procedural Cohesion
In logical cohesion, all elements of the module perform different operations.
In logical cohesion, all elements of the module perform different operations.
False (B)
What is an example of procedural cohesion?
What is an example of procedural cohesion?
An algorithm for decoding a message that requires tasks to be completed in a specific order.
Modules whose instructions are related by a specific sequence are said to exhibit __________ cohesion.
Modules whose instructions are related by a specific sequence are said to exhibit __________ cohesion.
Match the following types of cohesion with their definitions:
Match the following types of cohesion with their definitions:
Which type of cohesion keeps all code that uses the same data together?
Which type of cohesion keeps all code that uses the same data together?
In sequential cohesion, all tasks within the module perform the same function.
In sequential cohesion, all tasks within the module perform the same function.
What illustrates high cohesion in a programming module?
What illustrates high cohesion in a programming module?
What type of coupling exists when two modules communicate solely through the passing of data?
What type of coupling exists when two modules communicate solely through the passing of data?
Control coupling occurs when modules communicate by passing complete data structures.
Control coupling occurs when modules communicate by passing complete data structures.
What is content coupling?
What is content coupling?
______ coupling occurs when two modules have access to shared global data areas.
______ coupling occurs when two modules have access to shared global data areas.
Match the following types of coupling with their descriptions:
Match the following types of coupling with their descriptions:
What is an example of control coupling?
What is an example of control coupling?
In stamp coupling, only part of a data structure is passed between modules.
In stamp coupling, only part of a data structure is passed between modules.
Define external coupling.
Define external coupling.
Which of the following best describes composition in object-oriented design?
Which of the following best describes composition in object-oriented design?
An actor within a sequence diagram represents a specific physical entity that interacts with the subject.
An actor within a sequence diagram represents a specific physical entity that interacts with the subject.
What is the primary purpose of a sequence diagram?
What is the primary purpose of a sequence diagram?
A lifeline in a sequence diagram represents an individual ______ in the interaction.
A lifeline in a sequence diagram represents an individual ______ in the interaction.
Match the following terms with their definitions:
Match the following terms with their definitions:
How many interaction diagrams should typically be drawn for each use case?
How many interaction diagrams should typically be drawn for each use case?
An activation in a sequence diagram is represented by a thick rectangle.
An activation in a sequence diagram is represented by a thick rectangle.
In object-oriented programming, what does a subclass represent?
In object-oriented programming, what does a subclass represent?
What does a call message represent in an interaction?
What does a call message represent in an interaction?
A destroy message represents the instantiation of a target lifeline.
A destroy message represents the instantiation of a target lifeline.
What does a duration message show in an interaction?
What does a duration message show in an interaction?
A _____ message represents the invocation of a message of the same lifeline.
A _____ message represents the invocation of a message of the same lifeline.
Which type of message indicates a request to destroy the lifecycle of a target lifeline?
Which type of message indicates a request to destroy the lifecycle of a target lifeline?
Match the following types of messages with their definitions:
Match the following types of messages with their definitions:
An iteration marker is used to indicate that a message is sent many times.
An iteration marker is used to indicate that a message is sent many times.
What is an optional feature of return values in an interaction?
What is an optional feature of return values in an interaction?
In a 1:N relationship, what is added to the relation on the many side?
In a 1:N relationship, what is added to the relation on the many side?
In a binary 1:N relationship, the many side does not migrate any keys from the one side.
In a binary 1:N relationship, the many side does not migrate any keys from the one side.
What is the purpose of creating another relation in an M:N relationship?
What is the purpose of creating another relation in an M:N relationship?
In the ORDER table after the relationship, the added attribute is the ______.
In the ORDER table after the relationship, the added attribute is the ______.
Match the following tables with their respective attributes:
Match the following tables with their respective attributes:
What is a sequence fragment in UML 2.0?
What is a sequence fragment in UML 2.0?
The fragment operator is located in the bottom right corner of a combined fragment.
The fragment operator is located in the bottom right corner of a combined fragment.
Name one type of fragment used in UML sequence diagrams.
Name one type of fragment used in UML sequence diagrams.
An attribute is a property of an entity that is of interest to an ______.
An attribute is a property of an entity that is of interest to an ______.
Which of the following is NOT a fragment type in UML?
Which of the following is NOT a fragment type in UML?
What are the three main constructs used in Entity-Relationship Diagrams?
What are the three main constructs used in Entity-Relationship Diagrams?
Match the following entity types with their examples:
Match the following entity types with their examples:
A candidate key is an attribute that can uniquely identify an entity type.
A candidate key is an attribute that can uniquely identify an entity type.
Flashcards
Communicational Cohesion
Communicational Cohesion
A type of module cohesion where all functions within the module use the same data structures, like an array or a stack. Example: Functions for storing, searching, and printing student data.
Temporal Cohesion
Temporal Cohesion
A type of module cohesion where functions are grouped based on the fact that they must be executed within the same time frame. Example: Initialization, start-up, and shut-down functions.
Procedural Cohesion
Procedural Cohesion
A type of module cohesion where functions are grouped based on the specific order in which they must be completed to achieve a goal. Example: Decoding a message using a specific algorithm.
Logical Cohesion
Logical Cohesion
Signup and view all the flashcards
Functional Cohesion
Functional Cohesion
Signup and view all the flashcards
Sequential Cohesion
Sequential Cohesion
Signup and view all the flashcards
Module Cohesion
Module Cohesion
Signup and view all the flashcards
Module Coupling
Module Coupling
Signup and view all the flashcards
Entity-Relationship Diagrams
Entity-Relationship Diagrams
Signup and view all the flashcards
Entities
Entities
Signup and view all the flashcards
Attributes
Attributes
Signup and view all the flashcards
Relationships
Relationships
Signup and view all the flashcards
Candidate Key
Candidate Key
Signup and view all the flashcards
Coincidental Cohesion
Coincidental Cohesion
Signup and view all the flashcards
Data Coupling
Data Coupling
Signup and view all the flashcards
Stamp Coupling
Stamp Coupling
Signup and view all the flashcards
Control Coupling
Control Coupling
Signup and view all the flashcards
Common Coupling
Common Coupling
Signup and view all the flashcards
Content Coupling
Content Coupling
Signup and view all the flashcards
External Coupling
External Coupling
Signup and view all the flashcards
External Coupling
External Coupling
Signup and view all the flashcards
Call Message
Call Message
Signup and view all the flashcards
Return Message
Return Message
Signup and view all the flashcards
Self Message
Self Message
Signup and view all the flashcards
Create Message
Create Message
Signup and view all the flashcards
Destroy Message
Destroy Message
Signup and view all the flashcards
Condition Message
Condition Message
Signup and view all the flashcards
Iteration Message
Iteration Message
Signup and view all the flashcards
Duration Message
Duration Message
Signup and view all the flashcards
Binary Relationship
Binary Relationship
Signup and view all the flashcards
1:N Relationship
1:N Relationship
Signup and view all the flashcards
Transforming 1:N Relationships
Transforming 1:N Relationships
Signup and view all the flashcards
M:N Relationships
M:N Relationships
Signup and view all the flashcards
Foreign Key
Foreign Key
Signup and view all the flashcards
Class Diagram
Class Diagram
Signup and view all the flashcards
Object Diagram
Object Diagram
Signup and view all the flashcards
Composition Relationship
Composition Relationship
Signup and view all the flashcards
Aggregation Relationship
Aggregation Relationship
Signup and view all the flashcards
Dependency Relationship
Dependency Relationship
Signup and view all the flashcards
Interaction Diagram
Interaction Diagram
Signup and view all the flashcards
Sequence Diagram
Sequence Diagram
Signup and view all the flashcards
Lifeline
Lifeline
Signup and view all the flashcards
Study Notes
Software Design
- Software design involves transforming the system requirements specification (SRS) document into a design document.
- The design process has two parts: conceptual design and technical design.
- Developers and customers collaboratively work on the design.
- Conceptual design focuses on understanding data sources, system operation, user interface, and user choices.
- Technical design details hardware, software, communication interfaces, and solutions.
- The design process is iterative; it involves refining designs in several versions.
- Design starts with informal outlining and refines into more formal completed designs.
Conceptual Design
- Conceptual design answers where data originates, how it's handled within the system, how the system appears to users, the available user choices, event timing, and output format of reports and screens.
Technical Design
- This includes hardware specifications, the needed software, communication interfaces, and system solutions for the customer's requirements.
- Software architecture, network architecture, and other components are described.
Overview of the Design Process
- The general design process model includes requirement specifications, architectural design, abstract specification, interface design, component design, data structure design, and algorithm design.
Design Products
- Architectural design identifies subsystems and defines sub-system control and communication frameworks.
- Output is an architectural design document.
- Abstract specification details services and constraints for each subsystem.
- Interface design documents an interface for each subsystem.
- Component design details allocated services and components' interfaces.
- Data structure design involves detailing used system data types.
- Algorithm design involves specifying algorithms for handling system processes.
Good Software Design
- A good design is easy to understand, maintain, and modify.
- Using consistent and significant names in components and modules enhances readability.
- Modularity, breaking down the solution into modules, promotes independent functionality and reduces interconnectedness.
Modularity
- Modularization divides a system into distinct modules, each performing specific tasks independently.
- Independent modules improve understanding, reducing complexity..
Cohesion and Coupling
- Cohesion describes the strength of a module’s functionality.
- Coupling measures the interdependence between modules.
- High cohesion enhances modularity and reduces complexity.
- Low coupling indicates minimal dependence and easier modifications.
Classification of Cohesion
- Types of cohesion include coincidental, logical, temporal, procedural, communicational, sequential, and functional.
Classification of Coupling
- Types include data coupling, stamp coupling, control coupling, external coupling, common coupling, and content coupling.
- Data coupling is the best form and content coupling is the worst form.
Data Dictionary
- All data items used in DFDs are listed and described in the data dictionary, including their definitions, purpose, and usage.
Data Flow Diagram (DFD)
- DFDs are graphical representations of data flows in a system, often used in information systems.
- Symbols represent data flows between entities and processes.
Level 0 Data Flow Diagram
- A high-level overview of the system, representing the entire system as a single process with its relationship to external entities.
- Inputs and outputs are identified as data flows.
- A top-level overview of the system and how external components interact.
Level 1 Data Flow Diagram
- Decomposition of a level 0 data flow diagram into smaller, more specific processes (bubbles) which illustrate sub processes, often focusing on the inputs, outputs, and data stores involved in each process.
Object-Oriented Design (OOD)
- OOD treats the system as a collection of objects with their own data and methods, handling data within each object, with objects communicating through message passing.
Unified Modeling Language (UML)
- UML provides a standard graphical language for modeling systems from various viewpoints.
- UML diagrams depict system structure and behavior.
- UML is not a system design but is a modeling language.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Test your knowledge on cohesion and coupling in software engineering. This quiz covers various types of cohesion and coupling, their definitions, and examples. See how well you understand these important concepts in programming.