Anda di halaman 1dari 45

Chapter 5

Analysis Modelling

Overview
Software design Engineering representation of software product to be built

Design can be traced to the customers requirements and can be assessed for quality During the design process, analysis model is transformed into design models

.. Continue Overview
Design models describe the data structures, system architecture, interface, and components
Each design product is reviewed for quality before moving to the next phase of software development

Analisis Model Elements


Model analisis harus dapat mencapai tiga sasaran utama yakni untuk : Menggambarkan apa yang dibutuhkan untuk pelanggan Membangun dasar bagi pembuatan desain perangkat lunak Membatasi serangkaian persyaratan yang dapat divalidasi begitu perangkat lunak dibangun

Design Specification Models

Design Specification Models


Data design transforming the analysis data model (data dictionary & ERD) into data structures required to implement the software Architectural design defines the relationship among the major structural elements of software. Derived from DFD

Design Specification Models


Interface design describe how software elements communicate each other (other systems, and human users) Component-level design transforming the structural elements defined by the software architecture into procedural descriptions of software components (from PSPEC, CPSEC, and STD)

.. Continue elements model


Data Dictionary Penyimpanan yang berisi deskripsi dari semua obyek data yang dikonsumsi atau diproduksi oleh perangkat lunak. Entity Relationship Diagram (ERD) Menggambarkan hubungan antara obyek data. Data Flow Diagram (DFD) o Memberikan indikasi mengenai bagaiman data ditransformasi pada saat data bergerak melalui sistem o Menggambarkan fungsi-fungsi (dan sub fungsi) yang mentransformasikan aliran data. State Transition Diagram Menunjukkan bagaimana sistem bertingkah laku sebagai akibat dari kejadian eksternal. Control Specification (CSPEC) Informasi tambahan mengenai aspek kontrol dari perangkat lunak Process Specification (PSPEC) Isi Deskripsi setiap fungsi yang disajikan pada DFD

Data Modelling
Untuk dapat menjawab sebagai berikut : Bagaimana komposisi dari masing-masing obyek data dan atribut apa yang menggambarkan obyek tersebut? Dimana obyek saat ini berada? Bagaimana hubungan antara masing-masing obyek data dan obyek lainnya? Bagaimana hubungan antara obyek dengan proses yang mentransformasikannya? Digunakan Entity Relational Diagram (ERD) ERD hanya berfokus pada data, dengan menunjukkan jaringan data yang ada untuk suatu sistem yang diberikan.

.. continue

Komponen ERD
Entity Relationship Attribute Kardinality Modality

Entitas
Sebuah barang/objek yang dapat dibedakan dari objek lain Contoh: Individu: pegawai, pelanggan, mahasiswa, dosen Tempat: ruang, kelas, kantor, kampus Objek: buku, motor, produk software, monitor Peristiwa: pendaftaran, pembelian, penjualan, penagihan Konsep: rekening, kualifikasi

Relasi

Atribut
Properti yang dimiliki setiap entitas yang akan disimpan datanya Contoh: Atribut Pegawai No_peg Nama Alamat

Kardinalitas relasi
Angka yang menunjukkan banyaknya kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi
Kombinasi yang mungkin: 1:1 1:N M:N

.. Contoh dari kardinalitas


Satu ke satu (1:1) Misalnya: seorang suami hanya dapat memiliki satu istri, dan seorang istri hanya mempunyai satu suami. Satu ke banyak (1:N) Misalnya: seorang ibu dapat memiliki banyak anak, tetapi seorang anak hanya dapat memiliki satu ibu. Banyak ke banyak (M:N) Misalnya: seorang paman dapat memiliki banyak keponakan, sementara itu seorang keponakan dapat memiliki banyak paman

Contoh

.. lanjutan

Modalitas relasi
Partisipasi sebuah entitas pada suatu relasi 0 jika partisipasi bersifat optional 1 jika partisipasi bersifat total contoh: partisipasi total setiap monitor memiliki layar partisipasi optional tidak semua mahasiswa memiliki komputer

Contoh

Strong/weak entity

Best data modelling


Sederhana Tidak ada duplikasi data (redundant) Fleksibel dan mudah beradaptasi dengan perkembangan

Pemodelan Fungsional dan Aliran Informasi


