Langsung ke konten utama

UML


Object Oriented Analysis and Design


§  Fokus pada object dimana sistem dibagi ke dalam beberapa object yang ada di dalamnya.
§  Function (behavior) dan data (state) yang berhubungan ke suatu object tunggal adalah self-contained atau encapsulated pada satu tempat.

§  Keuntungan object-oriented:
§  Reusability
§  Modularity
§  Maintainability

Object adalah suatu abstraksi dari sesuatu dalam suatu domain masalah, menyatakan kemampuan sistem untuk :
§  menyimpan informasi tentang object tsb,
§  berinteraksi dengan object tsb,
§  atau keduanya

Object adalah entitas suatu sistem software yang menyatakan kejadian (instances) dari real-world an entitas sistem

Object Class
Class adalah deskripsi dari sekumpulan object yang membagi (share) attributes, methods, relationship dan semantic yang sama;
Object class adalah template untuk object, yang dapat digunakan untuk membuat object,
Object menyatakan suatu kejadian khusus tertentu dari suatu class

Contoh:
Class
Object
name: string
address: string 3
dateOfBirth: date
employeeNo: integer
socialecurityNo: string
department: string
manager: string
salary: real
status: {current, left, retired}
taxCode: integer
name: John
address: M Street No.23
dateOfBirth: 02/10/65
employeeNo: 324
socialecurityNo:E342545
department: Sale
manager: Employee1
salary: 2340
status:current
taxCode: 3432
Join( )
Retire( )
ChnageDetail( )
Eployee16.join(02/05/1997)
Eployee16.retire(03/08/2005)
Eployee16.changeDetail(“X Street No. 12”)
Inheritance
§  Object classes dapat menurunkan atribut dan services dari object class yang lain,
§  Inheritance menyatakan suatu generalisasi suatu class,

Generalisasi

Keuntungan Inheritance:

§  Merupakan mekanisme abstraksi yang dapat digunakan untuk mengklasifikasikan entitas
§  Merupakan mekanisme re-use pada tahap perancangan dan pemrograman
§  Grafik Inheritance adalah suatu bentuk gambaran tetang organisasi pada suatu domain dan sistem

Multiple Inheritance

§  Suatu object class dapat pula dibentuk dari turunan beberapa super-class,
§  Akan memberikan dampak konflik semantic dimana atribut/service dengan nama yang sama pada super-class yang berbeda memiliki semantic yang berbeda
§  Membentuk hierarchy yang lebih kompleks

Masalah dengan Inheritance

§  Object class tidak self-contain, sehingga tidak dapat diketahui tanpa referensi ke super-classnya
§  Perancang memiliki tendensi untuk melakukan reuse terhadap graph inheritance yang sudah dibuat sehingga dapat menimbulkan ketidak efisiensian yang signifikan

Object Agregasi

Model agregasi menunjukkan bagaimana class-class dibentuk dari class yang lainnya
Similar dengan relasi: part-of dalam model data semantic

Encapsulation

§  Private: attributes dan methods dienkapsulasi dalam class sehingga dapat diakses oleh clien akses tersebut -> hanya dapat diakses oleh member class tersebut.
§  Public: metode mendefinisikan inteface sebagai sarana mengakses class dari clint-nya.Dapat diakses oleh object manapun.
§  Protected: hanya dapat diakses oleh object-class turunannya










Customer class
 
 

















Komunikasi dalam object

§  Object berkomunikasi dengan object lain melalui pengiriman pesan (messages)
o   Suatu pesan adalah suatu metode call dari suatu object pengirim-pesan ke suatu object penerima pesan
o   Suatu pesan terdiri dari: Object referensi yang mengindikasikan penerima pesan, nama method dan parameter (argumen dari method)
§  Object penerima pesan disebut server ke object pengirim pesan, dan objek pengirim pesan adalah client dari server.



Object Cohesion dan Coupling
Cohesion suatu komponen adalah ukuran tentang hubungan antara komponen suatu object class. Setiap operasi menyediakan fungsi untuk mengubah, melihat, atau menggunakan atribut object sebagai layanan dasar,

