Wednesday 26 June 2013

How are data and methods organized in an object oriented program?


When we talk about object oriented programming we say data and methods but why so?

  •  The answer is that an object has some properties and that properties represent the data.Like
  Example:- Student object has some properties like name,age,roll_no etc so that is data about the  object.
  Lets see with program ,at this time do not bother about the code(if you are beginner):-
   class Student
   {
         String name;
         int age;
         int roll_no;
    }
         So you can see that a student can have name,age,roll_no etc. So this is data about the student.


  • Now second come methods(functions),the methods are the operations which are performed on the data of the object.


Monday 24 June 2013

What is object oriented programming?


Object oriented programming is  a programming paradigm that represents the concepts as "objects" that has some fields(called attributes) and methods associated procedures called "methods".Objects that are running instances of class ,usually interact with each other ,throughout the application running ,to achieve the desired results. 
I am going to give a example:-
Let say you want to develop a software for the school Management .So how you will start the development?
The answer here will come is that you will look at the problem in real life.

The solution will start by looking at the real life objects and there interaction in the school system.Means you will look at that the objects in the school are:-

Teacher,Student,Accountant,Securityman,Principal,etc.

So you have seen these are the objects which will also remain active in our software.and the software will work as they will interact with each other as they do in real life.

Wednesday 19 June 2013

Briefly discuss the software evolution during the period from 1950 to 1990?


From the starting of computer invention, many programming approaches have been used by the programmers to write the solution code. These are as following:-

  • Modular Programming
  • Top-Down Programming
  • Bottom-Up Programming
  • Structure Programming

Modular Programming:-In this programming approach the complete code is written in small individual parts or say in this programming approach the complete program is divided in small parts(modules) according to there functionality.This approach helps in maintainability by enforcing the boundaries between the modules.Languages supporting modular Programming are:-AdaAlgolBlitzMaxCOBOLComponent PascalDErlangFFortranHaskell,IBM/360 Assembler etc.You can read about these on Wikipedia links provided on the keywords.



Top-Down Programming:-It is also called step wise design or deductive reasoning.In this approach program development starts by defining the complex pieces and  then these pieces are rewritten to generalize the complex code.So we can say in other word that in top-down programming approach high level of work is defined first and then the low-level inner work)is defined after that.



Bottom-Up Programming:-It is reverse of top-down approach.In this first of all the lowlevel parts of the program are developed and then the complex part are developed from these simple parts.

Tuesday 18 June 2013

What do you think the major issues facing the software industry today?


Today the software industry is facing the following issues:-
  •          Re usability
  •          Portability
  •          Security
  •          Integrity
  •          Friendliness
  • Re-usability :-In software development it is not a easy task to write a complex software code .It is not enough to put the chain of code together for software development. We need sound structure techniques of code writing, so that code written can be used in other software development also.For re-usability the written code  should be properly documented(documentation techniques) so that when changes are required to reuse the code documentation can help .So re-usability  issue is there. There a a number of programming languages in the market so the new application code that is written should be reusable in the other applications as a add-on feature, we called it plugin, most of the programmers have to create the APIs and web-services so that their application could be integrated with other applications
  • Portability:-Now a days there are variety of devices are available for the communication like smart phone, tablets, smart TV, laptops. So the portability is required in the software,the industry is going to develop .For portability of software industry should take care that weather developers will  write software code differently for different Operating System platforms or developers will write software code once which can run on all Operating System platforms, like using Java that provide platform independent execution. 
  • Security:-We in daily life deal with internet so frequently in this deal we transact with our private information, our bank account information etc. So if we are going to develop a software now a day industry have to keep in mind the security should not lack in any case.When developers develop complex software the software may communicate over the internet with database servers etc ,the internet  is not a secure channel, the  security become a issue for the software development.For this data inscription is one solution but more work is to be done in security issues.
  • Integrity:-When we talk about integrity it mean compact,implies everything should be at one place.The software which you are going to develop it should be integrated with the technology so far we are using, and should fit in the future environment also.Like if the industry is developing a desktop application(software) then it should be keep in mind that application should run on the desktop OS(like on windows OS,Linux OS,Mac OS etc)without any problem.That is challenging issue .
  • Friendliness:-We know that no one want to wast the time in busy life, so when it come to save the time then the first thing that comes in the mind is easy to do the tasks in quick manner.So the software developed should be easy to use and friendliness so that user can interact with it without any essential training.This issue create problems when the software industry's target customers are world wide ,in this type of case the language ,culture differences to interpret the software components etc  are faced by software industry.So The friendliness issue is there that is faced be the software industry.