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

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 dedicated ser

Advantages of E-Commerce

Electronic Commerce increases Profits : Electronic commerce increases sales and decrease costs. Advertising on the web reaches all the users of that website. A firm can use the web to reach communities which are scattered geographically. The web's natural advantage is that it is low cost medium for disseminating information and processing transaction. for e.g the cost of advertising on the web is much less as compared to advertising in a newspaper. Another benefit of web based commerce is that information based industries excel here. A virtual organisation increases efficiency through the automation of processes. The cost of handling sales inquiries and determining product availability can be reduced with the help of e-commerce in the marketing process of the business. E-commerce increases the speed and accuracy with which businesses can exchange information which reduces costs on both sides of transactions. Another Advantage of e-commerce is

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 system or business