Software Engineering
Answer each of the following questions posed for control and data when applied a “stepwise refinement approach” to develop three different levels of procedural abstraction in a simple invoicing system for a small business.
Control:
1. How is control managed within the architecture?
2. Does a distinct control hierarchy exist, and if so, what is the role of components within this control hierarchy?
3. How do components transfer control within the system?
4. How is control shared among components?
5. What is the control topology (i.e., the geometric form that the control takes)?
6. Is control synchronized or do components operate asynchronously?
Data:
1. How are data communicated between components?
2. Is the flow of data continuous, or are data objects passed to the system sporadically?
3. What is the mode of data transfer (i.e., are data passed from one component to another or are data available globally to be shared among system components)?
4. Do data components (e.g., a blackboard or repository) exist, and if so, what is their role?
5. How do functional components interact with data components?
6. Are data components passive or active (i.e., does the data component actively interact with other components in the system)?
7. How do data and control interact within the system?
Simple Invoicing System for a Small Business
Control:
1. How is control managed within the architecture?
In Software architecture, there are a set of connectors (control
hierarchy) that enable “communication, coordination and
cooperation” among various components present in the architecture.
These are basically pre-defined rules for all possible value of
input or data flows in the system. The control flow work on the
principle of Call and return. For every data flow (input), there is
pre-defined rules of what to return to user, whom to handover
control in case of successful or failure.
2. Does a distinct control hierarchy exist, and if so, what is
the role of components within this control hierarchy?
Yes, There is a distinct control hierarchy exist also known as
program structure. The organization of program components (modules)
are represented by it. Different notations are used to represent
control hierarchy for those architectural styles that are amenable
to this representation. The component represents and operates
subtly different characteristics of the software architecture:
visibility and connectivity. All of the objects are visible to the
module. Connectivity indicates the set of components that are
directly invoked or used as data by a given component.
3. How do components transfer control within the system?
In control hierarchy, A module that controls another module is said
to be superordinate to it, and conversely, a module controlled by
another is said to be subordinate to the controller. Superordinate
module transfer the control flow to the respective subordinate
module
4. How is control shared among components?
In the software architecture, the user data is centralized and
accessed frequently by various components simultaneously. Control
is shared among components through shared data repositories. The
components access a shared data structure and are relatively
independent, in that, they interact only through the data
store.
5. What is the control topology (i.e., the geometric form that the
control takes)?
The control hierarchy and architectural styles are mostly
represented in the treelike geometrical diagram that represents
hierarchical control for call and return architectures. It is also
known as control topology.
6. Is control synchronized or do components operate
asynchronously?
Control is synchronized among components. Components simultaneously
shared the control flow among them.
Data:
1. How are data communicated between components?
Data communicates between component through centralized data
repositories where each stream of data coming from external source
(user) is stored and utilized properly for various process
2. Is the flow of data continuous, or are data objects passed to
the system sporadically?
Data flow is continuous in nature.
3. What is the mode of data transfer (i.e., are data passed from
one component to another or are data available globally to be
shared among system components)?
Data is available globally so that any participating components can
use the shared data.
4. Do data components (e.g., a blackboard or repository) exist, and
if so, what is their role?
Yes, Data components exist. The role of data components is to
establish proper communication among data and control
components.
6. Are data components passive or active (i.e., does the data
component actively interact with other components in the
system)?
Data components are active in nature.
7. How do data and control interact within the system?
Data and control interact within the system through data
repository.
Get Answers For Free
Most questions answered within 1 hours.