Perancangan dan Implementasi Editor Model Data ...
-
Upload
khangminh22 -
Category
Documents
-
view
5 -
download
0
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
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.
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
);
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
Arsitektur
View
CASEToolMainUserInterface<<layer>>
CDV<<layer>>
PDV<<layer>>
Model
CDM<<layer>>
PDM<<layer>>
DataCLM<<layer>>
Mechanism<<layer>>
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];
}
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.