45
Chapter 5 Analysis Modelling

Pemodelan Analisis

Embed Size (px)

Citation preview

Page 1: Pemodelan Analisis

Chapter 5

Analysis Modelling

Overview Software design

Engineering representation of software product to be built

Design can be traced to the customerrsquos 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 bull Menggambarkan apa yang dibutuhkan

untuk pelangganbull Membangun dasar bagi pembuatan

desain perangkat lunakbull 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 amp ERD) into data structures required to implement the software

Architectural design ndash defines the relationship among the major structural elements of software Derived from DFD

Design Specification Models Interface design ndash describe how software

elements communicate each other (other systems and human users)

Component-level design ndash 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 sistemo Menggambarkan fungsi-fungsi (dan sub fungsi) yang mentransformasikan aliran data

State Transition DiagramMenunjukkan 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 bull Bagaimana komposisi dari masing-masing obyek data dan atribut apa yang menggambarkan obyek tersebutbull Dimana obyek saat ini beradabull Bagaimana hubungan antara masing-masing obyek data dan obyek lainnyabull Bagaimana hubungan antara obyek dengan proses yang mentransformasikannyaDigunakan Entity Relational Diagram (ERD)

ERD hanya berfokus pada data dengan menunjukkan ldquojaringan datardquo yang ada untuk suatu sistem yang diberikan

continue

Komponen ERD

Entity Relationship Attribute Kardinality Modality

Entitas Sebuah barangobjek 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 datanyaContohAtribut Pegawai

No_pegNamaAlamat

Kardinalitas relasi Angka yang menunjukkan banyaknya

kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi

Kombinasi yang mungkin 11 1N MN

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 2: Pemodelan Analisis

Overview Software design

Engineering representation of software product to be built

Design can be traced to the customerrsquos 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 bull Menggambarkan apa yang dibutuhkan

untuk pelangganbull Membangun dasar bagi pembuatan

desain perangkat lunakbull 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 amp ERD) into data structures required to implement the software

Architectural design ndash defines the relationship among the major structural elements of software Derived from DFD

Design Specification Models Interface design ndash describe how software

elements communicate each other (other systems and human users)

Component-level design ndash 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 sistemo Menggambarkan fungsi-fungsi (dan sub fungsi) yang mentransformasikan aliran data

State Transition DiagramMenunjukkan 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 bull Bagaimana komposisi dari masing-masing obyek data dan atribut apa yang menggambarkan obyek tersebutbull Dimana obyek saat ini beradabull Bagaimana hubungan antara masing-masing obyek data dan obyek lainnyabull Bagaimana hubungan antara obyek dengan proses yang mentransformasikannyaDigunakan Entity Relational Diagram (ERD)

ERD hanya berfokus pada data dengan menunjukkan ldquojaringan datardquo yang ada untuk suatu sistem yang diberikan

continue

Komponen ERD

Entity Relationship Attribute Kardinality Modality

Entitas Sebuah barangobjek 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 datanyaContohAtribut Pegawai

No_pegNamaAlamat

Kardinalitas relasi Angka yang menunjukkan banyaknya

kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi

Kombinasi yang mungkin 11 1N MN

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 3: Pemodelan Analisis

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 bull Menggambarkan apa yang dibutuhkan

untuk pelangganbull Membangun dasar bagi pembuatan

desain perangkat lunakbull 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 amp ERD) into data structures required to implement the software

Architectural design ndash defines the relationship among the major structural elements of software Derived from DFD

Design Specification Models Interface design ndash describe how software

elements communicate each other (other systems and human users)

Component-level design ndash 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 sistemo Menggambarkan fungsi-fungsi (dan sub fungsi) yang mentransformasikan aliran data

State Transition DiagramMenunjukkan 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 bull Bagaimana komposisi dari masing-masing obyek data dan atribut apa yang menggambarkan obyek tersebutbull Dimana obyek saat ini beradabull Bagaimana hubungan antara masing-masing obyek data dan obyek lainnyabull Bagaimana hubungan antara obyek dengan proses yang mentransformasikannyaDigunakan Entity Relational Diagram (ERD)

