Perancangan dan Implementasi Editor Model Data ...

40
OLEH: ALDY SEFAN REZANALDY PEMBIMBING: Dr. Ir. Siti Rochimah, M.T. Ir. Suhadi Lili Perancangan dan Implementasi Editor Model Data Konseptual dan Model Data Fisik

Transcript of Perancangan dan Implementasi Editor Model Data ...

O L E H : A L D Y S E F A N R E Z A N A L D Y

P E M B I M B I N G :

D r . I r . S i t i R o c h i m a h , M . T .

I r . S u h a d i L i l i

Perancangan dan ImplementasiEditor Model Data Konseptual dan

Model Data Fisik

Road Map

Pendahuluan

Dasar Teori

A D I

Uji Coba

Kesimpulan

• Tujuan• Latar Belakang• Rumusan Masalah

• CDM dan PDM• Round Trip Engineering• .NET Framework• Design Pattern• Library Undo Easy

• Analisis• Desain• Implementasi

• Tujuan• Metode• Hasil

PENDAHULUAN

Tujuan

RumusanMasalah

TUJUAN

Merancang dan mengimplementasikan user interface dan manipulasi model data sebuah CASE Tool yang mendukung pemodelan dengan round-trip engineering atau koversi bolak balik model data konseptual dan model data fisik.

RUMUSAN MASALAH

User Interface yang user friendly

Editor dengan round-trip engineering

mekanisme manipulasi object yang mudah.

Bagaimana pengecekan warning dan error

Implementasi Undo Redo.

DASAR TEORI

CDM dan PDM

Round-Trip Engineering

.NET Framework

Design Pattern

Library Undo Easy

CDM dan PDM

CDM

Conceptual Data Model (CDM), merupakan sebuahpemodelan yang menyediakan konsep denganpendekatan pemahaman pengguna. CDM menyediakan abstraksi tingkat tinggi (high level) dari entitas yang sebenarnya di alam ini, sehinggalebih mudah dipahami oleh user

e.g. ER Diagram dan EER Diagram

PDM

Physical Data Model (PDM) adalah model data yang berupa konsep yang mendeskripsikan basis data pada tingkat rendah (low level) yang lebihmendetail tentang bagaimana data disimpan padaperangkat computer.

Round-Trip Engineering (1)

Round-trip engineering (RTE) adalah sebuahfungsionalitas dari software development tools yang melakukan sinkronisasi pada dua atau lebihsoftware artifact, seperti, source code, models, configuration files, dan dokumen yang lain

Round-Trip Engineering (2)

Jenis RTE RTE Instantaneous (Realtime Update)

RTE On-Demand (Update depend on Demand User)

.NET Framework

Microsoft .NET Framework (dibaca Microsoft Dot Net Framework) adalah sebuah komponen yang dapat ditambahkan ke sistem operasi Microsoft Windows atau telah terintegrasi ke dalam Windows (mulai dari Windows Server 2003 dan versi-versiWindows terbaru). Kerangka kerja ini menyediakansejumlah besar solusi-solusi program untukmemenuhi kebutuhan-kebutuhan umum suatuprogram baru, dan mengatur eksekusi program-program yang ditulis secara khusus untukframework ini.

.NET Framework (2)

Version Version Number

Release Date Visual Studio Default in Windows

1.0 1.0.3705.0 2002-02-13 VisualStudio .NET

1.1 1.1.4322.573 2003-04-24 Visual Studio.NET 2003

WindowsServer 2003

2.0 2.0.50727.42 2005-11-07 Visual Studio2005

WindowsServer 2003 R2

3.0 3.0.4506.30 2006-11-06 Windows Vista,WindowsServer 2008

3.5 3.5.21022.8 2007-11-19 Visual Studio2008

Windows 7,WindowsServer 2008 R2

4.0 4.0.30319.1 2010-04-12 Visual Studio2010

User Control (1)

Dalam pemorgraman framework .NET diperbolehkanuntuk membuat control tersendiri menggungkanelemen-elemen bawaan .NET.

Custom Control adalah tema kunci dalampengembangan .NET. Mereka dapat membantu stylepemrograman dengan meningkatkan enkapsulasi, penyederhanaan model pemrograman, dan membuatantarmuka pengguna yang lebih "pluggable" (yaitu, sehingga lebih mudah untuk swap keluar satu kontroldan menggantinya dengan yang sama sekali berbedatanpa menulis ulang kode formulir Anda).

User Control (2)

User Control adalah tipe sederhana control. User Control diturunkan dari class System.Windows.Forms.UserControl, dan

mengikuti model komposisi. Biasanya, kontrolpengguna menggabungkan lebih dari satu kontrollogis unit (seperti kelompok kotak teks untukmemasukkan informasi alamat).

DESIGN PATTERN

Sebuah nama pola desain sistematis, yang memotivasi, dan menjelaskan sebuah desain umumyang membahas masalah desain berulang dalamsistem berorientasi objek.

Diantaranya: Strategy Pattern

Composite Pattern

State Pattern

Mediator Pattern

Dll.

Library Undo Easy (1)

Library Undo Easy merupakan sebuah library yang merangkum semua kompleksitas undo dan redo kedalam sebuah class library yang komprehensif

Public void Register(

DoPointer doMethod,

ItsData doValue,

UndoPointer undoMethod,

ItsData undoValue,

RedoPointer redoMethod,

ItsData redoValue

);

A . D . I

Analisis

Desain

Implementasi

ANALISIS (1)

No. Fitur Lama Baru

1 Add, manipulasi, dan delete Object Ada Ada

2 Show Object List Ada Ada

3 Zoom in / out Tidak ada Ada

4 Checking pada Object dalam diagramcanvas

