Professional Documents
Culture Documents
Like a plan that’s needed to solve a problem, and a plan needs to be perfect and fail proof.
1) Algorithm
2) Flowchart
3) Pseudo code.
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.
1) Comments.
2) Modularity.
3) Indentation.
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,
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)
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
Use case – actors and system separated by boundaries, conditions and actions that take place between
them.