An object is a discrete bundle of functions and procedures, all relating to a particular real-world concept such as a bank account holder or hockey player. Other pieces of software can access the object only by calling its functions and procedures that have been allowed to be called by outsiders. A large number of software engineers agree that isolating objects in this way makes their software easier to manage and keep track of. However, a not-insignificant number of engineers feel the reverse may be true: that software becomes more complex to maintain and document, or even to engineer from the start. The conditions under which OOP prevails over alternative techniques (and vice-versa) often remain unstated by either party, however, making rational discussion of the topic difficult, and often leading to "religious wars" over the matter. Object-oriented programming has roots that can be traced to the 1960s. As hardware and software became increasingly complex, manageability often became a concern. Researchers studied ways to maintain software quality and developed object-oriented programming in part to address common problems by strongly emphasizing discrete, reusable units of programming logic[citation needed]. The technology focuses on data rather than processes, with programs composed of self-sufficient modules ("classes"), each instance of which ("objects") contains all the information needed to manipulate its own data structure ("members"). This is in contrast to the existing modular programming which had been dominant for many years that focused on the function of a module, rather than specifically the data, but equally provided for code reuse, and self-sufficient reusable units of programming logic, enabling collaboration through the use of linked modules (subroutines). This more conventional approach, which still persists, tends to consider data and behavior separately. An object-oriented program may thus be viewed as a collection of interacting objects, as opposed to the conventional model, in which a program is seen as a list of tasks (subroutines) to perform. In OOP, each object is capable of receiving messages, processing data, and sending messages to other objects and can be viewed as an independent 'machine' with a distinct role or responsibility. The actions (or "methods") on these objects are closely associated with the object. For example, the data structures tend to 'carry their own operators around with them' (or at least "inherit" them from a similar object or class). The Simula programming language was the first to introduce the concepts underlying object-oriented programming (objects, classes, subclasses, virtual methods, coroutines, and discrete event simulation) as a superset of Algol. Simula also used automatic garbage collection which had been invented earlier for the functional programming language Lisp. Simula was used for physical modeling, such as models to study and improve the movement of ships and their content through cargo ports. Smalltalk was the first programming language to be called "object-oriented".[1]

History

