4. Prinsip - Prinsip Pemodelan Visual SIF15001 Analisis dan Perancangan Sistem Informasi Agi Putra Kharisma, S.T., M.T. Genap 2014/2015 Desain slide ini dadaptasi dari University of San Fransisco
Apakah Yang Dimaksud Dengan Model??
Contoh Model (1)
Contoh Model (2) http://car-blueprints.narod.ru/images/mini/new-mini.gif http://www.animaatjes.nl/wallpapers/auto/mini-cooper/animaatjes-mini-cooper-54871.jpg
Model adalah.. Simplification of reality...
Mengapa Model? (1) Pemodelan bertujuan untuk: Membantu mem-visualisasikan sistem Menspesifikasikan struktur maupun perilaku dari suatu sistem Sebagai template yang dapat memandu dalam membangun sistem Mendokumentasikan keputusan yang diambil
Mengapa Model? (2) Memahami suatu sistem yang kompleks secar menyeluruh adalah hal yang sangat sulit, sehingga dibutuhkan model yang lebih sederhana. Membuat sebuah model dapat membantu meningkatkan pemahaman terhadap sistem.
Pentingnya Pemodelan Less Important More Important Paper Airplane Fighter Jet
Software Teams Often Do Not Model Many software teams build applications approaching the problem like they were building paper airplanes Start coding from project requirements Work longer hours and create more code Lacks any planned architecture Doomed to failure Modeling is a common thread to successful projects
Model Driven Architecture (MDA)
http://www.omg.org/mda/
Sudut Pandang MDA Computational Independent Model (CIM) Focus is on environment of the system and requirements for the system Platform Independent Model (PIM) Focus is on system operation, independent of platform Platform Specific Model (PSM) Focus is on detailed usage of system on specific platform
http://qreal.ru/template/figure1.gif
4 Prinsip Pemodelan 1. The model you create influences how the problem is attacked. 2. Every model may be expressed at different levels of precision. 3. The best models are connected to reality. 4. No single model is sufficient.
Prinsip 1: Pemilihan Model The model you create influences how the problem is attacked Contoh: Sudut Pandang DB Developer Sudut Pandang OO Developer
Prinsip 2: Tingkat Kepresisian Yang Berbeda Every model may be expressed at different levels of precision. Tingkat kepresisian memengaruhi tingkat detail. Tingkat detail dapat diatur sesuai kebutuhan, tergantung pada: Siapa yang melihat? Dilihat untuk kepentingan apa?
Untuk designer http://img.photobucket.com/albums/v208/jwells393/newalbum2/stratbpcropped.jpg Untuk customer http://www.wdmusic.co.uk/ekmps/shops/wdmusic/images/strat-body-alder-unfinished-2537-p.jpg
Prinsip 3: Berhubungan Dengan Realitas The best models are connected to reality. Semua model menyederhanakan realitas. Model yang baik dapat mencerminkan kemungkinan karakteristik fatal (fatal flaws in design).
Prinsip 4 No single model is sufficient Logical View Implementation View Analysts/Designers Structure Use-Case View End-user Functionality Programmers Software management Process View System integrators Performance, scalability, throughput Deployment View System engineering System topology, delivery, installation, communication Create models that can be built and studied separately, but are still interrelated.
UML
UML? The UML is a language for: Visualizing Specifying Constructing Documenting the artifacts of a software-intensive system.
The UML Is a Language for Visualizing Communicating conceptual models to others is prone to error unless everyone involved speaks the same language. There are things about a software system you can t understand unless you build models. An explicit model facilitates communication.
The UML Is a Language for Specifying The UML builds models that are: precise unambiguous complete
The UML Is a Language for Constructing UML models can be directly connected to a variety of programming languages. Maps to Java, C++, Visual Basic, and so on Tables in a RDBMS or persistent store in an OODBMS Permits forward engineering Permits reverse engineering
Æ Á ¹ ¼ ëçñ º ±â»ç ëàú äã»çñ Ù. ÈÀÏ ü ÀÚ Â Àоî  ¹ ¼ÀÇ Á º ÇØ ç ¹ ¼ ü ¼³Á À» äã»çñ Ù. È é ü  ÀоîµéÀΠüµé ëçø ÀÌ º Î Á ÄÀ» ½ÃÄÑ È é º ÁØ Ù. 1: Doc view request ( ) 9: sortbyname ( ) 2: fetchdoc( ) 3: create ( ) 6: filldocument ( ) 4: create ( ) 8: fillfile ( ) 5: readdoc ( ) 7: readfile ( ) ºÐ»ê È æàç Çϵå þ¾î¹ ³ Æ À ÎÀÇ Á º ½Ã½ºÅÛ á ðµ - À µµ ì 95 : Å óàì¾ðæ - À µµ ì NT: ÀÀ ë¼¹ö - À нº Ó½Å: ÀÀ ë ¼¹ö ¹ µ ÀÌÅ ¼¹ö, Åë½Å ¼¹ö - IBM ÞÀÎÇÁ ¹ÀÓ: µ ÀÌÅ ¼¹ö, Åë½Å ¼¹ö Window95 ¹ ¼ ü Å óàì¾ðæ.exe FileMgr fetchdoc( ) Repository (from Persistence) readdoc( ) readfile( ) Windows NT sortbyname( ) rep name : char * = 0 Windows NT ¹ ¼ ü Áø.EXE FileList add( ) delete( ) read( ) File Windows95 DocumentList add( ) IBM Mainframe µ ÀÌÅ º À̽º¼¹ö delete( ) 1 flist Solaris ÀÀ ë¼¹ö.exe GrpFile read( ) open( ) create( ) fillfile( ) get( ) name : int docid : int open( ) close( ) read( ) Document numfield : int sortfilelist( ) create( ) Windows95 ¹ ¼ ü ¾ÖÇà filldocument( ) Alpha UNIX code.. read() fill the The UML Is a Language for Documenting The UML addresses documentation of system architecture, requirements, tests, project planning, and release management. Use Case Diagram Deployment Diagram Use Case 1 Actor A Use Case 2 Actor B Use Case 3 user mainwnd filemgr : FileMgr document : Document gfile repository Sequence Diagram Class Diagram
Pengembangan UML
Proses Dan Pemodelan Visual A Language Is Not Enough to Build a System Team - Based Development Modeling Language Unified Process
Proses Seperti Apa Yang Paling Cocok Dengan UML? The UML is largely process independent. A process fully benefits from the UML when the process is: Use-case driven Architecture centric Iterative and incremental
The Triangle For Success
Referensi IBM - Essentials of Visual Modeling with UML 2.0 - Module 2: Principles of Visual Modeling
Tugas Baca referensi tentang: - Use case diagram - Activity diagram Buat use case diagram dan activity diagram yang memodelkan proses KRS di SIAM. Deliverable: hardcopy (tulis tangan)