Snapshots on OOP

Snapshots on OOP




All
OOP languages have three traits in common: encapsulation,
polymorphism, and inheritance.

This
holds true for C++, Java and C#.




Encapsulation
binds together code and the data it manipulates. Encapsulation
creates a black box that has well-defined interfaces. The internal
details are unknown and can be changed. Implementation of the
contracts defined by the interfaces or methods or functions or
subroutines (I use all 4 terms; you may be familiar with one or two
or all four) is left to the creator. The black box is an object that
is defined by a class. The function or method definition is the
lowest level of programming/design by contract; the behavior of the
implementations is expected to be consistent across different
implementations.




Polymorphism
comes from the Greek meaning having multiple forms. With
polymorphism, a single set of interfaces is provided to the user of
the object/class. Thus a generic interface is presented for a class
of objects. The data and implementation may differ but the interface
invoked is the same for all objects of that type or class. The
programmer i.e. the user only remembers the interface. These
interfaces could be Java or C# interface methods , Java, C# or C++
functions or methods which can be overridden in derived classes.
Polymorphism is implemented by the 3
rd

property of OOP languages, inheritance.




Through
inheritance, objects can acquire the properties of other objects.
Inheritance is usually used for hierarchical classification i.e. type
of classifications. General attributes or behavior is abstracted out
to the parent class; object-specific behavior and data is localized
to the specific class.



Links:


http://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci212803,00.html











Blogged with the Flock Browser

IT Project Management Quotes – These are not original!

It is important to spend money up-front on IT projects to avoid spending a lot more later.

A large percentage of the costs of many IT projects are human resource costs.

Organizational issues had a much greater influence on programmer productivity than the technical environment or programming languages.

A dedicated workspace and a quiet work environment were key factors to improving programmer productivity.

Continuity is only part of the reason for documenting events and decisions.

It is easier and more accurate to plan short stages than long ones.

A lot of time can be wasted in producing a very good plan to achieve the wrong objective.

Estimation is best performed by a group of two or three people experienced in both the subject matter and estimating. This number tends to balance out any individual over-optimism or pessimism in calculation.

In large projects or difficult areas of work, it is prudent to estimate at least twice ,either by using two distinct approaches or by allowing two different sets of people to estimate independently.

More uncertainty should be expected in a Project Plan than in a Stage Plan. A Stage Plan is for a shorter time frame, in the near future and planned in much greater detail.

Be realistic about the availability of resources. Allowance should be made for holidays and time that people will spend on non-project activities. The average working week is only four days after allowing for holidays, training, sickness etc. Of these four days, another half-day will be spent on other duties , even by dedicated staff – for example quality reviewing for other projects, line management and meetings.

Allocate to each high risk or critical activity a resource in which management has confidence.

In case of illness, consider the actions needed for any resource that cannot be replaced. Train other resources as back-up for any critical and scarce skills.

It may be beneficial to employ a high-quality Project Manager part-time than a lesser quality Project Manager full-time.

Remember the Project Manager’s job is to manage the work, not to do it.

The Project Manager must avoid becoming involved in low-level detail to the extent that sight is lost of the ‘big picture’, that is, what is going on in every part of the project. The Project Manager should not mistake the trees for the forest.

If at all possible, choose people at a common location. Alternatively, ensure that suitable communications technology and training in its use is available.

PS: Just wondering if a TT session using these quotes would be an innovative way of having an Project Management training session! Just a thought!