From 1be2085d94217703d582d04a4d030e451b169a61 Mon Sep 17 00:00:00 2001 From: Marco Realacci Date: Mon, 14 Nov 2022 16:30:34 +0100 Subject: [PATCH] Add 06/21 by Matteo --- Ingegneria del Software/0621_0/correct.txt | 14 +++++++++ Ingegneria del Software/0621_0/quest.txt | 4 +++ Ingegneria del Software/0621_0/wrong0.txt | 14 +++++++++ Ingegneria del Software/0621_0/wrong1.txt | 14 +++++++++ Ingegneria del Software/0621_1/correct.txt | 14 +++++++++ Ingegneria del Software/0621_1/quest.txt | 1 + Ingegneria del Software/0621_1/wrong1.txt | 13 ++++++++ Ingegneria del Software/0621_1/wrong2.txt | 13 ++++++++ Ingegneria del Software/0621_10/correct.txt | 1 + Ingegneria del Software/0621_10/quest.txt | 13 ++++++++ Ingegneria del Software/0621_10/wrong0.txt | 1 + Ingegneria del Software/0621_10/wrong1.txt | 1 + Ingegneria del Software/0621_11/correct.txt | 13 ++++++++ Ingegneria del Software/0621_11/quest.txt | 5 +++ Ingegneria del Software/0621_11/wrong0.txt | 13 ++++++++ Ingegneria del Software/0621_11/wrong1.txt | 14 +++++++++ Ingegneria del Software/0621_12/quest.txt | 4 +++ Ingegneria del Software/0621_12/wrong0.txt | 19 +++++++++++ Ingegneria del Software/0621_12/wrong1.txt | 19 +++++++++++ Ingegneria del Software/0621_12/wrong2.txt | 19 +++++++++++ Ingegneria del Software/0621_13/correct.txt | 1 + Ingegneria del Software/0621_13/quest.txt | 1 + Ingegneria del Software/0621_13/wrong0.txt | 1 + Ingegneria del Software/0621_13/wrong1.txt | 1 + Ingegneria del Software/0621_14/correct.txt | 1 + Ingegneria del Software/0621_14/quest.txt | 1 + Ingegneria del Software/0621_14/wrong0.txt | 1 + Ingegneria del Software/0621_14/wrong1.txt | 1 + Ingegneria del Software/0621_15/correct.txt | 1 + Ingegneria del Software/0621_15/quest.txt | 1 + Ingegneria del Software/0621_15/wrong0.txt | 1 + Ingegneria del Software/0621_15/wrong1.txt | 1 + Ingegneria del Software/0621_16/correct.txt | 1 + Ingegneria del Software/0621_16/quest.txt | 1 + Ingegneria del Software/0621_16/wrong0.txt | 1 + Ingegneria del Software/0621_16/wrong1.txt | 1 + Ingegneria del Software/0621_17/correct.txt | 13 ++++++++ Ingegneria del Software/0621_17/quest.txt | 5 +++ Ingegneria del Software/0621_17/wrong0.txt | 14 +++++++++ Ingegneria del Software/0621_17/wrong1.txt | 13 ++++++++ Ingegneria del Software/0621_18/correct.txt | 1 + Ingegneria del Software/0621_18/quest.txt | 1 + Ingegneria del Software/0621_18/wrong0.txt | 1 + Ingegneria del Software/0621_18/wrong1.txt | 1 + Ingegneria del Software/0621_19/correct.txt | 1 + Ingegneria del Software/0621_19/quest.txt | 13 ++++++++ Ingegneria del Software/0621_19/wrong0.txt | 1 + Ingegneria del Software/0621_19/wrong1.txt | 1 + Ingegneria del Software/0621_2/correct.txt | 1 + Ingegneria del Software/0621_2/quest.txt | 1 + Ingegneria del Software/0621_2/wrong0.txt | 1 + Ingegneria del Software/0621_2/wrong1.txt | 1 + Ingegneria del Software/0621_20/correct.txt | 1 + Ingegneria del Software/0621_20/quest.txt | 1 + Ingegneria del Software/0621_20/wrong0.txt | 1 + Ingegneria del Software/0621_20/wrong1.txt | 1 + Ingegneria del Software/0621_21/correct.txt | 1 + Ingegneria del Software/0621_21/quest.txt | 1 + Ingegneria del Software/0621_21/wrong0.txt | 1 + Ingegneria del Software/0621_21/wrong1.txt | 1 + Ingegneria del Software/0621_22/1.png | Bin 0 -> 30201 bytes Ingegneria del Software/0621_22/2.png | Bin 0 -> 24284 bytes Ingegneria del Software/0621_22/3.png | Bin 0 -> 21916 bytes Ingegneria del Software/0621_22/correct.txt | 1 + Ingegneria del Software/0621_22/quest.txt | 1 + Ingegneria del Software/0621_22/wrong0.txt | 1 + Ingegneria del Software/0621_22/wrong1.txt | 1 + Ingegneria del Software/0621_23/correct.txt | 15 +++++++++ Ingegneria del Software/0621_23/quest.txt | 3 ++ Ingegneria del Software/0621_23/wrong0.txt | 15 +++++++++ Ingegneria del Software/0621_23/wrong1.txt | 15 +++++++++ Ingegneria del Software/0621_24/correct.txt | 1 + Ingegneria del Software/0621_24/quest.txt | 17 ++++++++++ Ingegneria del Software/0621_24/wrong0.txt | 1 + Ingegneria del Software/0621_24/wrong1.txt | 1 + Ingegneria del Software/0621_25/correct.txt | 12 +++++++ Ingegneria del Software/0621_25/quest.txt | 1 + Ingegneria del Software/0621_25/wrong1.txt | 12 +++++++ Ingegneria del Software/0621_25/wrong2.txt | 12 +++++++ Ingegneria del Software/0621_26/correct.txt | 1 + Ingegneria del Software/0621_26/quest.txt | 1 + Ingegneria del Software/0621_26/wrong0.txt | 1 + Ingegneria del Software/0621_26/wrong1.txt | 1 + Ingegneria del Software/0621_27/correct.txt | 1 + Ingegneria del Software/0621_27/quest.txt | 1 + Ingegneria del Software/0621_27/wrong0.txt | 1 + Ingegneria del Software/0621_27/wrong1.txt | 1 + Ingegneria del Software/0621_28/1.png | Bin 0 -> 21916 bytes Ingegneria del Software/0621_28/correct.txt | 33 ++++++++++++++++++++ Ingegneria del Software/0621_28/quest.txt | 3 ++ Ingegneria del Software/0621_28/wrong0.txt | 33 ++++++++++++++++++++ Ingegneria del Software/0621_28/wrong2.txt | 33 ++++++++++++++++++++ Ingegneria del Software/0621_29/correct.txt | 1 + Ingegneria del Software/0621_29/quest.txt | 1 + Ingegneria del Software/0621_29/wrong0.txt | 1 + Ingegneria del Software/0621_29/wrong1.txt | 1 + Ingegneria del Software/0621_3/correct.txt | 1 + Ingegneria del Software/0621_3/quest.txt | 1 + Ingegneria del Software/0621_3/wrong0.txt | 1 + Ingegneria del Software/0621_3/wrong1.txt | 1 + Ingegneria del Software/0621_30/correct.txt | 13 ++++++++ Ingegneria del Software/0621_30/quest.txt | 5 +++ Ingegneria del Software/0621_30/wrong0.txt | 13 ++++++++ Ingegneria del Software/0621_30/wrong1.txt | 13 ++++++++ Ingegneria del Software/0621_31/correct.txt | 1 + Ingegneria del Software/0621_31/quest.txt | 1 + Ingegneria del Software/0621_31/wrong0.txt | 1 + Ingegneria del Software/0621_31/wrong1.txt | 1 + Ingegneria del Software/0621_32/correct.txt | 1 + Ingegneria del Software/0621_32/quest.txt | 17 ++++++++++ Ingegneria del Software/0621_32/wrong0.txt | 1 + Ingegneria del Software/0621_32/wrong1.txt | 1 + Ingegneria del Software/0621_33/correct.txt | 1 + Ingegneria del Software/0621_33/quest.txt | 1 + Ingegneria del Software/0621_33/wrong0.txt | 1 + Ingegneria del Software/0621_33/wrong1.txt | 1 + Ingegneria del Software/0621_34/correct.txt | 15 +++++++++ Ingegneria del Software/0621_34/quest.txt | 3 ++ Ingegneria del Software/0621_34/wrong0.txt | 15 +++++++++ Ingegneria del Software/0621_34/wrong1.txt | 15 +++++++++ Ingegneria del Software/0621_35/correct.txt | 1 + Ingegneria del Software/0621_35/quest.txt | 1 + Ingegneria del Software/0621_35/wrong0.txt | 1 + Ingegneria del Software/0621_35/wrong1.txt | 1 + Ingegneria del Software/0621_36/correct.txt | 15 +++++++++ Ingegneria del Software/0621_36/quest.txt | 3 ++ Ingegneria del Software/0621_36/wrong0.txt | 15 +++++++++ Ingegneria del Software/0621_36/wrong1.txt | 15 +++++++++ Ingegneria del Software/0621_37/correct.txt | 13 ++++++++ Ingegneria del Software/0621_37/quest.txt | 1 + Ingegneria del Software/0621_37/wrong0.txt | 13 ++++++++ Ingegneria del Software/0621_37/wrong2.txt | 13 ++++++++ Ingegneria del Software/0621_38/correct.txt | 1 + Ingegneria del Software/0621_38/quest.txt | 1 + Ingegneria del Software/0621_38/wrong0.txt | 1 + Ingegneria del Software/0621_38/wrong1.txt | 1 + Ingegneria del Software/0621_39/1.png | Bin 0 -> 26956 bytes Ingegneria del Software/0621_39/2.png | Bin 0 -> 30201 bytes Ingegneria del Software/0621_39/3.png | Bin 0 -> 24284 bytes Ingegneria del Software/0621_39/correct.txt | 1 + Ingegneria del Software/0621_39/quest.txt | 1 + Ingegneria del Software/0621_39/wrong0.txt | 1 + Ingegneria del Software/0621_39/wrong1.txt | 1 + Ingegneria del Software/0621_4/correct.txt | 1 + Ingegneria del Software/0621_4/quest.txt | 1 + Ingegneria del Software/0621_4/wrong0.txt | 1 + Ingegneria del Software/0621_4/wrong1.txt | 1 + Ingegneria del Software/0621_5/correct.txt | 15 +++++++++ Ingegneria del Software/0621_5/quest.txt | 3 ++ Ingegneria del Software/0621_5/wrong0.txt | 15 +++++++++ Ingegneria del Software/0621_5/wrong1.txt | 15 +++++++++ Ingegneria del Software/0621_6/1.png | Bin 0 -> 10560 bytes Ingegneria del Software/0621_6/correct.txt | 16 ++++++++++ Ingegneria del Software/0621_6/quest.txt | 3 ++ Ingegneria del Software/0621_6/wrong0.txt | 16 ++++++++++ Ingegneria del Software/0621_6/wrong1.txt | 16 ++++++++++ Ingegneria del Software/0621_7/correct.txt | 1 + Ingegneria del Software/0621_7/quest.txt | 1 + Ingegneria del Software/0621_7/wrong0.txt | 1 + Ingegneria del Software/0621_7/wrong1.txt | 1 + Ingegneria del Software/0621_8/1.png | Bin 0 -> 26956 bytes Ingegneria del Software/0621_8/correct.txt | 33 ++++++++++++++++++++ Ingegneria del Software/0621_8/quest.txt | 3 ++ Ingegneria del Software/0621_8/wrong0.txt | 33 ++++++++++++++++++++ Ingegneria del Software/0621_8/wrong1.txt | 33 ++++++++++++++++++++ Ingegneria del Software/0621_9/correct.txt | 1 + Ingegneria del Software/0621_9/quest.txt | 1 + Ingegneria del Software/0621_9/wrong0.txt | 1 + Ingegneria del Software/0621_9/wrong1.txt | 1 + 169 files changed, 962 insertions(+) create mode 100644 Ingegneria del Software/0621_0/correct.txt create mode 100644 Ingegneria del Software/0621_0/quest.txt create mode 100644 Ingegneria del Software/0621_0/wrong0.txt create mode 100644 Ingegneria del Software/0621_0/wrong1.txt create mode 100644 Ingegneria del Software/0621_1/correct.txt create mode 100644 Ingegneria del Software/0621_1/quest.txt create mode 100644 Ingegneria del Software/0621_1/wrong1.txt create mode 100644 Ingegneria del Software/0621_1/wrong2.txt create mode 100644 Ingegneria del Software/0621_10/correct.txt create mode 100644 Ingegneria del Software/0621_10/quest.txt create mode 100644 Ingegneria del Software/0621_10/wrong0.txt create mode 100644 Ingegneria del Software/0621_10/wrong1.txt create mode 100644 Ingegneria del Software/0621_11/correct.txt create mode 100644 Ingegneria del Software/0621_11/quest.txt create mode 100644 Ingegneria del Software/0621_11/wrong0.txt create mode 100644 Ingegneria del Software/0621_11/wrong1.txt create mode 100644 Ingegneria del Software/0621_12/quest.txt create mode 100644 Ingegneria del Software/0621_12/wrong0.txt create mode 100644 Ingegneria del Software/0621_12/wrong1.txt create mode 100644 Ingegneria del Software/0621_12/wrong2.txt create mode 100644 Ingegneria del Software/0621_13/correct.txt create mode 100644 Ingegneria del Software/0621_13/quest.txt create mode 100644 Ingegneria del Software/0621_13/wrong0.txt create mode 100644 Ingegneria del Software/0621_13/wrong1.txt create mode 100644 Ingegneria del Software/0621_14/correct.txt create mode 100644 Ingegneria del Software/0621_14/quest.txt create mode 100644 Ingegneria del Software/0621_14/wrong0.txt create mode 100644 Ingegneria del Software/0621_14/wrong1.txt create mode 100644 Ingegneria del Software/0621_15/correct.txt create mode 100644 Ingegneria del Software/0621_15/quest.txt create mode 100644 Ingegneria del Software/0621_15/wrong0.txt create mode 100644 Ingegneria del Software/0621_15/wrong1.txt create mode 100644 Ingegneria del Software/0621_16/correct.txt create mode 100644 Ingegneria del Software/0621_16/quest.txt create mode 100644 Ingegneria del Software/0621_16/wrong0.txt create mode 100644 Ingegneria del Software/0621_16/wrong1.txt create mode 100644 Ingegneria del Software/0621_17/correct.txt create mode 100644 Ingegneria del Software/0621_17/quest.txt create mode 100644 Ingegneria del Software/0621_17/wrong0.txt create mode 100644 Ingegneria del Software/0621_17/wrong1.txt create mode 100644 Ingegneria del Software/0621_18/correct.txt create mode 100644 Ingegneria del Software/0621_18/quest.txt create mode 100644 Ingegneria del Software/0621_18/wrong0.txt create mode 100644 Ingegneria del Software/0621_18/wrong1.txt create mode 100644 Ingegneria del Software/0621_19/correct.txt create mode 100644 Ingegneria del Software/0621_19/quest.txt create mode 100644 Ingegneria del Software/0621_19/wrong0.txt create mode 100644 Ingegneria del Software/0621_19/wrong1.txt create mode 100644 Ingegneria del Software/0621_2/correct.txt create mode 100644 Ingegneria del Software/0621_2/quest.txt create mode 100644 Ingegneria del Software/0621_2/wrong0.txt create mode 100644 Ingegneria del Software/0621_2/wrong1.txt create mode 100644 Ingegneria del Software/0621_20/correct.txt create mode 100644 Ingegneria del Software/0621_20/quest.txt create mode 100644 Ingegneria del Software/0621_20/wrong0.txt create mode 100644 Ingegneria del Software/0621_20/wrong1.txt create mode 100644 Ingegneria del Software/0621_21/correct.txt create mode 100644 Ingegneria del Software/0621_21/quest.txt create mode 100644 Ingegneria del Software/0621_21/wrong0.txt create mode 100644 Ingegneria del Software/0621_21/wrong1.txt create mode 100644 Ingegneria del Software/0621_22/1.png create mode 100644 Ingegneria del Software/0621_22/2.png create mode 100644 Ingegneria del Software/0621_22/3.png create mode 100644 Ingegneria del Software/0621_22/correct.txt create mode 100644 Ingegneria del Software/0621_22/quest.txt create mode 100644 Ingegneria del Software/0621_22/wrong0.txt create mode 100644 Ingegneria del Software/0621_22/wrong1.txt create mode 100644 Ingegneria del Software/0621_23/correct.txt create mode 100644 Ingegneria del Software/0621_23/quest.txt create mode 100644 Ingegneria del Software/0621_23/wrong0.txt create mode 100644 Ingegneria del Software/0621_23/wrong1.txt create mode 100644 Ingegneria del Software/0621_24/correct.txt create mode 100644 Ingegneria del Software/0621_24/quest.txt create mode 100644 Ingegneria del Software/0621_24/wrong0.txt create mode 100644 Ingegneria del Software/0621_24/wrong1.txt create mode 100644 Ingegneria del Software/0621_25/correct.txt create mode 100644 Ingegneria del Software/0621_25/quest.txt create mode 100644 Ingegneria del Software/0621_25/wrong1.txt create mode 100644 Ingegneria del Software/0621_25/wrong2.txt create mode 100644 Ingegneria del Software/0621_26/correct.txt create mode 100644 Ingegneria del Software/0621_26/quest.txt create mode 100644 Ingegneria del Software/0621_26/wrong0.txt create mode 100644 Ingegneria del Software/0621_26/wrong1.txt create mode 100644 Ingegneria del Software/0621_27/correct.txt create mode 100644 Ingegneria del Software/0621_27/quest.txt create mode 100644 Ingegneria del Software/0621_27/wrong0.txt create mode 100644 Ingegneria del Software/0621_27/wrong1.txt create mode 100644 Ingegneria del Software/0621_28/1.png create mode 100644 Ingegneria del Software/0621_28/correct.txt create mode 100644 Ingegneria del Software/0621_28/quest.txt create mode 100644 Ingegneria del Software/0621_28/wrong0.txt create mode 100644 Ingegneria del Software/0621_28/wrong2.txt create mode 100644 Ingegneria del Software/0621_29/correct.txt create mode 100644 Ingegneria del Software/0621_29/quest.txt create mode 100644 Ingegneria del Software/0621_29/wrong0.txt create mode 100644 Ingegneria del Software/0621_29/wrong1.txt create mode 100644 Ingegneria del Software/0621_3/correct.txt create mode 100644 Ingegneria del Software/0621_3/quest.txt create mode 100644 Ingegneria del Software/0621_3/wrong0.txt create mode 100644 Ingegneria del Software/0621_3/wrong1.txt create mode 100644 Ingegneria del Software/0621_30/correct.txt create mode 100644 Ingegneria del Software/0621_30/quest.txt create mode 100644 Ingegneria del Software/0621_30/wrong0.txt create mode 100644 Ingegneria del Software/0621_30/wrong1.txt create mode 100644 Ingegneria del Software/0621_31/correct.txt create mode 100644 Ingegneria del Software/0621_31/quest.txt create mode 100644 Ingegneria del Software/0621_31/wrong0.txt create mode 100644 Ingegneria del Software/0621_31/wrong1.txt create mode 100644 Ingegneria del Software/0621_32/correct.txt create mode 100644 Ingegneria del Software/0621_32/quest.txt create mode 100644 Ingegneria del Software/0621_32/wrong0.txt create mode 100644 Ingegneria del Software/0621_32/wrong1.txt create mode 100644 Ingegneria del Software/0621_33/correct.txt create mode 100644 Ingegneria del Software/0621_33/quest.txt create mode 100644 Ingegneria del Software/0621_33/wrong0.txt create mode 100644 Ingegneria del Software/0621_33/wrong1.txt create mode 100644 Ingegneria del Software/0621_34/correct.txt create mode 100644 Ingegneria del Software/0621_34/quest.txt create mode 100644 Ingegneria del Software/0621_34/wrong0.txt create mode 100644 Ingegneria del Software/0621_34/wrong1.txt create mode 100644 Ingegneria del Software/0621_35/correct.txt create mode 100644 Ingegneria del Software/0621_35/quest.txt create mode 100644 Ingegneria del Software/0621_35/wrong0.txt create mode 100644 Ingegneria del Software/0621_35/wrong1.txt create mode 100644 Ingegneria del Software/0621_36/correct.txt create mode 100644 Ingegneria del Software/0621_36/quest.txt create mode 100644 Ingegneria del Software/0621_36/wrong0.txt create mode 100644 Ingegneria del Software/0621_36/wrong1.txt create mode 100644 Ingegneria del Software/0621_37/correct.txt create mode 100644 Ingegneria del Software/0621_37/quest.txt create mode 100644 Ingegneria del Software/0621_37/wrong0.txt create mode 100644 Ingegneria del Software/0621_37/wrong2.txt create mode 100644 Ingegneria del Software/0621_38/correct.txt create mode 100644 Ingegneria del Software/0621_38/quest.txt create mode 100644 Ingegneria del Software/0621_38/wrong0.txt create mode 100644 Ingegneria del Software/0621_38/wrong1.txt create mode 100644 Ingegneria del Software/0621_39/1.png create mode 100644 Ingegneria del Software/0621_39/2.png create mode 100644 Ingegneria del Software/0621_39/3.png create mode 100644 Ingegneria del Software/0621_39/correct.txt create mode 100644 Ingegneria del Software/0621_39/quest.txt create mode 100644 Ingegneria del Software/0621_39/wrong0.txt create mode 100644 Ingegneria del Software/0621_39/wrong1.txt create mode 100644 Ingegneria del Software/0621_4/correct.txt create mode 100644 Ingegneria del Software/0621_4/quest.txt create mode 100644 Ingegneria del Software/0621_4/wrong0.txt create mode 100644 Ingegneria del Software/0621_4/wrong1.txt create mode 100644 Ingegneria del Software/0621_5/correct.txt create mode 100644 Ingegneria del Software/0621_5/quest.txt create mode 100644 Ingegneria del Software/0621_5/wrong0.txt create mode 100644 Ingegneria del Software/0621_5/wrong1.txt create mode 100644 Ingegneria del Software/0621_6/1.png create mode 100644 Ingegneria del Software/0621_6/correct.txt create mode 100644 Ingegneria del Software/0621_6/quest.txt create mode 100644 Ingegneria del Software/0621_6/wrong0.txt create mode 100644 Ingegneria del Software/0621_6/wrong1.txt create mode 100644 Ingegneria del Software/0621_7/correct.txt create mode 100644 Ingegneria del Software/0621_7/quest.txt create mode 100644 Ingegneria del Software/0621_7/wrong0.txt create mode 100644 Ingegneria del Software/0621_7/wrong1.txt create mode 100644 Ingegneria del Software/0621_8/1.png create mode 100644 Ingegneria del Software/0621_8/correct.txt create mode 100644 Ingegneria del Software/0621_8/quest.txt create mode 100644 Ingegneria del Software/0621_8/wrong0.txt create mode 100644 Ingegneria del Software/0621_8/wrong1.txt create mode 100644 Ingegneria del Software/0621_9/correct.txt create mode 100644 Ingegneria del Software/0621_9/quest.txt create mode 100644 Ingegneria del Software/0621_9/wrong0.txt create mode 100644 Ingegneria del Software/0621_9/wrong1.txt diff --git a/Ingegneria del Software/0621_0/correct.txt b/Ingegneria del Software/0621_0/correct.txt new file mode 100644 index 0000000..81ceb23 --- /dev/null +++ b/Ingegneria del Software/0621_0/correct.txt @@ -0,0 +1,14 @@ +class Monitor + +InputReal x, y, z; // plant output +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 50) and (x < 0.6*y) and (x + y <= 0.3*z); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_0/quest.txt b/Ingegneria del Software/0621_0/quest.txt new file mode 100644 index 0000000..2eb7f69 --- /dev/null +++ b/Ingegneria del Software/0621_0/quest.txt @@ -0,0 +1,4 @@ +Si consideri il seguente requisito: +RQ: Dopo 50 unità di tempo dall'inizio dell'esecuzione vale la seguente proprietà: +se la variabile x è minore del 60% della variabile y allora la somma di x ed y è maggiore del 30% della variabile z +Quale dei seguenti monitor meglio descrive il requisito RQ ? \ No newline at end of file diff --git a/Ingegneria del Software/0621_0/wrong0.txt b/Ingegneria del Software/0621_0/wrong0.txt new file mode 100644 index 0000000..e09501c --- /dev/null +++ b/Ingegneria del Software/0621_0/wrong0.txt @@ -0,0 +1,14 @@ +class Monitor + +InputReal x, y, z; // plant output +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 50) and (x >= 0.6*y) and (x + y <= 0.3*z); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_0/wrong1.txt b/Ingegneria del Software/0621_0/wrong1.txt new file mode 100644 index 0000000..f7ab72e --- /dev/null +++ b/Ingegneria del Software/0621_0/wrong1.txt @@ -0,0 +1,14 @@ +class Monitor + +InputReal x, y, z; // plant output +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 50) and (x < 0.6*y) and (x + y > 0.3*z); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_1/correct.txt b/Ingegneria del Software/0621_1/correct.txt new file mode 100644 index 0000000..b740a0a --- /dev/null +++ b/Ingegneria del Software/0621_1/correct.txt @@ -0,0 +1,14 @@ +model System +Integer y; +Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +equation +y = if (r1024 <= 0.3) then 1 else 0; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +end when; +end System; \ No newline at end of file diff --git a/Ingegneria del Software/0621_1/quest.txt b/Ingegneria del Software/0621_1/quest.txt new file mode 100644 index 0000000..5a1289f --- /dev/null +++ b/Ingegneria del Software/0621_1/quest.txt @@ -0,0 +1 @@ +Si consideri l'ambiente (use case) che consiste di un utente che, ad ogni unità di tempo (ad esempio, un secondo) manda al nostro sistema input 1 (ad esempio, esegue una prenotazione) con probabilità 0.3 oppure input 0 con probabilità 0.7. Quale dei seguenti modelli Modelica rappresenta correttamente tale ambiente. \ No newline at end of file diff --git a/Ingegneria del Software/0621_1/wrong1.txt b/Ingegneria del Software/0621_1/wrong1.txt new file mode 100644 index 0000000..57fc69d --- /dev/null +++ b/Ingegneria del Software/0621_1/wrong1.txt @@ -0,0 +1,13 @@ +model System +Integer y; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +equation +y = if (r1024 <= 0.3) then 0 else 1; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +end when; +end System; \ No newline at end of file diff --git a/Ingegneria del Software/0621_1/wrong2.txt b/Ingegneria del Software/0621_1/wrong2.txt new file mode 100644 index 0000000..3390b13 --- /dev/null +++ b/Ingegneria del Software/0621_1/wrong2.txt @@ -0,0 +1,13 @@ +model System +Integer y; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +equation +y = if (r1024 >= 0.3) then 1 else 0; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +end when; +end System; \ No newline at end of file diff --git a/Ingegneria del Software/0621_10/correct.txt b/Ingegneria del Software/0621_10/correct.txt new file mode 100644 index 0000000..f8c9568 --- /dev/null +++ b/Ingegneria del Software/0621_10/correct.txt @@ -0,0 +1 @@ +Per tutti gli istanti di tempo della forma 1 + 4*k (con k = 0, 1, 2, 3, ...) x vale 1. \ No newline at end of file diff --git a/Ingegneria del Software/0621_10/quest.txt b/Ingegneria del Software/0621_10/quest.txt new file mode 100644 index 0000000..ba1496d --- /dev/null +++ b/Ingegneria del Software/0621_10/quest.txt @@ -0,0 +1,13 @@ +Si consideri il seguente modello Modelica: + +class System +Integer x; +initial equation +x = 0; +equation +when sample(0, 2) then + x = 1 - pre(x); +end when; +end System; + +Quale delle seguenti affermazioni è vera per la variabile intera x? \ No newline at end of file diff --git a/Ingegneria del Software/0621_10/wrong0.txt b/Ingegneria del Software/0621_10/wrong0.txt new file mode 100644 index 0000000..f485a50 --- /dev/null +++ b/Ingegneria del Software/0621_10/wrong0.txt @@ -0,0 +1 @@ +Per tutti gli istanti di tempo della forma 3 + 4*k (con k = 0, 1, 2, 3, ...) x vale 1. \ No newline at end of file diff --git a/Ingegneria del Software/0621_10/wrong1.txt b/Ingegneria del Software/0621_10/wrong1.txt new file mode 100644 index 0000000..a7af2cb --- /dev/null +++ b/Ingegneria del Software/0621_10/wrong1.txt @@ -0,0 +1 @@ +Per tutti gli istanti di tempo della forma 1 + 4*k (con k = 0, 1, 2, 3, ...) x vale 0. \ No newline at end of file diff --git a/Ingegneria del Software/0621_11/correct.txt b/Ingegneria del Software/0621_11/correct.txt new file mode 100644 index 0000000..896ce37 --- /dev/null +++ b/Ingegneria del Software/0621_11/correct.txt @@ -0,0 +1,13 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 60) and (delay(x, 10) > 0) and (y >= 0); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_11/quest.txt b/Ingegneria del Software/0621_11/quest.txt new file mode 100644 index 0000000..06f6627 --- /dev/null +++ b/Ingegneria del Software/0621_11/quest.txt @@ -0,0 +1,5 @@ +Si consideri il seguente requisito: +RQ: Dopo 60 unità di tempo dall'inizio dell'esecuzione vale la seguente proprietà: +se 10 unità di tempo nel passato x era maggiore di 0 allora ora y è negativa. +Tenendo presente che, al tempo time, delay(z, w) ritorna 0 se time <= w e ritorna il valore che z aveva al tempo (time - w), se time = w. +Quale dei seguenti monitor meglio descrive il requisito RQ ? \ No newline at end of file diff --git a/Ingegneria del Software/0621_11/wrong0.txt b/Ingegneria del Software/0621_11/wrong0.txt new file mode 100644 index 0000000..3e4bc83 --- /dev/null +++ b/Ingegneria del Software/0621_11/wrong0.txt @@ -0,0 +1,13 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 60) and (delay(x, 10) <= 0) and (y >= 0); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_11/wrong1.txt b/Ingegneria del Software/0621_11/wrong1.txt new file mode 100644 index 0000000..a0b3200 --- /dev/null +++ b/Ingegneria del Software/0621_11/wrong1.txt @@ -0,0 +1,14 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 60) or (delay(x, 10) > 0) or (y >= 0); + +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_12/quest.txt b/Ingegneria del Software/0621_12/quest.txt new file mode 100644 index 0000000..f50c002 --- /dev/null +++ b/Ingegneria del Software/0621_12/quest.txt @@ -0,0 +1,4 @@ +L'input ad un sistema è costituito da un utente (umano) che preme due pulsanti etichettati, rispettivamente, con 1 ed 2. +L'utente può anche decidere di non premere alcun pulsante. +Con probabilità 0.2 l'utente preme il pulsante 1, con probabilità 0.3 l'utente preme il pulsante 2, con probabilità 0.5 non fa nulla (pulsante 0 per convenzione). +Quale dei seguenti modelli Modelica fornisce un modello ragionevole per l'utente di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0621_12/wrong0.txt b/Ingegneria del Software/0621_12/wrong0.txt new file mode 100644 index 0000000..677ef8b --- /dev/null +++ b/Ingegneria del Software/0621_12/wrong0.txt @@ -0,0 +1,19 @@ +model Env +Integer x; // Pulsante premuto dall'utente (0 nessun pulsante) +Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then + state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); + x := 0; + r1024 := 0; +elsewhen sample(0,1) then + (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); + if (r1024 <= 0.5) + then x := 0; + else + (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); + if (r1024 <= 0.4) then x := 1; else x:= 0; end if; + end if; +end when; +end Env; \ No newline at end of file diff --git a/Ingegneria del Software/0621_12/wrong1.txt b/Ingegneria del Software/0621_12/wrong1.txt new file mode 100644 index 0000000..752ea2c --- /dev/null +++ b/Ingegneria del Software/0621_12/wrong1.txt @@ -0,0 +1,19 @@ +model Env +Integer x; // Pulsante premuto dall'utente (0 nessun pulsante) +Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then + state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); + x := 0; + r1024 := 0; +elsewhen sample(0,1) then + (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); + if (r1024 <= 0.5) + then x := 0; + else + (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); + if (r1024 <= 0.3) then x := 0; else x:= 1; end if; + end if; +end when; +end Env; \ No newline at end of file diff --git a/Ingegneria del Software/0621_12/wrong2.txt b/Ingegneria del Software/0621_12/wrong2.txt new file mode 100644 index 0000000..2e77985 --- /dev/null +++ b/Ingegneria del Software/0621_12/wrong2.txt @@ -0,0 +1,19 @@ +model Env +Integer x; // Pulsante premuto dall'utente (0 nessun pulsante) +Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then + state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); + x := 0; + r1024 := 0; +elsewhen sample(0,1) then + (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); + if (r1024 <= 0.5) + then x := 0; + else + (r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); + if (r1024 <= 0.2) then x := 1; else x:= 0; end if; + end if; +end when; +end Env; \ No newline at end of file diff --git a/Ingegneria del Software/0621_13/correct.txt b/Ingegneria del Software/0621_13/correct.txt new file mode 100644 index 0000000..0c54a95 --- /dev/null +++ b/Ingegneria del Software/0621_13/correct.txt @@ -0,0 +1 @@ +Sviluppo plan-driven. \ No newline at end of file diff --git a/Ingegneria del Software/0621_13/quest.txt b/Ingegneria del Software/0621_13/quest.txt new file mode 100644 index 0000000..3c60626 --- /dev/null +++ b/Ingegneria del Software/0621_13/quest.txt @@ -0,0 +1 @@ +Si pianifica di sviluppare un software gestionale per una università. Considerando che questo può essere considerato un sistema mission-critical, quali dei seguenti modelli di processi software generici è più adatto per lo sviluppo di tale software. \ No newline at end of file diff --git a/Ingegneria del Software/0621_13/wrong0.txt b/Ingegneria del Software/0621_13/wrong0.txt new file mode 100644 index 0000000..9d2b250 --- /dev/null +++ b/Ingegneria del Software/0621_13/wrong0.txt @@ -0,0 +1 @@ +Sviluppo Iterativo \ No newline at end of file diff --git a/Ingegneria del Software/0621_13/wrong1.txt b/Ingegneria del Software/0621_13/wrong1.txt new file mode 100644 index 0000000..b37e1a6 --- /dev/null +++ b/Ingegneria del Software/0621_13/wrong1.txt @@ -0,0 +1 @@ +Sviluppo Agile. \ No newline at end of file diff --git a/Ingegneria del Software/0621_14/correct.txt b/Ingegneria del Software/0621_14/correct.txt new file mode 100644 index 0000000..a4a8878 --- /dev/null +++ b/Ingegneria del Software/0621_14/correct.txt @@ -0,0 +1 @@ +Testare l'interazione tra le componenti del sistema (cioè, integrazione di molte unità di sistema). \ No newline at end of file diff --git a/Ingegneria del Software/0621_14/quest.txt b/Ingegneria del Software/0621_14/quest.txt new file mode 100644 index 0000000..8bbcdb8 --- /dev/null +++ b/Ingegneria del Software/0621_14/quest.txt @@ -0,0 +1 @@ +Il system testing si concentra su: \ No newline at end of file diff --git a/Ingegneria del Software/0621_14/wrong0.txt b/Ingegneria del Software/0621_14/wrong0.txt new file mode 100644 index 0000000..3214f65 --- /dev/null +++ b/Ingegneria del Software/0621_14/wrong0.txt @@ -0,0 +1 @@ +Testare le interfacce per ciascuna componente. \ No newline at end of file diff --git a/Ingegneria del Software/0621_14/wrong1.txt b/Ingegneria del Software/0621_14/wrong1.txt new file mode 100644 index 0000000..6a9cb98 --- /dev/null +++ b/Ingegneria del Software/0621_14/wrong1.txt @@ -0,0 +1 @@ +Testare le funzionalità di unità software individuali, oggetti, classi o metodi. \ No newline at end of file diff --git a/Ingegneria del Software/0621_15/correct.txt b/Ingegneria del Software/0621_15/correct.txt new file mode 100644 index 0000000..d4074cf --- /dev/null +++ b/Ingegneria del Software/0621_15/correct.txt @@ -0,0 +1 @@ +Testare funzionalità di unità software individuali, oggetti, classi o metodi. \ No newline at end of file diff --git a/Ingegneria del Software/0621_15/quest.txt b/Ingegneria del Software/0621_15/quest.txt new file mode 100644 index 0000000..367356f --- /dev/null +++ b/Ingegneria del Software/0621_15/quest.txt @@ -0,0 +1 @@ +Unit testing si concentra su: \ No newline at end of file diff --git a/Ingegneria del Software/0621_15/wrong0.txt b/Ingegneria del Software/0621_15/wrong0.txt new file mode 100644 index 0000000..f67535f --- /dev/null +++ b/Ingegneria del Software/0621_15/wrong0.txt @@ -0,0 +1 @@ +Testare le interfacce di ciascuna componente. \ No newline at end of file diff --git a/Ingegneria del Software/0621_15/wrong1.txt b/Ingegneria del Software/0621_15/wrong1.txt new file mode 100644 index 0000000..5d19792 --- /dev/null +++ b/Ingegneria del Software/0621_15/wrong1.txt @@ -0,0 +1 @@ +Testare l'interazione tra componenti. \ No newline at end of file diff --git a/Ingegneria del Software/0621_16/correct.txt b/Ingegneria del Software/0621_16/correct.txt new file mode 100644 index 0000000..e86ff88 --- /dev/null +++ b/Ingegneria del Software/0621_16/correct.txt @@ -0,0 +1 @@ +1/1000 \ No newline at end of file diff --git a/Ingegneria del Software/0621_16/quest.txt b/Ingegneria del Software/0621_16/quest.txt new file mode 100644 index 0000000..7cae29d --- /dev/null +++ b/Ingegneria del Software/0621_16/quest.txt @@ -0,0 +1 @@ +Il rischio R può essere calcolato come R = P*C, dove P è la probabilità dell'evento avverso (software failure nel nostro contesto) e C è il costo dell'occorrenza dell'evento avverso. Si consideri un software il cui costo per la failure è C = 1000000 EUR. Volendo un rischio non superiore a 1000 EUR quale è il valore massimo della probabilità di failure P accettabile? \ No newline at end of file diff --git a/Ingegneria del Software/0621_16/wrong0.txt b/Ingegneria del Software/0621_16/wrong0.txt new file mode 100644 index 0000000..bb7060e --- /dev/null +++ b/Ingegneria del Software/0621_16/wrong0.txt @@ -0,0 +1 @@ +1/10 \ No newline at end of file diff --git a/Ingegneria del Software/0621_16/wrong1.txt b/Ingegneria del Software/0621_16/wrong1.txt new file mode 100644 index 0000000..78abc32 --- /dev/null +++ b/Ingegneria del Software/0621_16/wrong1.txt @@ -0,0 +1 @@ +1/100 \ No newline at end of file diff --git a/Ingegneria del Software/0621_17/correct.txt b/Ingegneria del Software/0621_17/correct.txt new file mode 100644 index 0000000..3f5bba6 --- /dev/null +++ b/Ingegneria del Software/0621_17/correct.txt @@ -0,0 +1,13 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 60) and (delay(x, 10) > 0) and (y <= 0); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_17/quest.txt b/Ingegneria del Software/0621_17/quest.txt new file mode 100644 index 0000000..de77723 --- /dev/null +++ b/Ingegneria del Software/0621_17/quest.txt @@ -0,0 +1,5 @@ +Si consideri il seguente requisito: +RQ: Dopo 60 unità di tempo dall'inizio dell'esecuzione vale la seguente proprietà: +se 10 unità di tempo nel passato era stata richiesta una risorsa (variabile x positiva) allora ora è concesso l'accesso alla risorsa (variabile y positiva) +Tenendo presente che, al tempo time, delay(z, w) ritorna 0 se time < w e ritorna il valore che z aveva al tempo (time - w), se time >= w. +Quale dei seguenti monitor meglio descrive il requisito RQ ? \ No newline at end of file diff --git a/Ingegneria del Software/0621_17/wrong0.txt b/Ingegneria del Software/0621_17/wrong0.txt new file mode 100644 index 0000000..d23fe8e --- /dev/null +++ b/Ingegneria del Software/0621_17/wrong0.txt @@ -0,0 +1,14 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 60) or (delay(x, 10) > 0) or (y <= 0); + +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_17/wrong1.txt b/Ingegneria del Software/0621_17/wrong1.txt new file mode 100644 index 0000000..33310f9 --- /dev/null +++ b/Ingegneria del Software/0621_17/wrong1.txt @@ -0,0 +1,13 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 60) and (delay(x, 10) > 0) and (y > 0); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_18/correct.txt b/Ingegneria del Software/0621_18/correct.txt new file mode 100644 index 0000000..8bb1b6b --- /dev/null +++ b/Ingegneria del Software/0621_18/correct.txt @@ -0,0 +1 @@ +2*A*(p +1) \ No newline at end of file diff --git a/Ingegneria del Software/0621_18/quest.txt b/Ingegneria del Software/0621_18/quest.txt new file mode 100644 index 0000000..3f3c598 --- /dev/null +++ b/Ingegneria del Software/0621_18/quest.txt @@ -0,0 +1 @@ +Si consideri un software sviluppato seguendo un approccio iterativo implementato con due fasi: F1 seguita da F2. Ciascuna fase ha costo A e deve essere ripetuta una seconda volta con probabilità p. Qual'e' il costo atteso dello sviluppo dell'intero software? \ No newline at end of file diff --git a/Ingegneria del Software/0621_18/wrong0.txt b/Ingegneria del Software/0621_18/wrong0.txt new file mode 100644 index 0000000..ebab514 --- /dev/null +++ b/Ingegneria del Software/0621_18/wrong0.txt @@ -0,0 +1 @@ +3*A*(p + 1) \ No newline at end of file diff --git a/Ingegneria del Software/0621_18/wrong1.txt b/Ingegneria del Software/0621_18/wrong1.txt new file mode 100644 index 0000000..a8c46e7 --- /dev/null +++ b/Ingegneria del Software/0621_18/wrong1.txt @@ -0,0 +1 @@ +2*A*(p + 2) \ No newline at end of file diff --git a/Ingegneria del Software/0621_19/correct.txt b/Ingegneria del Software/0621_19/correct.txt new file mode 100644 index 0000000..d3826b5 --- /dev/null +++ b/Ingegneria del Software/0621_19/correct.txt @@ -0,0 +1 @@ +Ad ogni istante di tempo della forma 1 + 4*k (k = 0, 1, 2, 3, ...), x vale "true". \ No newline at end of file diff --git a/Ingegneria del Software/0621_19/quest.txt b/Ingegneria del Software/0621_19/quest.txt new file mode 100644 index 0000000..b3ee6d9 --- /dev/null +++ b/Ingegneria del Software/0621_19/quest.txt @@ -0,0 +1,13 @@ +Si consideri il seguente modello Modelica. + +class System +Boolean x; +initial equation +x = false; +equation +when sample(0, 2) then + x = not (pre(x)); +end when; +end System; + +Quale delle seguenti affermazioni vale per la variabile booleana x ? \ No newline at end of file diff --git a/Ingegneria del Software/0621_19/wrong0.txt b/Ingegneria del Software/0621_19/wrong0.txt new file mode 100644 index 0000000..6245a2f --- /dev/null +++ b/Ingegneria del Software/0621_19/wrong0.txt @@ -0,0 +1 @@ +At time instants of form 1 + 4*k (with k = 0, 1, 2, 3, ...) x takes value "false". \ No newline at end of file diff --git a/Ingegneria del Software/0621_19/wrong1.txt b/Ingegneria del Software/0621_19/wrong1.txt new file mode 100644 index 0000000..0ba96d3 --- /dev/null +++ b/Ingegneria del Software/0621_19/wrong1.txt @@ -0,0 +1 @@ +Ad ogni istante di tempo della forma 3 + 4*k (k = 0, 1, 2, 3, ...), x vale "true". \ No newline at end of file diff --git a/Ingegneria del Software/0621_2/correct.txt b/Ingegneria del Software/0621_2/correct.txt new file mode 100644 index 0000000..23cbd0e --- /dev/null +++ b/Ingegneria del Software/0621_2/correct.txt @@ -0,0 +1 @@ +6*A \ No newline at end of file diff --git a/Ingegneria del Software/0621_2/quest.txt b/Ingegneria del Software/0621_2/quest.txt new file mode 100644 index 0000000..c91abc9 --- /dev/null +++ b/Ingegneria del Software/0621_2/quest.txt @@ -0,0 +1 @@ +Si consideri un software sviluppato seguendo un approccio plan-driven implementato con tre fasi: F1, F2, F3 ciascuna con costo A. Le "change request" possono arrivare solo al fine di una fase e provocano la ripetizione (con relativo costo) di tutte le fasi che precedono. Si assuma che dopo la fase F3 (cioè al termine dello sviluppo) arriva una change request. Qual'e' il costo totale per lo sviluppo del software in questione. \ No newline at end of file diff --git a/Ingegneria del Software/0621_2/wrong0.txt b/Ingegneria del Software/0621_2/wrong0.txt new file mode 100644 index 0000000..489e74c --- /dev/null +++ b/Ingegneria del Software/0621_2/wrong0.txt @@ -0,0 +1 @@ +5*A \ No newline at end of file diff --git a/Ingegneria del Software/0621_2/wrong1.txt b/Ingegneria del Software/0621_2/wrong1.txt new file mode 100644 index 0000000..63ca2eb --- /dev/null +++ b/Ingegneria del Software/0621_2/wrong1.txt @@ -0,0 +1 @@ +4*A \ No newline at end of file diff --git a/Ingegneria del Software/0621_20/correct.txt b/Ingegneria del Software/0621_20/correct.txt new file mode 100644 index 0000000..de99e64 --- /dev/null +++ b/Ingegneria del Software/0621_20/correct.txt @@ -0,0 +1 @@ +S = (1/b)*ln(C/R) \ No newline at end of file diff --git a/Ingegneria del Software/0621_20/quest.txt b/Ingegneria del Software/0621_20/quest.txt new file mode 100644 index 0000000..9a91655 --- /dev/null +++ b/Ingegneria del Software/0621_20/quest.txt @@ -0,0 +1 @@ +Il rischio R può essere calcolato come R = P*C, dove P è la probabilità dell'evento avverso (software failure nel nostro contesto) e C è il costo dell'occorrenza dell'evento avverso. Assumiamo che la probabilità P sia legata al costo di sviluppo S dalla formula P = exp(-b*S), dove b è una opportuna costante note da dati storici aziendali. Quale sarà il costo dello sviluppo S di un software il cui costo della failure è C ed il rischio ammesso è R? \ No newline at end of file diff --git a/Ingegneria del Software/0621_20/wrong0.txt b/Ingegneria del Software/0621_20/wrong0.txt new file mode 100644 index 0000000..9807142 --- /dev/null +++ b/Ingegneria del Software/0621_20/wrong0.txt @@ -0,0 +1 @@ +S = b*ln(R/C) \ No newline at end of file diff --git a/Ingegneria del Software/0621_20/wrong1.txt b/Ingegneria del Software/0621_20/wrong1.txt new file mode 100644 index 0000000..587fc4b --- /dev/null +++ b/Ingegneria del Software/0621_20/wrong1.txt @@ -0,0 +1 @@ +S = (1/b)*ln(R/C) \ No newline at end of file diff --git a/Ingegneria del Software/0621_21/correct.txt b/Ingegneria del Software/0621_21/correct.txt new file mode 100644 index 0000000..c24cae9 --- /dev/null +++ b/Ingegneria del Software/0621_21/correct.txt @@ -0,0 +1 @@ +A*(2 + p) \ No newline at end of file diff --git a/Ingegneria del Software/0621_21/quest.txt b/Ingegneria del Software/0621_21/quest.txt new file mode 100644 index 0000000..77c80a6 --- /dev/null +++ b/Ingegneria del Software/0621_21/quest.txt @@ -0,0 +1 @@ +Si consideri un software costituito da due fasi F1 ed F2 ciascuna di costo A. Con probabilità p la fase F1 deve essere ripetuta (a causa di change requests) e con probabilità (1 - p) si passa alla fase F2 e poi al completamento (End) dello sviluppo. Qual'eè il costo atteso per lo sviluppo del software seguendo il processo sopra descritto ? \ No newline at end of file diff --git a/Ingegneria del Software/0621_21/wrong0.txt b/Ingegneria del Software/0621_21/wrong0.txt new file mode 100644 index 0000000..a9b1c29 --- /dev/null +++ b/Ingegneria del Software/0621_21/wrong0.txt @@ -0,0 +1 @@ +3*A*p \ No newline at end of file diff --git a/Ingegneria del Software/0621_21/wrong1.txt b/Ingegneria del Software/0621_21/wrong1.txt new file mode 100644 index 0000000..6e771e9 --- /dev/null +++ b/Ingegneria del Software/0621_21/wrong1.txt @@ -0,0 +1 @@ +A*(1 + p) \ No newline at end of file diff --git a/Ingegneria del Software/0621_22/1.png b/Ingegneria del Software/0621_22/1.png new file mode 100644 index 0000000000000000000000000000000000000000..99c7a5fe3f6b913e054eac540ccec4733424a863 GIT binary patch literal 30201 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 literal 0 HcmV?d00001 diff --git a/Ingegneria del Software/0621_22/2.png b/Ingegneria del Software/0621_22/2.png new file mode 100644 index 0000000000000000000000000000000000000000..ad1e664e4b9b5de50791c6dae8a90dd0448715a8 GIT binary patch literal 24284 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 0) and ((x >= 5) or (x <= 0)) and ((x >= 15) or (x <= 10)) ; +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_23/quest.txt b/Ingegneria del Software/0621_23/quest.txt new file mode 100644 index 0000000..5c0b607 --- /dev/null +++ b/Ingegneria del Software/0621_23/quest.txt @@ -0,0 +1,3 @@ +Si consideri il seguente requisito: +RQ1: Durante l'esecuzione del programma (cioè per tutti gli istanti di tempo positivi) la variabile x è sempre nell'intervallo [0, 5] oppure [10, 15] +Quale dei seguenti monitor meglio descrive il requisito RQ1 ? \ No newline at end of file diff --git a/Ingegneria del Software/0621_23/wrong0.txt b/Ingegneria del Software/0621_23/wrong0.txt new file mode 100644 index 0000000..d30f887 --- /dev/null +++ b/Ingegneria del Software/0621_23/wrong0.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 0) and ((x >= 0) or (x <= 5)) and ((x >= 10) or (x <= 15)) ); +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_23/wrong1.txt b/Ingegneria del Software/0621_23/wrong1.txt new file mode 100644 index 0000000..c6e9bd3 --- /dev/null +++ b/Ingegneria del Software/0621_23/wrong1.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 0) and ( ((x >= 0) and (x <= 5)) or ((x >= 10) and (x <= 15)) ); +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_24/correct.txt b/Ingegneria del Software/0621_24/correct.txt new file mode 100644 index 0000000..a7029bc --- /dev/null +++ b/Ingegneria del Software/0621_24/correct.txt @@ -0,0 +1 @@ +La variabile x è nell'intervallo [1, 4] oppure nell'intervallo [15, 20]. \ No newline at end of file diff --git a/Ingegneria del Software/0621_24/quest.txt b/Ingegneria del Software/0621_24/quest.txt new file mode 100644 index 0000000..e943282 --- /dev/null +++ b/Ingegneria del Software/0621_24/quest.txt @@ -0,0 +1,17 @@ +Si consideri il monitor seguente che ritorna true appena il sistema viola il requisito monitorato. + +block Monitor +input Real x; +output Boolean y; +Boolean w; +initial equation +y = false; +equation +w = ((x < 1) or (x > 4)) and ((x < 15) or (x > 20)); +algorithm +when edge(w) then +y := true; +end when; +end Monitor; + +Quale delle seguenti affermazioni meglio descrive il requisito monitorato? \ No newline at end of file diff --git a/Ingegneria del Software/0621_24/wrong0.txt b/Ingegneria del Software/0621_24/wrong0.txt new file mode 100644 index 0000000..710b111 --- /dev/null +++ b/Ingegneria del Software/0621_24/wrong0.txt @@ -0,0 +1 @@ +La variabile x è fuori dall'intervallo [1, 4] e fuori dall'intervallo [15, 20]. \ No newline at end of file diff --git a/Ingegneria del Software/0621_24/wrong1.txt b/Ingegneria del Software/0621_24/wrong1.txt new file mode 100644 index 0000000..a82929b --- /dev/null +++ b/Ingegneria del Software/0621_24/wrong1.txt @@ -0,0 +1 @@ +La variabile x è nell'intervallo [1, 4] e fuori dall'intervallo [15, 20]. \ No newline at end of file diff --git a/Ingegneria del Software/0621_25/correct.txt b/Ingegneria del Software/0621_25/correct.txt new file mode 100644 index 0000000..d08430f --- /dev/null +++ b/Ingegneria del Software/0621_25/correct.txt @@ -0,0 +1,12 @@ +class System +Real x; // MB in buffer +Real u; // input pulse +initial equation +x = 3; +u = 0; +equation +when sample(0, 1) then + u = 1 - pre(u); +end when; +der(x) = 2*u - 1.0; +end System; \ No newline at end of file diff --git a/Ingegneria del Software/0621_25/quest.txt b/Ingegneria del Software/0621_25/quest.txt new file mode 100644 index 0000000..72850a2 --- /dev/null +++ b/Ingegneria del Software/0621_25/quest.txt @@ -0,0 +1 @@ +Un I/O buffer è alimentato da una componente che fornisce un input periodico di periodo 2 secondi. Durante la prima metà del periodo, l'input rate è 2MB/s mentre durante la seconda metà del periodo l'input rate è 0. Quindi l'input rate medio è di 1MB/s. L' I/O buffer, a sua volta, alimenta una componente che richiede (in media) 1MB/s. Quale dei seguenti modelli Modelica è un modello ragionevole per il sistema descritto sopra ? \ No newline at end of file diff --git a/Ingegneria del Software/0621_25/wrong1.txt b/Ingegneria del Software/0621_25/wrong1.txt new file mode 100644 index 0000000..4bea8db --- /dev/null +++ b/Ingegneria del Software/0621_25/wrong1.txt @@ -0,0 +1,12 @@ +class System +Real x; // MB in buffer +Real u; // input pulse +initial equation +x = 3; +u = 0; +equation +when sample(0, 1) then + u = 1 - pre(u); +end when; +der(x) = 2*u - 2.0; +end System; \ No newline at end of file diff --git a/Ingegneria del Software/0621_25/wrong2.txt b/Ingegneria del Software/0621_25/wrong2.txt new file mode 100644 index 0000000..59f99c3 --- /dev/null +++ b/Ingegneria del Software/0621_25/wrong2.txt @@ -0,0 +1,12 @@ +class System +Real x; // MB in buffer +Real u; // input pulse +initial equation +x = 3; +u = 0; +equation +when sample(0, 1) then + u = 1 - pre(u); +end when; +der(x) = 2*u + 1.0; +end System; \ No newline at end of file diff --git a/Ingegneria del Software/0621_26/correct.txt b/Ingegneria del Software/0621_26/correct.txt new file mode 100644 index 0000000..5bca5f8 --- /dev/null +++ b/Ingegneria del Software/0621_26/correct.txt @@ -0,0 +1 @@ +Testare le interfacce per ciascun componente. \ No newline at end of file diff --git a/Ingegneria del Software/0621_26/quest.txt b/Ingegneria del Software/0621_26/quest.txt new file mode 100644 index 0000000..561755a --- /dev/null +++ b/Ingegneria del Software/0621_26/quest.txt @@ -0,0 +1 @@ +Il component testing si concentra su: \ No newline at end of file diff --git a/Ingegneria del Software/0621_26/wrong0.txt b/Ingegneria del Software/0621_26/wrong0.txt new file mode 100644 index 0000000..d4074cf --- /dev/null +++ b/Ingegneria del Software/0621_26/wrong0.txt @@ -0,0 +1 @@ +Testare funzionalità di unità software individuali, oggetti, classi o metodi. \ No newline at end of file diff --git a/Ingegneria del Software/0621_26/wrong1.txt b/Ingegneria del Software/0621_26/wrong1.txt new file mode 100644 index 0000000..7a3fe03 --- /dev/null +++ b/Ingegneria del Software/0621_26/wrong1.txt @@ -0,0 +1 @@ +Testare l'interazione tra molte componenti (cioè integrazione di molte unità). \ No newline at end of file diff --git a/Ingegneria del Software/0621_27/correct.txt b/Ingegneria del Software/0621_27/correct.txt new file mode 100644 index 0000000..88f9125 --- /dev/null +++ b/Ingegneria del Software/0621_27/correct.txt @@ -0,0 +1 @@ +Requisito utente. \ No newline at end of file diff --git a/Ingegneria del Software/0621_27/quest.txt b/Ingegneria del Software/0621_27/quest.txt new file mode 100644 index 0000000..e544e9e --- /dev/null +++ b/Ingegneria del Software/0621_27/quest.txt @@ -0,0 +1 @@ +Si consideri il seguente requisito: "Il sistema fornisce l'elenco dei clienti in ordine alfabetico". Di che tipo di requisito si tratta? \ No newline at end of file diff --git a/Ingegneria del Software/0621_27/wrong0.txt b/Ingegneria del Software/0621_27/wrong0.txt new file mode 100644 index 0000000..4cae0da --- /dev/null +++ b/Ingegneria del Software/0621_27/wrong0.txt @@ -0,0 +1 @@ +Requisito di sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0621_27/wrong1.txt b/Ingegneria del Software/0621_27/wrong1.txt new file mode 100644 index 0000000..6084c49 --- /dev/null +++ b/Ingegneria del Software/0621_27/wrong1.txt @@ -0,0 +1 @@ +Requisito non-funzionale. \ No newline at end of file diff --git a/Ingegneria del Software/0621_28/1.png b/Ingegneria del Software/0621_28/1.png new file mode 100644 index 0000000000000000000000000000000000000000..bc19a09489cef3b50e7ffc364470419b906b2c7c GIT binary patch literal 21916 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 40) and (delay(x, 10) > 1) and (y < 0); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_30/quest.txt b/Ingegneria del Software/0621_30/quest.txt new file mode 100644 index 0000000..a8b6d94 --- /dev/null +++ b/Ingegneria del Software/0621_30/quest.txt @@ -0,0 +1,5 @@ +Si consideri il seguente requisito: +RQ: Dopo 40 unità di tempo dall'inizio dell'esecuzione vale la seguente proprietà: +se 10 unità di tempo nel passato x era maggiore di 1 allora ora y è nonegativa. +Tenendo presente che, al tempo time, delay(z, w) ritorna 0 se time <= w e ritorna il valore che z aveva al tempo (time - w), se time = w. +Quale dei seguenti monitor meglio descrive il requisito RQ ? \ No newline at end of file diff --git a/Ingegneria del Software/0621_30/wrong0.txt b/Ingegneria del Software/0621_30/wrong0.txt new file mode 100644 index 0000000..7711cd7 --- /dev/null +++ b/Ingegneria del Software/0621_30/wrong0.txt @@ -0,0 +1,13 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 40) or (delay(x, 10) > 1) or (y < 0); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_30/wrong1.txt b/Ingegneria del Software/0621_30/wrong1.txt new file mode 100644 index 0000000..9c912b6 --- /dev/null +++ b/Ingegneria del Software/0621_30/wrong1.txt @@ -0,0 +1,13 @@ +class Monitor +InputReal x, y; +OutputBoolean wy; +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 40) and (delay(x, 10) > 1) and (y >= 0); +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_31/correct.txt b/Ingegneria del Software/0621_31/correct.txt new file mode 100644 index 0000000..2563af3 --- /dev/null +++ b/Ingegneria del Software/0621_31/correct.txt @@ -0,0 +1 @@ +Plan driven \ No newline at end of file diff --git a/Ingegneria del Software/0621_31/quest.txt b/Ingegneria del Software/0621_31/quest.txt new file mode 100644 index 0000000..f48b2fb --- /dev/null +++ b/Ingegneria del Software/0621_31/quest.txt @@ -0,0 +1 @@ +Un azienda ha un team di sviluppo in cui il 90% dei membri è junior (cioè con poca esperienza) ed il 10% è senior (cioè con molta esperienza). Con l'obiettivo di massimizzare il numero di progetti completati nell'unità di tempo, quale dei seguenti modelli di sviluppo software appare più opportuno. \ No newline at end of file diff --git a/Ingegneria del Software/0621_31/wrong0.txt b/Ingegneria del Software/0621_31/wrong0.txt new file mode 100644 index 0000000..32417b7 --- /dev/null +++ b/Ingegneria del Software/0621_31/wrong0.txt @@ -0,0 +1 @@ +Basato sul riuso \ No newline at end of file diff --git a/Ingegneria del Software/0621_31/wrong1.txt b/Ingegneria del Software/0621_31/wrong1.txt new file mode 100644 index 0000000..f28b849 --- /dev/null +++ b/Ingegneria del Software/0621_31/wrong1.txt @@ -0,0 +1 @@ +Iterativo \ No newline at end of file diff --git a/Ingegneria del Software/0621_32/correct.txt b/Ingegneria del Software/0621_32/correct.txt new file mode 100644 index 0000000..ddb0d65 --- /dev/null +++ b/Ingegneria del Software/0621_32/correct.txt @@ -0,0 +1 @@ +La variabile x è nell'intervallo [0, 5]. \ No newline at end of file diff --git a/Ingegneria del Software/0621_32/quest.txt b/Ingegneria del Software/0621_32/quest.txt new file mode 100644 index 0000000..7004fa1 --- /dev/null +++ b/Ingegneria del Software/0621_32/quest.txt @@ -0,0 +1,17 @@ +Si consideri il monitor seguente che ritorna true appena i requisiti per il sistema monitorato sono violati. + +block Monitor +input Real x; +output Boolean y; +Boolean w; +initial equation +y = false; +equation +w = ((x < 0) or (x > 5)); +algorithm +when edge(w) then +y := true; +end when; +end Monitor; + +Quale delle seguenti affermazioni meglio descrive il requisito monitorato. \ No newline at end of file diff --git a/Ingegneria del Software/0621_32/wrong0.txt b/Ingegneria del Software/0621_32/wrong0.txt new file mode 100644 index 0000000..3e05ae7 --- /dev/null +++ b/Ingegneria del Software/0621_32/wrong0.txt @@ -0,0 +1 @@ +La variabile x è fuori dall'intervallo [0, 5]. \ No newline at end of file diff --git a/Ingegneria del Software/0621_32/wrong1.txt b/Ingegneria del Software/0621_32/wrong1.txt new file mode 100644 index 0000000..7c7a691 --- /dev/null +++ b/Ingegneria del Software/0621_32/wrong1.txt @@ -0,0 +1 @@ +La variable x è minore di 0. \ No newline at end of file diff --git a/Ingegneria del Software/0621_33/correct.txt b/Ingegneria del Software/0621_33/correct.txt new file mode 100644 index 0000000..a910f40 --- /dev/null +++ b/Ingegneria del Software/0621_33/correct.txt @@ -0,0 +1 @@ +Gli utenti del sistema lavorano insieme al team di sviluppo per testare il software nel sito di sviluppo. \ No newline at end of file diff --git a/Ingegneria del Software/0621_33/quest.txt b/Ingegneria del Software/0621_33/quest.txt new file mode 100644 index 0000000..c35e04d --- /dev/null +++ b/Ingegneria del Software/0621_33/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti affermazioni è vera riguardo all'alpha testing ? \ No newline at end of file diff --git a/Ingegneria del Software/0621_33/wrong0.txt b/Ingegneria del Software/0621_33/wrong0.txt new file mode 100644 index 0000000..e43ca64 --- /dev/null +++ b/Ingegneria del Software/0621_33/wrong0.txt @@ -0,0 +1 @@ +Test automatizzati sono eseguiti sulla prima release del sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0621_33/wrong1.txt b/Ingegneria del Software/0621_33/wrong1.txt new file mode 100644 index 0000000..9a5ec0f --- /dev/null +++ b/Ingegneria del Software/0621_33/wrong1.txt @@ -0,0 +1 @@ +Test automatizzati sono eseguiti su una versione preliminare del sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0621_34/correct.txt b/Ingegneria del Software/0621_34/correct.txt new file mode 100644 index 0000000..1146d53 --- /dev/null +++ b/Ingegneria del Software/0621_34/correct.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 20) and ((x >= 30) or (x <= 20)) ; +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_34/quest.txt b/Ingegneria del Software/0621_34/quest.txt new file mode 100644 index 0000000..e77688e --- /dev/null +++ b/Ingegneria del Software/0621_34/quest.txt @@ -0,0 +1,3 @@ +Si consideri il seguente requisito: +RQ1: Dopo 20 unità di tempo dall'inizio dell'esecuzione la variabile x è sempre nell'intervallo [20, 30] . +Quale dei seguenti monitor meglio descrive il requisito RQ1 ? \ No newline at end of file diff --git a/Ingegneria del Software/0621_34/wrong0.txt b/Ingegneria del Software/0621_34/wrong0.txt new file mode 100644 index 0000000..4b67df9 --- /dev/null +++ b/Ingegneria del Software/0621_34/wrong0.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 20) or ((x >= 20) and (x <= 30)) ; +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_34/wrong1.txt b/Ingegneria del Software/0621_34/wrong1.txt new file mode 100644 index 0000000..30d3000 --- /dev/null +++ b/Ingegneria del Software/0621_34/wrong1.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 20) and (x >= 20) and (x <= 30) ; +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_35/correct.txt b/Ingegneria del Software/0621_35/correct.txt new file mode 100644 index 0000000..0dcbeca --- /dev/null +++ b/Ingegneria del Software/0621_35/correct.txt @@ -0,0 +1 @@ +Per ciascun incremento di funzionalità, scrivi test automatizzati, implementa la funzionalità, esegui i test e rivedi l'implementazione come necessario. \ No newline at end of file diff --git a/Ingegneria del Software/0621_35/quest.txt b/Ingegneria del Software/0621_35/quest.txt new file mode 100644 index 0000000..f3019d0 --- /dev/null +++ b/Ingegneria del Software/0621_35/quest.txt @@ -0,0 +1 @@ +Si consideri il Test-Driven Development (TDD). Quale delle seguenti affermazioni è vera? \ No newline at end of file diff --git a/Ingegneria del Software/0621_35/wrong0.txt b/Ingegneria del Software/0621_35/wrong0.txt new file mode 100644 index 0000000..2891ab7 --- /dev/null +++ b/Ingegneria del Software/0621_35/wrong0.txt @@ -0,0 +1 @@ +Scrivi test automatizzati per tutti i requisiti di sistema, esegui i test e rivedi l'implementazione come necessario. \ No newline at end of file diff --git a/Ingegneria del Software/0621_35/wrong1.txt b/Ingegneria del Software/0621_35/wrong1.txt new file mode 100644 index 0000000..cf5eab4 --- /dev/null +++ b/Ingegneria del Software/0621_35/wrong1.txt @@ -0,0 +1 @@ +Per ciascun incremento di funzionalità, implementa la funzionalità, scrivi test automatizzati, esegui i test e rivedi l'implementazione come necessario. \ No newline at end of file diff --git a/Ingegneria del Software/0621_36/correct.txt b/Ingegneria del Software/0621_36/correct.txt new file mode 100644 index 0000000..fc560a2 --- /dev/null +++ b/Ingegneria del Software/0621_36/correct.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 0) and ((x > 5) or (x < 0)); +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_36/quest.txt b/Ingegneria del Software/0621_36/quest.txt new file mode 100644 index 0000000..6473814 --- /dev/null +++ b/Ingegneria del Software/0621_36/quest.txt @@ -0,0 +1,3 @@ +Si consideri il seguente requisito: +RQ: Durante l'esecuzione del programma (cioè per tutti gli istanti di tempo positivi) la variabile x è sempre nell'intervallo [0, 5]. +Quale dei seguenti monitor meglio descrive il requisito RQ ? \ No newline at end of file diff --git a/Ingegneria del Software/0621_36/wrong0.txt b/Ingegneria del Software/0621_36/wrong0.txt new file mode 100644 index 0000000..61fa628 --- /dev/null +++ b/Ingegneria del Software/0621_36/wrong0.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 0) and (x > 0) and (x < 5); +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_36/wrong1.txt b/Ingegneria del Software/0621_36/wrong1.txt new file mode 100644 index 0000000..c8a2c3d --- /dev/null +++ b/Ingegneria del Software/0621_36/wrong1.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x; // plant output +OutputBoolean y; + +Boolean z; +initial equation +y = false; +equation +z = (time > 0) and ((x > 0) or (x < 5)); +algorithm +when edge(z) then +y := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_37/correct.txt b/Ingegneria del Software/0621_37/correct.txt new file mode 100644 index 0000000..994f202 --- /dev/null +++ b/Ingegneria del Software/0621_37/correct.txt @@ -0,0 +1,13 @@ +model System +Integer y; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +equation +y = if (r1024 <= 0.2) then -1 else if (r1024 <= 0.7) then 0 else 1; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +end when; +end System; \ No newline at end of file diff --git a/Ingegneria del Software/0621_37/quest.txt b/Ingegneria del Software/0621_37/quest.txt new file mode 100644 index 0000000..45f5869 --- /dev/null +++ b/Ingegneria del Software/0621_37/quest.txt @@ -0,0 +1 @@ +Si consideri l'ambiente (use case) consistente di un utente che ad ogni unità di tempo (ad esempio, un secondo) invia al nostro sistema input -1 con probabilità 0.2, input 0 con probabilità 0.5 ed input 1 con probabilità 0.3. Quale dei seguenti modelli Modelica rappresenta correttamente tale ambiente. \ No newline at end of file diff --git a/Ingegneria del Software/0621_37/wrong0.txt b/Ingegneria del Software/0621_37/wrong0.txt new file mode 100644 index 0000000..4481c24 --- /dev/null +++ b/Ingegneria del Software/0621_37/wrong0.txt @@ -0,0 +1,13 @@ +model System +Integer y; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +equation +y = if (r1024 <= 0.3) then -1 else if (r1024 <= 0.7) then 0 else 1; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +end when; +end System; \ No newline at end of file diff --git a/Ingegneria del Software/0621_37/wrong2.txt b/Ingegneria del Software/0621_37/wrong2.txt new file mode 100644 index 0000000..b94d213 --- /dev/null +++ b/Ingegneria del Software/0621_37/wrong2.txt @@ -0,0 +1,13 @@ +model System +Integer y; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +equation +y = if (r1024 <= 0.2) then -1 else if (r1024 <= 0.5) then 0 else 1; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +end when; +end System; \ No newline at end of file diff --git a/Ingegneria del Software/0621_38/correct.txt b/Ingegneria del Software/0621_38/correct.txt new file mode 100644 index 0000000..f4e4c53 --- /dev/null +++ b/Ingegneria del Software/0621_38/correct.txt @@ -0,0 +1 @@ +Il performance testing è tipicamente eseguito una volta che il sistema è stato completamento integrato. \ No newline at end of file diff --git a/Ingegneria del Software/0621_38/quest.txt b/Ingegneria del Software/0621_38/quest.txt new file mode 100644 index 0000000..4a711a4 --- /dev/null +++ b/Ingegneria del Software/0621_38/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti affermazioni è vera riguardo al performance testing? \ No newline at end of file diff --git a/Ingegneria del Software/0621_38/wrong0.txt b/Ingegneria del Software/0621_38/wrong0.txt new file mode 100644 index 0000000..4885062 --- /dev/null +++ b/Ingegneria del Software/0621_38/wrong0.txt @@ -0,0 +1 @@ +Il performance testing è tipicamente eseguito su un prototipo del sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0621_38/wrong1.txt b/Ingegneria del Software/0621_38/wrong1.txt new file mode 100644 index 0000000..bd881bc --- /dev/null +++ b/Ingegneria del Software/0621_38/wrong1.txt @@ -0,0 +1 @@ +Il performance testing è tipicamente eseguito solo sulle componenti del sistema prima dell'integrazione. \ No newline at end of file diff --git a/Ingegneria del Software/0621_39/1.png b/Ingegneria del Software/0621_39/1.png new file mode 100644 index 0000000000000000000000000000000000000000..26d9334a3552dd52f8722a5d159ef0729bf0621f GIT binary patch literal 26956 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