The concept of objects and instances in computing had its first major breakthrough with the PDP-1 system at MIT which was probably the earliest example of 'capability based' architecture. Another early example was Sketchpad created by Ivan Sutherland in 1963; however, this was an application and not a programming paradigm. Objects as programming entities were introduced in the 1960s in Simula 67, a programming language designed for performing simulations, created by Ole-Johan Dahl and Kristen Nygaard of the Norwegian Computing Center in Oslo. (They were working on ship simulations, and were confounded by the combinatorial explosion of how the different attributes from different ships could affect one another. The idea occurred to them of grouping the different types of ships into different classes of objects; each class of objects being...

YOU MAY ALSO FIND THESE DOCUMENTS HELPFUL

...The UnifiedModelinglanguage (UML) was released by the Object Management Group (OMG) in the effort to provide a standardized design language to build and develop computer applications. The purpose of the design language is to allow IT professionals to distribute system structure and design plans in a comprehensible graphical manner, similar to blueprints of a building. Modeling is an important part of software projects, large and small. With modeling, the software development team are better able to work with the end-user in providing a visual program design. Surveys reveal that the development of large software applications have many impediments and have a large probability of failure. Modeling provides a greater opportunity for success in the development of software applications. (Introduction to OMG's UnifiedModelingLanguage)
UML is the combined work of James Rumbaugh, Ivar Jacobson and Grady Booch.Dr. James Rumbaugh is one of the leading software development methodologists in the world. Dr. Rumbaugh previous to the development of UML, worked on software methodology, tools, and concepts for more than 35 years. He was the chief developer of the Object Modeling Technique (OMT), a leading object-oriented analysis and design method that was a predecessor of UML. Grady Booch is recognized...

...UnifiedModelingLanguageUnifiedModelingLanguage (UML) is an "object modeling and specification language used in software engineering ("UnifiedModelingLanguage", 2005)." It was created to consolidate and standardize 50 different modelinglanguages that were used by many businesses. The project request to normalize the modelinglanguages was made by Object Management Group (OMG) and answered by James Rambaugh, Grady Booch, and Ivar Jacobson. In addition to Rambaugh, Booch, and Jacobson, a team called the UML Partners, which included Hewlett-Packard, IBM, Microsoft, Oracle Corporation, and other businesses submitted proposals that were either declined or integrated with the UML proposal. The UnifiedModelingLanguage "is tailored specifically for object oriented systems development" (Siau & Cao, 2001). The new modelinglanguage was successful and was adopted by OMG as their modelinglanguage standard.
The main purpose of Object Management Group's request to standardize modelinglanguages is to create a common architecture that provide a platform where stakeholders and programmers are able to understand each other and be able to build...

...ProgrammingLanguages Development
Programminglanguages are vocabulary and set of grammatical rules for instructing a computer to perform specific tasks (Online). These languages have developed over a period of time and they were developed for specific purposes which other languages could not full fill.
ADA
Gasperani (2012:2) postulates that the US Department of Defense was the sponsor of Ada’s design in the 70s and was behind its adoption in the 80s. He further explains that this was developed by a scientist of French origin who studied at MIT. Ada was developed as a modern high-order programminglanguage for the DoD’s complex systems that were at the time much more advanced as they could look ten to fifteen years ahead (Gordon:unkown). It would seem there fore the development of other programminglanguages was an evolution to surpass Ada that is still the backbone of the Defence department.
VB. NET
The development of VB.NET on the .net framework proved to be a turning point in Microsoft’s fortunes in terms of developing a programminglanguage that is purely based on Object Oriented programme. The heart of VB is the form, or blank window on which you drag and drop components such as menus, pictures, and slider bars. These items are known as “widgets.” (Online)
C++
C++ was designed to organize the raw...

...Interface) ProgrammingLanguage and their Graphics Functions
Title: Contrast of the Graphic Functions: GUI’s ProgrammingLanguages C++ and C
Apuyan, Herchel Mae
Fernandez, Neil Gabriel
Gimoto, Christine Ann
Santos, Allen Royce
Mrs. Imelda Galo
Professor Technical English
Introduction
The computer is most likely one of the great technological advancement of our time. The computers are really very dumb machines indeed, since they do only what they are told to do. Computer systems perform their operations on a very primitive level. The computer has infiltrated every aspect of our society, and now they do much more than simply compute. Computer were first developed, the only way they could be programmed was in terms of binary numbers which corresponded directly to specific machine instructions and locations in computer’s memory. They can now be an office tool and is now used in businesses and very much everywhere to do the work for us. With the ever-increasing processing and graphical capabilities of computers and console products, the demand for the manipulators of computer are increasing, which is the programmers.
The Programmers are the source of updates and development of the computer. Programmers can be used to refer to a software developer, Web Developer, Mobile Applications Developer, Embedded Firmware Developer, software engineer, computer scientist, or software analyst. Programmers create...

...ﬁrst examples of UML. UML stands for UniﬁedModelingLanguage, and it’s the most common notation used for creating diagrams that describe object-oriented systems. It’s beyond the scope of this book to teach you everything there is to know about UML. However, we’ll be sprinkling in a lot of the really critical stuff throughout the course of the book. If you’re going to be moving to Objectopia, you should deﬁnitely have a reasonable understanding of UML. In this, our ﬁrst look at UML, we’ll look at the notation used to represent classes (probably the single most commonly used aspect of UML) as well as the notation used to represent individual objects.
UML
101
Objects
Classes
A class is drawn as a rectangle with three sections. The name of the class (in bold) goes in the first section. attribute types
Book
title : String
It’s less common to draw object diagrams than it is to draw class diagrams. But they can be useful for describing specific examples or complex relationships between objects. class name object name
hfJava : Book title = “HF Java” author = “K & B” pages = 619
The 2nd section contains the attributes and the last contains the operations.
author : String pages : int showPage(int) search(String)
attributes operations attribute names
underline
current attribute VALUES
arguments Notice that we don’t bother listing the operations when...

...Scenario:
“Dr Burns has to write a review of her unit “Introduction to Programming” at the end of semester. As a part of this review, she has to discuss which parts of the unit need to be improved for next semester. To do this she wants a report by assignment with a breakdown of the average mark per section so she can see which areas were badly done by the students. She also needs to know whether this is dependent on the course in which the student is enrolled.”
She has always had to collate the statistics herself using a spreadsheet but she wants the Assignment Submission System to do it for her.
Task 1
Develop a Use Case capturing this scenario.
Name: Report by assignment with a breakdown of the average mark per section.
Actor: Dr Burns
Precondition: Dr Burns has already known log in detail.
Goal: calculate the average mark per section of assignment
Success guarantee: make a report which have average mark per section
Main Success Scenario:
1. Dr Burns types in the URL for the Assignment Submission System
2. The system requests the username and password for the Assignment Submission System
3. Dr Burns enters both
4. The system responds with a list of unit enrolled in
5. Dr Burns selects the unit
6. The system responds with a report of assignment’s average marks and detail enroll
7. Dr Burns logs out of the Automatic Submission System
Extensions:
2a. Dr Burns gets the URL wrong
1. Dr Burns checks and re-enter the URL
2....