Skip to main content

A Note on Object Oriented System Development

Object oriented system development consists of

  • Object Oriented Analysis
  • Object Oriented Information Modeling
  • Object Oriented Design
  • Prototyping and Implementation
  • Testing, Iteration and Documentation 
Five major elements of Object Model:
  1. Abstraction
  2. Encapsulation
  3. Modularity
  4. Hierarchy
  5. Inheritance
Image Courtesy Codeproject

Abstraction
Abstraction is one of the fundamental elements of object model.
Three types of abstraction are- Entity Abstraction, Virtual machine abstraction, Coincidental abstraction.

Encapsulation
Encapsulation is the process of compartmentalization the elements of an abstraction that constitutes its structure and behavior and serves to separate the contractual interface of abstraction and its implementation.

Modularity
Modularization consists of dividing a program into modules which can be compiled separately , but which have connection with other modules.
The connections between modules are the assumption which the modules make about each other.
Cohesion is the interdependency within a module and coupling is the dependency between modules.
Good design stipulates 'high cohesion and low coupling'.
Languages and modules:
-C++ has separately  compiled files like .h,.cpp with dependencies through #include 
-Java supports packages
-.NET has namespaces

Hierarchy 
Set of abstractions forms a hierarchy and by identifying hierarchies  , we simplify the understanding of our problem.
Hierarchy is the ordering of abstractions.

Inheritance
Inheritance is an important "is-a" hierarchy and defines relationships among classes, wherein  one class shares the structure and behavior defined in another class.
Subclasses inherit from one or more superclasses .
A subclass typically redefines or augments the existing structure and behavior of its superclasses.  



Comments

Popular posts from this blog

Unified Modeling Language- (UML)

Brief Background UML is a language for specifying,visualizing ,documenting and constructing the artifacts of software systems,as well as for business modeling and other non-software systems. UML has been developed by Grady  Booch, James Rumbaugh and Ivar Jacobson. Goals of UML are : To model systems using Object oriented concepts. To establish an explicit coupling to conceptual as well as executable artifacts To address the issues of scale inherent in complex , mission critical systems. To create a modeling language that can be used by humans as well as machines.  Understanding the thirteen diagrams of UML 2.x is an important part of understanding OO development. Although there is  far more to modeling than just the UML  the reality is the UML defines the standard modeling artifacts when it comes to object technology. There are three classifications of UML diagrams: Behavior diagrams . A type of diagram that depicts behavioral features of a ...

Javascript to validate Email Expression

Using  regular expressions  is probably the best way. Here's an example ( live demo ): function validateEmail ( email ) { var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/ i ; return re . test ( email ); } But keep in mind that one should not rely only upon JavaScript validation. JavaScript can easily be disabled. This should be validated on the server side as well.

Local Area Networks LAN

Why use a LAN? The two basic reasons for developing a LAN are information sharing and resource sharing. Information sharing refers to business needs that require users to access the same data files ,exchange emails or search the internet for information. Resource sharing refers to one computer sharing a hardware device (for e.g a printer) or software package with other computers on the network. The main benefit of resource sharing is cost savings, while the main benefit  of information sharing is improved decision making. image courtesy Cray Networks Dedicated Server versus Peer-to-Peer Networks A dedicated server LAN has one computer that acts as the network server. It can connect with almost any other network,handle very large databases and use sophisticated LAN software. Moreover,high -end dedicated server LANs can be interconnected easily to form enterprise wide networks or in some cases replace the host mainframe central computer. Four common types of dedi...