ERD hanya berfokus pada data dengan menunjukkan ldquojaringan datardquo yang ada untuk suatu sistem yang diberikan

continue

Komponen ERD

Entity Relationship Attribute Kardinality Modality

Entitas Sebuah barangobjek 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 datanyaContohAtribut Pegawai

No_pegNamaAlamat

Kardinalitas relasi Angka yang menunjukkan banyaknya

kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi

Kombinasi yang mungkin 11 1N MN

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 4: Pemodelan Analisis

Analisis Model Elements Model analisis harus dapat mencapai

tiga sasaran utama yakni untuk bull Menggambarkan apa yang dibutuhkan

untuk pelangganbull Membangun dasar bagi pembuatan

desain perangkat lunakbull 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 amp ERD) into data structures required to implement the software

Architectural design ndash defines the relationship among the major structural elements of software Derived from DFD

Design Specification Models Interface design ndash describe how software

elements communicate each other (other systems and human users)

Component-level design ndash 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 sistemo Menggambarkan fungsi-fungsi (dan sub fungsi) yang mentransformasikan aliran data

State Transition DiagramMenunjukkan 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 bull Bagaimana komposisi dari masing-masing obyek data dan atribut apa yang menggambarkan obyek tersebutbull Dimana obyek saat ini beradabull Bagaimana hubungan antara masing-masing obyek data dan obyek lainnyabull Bagaimana hubungan antara obyek dengan proses yang mentransformasikannyaDigunakan Entity Relational Diagram (ERD)

ERD hanya berfokus pada data dengan menunjukkan ldquojaringan datardquo yang ada untuk suatu sistem yang diberikan

continue

Komponen ERD

Entity Relationship Attribute Kardinality Modality

Entitas Sebuah barangobjek 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 datanyaContohAtribut Pegawai

No_pegNamaAlamat

Kardinalitas relasi Angka yang menunjukkan banyaknya

kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi

Kombinasi yang mungkin 11 1N MN

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 5: Pemodelan Analisis

Design Specification Models

Design Specification Models

Data design transforming the analysis data model (data dictionary amp ERD) into data structures required to implement the software

Architectural design ndash defines the relationship among the major structural elements of software Derived from DFD

Design Specification Models Interface design ndash describe how software

elements communicate each other (other systems and human users)

Component-level design ndash 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 sistemo Menggambarkan fungsi-fungsi (dan sub fungsi) yang mentransformasikan aliran data

State Transition DiagramMenunjukkan 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 bull Bagaimana komposisi dari masing-masing obyek data dan atribut apa yang menggambarkan obyek tersebutbull Dimana obyek saat ini beradabull Bagaimana hubungan antara masing-masing obyek data dan obyek lainnyabull Bagaimana hubungan antara obyek dengan proses yang mentransformasikannyaDigunakan Entity Relational Diagram (ERD)

ERD hanya berfokus pada data dengan menunjukkan ldquojaringan datardquo yang ada untuk suatu sistem yang diberikan

continue

Komponen ERD

Entity Relationship Attribute Kardinality Modality

Entitas Sebuah barangobjek 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 datanyaContohAtribut Pegawai

No_pegNamaAlamat

Kardinalitas relasi Angka yang menunjukkan banyaknya

kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi

Kombinasi yang mungkin 11 1N MN

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 6: Pemodelan Analisis

Design Specification Models

Data design transforming the analysis data model (data dictionary amp ERD) into data structures required to implement the software

Architectural design ndash defines the relationship among the major structural elements of software Derived from DFD

Design Specification Models Interface design ndash describe how software

elements communicate each other (other systems and human users)

Component-level design ndash 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 sistemo Menggambarkan fungsi-fungsi (dan sub fungsi) yang mentransformasikan aliran data

State Transition DiagramMenunjukkan 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 bull Bagaimana komposisi dari masing-masing obyek data dan atribut apa yang menggambarkan obyek tersebutbull Dimana obyek saat ini beradabull Bagaimana hubungan antara masing-masing obyek data dan obyek lainnyabull Bagaimana hubungan antara obyek dengan proses yang mentransformasikannyaDigunakan Entity Relational Diagram (ERD)

