You are on page 1of 2

Logic

Like a plan that’s needed to solve a problem, and a plan needs to be perfect and fail proof.

A good Logic to solve a Computer Task, needs three things planned,

1) Algorithm
2) Flowchart
3) Pseudo code.

With these things planned, implementing the software becomes easy.

All in an attempt to produce the best code, i.e. software that posses these qualities listed

1) Efficient.
2) Robust.
3) Maintainable.
4) Flexible.

How good code is written, they

1) Comments.
2) Modularity.
3) Indentation.

Coupling and Cohesion

When program is split into modules, how good the modularization ( how You’ve split them) depends on
how they communicate with each other. Optimally they should have,

1) maximum intercommunication within module. (Cohesion)

2) minimal interaction with other modules. (Coupling)

Coupling ( keep it to a minimum)

1) Content Coupling ( Strong Coupling).


2) Data, Stamp Coupling ( weak Coupling).

Passing Data and other is a sign of weak coupling, if modules have to access data in another it is
a sign of Strong Coupling.
Cohesion (keep it to a max)

1) Functional, sequential cohesion ( Strong cohesion).


2) Coincidental, logical, temporal (Weak cohesion).

If other functions of a module are accidentally similar or have similar logic, it’s a sign of weak cohesion.
Whereas all related functions(one after another) or module that completely does only one task, is an
example of a strong cohesion.

OOP
1) Structured programming is quite difficult to maintain and not robust. What is it good for?
2) OOPs, has its benefit easier to visualize and maintain. Objects, classes and data between them
are fundamentals.
3) Objects have behavior, state and identity.
4) Fundamentals of OOPs are, abstraction, encapsulation, typing, modularity, polymorphism ,
hierarchy and persistence.
5) Aggregation is the relation between objects.
6) Typing refers to the rules which govern how data is stored, converted and expressed.
7) Persistence is the object and data which remains even after it is destroyed.

UML

1) Model that describes how the system works.


2) Model for each situation to understand 1) use case for user, 2) class diagram to view structure
3) Interaction diagram to view functions and sequence and how data flows.
4) Implementation models and production models( environment in which it works).

Use case – actors and system separated by boundaries, conditions and actions that take place between
them.

Use case, class diagram, sequence, activity, state chart.

You might also like