Procedural cohesion
-Elements of procedural cohesion ensure the order of execution.
-Actions are still weakly connected and unlikely to be reusable
Temporal cohesion
The elements are related by their timing involved. In a module connected with temporal cohesion, all the tasks must be executed in the same time span
Logical cohesion:
The elements are logically related and not functionally
Types of high cohesion
-Functional cohesion
-Sequential cohesion
-Procedural cohesion
Types of low cohesion
-Temporal cohesion
-Logical cohesion
Coupling
Coupling is the measure of the degree of interdependence between the modules.
Types of loose coupling
-Data coupling
-Stamp coupling
-Control coupling
Types of tight coupling
-External coupling
-Common coupling
-Content coupling
Data coupling
If the dependency between the modules is based on the fact that they communicate by passing only data.
Stamp coupling
Control coupling
-The modules communicate by passing control information.
-It can be bad if parameters indicate completely different behaviour and good if parameters allow factoring and reuse of functionality
External coupling
The modules depend on other modules, external to the software being developed
Common coupling
The modules have shared data such as global data structures.
Content coupling
In a content coupling, one module can modify the data of another module
requirements for any piece of
Software to be regarded as good:
Refactoring
A systematic process of improving code without creating new functionality that
can transform a mess into clean code and simple design
The SDLC
-Requirements gathering
-System design
-Implementation
-Testing
-Deployment
-Maintenance
Requirements gathering
the capturing, analysis and documentation of the
requirements for the system
System design
The design such as the database entity relationship diagram, compiling of use cases with typical scenarios of usage
Implementation
The design is implemented into software.