IVK_uz$|%q2h??FAMi_CHH3r{Suc z%fc<9(3`E3yv)|>xOjE+SAqn_ovjdDgy!Grleap6;^RK!vDbRiwAz6MViz;EZ|OEw7s;B_lC0G(0hXaUA;XjiSeuU0YN3gtt76X793-Bn_quikB*M47!}e!!Tq&p z;`i^DR03?%!}!(6AsRjfk$hy~(e4b!K|J(yRxm|p0LfuU%U2`!uUfk9a`fc3IGIvC z`jCkC5X*$-z{r=mbD5l{=nRK<7JzzQ+_`n#x+&fZ8p*vlY$hb`GCntOpvE)!y0PjW zN-ls4=qJ7gN(#J#Wz-K9bCqtRa>dkT$Vo#Wcu)bn3PVc|CxUvIQX14*mNHr+die1M zMtjlvdZr7Uvo8E~)w|{t=_v6Lew{5`dO!7QO!t-=D1F#xz2TuMAluj7qrx=vC5P`6 zR}gpBo0Vgfi9;X7nJs0M?=;Y+Xo)ub>U5SnMF$BtBp;<>i-7(Pfwx8Z;Le@xJ|W zT6yj!se@#F@2FU^j1jX_2|MxZI*QQnIP3$Ll0>k-L!eH&?%c{K8o{nKAN`xC1w&T$ zXM48tfCjRmZhHD4_0o3)3LGN;-usr78B6zszvYDnFfZ5Z=k4<0-6VH+ckJl^Fh&dP zB9?EUdI=~d&f_o@QpN0#?DZK#jRZ_Hff8-T5fAw-OB^DWKpeqmK|Q*MIx;@qLUd^H zZkSJ2!OD>B6P};u$R-ICBwr9NVIstow^v_Wq5Op;%1h7`N@t{prk!{j(g05;Cvz6` zv-W27=|oVVvnjD+rQSwLpJjOxB7h9(C;j(#hLMK^=|}=%erwH-hs8ZyrQgd1H}#_P z+&?iV&EG>?3wEs*qs}BSAJuyTIAlj{brzas@%mmAs#W7}n^7iIHLh^HRr}i5=h)ih zI+R90Na1LSpzju*j!~EQRa8`Ymr|SUW-}+Gb-WtR%GCgeqj!|8()uB!dkYt;R{gst ziBGEyf}JS6I3dbyAHrA|P(6ZKyYeXJKng317!w z!*}WX?V;qih+Ugerh$Dwt3v24VGmge9b5-v#8gIlfbyFu`o!x;o9`H~;g~g+Vr%AK z5grKGe{G@)rC&k^6?Ipzu45GpDwF0bIBfT{4uX1N3Mu;b-xEgV=7r2N0ylmq&DMlS15=)ME#hbT131UDl{!qY)zh! zBQ=M~X@)QR*8s=Hz1_q8jp3&dm=#!E03TSC6jt7{bY@NUQR#Xyys_Xtf4#}YNKzJQ zSwS#a%fBY(9&kTTOhEE=TaXI6hqL}M?FmWRRr2#n#@E3${51BaZ6`y}DmlER$9gLm zKhn~+^&lO3l;|D!9CN^vVkT1=`rq~d1+tTpGWO3O-gm#uMl(`niYAMk zV}q)ySiCvM4tX)6<6UD>wR~Gw1*6(;#bSv+2eH2lKctJ<=@#w6RJrnbQm!Pk>kCW&jM3UI4oNaE0f6H>cfxQg z=g`+Z1$&hZ$f~R>Du1R^Vk}TQg&JVbS^xY>_ff$Hq4;Kw^g6JILl>)e-D;tQStU;I zpT}TWZ*^4?v!U4&FqO%dzMK8AF>%PHt4&fu^v+-2@*tYhR?^q$r341R>fu= z*l%_fWX_p>cooi$v{8#_% zbiIE;DvCt4C^y%>p|H>_h)SK?MHVt&MM)N_vePCsH}`BaOReP~ohcGKGN7I@YnT*1 z9q=w-ivH%3)1H1lu{*HPy!^WWMa{~caD9ucZC7DJ`K~Y7TEAjfDN8Frso1SK6rgzD zSyfys3^}r*W9uP5&+I->L0Zjrah;Q&Eoukx-Z8R$_YrD}Oqj0!@HeXwzp%WljMRN+ zJa<7N^o5Oo#e%Vs(ZBgC(#4MtfZTWr3ZG2;9&nuhci{1pzF&7wu5^J>F4w7gfCb5b zd+#J_+z&lwEprp(2d9J@zSekveR6&e+4T=BuTCoxaGOr3Mz>}U!$kGCsm4BY4X3G# zCY0>_n%`8O-_WooL|}lvzV*C7#Ivi86)+ZP{bp0L=3YhSCS%_9YQffU;c9=Ts!Sn` zyJQtq7(XEDL-lAAI`L`bbJwE{h0s}BFB%5!*M=Gg8*4X;T(GrC3$ZCd3Ujy)zDr@r zaY&o!xMhnnLP^SG`@yd|AK;t>DTeqV6s`&*6&AV(N-ofr{GH)wgpF2))!S-73@Sb0 zRJ`6ff<^Gjnr$C{*%kN7QRY&6m^s6mMB?+!E!6An|zUq$9?$D9PWkhWD z2YZ9jlBck>y>TsDK9Ur*_m`C%4s890u_jhTGMD;M9{u$R%g-2?zw!B1+AA zk^J=X-ev^;wE1r1cg|7isDX)2O>~_oZ63P+;H>%+exa7-PzHX=S3sMC69mh4I-fgo zbDGGXSpVq)pE{4-v%=B#Jd47B6bx)hyUpt4Z$(1uH;xstu4}DrL(f< zYx(QzJ=uw>tE+FGD%QV7My_81=6MDfzZxX%KP(QdPyc+wce#+78P)cq+o?HPp&ORz z@la!7f+`z{o5b3Stm{0VN5hf_jcMD<(zG21YZ*5zYTJ9~Z5*|sIDxYLy^-8QP<0jY zRh2h=d#z1#qKGbfV~P~5giJtuwKZ*BDZar-+7tL&N0~6A?lu4t*!&n$kjQ^>8Y;5B z_D7!Px*(pXMn5LJP<^tQ|2b#@;MWGvWM3pbsQo0dlk4R9X7H%&JmaBdw29+>Xwo(C z*m}slvw3zr8SJg{P?-GkEwU4bts`~u%6RBVOyH*1oirUGb z!%+)++q4?jwkOh2YjY#fap1`Op*cBu#>Hy{lUKe61)c+vlwntL{e@kG!PW>d`vCEo z*x$6R*cUtTL!oXas|hCwL(b!KLwREqf+pSF(tk*SghKX3oc~rY(}@ffUzH2|&I&)( zad_M1V~+13%Bk8=%fo4P4O+|&M>7WY0IT^g4UdV2qe|DL#X|~=Ko;H%WoWm&ne${F zP|0P)=^}#zAaniP1fKWfl1Cxodad>_zOj2!#X%`BMw1Q*yC=}%MJ=g~DI|@X{-#+n zu-mKQo$b#s>0ZhG@xi`BrQ{4QVH+GHb@}jw3+5W9Tf_t0TZ+O5aU$X+^EEM&6j=xP z(V$ha&Y-Ol3pG1Zr>;dsl6h>>yGTzD`(Y3FabGk0^XCoPhQdHsAigj^@VD)xyB-1i zRoQMz%WeP`Y_=k-b4q+}NerX#c^4%XBo9r72_^w&;#P`*Q~cTIVGiW@gS2z zvewSe1&EZ&xpm=;cc{4KhGXzhtG$CmScN#9NLhT1i}p=pVaI*u`$^*hSwL9$VtArk zj1XRuR-y4 zRzjh#tm@KNnN0U$OHi;b5 z>D7%=a=Q;@U^mCo+Ux3dhxLhII9h%ESBa)d@4ZPHsaBt&C|^9Sc$|wS z8a&U@{8oN6_(nftNtkL-s7+E^QPqgB`zIv>$MWy}K$*4-HO;U0A!wZk(Q+DH@YTMf zB9X4|f7#Bn*uX>*h^A>WT8K6=a+#li`XRe`S=T>jOz9m z5>cF11FTp!g)&n98+)UZ)yIs2&|pqRXsBn!lwDQRewMQe2}X2ADI|EOd~c-a7p<;A z8g`+C=^zn7V+ecu<&t6m)xZPuXX?YlLE0lq9gDa2GF4LlqIb@J50?y21=w)So2^66 z0+xh0ZjtjkR~4Nn`Cw27!$~Pw-nRyR^upiuPC@dTwftQ*<}V@tAH@N?qIzS{r~Ch- zdhFE0G~EfrYuFqxExw2K)KK31A<(Jw0MzQ@OS!-%Dag{fsfRI!(2bz3ooJE+Zp zrm`V?x_RfKiyr20BT4N<-SS1|ODA1h3P+~TB6l|;|Kh&l=dIW8;&{8^RW|%z6AYE| zN+76PG^q-|7*dLV$BV;}RmSQQ6#R?s^#2E~2!H4+pZ$?8{t-jl@lHDZj7Cl%zV;&s|3t^=d!hd%F&TObh37YkxjwUq>?cYor znj}#&tytP!)}6OM8J~0ozCL>jURSev&+v5G#=<=!b;5SK12xK?(&EwSQvc>d@iPdv zS+F9P>9?ko1n0>Gsln?Aou5QdTtlQ-#xjPZy53R1CzCm@lm|9=`j6@6S09k>Yxw?`W#QiG2RXkkH~weeobM~Q7MoUHy*h)Bs$@RW%!-WLQpNgwfezxjr_9`oOcWD4MbzO# zzH%`uGUWatAh{-hv`xO0Dy^u)slZVJspF@6 zv2FDRFGgponoea|IHQ>E$iXZte;ke>*HN13LE-w3%(6(i@P=Cqob6J(KR!$o?C2O? zjE++eB1tV3;4;JnA92@LnAy15Sj2cW2(%$a9=Sef1te@?0qpRL@Oiet)K`@izA#E8 z2DsLp+g^f0zme$GT)bzx2Lb0}5k~o>w~xgKEvzy34r9k$J8h37RT}h*ABHM2+2z=j z5qNRUsJIbU!{HGL#|S3yv_6g5CU9L4Co1>kQY}1A&_iZ!0& zk(pkIN?VAqpbPt;SJEe>JK{qoq9P6VOqZeU6l$@%E@_Qr z%NYUGF1;4v8#V(s5K}IuBZSzjwLVr^s>r;y)FJw+)l4c?@gY^Z^{EbsNjt+)N0OlN z1I^sl&6cY~1d+e}Vl9Mkm9hvFu?yWsnU9kLuf_mE$-ZJsOa@PWVp`TDeS0Ol^?hkF zDw5o|YJc(k4Uh8}N83??!+xpmT01(H5oOuZ^XsMJ!+6Z?fa1=uP+c;KNv7#lMJZ)= zywnOf*|_81;3;1dU@QRn_0npMNqt ztUfr62oI87U_JXuIWMgFU-2F}>J9^;2a`O`_8CL6ZGvk@E9mamEjI;pdzEL=r2?e`ElVUyCY%bRgei{{bZxrWa z)@(!{8IE4^9=V(9Bg4|&&2~v!^OvT+%W)#YvfJ(+4>P?rqCQjfpVzvRD<#jG{Mpd8 zPJhEps87V~Ur?0}Q5UMI<7865hC`Gszm0Hk zwYp@t3pbj7pGY}XD{}Pl6`bMQ=G$Hz^Y%Tu6WsQEJX$$+Wu#17yLJyb4E1D2v$$X1 z%PUINpb*yPC}_L?t%6rJGfDDV6;%+d0Se7OH(@DmY&R_Q6F-knko!1*dG-6A%zXT5 z$DuX;wR@khr1-R@^Sy5^yD=t|jC#47JBh#lp?z^`MQI3c?)a6bbpoP+NuD{mJl^E6gW4a7 zMOZ%9emS1%KA0LDjkG#ot-u%(rpAkVYQO!!yQEx&AJy$kLa7XSW_Vu}CHz?OI68%@ zlMP|i(F+%4ltT?5>G~Gc70JFZ#}jnLE?)PZpupykGqHBkwrxfBxHd}<&-7oeXPspS zd)0ojsM1Ydmh#h@lbcoUxrJ& zgD0^J&0qb4pK5l*jGWEO$Ghn5Uq%_Wks~Kq^PWDi(#-AdH#BkNLFY|$6nyF&FV#ig zF#WjwF+PWjGYJfU$$wT085Gj)TYVoNG=WY|4EQJ?qQY!4$w?;cs88_yNyHZ%4igvo z5quwPe?xQMl2v9re4=&`r$uGatThRaiTU6s^+}3}8Y##Rd)y4+=H^BS0|SHUQ;jZ6 zNnig_KtP~%y$qymfkO`>L-x?%PA9Vv)LDl%g*{Jho|Nxh;ZzC3ETEhC*C9M#7}GvM zIposQ0ROpjAGni`fR*nZ;Mr^OE8$_(s@MqPq9~}nKY#KWja0JL?t4HjEHs1xA_g-w zG(6tk+S1yABl-Ld8yi6t$r9D3otM%#X+CrFZDR5sx)A~dez}~&@oAO$ z*-C{GuN>ks(UY+&%Bcg?>&Qk$l<1{T2}ygNXR{|r(G)`bL%qEliWU~d|3;??m(Jke zP>-M95y0!^DuemdOFRfo!N6I1JD9yu*V}MQ0i_2#C(Jo2zFr-5hv})uC(ds#mK7#0 zFj$zS`94HtLfj83zeip|g_=d`Ngk-^u45H92yHQpbE~VzO@M>EwZ(Z~?Q2Gc^#bu8 zi!(mxCsYf1|DmDxv|L7^+?)9c{`%t;pXNS_lx_c-GgQ`e(FTbx=2|2XCKhvn#z zrzHtDt8?>sEFNdx^cz(QlMR^fvq&mVlfrvd3keEBfXB=G-3e{F_te7AP4WNwiTWe2 z|HXyVJ~+8T9!Ud@wY5VZ@i!Trlc~&uK`W&Yc!FId&AxoA|J~;T*@7e{B{fEchdaFF zbJ)<2jEXvD(`%dUXliOQHipJe>4J`@&T&R+gf8t}vE9x@DM5sdTE9T=S7Aj$CqS#jzy&>b%u@i}${Ap8Hr(ra=0!dj_)|55Yo z2RPO=3DF=I*hTQSS0l~RA)%qZt026Wxa6sdC?zWDHx`UegbGPa?77{2(H#C?(=Kt} z0(BdzM3j%5is&ccO;xp_U8B`TIVS|a+%vVsTN z6^mmKe6sd4LL>%wZVo`a-Un0#U)wA+diym=nb0>iVF;IR>?>xkg2%|l4?g~W4C zu{$?ud3k37$cbwt9gn;H{66qpS1z}E>Tg~Gb8)hwe`XAbh#$iSWgeF^;EG^KMM=XnO42UX+?AM4JHs$(18(; z>dbR=wmFPwi4xn9G$fn*zsX94q{j;%@W!6&OGJbt1{&H8YFS)Fgj_;Jg$<`%gUx*X z4T;!to^;GU1Oj2yto_LwXSy&jAfwK*+f@IRA!4;^Mpyr}KA5E=R5{^0Kx@463$JL5s5>~+9)e3SW2~>s(PHzyj*gDY8fj(W7!7KI$g~ga*88)S)tx%H47UUQ z%5t^W%~^rvaTjl3}xvG=lIB`Xq-%H5ubD4qgt9Vh|!}9i)WF4TU)-C7&|t ze}^vVoGr)sBge+XFjR7^X+P8o(XY%PBM=Y}kXMrx6&AjrW(y>E#W09ObmnQ|9A426 zc7Zst$24*PC_J3{mP?6Y{dWeRV*m^WBdVK|^YXgaP)>^L`=le_WQZh73NEW)@aFu+ zYjQo#5)%{i=kv)xdPhAvHy$eDTE3Nk;NalE-|N5)pY^nG=AT>6*Y9?mu=Dcrj!D0w z!Z_hF-zCBMyS|Qxjg4LXb@fB}2`XkUKc90=BXHNk60CSV{3hTk=tRGAiQn8_?%T#y zMt@;uBk9#zEfi}*hU)d|ycH1Wr%FM=BuNNqC5qR$yzVO0u+HCHT|MDr{%F0rw!OVQ z{2WhU`Yb)q3ujD=FEU^0{|>)Mxaspf@u1DUpr9ao7TtA}At?guf9pp_6w#(Ha{V>T zcS-FPA%x|-)@(s`{hPt(;LQU>p_rsDEki97J#l>9nYGnOG|Pbj0d2H2G>bKj>n|Kv zJN-{(Wo2pO4(u{=SqGg(!{N9G*+M+NAC*i;1{Pr7x;#jOx&vs7O-R59X_{; z=fzBhzW&Fv3k$wtFT>b}GTs>X5mx%EW?MN>O<~{eiHS1NRNjj95${z{fQDv&!SV!Ex;R=j%8tb21PEAZd=ycAm%;aGAZO?kCj1PA_P-ziE~ IiW>y{A08u()&Kwi literal 0 HcmV?d00001 diff --git a/Ingegneria del Software/0621_39/2.png b/Ingegneria del Software/0621_39/2.png new file mode 100644 index 0000000000000000000000000000000000000000..99c7a5fe3f6b913e054eac540ccec4733424a863 GIT binary patch literal 30201 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 literal 0 HcmV?d00001 diff --git a/Ingegneria del Software/0621_39/3.png b/Ingegneria del Software/0621_39/3.png new file mode 100644 index 0000000000000000000000000000000000000000..ad1e664e4b9b5de50791c6dae8a90dd0448715a8 GIT binary patch literal 24284 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 10) and (x >= 10) and (x <= 20) and ((y < 0.5*x) or (y > 0.7*x)) ; +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_5/quest.txt b/Ingegneria del Software/0621_5/quest.txt new file mode 100644 index 0000000..b1c19dc --- /dev/null +++ b/Ingegneria del Software/0621_5/quest.txt @@ -0,0 +1,3 @@ +Si consideri il seguente requisito: +RQ: Dopo 10 unità di tempo dall'inizio dell'esecuzione vale la seguente proprietà: se la variabile x è nell'intervallo [10, 20] allora la variabile y è compresa tra il 50% di x ed il 70% di x. +Quale dei seguenti monitor meglio descrive il requisito RQ ? \ No newline at end of file diff --git a/Ingegneria del Software/0621_5/wrong0.txt b/Ingegneria del Software/0621_5/wrong0.txt new file mode 100644 index 0000000..284d4d1 --- /dev/null +++ b/Ingegneria del Software/0621_5/wrong0.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x, y; // plant output +OutputBoolean wy; + +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 10) and ((x < 10) or (x > 20)) and ((y < 0.5*x) or (y > 0.7*x)) ; +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_5/wrong1.txt b/Ingegneria del Software/0621_5/wrong1.txt new file mode 100644 index 0000000..21a20d4 --- /dev/null +++ b/Ingegneria del Software/0621_5/wrong1.txt @@ -0,0 +1,15 @@ +class Monitor + +InputReal x, y; // plant output +OutputBoolean wy; + +Boolean wz; +initial equation +wy = false; +equation +wz = (time > 10) and (x >= 10) and (x <= 20) and (y >= 0.5*x) and (y <= 0.7*x) ; +algorithm +when edge(wz) then +wy := true; +end when; +end Monitor; \ No newline at end of file diff --git a/Ingegneria del Software/0621_6/1.png b/Ingegneria del Software/0621_6/1.png new file mode 100644 index 0000000000000000000000000000000000000000..e7a829f0735b3132854adae77b54acf7031fa2c1 GIT binary patch literal 10560 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 literal 0 HcmV?d00001 diff --git a/Ingegneria del Software/0621_6/correct.txt b/Ingegneria del Software/0621_6/correct.txt new file mode 100644 index 0000000..81653ea --- /dev/null +++ b/Ingegneria del Software/0621_6/correct.txt @@ -0,0 +1,16 @@ +function next +input Integer x; +output Integer y; +algorithm + y := 1 - x; +end next; + +class System +Integer x; +initial equation +x = 0; +equation +when sample(0, 1) then + x = next(pre(x)); +end when; +end System; \ No newline at end of file diff --git a/Ingegneria del Software/0621_6/quest.txt b/Ingegneria del Software/0621_6/quest.txt new file mode 100644 index 0000000..8bc0606 --- /dev/null +++ b/Ingegneria del Software/0621_6/quest.txt @@ -0,0 +1,3 @@ +img=https://i.imgur.com/F6JCFSU.png +Si consideri l'automa segunete: +Quale dei seguenti modelli Modelica fornisce un modello ragionevole per l'automa di cui sopra. \ No newline at end of file diff --git a/Ingegneria del Software/0621_6/wrong0.txt b/Ingegneria del Software/0621_6/wrong0.txt new file mode 100644 index 0000000..4c7125e --- /dev/null +++ b/Ingegneria del Software/0621_6/wrong0.txt @@ -0,0 +1,16 @@ +function next +input Integer x; +output Integer y; +algorithm + y := x; +end next; + +class System +Integer x; +initial equation +x = 0; +equation +when sample(0, 1) then + x = next(pre(x)); +end when; +end System; \ No newline at end of file diff --git a/Ingegneria del Software/0621_6/wrong1.txt b/Ingegneria del Software/0621_6/wrong1.txt new file mode 100644 index 0000000..47cf8cd --- /dev/null +++ b/Ingegneria del Software/0621_6/wrong1.txt @@ -0,0 +1,16 @@ +function next +input Integer x; +output Integer y; +algorithm + y := 1 + x; +end next; + +class System +Integer x; +initial equation +x = 0; +equation +when sample(0, 1) then + x = next(pre(x)); +end when; +end System; \ No newline at end of file diff --git a/Ingegneria del Software/0621_7/correct.txt b/Ingegneria del Software/0621_7/correct.txt new file mode 100644 index 0000000..c7c83e5 --- /dev/null +++ b/Ingegneria del Software/0621_7/correct.txt @@ -0,0 +1 @@ +3*A \ No newline at end of file diff --git a/Ingegneria del Software/0621_7/quest.txt b/Ingegneria del Software/0621_7/quest.txt new file mode 100644 index 0000000..e0052c2 --- /dev/null +++ b/Ingegneria del Software/0621_7/quest.txt @@ -0,0 +1 @@ +Si consideri un software sviluppato seguendo un approccio iterativo implementato con tre fasi: F1, F2, F3. Ciascuna fase ha costo A. Qual'e' il costo dello sviluppo dell'intero software? \ No newline at end of file diff --git a/Ingegneria del Software/0621_7/wrong0.txt b/Ingegneria del Software/0621_7/wrong0.txt new file mode 100644 index 0000000..8c7e5a6 --- /dev/null +++ b/Ingegneria del Software/0621_7/wrong0.txt @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/Ingegneria del Software/0621_7/wrong1.txt b/Ingegneria del Software/0621_7/wrong1.txt new file mode 100644 index 0000000..ff38c25 --- /dev/null +++ b/Ingegneria del Software/0621_7/wrong1.txt @@ -0,0 +1 @@ +2*A \ No newline at end of file diff --git a/Ingegneria del Software/0621_8/1.png b/Ingegneria del Software/0621_8/1.png new file mode 100644 index 0000000000000000000000000000000000000000..26d9334a3552dd52f8722a5d159ef0729bf0621f GIT binary patch literal 26956 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

IVK_uz$|%q2h??FAMi_CHH3r{Suc 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 IiW>y{A08u()&Kwi literal 0 HcmV?d00001 diff --git a/Ingegneria del Software/0621_8/correct.txt b/Ingegneria del Software/0621_8/correct.txt new file mode 100644 index 0000000..28ec59c --- /dev/null +++ b/Ingegneria del Software/0621_8/correct.txt @@ -0,0 +1,33 @@ +model System +parameter Integer F1 = 1; +parameter Integer F2 = 2; +parameter Integer F3 = 3; +parameter Integer End = 4; +parameter Real p = 0.3; +parameter Real A[4, 4] = +[ +p, 1-p, 0, 0; +p, 0, 1-p, 0; +p, 0, 0, 1-p; +0, 0, 0, 1 +]; +Integer x; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then + state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); + x := F1; + r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +if (r1024 <= A[x, F1]) then + x := F1; + elseif (r1024 <= A[x, F1] + A[x, F2]) then + x := F2; + elseif (r1024 <= A[x, F1] + A[x, F2] + A[x, F3]) then + x := F3; + else + x := End; +end if; +end when; +end System; \ No newline at end of file diff --git a/Ingegneria del Software/0621_8/quest.txt b/Ingegneria del Software/0621_8/quest.txt new file mode 100644 index 0000000..8107c95 --- /dev/null +++ b/Ingegneria del Software/0621_8/quest.txt @@ -0,0 +1,3 @@ +img=https://i.imgur.com/cHaHubX.png +Si consideri la seguente Markov Chain: +Quale dei seguenti modelli Modelica fornisce un modello ragionevole per la Markov Chain di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0621_8/wrong0.txt b/Ingegneria del Software/0621_8/wrong0.txt new file mode 100644 index 0000000..c3a7393 --- /dev/null +++ b/Ingegneria del Software/0621_8/wrong0.txt @@ -0,0 +1,33 @@ +model System +parameter Integer F1 = 1; +parameter Integer F2 = 2; +parameter Integer F3 = 3; +parameter Integer End = 4; +parameter Real p = 0.3; +parameter Real A[4, 4] = +[ +p, 0, 1-p, 0; +0, p, 1-p, 0; +p, 0, 0, 1-p; +0, 0, 0, 1 +]; +Integer x; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +x := F1; +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +if (r1024 <= A[x, F1]) then + x := F1; + elseif (r1024 <= A[x, F1] + A[x, F2]) then + x := F2; + elseif (r1024 <= A[x, F1] + A[x, F2] + A[x, F3]) then + x := F3; + else + x := End; +end if; +end when; +end System; \ No newline at end of file diff --git a/Ingegneria del Software/0621_8/wrong1.txt b/Ingegneria del Software/0621_8/wrong1.txt new file mode 100644 index 0000000..1b498b3 --- /dev/null +++ b/Ingegneria del Software/0621_8/wrong1.txt @@ -0,0 +1,33 @@ +model System +parameter Integer F1 = 1; +parameter Integer F2 = 2; +parameter Integer F3 = 3; +parameter Integer End = 4; +parameter Real p = 0.3; +parameter Real A[4, 4] = +[ +p, 0 , 1-p, 0; +p, 1-p, 0, 0; +p, 0, 0, 1-p; +0, 0, 0, 1 +]; +Integer x; Real r1024; +Integer state1024[Modelica.Math.Random.Generators.Xorshift1024star.nState]; +algorithm +when initial() then +state1024 := Modelica.Math.Random.Generators.Xorshift1024star.initialState(614657, 30020); +x := F1; +r1024 := 0; +elsewhen sample(0,1) then +(r1024,state1024) := Modelica.Math.Random.Generators.Xorshift1024star.random(pre(state1024)); +if (r1024 <= A[x, F1]) then + x := F1; + elseif (r1024 <= A[x, F1] + A[x, F2]) then + x := F2; + elseif (r1024 <= A[x, F1] + A[x, F2] + A[x, F3]) then + x := F3; + else + x := End; +end if; +end when; +end System; \ No newline at end of file diff --git a/Ingegneria del Software/0621_9/correct.txt b/Ingegneria del Software/0621_9/correct.txt new file mode 100644 index 0000000..4bef521 --- /dev/null +++ b/Ingegneria del Software/0621_9/correct.txt @@ -0,0 +1 @@ +Requirements specification precedes the component analysis activity. \ No newline at end of file diff --git a/Ingegneria del Software/0621_9/quest.txt b/Ingegneria del Software/0621_9/quest.txt new file mode 100644 index 0000000..47b8c7e --- /dev/null +++ b/Ingegneria del Software/0621_9/quest.txt @@ -0,0 +1 @@ +Consider reuse-based software development. Which of the following is true? \ No newline at end of file diff --git a/Ingegneria del Software/0621_9/wrong0.txt b/Ingegneria del Software/0621_9/wrong0.txt new file mode 100644 index 0000000..d37b8fe --- /dev/null +++ b/Ingegneria del Software/0621_9/wrong0.txt @@ -0,0 +1 @@ +Requirements specification is not needed thanks to reuse. \ No newline at end of file diff --git a/Ingegneria del Software/0621_9/wrong1.txt b/Ingegneria del Software/0621_9/wrong1.txt new file mode 100644 index 0000000..53c7eb8 --- /dev/null +++ b/Ingegneria del Software/0621_9/wrong1.txt @@ -0,0 +1 @@ +Development and integration are not needed thanks to reuse. \ No newline at end of file