ERD hanya berfokus pada data dengan menunjukkan ldquojaringan datardquo yang ada untuk suatu sistem yang diberikan

continue

Komponen ERD

Entity Relationship Attribute Kardinality Modality

Entitas Sebuah barangobjek 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 datanyaContohAtribut Pegawai

No_pegNamaAlamat

Kardinalitas relasi Angka yang menunjukkan banyaknya

kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi

Kombinasi yang mungkin 11 1N MN

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 7: Pemodelan Analisis

Design Specification Models Interface design ndash describe how software

elements communicate each other (other systems and human users)

Component-level design ndash 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 sistemo Menggambarkan fungsi-fungsi (dan sub fungsi) yang mentransformasikan aliran data

State Transition DiagramMenunjukkan 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 bull Bagaimana komposisi dari masing-masing obyek data dan atribut apa yang menggambarkan obyek tersebutbull Dimana obyek saat ini beradabull Bagaimana hubungan antara masing-masing obyek data dan obyek lainnyabull Bagaimana hubungan antara obyek dengan proses yang mentransformasikannyaDigunakan Entity Relational Diagram (ERD)

ERD hanya berfokus pada data dengan menunjukkan ldquojaringan datardquo yang ada untuk suatu sistem yang diberikan

continue

Komponen ERD

Entity Relationship Attribute Kardinality Modality

Entitas Sebuah barangobjek 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 datanyaContohAtribut Pegawai

No_pegNamaAlamat

Kardinalitas relasi Angka yang menunjukkan banyaknya

kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi

Kombinasi yang mungkin 11 1N MN

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 8: Pemodelan Analisis

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 sistemo Menggambarkan fungsi-fungsi (dan sub fungsi) yang mentransformasikan aliran data

State Transition DiagramMenunjukkan 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 bull Bagaimana komposisi dari masing-masing obyek data dan atribut apa yang menggambarkan obyek tersebutbull Dimana obyek saat ini beradabull Bagaimana hubungan antara masing-masing obyek data dan obyek lainnyabull Bagaimana hubungan antara obyek dengan proses yang mentransformasikannyaDigunakan Entity Relational Diagram (ERD)

ERD hanya berfokus pada data dengan menunjukkan ldquojaringan datardquo yang ada untuk suatu sistem yang diberikan

continue

Komponen ERD

Entity Relationship Attribute Kardinality Modality

Entitas Sebuah barangobjek 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 datanyaContohAtribut Pegawai

No_pegNamaAlamat

Kardinalitas relasi Angka yang menunjukkan banyaknya

kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi

Kombinasi yang mungkin 11 1N MN

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 9: Pemodelan Analisis

Data Modelling

Untuk dapat menjawab sebagai berikut bull Bagaimana komposisi dari masing-masing obyek data dan atribut apa yang menggambarkan obyek tersebutbull Dimana obyek saat ini beradabull Bagaimana hubungan antara masing-masing obyek data dan obyek lainnyabull Bagaimana hubungan antara obyek dengan proses yang mentransformasikannyaDigunakan Entity Relational Diagram (ERD)

ERD hanya berfokus pada data dengan menunjukkan ldquojaringan datardquo yang ada untuk suatu sistem yang diberikan

continue

Komponen ERD

Entity Relationship Attribute Kardinality Modality

Entitas Sebuah barangobjek 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 datanyaContohAtribut Pegawai

No_pegNamaAlamat

Kardinalitas relasi Angka yang menunjukkan banyaknya

kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi

Kombinasi yang mungkin 11 1N MN

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 10: Pemodelan Analisis

continue

Komponen ERD

Entity Relationship Attribute Kardinality Modality

Entitas Sebuah barangobjek 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 datanyaContohAtribut Pegawai

No_pegNamaAlamat

Kardinalitas relasi Angka yang menunjukkan banyaknya

kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi

