11 rekayasa perangkat lunak arsitektur perangkat lunak
1. 16/05/2013
1
REKAYASA PERANGKAT LUNAKREKAYASA PERANGKAT LUNAK
ARSITEKTUR PERANGKAT LUNAK
2
DEFINISI (1)DEFINISI (1)
• An abstract system specification consisting
primarily of functional components described
in terms of their behaviors and interfaces and
component-component interconnections. The
interconnections define provide by which
components interact.
• How the system is decomposed and organized
into components and must describe the
interfaces between these components.
2. 16/05/2013
2
3
DEFINISI (2)DEFINISI (2)
• The organizational structure of a software system
including components, connections, constraints, and
rationale.
Components can be small pieces of code, such as modules, or
larger chunks, such a stand-alone programs like database
management systems.
Connections in an architecture are abstractions for how
components interact in a system, e.g., procedure calls, pipes,
and remote procedure calls.
An architecture has various constraints and rationales
associated with it, including the constraints on component
selection and the rationale for choosing a specific component
in a given situation.
4
DEFINISI (3)DEFINISI (3)
• Gambaran bagaimana elemen/komponen
fungsional perangkat lunak disusun, diorganisasi
dan distrukturkan sehingga:
Hubungan antar elemen/komponen dapat
dijelaskan.
Interface yang menghubungkan elemen/komponen
dapat didefinisikan.
Wujud dan penempatan elemen/komponen dalam
tempat penyimpanan sekunder secara fisik dapat
ditetapkan.
3. 16/05/2013
3
5
STRUCTURE CHARTSTRUCTURE CHART
• Diagram untuk menggambarkan arsitektur
perangkat lunak secara keseluruhan
tanpa memperlihatkan proses pemilihan
dan pengulangannya secara rinci.
• Menggambarkan arsitektur perangkat
lunak seperti diagram organisasi sebuah
perusahaan.
6
SIMBOL STRUCTURE CHARTSIMBOL STRUCTURE CHART
Simbol Arti
• Modul
• Pemanggilan modul
• Data atau elemen kontrol yang dikirimkan
atau diterima dari satu modul
• Pengulangan di dalam modul
• Penyeleksian kondisi di dalam modul
4. 16/05/2013
4
7
CONTOHSTRUCTURE CHART (1) : PASCALCONTOHSTRUCTURE CHART (1) : PASCAL
• Modul A memanggil modul
B dengan data x dan y
sebagai parameternya.
• Modul B mengirimkan data
p dan q sebagai return
value ke modul A.
A
B
modul pemanggil
modul yang dipanggil
p, q
notasi untuk parameter
output yang diberikan pada
modul pemanggil
x, y
notasi untuk
parameter input
yang dikirimkan
kepada modul
yang dipanggil
Procedure A;
Var p, q : Real;
Procedure B(x, y : Real);
Begin
p := ... { manipulasi nilai p }
q := ... { manipulasi nilai q }
End;
Begin
B(x, y); { call procedure B }
End;
Potongan kode program
dalam bahasa Pascal
8
CONTOHSTRUCTURE CHART (2) : PASCALCONTOHSTRUCTURE CHART (2) : PASCAL
• Modul A akan memanggil
modul B jika kondisi dalam
modul A dipenuhi.
• Modul A akan memanggil
modul C secara berulang.
Procedure C;
Begin
...
End;
Procedure B;
Begin
...
End;
Procedure A;
Begin
If True Then B; {call procedure B}
While True Do C; {call procedure C}
End;
Potongan kode program
dalam bahasa Pascal
A
B C
5. 16/05/2013
5
9
CONTOHSTRUCTURE CHART (3) : PHPCONTOHSTRUCTURE CHART (3) : PHP
<html>
...
<form method=post action=Rekam.php>
...
</html>
<?
// Rekam.php
function getId() {
}
function saveId(id) {
}
id = getId();
saveId(id)
?>
FormInput.html
Rekam.php
FormInput
Rekam
getId saveId
id id
10
CONTOHSTRUCTURE CHART (4) : DELPHICONTOHSTRUCTURE CHART (4) : DELPHI
unit main;
...
var
Form1: TForm1;
implementation
uses Rekam;
procedure TForm1.Click(Sender: TObject);
begin
frmRekam.Show;
end;
end.
unit Rekam;
...
var
frmRekam: TForm1;
implementation
...
end.
main.pas
rekam.pas
Main
Rekam