Coupling adalah suatu indikasi kekuatan interkoneksi antara program units. Sistem dengan coupling yg kuat memiliki interkoneksi yang kuat sehingga setiap program unit sangat ketergantungan dengan yang lainnya (mis.: shared variables, interchange control function). Sistem dengan couple yang lemah tidak memiliki ketergantungan yang kuat antar program units.


Polymorphism
§  Kemampuan object yang berbeda untuk menjalankan method yang sesuai untuk merespon ke pesan yg sama
§  Pemilihan method yang sesuai tergantung pada class yg digunakan untuk membuat object
Contoh:

class Shape {
  private String name;
  public Shape(String aName) { name=aName; }
  public String getName( ) { return name; }
  public float calculateArea( ) { return 0.0f; }
} // End Shape class

class Circle extends Shape {
  private float radius;
  public Circle(String aName) { super(aName); radius = 1.0f; }
  public Circle(String aName, float radius) {
    super(aName); this.radius = radius;
  }
  public float calculateArea() { return (float)3.14f*radius*radius; }
} // End Circle class

class Square extends Shape {
  private float side;
  public Square(String aName) { super(aName); side = 1.0f; }
  public Square(String aName, float side) {
    super(aName); this.side = side;
  }
  public float calculateArea() { return (float) side*side; }
} // End Square class

public class ShapeDemoClient {
  public static void main(String argv[ ]) {
   Shape c1 = new Circle("Circle C1");
   Shape c2 = new Circle("Circle C2", 3.0f);
   Shape s1 = new Square("Square S1");
   Shape s2 = new Square("Square S2", 3.0f);
   Shape shapeArray[ ] = {c1, s1, c2, s2};
   for (int i = 0; i < shapeArray.length; i++) {
     System.out.println("The area of " + shapeArray[i].getName( )    
                        + " is " + shapeArray[i].calculateArea( )
                        + " sq. cm.");
   }
  } // End main
} // End ShapeDemoClient1 class

OO Analysis: mencari kebutuhan dari perpektif class dan object yang ditemukan dalam suatu vocabulary dari domain masalah. Dengan kata lain, world (system) dimodelkan dalam bentuk object dan class,
OO Design: Dekomposisi OO dan suatu notasi untuk menggambarkan model system pada tahap pengembangan. Struktur dibentuk setelah object yang berhubungan dengan system sudah didefinisikan.

OO-Analisis:

§  Menganalisa domain masalah

§  Menggambarkan proses system

§  Identifikasi object
§  Spesifikasi atribut
§  Mendefinisikan Operation
§  Inter-object Communication

Identifikasi Suatu Object
§  Entitas luar (mis.: system lain, alat, orang) yang menghasilkan / menggunakan informasi yang digunakan system
§  Benda (mis.: laporan, tampilan, surat, signal) yang merupakan bagian informasi
§  Peran (mis: manager, engineer, salesperson) yang dimainka oleh orang yang berinteraksi dengan system,
§  Tempat(mis.: ruangan) yang menyediakan konteks permasalah dan fungsi keseluruhan system,
§  Unit organisasi (mis.: divisi, group, team) yang relevan ke aplikasi,


























Class Fitting




 














Object Relations

 
















Package














Unified Modelling Language


The Unified Modeling Language (UML) is a standard language for writing software blueprints.
The UML may be used to visualize, specify, construct, and document the artifacts of a software­intensive system.

Building Blocks

Things
Relationships
Diagrams

Things:
Structural things
nclasses, interfaces, collaborations, use cases, active classes, components, nodes.
Behavioral things
n interactions, state machines.
Grouping things
n packages.
Annotational things
n notes.

Class

Class Inheritance

Class - Dependencies

A change in specification of one thing may effect another thing that uses it


Class – Association
A structural relationship that specifies that objects of one thing are connected to objects of another.
Name: name of association
Role: a specific role of class in an association
Multiplicity, an association represent a structural relationship among objects: zero to one(0..1), many(0..*) or one or more (1..*)
Aggregation: a plain association between two classes represents a structural relationship “whole-a-part”

Association, Multiplicity, Aggregation and Role


 


















Structural Things – Use Case