Kombinasi yang mungkin 11 1N MN

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 11: Pemodelan Analisis

Komponen ERD

Entity Relationship Attribute Kardinality Modality

Entitas Sebuah barangobjek 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 datanyaContohAtribut Pegawai

No_pegNamaAlamat

Kardinalitas relasi Angka yang menunjukkan banyaknya

kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi

Kombinasi yang mungkin 11 1N MN

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 12: Pemodelan Analisis

Entitas Sebuah barangobjek 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 datanyaContohAtribut Pegawai

No_pegNamaAlamat

Kardinalitas relasi Angka yang menunjukkan banyaknya

kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi

Kombinasi yang mungkin 11 1N MN

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 13: Pemodelan Analisis

Relasi

Atribut

Properti yang dimiliki setiap entitas yang akan disimpan datanyaContohAtribut Pegawai

No_pegNamaAlamat

Kardinalitas relasi Angka yang menunjukkan banyaknya

kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi

Kombinasi yang mungkin 11 1N MN

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 14: Pemodelan Analisis

Atribut

Properti yang dimiliki setiap entitas yang akan disimpan datanyaContohAtribut Pegawai

No_pegNamaAlamat

Kardinalitas relasi Angka yang menunjukkan banyaknya

kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi

Kombinasi yang mungkin 11 1N MN

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 15: Pemodelan Analisis

Kardinalitas relasi Angka yang menunjukkan banyaknya

kemunculan suatu objek terkait dengan kemunculan objek lain pada suatu relasi

Kombinasi yang mungkin 11 1N MN

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 16: Pemodelan Analisis

Contoh dari kardinalitas Satu ke satu (11)

Misalnya seorang suami hanya dapat memiliki satu istri dan seorang istri hanya mempunyai satu suami

Satu ke banyak (1N)Misalnya seorang ibu dapat memiliki banyak anak tetapi seorang anak hanya dapat memiliki satu ibu

Banyak ke banyak (MN)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 rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 17: Pemodelan Analisis

Contoh

lanjutan

Modalitas relasi Partisipasi sebuah entitas pada suatu relasi

0 jika partisipasi bersifat rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 18: Pemodelan Analisis

lanjutan

Modalitas relasi Partisipasi sebuah entitas pada suatu relasi

0 jika partisipasi bersifat rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 19: Pemodelan Analisis

Modalitas relasi Partisipasi sebuah entitas pada suatu relasi

0 jika partisipasi bersifat rdquooptionalrdquo1 jika partisipasi bersifat rdquototalrdquo

contohpartisipasi total

setiap monitor memiliki layarpartisipasi optional

tidak semua mahasiswa memiliki komputer

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 20: Pemodelan Analisis

Contoh

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 21: Pemodelan Analisis

Strongweak 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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 22: Pemodelan Analisis

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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 23: Pemodelan Analisis

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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 24: Pemodelan Analisis

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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 25: Pemodelan Analisis

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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 26: Pemodelan Analisis

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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 27: Pemodelan Analisis

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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 28: Pemodelan Analisis

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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 29: Pemodelan Analisis

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 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 30: Pemodelan Analisis

Data Flow

Simbol 1048790 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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 31: Pemodelan Analisis

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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 32: Pemodelan Analisis

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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 33: Pemodelan Analisis

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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 34: Pemodelan Analisis

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 ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 35: Pemodelan Analisis

Fundamental Software Design Concepts Abstraction ndash allows designers to focus on

solving a problem without being concerned about irrelevant lower level details 1 Procedural abstraction named sequence of events2 Data abstraction named collection of data objects3 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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 36: Pemodelan Analisis

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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 37: Pemodelan Analisis

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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 38: Pemodelan Analisis

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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 39: Pemodelan Analisis

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 organizationstructure)

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 40: Pemodelan Analisis

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 41: Pemodelan Analisis

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 42: Pemodelan Analisis

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

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 43: Pemodelan Analisis

Design Documentation Data Design database structure external

fileinternal 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 humanmachine 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 operationsinstallation manual

Page 44: Pemodelan Analisis

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 operationsinstallation manual