Nesneye Yönelik Programlama Ve Delphi İle Bir Kuyumculuk Programı

Avitoğlu, Antranik
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Fen Bilimleri Enstitüsü
Institute of Science and Technology
Bu tez çalışmasında, 80 'li yıllarda geliştirilen ve günümüzde çok yaygın olarak kullanılan bir programlama tekniği olan "Nesneye Yönelik Programlama" (Object Oriented Programming - OOP) tekniği hakkında bilgi vermek, bu teknikle uygulama geliştirme araçlarının en güçlülerinden biri olan Delphi hakkında teorik bilgiler sunmak amaçlanmıştır. Çalışmanın son bölümünde Delphi ile nesneye yönelik programlama (NYP) konusuna bir örnek teşkil etmesi amacıyla Kuyumculuk Otomasyon Programı geliştirilmiş ve Delphi 'nin uygulama yönü ortaya koyulmuştur. Bu çerçevede, çalışmanın üç ana bölümden ibaret olduğu söylenebilir: İlk olarak, nesneye yönelik programlama (NYP) kavramı ele alınmış, NYP parçaları ve NYP ile eski programlama teknikleri arasındaki farklar üzerinde durulmuştur. İkinci olarak, bu tezdeki uygulamayı geliştirmede yararlanılan ve günümüzde nesneye yönelik görsel programlama araçlarının en popüler olanlarının başında gelen Delphi, ayrıntılı bir şekilde örneklerle ele alınmış, Delphi ile NYP tekniği daha da pekiştirilerek anlatılmıştır. Son bölümde de, Delphi ile geliştirilen Kuyumculuk Otomasyon Programı yer almaktadır. İkinci bölümde daha çok teorik bazda kalan Delphi ile uygulama geliştirme konusu, bu uygulama ile somutlaştırılmıştır. Ayrıca bu proje ile veritabanı oluşturma ve veritabanı yönetimi konusunda da bazı teorik ve pratik bilgiler aktarılmıştır. Delphi ile rapor alma teknikleri örneklerle açıklanmıştır
Object Oriented Programming (OOP) is a new way of thinking about problems using models organized around real-world concepts. This programming technique is a natural extension of structural programming. It is more structured than previous techniques and more modular at data abstraction and detail hiding. In OOP, the fundamental construct is the object, which combines both data structure and behavior in a single entity. Object Oriented, is an organization of software such that discrete objects are collected, which incorporate both data structure and behavior. In the conventional programming, these (data structure and behavior) are loosely connected. Approaches to programming have changed dramatically since the invention of the computer. Widespread of the computer using has been the reason for this. The first programs were not too long and complex as they are today. A few hundred program codes were enough to solve the problems. As the problem types to be solved have changed, programs have needed to process more and more datas. So the programs grew and became complex. It is needed to have new approaches in the computer programming. First, Assambly language were invented, then high- level languages. With the development of these languages, a new concept in the programming was born: structural programming. This type of programming technique gave to the programmers the opportunity writing large, complex programs fairly easily. Two well-known programming languages, which use structural programming technique, are C and Pascal. But the development has not stopped. The programs, written in C or Pascal, have also grown, and a programmer alone could not dominate. The maintenance of a program becomes almost impossible. In a new project, some modules of a program can be imported from an existing application that is written and tested formerly. This is called reusing a program. To get hold of a program containing large size of code is very difficult and open to make mistakes. This means loss of time and money. OOP is the new step of the programming techniques to remove the problems of the old methods. It is based on the problem solving type of human beings. OOP provides the project to decompose into subgroups and compose them after solving each. People do the same. Each part of the problem is actually an object found around a person. The main concept of OOP is also objects. An object is something that can be acted upon. Since every object has different properties in the real world, also in OOP, objects differ with their distinguished properties that are identitiy, classification, polimorphism and inheritance. Objects serve two purposes: They promote understanding of the real world and provide a practical basis for computer implementation. Each object has an identity that is distinguishable. An object contains private data and procedures to be processed on it. Objects with the similar properties (attributes), common behavior (operation), common relationships to other objects and common semantics constitute "an object class". An object class or shortly class is like a set of objects, i.e. car, vegetable, country. " Each object in the set is called an instance of the class. Each object is an instance of its class and has its own value for each attribute but shares the attribute names and operations with other instances of the class. By groupping objects into classes, we abstract the problem. The notion of abstraction is the heart of the matter. Abstraction gives the problem its power and ability to generalize from a few specific cases to a host of similar cases. Common definitions are stored once per class rather than once per instance. Operations can be written once for each class, so that all the objects in the class benefit from code reuse. In conventional techniques of prograrnming, data and codes are separate parts of a program. The programmer is responsible for applying active procedures to passive data structures and for ensuring that procedures works correctly on that data structure. In OOP however, this problem is solved in advance via creating objects. Since objects have data (attributes) and procedures into itself, it is provided a protection against some unrelated parts of the program modifying the object. This is very important. It is a hiding of data and procedures. To access an object, a message should be sent onto it. The bundling of an object is called encapsulation. Another concept in OOP is polimorphism. It is quite common in OOP to code multiple classes of objects that respond to the same messages. The ability of different objects to respond differently to the same message is named as polimorphism. An operation is an action that an object performs or is subject to. A specific implementation of an operation by a certain class is called a method. In the real world an object "knows how" to perform its own operations. In an OOP language however, the language automatically selects the correct method to implement an operation based on the name of the operation and class of the object being operated on. Another principle of object-oriented programming is inhertance. Inheritance is the sharing of attributes and operations among classes based on the hierarchical relationship. A class can be divided into subclasses. Each class inherits all the properties of its superclass and adds its own unique properties. The properties of the superclass need not be repeated in each subclass. For ex., "moving window" is a subclass of '"window". "Moving window" adds a move. This property greatly reduces repetition within designs and programs and one of the main advantages of an object-oriented system. IX The most underlying advantage of object-oriented programming is to allow the programmer to create and understand large and complex applications very easily. An object-oriented application is designed and thought of as a class of objects and procedures (methods) that operate on those objects. Object-oriented models are useful for understanding problems, communicating with application experts, modeling enterprises, preparing documantation and designing programs and databases. One of the most powerful object-oriented language is Delphi, which provides also a visual aspect. Visual programming languages are used commonly today. Delphi is a version of Visual Pascal. It is based on the Pascal. This means, program codes are written as Pascal codes. Delphi is an event driven programming language. There are many ready objects in Delphi that a programmer can need in an application. It is also possible to create new type of objects manually. Objects have some properties that can be organized at design-time of an application and also some properties that can be set programmatically at run-time. For each object there is a few events. A Delphi program is formed adding objects to the program and writing convenient program codes to their events. Every visual programs come to the screen on a page called window and works on the pages. This is the main concept of the visual programs. The situation in Delphi is also the same. Windows are called forms in Delphi. The first thing a Delphi programmer should do is to design the forms on which the program components will appear. Delphi has its own variables, functions and methods. A program or an application in Delphi is called a project. A project must contain at least one form. A useful program has normally more than one form. Delphi adds a page named unit to the project for every form. The essential parts of building a Delphi application are:. Creating and managing projects,. Creating forms and managing units,. Working with components (objects that are present), properties and events,. Writing simple Object Pascal source code. Delphi enables a programmer to create also robust database applications quickly and easily. Delphi database applications can work directly with desktop databases like Paradox, dBase and the Local InterBase Server data sources. A Delphi database application is built using Delphi database development tools, Delphi data-access components, and data-aware Graphic User Interface components. Delphi delivers on three key solution areas. The three major technology areas for Delphi are:. Making Multi-Tier Easier for Scalability and Reliability. Internet Enabling your Client/Server Applications using existing Delphi skills. Ease of Use and Highest Productivity for the Business, Enterprise, and Developer. The major features included in Delphi include:. Code Templates Expert for simplified code creation. Code Completion Expert to help ensure proper syntax. Code Parameter Expert for displaying procedures, functions, methods, and events parameter lists.. ToolTip Expression Evaluation for easier debugging. DLL Debugging saves time in creating and debugging DLLs for use in WebServers and other tools.. QuickReports 2.0 to easily create, preview and print embedded reports. Active Document Support. COM / Interfaces for language interoperability. Packages for efficient application executables. Visual Component Creation for instantly creating component templates. Multiple Database Engine Support for easy access to any database system. MS Access driver for scalability from the Access desktop to the Enterprise.. FoxPro Database Driver for create high-speed Delphi applications using FoxPro data. Paradox and dBase native drivers for high speed access to LAN database systems. Package Collection Editor for easier distribution and installation of Packaged components. Web Enabled Client/Server technologies allow one to deliver information over the web using your existing Delphi client/server skills. Delphi helps developers build client side Internet aware applications as well as Internet Server applications. Delphi 3 adds the WEB Broker for high speed dissemination of database information over the Web. The WEB Broker consists of the Web Module, Web Dispatcher, Web Session and Web Bridge along with a set of HTML producing components. The WEB Broker technologies are server independent and provide the flexibility to protect your code base as the competing Internet standards evolve. Delphi includes the Borland Internet Solutions pack, a library of eight ActiveX components that add to the Visual Component Library. This enables Delphi customers to easily add Internet client support to their applications while using the same high productivity drag-and-drop component programming techniques they are used to. Developers do not need to learn a new tool or a new language in order to add such capabilities as Web browsing, Internet mail, FTP file transfer, network news support to their client/server applications. How does Delphi compare to Visual Basic 5.0? Exclusive to Delphi 3, and this is by no means an exhaustive list:. Enterprise- Wide scalability with Multi-Tier Brokers to make Multi-Tier easy. Native code compiled One-Step ActiveX controls so that you have an Enterprise Component Foundry. Integrated Decision Support that turns data into actionable information . The most comprehensive set of coding wizards for developer productivity and ease of use. The Worlds Fastest Native Code Compiler that requires no RunTime Interpreter DLL's. Creates executables that run 5-10 times faster than Visual Basic. A complete suite of Client and Server tools. Scalable and Open Database architecture with native access to the database of your choosing: Oracle, Informix, Sybase, DB2, MS SQL Server, AS400, Access, FoxPro, Paradox, and dBASE Why developers prefer Delphi over Visual Basic and PowerBuilder?. 15 to 50 times performance gains from the world's fastest 32-bit native- code compiler Visual Basic and PowerBuilder are p-code interpreters.. Increase productivity and save time and money with more than 90 reusable components Visual Basic and PowerBuilder users have to buy additional components.. Shorten the application development cycle by reusing code and components with a robust object-oriented architecture Visual Basic and PowerBuilder are not object-oriented.. Easily build logo-compliant Windows 95 applications with the suite of Windows 95 common controls PowerBuilder does not have a Windows 95 product yet. In addition, because Delphi Client/Server uses a native code compiler, and not a p-code interpreter or partial compiler, so it can interface directly to Microsoft's Internet Information Server through the ISAPI interface or Netscape's server using NSAPI. This enables Delphi developers to support both Internet client and server development in their applications. This is not possible using tools such as Visual Basic 4.0 or PowerBuilder 5.0 which lack the ability to compile native code into Dynamic Link Libraries (DLLs) necessary to interface to the Internet server. The application developed in the thesis is a jewellery program. It is an example of how to create a database application with Delphi. The database was created in Paradox format. There are five tables included in the database. Models of the company is kept in Models table, customers in Customers table, daily rates of exchange in Rate table and the sales datas of the company in two different tables. Each table is given an alias name TEZ. Delphi's data-access and data controls components provide relationships between the tables writing only a few codes. A report choice is also added to the menu as an example to show how to work ReportSmith report program
Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 1998
Thesis (M.Sc.) -- İstanbul Technical University, Institute of Science and Technology, 1998
Anahtar kelimeler
Delphi tekniği, Kuyumculuk, Nesneye dayalı programlama, Sistem analizi, Delphi technique, Jewellery, Object oriented programming, System analysis