Specifies the behavior of a system or a part of a system and is a description of a set of sequences of actions, including variants, that a system performs to yield an observable result of value to an actor.



Use Case Diagram
One of the five diagrams (activity diag., statechart diag., sequence diag., collaboration diag.) in the UML for modeling the dynamic aspects of systems.
Central to modeling the behavior of a system, a subsystem, or a class,

Use Case Diagram


Statechart Diagram
A statechart diagram shows a state machine, consisting of states, transitions, events, and activities.

Activity Diagram
An activity diagram is a special kind of a statechart diagram that shows the flow from activity to activity within a system.

Sequence Diagram
A sequence diagram is an interaction diagram that emphasizes the time­ordering of messages.


Component Diagram
Component diagram shows an organization and dependencies of a group of components.




Deployment Diagram

Deployment diagram shows the configuration of run-time node processing and its components.






Komentar

Postingan populer dari blog ini

Cara Menambahkan Plugin TextFX di notepad++

TextFX adalah plugin pada notepad++ yang digunakan untuk menyortir kata atau kalimat yang sama atau istilah kerenya duplikat data. Berikut saya share cara untuk menambahkan plugin TextFX, perhatikan langkah-langkah berikut! 1. install notepad++ dulu dengan mengunduh filenya disini 2. setelah diunduh kemudian install, setelah di install lalu buka menu Plugins>Plugin Manager>Show Plugin Manager  3. pada Plugin Manager, klik tab Available kemudia geser kebawah dan cari TextFx. klik centang lalu Install. 4. Berhasil, setelah itu restart program notepad++ sekian share dari saya semoga bermanfaat, silahkan bertanya dikolom komentar jika kurang paham. terimakasih

Tenggorokan Kering dan Sakit? Hati-hati! Bisa Jadi Itu Adalah Gejala Kanker Stadium Awal

Kamu harus perhatikan dengan baik! Kanker tenggorokan adalah salah satu kanker yang sering dijumpai pada kebanyakan orang, dan tentu saja hasil pengobatan kanker ini tergantung pada seberapa cepat kita menyadari tingkat keparahan kanker tersebut. Seorang ahli bedah mengatakan bahwa kanker yang didiagnosa pada 5 tahun pertama itu mempunyai tingkat kesembuhan sebesar 90%, tetapi sebaliknya, kanker yang baru diketahui setelah 5 tahun, hanya mempunyai tingkat kesembuhan sekitar 20-30% saja.  Kanker tenggorokan ini tumbuh dari sel Mesothelial yang berkembang pada selaput kerongkongan, dan karena faktor inilah yang akhirnya tumbuh menjadi kanker secara bertahap. Waktu yang diperlukan kanker ini untuk berkembang pada tenggorokan mencapai beberapa tahun lamanya, bahkan dari stadium awal hingga stadium menengah membutuhkan waktu sekitar satu tahun.  Gejala-gejala kanker tenggorokan stadium awal ini adalah sebagai berikut: 1. Merasa kesulitan ketika menelan; biasanya disebabkan oleh ma...

Setting Hamachi

Hamachi adalah zero-configuration virtual private network (VPN) atau jaringan virtual pribadi tanpa konfigurasi. Hamachi merupakan aplikasi opensource yang didistribusikan secara bebas yang mampu membangun hubungan secara langsung antar-komputer yang terkoneksi ke dalam jaringan internet tanpa ada konfigurasi yang rumit, dengan kata lain, membentuk hubungan antar-komputer yang saling berjauhan melalui jaringan internet, seakan-akan komputer tersebut terhubung ke dalam jaringan lokal atau LAN. Pertama-tama  Download softwarenya DISINI  Cara Instal seperti biasa, tinggal next next next :) yang perlu diperhatikan adalah pada saat proses instal beri tanda cek pada Disable vulnerable .... (mungkin windows mendeteksinya sebagai virus)     Setelah proses instalasi berhasil, jalankan program hamachi maka akan tampil seperti berikut :   Klik tombol Power On maka akan berubah menjadi hijau dan tampil ip dari Hamachi 5.X.X.X, selanjutnya secara otomatis saat anda menjala...