A uses graph can also help us to identify areas of the design that could be impr
ID: 673123 • Letter: A
Question
A uses graph can also help us to identify areas of the design that could be improved, with respect to enabling incremental development. For example, consider Designs 1 and 2 in Figure 6.8 as two possible designs of the same system. We use the term fan-in to refer to the number of units that use a particular software unit, and the term fan-out to refer to the number of units used by a software unit. Thus, unit A has a fan-out of three in Design 1 but a fan-out of five in Design 2. In general, we want to minimize the number of units with high fan-out. High fan-out usually indicates that the software unit is doing too much and probably ought to be decomposed into smaller, simpler units. Thus, Design 1 may be better than Design 2, because its components have lower fan-out. On the other hand, if several units perform similar functions, such as
string searching, then we may prefer to combine these units into a single, more generalpurpose unit that can be used in place of any of the original units. Such a utility unit is likely to have high fan-in. One of our goals in designing a system is to create software units with high fan-in and low fan-out.
Explanation / Answer
Given a design consisting of software units and their interfaces, we can use the information
about the units dependencies to devise an incremental schedule of development.
Uses relation which relates each software unit to the other software units
on which it depends. It depicts the user relation of a system as a uses graph, in which
nodes represent software untis, and directed edges run from the using units.such as A,
to the used units,Such as B.Such a uses graph can help us to identify progressively larger
sub-sets of our system that we can implement and test incrementally.A subset of our system
is some useful subprogram together with all of the sostware units that it uses,
and all of the software units that those units use, and so on."Conceptually , we pluck
a program p1 out from the uses graph, and then see what programs come dangling beneath it
This is our subset Thus, the degree to which our system can be constructed incrementally depends
on the degree to which we can find useful small subsets that we can implement.
The best uses graph has a tree structure or is a forest of tree structures.
In such a structure every subtree is a subset of our system.so we can incrementally develop
out system one software unit at a time. Each completed unit that have already been tested
and deemed correct.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.