Sunday, October 16, 2016

Notepad++ reverse engineering

Notepad++ adalah source code editor gratis (seperti dalam pidato bebas dan bir gratis)  dan pengganti Notepad yang mendukung beberapa bahasa. berjalan di lingkungan MS Windows, penggunaanya diatur oleh GPL License.



Berdasarkan komponen Scintilla editing yang kuat, Notepad++ ditulis dalam C++ dan mengguankan API Win32 murni dan STL yang menjamin kecepatan eksekusi lebih tinggi untuk program ukuran kecil. Dengan mengoptimalkan rutinitas sebanyak mungkin tanpa kehilangan keramahan pengguna, Notepad ++ sedang mencoba untuk mengurangi emisi karbon dioksida dunia. Bila menggunakan power CPU kurang, PC dapat diminimalisir dan mengurangi konsumsi daya, menghasilkan lingkungan yang hijau (ramah lingkungan)

Use Case Diagram


CRC-Card

Document
Responsibility:
Operation1()
Operation2()
Operation3()
Collaboration:
Selection
Style
Editor

Editor
Responsibility:
CurrentPosition()
SetSelection()
MovePositionTo()
AddChar()
ClearAll()
Cut()
Copy()
Undo()
Redo()
DelChar()
Collaboration:
Document
Other Editing Features
AutoComplete
AutoClose

AutoComplete
Responsibility:
Active()
SetStopChars()
IsStopChar()
SetFillUpChars()
IsFillUpChar()
SetSeparator()
GetSeparator()
SetTypeSep()
GetTypeSep()
SetList()
Show()
Cancel()
Move()
Select()
Collaboration:
Editor
AutoAutoComplete

AutoAutoComplete
Responsibility:
SetStopChars()
IsStopChar()
SetFillUpChars()
SetList()
Show()
Cancel()
Move()
Select()
Collaboration:
AutoComplete


AutoClose
Responsibility:
CurrentPosition()
MovePosition()
AddChar()
InsertSpace()
Collaboration:
Editor







Class Diagram


Class Realization

Use Case
Class Realization
Create Document
Editor
Load Document
Editor
Edit Document
Editor, AutoComplete, AutoAutoComplete
Run Procedure
Document
Save Document
AutoClose

Sequence Diagram

Creating New Document dan RunProcedure
untuk membuat sebuah document baru dan untuk menjalankan prosedur yang ada, Notepad++ tidak melakukannya sendiri. melaikan dibantu oleh aplikasi lain didalamnya yaitu Scintilla.
Sequence Diagram Editing Document

Activity Diagram

Creating New Document

Loading Document
Editing


Saving Document

Running Procedure

Referensi:
https://notepad-plus-plus.org/
http://creately.com/diagram/example/huhvhxe01/New%20NotePad%20%20%20Class%20Diagram
Source Code:
https://github.com/notepad-plus-plus/notepad-plus-plus

No comments:

Post a Comment