Tuesday, June 4, 2019
Object Oriented Technology in Software Design
design Oriented Technology in Software DesignJose E. LaguardiaAbstractThis research paper explains the concepts of Object-oriented technologies. Explores the phylogenesis of Object-oriented curriculum languages, from their introduction in the mid- six-spotties to languages that are still relevant today. It compares Object-oriented computer programming languages with procedural programming languages and their structures. Explaining the advantages and disadvantages of use of goods and services an Object-oriented programming approach everywhere a Procedural programming approach. Supports why Object-oriented programming is more cost effective in comparison to Procedural programming. And finally, explains how developing in an Object-oriented programming language, increases reusability and productivity, which results in higher quality computer software. The results were taken from research conducted online (Internet) from six published articles and reports. The articles and repo rts explain, in depth, Object-oriented programming languages, its advantages and disadvantages, and how it differs from Procedural programming. This paper will help the reader understand why some developers prefer to develop their software using an Object-oriented programming language based on its benefits and reusability for future changes or projects.Object-oriented Technology in Software Design and ImplementationObject-oriented programming is a method of programming based on hierarchy of classes, and well-defined cooperating objects (Essays, UK, 2013). Object-oriented programming is a type of programming language where the developer has to first, plan out the functions and operations to be applied to data structures before writing any command. By doing this, the data structure converts to an object that includes both data and functions. Among some of the most popular Object-oriented programming languages are Java, C++, Python, Ruby, Visual Basic .NET and Smalltalk. The first step in developing Object-oriented style programs is to identify all the objects to be manipulated and how they identify each other. This dish up is often called, data modeling. Once the object is identified the developer has to label it as an objects class, define the data contained in it, and the lucid sequence of manipulation. A distinct logical sequence is cognize as a method. An instance of a class is called an object and the object runs in the machine where the instructions are provided by methods and the data is provided by the characteristics of the object.Object-oriented programing is a methodology or paradigm to design a program using classes and objects. It simplifies the software nurture process and maintenance by providing six concepts. Object, class, inheritance, polymorphism, abstraction, and encapsulation.Object any entity that has state and behavior is known as an object. For example, computer, desk, keyboard, pencil, etc. The object gutter be physical and lo gical. Class a collection of objects. It is a logical entity. Inheritance is when ace object acquires all the properties and behaviors of a parent object. It provides code reusability and it is apply to achieve runtime polymorphism. Polymorphism when one task is performed in different steerings. For example, the port everyone speaks. Abstraction hiding internal details and showing functionality. In Java, abstract class and interface are used to achieve abstraction. Lastly, encapsulation binding or peignoir code and data together into a single unit. In Java, class is an example of encapsulation. To be considered a totally Object-oriented language, the language must include inheritance, polymorphism, and encapsulation.The evolution of Object-oriented Technologies points back to the 1960s. Simula 67, a major revision of Simula 1, is considered the first Object-oriented language when it first introduced the concept of an object. Simula 67 was designed by Kristen Nygard and Ole-Joha n Dahl at the Norwegian ready reckoner sum of money in Oslo, Nor sort. The introduction of Simula 67 brought the first true programming object, classes, and a form of inheritance. That is why in discussing Object-oriented technologies, Simula its an important milestone. Simula had a different way of presenting the object, so that each object has its own behavior and data.Smalltalk language, considered by numerous the first truly Object-oriented language, was developed by Xerox at their Research Center in Palo Alto, California in the early 1970s. In Smalltalk everything is an object, it is virtually impossible to write a program that is not Object-oriented. Smalltalk is more than a programming language, is a programming synergetic environment that allows you to change parameters and code while the program is running. Smalltalk supported inheritance and the concept of sending messages between objects.C++ brought wider acceptance of Object-oriented phylogenesis in the marketplace. C++ may be considered the most important programming language. With the release of C++, Object-oriented programming became mainstream. C++ was introduced in 1982 under the name of C with classes. The class concept provided encapsulation, now a requisite of Object-oriented languages. In 1989, commercial C++ compilers began to appear and the ANSI C++ committee was formed. C++ is still widely used nowadays and a programmer can create very elegant Object-oriented programs with it.Javas origins are in consumer electronics. In 1991, a small group of Sun engineers called the atomic number 19 Team believed that the next wave in computing was to unite computers and digital consumer devices. The team lead by James Gosling, demonstrated their new language with an interactive remote controller that was master copyly targeted at the digital cable television industry. Unfortunately, it did not end up working for the television industry, as the concept was much too advanced at the time. But i t was just perfect for the internet, which was just starting to take off.In 1995, Java ran on SPARC Solaris, Windows NT, Windows 95, and Linux. The team also proclaimed that the Netscape Navigator Internet browser would incorporate Java technology. Today, Java is the invisible force behind many of the devices and applications we use in our day-to-day lives. Other languages worry C .NET and Visual Basic .NET by Microsoft where created to respond to the popularity of Java. C relied heavily on the success and failure of earlier programming languages. The C platform builds upon many powerful features from Visual Basic and C++ environments. The .NET environment provides the ability to develop code in many different languages that can be integrated in the same application. Any objects developed in the .NET environment can be used together.Comparing Object-oriented programming to Procedural programming. Procedural programming is simple and on-key forward. At times, it has been referred to as inline programming, it is more of a top down style of programming. Procedural programming takes on applications by solving problems from top to bottom. A program starts with a problem and then is broken down into smaller sub-procedures. These sub-procedures are continuously broken down in a process called functional decay until the problem is simple enough to be solved. The drawback about Procedural scheduling is that if an edit is needed to the program, the developer has to edit every line of code tinctd to the original change. It obviously becomes a very tedious task if many changes need to be made in the code. Procedural programming uses different methods all over the code than Object-oriented programming. Procedural programming uses procedures where Object-oriented programming uses methods. Procedural programming uses records where Object-oriented programming uses objects. Procedural programming uses modules where Object-oriented programming uses classes. Procedural prog ramming uses procedure class where Object-oriented programming uses messages.The design process for each method differs in many ways. Object-oriented programming is designed to be reused and recycled throughout the program where Procedural programming is not. Also, the development process is different for both programing languages. Developing in Object-oriented programming begins with mapping and planning out the program. Classes are created and data fields are associated to help the developer in planning out the program. Functions and methods can be introduced as well in the planning process. Once the classes and objects have been planned out by the developer, the program can begin to take shape in a development environment. Planning out the program in Object-oriented programming is essential for the development process. It gives a sanctioned blueprint of the program when building it.Developing in Procedural programming starts with the main functions or procedures, the main functi on is the main goal of the program. In Procedural programming the program is planned out in a storyboard pattern. The main function is decided and then broken down into individual and more accomplishable problems that can be solved. Procedural programming targets the main goal of a program first and then recognizes the smaller components to solve the main goal.Some of the benefits of using Object-oriented programming are its accuracy and sustainability across different platforms. A benefit of Object-oriented programming is the ease of debugging the code. Errors that could possibly exist during the development process can commonly be traced to their point of origin and then edited, eliminating errors all over the program. Also, with the help of inheritance, a developer can eliminate redundant code and extend the use of available code. Data hiding is another benefit, with data hiding programs are designed not to be affected by code in other separate of the program, this provides gr eater system security and avoids unintended corruption. Also, multiple instances of an object can exist side-by-side without interfering with each other. Another benefit of Object-oriented programming is the ability to relate code to real world examples, this logical structure makes the process easier to code. A main benefit for developers is the ability to find errors when compiling rather than at runtime. every of these benefits help developers choose an Object-oriented programming approach over other programming styles while developing programs and software.A disadvantage of Object-oriented programming is the complexity of understanding how, objects, methods, classes, and actions correspond to each other. For developers who are used to Procedural programming this approach may be difficult to comprehend. Another disadvantage of Object-oriented programming is the necessity to have packages and libraries installed for the code to function correctly. These libraries are intended to make the coding process easier for developers but for some who are used to Procedural programming these libraries can cause confusion.Object-oriented programming is modular, this means that it provides separation of duties in object-based program development. Object-oriented programming is also extensible, objects can be extended to include new attributes and behaviors. Objects can also be reused inside and across applications. Object-oriented programming provides improved software development productivity over traditional Procedural programming because of these three attributes modularity, extensibility, and reusability. These three attributes also make software using Object-oriented programming easier to maintain. Due to the modular design, part of the system can be updated in case of issues without a need to make large changes. apply of code enables faster development process. Object-oriented programming comes with rich libraries of objects and code that can be reused in future projects. This reusability of software also lowers the cost of development. Faster development process, increased productivity, and lower cost of development allows the developer to spend more time and resources on the quality of the program, which results in higher quality software.Object-oriented programming works the way real world works. It is easy to map a real-world problem to a solution in Object-oriented programming. Programs can be built from the working modules which interact with one another, rather than starting the code again from scratch (Essays, UK, 2013). Its easier to break the work in parts based on objects. Code can be reused. productiveness is increased and costs are reduced, which helps in developing better quality software. All of these, are some of the benefits of Object-oriented programming over other styles of programming care Procedural. Object-oriented programming in its purest sense is implemented by sending messages to objects. Popular Object-oriented languages are used to code and develop a majority of software and applications we use in our daily life today. Languages like Java and C++, are used from instructors in classrooms to engineers and developers in the private sector and the government. To new adapters, Object-oriented programming may appear confusing, however, advocates of Object-oriented programming claim it actually results in simpler, cleaner, and more reliable code.ReferencesEliason, K. (May 2016). Difference Between Object-oriented Programming and Procedural Programming Languages. Retrieved from https//neonbrand.com/website-design/procedural-programming-vs-object-oriented-programming-a-review/Essays, UK. (November 2013). Object Oriented Programming What Is Object Information Technology Essay. Retrieved from https//www.ukessays.com/essays/information-technology/object-oriented-programming-what-is-object-information-technology-essay.php?cref=1Jaiswal, S. (2011). Java OOPs Concepts. Retrieved from http//www.javatpoin t.com/java-oops-conceptsOracle Technology Network. The History of Java Technology. Retrieved from http//www.oracle.com/technetwork/java/javase/overview/javahistory-index-198355.htmlThe Saylor Foundation. (2013). Advantages and Disadvantages of Object-Oriented Programming (OOP). Retrieved from https//www.saylor.org/site/wp-content/uploads/2013/02/CS101-2.1.2-AdvantagesDisadvantagesOfOOP-FINAL.pdfWeisfeld, M. (March 2015). The Evolution of Object-Oriented Languages. Retrieved from http//www.developer.com/java/other/article.php/3493761/The-Evolution-of-Object-Oriented-Languages.htm
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment