1 / 41

Introduction to OOAD

Introduction to OOAD. (Object-Oriented Analysis and Design). Faktor Utama Kegagalan P/L. Kebutuhan kustomer tidak bisa dipahami dan ditangkap dengan tepat Kebutuhan kustomer sering mengalami perubahan Kustomer tidak bisa bekerja sama dengan pengembang

paloma
Download Presentation

Introduction to OOAD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to OOAD (Object-Oriented Analysis and Design)

  2. Faktor Utama Kegagalan P/L • Kebutuhan kustomer tidak bisa dipahami dan ditangkap dengan tepat • Kebutuhan kustomer sering mengalami perubahan • Kustomer tidak bisa bekerja sama dengan pengembang • Pengembang kurang memiliki kecakapan dalam menjalankan tugas • Sistem yang dikembangkan tidak terlalu banyak memberikan manfaat kepada kustomer

  3. Why Object-Oriented?

  4. Video

  5. What is a model and why? • A model is a simplification of reality. • Pemodelan adalah suatu cara berpikir tentang persoalan menggunakan model-model yang diorganisasikan seputar dunia nyata. • To understand why a software system is needed, what it should do, and how it should do it. • To communicate our understanding of why, what and how. • To detect commonalities and differences in your perception, my perception, his perception and her perception of reality. • To detect misunderstandings and miscommunications.  

  6. apabila kita gagal membuat perencanaan dengan baik, maka kita sebetulnya merencanakan untuk gagal . . .

  7. METODE ANALISIS • Ada beberapa pendekatan yang biasa digunakan dalam menganalisa suatu sistem, • yaitu: • Functional Decomposition • Data Flow Approach • Object Oriented

  8. Functional Decomposition

  9. Object-oriented development • OOA Mempelajari domain permasalahan bisnis untukmerekomendasikan perbaikan dan menentukan kebutuhansistem untuk menyelesaikan permasalahan. • OOD Menentukan solusi teknis ataurancangan/computer-baseddimana solusi ini berdasarkan kebutuhan sistem yang telah diidentifikasi pada proses analisis. • OOP is concerned with realising an OOD using an OO programming language such as Java or C++.

  10. Kenapa OOAD Karena : Memudahkan pemanfaatan ulang code dan arsitektur Lebih mencerminkan dunia nyata (lebih tepat dalam menggambarkan entitas perusahaan, dekomposisi berdasarkan pembagian yang natural, lebih mudah untuk dipahami dan dirawat) Kestabilan (perubahan kecil dalam requirement tidak berarti perubahan yang signifikan dalam system yang sedang dikembangkan) Lebih mudah disesuaikan dengan perubahan

  11. Kenapa OOAD • Melihat segala hal sebagai sebuah objek • Komunikasi/Interaksi antar objek dilakukan melalui pengiriman pesan (message) • Objek bersifat independen : dipandang sebagai sebuah entitas mandiri yang memiliki peran atau tanggung jawab tertentu • Objek Di Sekitar Kita?

  12. Truck Chemical Process Linked List What is an Object? • Informally, an object represents an entity, either physical, conceptual, or software (sebuah object adalah representasi dari sebuah entitas, baik fisik, konseptual maupun software.) • Physical entity • Conceptual entity • Software entity

  13. Konsep OO • Object adalah: • Definisi Formal : sebuah object adalah sebuah entitas dengan boundary yang terdefinisi dengan baik dan identitas yang menengkapsulasi state dan behaviour. • State : direpresentasikan oleh atribut dan relationship • Behaviour : direpresentasikan oleh operasi, method dan state machine

  14. Memahami Objek

  15. Professor Smith Professor Mellon Professor Jones The Relationship Between Classes and Objects • Sebuah Class merupakandefinisi abstract darisebuah object. • Class mendefinisikanstrukturdanbehaviourdarimasing-masing object didalamsebuah class. • Class bertugassebagai template untukpembuatan class. • Jadi obyek merupakan hasil instansiasi dari class Obyek disebut juga dengan instance Class Objects Professor

  16. Classes of Objects • How many classes do you see?

  17. Atribut • Atribut adalah data yang dapat membedakan antara satu obyek dengan obyek yang lain • Sebuah class bisa memiliki beberapa atribut atau tidak sama sekali Instance variable vs class variable ?

  18. Behaviour atau Method • Method merupakan hal-hal yang bisa dilakukan oleh obyek dari suatu class • Yang bisa dilakukan oleh method : –Merubah nilai atribut suatu obyek–Menerima informasi dari obyek lain–Mengirim informasi ke obyek lain untuk melakukan sesuatu.

  19. Employee object & class Class Object Employee16 name: Johnaddress: M Street No.23dateOfBirth: 02/10/65employeeNo: 324socialecurityNo:E342545department: Salemanager: Employee1salary: 2340stauts:currenttaxCode: 3432…. Eployee16.join(02/05/1997)Eployee16.retire(03/08/2005)Eployee16.changeDetail(“X Street No. 12”)

  20. Basic Principles of Object Orientation • Abstraksi (Abstraction) • Pewarisan (Inheritance) • Banyak Bentuk (Polymorphism) • Pembungkusan (Encapsulation) • Pengiriman Pesan (Message Sending)

  21. Abstraction • Abstraction • Focus on the essential • Omits tremendous amount of details • …Focus on what an object “is and does” • Secara sederhana dikatakan membuang atribut obyek dan operasi yang hanyasampai pada yang benar-benar diperlukan.

  22. AbstraksiTerkaitSudut Pandang

  23. Encapsulation • Menyembunyikan detail dari sebuah objek • Abstraction dan encapsulation saling berkomplemen: • - Abstraction fokus pada sudut pandang dari luar • - Encapsulation membatasi client dari melihat isi dari dalam sebuah object

  24. Class Car • Attributes • Model • Location • #Wheels = 4 • Operations • Start • Accelerate <<instanceOf>> <<instanceOf>> <<instanceOf>> What is Object-Orientation - Another Example of Abstraction and Encapsulation

  25. Pewarisan • Mekanisme untuk menurunkan/mewariskan atribut (data) dan operasi (behavior) dari sebuah klas ke klas yang lain • Klas induk/dasar (super class) • Klas turunan (derived class/sub-class) • Atribut dan operasi dari klas induk menjadi bagian/anggota dari klas turunan • Klas turunan bisa memiliki atribut dan operasi yang tidak ada pada klas induk  klas turunan sebagai perluasan (extension)

  26. Pewarisan

  27. ContohPewarisan

  28. - Subclass vs. Superclass • Specialization: The act of defining one class as a refinement of another. • Subclass: A class defined in terms of a specialization of a superclass using inheritance. • Superclass: A class serving as a base for inheritance in a class hierarchy • Inheritance: Automatic duplication of superclass attribute and behavior definitions in subclass. Person name SSN Student Employee std-id emp-id multiple inheritance? age level

  29. Polymorphism • Sebuah operasi memiliki nama yang sama pada class yang berbeda • Operasi yang sama jika diterapkan pada object yang berbeda akan mengakibatkan operasi yang berbeda pula

  30. Objects of different classes respond to the same message differently. Person name SSN Student Employee payTuition emp-id std-id level payTuition In-State Student Out-of-State Student state payTuition payTuition

  31. -Interfaces • Information hiding - all data should be hidden within a class, at least in principle. • make all data attributes private • provide public methods to get and set the data values (cf. Java design patterns) • e.g. Grade information is usually confidential, hence it should be kept • private to the student. Access to the grade information should be • done through interfaces, such as setGrade and getGrade Student setGrade std-id level payTuition setGrade() getGrade() grade getGrade

  32. SendingMessage Cara object bekerjasama Pesan diterima untuk melakukan sebuah operasi

  33. How to do OOAD- notation • UML is a notation. • So are English, Elvish, Ku, …

  34. A Unified Language + A Good Process + A Good Goal, perhaps

  35. Apakah UML itu? • Unified Modeling Language (UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (OO).

  36. Software UML Tool : Rational Rose Bahasa Pemrograman : Java .NET ≠ ASP,PHP dan Script yang lain

  37. Diagram-Diagram UML

  38. just program! design then program How to Do OOAD- Historical Perspective Process Perspective OO Technology OO Prog. Languages(Smalltalk, C++) OO Design(Booch) Analyze (use case) first, then design, T then program OO Analysis(Rumbaugh, Jacobson)

More Related