Informasi ditransformasikan pada saat dia mengalir melalui sebuah sistem berbasis komputer. Sistem tersebut menerima input dengan berbagai cara dan menghasilkan suatu output. Akibatnya kita dapat menciptakan suatu model aliran bagi setiap sistem berbasis komputer tanpa melihat ukuran dan kompleksitasnya

Diagram Aliran Data/ Data Flow Diagram (DFD)


Merupakan sebuah teknik grafis yang menggambarkan aliran informasi dan transformasi yang diaplikasikan pada saat data bergerak dari input menjadi output. Dikenal juga dengan sebutan grafik aliran data atau buble chart

Model aliran informasi

Komponen-komponen DFD :
Proses External entity Data Flow Data Store

Proses
Simbol proses adalah : Proses menunjukkan apa yang dikerjakan oleh sistem Setiap proses memiliki nama yang unik dan nomor yang ditempatkan dalam simbol

File atau Data Store


Simbol : File atau Data Store adalah tempat penyimpanan data Proses dapat menempatkan data ke dalam data store atau mengambil / mendapatkan data store Setiap data store mempunyai nama yang unik

External Entity
Simbol : External entity adalah di luar sistem, tetapi mereka merupakan salah satu bagian yang memberikan input data ke dalam sistem atau digunakan oleh output sistem Source : External entity yang memberikan input data ke dalam sistem Sinks : External entity yang menggunakan data sistem

Data Flow
Simbol : anak manah menunjukkan arah aliran Aliran data pada sistem :
antara dua proses dari sebuah data store ke sebuah proses dari sebuah proses ke sebuah data store dari sebuah source ke sebuah proses dari sebuah proses ke sebuah sink

Design Guidelines
Exhibit good architectural structure Modular Contain distinct representations of data, architecture, interfaces, and components (modules) Lead to data structures that appropriate for the objects to be implemented

Design Guidelines
Lead to components that exhibit independent functional characteristics Lead to interfaces that reduce the complexity of connections between modules and with the external environment Derived using a reputable method that is driven by information obtained during software requirements analysis

Design Principles
Process should not suffer from tunnel vision (consider alternative approaches) Should be traceable to the analysis model Should minimize intellectual distance between the software and problem as it exist in the real world Should exhibit uniformity and integration Should be structured to accomodate change

Design Principles
Should be structured to degrage gently, even with bad data, events, or operating conditions are encountered Should be assessed for quality as it is being created Should be reviewed to minimize conceptual (semantic) errors

Fundamental Software Design Concepts


Abstraction allows designers to focus on solving a problem without being concerned about irrelevant lower level details 1. Procedural abstraction named sequence of events 2. Data abstraction named collection of data objects 3. Control abstraction program control mechanism without specifying internal details

Fundamental Software Design Concepts


Refinement process of elaboration where the designer provides successively more detail for each design component Modularity the degree to which software can be understood by examining the components independently of one another

Fundamental Software Design Concepts


Software architecture Hierarchical structure of program components (modules) Control hierarchy or program structure represents the module organization and implies hierarchy of control (does not represent the procedural aspects of the software )

Fundamental Software Design Concepts


Structrual partitioning Horizontal partitioning defines three partitions (input, data transformations, and output) Vertical partitioning (factoring) distributes control in a top-down manner (control decisions in top level modules and processing work in the lower level modules)

Fundamental Software Design Concepts


Data structure representation of the logical relationship among individual data elements Software procedure precise specification of processing (event sequences, decision points, repetitive operations, data organization/structure) Information hiding information (data and procedure) contained within a module is inaccessible to modules that have no need for such information

Modular Design Methods


Modular decomposability provides systematic means for breaking problem into subproblems Modular composability supports reuse of existing modules in new systems Modular understandability module can be understood as a stand-alone unit

Modular Design Methods


Modular continuity side-effects due to module changes minimized Modular protection side-effects due to processing errors minimized

Effective Modular Designs


Cohession qualitative indication of the degree to which a module focuses on just one thing Coupling qualitative indication of the degree to which a module is connected to other modules and to the outside world Functional independence modules have high cohesion and low coupling

Design Documentation
Data Design database structure, external file/internal data structures, cross reference that connects data object to specific files Architectural Design structure charts used to represent the module hierarchy Interface Design detail design of human/machine interface (prototype, GUI)

Design Documentation
Component Design elements of software (subroutines, functions, or procedures) initially using narrative texts Design Specification design constraints, suplementary data, algorithm descriptions, alternative procedures, tabular data, preliminary operations/installation manual

Anda mungkin juga menyukai