Logic development
16 December 2022 13:44
Syllabus - 2 days
Flowcharts
Pseudo codes
Array 2d arrays
Insert delete op
Searching
Sorting
Cohesion and coupling
Flow chart : graphical representation of code.
Start/end
read i/p o/p
Arrow
process
Decision
Connector
Modularity :
Design software by dividing into parts (sub problems / modules)
These arrangements are coupling and cohesion
~Low coupling
~High cohesion
**coupling is measure of dependencies between two modules.
**Dependencies should be low.
Types of coupling :
logicDevlopment Page 1
Data coupling :
If modules are communicated by passing only data is called data coupled
Stamp coupling :
If ds(structure, objects) is passed to one module to another module then its stamp coupling
Control coupling :
Passing the control of module to another module then its control coupling
Examples:
Sort comparison
Control of sort();
External coupling :
Modules depend on another modules , and externally depend on
Any other software or hardware to run.
Example :
This is related to communication to external tools and devices.
Common coupling :
If modules are sharing global data then its common coupling.
logicDevlopment Page 2
So if we change in global the effect will be seen modules.. (this can be its disadvantages)
Content coupling :
When a module try to change the data or flow of control of another module.
Cohesion :
Cohesion is measure of elements are function related.
Its determines the how elements are performing a single task as team .
Cohesion should be high.
Types of cohesion
Functional cohesion :
To execute any function in module if all necessary elements are present then its
Functional cohesion.
Sequential Cohesion:
If element's output in module becomes the input to the other elements within modules
Is called sequential cohesion
It can be seen in most of functional programming lang.
Communicational cohesion :
logicDevlopment Page 3
Communicational cohesion :
If two elements operate on single i/p or o/p.
Procedural cohesion :
Temporal cohesion :
If the elements of modules are taking same time for executing is called
Temporal cohesion
Logical cohesion :
If elements are logically related and not functionally
Example : reading data from keyboard , scanner ,
Coincidental cohesion :
If elements are not related
** worst form of cohesion
logicDevlopment Page 4