Tidak ada Ada

5 Checking detail per-object Tidak ada Ada

6 Undo Redo Command Tidak Ada Ada

7 Menambahkan Object drawing dari objctmodel yang telah ada

Ada, denganmekanisme create

Drawing baru.

Ada, denganmekanisme check

Available Link.8 Mekanisme manipulasi Form Properties Pop up dan Form

Perbandingan Fitur-Fitur Lama dan Baru

ANALISIS (2)

Use CaseAdd Object

Manipulate Object

Delete Object

Zoom In/Out Diagram

Undo State

Redo State

Show Warning/ Error Detail

Actor

System

Show Diagram Warning / Error

Desain (1)

Desain (2)

Project Browser

Desain (3)

Warning Form

Desain (4)

Properties From

Desain (5)

Pop Up

Arsitektur

View

CASEToolMainUserInterface<<layer>>

CDV<<layer>>

PDV<<layer>>

Model

CDM<<layer>>

PDM<<layer>>

DataCLM<<layer>>

Mechanism<<layer>>

Implementasi (1)

CDM

Implementasi (2)

PDM

Add and Delete Object

Manipulasi Object

Zoom In/Out Diagram

public void Draw(Graphics g)

{

foreach (CDMDrawing d in _drawings)

{

d.ScaleDrawing = (float)_pageScale / 100;

if (d.IsShow)

{

d.Draw(g);

}

}

Undo Redo

Properties Type Method Undo RedoDrawPosition Point UpdateDrawPositionDrawHeight Float UpdateDrawHeightDrawWidth Float UpdatedrawWidth

Properties Type Method Undo RedoDrawings List<CDMObject> UpdateListDrawing

Properties Type Method Undo RedoDisplayName String UpdateDisplayNameCodeName String UpdateCodeNameComment String UpdateCommentNote String UpdateNoteAttributes(Entity)

List<DataItem> UpdateAttributes

Attributes(Association)

List<DataItem> UpdateAttributes

Attributes(Table) List<DataItem> UpdateAttributesCardinality(Relationship)

Cardinality UpdateCardinality

Participation(Relationship)

Participation UpdateParticipation

DominantRole Role UpdateDominantRole

public void UpdateDrawPosition

(UndoEngine undoEngine, Point oldPoint, Point

newPoint)

{

undoEngine.InsertBookmark();

undoEngine.Register(

new DoPointer(UpdateDrawPosition),

new ItsData(newPoint),

new UndoPointer(UpdateDrawPosition),

new ItsData(oldPoint),

new RedoPointer(UpdateDrawPosition),

new ItsData(newPoint)

);

}

public void UpdateDrawPosition(ItsData

value)

{

DrawPosition = (Point)value[0];

}

Show Warning Error

Show Warning Error

UJI COBA

Tujuan

Metode

Hasil dan Analisis

TUJUAN

Kemudahan dan kenyamanan penggunamenggunakan Editor untuk melakukan desain basis data.

Mengetahui fitur-fitur yang telah direncanakandapat berjalan dengan baik.

Mengetahui keinginan pengguna tentang user interface case tool dan komentar mereka terhadapCASE Tool ini.

Metode

Subjective Testing

Beberapa Orang Penguji (Kalangan IT)

Melakukan desain Diagram dengan Studi Kasus

Mengisi form penilaian aspek-aspek setelah melakukanpengujian

Dilakukan Analisis dari hasil pengujian

Hasil dan Analisis

No. Aspek Penilaian Rata-Rata

1 Membuat diagram dari CDM dan PDM 3,2

2 Mengedit diagram yang telah ada, dari CDM dan PDM 2,62

3 Visualisasi 3,93

4 Reliability 2,37

No. Fitur-Fitur Perlu Dilakukan Perbaikan

1 Panah relationship di PDM jika entitas dipindah jadi skew dan tidak proporsional

2 Untuk penambahan relationship agak susah

3 Editor relationship seharusnya hanya ditampilkan ketika garis diklik dua kali (untuk CDM & PDM)

4 Fungsi untuk edit nama entitas secara cepat terasa sulit. Lebih mudah bila klik 2 kali

5 Fungsi load dagram masih belum berfungsi

6 Untuk fungsi undo redo, disable ketika tidak ada undo / redo

7 Relasi Many to many

8 Add/edit table/relationship ditambah tombol OK

9 Tambah menu generate pdm

KESIMPULAN (1)

1

• Perancangan user Interface Editor, berkaitan dengantampilan, command, dan response digunakan dandiimplementasikan untuk mempermudah penggunamelakukan desain dan editing object di dalamnya.

2

• Pop up properties digunakan untuk mempermudah penggunamelakukan manipulasi object pada diagram. Selain itu denganmenggunakan event yang tepat (one click) dapatmeningkatkan kecepatan proses desain data model.

3

• Mekanisme Round-trip engineering pada aplikasi iniditangani oleh pattern observer pada aplikasi ini. Object-object model yang telah di manipulasi pada editor akan selaludi update dengan menggunakan observer pattern pada level data modelnya.

KESIMPULAN(2)

4

• Aplikasi editor ini dirancang dengan memperhatikankesalahan(error) dan warning dalam melakukandesainnya. Ini untuk memberikan pesan kepada penggunatentang diagramnya sedini mungkin, karena konsep yang dilakukan adalah round-trip engineering secara realtime. Pengecekan ini dilakukan setiap ada perubahan padadiagram, yaitu penambahan, edit, dan penghapusan object.

5

• Implementasi undo-redo menggunakan sebuahlibrary UndoEasy pada level CDV dan CDM-nya. Library ini digunakan untuk mekanisme undo-redo pada beberapa event yang dinilai perluuntuk dilakukan undo-redo.