Desain Arsitektur
Slide Set untuk menyertakan
Untuk non-profit tujuan pendidikan Dapat diperbanyakkan HANYA untuk digunakan siswa di tingkat universitas bila digunakan dalam hubungannya dengan Rekayasa Perangkat Lunak:. Pendekatan Praktisi, 7 / e Setiap reproduksi atau penggunaan lainnya adalah dilarang tanpa izin tertulis dari penulis. Semua informasi hak cipta harus muncul jika slide ini diposting di sebuah situs web untuk digunakan siswa.
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 1
Mengapa Arsitektur?
Arsitektur bukanlah software operasional. Sebaliknya, itu merupakan representasi yang memungkinkan seorang insinyur perangkat lunak untuk: (1) menganalisis efektivitas desain dalam memenuhi persyaratan yang dinyatakannya, (2) mempertimbangkan alternatif arsitektur pada tahap ketika membuat perubahan desain masih relatif mudah, dan (3) mengurangi risiko yang terkait dengan pembangunan perangkat lunak.
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Representasi dari arsitektur perangkat lunak merupakan enabler untuk komunikasi antara semua pihak (stakeholders) yang tertarik dalam pengembangan sistem berbasis komputer. Arsitektur menyoroti keputusan desain awal yang akan memiliki dampak yang mendalam pada semua pekerjaan rekayasa perangkat lunak yang berikut dan, sama pentingnya, pada keberhasilan akhir dari sistem sebagai suatu entitas operasional. Arsitektur "merupakan, modus intelektual graspable relatif kecil bagaimana sistem yang terstruktur dan bagaimana komponennya bekerja sama" [BAS03].
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Deskripsi Arsitektur
IEEE Computer Society telah mengusulkan IEEE-Std-1471-2000, Rekomendasi Praktek untuk Deskripsi Arsitektur Software-Intensif System, [IEE00] untuk membangun kerangka kerja konseptual dan kosakata untuk digunakan selama desain arsitektur perangkat lunak, untuk memberikan pedoman rinci untuk mewakili deskripsi arsitektur, dan untuk mendorong praktek desain arsitektur suara. The IEEE Standard mendefinisikan deskripsi arsitektur (AD) sebagai "kumpulan produk untuk mendokumentasikan arsitektur." Gambaran itu sendiri diwakili menggunakan beberapa pandangan, di mana setiap pandangan adalah "representasi dari seluruh sistem dari perspektif yang saling terkait [stakeholders] kekhawatiran."
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Genre Arsitektur
Genre menyiratkan kategori tertentu dalam domain perangkat lunak secara keseluruhan. Dalam setiap kategori, Anda menemukan sejumlah subkategori. Sebagai contoh, dalam genre bangunan, Anda akan menemukan gaya umum berikut: rumah, kondominium, gedung-gedung apartemen, gedung perkantoran, bangunan industri, gudang, dan sebagainya. Dalam setiap gaya umum, gaya yang lebih spesifik mungkin berlaku. Setiap gaya akan memiliki struktur yang dapat digambarkan dengan menggunakan satu set pola diprediksi.
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Data-centered architectures Data flow architectures Call and return architectures Object-oriented architectures Layered architectures
6
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Data-Centered Architecture
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Layered Architecture
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
10
Pola Arsitektural
Concurrencyaplikasi harus menangani banyak tugas dalam pola yang mensimulasikan paralelisasi operating system process management pattern task scheduler pattern PersistenceData ada jika dia bertahan setelah eksekusi proses yang membuatnya. Ada dua pattern umum ::
database management system pattern yang menerapkan penyimpanan dan pengambilan dari DBMS kepada arsitektur aplikasi application level persistence pattern yang membangun fitur persistence pada aristektur aplikasi
Distribution pola dimana sistem atau komponen2x di antaranya berkomunkasi dalam lingkungan terdistribusi
broker bertindak sebagai orang di tengah antara komponen klient dan komponen server.
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
11
Desain Arsitektur
Perangkat lunak ini harus ditempatkan dalam konteks desain harus menentukan entitas eksternal (sistem lain, perangkat, orang-orang) yang berinteraksi dengan perangkat lunak dan sifat interaksi Satu set arketipe arsitektur harus diidentifikasi Sebuah archetype adalah abstraksi (mirip dengan kelas) yang merupakan salah satu unsur perilaku sistem Perancang menentukan struktur sistem dengan mendefinisikan dan menyempurnakan komponen perangkat lunak yang melaksanakan setiap archetype
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
12
Architectural Context
Safehome Product Internet-based system
control panel
uses
homeowner
uses
sensors
sensors
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
13
Archetypes
Cont roller communicat es wit h
Node
Det ect or
Indicat or
10.7 UML relat ionships f or Saf eHome securit y f unct ion archet ypes These slides are designed toFigure accompany Software Engineering: A Practitioners Approach, 7/e (adapt ed f rom [ BOS00] ) (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
14
Component Structure
SafeHome Execut ive Funct ion select ion
Securit y
Surveillance
Home management
GUI
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
15
scheduler
alarm sensor sensor sensor sensor sensor sensor sensor sensor sensor
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
16
Kompleksitas arsitektur
kompleksitas keseluruhan arsitektur yang diusulkan dinilai dengan mempertimbangkan dependensi antara komponen dalam arsitektur [Zha98]
Berbagi dependensi mewakili hubungan ketergantungan antara konsumen yang menggunakan sumber daya yang sama atau produsen yang memproduksi untuk konsumen yang sama. Arus dependensi mewakili hubungan ketergantungan antara produsen dan konsumen sumber daya. Dependensi Dibatasi merupakan kendala pada aliran relatif kontrol di antara serangkaian kegiatan.
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
18
Arsitektur bahasa deskripsi (ADL) menyediakan semantik dan sintaks untuk menggambarkan arsitektur perangkat lunak Menyediakan desainer dengan kemampuan untuk:
Dekomposi komponen arsitektur menyusun komponen individu menjadi blok-blok arsitektur yang lebih besar dan merupakan interface (mekanisme koneksi) antar komponen.
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
19
architectural design
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
20
Program Architecture
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
21
Partisi Arsitektur
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
22
Partisi Horizontal
Tentukan cabang yang terpisah pada hierarki modul untuk setiap fungsi utama Gunakan modul kontrol untuk koodinasi komunikasi antar fungsi-fungsinya
function 1 function 3
function 2
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 23
Didesain sehingga pengambilan keputusan dan pekerjaan distratifikasi Modul pengambilan keputusan tetap ada di puncak arsitektur
decision-makers
workers
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
24
Hasilnya adalah Perangkat Lunak yang mudah diuji Membawa kepada Perangkat Lunak yang lebih mudah dikelola Hasilnya efek samping yang semakin sedikit Hasilnya adalah Perangkat Lunak yang lebih mudah dikembangkan
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
25
Desain Terstruktur
DFD dipetakan ke arsitektur program PSPEC dan STD digunakan untuk mengindikasikan setiap modul
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
26
Flow Characteristics
Transform flow
This edition of SEPA does not cover transaction mapping. For a detailed discussion see the SEPA website
Transaction flow
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
27
Mengisolasi transformasi pusat dengan menetapkan batas-batas aliran masuk dan keluar Lakukan "tingkat pertama anjak piutang." Arsitektur program diturunkan menggunakan hasil pemetaan ini dalam distribusi top-down kontrol. Anjak mengarah ke struktur program di mana komponen tingkat atas melakukan pengambilan keputusan dan komponen tingkat rendah melakukan sebagian input, perhitungan, dan bekerja output. Komponen tingkat menengah melakukan beberapa kontrol dan melakukan jumlah moderat kerja. Lakukan "second-level factoring."
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
29
Pemetaan Transformasi
a b d c data flow model x1 x2 b a c d x3 e f g h x4 i j e f g i h
"Transform" mapping
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
30
Factoring
direction of increasing decision making typical "decision making" modules
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
31
input controller
processing controller
output controller
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
32
A A B C
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
33