From 0873165c529ccad1b5935cdba0b0a85cc852fb6f Mon Sep 17 00:00:00 2001 From: Marco Realacci Date: Sat, 24 Jun 2023 13:42:48 +0200 Subject: [PATCH] Add new ingsw questions --- Ingegneria del Software/0120_0/correct.txt | 1 + Ingegneria del Software/0120_0/quest.txt | 11 +++++ Ingegneria del Software/0120_0/wrong1.txt | 1 + Ingegneria del Software/0120_0/wrong2.txt | 1 + Ingegneria del Software/0120_1/correct.txt | 17 +++++++ Ingegneria del Software/0120_1/quest.txt | 3 ++ Ingegneria del Software/0120_1/wrong1.txt | 17 +++++++ Ingegneria del Software/0120_1/wrong2.txt | 17 +++++++ Ingegneria del Software/0120_10/correct.txt | 16 +++++++ Ingegneria del Software/0120_10/quest.txt | 4 ++ Ingegneria del Software/0120_10/wrong1.txt | 16 +++++++ Ingegneria del Software/0120_10/wrong2.txt | 16 +++++++ Ingegneria del Software/0120_11/correct.txt | 1 + Ingegneria del Software/0120_11/quest.txt | 1 + Ingegneria del Software/0120_11/wrong1.txt | 1 + Ingegneria del Software/0120_11/wrong2.txt | 1 + Ingegneria del Software/0120_12/correct.txt | 1 + Ingegneria del Software/0120_12/quest.txt | 6 +++ Ingegneria del Software/0120_12/wrong1.txt | 1 + Ingegneria del Software/0120_12/wrong2.txt | 1 + Ingegneria del Software/0120_13/correct.txt | 1 + Ingegneria del Software/0120_13/quest.txt | 9 ++++ Ingegneria del Software/0120_13/wrong1.txt | 1 + Ingegneria del Software/0120_13/wrong2.txt | 1 + Ingegneria del Software/0120_14/correct.txt | 1 + Ingegneria del Software/0120_14/quest.txt | 6 +++ Ingegneria del Software/0120_14/wrong1.txt | 1 + Ingegneria del Software/0120_14/wrong2.txt | 1 + Ingegneria del Software/0120_15/correct.txt | 1 + Ingegneria del Software/0120_15/quest.txt | 1 + Ingegneria del Software/0120_15/wrong1.txt | 1 + Ingegneria del Software/0120_15/wrong2.txt | 1 + Ingegneria del Software/0120_16/correct.txt | 1 + Ingegneria del Software/0120_16/quest.txt | 2 + Ingegneria del Software/0120_16/wrong1.txt | 1 + Ingegneria del Software/0120_16/wrong2.txt | 1 + Ingegneria del Software/0120_17/correct.txt | 1 + Ingegneria del Software/0120_17/quest.txt | 9 ++++ Ingegneria del Software/0120_17/wrong1.txt | 1 + Ingegneria del Software/0120_17/wrong2.txt | 1 + Ingegneria del Software/0120_18/correct.txt | 1 + Ingegneria del Software/0120_18/quest.txt | 9 ++++ Ingegneria del Software/0120_18/wrong1.txt | 1 + Ingegneria del Software/0120_18/wrong2.txt | 1 + Ingegneria del Software/0120_19/correct.txt | 1 + Ingegneria del Software/0120_19/quest.txt | 1 + Ingegneria del Software/0120_19/wrong1.txt | 1 + Ingegneria del Software/0120_19/wrong2.txt | 1 + Ingegneria del Software/0120_2/correct.txt | 1 + Ingegneria del Software/0120_2/quest.txt | 11 +++++ Ingegneria del Software/0120_2/wrong1.txt | 1 + Ingegneria del Software/0120_2/wrong2.txt | 1 + Ingegneria del Software/0120_20/correct.txt | 1 + Ingegneria del Software/0120_20/quest.txt | 8 ++++ Ingegneria del Software/0120_20/wrong1.txt | 1 + Ingegneria del Software/0120_20/wrong2.txt | 1 + Ingegneria del Software/0120_21/correct.txt | 1 + Ingegneria del Software/0120_21/quest.txt | 2 + Ingegneria del Software/0120_21/wrong1.txt | 1 + Ingegneria del Software/0120_21/wrong2.txt | 1 + Ingegneria del Software/0120_22/quest.txt | 32 ++++++++++++++ Ingegneria del Software/0120_22/wrong1.txt | 0 Ingegneria del Software/0120_22/wrong2.txt | 0 Ingegneria del Software/0120_22/wrong3.txt | 0 Ingegneria del Software/0120_23/correct.txt | 1 + Ingegneria del Software/0120_23/quest.txt | 11 +++++ Ingegneria del Software/0120_23/wrong1.txt | 1 + Ingegneria del Software/0120_23/wrong2.txt | 1 + Ingegneria del Software/0120_24/correct.txt | 1 + Ingegneria del Software/0120_24/quest.txt | 9 ++++ Ingegneria del Software/0120_24/wrong1.txt | 1 + Ingegneria del Software/0120_24/wrong2.txt | 1 + Ingegneria del Software/0120_25/quest.txt | 37 ++++++++++++++++ Ingegneria del Software/0120_25/wrong1.txt | 0 Ingegneria del Software/0120_25/wrong2.txt | 0 Ingegneria del Software/0120_25/wrong3.txt | 0 Ingegneria del Software/0120_26/correct.txt | 1 + Ingegneria del Software/0120_26/quest.txt | 9 ++++ Ingegneria del Software/0120_26/wrong1.txt | 1 + Ingegneria del Software/0120_26/wrong2.txt | 1 + Ingegneria del Software/0120_27/correct.txt | 17 +++++++ Ingegneria del Software/0120_27/quest.txt | 3 ++ Ingegneria del Software/0120_27/wrong1.txt | 17 +++++++ Ingegneria del Software/0120_27/wrong2.txt | 17 +++++++ Ingegneria del Software/0120_28/quest.txt | 2 + Ingegneria del Software/0120_28/wrong1.txt | 38 ++++++++++++++++ Ingegneria del Software/0120_28/wrong2.txt | 33 ++++++++++++++ Ingegneria del Software/0120_28/wrong3.txt | 33 ++++++++++++++ Ingegneria del Software/0120_29/correct.txt | 15 +++++++ Ingegneria del Software/0120_29/quest.txt | 5 +++ Ingegneria del Software/0120_29/wrong1.txt | 16 +++++++ Ingegneria del Software/0120_29/wrong2.txt | 15 +++++++ Ingegneria del Software/0120_3/correct.txt | 5 +++ Ingegneria del Software/0120_3/quest.txt | 4 ++ Ingegneria del Software/0120_3/wrong1.txt | 5 +++ Ingegneria del Software/0120_3/wrong2.txt | 5 +++ Ingegneria del Software/0120_30/correct.txt | 1 + Ingegneria del Software/0120_30/quest.txt | 22 +++++++++ Ingegneria del Software/0120_30/wrong1.txt | 1 + Ingegneria del Software/0120_30/wrong2.txt | 1 + Ingegneria del Software/0120_31/correct.txt | 1 + Ingegneria del Software/0120_31/quest.txt | 11 +++++ Ingegneria del Software/0120_31/wrong1.txt | 1 + Ingegneria del Software/0120_31/wrong2.txt | 1 + Ingegneria del Software/0120_32/correct.txt | 1 + Ingegneria del Software/0120_32/quest.txt | 8 ++++ Ingegneria del Software/0120_32/wrong1.txt | 1 + Ingegneria del Software/0120_32/wrong2.txt | 1 + Ingegneria del Software/0120_33/correct.txt | 1 + Ingegneria del Software/0120_33/quest.txt | 16 +++++++ Ingegneria del Software/0120_33/wrong1.txt | 1 + Ingegneria del Software/0120_33/wrong2.txt | 1 + Ingegneria del Software/0120_34/quest.txt | 2 + Ingegneria del Software/0120_34/wrong1.txt | 35 +++++++++++++++ Ingegneria del Software/0120_34/wrong2.txt | 36 +++++++++++++++ Ingegneria del Software/0120_34/wrong3.txt | 37 ++++++++++++++++ Ingegneria del Software/0120_35/quest.txt | 4 ++ Ingegneria del Software/0120_35/wrong1.txt | 6 +++ Ingegneria del Software/0120_35/wrong2.txt | 6 +++ Ingegneria del Software/0120_35/wrong3.txt | 6 +++ Ingegneria del Software/0120_36/correct.txt | 1 + Ingegneria del Software/0120_36/quest.txt | 12 +++++ Ingegneria del Software/0120_36/wrong1.txt | 1 + Ingegneria del Software/0120_36/wrong2.txt | 1 + Ingegneria del Software/0120_37/correct.txt | 1 + Ingegneria del Software/0120_37/quest.txt | 13 ++++++ Ingegneria del Software/0120_37/wrong1.txt | 1 + Ingegneria del Software/0120_37/wrong2.txt | 1 + Ingegneria del Software/0120_38/correct.txt | 17 +++++++ Ingegneria del Software/0120_38/quest.txt | 3 ++ Ingegneria del Software/0120_38/wrong1.txt | 17 +++++++ Ingegneria del Software/0120_38/wrong2.txt | 17 +++++++ Ingegneria del Software/0120_39/quest.txt | 35 +++++++++++++++ Ingegneria del Software/0120_39/wrong1.txt | 0 Ingegneria del Software/0120_39/wrong2.txt | 0 Ingegneria del Software/0120_39/wrong3.txt | 0 Ingegneria del Software/0120_4/correct.txt | 1 + Ingegneria del Software/0120_4/quest.txt | 16 +++++++ Ingegneria del Software/0120_4/wrong1.txt | 1 + Ingegneria del Software/0120_4/wrong2.txt | 1 + Ingegneria del Software/0120_40/correct.txt | 1 + Ingegneria del Software/0120_40/quest.txt | 8 ++++ Ingegneria del Software/0120_40/wrong1.txt | 1 + Ingegneria del Software/0120_40/wrong2.txt | 1 + Ingegneria del Software/0120_41/correct.txt | 1 + Ingegneria del Software/0120_41/quest.txt | 4 ++ Ingegneria del Software/0120_41/wrong1.txt | 1 + Ingegneria del Software/0120_41/wrong2.txt | 1 + Ingegneria del Software/0120_42/correct.txt | 1 + Ingegneria del Software/0120_42/quest.txt | 11 +++++ Ingegneria del Software/0120_42/wrong1.txt | 1 + Ingegneria del Software/0120_42/wrong2.txt | 1 + Ingegneria del Software/0120_43/quest.txt | 2 + Ingegneria del Software/0120_43/wrong1.txt | 32 ++++++++++++++ Ingegneria del Software/0120_43/wrong2.txt | 36 +++++++++++++++ Ingegneria del Software/0120_43/wrong3.txt | 36 +++++++++++++++ Ingegneria del Software/0120_44/correct.txt | 1 + Ingegneria del Software/0120_44/quest.txt | 21 +++++++++ Ingegneria del Software/0120_44/wrong1.txt | 1 + Ingegneria del Software/0120_44/wrong2.txt | 1 + Ingegneria del Software/0120_45/quest.txt | 35 +++++++++++++++ Ingegneria del Software/0120_45/wrong1.txt | 0 Ingegneria del Software/0120_45/wrong2.txt | 0 Ingegneria del Software/0120_45/wrong3.txt | 0 Ingegneria del Software/0120_46/correct.txt | 1 + Ingegneria del Software/0120_46/quest.txt | 9 ++++ Ingegneria del Software/0120_46/wrong1.txt | 1 + Ingegneria del Software/0120_46/wrong2.txt | 1 + Ingegneria del Software/0120_47/correct.txt | 1 + Ingegneria del Software/0120_47/quest.txt | 1 + Ingegneria del Software/0120_47/wrong1.txt | 1 + Ingegneria del Software/0120_47/wrong2.txt | 1 + Ingegneria del Software/0120_48/correct.txt | 17 +++++++ Ingegneria del Software/0120_48/quest.txt | 3 ++ Ingegneria del Software/0120_48/wrong1.txt | 17 +++++++ Ingegneria del Software/0120_48/wrong2.txt | 17 +++++++ Ingegneria del Software/0120_49/correct.txt | 1 + Ingegneria del Software/0120_49/quest.txt | 6 +++ Ingegneria del Software/0120_49/wrong1.txt | 1 + Ingegneria del Software/0120_49/wrong2.txt | 1 + Ingegneria del Software/0120_5/quest.txt | 2 + Ingegneria del Software/0120_5/wrong1.txt | 35 +++++++++++++++ Ingegneria del Software/0120_5/wrong2.txt | 37 ++++++++++++++++ Ingegneria del Software/0120_5/wrong3.txt | 28 ++++++++++++ Ingegneria del Software/0120_6/correct.txt | 1 + Ingegneria del Software/0120_6/quest.txt | 1 + Ingegneria del Software/0120_6/wrong1.txt | 1 + Ingegneria del Software/0120_6/wrong2.txt | 1 + Ingegneria del Software/0120_7/correct.txt | 15 +++++++ Ingegneria del Software/0120_7/quest.txt | 5 +++ Ingegneria del Software/0120_7/wrong1.txt | 15 +++++++ Ingegneria del Software/0120_7/wrong2.txt | 15 +++++++ Ingegneria del Software/0120_8/correct.txt | 1 + Ingegneria del Software/0120_8/quest.txt | 11 +++++ Ingegneria del Software/0120_8/wrong1.txt | 1 + Ingegneria del Software/0120_8/wrong2.txt | 1 + Ingegneria del Software/0120_9/correct.txt | 1 + Ingegneria del Software/0120_9/quest.txt | 9 ++++ Ingegneria del Software/0120_9/wrong1.txt | 1 + Ingegneria del Software/0120_9/wrong2.txt | 1 + Ingegneria del Software/0210_0/correct.txt | 1 + Ingegneria del Software/0210_0/quest.txt | 22 +++++++++ Ingegneria del Software/0210_0/wrong1.txt | 1 + Ingegneria del Software/0210_0/wrong2.txt | 1 + Ingegneria del Software/0210_1/quest.txt | 5 +++ Ingegneria del Software/0210_1/wrong1.txt | 6 +++ Ingegneria del Software/0210_1/wrong2.txt | 3 ++ Ingegneria del Software/0210_1/wrong3.txt | 40 +++++++++++++++++ Ingegneria del Software/0210_10/correct.txt | 1 + Ingegneria del Software/0210_10/quest.txt | 16 +++++++ Ingegneria del Software/0210_10/wrong1.txt | 1 + Ingegneria del Software/0210_10/wrong2.txt | 1 + Ingegneria del Software/0210_11/quest.txt | 4 ++ Ingegneria del Software/0210_11/wrong1.txt | 9 ++++ Ingegneria del Software/0210_11/wrong2.txt | 9 ++++ Ingegneria del Software/0210_11/wrong3.txt | 9 ++++ Ingegneria del Software/0210_12/quest.txt | 2 + Ingegneria del Software/0210_12/wrong1.txt | 38 ++++++++++++++++ Ingegneria del Software/0210_12/wrong2.txt | 35 +++++++++++++++ Ingegneria del Software/0210_12/wrong3.txt | 35 +++++++++++++++ Ingegneria del Software/0210_13/correct.txt | 17 +++++++ Ingegneria del Software/0210_13/quest.txt | 3 ++ Ingegneria del Software/0210_13/wrong1.txt | 17 +++++++ Ingegneria del Software/0210_13/wrong2.txt | 17 +++++++ Ingegneria del Software/0210_14/correct.txt | 1 + Ingegneria del Software/0210_14/quest.txt | 9 ++++ Ingegneria del Software/0210_14/wrong1.txt | 1 + Ingegneria del Software/0210_14/wrong2.txt | 1 + Ingegneria del Software/0210_15/correct.txt | 17 +++++++ Ingegneria del Software/0210_15/quest.txt | 3 ++ Ingegneria del Software/0210_15/wrong1.txt | 17 +++++++ Ingegneria del Software/0210_15/wrong2.txt | 17 +++++++ Ingegneria del Software/0210_16/correct.txt | 17 +++++++ Ingegneria del Software/0210_16/quest.txt | 3 ++ Ingegneria del Software/0210_16/wrong1.txt | 17 +++++++ Ingegneria del Software/0210_16/wrong2.txt | 17 +++++++ Ingegneria del Software/0210_17/correct.txt | 1 + Ingegneria del Software/0210_17/quest.txt | 13 ++++++ Ingegneria del Software/0210_17/wrong1.txt | 1 + Ingegneria del Software/0210_17/wrong2.txt | 1 + Ingegneria del Software/0210_18/correct.txt | 1 + Ingegneria del Software/0210_18/quest.txt | 1 + Ingegneria del Software/0210_18/wrong1.txt | 1 + Ingegneria del Software/0210_18/wrong2.txt | 1 + Ingegneria del Software/0210_19/correct.txt | 1 + Ingegneria del Software/0210_19/quest.txt | 12 +++++ Ingegneria del Software/0210_19/wrong1.txt | 1 + Ingegneria del Software/0210_19/wrong2.txt | 1 + Ingegneria del Software/0210_2/quest.txt | 36 +++++++++++++++ Ingegneria del Software/0210_2/wrong1.txt | 0 Ingegneria del Software/0210_2/wrong2.txt | 0 Ingegneria del Software/0210_2/wrong3.txt | 0 Ingegneria del Software/0210_20/correct.txt | 1 + Ingegneria del Software/0210_20/quest.txt | 1 + Ingegneria del Software/0210_20/wrong1.txt | 1 + Ingegneria del Software/0210_20/wrong2.txt | 1 + Ingegneria del Software/0210_21/correct.txt | 15 +++++++ Ingegneria del Software/0210_21/quest.txt | 5 +++ Ingegneria del Software/0210_21/wrong1.txt | 15 +++++++ Ingegneria del Software/0210_21/wrong2.txt | 15 +++++++ Ingegneria del Software/0210_22/correct.txt | 1 + Ingegneria del Software/0210_22/quest.txt | 16 +++++++ Ingegneria del Software/0210_22/wrong1.txt | 1 + Ingegneria del Software/0210_22/wrong2.txt | 1 + Ingegneria del Software/0210_23/correct.txt | 1 + Ingegneria del Software/0210_23/quest.txt | 9 ++++ Ingegneria del Software/0210_23/wrong1.txt | 1 + Ingegneria del Software/0210_23/wrong2.txt | 1 + Ingegneria del Software/0210_24/correct.txt | 1 + Ingegneria del Software/0210_24/quest.txt | 6 +++ Ingegneria del Software/0210_24/wrong1.txt | 1 + Ingegneria del Software/0210_24/wrong2.txt | 1 + Ingegneria del Software/0210_25/correct.txt | 5 +++ Ingegneria del Software/0210_25/quest.txt | 4 ++ Ingegneria del Software/0210_25/wrong1.txt | 5 +++ Ingegneria del Software/0210_25/wrong2.txt | 5 +++ Ingegneria del Software/0210_26/correct.txt | 1 + Ingegneria del Software/0210_26/quest.txt | 6 +++ Ingegneria del Software/0210_26/wrong1.txt | 1 + Ingegneria del Software/0210_26/wrong2.txt | 1 + Ingegneria del Software/0210_27/quest.txt | 2 + Ingegneria del Software/0210_27/wrong1.txt | 36 +++++++++++++++ Ingegneria del Software/0210_27/wrong2.txt | 32 ++++++++++++++ Ingegneria del Software/0210_27/wrong3.txt | 37 ++++++++++++++++ Ingegneria del Software/0210_28/quest.txt | 38 ++++++++++++++++ Ingegneria del Software/0210_28/wrong1.txt | 0 Ingegneria del Software/0210_28/wrong2.txt | 0 Ingegneria del Software/0210_28/wrong3.txt | 0 Ingegneria del Software/0210_29/correct.txt | 1 + Ingegneria del Software/0210_29/quest.txt | 2 + Ingegneria del Software/0210_29/wrong1.txt | 1 + Ingegneria del Software/0210_29/wrong2.txt | 1 + Ingegneria del Software/0210_3/quest.txt | 4 ++ Ingegneria del Software/0210_3/wrong1.txt | 14 ++++++ Ingegneria del Software/0210_3/wrong2.txt | 14 ++++++ Ingegneria del Software/0210_3/wrong3.txt | 15 +++++++ Ingegneria del Software/0210_30/correct.txt | 1 + Ingegneria del Software/0210_30/quest.txt | 13 ++++++ Ingegneria del Software/0210_30/wrong1.txt | 1 + Ingegneria del Software/0210_30/wrong2.txt | 1 + Ingegneria del Software/0210_31/correct.txt | 1 + Ingegneria del Software/0210_31/quest.txt | 9 ++++ Ingegneria del Software/0210_31/wrong1.txt | 1 + Ingegneria del Software/0210_31/wrong2.txt | 1 + Ingegneria del Software/0210_32/correct.txt | 1 + Ingegneria del Software/0210_32/quest.txt | 13 ++++++ Ingegneria del Software/0210_32/wrong1.txt | 1 + Ingegneria del Software/0210_32/wrong2.txt | 1 + Ingegneria del Software/0210_33/correct.txt | 1 + Ingegneria del Software/0210_33/quest.txt | 9 ++++ Ingegneria del Software/0210_33/wrong1.txt | 1 + Ingegneria del Software/0210_33/wrong2.txt | 1 + Ingegneria del Software/0210_34/quest.txt | 34 ++++++++++++++ Ingegneria del Software/0210_34/wrong1.txt | 0 Ingegneria del Software/0210_34/wrong2.txt | 0 Ingegneria del Software/0210_34/wrong3.txt | 0 Ingegneria del Software/0210_35/correct.txt | 1 + Ingegneria del Software/0210_35/quest.txt | 1 + Ingegneria del Software/0210_35/wrong1.txt | 1 + Ingegneria del Software/0210_35/wrong2.txt | 1 + Ingegneria del Software/0210_36/correct.txt | 5 +++ Ingegneria del Software/0210_36/quest.txt | 4 ++ Ingegneria del Software/0210_36/wrong1.txt | 5 +++ Ingegneria del Software/0210_36/wrong2.txt | 5 +++ Ingegneria del Software/0210_37/quest.txt | 36 +++++++++++++++ Ingegneria del Software/0210_37/wrong1.txt | 0 Ingegneria del Software/0210_37/wrong2.txt | 0 Ingegneria del Software/0210_37/wrong3.txt | 0 Ingegneria del Software/0210_38/correct.txt | 1 + Ingegneria del Software/0210_38/quest.txt | 21 +++++++++ Ingegneria del Software/0210_38/wrong1.txt | 1 + Ingegneria del Software/0210_38/wrong2.txt | 1 + Ingegneria del Software/0210_39/correct.txt | 1 + Ingegneria del Software/0210_39/quest.txt | 6 +++ Ingegneria del Software/0210_39/wrong1.txt | 1 + Ingegneria del Software/0210_39/wrong2.txt | 1 + Ingegneria del Software/0210_4/correct.txt | 1 + Ingegneria del Software/0210_4/quest.txt | 12 +++++ Ingegneria del Software/0210_4/wrong1.txt | 1 + Ingegneria del Software/0210_4/wrong2.txt | 1 + Ingegneria del Software/0210_40/correct.txt | 1 + Ingegneria del Software/0210_40/quest.txt | 9 ++++ Ingegneria del Software/0210_40/wrong1.txt | 1 + Ingegneria del Software/0210_40/wrong2.txt | 1 + Ingegneria del Software/0210_41/correct.txt | 1 + Ingegneria del Software/0210_41/quest.txt | 13 ++++++ Ingegneria del Software/0210_41/wrong1.txt | 1 + Ingegneria del Software/0210_41/wrong2.txt | 1 + Ingegneria del Software/0210_42/quest.txt | 5 +++ Ingegneria del Software/0210_42/wrong1.txt | 6 +++ Ingegneria del Software/0210_42/wrong2.txt | 3 ++ Ingegneria del Software/0210_42/wrong3.txt | 39 ++++++++++++++++ Ingegneria del Software/0210_43/correct.txt | 16 +++++++ Ingegneria del Software/0210_43/quest.txt | 4 ++ Ingegneria del Software/0210_43/wrong1.txt | 16 +++++++ Ingegneria del Software/0210_43/wrong2.txt | 16 +++++++ Ingegneria del Software/0210_44/quest.txt | 2 + Ingegneria del Software/0210_44/wrong1.txt | 34 ++++++++++++++ Ingegneria del Software/0210_44/wrong2.txt | 35 +++++++++++++++ Ingegneria del Software/0210_44/wrong3.txt | 32 ++++++++++++++ Ingegneria del Software/0210_45/correct.txt | 15 +++++++ Ingegneria del Software/0210_45/quest.txt | 5 +++ Ingegneria del Software/0210_45/wrong1.txt | 16 +++++++ Ingegneria del Software/0210_45/wrong2.txt | 15 +++++++ Ingegneria del Software/0210_46/correct.txt | 9 ++++ Ingegneria del Software/0210_46/quest.txt | 4 ++ Ingegneria del Software/0210_46/wrong1.txt | 9 ++++ Ingegneria del Software/0210_46/wrong2.txt | 9 ++++ Ingegneria del Software/0210_47/correct.txt | 1 + Ingegneria del Software/0210_47/quest.txt | 8 ++++ Ingegneria del Software/0210_47/wrong1.txt | 1 + Ingegneria del Software/0210_47/wrong2.txt | 1 + Ingegneria del Software/0210_48/correct.txt | 1 + Ingegneria del Software/0210_48/quest.txt | 8 ++++ Ingegneria del Software/0210_48/wrong1.txt | 1 + Ingegneria del Software/0210_48/wrong2.txt | 1 + Ingegneria del Software/0210_49/correct.txt | 1 + Ingegneria del Software/0210_49/quest.txt | 12 +++++ Ingegneria del Software/0210_49/wrong1.txt | 1 + Ingegneria del Software/0210_49/wrong2.txt | 1 + Ingegneria del Software/0210_5/correct.txt | 17 +++++++ Ingegneria del Software/0210_5/quest.txt | 3 ++ Ingegneria del Software/0210_5/wrong1.txt | 17 +++++++ Ingegneria del Software/0210_5/wrong2.txt | 17 +++++++ Ingegneria del Software/0210_6/correct.txt | 15 +++++++ Ingegneria del Software/0210_6/quest.txt | 5 +++ Ingegneria del Software/0210_6/wrong1.txt | 16 +++++++ Ingegneria del Software/0210_6/wrong2.txt | 15 +++++++ Ingegneria del Software/0210_7/correct.txt | 1 + Ingegneria del Software/0210_7/quest.txt | 8 ++++ Ingegneria del Software/0210_7/wrong1.txt | 1 + Ingegneria del Software/0210_7/wrong2.txt | 1 + Ingegneria del Software/0210_8/correct.txt | 1 + Ingegneria del Software/0210_8/quest.txt | 10 +++++ Ingegneria del Software/0210_8/wrong1.txt | 1 + Ingegneria del Software/0210_8/wrong2.txt | 1 + Ingegneria del Software/0210_9/quest.txt | 2 + Ingegneria del Software/0210_9/wrong1.txt | 36 +++++++++++++++ Ingegneria del Software/0210_9/wrong2.txt | 35 +++++++++++++++ Ingegneria del Software/0210_9/wrong3.txt | 32 ++++++++++++++ Ingegneria del Software/0324_0/correct.txt | 1 + Ingegneria del Software/0324_0/quest.txt | 9 ++++ Ingegneria del Software/0324_0/wrong1.txt | 1 + Ingegneria del Software/0324_0/wrong2.txt | 1 + Ingegneria del Software/0324_1/quest.txt | 4 ++ Ingegneria del Software/0324_1/wrong1.txt | 8 ++++ Ingegneria del Software/0324_1/wrong2.txt | 2 + Ingegneria del Software/0324_1/wrong3.txt | 46 +++++++++++++++++++ Ingegneria del Software/0324_10/correct.txt | 1 + Ingegneria del Software/0324_10/quest.txt | 1 + Ingegneria del Software/0324_10/wrong1.txt | 1 + Ingegneria del Software/0324_10/wrong2.txt | 1 + Ingegneria del Software/0324_11/quest.txt | 2 + Ingegneria del Software/0324_11/wrong1.txt | 35 +++++++++++++++ Ingegneria del Software/0324_11/wrong2.txt | 34 ++++++++++++++ Ingegneria del Software/0324_11/wrong3.txt | 37 ++++++++++++++++ Ingegneria del Software/0324_12/correct.txt | 1 + Ingegneria del Software/0324_12/quest.txt | 9 ++++ Ingegneria del Software/0324_12/wrong1.txt | 1 + Ingegneria del Software/0324_12/wrong2.txt | 1 + Ingegneria del Software/0324_13/correct.txt | 1 + Ingegneria del Software/0324_13/quest.txt | 8 ++++ Ingegneria del Software/0324_13/wrong1.txt | 1 + Ingegneria del Software/0324_13/wrong2.txt | 1 + Ingegneria del Software/0324_14/correct.txt | 1 + Ingegneria del Software/0324_14/quest.txt | 9 ++++ Ingegneria del Software/0324_14/wrong1.txt | 1 + Ingegneria del Software/0324_14/wrong2.txt | 1 + Ingegneria del Software/0324_15/correct.txt | 1 + Ingegneria del Software/0324_15/quest.txt | 22 +++++++++ Ingegneria del Software/0324_15/wrong1.txt | 1 + Ingegneria del Software/0324_15/wrong2.txt | 1 + Ingegneria del Software/0324_16/correct.txt | 1 + Ingegneria del Software/0324_16/quest.txt | 1 + Ingegneria del Software/0324_16/wrong1.txt | 1 + Ingegneria del Software/0324_16/wrong2.txt | 1 + Ingegneria del Software/0324_17/correct.txt | 1 + Ingegneria del Software/0324_17/quest.txt | 13 ++++++ Ingegneria del Software/0324_17/wrong1.txt | 1 + Ingegneria del Software/0324_17/wrong2.txt | 1 + Ingegneria del Software/0324_18/correct.txt | 1 + Ingegneria del Software/0324_18/quest.txt | 8 ++++ Ingegneria del Software/0324_18/wrong1.txt | 1 + Ingegneria del Software/0324_18/wrong2.txt | 1 + Ingegneria del Software/0324_19/correct.txt | 1 + Ingegneria del Software/0324_19/quest.txt | 12 +++++ Ingegneria del Software/0324_19/wrong1.txt | 1 + Ingegneria del Software/0324_19/wrong2.txt | 1 + Ingegneria del Software/0324_2/correct.txt | 1 + Ingegneria del Software/0324_2/quest.txt | 9 ++++ Ingegneria del Software/0324_2/wrong1.txt | 1 + Ingegneria del Software/0324_2/wrong2.txt | 1 + Ingegneria del Software/0324_20/correct.txt | 1 + Ingegneria del Software/0324_20/quest.txt | 13 ++++++ Ingegneria del Software/0324_20/wrong1.txt | 1 + Ingegneria del Software/0324_20/wrong2.txt | 1 + Ingegneria del Software/0324_21/correct.txt | 1 + Ingegneria del Software/0324_21/quest.txt | 8 ++++ Ingegneria del Software/0324_21/wrong1.txt | 1 + Ingegneria del Software/0324_21/wrong2.txt | 1 + Ingegneria del Software/0324_22/correct.txt | 1 + Ingegneria del Software/0324_22/quest.txt | 9 ++++ Ingegneria del Software/0324_22/wrong1.txt | 1 + Ingegneria del Software/0324_22/wrong2.txt | 1 + Ingegneria del Software/0324_23/correct.txt | 1 + Ingegneria del Software/0324_23/quest.txt | 11 +++++ Ingegneria del Software/0324_23/wrong1.txt | 1 + Ingegneria del Software/0324_23/wrong2.txt | 1 + Ingegneria del Software/0324_24/correct.txt | 1 + Ingegneria del Software/0324_24/quest.txt | 1 + Ingegneria del Software/0324_24/wrong1.txt | 1 + Ingegneria del Software/0324_24/wrong2.txt | 1 + Ingegneria del Software/0324_25/correct.txt | 1 + Ingegneria del Software/0324_25/quest.txt | 1 + Ingegneria del Software/0324_25/wrong1.txt | 1 + Ingegneria del Software/0324_25/wrong2.txt | 1 + Ingegneria del Software/0324_26/quest.txt | 19 ++++++++ Ingegneria del Software/0324_26/wrong1.txt | 0 Ingegneria del Software/0324_26/wrong2.txt | 0 Ingegneria del Software/0324_26/wrong3.txt | 0 Ingegneria del Software/0324_27/correct.txt | 17 +++++++ Ingegneria del Software/0324_27/quest.txt | 3 ++ Ingegneria del Software/0324_27/wrong1.txt | 17 +++++++ Ingegneria del Software/0324_27/wrong2.txt | 17 +++++++ Ingegneria del Software/0324_28/correct.txt | 16 +++++++ Ingegneria del Software/0324_28/quest.txt | 4 ++ Ingegneria del Software/0324_28/wrong1.txt | 16 +++++++ Ingegneria del Software/0324_28/wrong2.txt | 16 +++++++ Ingegneria del Software/0324_29/correct.txt | 1 + Ingegneria del Software/0324_29/quest.txt | 1 + Ingegneria del Software/0324_29/wrong1.txt | 1 + Ingegneria del Software/0324_29/wrong2.txt | 1 + Ingegneria del Software/0324_3/correct.txt | 1 + Ingegneria del Software/0324_3/quest.txt | 11 +++++ Ingegneria del Software/0324_3/wrong1.txt | 1 + Ingegneria del Software/0324_3/wrong2.txt | 1 + Ingegneria del Software/0324_30/quest.txt | 4 ++ Ingegneria del Software/0324_30/wrong1.txt | 14 ++++++ Ingegneria del Software/0324_30/wrong2.txt | 15 +++++++ Ingegneria del Software/0324_30/wrong3.txt | 14 ++++++ Ingegneria del Software/0324_31/correct.txt | 17 +++++++ Ingegneria del Software/0324_31/quest.txt | 3 ++ Ingegneria del Software/0324_31/wrong1.txt | 17 +++++++ Ingegneria del Software/0324_31/wrong2.txt | 17 +++++++ Ingegneria del Software/0324_32/correct.txt | 1 + Ingegneria del Software/0324_32/quest.txt | 6 +++ Ingegneria del Software/0324_32/wrong1.txt | 1 + Ingegneria del Software/0324_32/wrong2.txt | 1 + Ingegneria del Software/0324_33/correct.txt | 1 + Ingegneria del Software/0324_33/quest.txt | 21 +++++++++ Ingegneria del Software/0324_33/wrong1.txt | 1 + Ingegneria del Software/0324_33/wrong2.txt | 1 + Ingegneria del Software/0324_34/correct.txt | 15 +++++++ Ingegneria del Software/0324_34/quest.txt | 5 +++ Ingegneria del Software/0324_34/wrong1.txt | 15 +++++++ Ingegneria del Software/0324_34/wrong2.txt | 15 +++++++ Ingegneria del Software/0324_35/quest.txt | 39 ++++++++++++++++ Ingegneria del Software/0324_35/wrong1.txt | 0 Ingegneria del Software/0324_35/wrong2.txt | 0 Ingegneria del Software/0324_35/wrong3.txt | 0 Ingegneria del Software/0324_36/correct.txt | 1 + Ingegneria del Software/0324_36/quest.txt | 6 +++ Ingegneria del Software/0324_36/wrong1.txt | 1 + Ingegneria del Software/0324_36/wrong2.txt | 1 + Ingegneria del Software/0324_37/correct.txt | 1 + Ingegneria del Software/0324_37/quest.txt | 12 +++++ Ingegneria del Software/0324_37/wrong1.txt | 1 + Ingegneria del Software/0324_37/wrong2.txt | 1 + Ingegneria del Software/0324_38/correct.txt | 1 + Ingegneria del Software/0324_38/quest.txt | 2 + Ingegneria del Software/0324_38/wrong1.txt | 1 + Ingegneria del Software/0324_38/wrong2.txt | 1 + Ingegneria del Software/0324_39/correct.txt | 15 +++++++ Ingegneria del Software/0324_39/quest.txt | 5 +++ Ingegneria del Software/0324_39/wrong1.txt | 15 +++++++ Ingegneria del Software/0324_39/wrong2.txt | 16 +++++++ Ingegneria del Software/0324_4/correct.txt | 1 + Ingegneria del Software/0324_4/quest.txt | 9 ++++ Ingegneria del Software/0324_4/wrong1.txt | 1 + Ingegneria del Software/0324_4/wrong2.txt | 1 + Ingegneria del Software/0324_40/correct.txt | 1 + Ingegneria del Software/0324_40/quest.txt | 9 ++++ Ingegneria del Software/0324_40/wrong1.txt | 1 + Ingegneria del Software/0324_40/wrong2.txt | 1 + Ingegneria del Software/0324_41/quest.txt | 2 + Ingegneria del Software/0324_41/wrong1.txt | 36 +++++++++++++++ Ingegneria del Software/0324_41/wrong2.txt | 36 +++++++++++++++ Ingegneria del Software/0324_41/wrong3.txt | 34 ++++++++++++++ Ingegneria del Software/0324_42/quest.txt | 35 +++++++++++++++ Ingegneria del Software/0324_42/wrong1.txt | 0 Ingegneria del Software/0324_42/wrong2.txt | 0 Ingegneria del Software/0324_42/wrong3.txt | 0 Ingegneria del Software/0324_43/correct.txt | 1 + Ingegneria del Software/0324_43/quest.txt | 13 ++++++ Ingegneria del Software/0324_43/wrong1.txt | 1 + Ingegneria del Software/0324_43/wrong2.txt | 1 + Ingegneria del Software/0324_44/correct.txt | 1 + Ingegneria del Software/0324_44/quest.txt | 6 +++ Ingegneria del Software/0324_44/wrong1.txt | 1 + Ingegneria del Software/0324_44/wrong2.txt | 1 + Ingegneria del Software/0324_45/correct.txt | 15 +++++++ Ingegneria del Software/0324_45/quest.txt | 5 +++ Ingegneria del Software/0324_45/wrong1.txt | 15 +++++++ Ingegneria del Software/0324_45/wrong2.txt | 16 +++++++ Ingegneria del Software/0324_46/correct.txt | 17 +++++++ Ingegneria del Software/0324_46/quest.txt | 3 ++ Ingegneria del Software/0324_46/wrong1.txt | 17 +++++++ Ingegneria del Software/0324_46/wrong2.txt | 17 +++++++ Ingegneria del Software/0324_47/quest.txt | 18 ++++++++ Ingegneria del Software/0324_47/wrong1.txt | 0 Ingegneria del Software/0324_47/wrong2.txt | 0 Ingegneria del Software/0324_47/wrong3.txt | 0 Ingegneria del Software/0324_48/quest.txt | 4 ++ Ingegneria del Software/0324_48/wrong1.txt | 8 ++++ Ingegneria del Software/0324_48/wrong2.txt | 2 + Ingegneria del Software/0324_48/wrong3.txt | 49 +++++++++++++++++++++ Ingegneria del Software/0324_49/correct.txt | 1 + Ingegneria del Software/0324_49/quest.txt | 1 + Ingegneria del Software/0324_49/wrong1.txt | 1 + Ingegneria del Software/0324_49/wrong2.txt | 1 + Ingegneria del Software/0324_5/correct.txt | 1 + Ingegneria del Software/0324_5/quest.txt | 10 +++++ Ingegneria del Software/0324_5/wrong1.txt | 1 + Ingegneria del Software/0324_5/wrong2.txt | 1 + Ingegneria del Software/0324_6/correct.txt | 1 + Ingegneria del Software/0324_6/quest.txt | 13 ++++++ Ingegneria del Software/0324_6/wrong1.txt | 1 + Ingegneria del Software/0324_6/wrong2.txt | 1 + Ingegneria del Software/0324_7/correct.txt | 5 +++ Ingegneria del Software/0324_7/quest.txt | 4 ++ Ingegneria del Software/0324_7/wrong1.txt | 5 +++ Ingegneria del Software/0324_7/wrong2.txt | 5 +++ Ingegneria del Software/0324_8/correct.txt | 17 +++++++ Ingegneria del Software/0324_8/quest.txt | 3 ++ Ingegneria del Software/0324_8/wrong1.txt | 17 +++++++ Ingegneria del Software/0324_8/wrong2.txt | 17 +++++++ Ingegneria del Software/0324_9/correct.txt | 1 + Ingegneria del Software/0324_9/quest.txt | 4 ++ Ingegneria del Software/0324_9/wrong1.txt | 1 + Ingegneria del Software/0324_9/wrong2.txt | 1 + Ingegneria del Software/0613_0/quest.txt | 35 +++++++++++++++ Ingegneria del Software/0613_0/wrong1.txt | 0 Ingegneria del Software/0613_0/wrong2.txt | 0 Ingegneria del Software/0613_0/wrong3.txt | 0 Ingegneria del Software/0613_1/correct.txt | 1 + Ingegneria del Software/0613_1/quest.txt | 9 ++++ Ingegneria del Software/0613_1/wrong1.txt | 1 + Ingegneria del Software/0613_1/wrong2.txt | 1 + Ingegneria del Software/0613_10/correct.txt | 1 + Ingegneria del Software/0613_10/quest.txt | 31 +++++++++++++ Ingegneria del Software/0613_10/wrong1.txt | 1 + Ingegneria del Software/0613_10/wrong2.txt | 1 + Ingegneria del Software/0613_11/correct.txt | 1 + Ingegneria del Software/0613_11/quest.txt | 1 + Ingegneria del Software/0613_11/wrong1.txt | 1 + Ingegneria del Software/0613_11/wrong2.txt | 1 + Ingegneria del Software/0613_12/correct.txt | 1 + Ingegneria del Software/0613_12/quest.txt | 6 +++ Ingegneria del Software/0613_12/wrong1.txt | 1 + Ingegneria del Software/0613_12/wrong2.txt | 1 + Ingegneria del Software/0613_13/correct.txt | 1 + Ingegneria del Software/0613_13/quest.txt | 13 ++++++ Ingegneria del Software/0613_13/wrong1.txt | 1 + Ingegneria del Software/0613_13/wrong2.txt | 1 + Ingegneria del Software/0613_14/quest.txt | 13 ++++++ Ingegneria del Software/0613_14/wrong1.txt | 0 Ingegneria del Software/0613_14/wrong2.txt | 0 Ingegneria del Software/0613_14/wrong3.txt | 0 Ingegneria del Software/0613_15/correct.txt | 17 +++++++ Ingegneria del Software/0613_15/quest.txt | 3 ++ Ingegneria del Software/0613_15/wrong1.txt | 17 +++++++ Ingegneria del Software/0613_15/wrong2.txt | 17 +++++++ Ingegneria del Software/0613_16/correct.txt | 17 +++++++ Ingegneria del Software/0613_16/quest.txt | 3 ++ Ingegneria del Software/0613_16/wrong1.txt | 17 +++++++ Ingegneria del Software/0613_16/wrong2.txt | 17 +++++++ Ingegneria del Software/0613_17/correct.txt | 15 +++++++ Ingegneria del Software/0613_17/quest.txt | 5 +++ Ingegneria del Software/0613_17/wrong1.txt | 16 +++++++ Ingegneria del Software/0613_17/wrong2.txt | 15 +++++++ Ingegneria del Software/0613_18/correct.txt | 1 + Ingegneria del Software/0613_18/quest.txt | 2 + Ingegneria del Software/0613_18/wrong1.txt | 1 + Ingegneria del Software/0613_18/wrong2.txt | 1 + Ingegneria del Software/0613_19/quest.txt | 37 ++++++++++++++++ Ingegneria del Software/0613_19/wrong1.txt | 0 Ingegneria del Software/0613_19/wrong2.txt | 0 Ingegneria del Software/0613_19/wrong3.txt | 0 Ingegneria del Software/0613_2/quest.txt | 19 ++++++++ Ingegneria del Software/0613_2/wrong1.txt | 0 Ingegneria del Software/0613_2/wrong2.txt | 0 Ingegneria del Software/0613_2/wrong3.txt | 0 Ingegneria del Software/0613_20/correct.txt | 1 + Ingegneria del Software/0613_20/quest.txt | 6 +++ Ingegneria del Software/0613_20/wrong1.txt | 1 + Ingegneria del Software/0613_20/wrong2.txt | 1 + Ingegneria del Software/0613_21/correct.txt | 1 + Ingegneria del Software/0613_21/quest.txt | 1 + Ingegneria del Software/0613_21/wrong1.txt | 1 + Ingegneria del Software/0613_21/wrong2.txt | 1 + Ingegneria del Software/0613_22/correct.txt | 1 + Ingegneria del Software/0613_22/quest.txt | 13 ++++++ Ingegneria del Software/0613_22/wrong1.txt | 1 + Ingegneria del Software/0613_22/wrong2.txt | 1 + Ingegneria del Software/0613_23/correct.txt | 15 +++++++ Ingegneria del Software/0613_23/quest.txt | 5 +++ Ingegneria del Software/0613_23/wrong1.txt | 16 +++++++ Ingegneria del Software/0613_23/wrong2.txt | 15 +++++++ Ingegneria del Software/0613_24/correct.txt | 1 + Ingegneria del Software/0613_24/quest.txt | 13 ++++++ Ingegneria del Software/0613_24/wrong1.txt | 1 + Ingegneria del Software/0613_24/wrong2.txt | 1 + Ingegneria del Software/0613_25/correct.txt | 1 + Ingegneria del Software/0613_25/quest.txt | 9 ++++ Ingegneria del Software/0613_25/wrong1.txt | 1 + Ingegneria del Software/0613_25/wrong2.txt | 1 + Ingegneria del Software/0613_26/correct.txt | 1 + Ingegneria del Software/0613_26/quest.txt | 8 ++++ Ingegneria del Software/0613_26/wrong1.txt | 1 + Ingegneria del Software/0613_26/wrong2.txt | 1 + Ingegneria del Software/0613_27/quest.txt | 4 ++ Ingegneria del Software/0613_27/wrong1.txt | 8 ++++ Ingegneria del Software/0613_27/wrong2.txt | 2 + Ingegneria del Software/0613_27/wrong3.txt | 49 +++++++++++++++++++++ Ingegneria del Software/0613_28/correct.txt | 1 + Ingegneria del Software/0613_28/quest.txt | 11 +++++ Ingegneria del Software/0613_28/wrong1.txt | 1 + Ingegneria del Software/0613_28/wrong2.txt | 1 + Ingegneria del Software/0613_29/correct.txt | 1 + Ingegneria del Software/0613_29/quest.txt | 4 ++ Ingegneria del Software/0613_29/wrong1.txt | 1 + Ingegneria del Software/0613_29/wrong2.txt | 1 + Ingegneria del Software/0613_3/correct.txt | 1 + Ingegneria del Software/0613_3/quest.txt | 9 ++++ Ingegneria del Software/0613_3/wrong1.txt | 1 + Ingegneria del Software/0613_3/wrong2.txt | 1 + Ingegneria del Software/0613_30/correct.txt | 1 + Ingegneria del Software/0613_30/quest.txt | 11 +++++ Ingegneria del Software/0613_30/wrong1.txt | 1 + Ingegneria del Software/0613_30/wrong2.txt | 1 + Ingegneria del Software/0613_31/correct.txt | 1 + Ingegneria del Software/0613_31/quest.txt | 12 +++++ Ingegneria del Software/0613_31/wrong1.txt | 1 + Ingegneria del Software/0613_31/wrong2.txt | 1 + Ingegneria del Software/0613_32/correct.txt | 1 + Ingegneria del Software/0613_32/quest.txt | 13 ++++++ Ingegneria del Software/0613_32/wrong1.txt | 1 + Ingegneria del Software/0613_32/wrong2.txt | 1 + Ingegneria del Software/0613_33/correct.txt | 5 +++ Ingegneria del Software/0613_33/quest.txt | 4 ++ Ingegneria del Software/0613_33/wrong1.txt | 5 +++ Ingegneria del Software/0613_33/wrong2.txt | 5 +++ Ingegneria del Software/0613_34/correct.txt | 1 + Ingegneria del Software/0613_34/quest.txt | 1 + Ingegneria del Software/0613_34/wrong1.txt | 1 + Ingegneria del Software/0613_34/wrong2.txt | 1 + Ingegneria del Software/0613_35/correct.txt | 15 +++++++ Ingegneria del Software/0613_35/quest.txt | 5 +++ Ingegneria del Software/0613_35/wrong1.txt | 15 +++++++ Ingegneria del Software/0613_35/wrong2.txt | 15 +++++++ Ingegneria del Software/0613_36/correct.txt | 1 + Ingegneria del Software/0613_36/quest.txt | 9 ++++ Ingegneria del Software/0613_36/wrong1.txt | 1 + Ingegneria del Software/0613_36/wrong2.txt | 1 + Ingegneria del Software/0613_37/correct.txt | 1 + Ingegneria del Software/0613_37/quest.txt | 16 +++++++ Ingegneria del Software/0613_37/wrong1.txt | 1 + Ingegneria del Software/0613_37/wrong2.txt | 1 + Ingegneria del Software/0613_38/quest.txt | 2 + Ingegneria del Software/0613_38/wrong1.txt | 35 +++++++++++++++ Ingegneria del Software/0613_38/wrong2.txt | 34 ++++++++++++++ Ingegneria del Software/0613_38/wrong3.txt | 35 +++++++++++++++ Ingegneria del Software/0613_39/correct.txt | 1 + Ingegneria del Software/0613_39/quest.txt | 6 +++ Ingegneria del Software/0613_39/wrong1.txt | 1 + Ingegneria del Software/0613_39/wrong2.txt | 1 + Ingegneria del Software/0613_4/correct.txt | 1 + Ingegneria del Software/0613_4/quest.txt | 12 +++++ Ingegneria del Software/0613_4/wrong1.txt | 1 + Ingegneria del Software/0613_4/wrong2.txt | 1 + Ingegneria del Software/0613_40/quest.txt | 2 + Ingegneria del Software/0613_40/wrong1.txt | 36 +++++++++++++++ Ingegneria del Software/0613_40/wrong2.txt | 36 +++++++++++++++ Ingegneria del Software/0613_40/wrong3.txt | 35 +++++++++++++++ Ingegneria del Software/0613_41/quest.txt | 4 ++ Ingegneria del Software/0613_41/wrong1.txt | 6 +++ Ingegneria del Software/0613_41/wrong2.txt | 6 +++ Ingegneria del Software/0613_41/wrong3.txt | 6 +++ Ingegneria del Software/0613_42/correct.txt | 1 + Ingegneria del Software/0613_42/quest.txt | 29 ++++++++++++ Ingegneria del Software/0613_42/wrong1.txt | 1 + Ingegneria del Software/0613_42/wrong2.txt | 1 + Ingegneria del Software/0613_43/correct.txt | 17 +++++++ Ingegneria del Software/0613_43/quest.txt | 3 ++ Ingegneria del Software/0613_43/wrong1.txt | 17 +++++++ Ingegneria del Software/0613_43/wrong2.txt | 17 +++++++ Ingegneria del Software/0613_44/correct.txt | 1 + Ingegneria del Software/0613_44/quest.txt | 1 + Ingegneria del Software/0613_44/wrong1.txt | 1 + Ingegneria del Software/0613_44/wrong2.txt | 1 + Ingegneria del Software/0613_45/correct.txt | 1 + Ingegneria del Software/0613_45/quest.txt | 21 +++++++++ Ingegneria del Software/0613_45/wrong1.txt | 1 + Ingegneria del Software/0613_45/wrong2.txt | 1 + Ingegneria del Software/0613_46/correct.txt | 1 + Ingegneria del Software/0613_46/quest.txt | 30 +++++++++++++ Ingegneria del Software/0613_46/wrong1.txt | 1 + Ingegneria del Software/0613_46/wrong2.txt | 1 + Ingegneria del Software/0613_47/correct.txt | 1 + Ingegneria del Software/0613_47/quest.txt | 1 + Ingegneria del Software/0613_47/wrong1.txt | 1 + Ingegneria del Software/0613_47/wrong2.txt | 1 + Ingegneria del Software/0613_48/correct.txt | 1 + Ingegneria del Software/0613_48/quest.txt | 9 ++++ Ingegneria del Software/0613_48/wrong1.txt | 1 + Ingegneria del Software/0613_48/wrong2.txt | 1 + Ingegneria del Software/0613_49/correct.txt | 16 +++++++ Ingegneria del Software/0613_49/quest.txt | 4 ++ Ingegneria del Software/0613_49/wrong1.txt | 16 +++++++ Ingegneria del Software/0613_49/wrong2.txt | 16 +++++++ Ingegneria del Software/0613_5/correct.txt | 1 + Ingegneria del Software/0613_5/quest.txt | 29 ++++++++++++ Ingegneria del Software/0613_5/wrong1.txt | 1 + Ingegneria del Software/0613_5/wrong2.txt | 1 + Ingegneria del Software/0613_6/correct.txt | 17 +++++++ Ingegneria del Software/0613_6/quest.txt | 3 ++ Ingegneria del Software/0613_6/wrong1.txt | 17 +++++++ Ingegneria del Software/0613_6/wrong2.txt | 17 +++++++ Ingegneria del Software/0613_7/correct.txt | 1 + Ingegneria del Software/0613_7/quest.txt | 22 +++++++++ Ingegneria del Software/0613_7/wrong1.txt | 1 + Ingegneria del Software/0613_7/wrong2.txt | 1 + Ingegneria del Software/0613_8/correct.txt | 1 + Ingegneria del Software/0613_8/quest.txt | 1 + Ingegneria del Software/0613_8/wrong1.txt | 1 + Ingegneria del Software/0613_8/wrong2.txt | 1 + Ingegneria del Software/0613_9/quest.txt | 4 ++ Ingegneria del Software/0613_9/wrong1.txt | 8 ++++ Ingegneria del Software/0613_9/wrong2.txt | 4 ++ Ingegneria del Software/0613_9/wrong3.txt | 46 +++++++++++++++++++ 800 files changed, 5605 insertions(+) create mode 100644 Ingegneria del Software/0120_0/correct.txt create mode 100644 Ingegneria del Software/0120_0/quest.txt create mode 100644 Ingegneria del Software/0120_0/wrong1.txt create mode 100644 Ingegneria del Software/0120_0/wrong2.txt create mode 100644 Ingegneria del Software/0120_1/correct.txt create mode 100644 Ingegneria del Software/0120_1/quest.txt create mode 100644 Ingegneria del Software/0120_1/wrong1.txt create mode 100644 Ingegneria del Software/0120_1/wrong2.txt create mode 100644 Ingegneria del Software/0120_10/correct.txt create mode 100644 Ingegneria del Software/0120_10/quest.txt create mode 100644 Ingegneria del Software/0120_10/wrong1.txt create mode 100644 Ingegneria del Software/0120_10/wrong2.txt create mode 100644 Ingegneria del Software/0120_11/correct.txt create mode 100644 Ingegneria del Software/0120_11/quest.txt create mode 100644 Ingegneria del Software/0120_11/wrong1.txt create mode 100644 Ingegneria del Software/0120_11/wrong2.txt create mode 100644 Ingegneria del Software/0120_12/correct.txt create mode 100644 Ingegneria del Software/0120_12/quest.txt create mode 100644 Ingegneria del Software/0120_12/wrong1.txt create mode 100644 Ingegneria del Software/0120_12/wrong2.txt create mode 100644 Ingegneria del Software/0120_13/correct.txt create mode 100644 Ingegneria del Software/0120_13/quest.txt create mode 100644 Ingegneria del Software/0120_13/wrong1.txt create mode 100644 Ingegneria del Software/0120_13/wrong2.txt create mode 100644 Ingegneria del Software/0120_14/correct.txt create mode 100644 Ingegneria del Software/0120_14/quest.txt create mode 100644 Ingegneria del Software/0120_14/wrong1.txt create mode 100644 Ingegneria del Software/0120_14/wrong2.txt create mode 100644 Ingegneria del Software/0120_15/correct.txt create mode 100644 Ingegneria del Software/0120_15/quest.txt create mode 100644 Ingegneria del Software/0120_15/wrong1.txt create mode 100644 Ingegneria del Software/0120_15/wrong2.txt create mode 100644 Ingegneria del Software/0120_16/correct.txt create mode 100644 Ingegneria del Software/0120_16/quest.txt create mode 100644 Ingegneria del Software/0120_16/wrong1.txt create mode 100644 Ingegneria del Software/0120_16/wrong2.txt create mode 100644 Ingegneria del Software/0120_17/correct.txt create mode 100644 Ingegneria del Software/0120_17/quest.txt create mode 100644 Ingegneria del Software/0120_17/wrong1.txt create mode 100644 Ingegneria del Software/0120_17/wrong2.txt create mode 100644 Ingegneria del Software/0120_18/correct.txt create mode 100644 Ingegneria del Software/0120_18/quest.txt create mode 100644 Ingegneria del Software/0120_18/wrong1.txt create mode 100644 Ingegneria del Software/0120_18/wrong2.txt create mode 100644 Ingegneria del Software/0120_19/correct.txt create mode 100644 Ingegneria del Software/0120_19/quest.txt create mode 100644 Ingegneria del Software/0120_19/wrong1.txt create mode 100644 Ingegneria del Software/0120_19/wrong2.txt create mode 100644 Ingegneria del Software/0120_2/correct.txt create mode 100644 Ingegneria del Software/0120_2/quest.txt create mode 100644 Ingegneria del Software/0120_2/wrong1.txt create mode 100644 Ingegneria del Software/0120_2/wrong2.txt create mode 100644 Ingegneria del Software/0120_20/correct.txt create mode 100644 Ingegneria del Software/0120_20/quest.txt create mode 100644 Ingegneria del Software/0120_20/wrong1.txt create mode 100644 Ingegneria del Software/0120_20/wrong2.txt create mode 100644 Ingegneria del Software/0120_21/correct.txt create mode 100644 Ingegneria del Software/0120_21/quest.txt create mode 100644 Ingegneria del Software/0120_21/wrong1.txt create mode 100644 Ingegneria del Software/0120_21/wrong2.txt create mode 100644 Ingegneria del Software/0120_22/quest.txt create mode 100644 Ingegneria del Software/0120_22/wrong1.txt create mode 100644 Ingegneria del Software/0120_22/wrong2.txt create mode 100644 Ingegneria del Software/0120_22/wrong3.txt create mode 100644 Ingegneria del Software/0120_23/correct.txt create mode 100644 Ingegneria del Software/0120_23/quest.txt create mode 100644 Ingegneria del Software/0120_23/wrong1.txt create mode 100644 Ingegneria del Software/0120_23/wrong2.txt create mode 100644 Ingegneria del Software/0120_24/correct.txt create mode 100644 Ingegneria del Software/0120_24/quest.txt create mode 100644 Ingegneria del Software/0120_24/wrong1.txt create mode 100644 Ingegneria del Software/0120_24/wrong2.txt create mode 100644 Ingegneria del Software/0120_25/quest.txt create mode 100644 Ingegneria del Software/0120_25/wrong1.txt create mode 100644 Ingegneria del Software/0120_25/wrong2.txt create mode 100644 Ingegneria del Software/0120_25/wrong3.txt create mode 100644 Ingegneria del Software/0120_26/correct.txt create mode 100644 Ingegneria del Software/0120_26/quest.txt create mode 100644 Ingegneria del Software/0120_26/wrong1.txt create mode 100644 Ingegneria del Software/0120_26/wrong2.txt create mode 100644 Ingegneria del Software/0120_27/correct.txt create mode 100644 Ingegneria del Software/0120_27/quest.txt create mode 100644 Ingegneria del Software/0120_27/wrong1.txt create mode 100644 Ingegneria del Software/0120_27/wrong2.txt create mode 100644 Ingegneria del Software/0120_28/quest.txt create mode 100644 Ingegneria del Software/0120_28/wrong1.txt create mode 100644 Ingegneria del Software/0120_28/wrong2.txt create mode 100644 Ingegneria del Software/0120_28/wrong3.txt create mode 100644 Ingegneria del Software/0120_29/correct.txt create mode 100644 Ingegneria del Software/0120_29/quest.txt create mode 100644 Ingegneria del Software/0120_29/wrong1.txt create mode 100644 Ingegneria del Software/0120_29/wrong2.txt create mode 100644 Ingegneria del Software/0120_3/correct.txt create mode 100644 Ingegneria del Software/0120_3/quest.txt create mode 100644 Ingegneria del Software/0120_3/wrong1.txt create mode 100644 Ingegneria del Software/0120_3/wrong2.txt create mode 100644 Ingegneria del Software/0120_30/correct.txt create mode 100644 Ingegneria del Software/0120_30/quest.txt create mode 100644 Ingegneria del Software/0120_30/wrong1.txt create mode 100644 Ingegneria del Software/0120_30/wrong2.txt create mode 100644 Ingegneria del Software/0120_31/correct.txt create mode 100644 Ingegneria del Software/0120_31/quest.txt create mode 100644 Ingegneria del Software/0120_31/wrong1.txt create mode 100644 Ingegneria del Software/0120_31/wrong2.txt create mode 100644 Ingegneria del Software/0120_32/correct.txt create mode 100644 Ingegneria del Software/0120_32/quest.txt create mode 100644 Ingegneria del Software/0120_32/wrong1.txt create mode 100644 Ingegneria del Software/0120_32/wrong2.txt create mode 100644 Ingegneria del Software/0120_33/correct.txt create mode 100644 Ingegneria del Software/0120_33/quest.txt create mode 100644 Ingegneria del Software/0120_33/wrong1.txt create mode 100644 Ingegneria del Software/0120_33/wrong2.txt create mode 100644 Ingegneria del Software/0120_34/quest.txt create mode 100644 Ingegneria del Software/0120_34/wrong1.txt create mode 100644 Ingegneria del Software/0120_34/wrong2.txt create mode 100644 Ingegneria del Software/0120_34/wrong3.txt create mode 100644 Ingegneria del Software/0120_35/quest.txt create mode 100644 Ingegneria del Software/0120_35/wrong1.txt create mode 100644 Ingegneria del Software/0120_35/wrong2.txt create mode 100644 Ingegneria del Software/0120_35/wrong3.txt create mode 100644 Ingegneria del Software/0120_36/correct.txt create mode 100644 Ingegneria del Software/0120_36/quest.txt create mode 100644 Ingegneria del Software/0120_36/wrong1.txt create mode 100644 Ingegneria del Software/0120_36/wrong2.txt create mode 100644 Ingegneria del Software/0120_37/correct.txt create mode 100644 Ingegneria del Software/0120_37/quest.txt create mode 100644 Ingegneria del Software/0120_37/wrong1.txt create mode 100644 Ingegneria del Software/0120_37/wrong2.txt create mode 100644 Ingegneria del Software/0120_38/correct.txt create mode 100644 Ingegneria del Software/0120_38/quest.txt create mode 100644 Ingegneria del Software/0120_38/wrong1.txt create mode 100644 Ingegneria del Software/0120_38/wrong2.txt create mode 100644 Ingegneria del Software/0120_39/quest.txt create mode 100644 Ingegneria del Software/0120_39/wrong1.txt create mode 100644 Ingegneria del Software/0120_39/wrong2.txt create mode 100644 Ingegneria del Software/0120_39/wrong3.txt create mode 100644 Ingegneria del Software/0120_4/correct.txt create mode 100644 Ingegneria del Software/0120_4/quest.txt create mode 100644 Ingegneria del Software/0120_4/wrong1.txt create mode 100644 Ingegneria del Software/0120_4/wrong2.txt create mode 100644 Ingegneria del Software/0120_40/correct.txt create mode 100644 Ingegneria del Software/0120_40/quest.txt create mode 100644 Ingegneria del Software/0120_40/wrong1.txt create mode 100644 Ingegneria del Software/0120_40/wrong2.txt create mode 100644 Ingegneria del Software/0120_41/correct.txt create mode 100644 Ingegneria del Software/0120_41/quest.txt create mode 100644 Ingegneria del Software/0120_41/wrong1.txt create mode 100644 Ingegneria del Software/0120_41/wrong2.txt create mode 100644 Ingegneria del Software/0120_42/correct.txt create mode 100644 Ingegneria del Software/0120_42/quest.txt create mode 100644 Ingegneria del Software/0120_42/wrong1.txt create mode 100644 Ingegneria del Software/0120_42/wrong2.txt create mode 100644 Ingegneria del Software/0120_43/quest.txt create mode 100644 Ingegneria del Software/0120_43/wrong1.txt create mode 100644 Ingegneria del Software/0120_43/wrong2.txt create mode 100644 Ingegneria del Software/0120_43/wrong3.txt create mode 100644 Ingegneria del Software/0120_44/correct.txt create mode 100644 Ingegneria del Software/0120_44/quest.txt create mode 100644 Ingegneria del Software/0120_44/wrong1.txt create mode 100644 Ingegneria del Software/0120_44/wrong2.txt create mode 100644 Ingegneria del Software/0120_45/quest.txt create mode 100644 Ingegneria del Software/0120_45/wrong1.txt create mode 100644 Ingegneria del Software/0120_45/wrong2.txt create mode 100644 Ingegneria del Software/0120_45/wrong3.txt create mode 100644 Ingegneria del Software/0120_46/correct.txt create mode 100644 Ingegneria del Software/0120_46/quest.txt create mode 100644 Ingegneria del Software/0120_46/wrong1.txt create mode 100644 Ingegneria del Software/0120_46/wrong2.txt create mode 100644 Ingegneria del Software/0120_47/correct.txt create mode 100644 Ingegneria del Software/0120_47/quest.txt create mode 100644 Ingegneria del Software/0120_47/wrong1.txt create mode 100644 Ingegneria del Software/0120_47/wrong2.txt create mode 100644 Ingegneria del Software/0120_48/correct.txt create mode 100644 Ingegneria del Software/0120_48/quest.txt create mode 100644 Ingegneria del Software/0120_48/wrong1.txt create mode 100644 Ingegneria del Software/0120_48/wrong2.txt create mode 100644 Ingegneria del Software/0120_49/correct.txt create mode 100644 Ingegneria del Software/0120_49/quest.txt create mode 100644 Ingegneria del Software/0120_49/wrong1.txt create mode 100644 Ingegneria del Software/0120_49/wrong2.txt create mode 100644 Ingegneria del Software/0120_5/quest.txt create mode 100644 Ingegneria del Software/0120_5/wrong1.txt create mode 100644 Ingegneria del Software/0120_5/wrong2.txt create mode 100644 Ingegneria del Software/0120_5/wrong3.txt create mode 100644 Ingegneria del Software/0120_6/correct.txt create mode 100644 Ingegneria del Software/0120_6/quest.txt create mode 100644 Ingegneria del Software/0120_6/wrong1.txt create mode 100644 Ingegneria del Software/0120_6/wrong2.txt create mode 100644 Ingegneria del Software/0120_7/correct.txt create mode 100644 Ingegneria del Software/0120_7/quest.txt create mode 100644 Ingegneria del Software/0120_7/wrong1.txt create mode 100644 Ingegneria del Software/0120_7/wrong2.txt create mode 100644 Ingegneria del Software/0120_8/correct.txt create mode 100644 Ingegneria del Software/0120_8/quest.txt create mode 100644 Ingegneria del Software/0120_8/wrong1.txt create mode 100644 Ingegneria del Software/0120_8/wrong2.txt create mode 100644 Ingegneria del Software/0120_9/correct.txt create mode 100644 Ingegneria del Software/0120_9/quest.txt create mode 100644 Ingegneria del Software/0120_9/wrong1.txt create mode 100644 Ingegneria del Software/0120_9/wrong2.txt create mode 100644 Ingegneria del Software/0210_0/correct.txt create mode 100644 Ingegneria del Software/0210_0/quest.txt create mode 100644 Ingegneria del Software/0210_0/wrong1.txt create mode 100644 Ingegneria del Software/0210_0/wrong2.txt create mode 100644 Ingegneria del Software/0210_1/quest.txt create mode 100644 Ingegneria del Software/0210_1/wrong1.txt create mode 100644 Ingegneria del Software/0210_1/wrong2.txt create mode 100644 Ingegneria del Software/0210_1/wrong3.txt create mode 100644 Ingegneria del Software/0210_10/correct.txt create mode 100644 Ingegneria del Software/0210_10/quest.txt create mode 100644 Ingegneria del Software/0210_10/wrong1.txt create mode 100644 Ingegneria del Software/0210_10/wrong2.txt create mode 100644 Ingegneria del Software/0210_11/quest.txt create mode 100644 Ingegneria del Software/0210_11/wrong1.txt create mode 100644 Ingegneria del Software/0210_11/wrong2.txt create mode 100644 Ingegneria del Software/0210_11/wrong3.txt create mode 100644 Ingegneria del Software/0210_12/quest.txt create mode 100644 Ingegneria del Software/0210_12/wrong1.txt create mode 100644 Ingegneria del Software/0210_12/wrong2.txt create mode 100644 Ingegneria del Software/0210_12/wrong3.txt create mode 100644 Ingegneria del Software/0210_13/correct.txt create mode 100644 Ingegneria del Software/0210_13/quest.txt create mode 100644 Ingegneria del Software/0210_13/wrong1.txt create mode 100644 Ingegneria del Software/0210_13/wrong2.txt create mode 100644 Ingegneria del Software/0210_14/correct.txt create mode 100644 Ingegneria del Software/0210_14/quest.txt create mode 100644 Ingegneria del Software/0210_14/wrong1.txt create mode 100644 Ingegneria del Software/0210_14/wrong2.txt create mode 100644 Ingegneria del Software/0210_15/correct.txt create mode 100644 Ingegneria del Software/0210_15/quest.txt create mode 100644 Ingegneria del Software/0210_15/wrong1.txt create mode 100644 Ingegneria del Software/0210_15/wrong2.txt create mode 100644 Ingegneria del Software/0210_16/correct.txt create mode 100644 Ingegneria del Software/0210_16/quest.txt create mode 100644 Ingegneria del Software/0210_16/wrong1.txt create mode 100644 Ingegneria del Software/0210_16/wrong2.txt create mode 100644 Ingegneria del Software/0210_17/correct.txt create mode 100644 Ingegneria del Software/0210_17/quest.txt create mode 100644 Ingegneria del Software/0210_17/wrong1.txt create mode 100644 Ingegneria del Software/0210_17/wrong2.txt create mode 100644 Ingegneria del Software/0210_18/correct.txt create mode 100644 Ingegneria del Software/0210_18/quest.txt create mode 100644 Ingegneria del Software/0210_18/wrong1.txt create mode 100644 Ingegneria del Software/0210_18/wrong2.txt create mode 100644 Ingegneria del Software/0210_19/correct.txt create mode 100644 Ingegneria del Software/0210_19/quest.txt create mode 100644 Ingegneria del Software/0210_19/wrong1.txt create mode 100644 Ingegneria del Software/0210_19/wrong2.txt create mode 100644 Ingegneria del Software/0210_2/quest.txt create mode 100644 Ingegneria del Software/0210_2/wrong1.txt create mode 100644 Ingegneria del Software/0210_2/wrong2.txt create mode 100644 Ingegneria del Software/0210_2/wrong3.txt create mode 100644 Ingegneria del Software/0210_20/correct.txt create mode 100644 Ingegneria del Software/0210_20/quest.txt create mode 100644 Ingegneria del Software/0210_20/wrong1.txt create mode 100644 Ingegneria del Software/0210_20/wrong2.txt create mode 100644 Ingegneria del Software/0210_21/correct.txt create mode 100644 Ingegneria del Software/0210_21/quest.txt create mode 100644 Ingegneria del Software/0210_21/wrong1.txt create mode 100644 Ingegneria del Software/0210_21/wrong2.txt create mode 100644 Ingegneria del Software/0210_22/correct.txt create mode 100644 Ingegneria del Software/0210_22/quest.txt create mode 100644 Ingegneria del Software/0210_22/wrong1.txt create mode 100644 Ingegneria del Software/0210_22/wrong2.txt create mode 100644 Ingegneria del Software/0210_23/correct.txt create mode 100644 Ingegneria del Software/0210_23/quest.txt create mode 100644 Ingegneria del Software/0210_23/wrong1.txt create mode 100644 Ingegneria del Software/0210_23/wrong2.txt create mode 100644 Ingegneria del Software/0210_24/correct.txt create mode 100644 Ingegneria del Software/0210_24/quest.txt create mode 100644 Ingegneria del Software/0210_24/wrong1.txt create mode 100644 Ingegneria del Software/0210_24/wrong2.txt create mode 100644 Ingegneria del Software/0210_25/correct.txt create mode 100644 Ingegneria del Software/0210_25/quest.txt create mode 100644 Ingegneria del Software/0210_25/wrong1.txt create mode 100644 Ingegneria del Software/0210_25/wrong2.txt create mode 100644 Ingegneria del Software/0210_26/correct.txt create mode 100644 Ingegneria del Software/0210_26/quest.txt create mode 100644 Ingegneria del Software/0210_26/wrong1.txt create mode 100644 Ingegneria del Software/0210_26/wrong2.txt create mode 100644 Ingegneria del Software/0210_27/quest.txt create mode 100644 Ingegneria del Software/0210_27/wrong1.txt create mode 100644 Ingegneria del Software/0210_27/wrong2.txt create mode 100644 Ingegneria del Software/0210_27/wrong3.txt create mode 100644 Ingegneria del Software/0210_28/quest.txt create mode 100644 Ingegneria del Software/0210_28/wrong1.txt create mode 100644 Ingegneria del Software/0210_28/wrong2.txt create mode 100644 Ingegneria del Software/0210_28/wrong3.txt create mode 100644 Ingegneria del Software/0210_29/correct.txt create mode 100644 Ingegneria del Software/0210_29/quest.txt create mode 100644 Ingegneria del Software/0210_29/wrong1.txt create mode 100644 Ingegneria del Software/0210_29/wrong2.txt create mode 100644 Ingegneria del Software/0210_3/quest.txt create mode 100644 Ingegneria del Software/0210_3/wrong1.txt create mode 100644 Ingegneria del Software/0210_3/wrong2.txt create mode 100644 Ingegneria del Software/0210_3/wrong3.txt create mode 100644 Ingegneria del Software/0210_30/correct.txt create mode 100644 Ingegneria del Software/0210_30/quest.txt create mode 100644 Ingegneria del Software/0210_30/wrong1.txt create mode 100644 Ingegneria del Software/0210_30/wrong2.txt create mode 100644 Ingegneria del Software/0210_31/correct.txt create mode 100644 Ingegneria del Software/0210_31/quest.txt create mode 100644 Ingegneria del Software/0210_31/wrong1.txt create mode 100644 Ingegneria del Software/0210_31/wrong2.txt create mode 100644 Ingegneria del Software/0210_32/correct.txt create mode 100644 Ingegneria del Software/0210_32/quest.txt create mode 100644 Ingegneria del Software/0210_32/wrong1.txt create mode 100644 Ingegneria del Software/0210_32/wrong2.txt create mode 100644 Ingegneria del Software/0210_33/correct.txt create mode 100644 Ingegneria del Software/0210_33/quest.txt create mode 100644 Ingegneria del Software/0210_33/wrong1.txt create mode 100644 Ingegneria del Software/0210_33/wrong2.txt create mode 100644 Ingegneria del Software/0210_34/quest.txt create mode 100644 Ingegneria del Software/0210_34/wrong1.txt create mode 100644 Ingegneria del Software/0210_34/wrong2.txt create mode 100644 Ingegneria del Software/0210_34/wrong3.txt create mode 100644 Ingegneria del Software/0210_35/correct.txt create mode 100644 Ingegneria del Software/0210_35/quest.txt create mode 100644 Ingegneria del Software/0210_35/wrong1.txt create mode 100644 Ingegneria del Software/0210_35/wrong2.txt create mode 100644 Ingegneria del Software/0210_36/correct.txt create mode 100644 Ingegneria del Software/0210_36/quest.txt create mode 100644 Ingegneria del Software/0210_36/wrong1.txt create mode 100644 Ingegneria del Software/0210_36/wrong2.txt create mode 100644 Ingegneria del Software/0210_37/quest.txt create mode 100644 Ingegneria del Software/0210_37/wrong1.txt create mode 100644 Ingegneria del Software/0210_37/wrong2.txt create mode 100644 Ingegneria del Software/0210_37/wrong3.txt create mode 100644 Ingegneria del Software/0210_38/correct.txt create mode 100644 Ingegneria del Software/0210_38/quest.txt create mode 100644 Ingegneria del Software/0210_38/wrong1.txt create mode 100644 Ingegneria del Software/0210_38/wrong2.txt create mode 100644 Ingegneria del Software/0210_39/correct.txt create mode 100644 Ingegneria del Software/0210_39/quest.txt create mode 100644 Ingegneria del Software/0210_39/wrong1.txt create mode 100644 Ingegneria del Software/0210_39/wrong2.txt create mode 100644 Ingegneria del Software/0210_4/correct.txt create mode 100644 Ingegneria del Software/0210_4/quest.txt create mode 100644 Ingegneria del Software/0210_4/wrong1.txt create mode 100644 Ingegneria del Software/0210_4/wrong2.txt create mode 100644 Ingegneria del Software/0210_40/correct.txt create mode 100644 Ingegneria del Software/0210_40/quest.txt create mode 100644 Ingegneria del Software/0210_40/wrong1.txt create mode 100644 Ingegneria del Software/0210_40/wrong2.txt create mode 100644 Ingegneria del Software/0210_41/correct.txt create mode 100644 Ingegneria del Software/0210_41/quest.txt create mode 100644 Ingegneria del Software/0210_41/wrong1.txt create mode 100644 Ingegneria del Software/0210_41/wrong2.txt create mode 100644 Ingegneria del Software/0210_42/quest.txt create mode 100644 Ingegneria del Software/0210_42/wrong1.txt create mode 100644 Ingegneria del Software/0210_42/wrong2.txt create mode 100644 Ingegneria del Software/0210_42/wrong3.txt create mode 100644 Ingegneria del Software/0210_43/correct.txt create mode 100644 Ingegneria del Software/0210_43/quest.txt create mode 100644 Ingegneria del Software/0210_43/wrong1.txt create mode 100644 Ingegneria del Software/0210_43/wrong2.txt create mode 100644 Ingegneria del Software/0210_44/quest.txt create mode 100644 Ingegneria del Software/0210_44/wrong1.txt create mode 100644 Ingegneria del Software/0210_44/wrong2.txt create mode 100644 Ingegneria del Software/0210_44/wrong3.txt create mode 100644 Ingegneria del Software/0210_45/correct.txt create mode 100644 Ingegneria del Software/0210_45/quest.txt create mode 100644 Ingegneria del Software/0210_45/wrong1.txt create mode 100644 Ingegneria del Software/0210_45/wrong2.txt create mode 100644 Ingegneria del Software/0210_46/correct.txt create mode 100644 Ingegneria del Software/0210_46/quest.txt create mode 100644 Ingegneria del Software/0210_46/wrong1.txt create mode 100644 Ingegneria del Software/0210_46/wrong2.txt create mode 100644 Ingegneria del Software/0210_47/correct.txt create mode 100644 Ingegneria del Software/0210_47/quest.txt create mode 100644 Ingegneria del Software/0210_47/wrong1.txt create mode 100644 Ingegneria del Software/0210_47/wrong2.txt create mode 100644 Ingegneria del Software/0210_48/correct.txt create mode 100644 Ingegneria del Software/0210_48/quest.txt create mode 100644 Ingegneria del Software/0210_48/wrong1.txt create mode 100644 Ingegneria del Software/0210_48/wrong2.txt create mode 100644 Ingegneria del Software/0210_49/correct.txt create mode 100644 Ingegneria del Software/0210_49/quest.txt create mode 100644 Ingegneria del Software/0210_49/wrong1.txt create mode 100644 Ingegneria del Software/0210_49/wrong2.txt create mode 100644 Ingegneria del Software/0210_5/correct.txt create mode 100644 Ingegneria del Software/0210_5/quest.txt create mode 100644 Ingegneria del Software/0210_5/wrong1.txt create mode 100644 Ingegneria del Software/0210_5/wrong2.txt create mode 100644 Ingegneria del Software/0210_6/correct.txt create mode 100644 Ingegneria del Software/0210_6/quest.txt create mode 100644 Ingegneria del Software/0210_6/wrong1.txt create mode 100644 Ingegneria del Software/0210_6/wrong2.txt create mode 100644 Ingegneria del Software/0210_7/correct.txt create mode 100644 Ingegneria del Software/0210_7/quest.txt create mode 100644 Ingegneria del Software/0210_7/wrong1.txt create mode 100644 Ingegneria del Software/0210_7/wrong2.txt create mode 100644 Ingegneria del Software/0210_8/correct.txt create mode 100644 Ingegneria del Software/0210_8/quest.txt create mode 100644 Ingegneria del Software/0210_8/wrong1.txt create mode 100644 Ingegneria del Software/0210_8/wrong2.txt create mode 100644 Ingegneria del Software/0210_9/quest.txt create mode 100644 Ingegneria del Software/0210_9/wrong1.txt create mode 100644 Ingegneria del Software/0210_9/wrong2.txt create mode 100644 Ingegneria del Software/0210_9/wrong3.txt create mode 100644 Ingegneria del Software/0324_0/correct.txt create mode 100644 Ingegneria del Software/0324_0/quest.txt create mode 100644 Ingegneria del Software/0324_0/wrong1.txt create mode 100644 Ingegneria del Software/0324_0/wrong2.txt create mode 100644 Ingegneria del Software/0324_1/quest.txt create mode 100644 Ingegneria del Software/0324_1/wrong1.txt create mode 100644 Ingegneria del Software/0324_1/wrong2.txt create mode 100644 Ingegneria del Software/0324_1/wrong3.txt create mode 100644 Ingegneria del Software/0324_10/correct.txt create mode 100644 Ingegneria del Software/0324_10/quest.txt create mode 100644 Ingegneria del Software/0324_10/wrong1.txt create mode 100644 Ingegneria del Software/0324_10/wrong2.txt create mode 100644 Ingegneria del Software/0324_11/quest.txt create mode 100644 Ingegneria del Software/0324_11/wrong1.txt create mode 100644 Ingegneria del Software/0324_11/wrong2.txt create mode 100644 Ingegneria del Software/0324_11/wrong3.txt create mode 100644 Ingegneria del Software/0324_12/correct.txt create mode 100644 Ingegneria del Software/0324_12/quest.txt create mode 100644 Ingegneria del Software/0324_12/wrong1.txt create mode 100644 Ingegneria del Software/0324_12/wrong2.txt create mode 100644 Ingegneria del Software/0324_13/correct.txt create mode 100644 Ingegneria del Software/0324_13/quest.txt create mode 100644 Ingegneria del Software/0324_13/wrong1.txt create mode 100644 Ingegneria del Software/0324_13/wrong2.txt create mode 100644 Ingegneria del Software/0324_14/correct.txt create mode 100644 Ingegneria del Software/0324_14/quest.txt create mode 100644 Ingegneria del Software/0324_14/wrong1.txt create mode 100644 Ingegneria del Software/0324_14/wrong2.txt create mode 100644 Ingegneria del Software/0324_15/correct.txt create mode 100644 Ingegneria del Software/0324_15/quest.txt create mode 100644 Ingegneria del Software/0324_15/wrong1.txt create mode 100644 Ingegneria del Software/0324_15/wrong2.txt create mode 100644 Ingegneria del Software/0324_16/correct.txt create mode 100644 Ingegneria del Software/0324_16/quest.txt create mode 100644 Ingegneria del Software/0324_16/wrong1.txt create mode 100644 Ingegneria del Software/0324_16/wrong2.txt create mode 100644 Ingegneria del Software/0324_17/correct.txt create mode 100644 Ingegneria del Software/0324_17/quest.txt create mode 100644 Ingegneria del Software/0324_17/wrong1.txt create mode 100644 Ingegneria del Software/0324_17/wrong2.txt create mode 100644 Ingegneria del Software/0324_18/correct.txt create mode 100644 Ingegneria del Software/0324_18/quest.txt create mode 100644 Ingegneria del Software/0324_18/wrong1.txt create mode 100644 Ingegneria del Software/0324_18/wrong2.txt create mode 100644 Ingegneria del Software/0324_19/correct.txt create mode 100644 Ingegneria del Software/0324_19/quest.txt create mode 100644 Ingegneria del Software/0324_19/wrong1.txt create mode 100644 Ingegneria del Software/0324_19/wrong2.txt create mode 100644 Ingegneria del Software/0324_2/correct.txt create mode 100644 Ingegneria del Software/0324_2/quest.txt create mode 100644 Ingegneria del Software/0324_2/wrong1.txt create mode 100644 Ingegneria del Software/0324_2/wrong2.txt create mode 100644 Ingegneria del Software/0324_20/correct.txt create mode 100644 Ingegneria del Software/0324_20/quest.txt create mode 100644 Ingegneria del Software/0324_20/wrong1.txt create mode 100644 Ingegneria del Software/0324_20/wrong2.txt create mode 100644 Ingegneria del Software/0324_21/correct.txt create mode 100644 Ingegneria del Software/0324_21/quest.txt create mode 100644 Ingegneria del Software/0324_21/wrong1.txt create mode 100644 Ingegneria del Software/0324_21/wrong2.txt create mode 100644 Ingegneria del Software/0324_22/correct.txt create mode 100644 Ingegneria del Software/0324_22/quest.txt create mode 100644 Ingegneria del Software/0324_22/wrong1.txt create mode 100644 Ingegneria del Software/0324_22/wrong2.txt create mode 100644 Ingegneria del Software/0324_23/correct.txt create mode 100644 Ingegneria del Software/0324_23/quest.txt create mode 100644 Ingegneria del Software/0324_23/wrong1.txt create mode 100644 Ingegneria del Software/0324_23/wrong2.txt create mode 100644 Ingegneria del Software/0324_24/correct.txt create mode 100644 Ingegneria del Software/0324_24/quest.txt create mode 100644 Ingegneria del Software/0324_24/wrong1.txt create mode 100644 Ingegneria del Software/0324_24/wrong2.txt create mode 100644 Ingegneria del Software/0324_25/correct.txt create mode 100644 Ingegneria del Software/0324_25/quest.txt create mode 100644 Ingegneria del Software/0324_25/wrong1.txt create mode 100644 Ingegneria del Software/0324_25/wrong2.txt create mode 100644 Ingegneria del Software/0324_26/quest.txt create mode 100644 Ingegneria del Software/0324_26/wrong1.txt create mode 100644 Ingegneria del Software/0324_26/wrong2.txt create mode 100644 Ingegneria del Software/0324_26/wrong3.txt create mode 100644 Ingegneria del Software/0324_27/correct.txt create mode 100644 Ingegneria del Software/0324_27/quest.txt create mode 100644 Ingegneria del Software/0324_27/wrong1.txt create mode 100644 Ingegneria del Software/0324_27/wrong2.txt create mode 100644 Ingegneria del Software/0324_28/correct.txt create mode 100644 Ingegneria del Software/0324_28/quest.txt create mode 100644 Ingegneria del Software/0324_28/wrong1.txt create mode 100644 Ingegneria del Software/0324_28/wrong2.txt create mode 100644 Ingegneria del Software/0324_29/correct.txt create mode 100644 Ingegneria del Software/0324_29/quest.txt create mode 100644 Ingegneria del Software/0324_29/wrong1.txt create mode 100644 Ingegneria del Software/0324_29/wrong2.txt create mode 100644 Ingegneria del Software/0324_3/correct.txt create mode 100644 Ingegneria del Software/0324_3/quest.txt create mode 100644 Ingegneria del Software/0324_3/wrong1.txt create mode 100644 Ingegneria del Software/0324_3/wrong2.txt create mode 100644 Ingegneria del Software/0324_30/quest.txt create mode 100644 Ingegneria del Software/0324_30/wrong1.txt create mode 100644 Ingegneria del Software/0324_30/wrong2.txt create mode 100644 Ingegneria del Software/0324_30/wrong3.txt create mode 100644 Ingegneria del Software/0324_31/correct.txt create mode 100644 Ingegneria del Software/0324_31/quest.txt create mode 100644 Ingegneria del Software/0324_31/wrong1.txt create mode 100644 Ingegneria del Software/0324_31/wrong2.txt create mode 100644 Ingegneria del Software/0324_32/correct.txt create mode 100644 Ingegneria del Software/0324_32/quest.txt create mode 100644 Ingegneria del Software/0324_32/wrong1.txt create mode 100644 Ingegneria del Software/0324_32/wrong2.txt create mode 100644 Ingegneria del Software/0324_33/correct.txt create mode 100644 Ingegneria del Software/0324_33/quest.txt create mode 100644 Ingegneria del Software/0324_33/wrong1.txt create mode 100644 Ingegneria del Software/0324_33/wrong2.txt create mode 100644 Ingegneria del Software/0324_34/correct.txt create mode 100644 Ingegneria del Software/0324_34/quest.txt create mode 100644 Ingegneria del Software/0324_34/wrong1.txt create mode 100644 Ingegneria del Software/0324_34/wrong2.txt create mode 100644 Ingegneria del Software/0324_35/quest.txt create mode 100644 Ingegneria del Software/0324_35/wrong1.txt create mode 100644 Ingegneria del Software/0324_35/wrong2.txt create mode 100644 Ingegneria del Software/0324_35/wrong3.txt create mode 100644 Ingegneria del Software/0324_36/correct.txt create mode 100644 Ingegneria del Software/0324_36/quest.txt create mode 100644 Ingegneria del Software/0324_36/wrong1.txt create mode 100644 Ingegneria del Software/0324_36/wrong2.txt create mode 100644 Ingegneria del Software/0324_37/correct.txt create mode 100644 Ingegneria del Software/0324_37/quest.txt create mode 100644 Ingegneria del Software/0324_37/wrong1.txt create mode 100644 Ingegneria del Software/0324_37/wrong2.txt create mode 100644 Ingegneria del Software/0324_38/correct.txt create mode 100644 Ingegneria del Software/0324_38/quest.txt create mode 100644 Ingegneria del Software/0324_38/wrong1.txt create mode 100644 Ingegneria del Software/0324_38/wrong2.txt create mode 100644 Ingegneria del Software/0324_39/correct.txt create mode 100644 Ingegneria del Software/0324_39/quest.txt create mode 100644 Ingegneria del Software/0324_39/wrong1.txt create mode 100644 Ingegneria del Software/0324_39/wrong2.txt create mode 100644 Ingegneria del Software/0324_4/correct.txt create mode 100644 Ingegneria del Software/0324_4/quest.txt create mode 100644 Ingegneria del Software/0324_4/wrong1.txt create mode 100644 Ingegneria del Software/0324_4/wrong2.txt create mode 100644 Ingegneria del Software/0324_40/correct.txt create mode 100644 Ingegneria del Software/0324_40/quest.txt create mode 100644 Ingegneria del Software/0324_40/wrong1.txt create mode 100644 Ingegneria del Software/0324_40/wrong2.txt create mode 100644 Ingegneria del Software/0324_41/quest.txt create mode 100644 Ingegneria del Software/0324_41/wrong1.txt create mode 100644 Ingegneria del Software/0324_41/wrong2.txt create mode 100644 Ingegneria del Software/0324_41/wrong3.txt create mode 100644 Ingegneria del Software/0324_42/quest.txt create mode 100644 Ingegneria del Software/0324_42/wrong1.txt create mode 100644 Ingegneria del Software/0324_42/wrong2.txt create mode 100644 Ingegneria del Software/0324_42/wrong3.txt create mode 100644 Ingegneria del Software/0324_43/correct.txt create mode 100644 Ingegneria del Software/0324_43/quest.txt create mode 100644 Ingegneria del Software/0324_43/wrong1.txt create mode 100644 Ingegneria del Software/0324_43/wrong2.txt create mode 100644 Ingegneria del Software/0324_44/correct.txt create mode 100644 Ingegneria del Software/0324_44/quest.txt create mode 100644 Ingegneria del Software/0324_44/wrong1.txt create mode 100644 Ingegneria del Software/0324_44/wrong2.txt create mode 100644 Ingegneria del Software/0324_45/correct.txt create mode 100644 Ingegneria del Software/0324_45/quest.txt create mode 100644 Ingegneria del Software/0324_45/wrong1.txt create mode 100644 Ingegneria del Software/0324_45/wrong2.txt create mode 100644 Ingegneria del Software/0324_46/correct.txt create mode 100644 Ingegneria del Software/0324_46/quest.txt create mode 100644 Ingegneria del Software/0324_46/wrong1.txt create mode 100644 Ingegneria del Software/0324_46/wrong2.txt create mode 100644 Ingegneria del Software/0324_47/quest.txt create mode 100644 Ingegneria del Software/0324_47/wrong1.txt create mode 100644 Ingegneria del Software/0324_47/wrong2.txt create mode 100644 Ingegneria del Software/0324_47/wrong3.txt create mode 100644 Ingegneria del Software/0324_48/quest.txt create mode 100644 Ingegneria del Software/0324_48/wrong1.txt create mode 100644 Ingegneria del Software/0324_48/wrong2.txt create mode 100644 Ingegneria del Software/0324_48/wrong3.txt create mode 100644 Ingegneria del Software/0324_49/correct.txt create mode 100644 Ingegneria del Software/0324_49/quest.txt create mode 100644 Ingegneria del Software/0324_49/wrong1.txt create mode 100644 Ingegneria del Software/0324_49/wrong2.txt create mode 100644 Ingegneria del Software/0324_5/correct.txt create mode 100644 Ingegneria del Software/0324_5/quest.txt create mode 100644 Ingegneria del Software/0324_5/wrong1.txt create mode 100644 Ingegneria del Software/0324_5/wrong2.txt create mode 100644 Ingegneria del Software/0324_6/correct.txt create mode 100644 Ingegneria del Software/0324_6/quest.txt create mode 100644 Ingegneria del Software/0324_6/wrong1.txt create mode 100644 Ingegneria del Software/0324_6/wrong2.txt create mode 100644 Ingegneria del Software/0324_7/correct.txt create mode 100644 Ingegneria del Software/0324_7/quest.txt create mode 100644 Ingegneria del Software/0324_7/wrong1.txt create mode 100644 Ingegneria del Software/0324_7/wrong2.txt create mode 100644 Ingegneria del Software/0324_8/correct.txt create mode 100644 Ingegneria del Software/0324_8/quest.txt create mode 100644 Ingegneria del Software/0324_8/wrong1.txt create mode 100644 Ingegneria del Software/0324_8/wrong2.txt create mode 100644 Ingegneria del Software/0324_9/correct.txt create mode 100644 Ingegneria del Software/0324_9/quest.txt create mode 100644 Ingegneria del Software/0324_9/wrong1.txt create mode 100644 Ingegneria del Software/0324_9/wrong2.txt create mode 100644 Ingegneria del Software/0613_0/quest.txt create mode 100644 Ingegneria del Software/0613_0/wrong1.txt create mode 100644 Ingegneria del Software/0613_0/wrong2.txt create mode 100644 Ingegneria del Software/0613_0/wrong3.txt create mode 100644 Ingegneria del Software/0613_1/correct.txt create mode 100644 Ingegneria del Software/0613_1/quest.txt create mode 100644 Ingegneria del Software/0613_1/wrong1.txt create mode 100644 Ingegneria del Software/0613_1/wrong2.txt create mode 100644 Ingegneria del Software/0613_10/correct.txt create mode 100644 Ingegneria del Software/0613_10/quest.txt create mode 100644 Ingegneria del Software/0613_10/wrong1.txt create mode 100644 Ingegneria del Software/0613_10/wrong2.txt create mode 100644 Ingegneria del Software/0613_11/correct.txt create mode 100644 Ingegneria del Software/0613_11/quest.txt create mode 100644 Ingegneria del Software/0613_11/wrong1.txt create mode 100644 Ingegneria del Software/0613_11/wrong2.txt create mode 100644 Ingegneria del Software/0613_12/correct.txt create mode 100644 Ingegneria del Software/0613_12/quest.txt create mode 100644 Ingegneria del Software/0613_12/wrong1.txt create mode 100644 Ingegneria del Software/0613_12/wrong2.txt create mode 100644 Ingegneria del Software/0613_13/correct.txt create mode 100644 Ingegneria del Software/0613_13/quest.txt create mode 100644 Ingegneria del Software/0613_13/wrong1.txt create mode 100644 Ingegneria del Software/0613_13/wrong2.txt create mode 100644 Ingegneria del Software/0613_14/quest.txt create mode 100644 Ingegneria del Software/0613_14/wrong1.txt create mode 100644 Ingegneria del Software/0613_14/wrong2.txt create mode 100644 Ingegneria del Software/0613_14/wrong3.txt create mode 100644 Ingegneria del Software/0613_15/correct.txt create mode 100644 Ingegneria del Software/0613_15/quest.txt create mode 100644 Ingegneria del Software/0613_15/wrong1.txt create mode 100644 Ingegneria del Software/0613_15/wrong2.txt create mode 100644 Ingegneria del Software/0613_16/correct.txt create mode 100644 Ingegneria del Software/0613_16/quest.txt create mode 100644 Ingegneria del Software/0613_16/wrong1.txt create mode 100644 Ingegneria del Software/0613_16/wrong2.txt create mode 100644 Ingegneria del Software/0613_17/correct.txt create mode 100644 Ingegneria del Software/0613_17/quest.txt create mode 100644 Ingegneria del Software/0613_17/wrong1.txt create mode 100644 Ingegneria del Software/0613_17/wrong2.txt create mode 100644 Ingegneria del Software/0613_18/correct.txt create mode 100644 Ingegneria del Software/0613_18/quest.txt create mode 100644 Ingegneria del Software/0613_18/wrong1.txt create mode 100644 Ingegneria del Software/0613_18/wrong2.txt create mode 100644 Ingegneria del Software/0613_19/quest.txt create mode 100644 Ingegneria del Software/0613_19/wrong1.txt create mode 100644 Ingegneria del Software/0613_19/wrong2.txt create mode 100644 Ingegneria del Software/0613_19/wrong3.txt create mode 100644 Ingegneria del Software/0613_2/quest.txt create mode 100644 Ingegneria del Software/0613_2/wrong1.txt create mode 100644 Ingegneria del Software/0613_2/wrong2.txt create mode 100644 Ingegneria del Software/0613_2/wrong3.txt create mode 100644 Ingegneria del Software/0613_20/correct.txt create mode 100644 Ingegneria del Software/0613_20/quest.txt create mode 100644 Ingegneria del Software/0613_20/wrong1.txt create mode 100644 Ingegneria del Software/0613_20/wrong2.txt create mode 100644 Ingegneria del Software/0613_21/correct.txt create mode 100644 Ingegneria del Software/0613_21/quest.txt create mode 100644 Ingegneria del Software/0613_21/wrong1.txt create mode 100644 Ingegneria del Software/0613_21/wrong2.txt create mode 100644 Ingegneria del Software/0613_22/correct.txt create mode 100644 Ingegneria del Software/0613_22/quest.txt create mode 100644 Ingegneria del Software/0613_22/wrong1.txt create mode 100644 Ingegneria del Software/0613_22/wrong2.txt create mode 100644 Ingegneria del Software/0613_23/correct.txt create mode 100644 Ingegneria del Software/0613_23/quest.txt create mode 100644 Ingegneria del Software/0613_23/wrong1.txt create mode 100644 Ingegneria del Software/0613_23/wrong2.txt create mode 100644 Ingegneria del Software/0613_24/correct.txt create mode 100644 Ingegneria del Software/0613_24/quest.txt create mode 100644 Ingegneria del Software/0613_24/wrong1.txt create mode 100644 Ingegneria del Software/0613_24/wrong2.txt create mode 100644 Ingegneria del Software/0613_25/correct.txt create mode 100644 Ingegneria del Software/0613_25/quest.txt create mode 100644 Ingegneria del Software/0613_25/wrong1.txt create mode 100644 Ingegneria del Software/0613_25/wrong2.txt create mode 100644 Ingegneria del Software/0613_26/correct.txt create mode 100644 Ingegneria del Software/0613_26/quest.txt create mode 100644 Ingegneria del Software/0613_26/wrong1.txt create mode 100644 Ingegneria del Software/0613_26/wrong2.txt create mode 100644 Ingegneria del Software/0613_27/quest.txt create mode 100644 Ingegneria del Software/0613_27/wrong1.txt create mode 100644 Ingegneria del Software/0613_27/wrong2.txt create mode 100644 Ingegneria del Software/0613_27/wrong3.txt create mode 100644 Ingegneria del Software/0613_28/correct.txt create mode 100644 Ingegneria del Software/0613_28/quest.txt create mode 100644 Ingegneria del Software/0613_28/wrong1.txt create mode 100644 Ingegneria del Software/0613_28/wrong2.txt create mode 100644 Ingegneria del Software/0613_29/correct.txt create mode 100644 Ingegneria del Software/0613_29/quest.txt create mode 100644 Ingegneria del Software/0613_29/wrong1.txt create mode 100644 Ingegneria del Software/0613_29/wrong2.txt create mode 100644 Ingegneria del Software/0613_3/correct.txt create mode 100644 Ingegneria del Software/0613_3/quest.txt create mode 100644 Ingegneria del Software/0613_3/wrong1.txt create mode 100644 Ingegneria del Software/0613_3/wrong2.txt create mode 100644 Ingegneria del Software/0613_30/correct.txt create mode 100644 Ingegneria del Software/0613_30/quest.txt create mode 100644 Ingegneria del Software/0613_30/wrong1.txt create mode 100644 Ingegneria del Software/0613_30/wrong2.txt create mode 100644 Ingegneria del Software/0613_31/correct.txt create mode 100644 Ingegneria del Software/0613_31/quest.txt create mode 100644 Ingegneria del Software/0613_31/wrong1.txt create mode 100644 Ingegneria del Software/0613_31/wrong2.txt create mode 100644 Ingegneria del Software/0613_32/correct.txt create mode 100644 Ingegneria del Software/0613_32/quest.txt create mode 100644 Ingegneria del Software/0613_32/wrong1.txt create mode 100644 Ingegneria del Software/0613_32/wrong2.txt create mode 100644 Ingegneria del Software/0613_33/correct.txt create mode 100644 Ingegneria del Software/0613_33/quest.txt create mode 100644 Ingegneria del Software/0613_33/wrong1.txt create mode 100644 Ingegneria del Software/0613_33/wrong2.txt create mode 100644 Ingegneria del Software/0613_34/correct.txt create mode 100644 Ingegneria del Software/0613_34/quest.txt create mode 100644 Ingegneria del Software/0613_34/wrong1.txt create mode 100644 Ingegneria del Software/0613_34/wrong2.txt create mode 100644 Ingegneria del Software/0613_35/correct.txt create mode 100644 Ingegneria del Software/0613_35/quest.txt create mode 100644 Ingegneria del Software/0613_35/wrong1.txt create mode 100644 Ingegneria del Software/0613_35/wrong2.txt create mode 100644 Ingegneria del Software/0613_36/correct.txt create mode 100644 Ingegneria del Software/0613_36/quest.txt create mode 100644 Ingegneria del Software/0613_36/wrong1.txt create mode 100644 Ingegneria del Software/0613_36/wrong2.txt create mode 100644 Ingegneria del Software/0613_37/correct.txt create mode 100644 Ingegneria del Software/0613_37/quest.txt create mode 100644 Ingegneria del Software/0613_37/wrong1.txt create mode 100644 Ingegneria del Software/0613_37/wrong2.txt create mode 100644 Ingegneria del Software/0613_38/quest.txt create mode 100644 Ingegneria del Software/0613_38/wrong1.txt create mode 100644 Ingegneria del Software/0613_38/wrong2.txt create mode 100644 Ingegneria del Software/0613_38/wrong3.txt create mode 100644 Ingegneria del Software/0613_39/correct.txt create mode 100644 Ingegneria del Software/0613_39/quest.txt create mode 100644 Ingegneria del Software/0613_39/wrong1.txt create mode 100644 Ingegneria del Software/0613_39/wrong2.txt create mode 100644 Ingegneria del Software/0613_4/correct.txt create mode 100644 Ingegneria del Software/0613_4/quest.txt create mode 100644 Ingegneria del Software/0613_4/wrong1.txt create mode 100644 Ingegneria del Software/0613_4/wrong2.txt create mode 100644 Ingegneria del Software/0613_40/quest.txt create mode 100644 Ingegneria del Software/0613_40/wrong1.txt create mode 100644 Ingegneria del Software/0613_40/wrong2.txt create mode 100644 Ingegneria del Software/0613_40/wrong3.txt create mode 100644 Ingegneria del Software/0613_41/quest.txt create mode 100644 Ingegneria del Software/0613_41/wrong1.txt create mode 100644 Ingegneria del Software/0613_41/wrong2.txt create mode 100644 Ingegneria del Software/0613_41/wrong3.txt create mode 100644 Ingegneria del Software/0613_42/correct.txt create mode 100644 Ingegneria del Software/0613_42/quest.txt create mode 100644 Ingegneria del Software/0613_42/wrong1.txt create mode 100644 Ingegneria del Software/0613_42/wrong2.txt create mode 100644 Ingegneria del Software/0613_43/correct.txt create mode 100644 Ingegneria del Software/0613_43/quest.txt create mode 100644 Ingegneria del Software/0613_43/wrong1.txt create mode 100644 Ingegneria del Software/0613_43/wrong2.txt create mode 100644 Ingegneria del Software/0613_44/correct.txt create mode 100644 Ingegneria del Software/0613_44/quest.txt create mode 100644 Ingegneria del Software/0613_44/wrong1.txt create mode 100644 Ingegneria del Software/0613_44/wrong2.txt create mode 100644 Ingegneria del Software/0613_45/correct.txt create mode 100644 Ingegneria del Software/0613_45/quest.txt create mode 100644 Ingegneria del Software/0613_45/wrong1.txt create mode 100644 Ingegneria del Software/0613_45/wrong2.txt create mode 100644 Ingegneria del Software/0613_46/correct.txt create mode 100644 Ingegneria del Software/0613_46/quest.txt create mode 100644 Ingegneria del Software/0613_46/wrong1.txt create mode 100644 Ingegneria del Software/0613_46/wrong2.txt create mode 100644 Ingegneria del Software/0613_47/correct.txt create mode 100644 Ingegneria del Software/0613_47/quest.txt create mode 100644 Ingegneria del Software/0613_47/wrong1.txt create mode 100644 Ingegneria del Software/0613_47/wrong2.txt create mode 100644 Ingegneria del Software/0613_48/correct.txt create mode 100644 Ingegneria del Software/0613_48/quest.txt create mode 100644 Ingegneria del Software/0613_48/wrong1.txt create mode 100644 Ingegneria del Software/0613_48/wrong2.txt create mode 100644 Ingegneria del Software/0613_49/correct.txt create mode 100644 Ingegneria del Software/0613_49/quest.txt create mode 100644 Ingegneria del Software/0613_49/wrong1.txt create mode 100644 Ingegneria del Software/0613_49/wrong2.txt create mode 100644 Ingegneria del Software/0613_5/correct.txt create mode 100644 Ingegneria del Software/0613_5/quest.txt create mode 100644 Ingegneria del Software/0613_5/wrong1.txt create mode 100644 Ingegneria del Software/0613_5/wrong2.txt create mode 100644 Ingegneria del Software/0613_6/correct.txt create mode 100644 Ingegneria del Software/0613_6/quest.txt create mode 100644 Ingegneria del Software/0613_6/wrong1.txt create mode 100644 Ingegneria del Software/0613_6/wrong2.txt create mode 100644 Ingegneria del Software/0613_7/correct.txt create mode 100644 Ingegneria del Software/0613_7/quest.txt create mode 100644 Ingegneria del Software/0613_7/wrong1.txt create mode 100644 Ingegneria del Software/0613_7/wrong2.txt create mode 100644 Ingegneria del Software/0613_8/correct.txt create mode 100644 Ingegneria del Software/0613_8/quest.txt create mode 100644 Ingegneria del Software/0613_8/wrong1.txt create mode 100644 Ingegneria del Software/0613_8/wrong2.txt create mode 100644 Ingegneria del Software/0613_9/quest.txt create mode 100644 Ingegneria del Software/0613_9/wrong1.txt create mode 100644 Ingegneria del Software/0613_9/wrong2.txt create mode 100644 Ingegneria del Software/0613_9/wrong3.txt diff --git a/Ingegneria del Software/0120_0/correct.txt b/Ingegneria del Software/0120_0/correct.txt new file mode 100644 index 0000000..b110af1 --- /dev/null +++ b/Ingegneria del Software/0120_0/correct.txt @@ -0,0 +1 @@ +Transition coverage: 40% \ No newline at end of file diff --git a/Ingegneria del Software/0120_0/quest.txt b/Ingegneria del Software/0120_0/quest.txt new file mode 100644 index 0000000..1b78d21 --- /dev/null +++ b/Ingegneria del Software/0120_0/quest.txt @@ -0,0 +1,11 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_0.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + +ed il seguente insieme di test cases: +Test case 1: act2 act1 +Test case 2: act1 act0 act1 act0 act2 +Test case 3: act0 act2 act2 act1 +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0120_0/wrong1.txt b/Ingegneria del Software/0120_0/wrong1.txt new file mode 100644 index 0000000..5464d05 --- /dev/null +++ b/Ingegneria del Software/0120_0/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 30% \ No newline at end of file diff --git a/Ingegneria del Software/0120_0/wrong2.txt b/Ingegneria del Software/0120_0/wrong2.txt new file mode 100644 index 0000000..a29d476 --- /dev/null +++ b/Ingegneria del Software/0120_0/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0120_1/correct.txt b/Ingegneria del Software/0120_1/correct.txt new file mode 100644 index 0000000..279908a --- /dev/null +++ b/Ingegneria del Software/0120_1/correct.txt @@ -0,0 +1,17 @@ +
+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.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/0120_1/quest.txt b/Ingegneria del Software/0120_1/quest.txt new file mode 100644 index 0000000..5922b9f --- /dev/null +++ b/Ingegneria del Software/0120_1/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/0120_1/wrong1.txt b/Ingegneria del Software/0120_1/wrong1.txt new file mode 100644 index 0000000..867889a --- /dev/null +++ b/Ingegneria del Software/0120_1/wrong1.txt @@ -0,0 +1,17 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_1/wrong2.txt b/Ingegneria del Software/0120_1/wrong2.txt new file mode 100644 index 0000000..a159504 --- /dev/null +++ b/Ingegneria del Software/0120_1/wrong2.txt @@ -0,0 +1,17 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_10/correct.txt b/Ingegneria del Software/0120_10/correct.txt new file mode 100644 index 0000000..fffebc7 --- /dev/null +++ b/Ingegneria del Software/0120_10/correct.txt @@ -0,0 +1,16 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_10/quest.txt b/Ingegneria del Software/0120_10/quest.txt new file mode 100644 index 0000000..e11a044 --- /dev/null +++ b/Ingegneria del Software/0120_10/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/0120_10/wrong1.txt b/Ingegneria del Software/0120_10/wrong1.txt new file mode 100644 index 0000000..c5ef6d8 --- /dev/null +++ b/Ingegneria del Software/0120_10/wrong1.txt @@ -0,0 +1,16 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_10/wrong2.txt b/Ingegneria del Software/0120_10/wrong2.txt new file mode 100644 index 0000000..06e9d5a --- /dev/null +++ b/Ingegneria del Software/0120_10/wrong2.txt @@ -0,0 +1,16 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_11/correct.txt b/Ingegneria del Software/0120_11/correct.txt new file mode 100644 index 0000000..1a8a50a --- /dev/null +++ b/Ingegneria del Software/0120_11/correct.txt @@ -0,0 +1 @@ +Per ciascun requisito, dovremmo essere in grado di scrivere un inseme di test che può dimostrare che il sistema sviluppato soddisfa il requisito considerato. \ No newline at end of file diff --git a/Ingegneria del Software/0120_11/quest.txt b/Ingegneria del Software/0120_11/quest.txt new file mode 100644 index 0000000..793b220 --- /dev/null +++ b/Ingegneria del Software/0120_11/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive il criterio di "requirements verifiability" che è parte della "requirements validation activity". \ No newline at end of file diff --git a/Ingegneria del Software/0120_11/wrong1.txt b/Ingegneria del Software/0120_11/wrong1.txt new file mode 100644 index 0000000..fac8307 --- /dev/null +++ b/Ingegneria del Software/0120_11/wrong1.txt @@ -0,0 +1 @@ +Per ciascuna coppia di componenti, dovremmo essere in grado di scrivere un insieme di test che può dimostrare che l'interazione tra le componenti soddisfa tutti i requisiti di interfaccia. \ No newline at end of file diff --git a/Ingegneria del Software/0120_11/wrong2.txt b/Ingegneria del Software/0120_11/wrong2.txt new file mode 100644 index 0000000..3fdb31e --- /dev/null +++ b/Ingegneria del Software/0120_11/wrong2.txt @@ -0,0 +1 @@ +Per ciascuna componente del sistema, dovremmo essere in grado di scrivere un insieme di test che può dimostrare che essa soddisfa tutti i requisiti. \ No newline at end of file diff --git a/Ingegneria del Software/0120_12/correct.txt b/Ingegneria del Software/0120_12/correct.txt new file mode 100644 index 0000000..b9f32a6 --- /dev/null +++ b/Ingegneria del Software/0120_12/correct.txt @@ -0,0 +1 @@ +c(0)/(1 - p) \ No newline at end of file diff --git a/Ingegneria del Software/0120_12/quest.txt b/Ingegneria del Software/0120_12/quest.txt new file mode 100644 index 0000000..aed3c79 --- /dev/null +++ b/Ingegneria del Software/0120_12/quest.txt @@ -0,0 +1,6 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_12.png +Si consideri il processo software con due fasi (0 ed 1) rappresentato con la Markov chain in figura. Lo stato iniziale 0 e p è in (0, 1). Il costo dello stato (fase) x è c(x). La fase 0 è la fase di design, che ha probabilità p di dover essere ripetuta causa errori. La fase 1 rappreenta il completamento del processo software, e quindi c(1) = 0. +Il costo di una istanza del processo software descritto sopra è la somma dei costi degli stati attraversati (tenendo presente che si parte sempre dallo stato 0. +Quindi il costo C(X) della sequenza di stati X = x(0), x(1), x(2), .... è C(X) = c(x(0)) + c(x(1)) + c(x(2)) + ... +Ad esempio se X = 0, 1 abbiamo C(X) = c(0) + c(1) = c(0) (poichè c(1) = 0). +Quale delle seguenti formule calcola il valore atteso del costo per completare il processo software di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0120_12/wrong1.txt b/Ingegneria del Software/0120_12/wrong1.txt new file mode 100644 index 0000000..70022eb --- /dev/null +++ b/Ingegneria del Software/0120_12/wrong1.txt @@ -0,0 +1 @@ +c(0)*(1 - p)/p \ No newline at end of file diff --git a/Ingegneria del Software/0120_12/wrong2.txt b/Ingegneria del Software/0120_12/wrong2.txt new file mode 100644 index 0000000..3143da9 --- /dev/null +++ b/Ingegneria del Software/0120_12/wrong2.txt @@ -0,0 +1 @@ +c(0)/(p*(1 - p)) \ No newline at end of file diff --git a/Ingegneria del Software/0120_13/correct.txt b/Ingegneria del Software/0120_13/correct.txt new file mode 100644 index 0000000..e74b1fc --- /dev/null +++ b/Ingegneria del Software/0120_13/correct.txt @@ -0,0 +1 @@ +F(x, y, z) = if (x > y) then (z == x) else (z == y + 1) \ No newline at end of file diff --git a/Ingegneria del Software/0120_13/quest.txt b/Ingegneria del Software/0120_13/quest.txt new file mode 100644 index 0000000..c1cd6d0 --- /dev/null +++ b/Ingegneria del Software/0120_13/quest.txt @@ -0,0 +1,9 @@ +Un test oracle per un programma P è una funzione booleana che ha come inputs gli inputs ed outputs di P e ritorna true se e solo se il valore di output di P (con i dati inputs) è quello atteso dalle specifiche. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { +int z = x; +while ( (x <= z) && (z <= y) ) { z = z + 1; } +return (z); +} +Siano x, y, gli inputs del programma (f nel nostro caso) e z l'output. Assumendo il programma corretto, quale delle seguenti funzioni booleane F(x, y, z) è un test oracle per la funzione f. \ No newline at end of file diff --git a/Ingegneria del Software/0120_13/wrong1.txt b/Ingegneria del Software/0120_13/wrong1.txt new file mode 100644 index 0000000..d63544a --- /dev/null +++ b/Ingegneria del Software/0120_13/wrong1.txt @@ -0,0 +1 @@ +F(x, y, z) = if (x > y) then (z == x + 1) else (z == y + 1) \ No newline at end of file diff --git a/Ingegneria del Software/0120_13/wrong2.txt b/Ingegneria del Software/0120_13/wrong2.txt new file mode 100644 index 0000000..1753a91 --- /dev/null +++ b/Ingegneria del Software/0120_13/wrong2.txt @@ -0,0 +1 @@ +F(x, y, z) = (z == y + 1) \ No newline at end of file diff --git a/Ingegneria del Software/0120_14/correct.txt b/Ingegneria del Software/0120_14/correct.txt new file mode 100644 index 0000000..475d1ef --- /dev/null +++ b/Ingegneria del Software/0120_14/correct.txt @@ -0,0 +1 @@ +{x = -150, x = -40, x = 0, x = 200, x = 600} \ No newline at end of file diff --git a/Ingegneria del Software/0120_14/quest.txt b/Ingegneria del Software/0120_14/quest.txt new file mode 100644 index 0000000..36947c2 --- /dev/null +++ b/Ingegneria del Software/0120_14/quest.txt @@ -0,0 +1,6 @@ +Il partition coverage di un insieme di test cases è la percentuale di elementi della partition inclusi nei test cases. La partition è una partizione finita dell'insieme di input della funzione che si sta testando. +Si consideri la seguente funzione C: +int f1(int x) { return (x + 7); } +Si vuole testare la funzione f1(). A tal fine l'insieme degli interi viene partizionato come segue: +{(-inf, -101], [-100, -1], {0}, [1, 500], [501, +inf)} +Quale dei seguenti test cases consegue una partition coverage del 100% ? \ No newline at end of file diff --git a/Ingegneria del Software/0120_14/wrong1.txt b/Ingegneria del Software/0120_14/wrong1.txt new file mode 100644 index 0000000..a6df32d --- /dev/null +++ b/Ingegneria del Software/0120_14/wrong1.txt @@ -0,0 +1 @@ +{x = -200, x = -150, x = 0, x = 100, x = 700} \ No newline at end of file diff --git a/Ingegneria del Software/0120_14/wrong2.txt b/Ingegneria del Software/0120_14/wrong2.txt new file mode 100644 index 0000000..0aaedb8 --- /dev/null +++ b/Ingegneria del Software/0120_14/wrong2.txt @@ -0,0 +1 @@ +{x = -200, x = -50, x = 0, x = 100, x = 500} \ No newline at end of file diff --git a/Ingegneria del Software/0120_15/correct.txt b/Ingegneria del Software/0120_15/correct.txt new file mode 100644 index 0000000..aef914a --- /dev/null +++ b/Ingegneria del Software/0120_15/correct.txt @@ -0,0 +1 @@ +Assicurarsi che un sistema che soddisfa i requisiti risolve il problema del "customer". \ No newline at end of file diff --git a/Ingegneria del Software/0120_15/quest.txt b/Ingegneria del Software/0120_15/quest.txt new file mode 100644 index 0000000..9af4805 --- /dev/null +++ b/Ingegneria del Software/0120_15/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive l'obiettivo del "validity check" che è parte della "requirements validation activity". \ No newline at end of file diff --git a/Ingegneria del Software/0120_15/wrong1.txt b/Ingegneria del Software/0120_15/wrong1.txt new file mode 100644 index 0000000..32c628c --- /dev/null +++ b/Ingegneria del Software/0120_15/wrong1.txt @@ -0,0 +1 @@ +Assicurarsi che i requisiti funzionali descrivano tutte le funzionalità del sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0120_15/wrong2.txt b/Ingegneria del Software/0120_15/wrong2.txt new file mode 100644 index 0000000..eb23d05 --- /dev/null +++ b/Ingegneria del Software/0120_15/wrong2.txt @@ -0,0 +1 @@ +Assicurarsi che non ci siano requisiti in conflitto con altri requisiti. \ No newline at end of file diff --git a/Ingegneria del Software/0120_16/correct.txt b/Ingegneria del Software/0120_16/correct.txt new file mode 100644 index 0000000..0902686 --- /dev/null +++ b/Ingegneria del Software/0120_16/correct.txt @@ -0,0 +1 @@ +Requisito funzionale. \ No newline at end of file diff --git a/Ingegneria del Software/0120_16/quest.txt b/Ingegneria del Software/0120_16/quest.txt new file mode 100644 index 0000000..f6839df --- /dev/null +++ b/Ingegneria del Software/0120_16/quest.txt @@ -0,0 +1,2 @@ +"Ogni giorno, per ciascuna clinica, il sistema genererà una lista dei pazienti che hanno un appuntamento quel giorno." +La frase precedente è un esempio di: \ No newline at end of file diff --git a/Ingegneria del Software/0120_16/wrong1.txt b/Ingegneria del Software/0120_16/wrong1.txt new file mode 100644 index 0000000..6084c49 --- /dev/null +++ b/Ingegneria del Software/0120_16/wrong1.txt @@ -0,0 +1 @@ +Requisito non-funzionale. \ No newline at end of file diff --git a/Ingegneria del Software/0120_16/wrong2.txt b/Ingegneria del Software/0120_16/wrong2.txt new file mode 100644 index 0000000..396c8d3 --- /dev/null +++ b/Ingegneria del Software/0120_16/wrong2.txt @@ -0,0 +1 @@ +Requisito di performance. \ No newline at end of file diff --git a/Ingegneria del Software/0120_17/correct.txt b/Ingegneria del Software/0120_17/correct.txt new file mode 100644 index 0000000..f2bb2d0 --- /dev/null +++ b/Ingegneria del Software/0120_17/correct.txt @@ -0,0 +1 @@ +0.12 \ No newline at end of file diff --git a/Ingegneria del Software/0120_17/quest.txt b/Ingegneria del Software/0120_17/quest.txt new file mode 100644 index 0000000..fc7cc95 --- /dev/null +++ b/Ingegneria del Software/0120_17/quest.txt @@ -0,0 +1,9 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_17.png +Un processo software può essere rappesentato con uno state diagram in cui gli stati rappresentano le fasi (e loro iterazioni) del prcoesso software e gli archi le transizioni da una fase all'altra. Gli archi sono etichettati con le probabilità della transizione e gli stati sono etichettati con il costo per lasciare lo stato. +Ad esempio lo state diagram in figura + + + +Rappresenta un processo software con 2 fasi F1 ed F2. F1 ha costo 10000 EUR ed F2 ha costo 1000 EUR. F1 ha una probabilita dello 0.4 di dover essere ripetuta (a causa di errori) ed F2 ha una probabilità 0.2 di dover essere ripetuta (a causa di errori). +Uno scenario è una sequenza di stati. +Qual'e' la probabilità dello scenario: 1, 3, 4? In altri terminti, qual'è la probabilità che non sia necessario ripetere la seconda fase (ma non la prima) ? \ No newline at end of file diff --git a/Ingegneria del Software/0120_17/wrong1.txt b/Ingegneria del Software/0120_17/wrong1.txt new file mode 100644 index 0000000..2a47a95 --- /dev/null +++ b/Ingegneria del Software/0120_17/wrong1.txt @@ -0,0 +1 @@ +0.08 \ No newline at end of file diff --git a/Ingegneria del Software/0120_17/wrong2.txt b/Ingegneria del Software/0120_17/wrong2.txt new file mode 100644 index 0000000..b7bbee2 --- /dev/null +++ b/Ingegneria del Software/0120_17/wrong2.txt @@ -0,0 +1 @@ +0.32 \ No newline at end of file diff --git a/Ingegneria del Software/0120_18/correct.txt b/Ingegneria del Software/0120_18/correct.txt new file mode 100644 index 0000000..95bc750 --- /dev/null +++ b/Ingegneria del Software/0120_18/correct.txt @@ -0,0 +1 @@ +100% \ No newline at end of file diff --git a/Ingegneria del Software/0120_18/quest.txt b/Ingegneria del Software/0120_18/quest.txt new file mode 100644 index 0000000..fd2ddc5 --- /dev/null +++ b/Ingegneria del Software/0120_18/quest.txt @@ -0,0 +1,9 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { + if (x - y - 2 <= 0) { if (x + y - 1 >= 0) return (1); else return (2); } + else {if (x + 2*y - 5 >= 0) return (3); else return (4); } + } /* f() */ +Si considerino i seguenti test cases: {x=1, y=2}, {x=0, y=0}, {x=5, y=0}, {x=3, y=0}. +Quale delle seguenti è la branch coverage conseguita? \ No newline at end of file diff --git a/Ingegneria del Software/0120_18/wrong1.txt b/Ingegneria del Software/0120_18/wrong1.txt new file mode 100644 index 0000000..a2507e5 --- /dev/null +++ b/Ingegneria del Software/0120_18/wrong1.txt @@ -0,0 +1 @@ +80% \ No newline at end of file diff --git a/Ingegneria del Software/0120_18/wrong2.txt b/Ingegneria del Software/0120_18/wrong2.txt new file mode 100644 index 0000000..23e721f --- /dev/null +++ b/Ingegneria del Software/0120_18/wrong2.txt @@ -0,0 +1 @@ +50% \ No newline at end of file diff --git a/Ingegneria del Software/0120_19/correct.txt b/Ingegneria del Software/0120_19/correct.txt new file mode 100644 index 0000000..e13eda2 --- /dev/null +++ b/Ingegneria del Software/0120_19/correct.txt @@ -0,0 +1 @@ +Accertarsi che i requisiti definiscano un sistema che risolve il problema che l'utente pianifica di risolvere. \ No newline at end of file diff --git a/Ingegneria del Software/0120_19/quest.txt b/Ingegneria del Software/0120_19/quest.txt new file mode 100644 index 0000000..b59a64d --- /dev/null +++ b/Ingegneria del Software/0120_19/quest.txt @@ -0,0 +1 @@ +Quali delle seguenti attività è parte del processo di validazione dei requisiti ? \ No newline at end of file diff --git a/Ingegneria del Software/0120_19/wrong1.txt b/Ingegneria del Software/0120_19/wrong1.txt new file mode 100644 index 0000000..b24f900 --- /dev/null +++ b/Ingegneria del Software/0120_19/wrong1.txt @@ -0,0 +1 @@ +Accertarsi che il sistema soddisfi i requisiti dati. \ No newline at end of file diff --git a/Ingegneria del Software/0120_19/wrong2.txt b/Ingegneria del Software/0120_19/wrong2.txt new file mode 100644 index 0000000..884d6b1 --- /dev/null +++ b/Ingegneria del Software/0120_19/wrong2.txt @@ -0,0 +1 @@ +Accertarsi che l'architettura del sistema soddisfi i requisiti dati. \ No newline at end of file diff --git a/Ingegneria del Software/0120_2/correct.txt b/Ingegneria del Software/0120_2/correct.txt new file mode 100644 index 0000000..2ca9276 --- /dev/null +++ b/Ingegneria del Software/0120_2/correct.txt @@ -0,0 +1 @@ +Transition coverage: 35% \ No newline at end of file diff --git a/Ingegneria del Software/0120_2/quest.txt b/Ingegneria del Software/0120_2/quest.txt new file mode 100644 index 0000000..7cf45ee --- /dev/null +++ b/Ingegneria del Software/0120_2/quest.txt @@ -0,0 +1,11 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_2.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + +ed il seguente insieme di test cases: +Test case 1: act1 act0 act1 act0 act2 +Test case 2: act0 act2 act2 act0 act1 +Test case 3: act0 act0 +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0120_2/wrong1.txt b/Ingegneria del Software/0120_2/wrong1.txt new file mode 100644 index 0000000..2d5aeb0 --- /dev/null +++ b/Ingegneria del Software/0120_2/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0120_2/wrong2.txt b/Ingegneria del Software/0120_2/wrong2.txt new file mode 100644 index 0000000..a29d476 --- /dev/null +++ b/Ingegneria del Software/0120_2/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0120_20/correct.txt b/Ingegneria del Software/0120_20/correct.txt new file mode 100644 index 0000000..7311d41 --- /dev/null +++ b/Ingegneria del Software/0120_20/correct.txt @@ -0,0 +1 @@ +Test set: {x=1, y=1}, {x=0, y=0}, {x=2, y=1}, {x=2, y=0}. \ No newline at end of file diff --git a/Ingegneria del Software/0120_20/quest.txt b/Ingegneria del Software/0120_20/quest.txt new file mode 100644 index 0000000..173901c --- /dev/null +++ b/Ingegneria del Software/0120_20/quest.txt @@ -0,0 +1,8 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { + if (x - y <= 0) { if (x + y - 1 >= 0) return (1); else return (2); } + else {if (2*x + y - 5 >= 0) return (3); else return (4); } + } /* f() */ +Quale dei seguenti test sets consegue una branch coverage del 100% ? \ No newline at end of file diff --git a/Ingegneria del Software/0120_20/wrong1.txt b/Ingegneria del Software/0120_20/wrong1.txt new file mode 100644 index 0000000..3e327ab --- /dev/null +++ b/Ingegneria del Software/0120_20/wrong1.txt @@ -0,0 +1 @@ +Test set: {x=1, y=1}, {x=2, y=2}, {x=2, y=1}, {x=2, y=0}. \ No newline at end of file diff --git a/Ingegneria del Software/0120_20/wrong2.txt b/Ingegneria del Software/0120_20/wrong2.txt new file mode 100644 index 0000000..7e48e4f --- /dev/null +++ b/Ingegneria del Software/0120_20/wrong2.txt @@ -0,0 +1 @@ +Test set: {x=1, y=1}, {x=0, y=0}, {x=2, y=1}, {x=2, y=3}. \ No newline at end of file diff --git a/Ingegneria del Software/0120_21/correct.txt b/Ingegneria del Software/0120_21/correct.txt new file mode 100644 index 0000000..98939be --- /dev/null +++ b/Ingegneria del Software/0120_21/correct.txt @@ -0,0 +1 @@ +1/(1 - p) \ No newline at end of file diff --git a/Ingegneria del Software/0120_21/quest.txt b/Ingegneria del Software/0120_21/quest.txt new file mode 100644 index 0000000..5e04a05 --- /dev/null +++ b/Ingegneria del Software/0120_21/quest.txt @@ -0,0 +1,2 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_21.png +Si consideri la Markov chain in figura con stato iniziale 0 e p in (0, 1). Quale delle seguenti formule calcola il valore atteso del numero di transizioni necessarie per lasciare lo stato 0. \ No newline at end of file diff --git a/Ingegneria del Software/0120_21/wrong1.txt b/Ingegneria del Software/0120_21/wrong1.txt new file mode 100644 index 0000000..db2276d --- /dev/null +++ b/Ingegneria del Software/0120_21/wrong1.txt @@ -0,0 +1 @@ +(1 - p)/p \ No newline at end of file diff --git a/Ingegneria del Software/0120_21/wrong2.txt b/Ingegneria del Software/0120_21/wrong2.txt new file mode 100644 index 0000000..56ea6ac --- /dev/null +++ b/Ingegneria del Software/0120_21/wrong2.txt @@ -0,0 +1 @@ +1/(p*(1 - p)) \ No newline at end of file diff --git a/Ingegneria del Software/0120_22/quest.txt b/Ingegneria del Software/0120_22/quest.txt new file mode 100644 index 0000000..306d75a --- /dev/null +++ b/Ingegneria del Software/0120_22/quest.txt @@ -0,0 +1,32 @@ +Si consideri il seguente modello Modelica. Quale dei seguenti UML state diagram lo rappresenta correttamente ? +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 1) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 2; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_22/wrong1.txt b/Ingegneria del Software/0120_22/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0120_22/wrong2.txt b/Ingegneria del Software/0120_22/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0120_22/wrong3.txt b/Ingegneria del Software/0120_22/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0120_23/correct.txt b/Ingegneria del Software/0120_23/correct.txt new file mode 100644 index 0000000..8b0c318 --- /dev/null +++ b/Ingegneria del Software/0120_23/correct.txt @@ -0,0 +1 @@ +Transition coverage: 50% \ No newline at end of file diff --git a/Ingegneria del Software/0120_23/quest.txt b/Ingegneria del Software/0120_23/quest.txt new file mode 100644 index 0000000..6f49368 --- /dev/null +++ b/Ingegneria del Software/0120_23/quest.txt @@ -0,0 +1,11 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_23.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + +ed il seguente insieme di test cases: +Test case 1: act2 act2 act1 act2 act1 +Test case 2: act1 act0 act2 +Test case 3: act2 act1 act0 +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0120_23/wrong1.txt b/Ingegneria del Software/0120_23/wrong1.txt new file mode 100644 index 0000000..a29d476 --- /dev/null +++ b/Ingegneria del Software/0120_23/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0120_23/wrong2.txt b/Ingegneria del Software/0120_23/wrong2.txt new file mode 100644 index 0000000..5464d05 --- /dev/null +++ b/Ingegneria del Software/0120_23/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 30% \ No newline at end of file diff --git a/Ingegneria del Software/0120_24/correct.txt b/Ingegneria del Software/0120_24/correct.txt new file mode 100644 index 0000000..95bc750 --- /dev/null +++ b/Ingegneria del Software/0120_24/correct.txt @@ -0,0 +1 @@ +100% \ No newline at end of file diff --git a/Ingegneria del Software/0120_24/quest.txt b/Ingegneria del Software/0120_24/quest.txt new file mode 100644 index 0000000..702f202 --- /dev/null +++ b/Ingegneria del Software/0120_24/quest.txt @@ -0,0 +1,9 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { + if (x - y <= 0) { if (x + y - 2>= 0) return (1); else return (2); } + else {if (2*x + y - 1>= 0) return (3); else return (4); } + } /* f() */ +Si considerino i seguenti test cases: {x=1, y=1}, {x=0, y=0}, {x=1, y=0}, {x=0, y=-1}. +Quale delle seguenti è la branch coverage conseguita? \ No newline at end of file diff --git a/Ingegneria del Software/0120_24/wrong1.txt b/Ingegneria del Software/0120_24/wrong1.txt new file mode 100644 index 0000000..a2507e5 --- /dev/null +++ b/Ingegneria del Software/0120_24/wrong1.txt @@ -0,0 +1 @@ +80% \ No newline at end of file diff --git a/Ingegneria del Software/0120_24/wrong2.txt b/Ingegneria del Software/0120_24/wrong2.txt new file mode 100644 index 0000000..23e721f --- /dev/null +++ b/Ingegneria del Software/0120_24/wrong2.txt @@ -0,0 +1 @@ +50% \ No newline at end of file diff --git a/Ingegneria del Software/0120_25/quest.txt b/Ingegneria del Software/0120_25/quest.txt new file mode 100644 index 0000000..5e6a3b5 --- /dev/null +++ b/Ingegneria del Software/0120_25/quest.txt @@ -0,0 +1,37 @@ +Si consideri il seguente modello Modelica. Quale dei seguenti UML state diagram lo rappresenta correttamente ? +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_25/wrong1.txt b/Ingegneria del Software/0120_25/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0120_25/wrong2.txt b/Ingegneria del Software/0120_25/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0120_25/wrong3.txt b/Ingegneria del Software/0120_25/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0120_26/correct.txt b/Ingegneria del Software/0120_26/correct.txt new file mode 100644 index 0000000..1c7da8c --- /dev/null +++ b/Ingegneria del Software/0120_26/correct.txt @@ -0,0 +1 @@ +0.03 \ No newline at end of file diff --git a/Ingegneria del Software/0120_26/quest.txt b/Ingegneria del Software/0120_26/quest.txt new file mode 100644 index 0000000..458f85c --- /dev/null +++ b/Ingegneria del Software/0120_26/quest.txt @@ -0,0 +1,9 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_26.png +Un processo software può essere rappesentato con uno state diagram in cui gli stati rappresentano le fasi (e loro iterazioni) del prcoesso software e gli archi le transizioni da una fase all'altra. Gli archi sono etichettati con le probabilità della transizione e gli stati sono etichettati con il costo per lasciare lo stato. +Ad esempio lo state diagram in figura + + + +Rappresenta un processo software con 2 fasi F1 ed F2. F1 ha costo 10000 EUR ed F2 ha costo 1000 EUR. F1 ha una probabilita dello 0.3 di dover essere ripetuta (a causa di errori) ed F2 ha una probabilità 0.1 di dover essere ripetuta (a causa di errori). +Uno scenario è una sequenza di stati. +Qual'e' la probabilità dello scenario: 1, 2, 3, 4 ? In altri terminti, qual'è la probabilità che sia necessario ripetere sia la fase 1 che la fase 2 ? \ No newline at end of file diff --git a/Ingegneria del Software/0120_26/wrong1.txt b/Ingegneria del Software/0120_26/wrong1.txt new file mode 100644 index 0000000..7eb6830 --- /dev/null +++ b/Ingegneria del Software/0120_26/wrong1.txt @@ -0,0 +1 @@ +0.27 \ No newline at end of file diff --git a/Ingegneria del Software/0120_26/wrong2.txt b/Ingegneria del Software/0120_26/wrong2.txt new file mode 100644 index 0000000..8a346b7 --- /dev/null +++ b/Ingegneria del Software/0120_26/wrong2.txt @@ -0,0 +1 @@ +0.07 \ No newline at end of file diff --git a/Ingegneria del Software/0120_27/correct.txt b/Ingegneria del Software/0120_27/correct.txt new file mode 100644 index 0000000..5f37ecc --- /dev/null +++ b/Ingegneria del Software/0120_27/correct.txt @@ -0,0 +1,17 @@ +
+class Monitor
+
+InputReal x;  // plant output
+OutputBoolean y;
+
+Boolean z;
+initial equation
+y = false;
+equation
+z = (time > 0) and ((x >= 5) or (x <= 0))  and  ((x >= 15) or (x <= 10)) ;
+algorithm
+when edge(z) then
+y := true;
+end when;
+end Monitor;
+
diff --git a/Ingegneria del Software/0120_27/quest.txt b/Ingegneria del Software/0120_27/quest.txt new file mode 100644 index 0000000..864cc93 --- /dev/null +++ b/Ingegneria del Software/0120_27/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/0120_27/wrong1.txt b/Ingegneria del Software/0120_27/wrong1.txt new file mode 100644 index 0000000..8856598 --- /dev/null +++ b/Ingegneria del Software/0120_27/wrong1.txt @@ -0,0 +1,17 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_27/wrong2.txt b/Ingegneria del Software/0120_27/wrong2.txt new file mode 100644 index 0000000..2057e11 --- /dev/null +++ b/Ingegneria del Software/0120_27/wrong2.txt @@ -0,0 +1,17 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_28/quest.txt b/Ingegneria del Software/0120_28/quest.txt new file mode 100644 index 0000000..5826ea3 --- /dev/null +++ b/Ingegneria del Software/0120_28/quest.txt @@ -0,0 +1,2 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_28.png +Quale dei seguenti modelli Modelica rappresenta lo state diagram in figura ? \ No newline at end of file diff --git a/Ingegneria del Software/0120_28/wrong1.txt b/Ingegneria del Software/0120_28/wrong1.txt new file mode 100644 index 0000000..bfb3c5d --- /dev/null +++ b/Ingegneria del Software/0120_28/wrong1.txt @@ -0,0 +1,38 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 2; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_28/wrong2.txt b/Ingegneria del Software/0120_28/wrong2.txt new file mode 100644 index 0000000..c5d8c6b --- /dev/null +++ b/Ingegneria del Software/0120_28/wrong2.txt @@ -0,0 +1,33 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 0; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_28/wrong3.txt b/Ingegneria del Software/0120_28/wrong3.txt new file mode 100644 index 0000000..40db007 --- /dev/null +++ b/Ingegneria del Software/0120_28/wrong3.txt @@ -0,0 +1,33 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_29/correct.txt b/Ingegneria del Software/0120_29/correct.txt new file mode 100644 index 0000000..080c618 --- /dev/null +++ b/Ingegneria del Software/0120_29/correct.txt @@ -0,0 +1,15 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_29/quest.txt b/Ingegneria del Software/0120_29/quest.txt new file mode 100644 index 0000000..576af1a --- /dev/null +++ b/Ingegneria del Software/0120_29/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/0120_29/wrong1.txt b/Ingegneria del Software/0120_29/wrong1.txt new file mode 100644 index 0000000..5ea42fe --- /dev/null +++ b/Ingegneria del Software/0120_29/wrong1.txt @@ -0,0 +1,16 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_29/wrong2.txt b/Ingegneria del Software/0120_29/wrong2.txt new file mode 100644 index 0000000..a55c0a4 --- /dev/null +++ b/Ingegneria del Software/0120_29/wrong2.txt @@ -0,0 +1,15 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_3/correct.txt b/Ingegneria del Software/0120_3/correct.txt new file mode 100644 index 0000000..e940faa --- /dev/null +++ b/Ingegneria del Software/0120_3/correct.txt @@ -0,0 +1,5 @@ +int f(in x, int y) +{ +assert( (x >= 0) && (y >= 0) && ((x > 3) || (y > 3)) ); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0120_3/quest.txt b/Ingegneria del Software/0120_3/quest.txt new file mode 100644 index 0000000..2758118 --- /dev/null +++ b/Ingegneria del Software/0120_3/quest.txt @@ -0,0 +1,4 @@ +Pre-condizioni, invarianti e post-condizioni di un programma possono essere definiti usando la macro del C assert() (in ). In particolare, assert(expre) non fa nulla se l'espressione expre vale TRUE (cioè non è 0), stampa un messaggio di errore su stderr e abortisce l'esecuzione del programma altrimenti. +Si consideri la funzione C +int f(int x, int y) { ..... } +Quale delle seguenti assert esprime la pre-condizione che entrambi gli argomenti di f sono non-negativi ed almeno uno di loro è maggiore di 3 ? \ No newline at end of file diff --git a/Ingegneria del Software/0120_3/wrong1.txt b/Ingegneria del Software/0120_3/wrong1.txt new file mode 100644 index 0000000..ad32d88 --- /dev/null +++ b/Ingegneria del Software/0120_3/wrong1.txt @@ -0,0 +1,5 @@ +int f(in x, int y) +{ +assert( (x >= 0) && (y >= 0) && ((x >= 3) || (y >= 3)) ); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0120_3/wrong2.txt b/Ingegneria del Software/0120_3/wrong2.txt new file mode 100644 index 0000000..642ec6b --- /dev/null +++ b/Ingegneria del Software/0120_3/wrong2.txt @@ -0,0 +1,5 @@ +int f(in x, int y) +{ +assert( (x > 0) && (y > 0) && ((x >= 3) || (y > 3)) ); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0120_30/correct.txt b/Ingegneria del Software/0120_30/correct.txt new file mode 100644 index 0000000..a40ea7d --- /dev/null +++ b/Ingegneria del Software/0120_30/correct.txt @@ -0,0 +1 @@ +(a=200, b = 0, c = 1), (a=50, b = 5, c = 0), (a=50, b = 3, c = 0). \ No newline at end of file diff --git a/Ingegneria del Software/0120_30/quest.txt b/Ingegneria del Software/0120_30/quest.txt new file mode 100644 index 0000000..dbd72c0 --- /dev/null +++ b/Ingegneria del Software/0120_30/quest.txt @@ -0,0 +1,22 @@ +Una Condition è una proposizione booleana, cioè una espressione con valore booleano che non può essere decomposta +in espressioni boolean più semplici. Ad esempio, (x + y <= 3) è una condition. + +Una Decision è una espressione booleana composta da conditions e zero o più operatori booleani. Ad esempio, sono decisions: +(x + y <= 3) +((x + y <= 3) || (x - y > 7)) +Un insieme di test cases T soddisfa il criterio di Condition/Decision coverage se tutte le seguenti condizioni sono soddisfatte: + +1) Ciascun punto di entrata ed uscita nel programma è eseguito in almeno un test; +2) Per ogni decision d nel programma, per ogni condition c in d, esiste un test in T in cui c è true ed un test in T in cui c è false. +3) Per ogni decision d nel programma, esiste un test in T in cui d è true ed un test in T in cui d è false. + +Si consideri la seguente funzione: +int f(int a, int b, int c) +{ if ( (a - 100 >= 0) && (b - c - 1 <= 0) ) + return (1); // punto di uscita 1 + else if ((b - c - 1 <= 0) || (b + c - 5 >= 0) +) + then return (2); // punto di uscita 2 + else return (3); // punto di uscita 3 +} + Quale dei seguenti test set soddisfa il criterio della Condition/Decision coverage ? \ No newline at end of file diff --git a/Ingegneria del Software/0120_30/wrong1.txt b/Ingegneria del Software/0120_30/wrong1.txt new file mode 100644 index 0000000..5b77112 --- /dev/null +++ b/Ingegneria del Software/0120_30/wrong1.txt @@ -0,0 +1 @@ +(a=200, b = 0, c = 1), (a=50, b = 5, c = 0), (a=50, b = 0, c = 5). \ No newline at end of file diff --git a/Ingegneria del Software/0120_30/wrong2.txt b/Ingegneria del Software/0120_30/wrong2.txt new file mode 100644 index 0000000..abe0eaa --- /dev/null +++ b/Ingegneria del Software/0120_30/wrong2.txt @@ -0,0 +1 @@ +(a=200, b = 0, c = 1), (a=50, b = 4, c = 0), (a=200, b = 4, c = 0) \ No newline at end of file diff --git a/Ingegneria del Software/0120_31/correct.txt b/Ingegneria del Software/0120_31/correct.txt new file mode 100644 index 0000000..3bb4f54 --- /dev/null +++ b/Ingegneria del Software/0120_31/correct.txt @@ -0,0 +1 @@ +State coverage: 25% \ No newline at end of file diff --git a/Ingegneria del Software/0120_31/quest.txt b/Ingegneria del Software/0120_31/quest.txt new file mode 100644 index 0000000..6c8f77e --- /dev/null +++ b/Ingegneria del Software/0120_31/quest.txt @@ -0,0 +1,11 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_31.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + + + +Si consideri il seguente insieme di test cases: +Test case 1: act1 act0 act0 +Test case 2: act2 act0 act1 +Test case 3: act0 act0 act0 +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0120_31/wrong1.txt b/Ingegneria del Software/0120_31/wrong1.txt new file mode 100644 index 0000000..4e45af2 --- /dev/null +++ b/Ingegneria del Software/0120_31/wrong1.txt @@ -0,0 +1 @@ +State coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0120_31/wrong2.txt b/Ingegneria del Software/0120_31/wrong2.txt new file mode 100644 index 0000000..a8aead7 --- /dev/null +++ b/Ingegneria del Software/0120_31/wrong2.txt @@ -0,0 +1 @@ +State coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0120_32/correct.txt b/Ingegneria del Software/0120_32/correct.txt new file mode 100644 index 0000000..2fd674f --- /dev/null +++ b/Ingegneria del Software/0120_32/correct.txt @@ -0,0 +1 @@ +60% \ No newline at end of file diff --git a/Ingegneria del Software/0120_32/quest.txt b/Ingegneria del Software/0120_32/quest.txt new file mode 100644 index 0000000..dcec721 --- /dev/null +++ b/Ingegneria del Software/0120_32/quest.txt @@ -0,0 +1,8 @@ +Il partition coverage di un insieme di test cases è la percentuale di elementi della partition inclusi nei test cases. La partition è una partizione finita dell'insieme di input della funzione che si sta testando. +Si consideri la seguente funzione C: +int f1(int x) { return (2*x); } +Si vuole testare la funzione f1(). A tal fine l'insieme degli interi viene partizionato come segue: +{(-inf, -11], [-10, -1], {0}, [1, 50], [51, +inf)} +Si consideri il seguente insieme di test cases: +{x=-20, x= 10, x=60} +Quale delle seguenti è la partition coverage conseguita? \ No newline at end of file diff --git a/Ingegneria del Software/0120_32/wrong1.txt b/Ingegneria del Software/0120_32/wrong1.txt new file mode 100644 index 0000000..a2507e5 --- /dev/null +++ b/Ingegneria del Software/0120_32/wrong1.txt @@ -0,0 +1 @@ +80% \ No newline at end of file diff --git a/Ingegneria del Software/0120_32/wrong2.txt b/Ingegneria del Software/0120_32/wrong2.txt new file mode 100644 index 0000000..95bc750 --- /dev/null +++ b/Ingegneria del Software/0120_32/wrong2.txt @@ -0,0 +1 @@ +100% \ No newline at end of file diff --git a/Ingegneria del Software/0120_33/correct.txt b/Ingegneria del Software/0120_33/correct.txt new file mode 100644 index 0000000..a7029bc --- /dev/null +++ b/Ingegneria del Software/0120_33/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/0120_33/quest.txt b/Ingegneria del Software/0120_33/quest.txt new file mode 100644 index 0000000..e5fbc81 --- /dev/null +++ b/Ingegneria del Software/0120_33/quest.txt @@ -0,0 +1,16 @@ +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/0120_33/wrong1.txt b/Ingegneria del Software/0120_33/wrong1.txt new file mode 100644 index 0000000..a82929b --- /dev/null +++ b/Ingegneria del Software/0120_33/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/0120_33/wrong2.txt b/Ingegneria del Software/0120_33/wrong2.txt new file mode 100644 index 0000000..710b111 --- /dev/null +++ b/Ingegneria del Software/0120_33/wrong2.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/0120_34/quest.txt b/Ingegneria del Software/0120_34/quest.txt new file mode 100644 index 0000000..29d0647 --- /dev/null +++ b/Ingegneria del Software/0120_34/quest.txt @@ -0,0 +1,2 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_34.png +Quale dei seguenti modelli Modelica rappresenta lo state diagram in figura ? \ No newline at end of file diff --git a/Ingegneria del Software/0120_34/wrong1.txt b/Ingegneria del Software/0120_34/wrong1.txt new file mode 100644 index 0000000..160702f --- /dev/null +++ b/Ingegneria del Software/0120_34/wrong1.txt @@ -0,0 +1,35 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_34/wrong2.txt b/Ingegneria del Software/0120_34/wrong2.txt new file mode 100644 index 0000000..3c05a37 --- /dev/null +++ b/Ingegneria del Software/0120_34/wrong2.txt @@ -0,0 +1,36 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 0; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_34/wrong3.txt b/Ingegneria del Software/0120_34/wrong3.txt new file mode 100644 index 0000000..bdfb644 --- /dev/null +++ b/Ingegneria del Software/0120_34/wrong3.txt @@ -0,0 +1,37 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_35/quest.txt b/Ingegneria del Software/0120_35/quest.txt new file mode 100644 index 0000000..99379e6 --- /dev/null +++ b/Ingegneria del Software/0120_35/quest.txt @@ -0,0 +1,4 @@ +Pre-condizioni, invarianti e post-condizioni di un programma possono essere definiti usando la macro del C assert() (in ). In particolare, assert(expre) non fa nulla se l'espressione expre vale TRUE (cioè non è 0), stampa un messaggio di errore su stderr e abortisce l'esecuzione del programma altrimenti. +Si consideri la funzione C +int f(int x, int y) { ..... } +Quale delle seguenti assert esprime l'invariante che le variabili locali z e w di f() hanno somma minore di 1 oppure maggiore di 7 ? \ No newline at end of file diff --git a/Ingegneria del Software/0120_35/wrong1.txt b/Ingegneria del Software/0120_35/wrong1.txt new file mode 100644 index 0000000..cbf1814 --- /dev/null +++ b/Ingegneria del Software/0120_35/wrong1.txt @@ -0,0 +1,6 @@ +int f(in x, int y) +{ +int z, w; +assert( (z + w <= 1) || (z + w >= 7)); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0120_35/wrong2.txt b/Ingegneria del Software/0120_35/wrong2.txt new file mode 100644 index 0000000..03b9f52 --- /dev/null +++ b/Ingegneria del Software/0120_35/wrong2.txt @@ -0,0 +1,6 @@ +int f(in x, int y) +{ +int z, w; +assert( (z + w < 1) || (z + w > 7)); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0120_35/wrong3.txt b/Ingegneria del Software/0120_35/wrong3.txt new file mode 100644 index 0000000..6fcb8b5 --- /dev/null +++ b/Ingegneria del Software/0120_35/wrong3.txt @@ -0,0 +1,6 @@ +int f(in x, int y) +{ +int z, w; +assert( (z + w > 1) || (z + w < 7)); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0120_36/correct.txt b/Ingegneria del Software/0120_36/correct.txt new file mode 100644 index 0000000..b110af1 --- /dev/null +++ b/Ingegneria del Software/0120_36/correct.txt @@ -0,0 +1 @@ +Transition coverage: 40% \ No newline at end of file diff --git a/Ingegneria del Software/0120_36/quest.txt b/Ingegneria del Software/0120_36/quest.txt new file mode 100644 index 0000000..6f256c3 --- /dev/null +++ b/Ingegneria del Software/0120_36/quest.txt @@ -0,0 +1,12 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_36.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + +ed il seguente insieme di test cases: +Test case 1: act2 act2 act1 act2 +Test case 2: act0 act2 act0 +Test case 3: act0 act0 act0 act1 act1 + +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0120_36/wrong1.txt b/Ingegneria del Software/0120_36/wrong1.txt new file mode 100644 index 0000000..5464d05 --- /dev/null +++ b/Ingegneria del Software/0120_36/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 30% \ No newline at end of file diff --git a/Ingegneria del Software/0120_36/wrong2.txt b/Ingegneria del Software/0120_36/wrong2.txt new file mode 100644 index 0000000..cf27703 --- /dev/null +++ b/Ingegneria del Software/0120_36/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 70% \ No newline at end of file diff --git a/Ingegneria del Software/0120_37/correct.txt b/Ingegneria del Software/0120_37/correct.txt new file mode 100644 index 0000000..bc5692f --- /dev/null +++ b/Ingegneria del Software/0120_37/correct.txt @@ -0,0 +1 @@ +State coverage: 87% \ No newline at end of file diff --git a/Ingegneria del Software/0120_37/quest.txt b/Ingegneria del Software/0120_37/quest.txt new file mode 100644 index 0000000..cdbc688 --- /dev/null +++ b/Ingegneria del Software/0120_37/quest.txt @@ -0,0 +1,13 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_37.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + + + +Si consideri il seguente insieme di test cases: + +Test case 1: act2 act1 act2 act2 +Test case 2: act2 act0 act2 act0 act2 +Test case 3: act2 act0 act2 act0 act1 + +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0120_37/wrong1.txt b/Ingegneria del Software/0120_37/wrong1.txt new file mode 100644 index 0000000..4e45af2 --- /dev/null +++ b/Ingegneria del Software/0120_37/wrong1.txt @@ -0,0 +1 @@ +State coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0120_37/wrong2.txt b/Ingegneria del Software/0120_37/wrong2.txt new file mode 100644 index 0000000..d4625fd --- /dev/null +++ b/Ingegneria del Software/0120_37/wrong2.txt @@ -0,0 +1 @@ +State coverage: 100% \ No newline at end of file diff --git a/Ingegneria del Software/0120_38/correct.txt b/Ingegneria del Software/0120_38/correct.txt new file mode 100644 index 0000000..25ac15c --- /dev/null +++ b/Ingegneria del Software/0120_38/correct.txt @@ -0,0 +1,17 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_38/quest.txt b/Ingegneria del Software/0120_38/quest.txt new file mode 100644 index 0000000..b420aaf --- /dev/null +++ b/Ingegneria del Software/0120_38/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/0120_38/wrong1.txt b/Ingegneria del Software/0120_38/wrong1.txt new file mode 100644 index 0000000..157567e --- /dev/null +++ b/Ingegneria del Software/0120_38/wrong1.txt @@ -0,0 +1,17 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_38/wrong2.txt b/Ingegneria del Software/0120_38/wrong2.txt new file mode 100644 index 0000000..d021c3b --- /dev/null +++ b/Ingegneria del Software/0120_38/wrong2.txt @@ -0,0 +1,17 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_39/quest.txt b/Ingegneria del Software/0120_39/quest.txt new file mode 100644 index 0000000..4777dbc --- /dev/null +++ b/Ingegneria del Software/0120_39/quest.txt @@ -0,0 +1,35 @@ +Si consideri il seguente modello Modelica. Quale dei seguenti UML state diagram lo rappresenta correttamente ? +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 2; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_39/wrong1.txt b/Ingegneria del Software/0120_39/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0120_39/wrong2.txt b/Ingegneria del Software/0120_39/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0120_39/wrong3.txt b/Ingegneria del Software/0120_39/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0120_4/correct.txt b/Ingegneria del Software/0120_4/correct.txt new file mode 100644 index 0000000..ddb0d65 --- /dev/null +++ b/Ingegneria del Software/0120_4/correct.txt @@ -0,0 +1 @@ +La variabile x è nell'intervallo [0, 5]. \ No newline at end of file diff --git a/Ingegneria del Software/0120_4/quest.txt b/Ingegneria del Software/0120_4/quest.txt new file mode 100644 index 0000000..d1cf8cb --- /dev/null +++ b/Ingegneria del Software/0120_4/quest.txt @@ -0,0 +1,16 @@ +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/0120_4/wrong1.txt b/Ingegneria del Software/0120_4/wrong1.txt new file mode 100644 index 0000000..3e05ae7 --- /dev/null +++ b/Ingegneria del Software/0120_4/wrong1.txt @@ -0,0 +1 @@ +La variabile x è fuori dall'intervallo [0, 5]. \ No newline at end of file diff --git a/Ingegneria del Software/0120_4/wrong2.txt b/Ingegneria del Software/0120_4/wrong2.txt new file mode 100644 index 0000000..7c7a691 --- /dev/null +++ b/Ingegneria del Software/0120_4/wrong2.txt @@ -0,0 +1 @@ +La variable x è minore di 0. \ No newline at end of file diff --git a/Ingegneria del Software/0120_40/correct.txt b/Ingegneria del Software/0120_40/correct.txt new file mode 100644 index 0000000..31a01d5 --- /dev/null +++ b/Ingegneria del Software/0120_40/correct.txt @@ -0,0 +1 @@ +Test set: {x=3, y=6}, {x=0, y=0}, {x=15, y=0}, {x=9, y=0}. \ No newline at end of file diff --git a/Ingegneria del Software/0120_40/quest.txt b/Ingegneria del Software/0120_40/quest.txt new file mode 100644 index 0000000..74a4d32 --- /dev/null +++ b/Ingegneria del Software/0120_40/quest.txt @@ -0,0 +1,8 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { + if (x - y - 6 <= 0) { if (x + y - 3 >= 0) return (1); else return (2); } + else {if (x + 2*y -15 >= 0) return (3); else return (4); } + } /* f() */ +Quale dei seguenti test sets consegue una branch coverage del 100% ? \ No newline at end of file diff --git a/Ingegneria del Software/0120_40/wrong1.txt b/Ingegneria del Software/0120_40/wrong1.txt new file mode 100644 index 0000000..549dba8 --- /dev/null +++ b/Ingegneria del Software/0120_40/wrong1.txt @@ -0,0 +1 @@ +Test set: {x=3, y=6}, {x=0, y=0}, {x=15, y=0}, {x=10, y=3}. \ No newline at end of file diff --git a/Ingegneria del Software/0120_40/wrong2.txt b/Ingegneria del Software/0120_40/wrong2.txt new file mode 100644 index 0000000..0c564f7 --- /dev/null +++ b/Ingegneria del Software/0120_40/wrong2.txt @@ -0,0 +1 @@ +Test set: {x=3, y=6}, {x=2, y=1}, {x=15, y=0}, {x=9, y=0}. \ No newline at end of file diff --git a/Ingegneria del Software/0120_41/correct.txt b/Ingegneria del Software/0120_41/correct.txt new file mode 100644 index 0000000..7a6c6b9 --- /dev/null +++ b/Ingegneria del Software/0120_41/correct.txt @@ -0,0 +1 @@ +300000 EUR \ No newline at end of file diff --git a/Ingegneria del Software/0120_41/quest.txt b/Ingegneria del Software/0120_41/quest.txt new file mode 100644 index 0000000..47201e7 --- /dev/null +++ b/Ingegneria del Software/0120_41/quest.txt @@ -0,0 +1,4 @@ +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 = 10^{(-b*S)} (cioè 10 elevato alla (-b*S)) +dove b è una opportuna costante note da dati storici aziendali. Si assuma che b = 0.0001, C = 1000000, ed il rischio ammesso è R = 1000. Quale dei seguenti valori meglio approssima il costo S per lo sviluppo del software in questione. \ No newline at end of file diff --git a/Ingegneria del Software/0120_41/wrong1.txt b/Ingegneria del Software/0120_41/wrong1.txt new file mode 100644 index 0000000..997967b --- /dev/null +++ b/Ingegneria del Software/0120_41/wrong1.txt @@ -0,0 +1 @@ +700000 EUR \ No newline at end of file diff --git a/Ingegneria del Software/0120_41/wrong2.txt b/Ingegneria del Software/0120_41/wrong2.txt new file mode 100644 index 0000000..2df501e --- /dev/null +++ b/Ingegneria del Software/0120_41/wrong2.txt @@ -0,0 +1 @@ +500000 EUR \ No newline at end of file diff --git a/Ingegneria del Software/0120_42/correct.txt b/Ingegneria del Software/0120_42/correct.txt new file mode 100644 index 0000000..f6a4b07 --- /dev/null +++ b/Ingegneria del Software/0120_42/correct.txt @@ -0,0 +1 @@ +State coverage: 90% \ No newline at end of file diff --git a/Ingegneria del Software/0120_42/quest.txt b/Ingegneria del Software/0120_42/quest.txt new file mode 100644 index 0000000..4650bbb --- /dev/null +++ b/Ingegneria del Software/0120_42/quest.txt @@ -0,0 +1,11 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_42.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + + + +Si consideri il seguente insieme di test cases: +Test case 1: act1 act2 act1 act2 act2 +Test case 2: act2 act0 +Test case 3: act0 act0 act0 +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0120_42/wrong1.txt b/Ingegneria del Software/0120_42/wrong1.txt new file mode 100644 index 0000000..1c07658 --- /dev/null +++ b/Ingegneria del Software/0120_42/wrong1.txt @@ -0,0 +1 @@ +State coverage: 70% \ No newline at end of file diff --git a/Ingegneria del Software/0120_42/wrong2.txt b/Ingegneria del Software/0120_42/wrong2.txt new file mode 100644 index 0000000..4e45af2 --- /dev/null +++ b/Ingegneria del Software/0120_42/wrong2.txt @@ -0,0 +1 @@ +State coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0120_43/quest.txt b/Ingegneria del Software/0120_43/quest.txt new file mode 100644 index 0000000..8636c5a --- /dev/null +++ b/Ingegneria del Software/0120_43/quest.txt @@ -0,0 +1,2 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_43.png +Quale dei seguenti modelli Modelica rappresenta lo state diagram in figura ? \ No newline at end of file diff --git a/Ingegneria del Software/0120_43/wrong1.txt b/Ingegneria del Software/0120_43/wrong1.txt new file mode 100644 index 0000000..0ca6415 --- /dev/null +++ b/Ingegneria del Software/0120_43/wrong1.txt @@ -0,0 +1,32 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_43/wrong2.txt b/Ingegneria del Software/0120_43/wrong2.txt new file mode 100644 index 0000000..a5879aa --- /dev/null +++ b/Ingegneria del Software/0120_43/wrong2.txt @@ -0,0 +1,36 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 0; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_43/wrong3.txt b/Ingegneria del Software/0120_43/wrong3.txt new file mode 100644 index 0000000..b4f56fb --- /dev/null +++ b/Ingegneria del Software/0120_43/wrong3.txt @@ -0,0 +1,36 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 0; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_44/correct.txt b/Ingegneria del Software/0120_44/correct.txt new file mode 100644 index 0000000..232aedf --- /dev/null +++ b/Ingegneria del Software/0120_44/correct.txt @@ -0,0 +1 @@ +(a = 6, b = 0, c = 1), (a = 0, b = 5, c = 0), (a = 0, b = 3, c = 0). \ No newline at end of file diff --git a/Ingegneria del Software/0120_44/quest.txt b/Ingegneria del Software/0120_44/quest.txt new file mode 100644 index 0000000..e44e320 --- /dev/null +++ b/Ingegneria del Software/0120_44/quest.txt @@ -0,0 +1,21 @@ +Una Condition è una proposizione booleana, cioè una espressione con valore booleano che non può essere decomposta +in espressioni boolean più semplici. Ad esempio, (x + y <= 3) è una condition. + +Una Decision è una espressione booleana composta da conditions e zero o più operatori booleani. Ad esempio, sono decisions: +(x + y <= 3) +((x + y <= 3) || (x - y > 7)) +Un insieme di test cases T soddisfa il criterio di Condition/Decision coverage se tutte le seguenti condizioni sono soddisfatte: + +1) Ciascun punto di entrata ed uscita nel programma è eseguito in almeno un test; +2) Per ogni decision d nel programma, per ogni condition c in d, esiste un test in T in cui c è true ed un test in T in cui c è false. +3) Per ogni decision d nel programma, esiste un test in T in cui d è true ed un test in T in cui d è false. + +Si consideri la seguente funzione: +int f(int a, int b, int c) +{ if ( (a + b - 6 >= 0) && (b - c - 1 <= 0) ) + return (1); // punto di uscita 1 + else if ((b - c - 1 <= 0) || (b + c - 5 >= 0)) + then return (2); // punto di uscita 2 + else return (3); // punto di uscita 3 +} + Quale dei seguenti test set soddisfa il criterio della Condition/Decision coverage ? \ No newline at end of file diff --git a/Ingegneria del Software/0120_44/wrong1.txt b/Ingegneria del Software/0120_44/wrong1.txt new file mode 100644 index 0000000..5d5c9a4 --- /dev/null +++ b/Ingegneria del Software/0120_44/wrong1.txt @@ -0,0 +1 @@ +(a = 6, b = 0, c = 1), (a = 0, b = 5, c = 0), (a = 0, b = 3, c = 2). \ No newline at end of file diff --git a/Ingegneria del Software/0120_44/wrong2.txt b/Ingegneria del Software/0120_44/wrong2.txt new file mode 100644 index 0000000..2b6c292 --- /dev/null +++ b/Ingegneria del Software/0120_44/wrong2.txt @@ -0,0 +1 @@ +(a = 5, b = 0, c = 1), (a = 0, b = 5, c = 0), (a = 0, b = 3, c = 0). \ No newline at end of file diff --git a/Ingegneria del Software/0120_45/quest.txt b/Ingegneria del Software/0120_45/quest.txt new file mode 100644 index 0000000..4818a62 --- /dev/null +++ b/Ingegneria del Software/0120_45/quest.txt @@ -0,0 +1,35 @@ +Si consideri il seguente modello Modelica. Quale dei seguenti UML state diagram lo rappresenta correttamente ? +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 0; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_45/wrong1.txt b/Ingegneria del Software/0120_45/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0120_45/wrong2.txt b/Ingegneria del Software/0120_45/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0120_45/wrong3.txt b/Ingegneria del Software/0120_45/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0120_46/correct.txt b/Ingegneria del Software/0120_46/correct.txt new file mode 100644 index 0000000..3fb437d --- /dev/null +++ b/Ingegneria del Software/0120_46/correct.txt @@ -0,0 +1 @@ +0.56 \ No newline at end of file diff --git a/Ingegneria del Software/0120_46/quest.txt b/Ingegneria del Software/0120_46/quest.txt new file mode 100644 index 0000000..6205846 --- /dev/null +++ b/Ingegneria del Software/0120_46/quest.txt @@ -0,0 +1,9 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_46.png +Un processo software può essere rappesentato con uno state diagram in cui gli stati rappresentano le fasi (e loro iterazioni) del prcoesso software e gli archi le transizioni da una fase all'altra. Gli archi sono etichettati con le probabilità della transizione e gli stati sono etichettati con il costo per lasciare lo stato. +Ad esempio lo state diagram in figura + + + +Rappresenta un processo software con 2 fasi F1 ed F2. F1 ha costo 10000 EUR ed F2 ha costo 1000 EUR. F1 ha una probabilita dello 0.3 di dover essere ripetuta (a causa di errori) ed F2 ha una probabilità 0.2 di dover essere ripetuta (a causa di errori). +Uno scenario è una sequenza di stati. +Qual'e' la probabilità dello scenario: 1, 3 ? In altri terminti, qual'è la probabilità che non sia necessario ripetere nessuna fase? \ No newline at end of file diff --git a/Ingegneria del Software/0120_46/wrong1.txt b/Ingegneria del Software/0120_46/wrong1.txt new file mode 100644 index 0000000..c64601b --- /dev/null +++ b/Ingegneria del Software/0120_46/wrong1.txt @@ -0,0 +1 @@ +0.14 \ No newline at end of file diff --git a/Ingegneria del Software/0120_46/wrong2.txt b/Ingegneria del Software/0120_46/wrong2.txt new file mode 100644 index 0000000..fc54e00 --- /dev/null +++ b/Ingegneria del Software/0120_46/wrong2.txt @@ -0,0 +1 @@ +0.24 \ No newline at end of file diff --git a/Ingegneria del Software/0120_47/correct.txt b/Ingegneria del Software/0120_47/correct.txt new file mode 100644 index 0000000..eb23d05 --- /dev/null +++ b/Ingegneria del Software/0120_47/correct.txt @@ -0,0 +1 @@ +Assicurarsi che non ci siano requisiti in conflitto con altri requisiti. \ No newline at end of file diff --git a/Ingegneria del Software/0120_47/quest.txt b/Ingegneria del Software/0120_47/quest.txt new file mode 100644 index 0000000..7710e8f --- /dev/null +++ b/Ingegneria del Software/0120_47/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive l'obiettivo del "check di consistenza" che è parte della "requirements validation activity". \ No newline at end of file diff --git a/Ingegneria del Software/0120_47/wrong1.txt b/Ingegneria del Software/0120_47/wrong1.txt new file mode 100644 index 0000000..9e12d11 --- /dev/null +++ b/Ingegneria del Software/0120_47/wrong1.txt @@ -0,0 +1 @@ +Assicurarsi che per ogni requisito esista un insieme di test che lo possa verificare. \ No newline at end of file diff --git a/Ingegneria del Software/0120_47/wrong2.txt b/Ingegneria del Software/0120_47/wrong2.txt new file mode 100644 index 0000000..32c628c --- /dev/null +++ b/Ingegneria del Software/0120_47/wrong2.txt @@ -0,0 +1 @@ +Assicurarsi che i requisiti funzionali descrivano tutte le funzionalità del sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0120_48/correct.txt b/Ingegneria del Software/0120_48/correct.txt new file mode 100644 index 0000000..519c7fd --- /dev/null +++ b/Ingegneria del Software/0120_48/correct.txt @@ -0,0 +1,17 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_48/quest.txt b/Ingegneria del Software/0120_48/quest.txt new file mode 100644 index 0000000..22c683f --- /dev/null +++ b/Ingegneria del Software/0120_48/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/0120_48/wrong1.txt b/Ingegneria del Software/0120_48/wrong1.txt new file mode 100644 index 0000000..5229f7e --- /dev/null +++ b/Ingegneria del Software/0120_48/wrong1.txt @@ -0,0 +1,17 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_48/wrong2.txt b/Ingegneria del Software/0120_48/wrong2.txt new file mode 100644 index 0000000..c2e617d --- /dev/null +++ b/Ingegneria del Software/0120_48/wrong2.txt @@ -0,0 +1,17 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_49/correct.txt b/Ingegneria del Software/0120_49/correct.txt new file mode 100644 index 0000000..2a2ecea --- /dev/null +++ b/Ingegneria del Software/0120_49/correct.txt @@ -0,0 +1 @@ +time(0)/(1 - p) \ No newline at end of file diff --git a/Ingegneria del Software/0120_49/quest.txt b/Ingegneria del Software/0120_49/quest.txt new file mode 100644 index 0000000..2d6940a --- /dev/null +++ b/Ingegneria del Software/0120_49/quest.txt @@ -0,0 +1,6 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_49.png +Si consideri il processo software con due fasi (0 ed 1) rappresentato con la Markov chain in figura. Lo stato iniziale 0 e p è in (0, 1). Il tempo necessario per completare la fase x è time(x). La fase 0 è la fase di design, che ha probabilità p di dover essere ripetuta causa errori. La fase 1 rappreenta il completamento del processo software, e quindi time(1) = 0. +Il tempo di una istanza del processo software descritto sopra è la somma dei tempi degli stati (fasi) attraversati (tenendo presente che si parte sempre dallo stato 0. +Quindi il costo Time(X) della sequenza di stati X = x(0), x(1), x(2), .... è Time(X) = time(x(0)) + time(x(1)) + time(x(2)) + ... +Ad esempio se X = 0, 1 abbiamo Time(X) = time(0) + time(1) = time(0) (poichè time(1) = 0). +Quale delle seguenti formule calcola il valore atteso del costo per completare il processo software di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0120_49/wrong1.txt b/Ingegneria del Software/0120_49/wrong1.txt new file mode 100644 index 0000000..d68fd15 --- /dev/null +++ b/Ingegneria del Software/0120_49/wrong1.txt @@ -0,0 +1 @@ +time(0)*(1 - p)/p \ No newline at end of file diff --git a/Ingegneria del Software/0120_49/wrong2.txt b/Ingegneria del Software/0120_49/wrong2.txt new file mode 100644 index 0000000..9927a93 --- /dev/null +++ b/Ingegneria del Software/0120_49/wrong2.txt @@ -0,0 +1 @@ +time(0)/(p*(1 - p)) \ No newline at end of file diff --git a/Ingegneria del Software/0120_5/quest.txt b/Ingegneria del Software/0120_5/quest.txt new file mode 100644 index 0000000..3e68301 --- /dev/null +++ b/Ingegneria del Software/0120_5/quest.txt @@ -0,0 +1,2 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_5.png +Quale dei seguenti modelli Modelica rappresenta lo state diagram in figura ? \ No newline at end of file diff --git a/Ingegneria del Software/0120_5/wrong1.txt b/Ingegneria del Software/0120_5/wrong1.txt new file mode 100644 index 0000000..6c46c45 --- /dev/null +++ b/Ingegneria del Software/0120_5/wrong1.txt @@ -0,0 +1,35 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_5/wrong2.txt b/Ingegneria del Software/0120_5/wrong2.txt new file mode 100644 index 0000000..39e7bfc --- /dev/null +++ b/Ingegneria del Software/0120_5/wrong2.txt @@ -0,0 +1,37 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 0; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_5/wrong3.txt b/Ingegneria del Software/0120_5/wrong3.txt new file mode 100644 index 0000000..93e29a3 --- /dev/null +++ b/Ingegneria del Software/0120_5/wrong3.txt @@ -0,0 +1,28 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 0; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0120_6/correct.txt b/Ingegneria del Software/0120_6/correct.txt new file mode 100644 index 0000000..7c149d8 --- /dev/null +++ b/Ingegneria del Software/0120_6/correct.txt @@ -0,0 +1 @@ +Assicurarsi che i requisisti descrivano tutte le funzionalità e vincoli (e.g., security, performance) del sistema desiderato dal customer. \ No newline at end of file diff --git a/Ingegneria del Software/0120_6/quest.txt b/Ingegneria del Software/0120_6/quest.txt new file mode 100644 index 0000000..8bba4b8 --- /dev/null +++ b/Ingegneria del Software/0120_6/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive l'obiettivo del "check di completezza" che è parte della "requirements validation activity". \ No newline at end of file diff --git a/Ingegneria del Software/0120_6/wrong1.txt b/Ingegneria del Software/0120_6/wrong1.txt new file mode 100644 index 0000000..32c628c --- /dev/null +++ b/Ingegneria del Software/0120_6/wrong1.txt @@ -0,0 +1 @@ +Assicurarsi che i requisiti funzionali descrivano tutte le funzionalità del sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0120_6/wrong2.txt b/Ingegneria del Software/0120_6/wrong2.txt new file mode 100644 index 0000000..3461684 --- /dev/null +++ b/Ingegneria del Software/0120_6/wrong2.txt @@ -0,0 +1 @@ +Assicurarsi che per ogni requisito sia stato implementato nel sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0120_7/correct.txt b/Ingegneria del Software/0120_7/correct.txt new file mode 100644 index 0000000..b559d4a --- /dev/null +++ b/Ingegneria del Software/0120_7/correct.txt @@ -0,0 +1,15 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_7/quest.txt b/Ingegneria del Software/0120_7/quest.txt new file mode 100644 index 0000000..031c331 --- /dev/null +++ b/Ingegneria del Software/0120_7/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/0120_7/wrong1.txt b/Ingegneria del Software/0120_7/wrong1.txt new file mode 100644 index 0000000..4b8db59 --- /dev/null +++ b/Ingegneria del Software/0120_7/wrong1.txt @@ -0,0 +1,15 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_7/wrong2.txt b/Ingegneria del Software/0120_7/wrong2.txt new file mode 100644 index 0000000..05ce544 --- /dev/null +++ b/Ingegneria del Software/0120_7/wrong2.txt @@ -0,0 +1,15 @@ +
+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;
+
diff --git a/Ingegneria del Software/0120_8/correct.txt b/Ingegneria del Software/0120_8/correct.txt new file mode 100644 index 0000000..d4625fd --- /dev/null +++ b/Ingegneria del Software/0120_8/correct.txt @@ -0,0 +1 @@ +State coverage: 100% \ No newline at end of file diff --git a/Ingegneria del Software/0120_8/quest.txt b/Ingegneria del Software/0120_8/quest.txt new file mode 100644 index 0000000..2809138 --- /dev/null +++ b/Ingegneria del Software/0120_8/quest.txt @@ -0,0 +1,11 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_8.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + + + +Si consideri il seguente insieme di test cases: +Test case 1: act1 act0 act1 act0 act2 +Test case 2: act0 act2 act2 act0 act1 +Test case 3: act0 act0 +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0120_8/wrong1.txt b/Ingegneria del Software/0120_8/wrong1.txt new file mode 100644 index 0000000..1a8a508 --- /dev/null +++ b/Ingegneria del Software/0120_8/wrong1.txt @@ -0,0 +1 @@ +State coverage: 50% \ No newline at end of file diff --git a/Ingegneria del Software/0120_8/wrong2.txt b/Ingegneria del Software/0120_8/wrong2.txt new file mode 100644 index 0000000..a8aead7 --- /dev/null +++ b/Ingegneria del Software/0120_8/wrong2.txt @@ -0,0 +1 @@ +State coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0120_9/correct.txt b/Ingegneria del Software/0120_9/correct.txt new file mode 100644 index 0000000..ce9968f --- /dev/null +++ b/Ingegneria del Software/0120_9/correct.txt @@ -0,0 +1 @@ +0.28 \ No newline at end of file diff --git a/Ingegneria del Software/0120_9/quest.txt b/Ingegneria del Software/0120_9/quest.txt new file mode 100644 index 0000000..4962ecf --- /dev/null +++ b/Ingegneria del Software/0120_9/quest.txt @@ -0,0 +1,9 @@ +img=https://unspectacular-subdi.000webhostapp.com/0120_domanda_9.png +Un processo software può essere rappesentato con uno state diagram in cui gli stati rappresentano le fasi (e loro iterazioni) del processo software e gli archi le transizioni da una fase all'altra. Gli archi sono etichettati con le probabilità della transizione e gli stati sono etichettati con il costo per lasciare lo stato. +Ad esempio lo state diagram in figura + + + +Rappresenta un processo software con 2 fasi F1 ed F2. F1 ha costo 10000 EUR ed F2 ha costo 1000 EUR. F1 ha una probabilita dello 0.4 di dover essere ripetuta (a causa di errori) ed F2 ha una probabilità 0.3 di dover essere ripetuta (a causa di errori). +Uno scenario è una sequenza di stati. +Qual'e' la probabilità dello scenario: 1, 2, 3? In altri terminti, qual'è la probabilità che non sia necessario ripetere la prima fase (ma non la seconda) ? \ No newline at end of file diff --git a/Ingegneria del Software/0120_9/wrong1.txt b/Ingegneria del Software/0120_9/wrong1.txt new file mode 100644 index 0000000..e8f9017 --- /dev/null +++ b/Ingegneria del Software/0120_9/wrong1.txt @@ -0,0 +1 @@ +0.42 \ No newline at end of file diff --git a/Ingegneria del Software/0120_9/wrong2.txt b/Ingegneria del Software/0120_9/wrong2.txt new file mode 100644 index 0000000..f2bb2d0 --- /dev/null +++ b/Ingegneria del Software/0120_9/wrong2.txt @@ -0,0 +1 @@ +0.12 \ No newline at end of file diff --git a/Ingegneria del Software/0210_0/correct.txt b/Ingegneria del Software/0210_0/correct.txt new file mode 100644 index 0000000..a40ea7d --- /dev/null +++ b/Ingegneria del Software/0210_0/correct.txt @@ -0,0 +1 @@ +(a=200, b = 0, c = 1), (a=50, b = 5, c = 0), (a=50, b = 3, c = 0). \ No newline at end of file diff --git a/Ingegneria del Software/0210_0/quest.txt b/Ingegneria del Software/0210_0/quest.txt new file mode 100644 index 0000000..2d895ca --- /dev/null +++ b/Ingegneria del Software/0210_0/quest.txt @@ -0,0 +1,22 @@ +Una Condition è una proposizione booleana, cioè una espressione con valore booleano che non può essere decomposta +in espressioni boolean più semplici. Ad esempio, (x + y <= 3) è una condition. + +Una Decision è una espressione booleana composta da conditions e zero o più operatori booleani. Ad esempio, sono decisions: +(x + y <= 3) +((x + y <= 3) || (x - y > 7)) +Un insieme di test cases T soddisfa il criterio di Condition/Decision coverage se tutte le seguenti condizioni sono soddisfatte: + +1) Ciascun punto di entrata ed uscita nel programma è eseguito in almeno un test; +2) Per ogni decision d nel programma, per ogni condition c in d, esiste un test in T in cui c è true ed un test in T in cui c è false. +3) Per ogni decision d nel programma, esiste un test in T in cui d è true ed un test in T in cui d è false. + +Si consideri la seguente funzione: +int f(int a, int b, int c) +{ if ( (a >= 100) && (b - c <= 1) ) + return (1); // punto di uscita 1 + else if ((b - c <= 1) || (b + c >= 5) +) + then return (2); // punto di uscita 2 + else return (3); // punto di uscita 3 +} + Quale dei seguenti test set soddisfa il criterio della Condition/Decision coverage ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_0/wrong1.txt b/Ingegneria del Software/0210_0/wrong1.txt new file mode 100644 index 0000000..abe0eaa --- /dev/null +++ b/Ingegneria del Software/0210_0/wrong1.txt @@ -0,0 +1 @@ +(a=200, b = 0, c = 1), (a=50, b = 4, c = 0), (a=200, b = 4, c = 0) \ No newline at end of file diff --git a/Ingegneria del Software/0210_0/wrong2.txt b/Ingegneria del Software/0210_0/wrong2.txt new file mode 100644 index 0000000..5b77112 --- /dev/null +++ b/Ingegneria del Software/0210_0/wrong2.txt @@ -0,0 +1 @@ +(a=200, b = 0, c = 1), (a=50, b = 5, c = 0), (a=50, b = 0, c = 5). \ No newline at end of file diff --git a/Ingegneria del Software/0210_1/quest.txt b/Ingegneria del Software/0210_1/quest.txt new file mode 100644 index 0000000..89110fc --- /dev/null +++ b/Ingegneria del Software/0210_1/quest.txt @@ -0,0 +1,5 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_1.png +Si consideri la seguente architettura software: + + +Quale dei seguenti modelli Modelica meglio la rappresenta ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_1/wrong1.txt b/Ingegneria del Software/0210_1/wrong1.txt new file mode 100644 index 0000000..0487745 --- /dev/null +++ b/Ingegneria del Software/0210_1/wrong1.txt @@ -0,0 +1,6 @@ +block SysArch; +SC1 sc1 +SC2 sc2; +SC3 sc3; +SC4 sc4; +connect(sc1.input4, sc \ No newline at end of file diff --git a/Ingegneria del Software/0210_1/wrong2.txt b/Ingegneria del Software/0210_1/wrong2.txt new file mode 100644 index 0000000..6b9f4b0 --- /dev/null +++ b/Ingegneria del Software/0210_1/wrong2.txt @@ -0,0 +1,3 @@ +output4); +connect(sc1.output4, sc2.input4); +connect(sc1.input5, sc \ No newline at end of file diff --git a/Ingegneria del Software/0210_1/wrong3.txt b/Ingegneria del Software/0210_1/wrong3.txt new file mode 100644 index 0000000..bf32c35 --- /dev/null +++ b/Ingegneria del Software/0210_1/wrong3.txt @@ -0,0 +1,40 @@ +output5); +connect(sc1.output5, sc3.input5); +connect(sc1.input6, sc4.output6); +connect(sc1.output6, sc4.input6); +connect(sc2.input1, sc3.output1); +connect(sc3.input2, sc4.output2); +connect(sc4.input3, sc2.ouput3); +end SysArch +2. +block SysArch; +SC1 sc1 +SC2 sc2; +SC3 sc3; +SC4 sc4; +connect(sc1.input4, sc2.output4); +connect(sc1.output4, sc2.input4); +connect(sc1.input5, sc3.output5); +connect(sc1.output5, sc3.input5); +connect(sc1.input6, sc4.output6); +connect(sc1.output6, sc4.input6); +connect(sc2.input1, sc3.output1); +connect(sc3.input2, sc4.output2); +connect(sc4.output3, sc2.input3); +end SysArch +3. +block SysArch; +SC1 sc1 +SC2 sc2; +SC3 sc3; +SC4 sc4; +connect(sc1.input4, sc2.output4); +connect(sc1.output4, sc2.input4); +connect(sc1.input5, sc3.output5); +connect(sc1.output5, sc3.input5); +connect(sc1.input6, sc4.output6); +connect(sc1.output6, sc4.input6); +connect(sc2.output1, sc3.input1); +connect(sc3.output2, sc4.input2); +connect(sc4.output3, sc2.input3); +end SysArch \ No newline at end of file diff --git a/Ingegneria del Software/0210_10/correct.txt b/Ingegneria del Software/0210_10/correct.txt new file mode 100644 index 0000000..ddb0d65 --- /dev/null +++ b/Ingegneria del Software/0210_10/correct.txt @@ -0,0 +1 @@ +La variabile x è nell'intervallo [0, 5]. \ No newline at end of file diff --git a/Ingegneria del Software/0210_10/quest.txt b/Ingegneria del Software/0210_10/quest.txt new file mode 100644 index 0000000..d1cf8cb --- /dev/null +++ b/Ingegneria del Software/0210_10/quest.txt @@ -0,0 +1,16 @@ +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/0210_10/wrong1.txt b/Ingegneria del Software/0210_10/wrong1.txt new file mode 100644 index 0000000..7c7a691 --- /dev/null +++ b/Ingegneria del Software/0210_10/wrong1.txt @@ -0,0 +1 @@ +La variable x è minore di 0. \ No newline at end of file diff --git a/Ingegneria del Software/0210_10/wrong2.txt b/Ingegneria del Software/0210_10/wrong2.txt new file mode 100644 index 0000000..3e05ae7 --- /dev/null +++ b/Ingegneria del Software/0210_10/wrong2.txt @@ -0,0 +1 @@ +La variabile x è fuori dall'intervallo [0, 5]. \ No newline at end of file diff --git a/Ingegneria del Software/0210_11/quest.txt b/Ingegneria del Software/0210_11/quest.txt new file mode 100644 index 0000000..57dc789 --- /dev/null +++ b/Ingegneria del Software/0210_11/quest.txt @@ -0,0 +1,4 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_11.png +Si consideri la seguente architettura software: + +Quale dei seguneti modelli Modelica meglio la rappresenta. \ No newline at end of file diff --git a/Ingegneria del Software/0210_11/wrong1.txt b/Ingegneria del Software/0210_11/wrong1.txt new file mode 100644 index 0000000..157d205 --- /dev/null +++ b/Ingegneria del Software/0210_11/wrong1.txt @@ -0,0 +1,9 @@ +block SysArch +OS os_c; +WS ws_c; +WB wb_c; +connect(os_c.input1, ws_c.output1); +connect(os_c.output1, ws_c.input1); +connect(wb_c.input2, ws_c.output2); +connect(wb_c.output2, ws_c.input2); +end SysArch \ No newline at end of file diff --git a/Ingegneria del Software/0210_11/wrong2.txt b/Ingegneria del Software/0210_11/wrong2.txt new file mode 100644 index 0000000..04886bb --- /dev/null +++ b/Ingegneria del Software/0210_11/wrong2.txt @@ -0,0 +1,9 @@ +block SysArch +OS os_c; +WS ws_c; +WB wb_c; +connect(os_c.input1, wb_c.output1); +connect(os_c.output1, wb_c.input1); +connect(wb_c.input2, ws_c.output2); +connect(wb_c.output2, ws_c.input2); +end SysArch \ No newline at end of file diff --git a/Ingegneria del Software/0210_11/wrong3.txt b/Ingegneria del Software/0210_11/wrong3.txt new file mode 100644 index 0000000..903ba76 --- /dev/null +++ b/Ingegneria del Software/0210_11/wrong3.txt @@ -0,0 +1,9 @@ +block SysArch +OS os_c; +WS ws_c; +WB wb_c; +connect(os_c.input1, ws_c.output1); +connect(os_c.output1, ws_c.input1); +connect(wb_c.input2, os_c.output2); +connect(wb_c.output2, os_c.input2); +end SysArch \ No newline at end of file diff --git a/Ingegneria del Software/0210_12/quest.txt b/Ingegneria del Software/0210_12/quest.txt new file mode 100644 index 0000000..86ee3d4 --- /dev/null +++ b/Ingegneria del Software/0210_12/quest.txt @@ -0,0 +1,2 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_12.png +Quale dei seguenti modelli Modelica rappresenta lo state diagram in figura ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_12/wrong1.txt b/Ingegneria del Software/0210_12/wrong1.txt new file mode 100644 index 0000000..c7f67fe --- /dev/null +++ b/Ingegneria del Software/0210_12/wrong1.txt @@ -0,0 +1,38 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0210_12/wrong2.txt b/Ingegneria del Software/0210_12/wrong2.txt new file mode 100644 index 0000000..b84dfd6 --- /dev/null +++ b/Ingegneria del Software/0210_12/wrong2.txt @@ -0,0 +1,35 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 3; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0210_12/wrong3.txt b/Ingegneria del Software/0210_12/wrong3.txt new file mode 100644 index 0000000..162b572 --- /dev/null +++ b/Ingegneria del Software/0210_12/wrong3.txt @@ -0,0 +1,35 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 0; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0210_13/correct.txt b/Ingegneria del Software/0210_13/correct.txt new file mode 100644 index 0000000..25ac15c --- /dev/null +++ b/Ingegneria del Software/0210_13/correct.txt @@ -0,0 +1,17 @@ +
+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;
+
diff --git a/Ingegneria del Software/0210_13/quest.txt b/Ingegneria del Software/0210_13/quest.txt new file mode 100644 index 0000000..b420aaf --- /dev/null +++ b/Ingegneria del Software/0210_13/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/0210_13/wrong1.txt b/Ingegneria del Software/0210_13/wrong1.txt new file mode 100644 index 0000000..d021c3b --- /dev/null +++ b/Ingegneria del Software/0210_13/wrong1.txt @@ -0,0 +1,17 @@ +
+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;
+
diff --git a/Ingegneria del Software/0210_13/wrong2.txt b/Ingegneria del Software/0210_13/wrong2.txt new file mode 100644 index 0000000..157567e --- /dev/null +++ b/Ingegneria del Software/0210_13/wrong2.txt @@ -0,0 +1,17 @@ +
+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;
+
diff --git a/Ingegneria del Software/0210_14/correct.txt b/Ingegneria del Software/0210_14/correct.txt new file mode 100644 index 0000000..e74b1fc --- /dev/null +++ b/Ingegneria del Software/0210_14/correct.txt @@ -0,0 +1 @@ +F(x, y, z) = if (x > y) then (z == x) else (z == y + 1) \ No newline at end of file diff --git a/Ingegneria del Software/0210_14/quest.txt b/Ingegneria del Software/0210_14/quest.txt new file mode 100644 index 0000000..c1cd6d0 --- /dev/null +++ b/Ingegneria del Software/0210_14/quest.txt @@ -0,0 +1,9 @@ +Un test oracle per un programma P è una funzione booleana che ha come inputs gli inputs ed outputs di P e ritorna true se e solo se il valore di output di P (con i dati inputs) è quello atteso dalle specifiche. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { +int z = x; +while ( (x <= z) && (z <= y) ) { z = z + 1; } +return (z); +} +Siano x, y, gli inputs del programma (f nel nostro caso) e z l'output. Assumendo il programma corretto, quale delle seguenti funzioni booleane F(x, y, z) è un test oracle per la funzione f. \ No newline at end of file diff --git a/Ingegneria del Software/0210_14/wrong1.txt b/Ingegneria del Software/0210_14/wrong1.txt new file mode 100644 index 0000000..d63544a --- /dev/null +++ b/Ingegneria del Software/0210_14/wrong1.txt @@ -0,0 +1 @@ +F(x, y, z) = if (x > y) then (z == x + 1) else (z == y + 1) \ No newline at end of file diff --git a/Ingegneria del Software/0210_14/wrong2.txt b/Ingegneria del Software/0210_14/wrong2.txt new file mode 100644 index 0000000..1753a91 --- /dev/null +++ b/Ingegneria del Software/0210_14/wrong2.txt @@ -0,0 +1 @@ +F(x, y, z) = (z == y + 1) \ No newline at end of file diff --git a/Ingegneria del Software/0210_15/correct.txt b/Ingegneria del Software/0210_15/correct.txt new file mode 100644 index 0000000..519c7fd --- /dev/null +++ b/Ingegneria del Software/0210_15/correct.txt @@ -0,0 +1,17 @@ +
+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;
+
diff --git a/Ingegneria del Software/0210_15/quest.txt b/Ingegneria del Software/0210_15/quest.txt new file mode 100644 index 0000000..22c683f --- /dev/null +++ b/Ingegneria del Software/0210_15/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/0210_15/wrong1.txt b/Ingegneria del Software/0210_15/wrong1.txt new file mode 100644 index 0000000..5229f7e --- /dev/null +++ b/Ingegneria del Software/0210_15/wrong1.txt @@ -0,0 +1,17 @@ +
+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;
+
diff --git a/Ingegneria del Software/0210_15/wrong2.txt b/Ingegneria del Software/0210_15/wrong2.txt new file mode 100644 index 0000000..2029293 --- /dev/null +++ b/Ingegneria del Software/0210_15/wrong2.txt @@ -0,0 +1,17 @@ +
+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/0210_16/correct.txt b/Ingegneria del Software/0210_16/correct.txt new file mode 100644 index 0000000..293ebbc --- /dev/null +++ b/Ingegneria del Software/0210_16/correct.txt @@ -0,0 +1,17 @@ +
+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) 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/0210_16/quest.txt b/Ingegneria del Software/0210_16/quest.txt new file mode 100644 index 0000000..5922b9f --- /dev/null +++ b/Ingegneria del Software/0210_16/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/0210_16/wrong1.txt b/Ingegneria del Software/0210_16/wrong1.txt new file mode 100644 index 0000000..d7890b2 --- /dev/null +++ b/Ingegneria del Software/0210_16/wrong1.txt @@ -0,0 +1,17 @@ +
+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/0210_16/wrong2.txt b/Ingegneria del Software/0210_16/wrong2.txt new file mode 100644 index 0000000..d50b268 --- /dev/null +++ b/Ingegneria del Software/0210_16/wrong2.txt @@ -0,0 +1,17 @@ +
+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/0210_17/correct.txt b/Ingegneria del Software/0210_17/correct.txt new file mode 100644 index 0000000..2ca9276 --- /dev/null +++ b/Ingegneria del Software/0210_17/correct.txt @@ -0,0 +1 @@ +Transition coverage: 35% \ No newline at end of file diff --git a/Ingegneria del Software/0210_17/quest.txt b/Ingegneria del Software/0210_17/quest.txt new file mode 100644 index 0000000..5fa40ee --- /dev/null +++ b/Ingegneria del Software/0210_17/quest.txt @@ -0,0 +1,13 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_17.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + + + +ed il seguente insieme di test cases: +Test case 1: act1 act2 +Test case 2: act2 act0 act1 act0 act0 +Test case 3: act2 act0 act2 +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0210_17/wrong1.txt b/Ingegneria del Software/0210_17/wrong1.txt new file mode 100644 index 0000000..8b0c318 --- /dev/null +++ b/Ingegneria del Software/0210_17/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 50% \ No newline at end of file diff --git a/Ingegneria del Software/0210_17/wrong2.txt b/Ingegneria del Software/0210_17/wrong2.txt new file mode 100644 index 0000000..2d5aeb0 --- /dev/null +++ b/Ingegneria del Software/0210_17/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0210_18/correct.txt b/Ingegneria del Software/0210_18/correct.txt new file mode 100644 index 0000000..1a8a50a --- /dev/null +++ b/Ingegneria del Software/0210_18/correct.txt @@ -0,0 +1 @@ +Per ciascun requisito, dovremmo essere in grado di scrivere un inseme di test che può dimostrare che il sistema sviluppato soddisfa il requisito considerato. \ No newline at end of file diff --git a/Ingegneria del Software/0210_18/quest.txt b/Ingegneria del Software/0210_18/quest.txt new file mode 100644 index 0000000..793b220 --- /dev/null +++ b/Ingegneria del Software/0210_18/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive il criterio di "requirements verifiability" che è parte della "requirements validation activity". \ No newline at end of file diff --git a/Ingegneria del Software/0210_18/wrong1.txt b/Ingegneria del Software/0210_18/wrong1.txt new file mode 100644 index 0000000..fac8307 --- /dev/null +++ b/Ingegneria del Software/0210_18/wrong1.txt @@ -0,0 +1 @@ +Per ciascuna coppia di componenti, dovremmo essere in grado di scrivere un insieme di test che può dimostrare che l'interazione tra le componenti soddisfa tutti i requisiti di interfaccia. \ No newline at end of file diff --git a/Ingegneria del Software/0210_18/wrong2.txt b/Ingegneria del Software/0210_18/wrong2.txt new file mode 100644 index 0000000..3fdb31e --- /dev/null +++ b/Ingegneria del Software/0210_18/wrong2.txt @@ -0,0 +1 @@ +Per ciascuna componente del sistema, dovremmo essere in grado di scrivere un insieme di test che può dimostrare che essa soddisfa tutti i requisiti. \ No newline at end of file diff --git a/Ingegneria del Software/0210_19/correct.txt b/Ingegneria del Software/0210_19/correct.txt new file mode 100644 index 0000000..f6a4b07 --- /dev/null +++ b/Ingegneria del Software/0210_19/correct.txt @@ -0,0 +1 @@ +State coverage: 90% \ No newline at end of file diff --git a/Ingegneria del Software/0210_19/quest.txt b/Ingegneria del Software/0210_19/quest.txt new file mode 100644 index 0000000..e786bcf --- /dev/null +++ b/Ingegneria del Software/0210_19/quest.txt @@ -0,0 +1,12 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_19.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + + + + +Si consideri il seguente insieme di test cases: +Test case 1: act1 act1 act2 act2 +Test case 2: act1 act1 act0 act1 +Test case 3: act0 act0 act2 act1 act0 +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0210_19/wrong1.txt b/Ingegneria del Software/0210_19/wrong1.txt new file mode 100644 index 0000000..1c07658 --- /dev/null +++ b/Ingegneria del Software/0210_19/wrong1.txt @@ -0,0 +1 @@ +State coverage: 70% \ No newline at end of file diff --git a/Ingegneria del Software/0210_19/wrong2.txt b/Ingegneria del Software/0210_19/wrong2.txt new file mode 100644 index 0000000..a8aead7 --- /dev/null +++ b/Ingegneria del Software/0210_19/wrong2.txt @@ -0,0 +1 @@ +State coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0210_2/quest.txt b/Ingegneria del Software/0210_2/quest.txt new file mode 100644 index 0000000..f9f8976 --- /dev/null +++ b/Ingegneria del Software/0210_2/quest.txt @@ -0,0 +1,36 @@ +Si consideri il seguente modello Modelica. Quale dei seguenti UML state diagram lo rappresenta correttamente ? +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 2; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0210_2/wrong1.txt b/Ingegneria del Software/0210_2/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0210_2/wrong2.txt b/Ingegneria del Software/0210_2/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0210_2/wrong3.txt b/Ingegneria del Software/0210_2/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0210_20/correct.txt b/Ingegneria del Software/0210_20/correct.txt new file mode 100644 index 0000000..eb23d05 --- /dev/null +++ b/Ingegneria del Software/0210_20/correct.txt @@ -0,0 +1 @@ +Assicurarsi che non ci siano requisiti in conflitto con altri requisiti. \ No newline at end of file diff --git a/Ingegneria del Software/0210_20/quest.txt b/Ingegneria del Software/0210_20/quest.txt new file mode 100644 index 0000000..7710e8f --- /dev/null +++ b/Ingegneria del Software/0210_20/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive l'obiettivo del "check di consistenza" che è parte della "requirements validation activity". \ No newline at end of file diff --git a/Ingegneria del Software/0210_20/wrong1.txt b/Ingegneria del Software/0210_20/wrong1.txt new file mode 100644 index 0000000..9e12d11 --- /dev/null +++ b/Ingegneria del Software/0210_20/wrong1.txt @@ -0,0 +1 @@ +Assicurarsi che per ogni requisito esista un insieme di test che lo possa verificare. \ No newline at end of file diff --git a/Ingegneria del Software/0210_20/wrong2.txt b/Ingegneria del Software/0210_20/wrong2.txt new file mode 100644 index 0000000..32c628c --- /dev/null +++ b/Ingegneria del Software/0210_20/wrong2.txt @@ -0,0 +1 @@ +Assicurarsi che i requisiti funzionali descrivano tutte le funzionalità del sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0210_21/correct.txt b/Ingegneria del Software/0210_21/correct.txt new file mode 100644 index 0000000..ad21063 --- /dev/null +++ b/Ingegneria del Software/0210_21/correct.txt @@ -0,0 +1,15 @@ +
+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/0210_21/quest.txt b/Ingegneria del Software/0210_21/quest.txt new file mode 100644 index 0000000..031c331 --- /dev/null +++ b/Ingegneria del Software/0210_21/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/0210_21/wrong1.txt b/Ingegneria del Software/0210_21/wrong1.txt new file mode 100644 index 0000000..b14ac60 --- /dev/null +++ b/Ingegneria del Software/0210_21/wrong1.txt @@ -0,0 +1,15 @@ +
+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/0210_21/wrong2.txt b/Ingegneria del Software/0210_21/wrong2.txt new file mode 100644 index 0000000..e4201ab --- /dev/null +++ b/Ingegneria del Software/0210_21/wrong2.txt @@ -0,0 +1,15 @@ +
+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/0210_22/correct.txt b/Ingegneria del Software/0210_22/correct.txt new file mode 100644 index 0000000..a7029bc --- /dev/null +++ b/Ingegneria del Software/0210_22/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/0210_22/quest.txt b/Ingegneria del Software/0210_22/quest.txt new file mode 100644 index 0000000..e5fbc81 --- /dev/null +++ b/Ingegneria del Software/0210_22/quest.txt @@ -0,0 +1,16 @@ +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/0210_22/wrong1.txt b/Ingegneria del Software/0210_22/wrong1.txt new file mode 100644 index 0000000..710b111 --- /dev/null +++ b/Ingegneria del Software/0210_22/wrong1.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/0210_22/wrong2.txt b/Ingegneria del Software/0210_22/wrong2.txt new file mode 100644 index 0000000..a82929b --- /dev/null +++ b/Ingegneria del Software/0210_22/wrong2.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/0210_23/correct.txt b/Ingegneria del Software/0210_23/correct.txt new file mode 100644 index 0000000..95bc750 --- /dev/null +++ b/Ingegneria del Software/0210_23/correct.txt @@ -0,0 +1 @@ +100% \ No newline at end of file diff --git a/Ingegneria del Software/0210_23/quest.txt b/Ingegneria del Software/0210_23/quest.txt new file mode 100644 index 0000000..adede32 --- /dev/null +++ b/Ingegneria del Software/0210_23/quest.txt @@ -0,0 +1,9 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { + if (x - y <= 2) { if (x + y >= 1) return (1); else return (2); } + else {if (x + 2*y >= 5) return (3); else return (4); } + } /* f() */ +Si considerino i seguenti test cases: {x=1, y=2}, {x=0, y=0}, {x=5, y=0}, {x=3, y=0}. +Quale delle seguenti è la branch coverage conseguita? \ No newline at end of file diff --git a/Ingegneria del Software/0210_23/wrong1.txt b/Ingegneria del Software/0210_23/wrong1.txt new file mode 100644 index 0000000..23e721f --- /dev/null +++ b/Ingegneria del Software/0210_23/wrong1.txt @@ -0,0 +1 @@ +50% \ No newline at end of file diff --git a/Ingegneria del Software/0210_23/wrong2.txt b/Ingegneria del Software/0210_23/wrong2.txt new file mode 100644 index 0000000..a2507e5 --- /dev/null +++ b/Ingegneria del Software/0210_23/wrong2.txt @@ -0,0 +1 @@ +80% \ No newline at end of file diff --git a/Ingegneria del Software/0210_24/correct.txt b/Ingegneria del Software/0210_24/correct.txt new file mode 100644 index 0000000..2a2ecea --- /dev/null +++ b/Ingegneria del Software/0210_24/correct.txt @@ -0,0 +1 @@ +time(0)/(1 - p) \ No newline at end of file diff --git a/Ingegneria del Software/0210_24/quest.txt b/Ingegneria del Software/0210_24/quest.txt new file mode 100644 index 0000000..d188da2 --- /dev/null +++ b/Ingegneria del Software/0210_24/quest.txt @@ -0,0 +1,6 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_24.png +Si consideri il processo software con due fasi (0 ed 1) rappresentato con la Markov chain in figura. Lo stato iniziale 0 e p è in (0, 1). Il tempo necessario per completare la fase x è time(x). La fase 0 è la fase di design, che ha probabilità p di dover essere ripetuta causa errori. La fase 1 rappreenta il completamento del processo software, e quindi time(1) = 0. +Il tempo di una istanza del processo software descritto sopra è la somma dei tempi degli stati (fasi) attraversati (tenendo presente che si parte sempre dallo stato 0. +Quindi il costo Time(X) della sequenza di stati X = x(0), x(1), x(2), .... è Time(X) = time(x(0)) + time(x(1)) + time(x(2)) + ... +Ad esempio se X = 0, 1 abbiamo Time(X) = time(0) + time(1) = time(0) (poichè time(1) = 0). +Quale delle seguenti formule calcola il valore atteso del costo per completare il processo software di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0210_24/wrong1.txt b/Ingegneria del Software/0210_24/wrong1.txt new file mode 100644 index 0000000..9927a93 --- /dev/null +++ b/Ingegneria del Software/0210_24/wrong1.txt @@ -0,0 +1 @@ +time(0)/(p*(1 - p)) \ No newline at end of file diff --git a/Ingegneria del Software/0210_24/wrong2.txt b/Ingegneria del Software/0210_24/wrong2.txt new file mode 100644 index 0000000..d68fd15 --- /dev/null +++ b/Ingegneria del Software/0210_24/wrong2.txt @@ -0,0 +1 @@ +time(0)*(1 - p)/p \ No newline at end of file diff --git a/Ingegneria del Software/0210_25/correct.txt b/Ingegneria del Software/0210_25/correct.txt new file mode 100644 index 0000000..43dc0c9 --- /dev/null +++ b/Ingegneria del Software/0210_25/correct.txt @@ -0,0 +1,5 @@ +int f(in x, int y) +{ +assert( (x >= 0) && (y >= 0) && ((x > 0) || (y > 0)) ); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0210_25/quest.txt b/Ingegneria del Software/0210_25/quest.txt new file mode 100644 index 0000000..f6744fd --- /dev/null +++ b/Ingegneria del Software/0210_25/quest.txt @@ -0,0 +1,4 @@ +Pre-condizioni, invarianti e post-condizioni di un programma possono essere definiti usando la macro del C assert() (in ). In particolare, assert(expre) non fa nulla se l'espressione expre vale TRUE (cioè non è 0), stampa un messaggio di errore su stderr e abortisce l'esecuzione del programma altrimenti. +Si consideri la funzione C +int f(in x, int y) { ..... } +Quale delle seguenti assert esprime la pre-condizione che entrambi gli argomenti di f sono non-negativi ed almeno uno di loro è positivo ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_25/wrong1.txt b/Ingegneria del Software/0210_25/wrong1.txt new file mode 100644 index 0000000..6a97baf --- /dev/null +++ b/Ingegneria del Software/0210_25/wrong1.txt @@ -0,0 +1,5 @@ +int f(in x, int y) +{ +assert( (x >= 0) && (y >= 0) && ((x > 1) || (y > 1)) ); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0210_25/wrong2.txt b/Ingegneria del Software/0210_25/wrong2.txt new file mode 100644 index 0000000..3f63933 --- /dev/null +++ b/Ingegneria del Software/0210_25/wrong2.txt @@ -0,0 +1,5 @@ +int f(in x, int y) +{ +assert( (x > 0) && (y > 0) && ((x > 1) || (y > 1)) ); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0210_26/correct.txt b/Ingegneria del Software/0210_26/correct.txt new file mode 100644 index 0000000..b9f32a6 --- /dev/null +++ b/Ingegneria del Software/0210_26/correct.txt @@ -0,0 +1 @@ +c(0)/(1 - p) \ No newline at end of file diff --git a/Ingegneria del Software/0210_26/quest.txt b/Ingegneria del Software/0210_26/quest.txt new file mode 100644 index 0000000..d318528 --- /dev/null +++ b/Ingegneria del Software/0210_26/quest.txt @@ -0,0 +1,6 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_26.png +Si consideri il processo software con due fasi (0 ed 1) rappresentato con la Markov chain in figura. Lo stato iniziale 0 e p è in (0, 1). Il costo dello stato (fase) x è c(x). La fase 0 è la fase di design, che ha probabilità p di dover essere ripetuta causa errori. La fase 1 rappreenta il completamento del processo software, e quindi c(1) = 0. +Il costo di una istanza del processo software descritto sopra è la somma dei costi degli stati attraversati (tenendo presente che si parte sempre dallo stato 0. +Quindi il costo C(X) della sequenza di stati X = x(0), x(1), x(2), .... è C(X) = c(x(0)) + c(x(1)) + c(x(2)) + ... +Ad esempio se X = 0, 1 abbiamo C(X) = c(0) + c(1) = c(0) (poichè c(1) = 0). +Quale delle seguenti formule calcola il valore atteso del costo per completare il processo software di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0210_26/wrong1.txt b/Ingegneria del Software/0210_26/wrong1.txt new file mode 100644 index 0000000..3143da9 --- /dev/null +++ b/Ingegneria del Software/0210_26/wrong1.txt @@ -0,0 +1 @@ +c(0)/(p*(1 - p)) \ No newline at end of file diff --git a/Ingegneria del Software/0210_26/wrong2.txt b/Ingegneria del Software/0210_26/wrong2.txt new file mode 100644 index 0000000..70022eb --- /dev/null +++ b/Ingegneria del Software/0210_26/wrong2.txt @@ -0,0 +1 @@ +c(0)*(1 - p)/p \ No newline at end of file diff --git a/Ingegneria del Software/0210_27/quest.txt b/Ingegneria del Software/0210_27/quest.txt new file mode 100644 index 0000000..75e942b --- /dev/null +++ b/Ingegneria del Software/0210_27/quest.txt @@ -0,0 +1,2 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_27.png +Quale dei seguenti modelli Modelica rappresenta lo state diagram in figura ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_27/wrong1.txt b/Ingegneria del Software/0210_27/wrong1.txt new file mode 100644 index 0000000..c296b22 --- /dev/null +++ b/Ingegneria del Software/0210_27/wrong1.txt @@ -0,0 +1,36 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 3; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0210_27/wrong2.txt b/Ingegneria del Software/0210_27/wrong2.txt new file mode 100644 index 0000000..d21df5d --- /dev/null +++ b/Ingegneria del Software/0210_27/wrong2.txt @@ -0,0 +1,32 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0210_27/wrong3.txt b/Ingegneria del Software/0210_27/wrong3.txt new file mode 100644 index 0000000..421d23f --- /dev/null +++ b/Ingegneria del Software/0210_27/wrong3.txt @@ -0,0 +1,37 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 3; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0210_28/quest.txt b/Ingegneria del Software/0210_28/quest.txt new file mode 100644 index 0000000..932f11d --- /dev/null +++ b/Ingegneria del Software/0210_28/quest.txt @@ -0,0 +1,38 @@ +Si consideri il seguente modello Modelica. Quale dei seguenti UML state diagram lo rappresenta correttamente ? +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0210_28/wrong1.txt b/Ingegneria del Software/0210_28/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0210_28/wrong2.txt b/Ingegneria del Software/0210_28/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0210_28/wrong3.txt b/Ingegneria del Software/0210_28/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0210_29/correct.txt b/Ingegneria del Software/0210_29/correct.txt new file mode 100644 index 0000000..0902686 --- /dev/null +++ b/Ingegneria del Software/0210_29/correct.txt @@ -0,0 +1 @@ +Requisito funzionale. \ No newline at end of file diff --git a/Ingegneria del Software/0210_29/quest.txt b/Ingegneria del Software/0210_29/quest.txt new file mode 100644 index 0000000..f6839df --- /dev/null +++ b/Ingegneria del Software/0210_29/quest.txt @@ -0,0 +1,2 @@ +"Ogni giorno, per ciascuna clinica, il sistema genererà una lista dei pazienti che hanno un appuntamento quel giorno." +La frase precedente è un esempio di: \ No newline at end of file diff --git a/Ingegneria del Software/0210_29/wrong1.txt b/Ingegneria del Software/0210_29/wrong1.txt new file mode 100644 index 0000000..6084c49 --- /dev/null +++ b/Ingegneria del Software/0210_29/wrong1.txt @@ -0,0 +1 @@ +Requisito non-funzionale. \ No newline at end of file diff --git a/Ingegneria del Software/0210_29/wrong2.txt b/Ingegneria del Software/0210_29/wrong2.txt new file mode 100644 index 0000000..396c8d3 --- /dev/null +++ b/Ingegneria del Software/0210_29/wrong2.txt @@ -0,0 +1 @@ +Requisito di performance. \ No newline at end of file diff --git a/Ingegneria del Software/0210_3/quest.txt b/Ingegneria del Software/0210_3/quest.txt new file mode 100644 index 0000000..985c244 --- /dev/null +++ b/Ingegneria del Software/0210_3/quest.txt @@ -0,0 +1,4 @@ +Un test oracle per un programma P è una funzione booleana che ha come inputs gli inputs ed outputs di P e ritorna true se e solo se il valore di output di P (con i dati inputs) è quello atteso dalle specifiche. +Si consideri la seguente specifica funzionale per la funzione f. +La funzione f(int *A, int *B) prende come input un vettore A di dimensione n ritorna come output un vettore B ottenuto ordinando gli elementi di A in ordine crescente. +Quale delle seguenti funzioni è un test oracle per la funzione f ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_3/wrong1.txt b/Ingegneria del Software/0210_3/wrong1.txt new file mode 100644 index 0000000..ed5ad19 --- /dev/null +++ b/Ingegneria del Software/0210_3/wrong1.txt @@ -0,0 +1,14 @@ +#define n 1000 +int TestOracle1(int *A, int *B) +{ +int i, j, D[n]; +//init +for (i = 0; i < n; i++) D[i] = -1; +// B is ordered +for (i = 0; i < n; i++) { for (j = i+1; j < n; j++) {if (B[j] < B[i]) {retun (0);}}} +// B is a permutation of A +for (i = 0; i < n; i++) { for (j = 0; j < n; j++) {if ((A[i] == B[j]) && (D[j] == -1)) {C[i][j] = 1; D[j] = 1; break;} +for (i = 0; i < n; i++) {if (D[i] == -1) return (0);} +// B ok +return (1); +} \ No newline at end of file diff --git a/Ingegneria del Software/0210_3/wrong2.txt b/Ingegneria del Software/0210_3/wrong2.txt new file mode 100644 index 0000000..69b9722 --- /dev/null +++ b/Ingegneria del Software/0210_3/wrong2.txt @@ -0,0 +1,14 @@ +#define n 1000 +int TestOracle2(int *A, int *B) +{ +int i, j, D[n]; +//init +for (i = 0; i < n; i++) D[i] = -1; +// B is ordered +for (i = 0; i < n; i++) { for (j = i+1; j < n; j++) {if (B[j] < B[i]) {retun (0);}}} +// B is a permutation of A +for (i = 0; i < n; i++) { for (j = 0; j < n; j++) {if ((A[i] == B[j]) && (D[j] == -1)) {C[i][j] = 1; break;} +for (i = 0; i < n; i++) {if (D[i] == -1) return (0);} +// B ok +return (1); +} \ No newline at end of file diff --git a/Ingegneria del Software/0210_3/wrong3.txt b/Ingegneria del Software/0210_3/wrong3.txt new file mode 100644 index 0000000..a26ce6e --- /dev/null +++ b/Ingegneria del Software/0210_3/wrong3.txt @@ -0,0 +1,15 @@ +#define n 1000 + +int TestOracle3(int *A, int *B) +{ +int i, j, D[n]; +//init +for (i = 0; i < n; i++) D[i] = -1; +// B is ordered +for (i = 0; i < n; i++) { for (j = i+1; j < n; j++) {if (B[j] < B[i]) {retun (0);}}} +// B is a permutation of A +for (i = 0; i < n; i++) { for (j = 0; j < n; j++) {if (A[i] == B[j]) {C[i][j] = 1; D[j] = 1; break;} +for (i = 0; i < n; i++) {if (D[i] == -1) return (0);} +// B ok +return (1); +} \ No newline at end of file diff --git a/Ingegneria del Software/0210_30/correct.txt b/Ingegneria del Software/0210_30/correct.txt new file mode 100644 index 0000000..b110af1 --- /dev/null +++ b/Ingegneria del Software/0210_30/correct.txt @@ -0,0 +1 @@ +Transition coverage: 40% \ No newline at end of file diff --git a/Ingegneria del Software/0210_30/quest.txt b/Ingegneria del Software/0210_30/quest.txt new file mode 100644 index 0000000..a27fc55 --- /dev/null +++ b/Ingegneria del Software/0210_30/quest.txt @@ -0,0 +1,13 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_30.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + + + +ed il seguente insieme di test cases: +Test case 1: act1 act1 act2 act2 +Test case 2: act1 act1 act0 act1 +Test case 3: act0 act0 act2 act1 act0 +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0210_30/wrong1.txt b/Ingegneria del Software/0210_30/wrong1.txt new file mode 100644 index 0000000..2d5aeb0 --- /dev/null +++ b/Ingegneria del Software/0210_30/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0210_30/wrong2.txt b/Ingegneria del Software/0210_30/wrong2.txt new file mode 100644 index 0000000..a29d476 --- /dev/null +++ b/Ingegneria del Software/0210_30/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0210_31/correct.txt b/Ingegneria del Software/0210_31/correct.txt new file mode 100644 index 0000000..95bc750 --- /dev/null +++ b/Ingegneria del Software/0210_31/correct.txt @@ -0,0 +1 @@ +100% \ No newline at end of file diff --git a/Ingegneria del Software/0210_31/quest.txt b/Ingegneria del Software/0210_31/quest.txt new file mode 100644 index 0000000..65cfd2d --- /dev/null +++ b/Ingegneria del Software/0210_31/quest.txt @@ -0,0 +1,9 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { + if (x - y <= 0) { if (x + y >= 2) return (1); else return (2); } + else {if (2*x + y >= 1) return (3); else return (4); } + } /* f() */ +Si considerino i seguenti test cases: {x=1, y=1}, {x=0, y=0}, {x=1, y=0}, {x=0, y=-1}. +Quale delle seguenti è la branch coverage conseguita? \ No newline at end of file diff --git a/Ingegneria del Software/0210_31/wrong1.txt b/Ingegneria del Software/0210_31/wrong1.txt new file mode 100644 index 0000000..a2507e5 --- /dev/null +++ b/Ingegneria del Software/0210_31/wrong1.txt @@ -0,0 +1 @@ +80% \ No newline at end of file diff --git a/Ingegneria del Software/0210_31/wrong2.txt b/Ingegneria del Software/0210_31/wrong2.txt new file mode 100644 index 0000000..23e721f --- /dev/null +++ b/Ingegneria del Software/0210_31/wrong2.txt @@ -0,0 +1 @@ +50% \ No newline at end of file diff --git a/Ingegneria del Software/0210_32/correct.txt b/Ingegneria del Software/0210_32/correct.txt new file mode 100644 index 0000000..973ef63 --- /dev/null +++ b/Ingegneria del Software/0210_32/correct.txt @@ -0,0 +1 @@ +State coverage: 75% \ No newline at end of file diff --git a/Ingegneria del Software/0210_32/quest.txt b/Ingegneria del Software/0210_32/quest.txt new file mode 100644 index 0000000..cb591da --- /dev/null +++ b/Ingegneria del Software/0210_32/quest.txt @@ -0,0 +1,13 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_32.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + + + + +Si consideri il seguente insieme di test cases: +Test case 1: act1 act2 +Test case 2: act2 act0 act1 act0 act0 +Test case 3: act2 act0 act2 + +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0210_32/wrong1.txt b/Ingegneria del Software/0210_32/wrong1.txt new file mode 100644 index 0000000..1c07658 --- /dev/null +++ b/Ingegneria del Software/0210_32/wrong1.txt @@ -0,0 +1 @@ +State coverage: 70% \ No newline at end of file diff --git a/Ingegneria del Software/0210_32/wrong2.txt b/Ingegneria del Software/0210_32/wrong2.txt new file mode 100644 index 0000000..a8aead7 --- /dev/null +++ b/Ingegneria del Software/0210_32/wrong2.txt @@ -0,0 +1 @@ +State coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0210_33/correct.txt b/Ingegneria del Software/0210_33/correct.txt new file mode 100644 index 0000000..1c7da8c --- /dev/null +++ b/Ingegneria del Software/0210_33/correct.txt @@ -0,0 +1 @@ +0.03 \ No newline at end of file diff --git a/Ingegneria del Software/0210_33/quest.txt b/Ingegneria del Software/0210_33/quest.txt new file mode 100644 index 0000000..cf9113a --- /dev/null +++ b/Ingegneria del Software/0210_33/quest.txt @@ -0,0 +1,9 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_33.png +Un processo software può essere rappesentato con uno state diagram in cui gli stati rappresentano le fasi (e loro iterazioni) del prcoesso software e gli archi le transizioni da una fase all'altra. Gli archi sono etichettati con le probabilità della transizione e gli stati sono etichettati con il costo per lasciare lo stato. +Ad esempio lo state diagram in figura + + + +Rappresenta un processo software con 2 fasi F1 ed F2. F1 ha costo 10000 EUR ed F2 ha costo 1000 EUR. F1 ha una probabilita dello 0.3 di dover essere ripetuta (a causa di errori) ed F2 ha una probabilità 0.1 di dover essere ripetuta (a causa di errori). +Uno scenario è una sequenza di stati. +Qual'e' la probabilità dello scenario: 1, 2, 3, 4 ? In altri terminti, qual'è la probabilità che sia necessario ripetere sia la fase 1 che la fase 2 ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_33/wrong1.txt b/Ingegneria del Software/0210_33/wrong1.txt new file mode 100644 index 0000000..7eb6830 --- /dev/null +++ b/Ingegneria del Software/0210_33/wrong1.txt @@ -0,0 +1 @@ +0.27 \ No newline at end of file diff --git a/Ingegneria del Software/0210_33/wrong2.txt b/Ingegneria del Software/0210_33/wrong2.txt new file mode 100644 index 0000000..8a346b7 --- /dev/null +++ b/Ingegneria del Software/0210_33/wrong2.txt @@ -0,0 +1 @@ +0.07 \ No newline at end of file diff --git a/Ingegneria del Software/0210_34/quest.txt b/Ingegneria del Software/0210_34/quest.txt new file mode 100644 index 0000000..33e1f49 --- /dev/null +++ b/Ingegneria del Software/0210_34/quest.txt @@ -0,0 +1,34 @@ +Si consideri il seguente modello Modelica. Quale dei seguenti UML state diagram lo rappresenta correttamente ? +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 3; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0210_34/wrong1.txt b/Ingegneria del Software/0210_34/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0210_34/wrong2.txt b/Ingegneria del Software/0210_34/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0210_34/wrong3.txt b/Ingegneria del Software/0210_34/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0210_35/correct.txt b/Ingegneria del Software/0210_35/correct.txt new file mode 100644 index 0000000..7c149d8 --- /dev/null +++ b/Ingegneria del Software/0210_35/correct.txt @@ -0,0 +1 @@ +Assicurarsi che i requisisti descrivano tutte le funzionalità e vincoli (e.g., security, performance) del sistema desiderato dal customer. \ No newline at end of file diff --git a/Ingegneria del Software/0210_35/quest.txt b/Ingegneria del Software/0210_35/quest.txt new file mode 100644 index 0000000..8bba4b8 --- /dev/null +++ b/Ingegneria del Software/0210_35/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive l'obiettivo del "check di completezza" che è parte della "requirements validation activity". \ No newline at end of file diff --git a/Ingegneria del Software/0210_35/wrong1.txt b/Ingegneria del Software/0210_35/wrong1.txt new file mode 100644 index 0000000..3461684 --- /dev/null +++ b/Ingegneria del Software/0210_35/wrong1.txt @@ -0,0 +1 @@ +Assicurarsi che per ogni requisito sia stato implementato nel sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0210_35/wrong2.txt b/Ingegneria del Software/0210_35/wrong2.txt new file mode 100644 index 0000000..32c628c --- /dev/null +++ b/Ingegneria del Software/0210_35/wrong2.txt @@ -0,0 +1 @@ +Assicurarsi che i requisiti funzionali descrivano tutte le funzionalità del sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0210_36/correct.txt b/Ingegneria del Software/0210_36/correct.txt new file mode 100644 index 0000000..3f63933 --- /dev/null +++ b/Ingegneria del Software/0210_36/correct.txt @@ -0,0 +1,5 @@ +int f(in x, int y) +{ +assert( (x > 0) && (y > 0) && ((x > 1) || (y > 1)) ); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0210_36/quest.txt b/Ingegneria del Software/0210_36/quest.txt new file mode 100644 index 0000000..595ab5d --- /dev/null +++ b/Ingegneria del Software/0210_36/quest.txt @@ -0,0 +1,4 @@ +Pre-condizioni, invarianti e post-condizioni di un programma possono essere definiti usando la macro del C assert() (in ). In particolare, assert(expre) non fa nulla se l'espressione expre vale TRUE (cioè non è 0), stampa un messaggio di errore su stderr e abortisce l'esecuzione del programma altrimenti. +Si consideri la funzione C +int f(in x, int y) { ..... } +Quale delle seguenti assert esprime la pre-condizione che entrambi gli argomenti di f sono positivi ed almeno uno di loro è maggiore di 1 ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_36/wrong1.txt b/Ingegneria del Software/0210_36/wrong1.txt new file mode 100644 index 0000000..6a97baf --- /dev/null +++ b/Ingegneria del Software/0210_36/wrong1.txt @@ -0,0 +1,5 @@ +int f(in x, int y) +{ +assert( (x >= 0) && (y >= 0) && ((x > 1) || (y > 1)) ); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0210_36/wrong2.txt b/Ingegneria del Software/0210_36/wrong2.txt new file mode 100644 index 0000000..e607157 --- /dev/null +++ b/Ingegneria del Software/0210_36/wrong2.txt @@ -0,0 +1,5 @@ +int f(in x, int y) +{ +assert( (x > 0) && (y > 0) && (x > 1) && (y > 1) ); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0210_37/quest.txt b/Ingegneria del Software/0210_37/quest.txt new file mode 100644 index 0000000..5743032 --- /dev/null +++ b/Ingegneria del Software/0210_37/quest.txt @@ -0,0 +1,36 @@ +Si consideri il seguente modello Modelica. Quale dei seguenti UML state diagram lo rappresenta correttamente ? +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0210_37/wrong1.txt b/Ingegneria del Software/0210_37/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0210_37/wrong2.txt b/Ingegneria del Software/0210_37/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0210_37/wrong3.txt b/Ingegneria del Software/0210_37/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0210_38/correct.txt b/Ingegneria del Software/0210_38/correct.txt new file mode 100644 index 0000000..232aedf --- /dev/null +++ b/Ingegneria del Software/0210_38/correct.txt @@ -0,0 +1 @@ +(a = 6, b = 0, c = 1), (a = 0, b = 5, c = 0), (a = 0, b = 3, c = 0). \ No newline at end of file diff --git a/Ingegneria del Software/0210_38/quest.txt b/Ingegneria del Software/0210_38/quest.txt new file mode 100644 index 0000000..b2bed72 --- /dev/null +++ b/Ingegneria del Software/0210_38/quest.txt @@ -0,0 +1,21 @@ +Una Condition è una proposizione booleana, cioè una espressione con valore booleano che non può essere decomposta +in espressioni boolean più semplici. Ad esempio, (x + y <= 3) è una condition. + +Una Decision è una espressione booleana composta da conditions e zero o più operatori booleani. Ad esempio, sono decisions: +(x + y <= 3) +((x + y <= 3) || (x - y > 7)) +Un insieme di test cases T soddisfa il criterio di Condition/Decision coverage se tutte le seguenti condizioni sono soddisfatte: + +1) Ciascun punto di entrata ed uscita nel programma è eseguito in almeno un test; +2) Per ogni decision d nel programma, per ogni condition c in d, esiste un test in T in cui c è true ed un test in T in cui c è false. +3) Per ogni decision d nel programma, esiste un test in T in cui d è true ed un test in T in cui d è false. + +Si consideri la seguente funzione: +int f(int a, int b, int c) +{ if ( (a + b >= 6) && (b - c <= 1) ) + return (1); // punto di uscita 1 + else if ((b - c <= 1) || (b + c >= 5)) + then return (2); // punto di uscita 2 + else return (3); // punto di uscita 3 +} + Quale dei seguenti test set soddisfa il criterio della Condition/Decision coverage ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_38/wrong1.txt b/Ingegneria del Software/0210_38/wrong1.txt new file mode 100644 index 0000000..2b6c292 --- /dev/null +++ b/Ingegneria del Software/0210_38/wrong1.txt @@ -0,0 +1 @@ +(a = 5, b = 0, c = 1), (a = 0, b = 5, c = 0), (a = 0, b = 3, c = 0). \ No newline at end of file diff --git a/Ingegneria del Software/0210_38/wrong2.txt b/Ingegneria del Software/0210_38/wrong2.txt new file mode 100644 index 0000000..5d5c9a4 --- /dev/null +++ b/Ingegneria del Software/0210_38/wrong2.txt @@ -0,0 +1 @@ +(a = 6, b = 0, c = 1), (a = 0, b = 5, c = 0), (a = 0, b = 3, c = 2). \ No newline at end of file diff --git a/Ingegneria del Software/0210_39/correct.txt b/Ingegneria del Software/0210_39/correct.txt new file mode 100644 index 0000000..8785661 --- /dev/null +++ b/Ingegneria del Software/0210_39/correct.txt @@ -0,0 +1 @@ +{x = -200, x = -50, x = 0, x = 100, x = 700} \ No newline at end of file diff --git a/Ingegneria del Software/0210_39/quest.txt b/Ingegneria del Software/0210_39/quest.txt new file mode 100644 index 0000000..36947c2 --- /dev/null +++ b/Ingegneria del Software/0210_39/quest.txt @@ -0,0 +1,6 @@ +Il partition coverage di un insieme di test cases è la percentuale di elementi della partition inclusi nei test cases. La partition è una partizione finita dell'insieme di input della funzione che si sta testando. +Si consideri la seguente funzione C: +int f1(int x) { return (x + 7); } +Si vuole testare la funzione f1(). A tal fine l'insieme degli interi viene partizionato come segue: +{(-inf, -101], [-100, -1], {0}, [1, 500], [501, +inf)} +Quale dei seguenti test cases consegue una partition coverage del 100% ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_39/wrong1.txt b/Ingegneria del Software/0210_39/wrong1.txt new file mode 100644 index 0000000..0aaedb8 --- /dev/null +++ b/Ingegneria del Software/0210_39/wrong1.txt @@ -0,0 +1 @@ +{x = -200, x = -50, x = 0, x = 100, x = 500} \ No newline at end of file diff --git a/Ingegneria del Software/0210_39/wrong2.txt b/Ingegneria del Software/0210_39/wrong2.txt new file mode 100644 index 0000000..a6df32d --- /dev/null +++ b/Ingegneria del Software/0210_39/wrong2.txt @@ -0,0 +1 @@ +{x = -200, x = -150, x = 0, x = 100, x = 700} \ No newline at end of file diff --git a/Ingegneria del Software/0210_4/correct.txt b/Ingegneria del Software/0210_4/correct.txt new file mode 100644 index 0000000..973ef63 --- /dev/null +++ b/Ingegneria del Software/0210_4/correct.txt @@ -0,0 +1 @@ +State coverage: 75% \ No newline at end of file diff --git a/Ingegneria del Software/0210_4/quest.txt b/Ingegneria del Software/0210_4/quest.txt new file mode 100644 index 0000000..84d1f53 --- /dev/null +++ b/Ingegneria del Software/0210_4/quest.txt @@ -0,0 +1,12 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_4.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + + + +Si consideri il seguente insieme di test cases: +Test case 1: act2 act0 act1 act2 act0 +Test case 2: act1 act2 act1 +Test case 3: act1 act2 act1 act0 act0 + +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0210_4/wrong1.txt b/Ingegneria del Software/0210_4/wrong1.txt new file mode 100644 index 0000000..1a8a508 --- /dev/null +++ b/Ingegneria del Software/0210_4/wrong1.txt @@ -0,0 +1 @@ +State coverage: 50% \ No newline at end of file diff --git a/Ingegneria del Software/0210_4/wrong2.txt b/Ingegneria del Software/0210_4/wrong2.txt new file mode 100644 index 0000000..d4625fd --- /dev/null +++ b/Ingegneria del Software/0210_4/wrong2.txt @@ -0,0 +1 @@ +State coverage: 100% \ No newline at end of file diff --git a/Ingegneria del Software/0210_40/correct.txt b/Ingegneria del Software/0210_40/correct.txt new file mode 100644 index 0000000..d4625fd --- /dev/null +++ b/Ingegneria del Software/0210_40/correct.txt @@ -0,0 +1 @@ +State coverage: 100% \ No newline at end of file diff --git a/Ingegneria del Software/0210_40/quest.txt b/Ingegneria del Software/0210_40/quest.txt new file mode 100644 index 0000000..a550159 --- /dev/null +++ b/Ingegneria del Software/0210_40/quest.txt @@ -0,0 +1,9 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_40.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + +Si consideri il seguente insieme di test cases: +Test case 1: act1 act0 act0 act0 act0 +Test case 2: act2 act0 +Test case 3: act0 act0 act1 act0 act2 +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0210_40/wrong1.txt b/Ingegneria del Software/0210_40/wrong1.txt new file mode 100644 index 0000000..f6a4b07 --- /dev/null +++ b/Ingegneria del Software/0210_40/wrong1.txt @@ -0,0 +1 @@ +State coverage: 90% \ No newline at end of file diff --git a/Ingegneria del Software/0210_40/wrong2.txt b/Ingegneria del Software/0210_40/wrong2.txt new file mode 100644 index 0000000..a8aead7 --- /dev/null +++ b/Ingegneria del Software/0210_40/wrong2.txt @@ -0,0 +1 @@ +State coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0210_41/correct.txt b/Ingegneria del Software/0210_41/correct.txt new file mode 100644 index 0000000..5f76c88 --- /dev/null +++ b/Ingegneria del Software/0210_41/correct.txt @@ -0,0 +1 @@ +Transition coverage: 45% \ No newline at end of file diff --git a/Ingegneria del Software/0210_41/quest.txt b/Ingegneria del Software/0210_41/quest.txt new file mode 100644 index 0000000..cdbd481 --- /dev/null +++ b/Ingegneria del Software/0210_41/quest.txt @@ -0,0 +1,13 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_41.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + + + +ed il seguente insieme di test cases: +Test case 1: act1 act0 act0 act0 act0 +Test case 2: act2 act0 +Test case 3: act0 act0 act1 act0 act2 +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0210_41/wrong1.txt b/Ingegneria del Software/0210_41/wrong1.txt new file mode 100644 index 0000000..2ca9276 --- /dev/null +++ b/Ingegneria del Software/0210_41/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 35% \ No newline at end of file diff --git a/Ingegneria del Software/0210_41/wrong2.txt b/Ingegneria del Software/0210_41/wrong2.txt new file mode 100644 index 0000000..c376ef7 --- /dev/null +++ b/Ingegneria del Software/0210_41/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 55% \ No newline at end of file diff --git a/Ingegneria del Software/0210_42/quest.txt b/Ingegneria del Software/0210_42/quest.txt new file mode 100644 index 0000000..8e91c31 --- /dev/null +++ b/Ingegneria del Software/0210_42/quest.txt @@ -0,0 +1,5 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_42.png +Si consideri la seguente architettura software: + + +Quale dei seguenti modelli Modelica meglio la rappresenta ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_42/wrong1.txt b/Ingegneria del Software/0210_42/wrong1.txt new file mode 100644 index 0000000..512c141 --- /dev/null +++ b/Ingegneria del Software/0210_42/wrong1.txt @@ -0,0 +1,6 @@ +block SysArch; +SC1 sc1 +SC2 sc2; +SC3 sc3; +SC4 sc4; +connect(sc1.input1, sc \ No newline at end of file diff --git a/Ingegneria del Software/0210_42/wrong2.txt b/Ingegneria del Software/0210_42/wrong2.txt new file mode 100644 index 0000000..77d39c1 --- /dev/null +++ b/Ingegneria del Software/0210_42/wrong2.txt @@ -0,0 +1,3 @@ +output1); +connect(sc1.output1, sc2.input1); +connect(sc1.input2, sc \ No newline at end of file diff --git a/Ingegneria del Software/0210_42/wrong3.txt b/Ingegneria del Software/0210_42/wrong3.txt new file mode 100644 index 0000000..b9a8baf --- /dev/null +++ b/Ingegneria del Software/0210_42/wrong3.txt @@ -0,0 +1,39 @@ +output2); +connect(sc1.output2, sc3.input2); +connect(sc1.input3, sc4.output3); +connect(sc1.output3, sc4.input3); +connect(sc2.input4, sc3.output4); +connect(sc3.input5, sc4.output5); +end SysArch +2. +block SysArch; +SC1 sc1 +SC2 sc2; +SC3 sc3; +SC4 sc4; +connect(sc1.input1, sc2.output1); +connect(sc1.output1, sc2.input1); +connect(sc1.input2, sc3.output2); +connect(sc1.output2, sc3.input2); +connect(sc1.input3, sc4.output3); +connect(sc1.output3, sc4.input3); +connect(sc2.output4, sc3.input4); +connect(sc3.output5, sc4.input5); +end SysArch +3. +block SysArch; +SC1 sc1 +SC2 sc2; +SC3 sc3; +SC4 sc4; +connect(sc1.input1, sc2.output1); +connect(sc1.output1, sc2.input1); +connect(sc1.input2, sc3.output2); +connect(sc1.output2, sc3.input2); +connect(sc1.input3, sc4.output3); +connect(sc1.output3, sc4.input3); +connect(sc2.input4, sc3.output4); +connect(sc2.output4, sc3.input4); +connect(sc3.input5, sc4.output5); +connect(sc3.output5, sc4.input5); +end SysArch \ No newline at end of file diff --git a/Ingegneria del Software/0210_43/correct.txt b/Ingegneria del Software/0210_43/correct.txt new file mode 100644 index 0000000..4c75070 --- /dev/null +++ b/Ingegneria del Software/0210_43/correct.txt @@ -0,0 +1,16 @@ +
+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/0210_43/quest.txt b/Ingegneria del Software/0210_43/quest.txt new file mode 100644 index 0000000..e11a044 --- /dev/null +++ b/Ingegneria del Software/0210_43/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/0210_43/wrong1.txt b/Ingegneria del Software/0210_43/wrong1.txt new file mode 100644 index 0000000..6dafe94 --- /dev/null +++ b/Ingegneria del Software/0210_43/wrong1.txt @@ -0,0 +1,16 @@ +
+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/0210_43/wrong2.txt b/Ingegneria del Software/0210_43/wrong2.txt new file mode 100644 index 0000000..a3d79a4 --- /dev/null +++ b/Ingegneria del Software/0210_43/wrong2.txt @@ -0,0 +1,16 @@ +
+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/0210_44/quest.txt b/Ingegneria del Software/0210_44/quest.txt new file mode 100644 index 0000000..5c4c81d --- /dev/null +++ b/Ingegneria del Software/0210_44/quest.txt @@ -0,0 +1,2 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_44.png +Quale dei seguenti modelli Modelica rappresenta lo state diagram in figura ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_44/wrong1.txt b/Ingegneria del Software/0210_44/wrong1.txt new file mode 100644 index 0000000..421b38f --- /dev/null +++ b/Ingegneria del Software/0210_44/wrong1.txt @@ -0,0 +1,34 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 3; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0210_44/wrong2.txt b/Ingegneria del Software/0210_44/wrong2.txt new file mode 100644 index 0000000..f385f1c --- /dev/null +++ b/Ingegneria del Software/0210_44/wrong2.txt @@ -0,0 +1,35 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 3; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0210_44/wrong3.txt b/Ingegneria del Software/0210_44/wrong3.txt new file mode 100644 index 0000000..1034e02 --- /dev/null +++ b/Ingegneria del Software/0210_44/wrong3.txt @@ -0,0 +1,32 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 0; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0210_45/correct.txt b/Ingegneria del Software/0210_45/correct.txt new file mode 100644 index 0000000..4a8e634 --- /dev/null +++ b/Ingegneria del Software/0210_45/correct.txt @@ -0,0 +1,15 @@ +
+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/0210_45/quest.txt b/Ingegneria del Software/0210_45/quest.txt new file mode 100644 index 0000000..576af1a --- /dev/null +++ b/Ingegneria del Software/0210_45/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/0210_45/wrong1.txt b/Ingegneria del Software/0210_45/wrong1.txt new file mode 100644 index 0000000..68aa37a --- /dev/null +++ b/Ingegneria del Software/0210_45/wrong1.txt @@ -0,0 +1,16 @@ +
+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/0210_45/wrong2.txt b/Ingegneria del Software/0210_45/wrong2.txt new file mode 100644 index 0000000..a43796b --- /dev/null +++ b/Ingegneria del Software/0210_45/wrong2.txt @@ -0,0 +1,15 @@ +
+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/0210_46/correct.txt b/Ingegneria del Software/0210_46/correct.txt new file mode 100644 index 0000000..001b1d9 --- /dev/null +++ b/Ingegneria del Software/0210_46/correct.txt @@ -0,0 +1,9 @@ +block SysArch +DB db_c; +S1 s1_c; +S2 s2_c; +connect(db_c.input[1], s1_c.output); +connect(db_c.output[1], s1_c.input); +connect(db_c.input[2], s2_c.output); +connect(db_c.output[2], s2_c.input); +end SysArch \ No newline at end of file diff --git a/Ingegneria del Software/0210_46/quest.txt b/Ingegneria del Software/0210_46/quest.txt new file mode 100644 index 0000000..9f5199d --- /dev/null +++ b/Ingegneria del Software/0210_46/quest.txt @@ -0,0 +1,4 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_46.png +Si consideri la seguente architettura software: + +Quale dei seguenti modelli Modelica meglio la rappresenta ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_46/wrong1.txt b/Ingegneria del Software/0210_46/wrong1.txt new file mode 100644 index 0000000..fc95495 --- /dev/null +++ b/Ingegneria del Software/0210_46/wrong1.txt @@ -0,0 +1,9 @@ +block SysArch +DB db_c; +S1 s1_c; +S2 s2_c; +connect(db_c.input[1], s2_c.output[1]); +connect(db_c.output[1], s2_c.input[1]); +connect(s1_c.input[2], s2_c.output[2]); +connect(s1_c.output[2], s2_c.input[2]); +end SysArch \ No newline at end of file diff --git a/Ingegneria del Software/0210_46/wrong2.txt b/Ingegneria del Software/0210_46/wrong2.txt new file mode 100644 index 0000000..eaf9272 --- /dev/null +++ b/Ingegneria del Software/0210_46/wrong2.txt @@ -0,0 +1,9 @@ +block SysArch +DB db_c; +S1 s1_c; +S2 s2_c; +connect(db_c.input[1], s1_c.output[1]); +connect(db_c.output[1], s1_c.input[1]); +connect(s1_c.input[2], s2_c.output[2]); +connect(s1_c.output[2], s2_c.input[2]); +end SysArch \ No newline at end of file diff --git a/Ingegneria del Software/0210_47/correct.txt b/Ingegneria del Software/0210_47/correct.txt new file mode 100644 index 0000000..2fd674f --- /dev/null +++ b/Ingegneria del Software/0210_47/correct.txt @@ -0,0 +1 @@ +60% \ No newline at end of file diff --git a/Ingegneria del Software/0210_47/quest.txt b/Ingegneria del Software/0210_47/quest.txt new file mode 100644 index 0000000..4344b75 --- /dev/null +++ b/Ingegneria del Software/0210_47/quest.txt @@ -0,0 +1,8 @@ +Il partition coverage di un insieme di test cases è la percentuale di elementi della partition inclusi nei test cases. La partition è una partizione finita dell'insieme di input della funzione che si sta testando. +Si consideri la seguente funzione C: +int f1(int x) { return (2*x); } +Si vuole testare la funzione f1(). A tal fine l'insieme degli interi viene partizionato come segue: +{(-inf, -11], [-10, -1], {0}, [1, 50], [51, +inf)} +Si consideri il seguente insieme di test cases: +{x=-100, x= 40, x=100} +Quale delle seguenti è la partition coverage conseguita? \ No newline at end of file diff --git a/Ingegneria del Software/0210_47/wrong1.txt b/Ingegneria del Software/0210_47/wrong1.txt new file mode 100644 index 0000000..a2507e5 --- /dev/null +++ b/Ingegneria del Software/0210_47/wrong1.txt @@ -0,0 +1 @@ +80% \ No newline at end of file diff --git a/Ingegneria del Software/0210_47/wrong2.txt b/Ingegneria del Software/0210_47/wrong2.txt new file mode 100644 index 0000000..95bc750 --- /dev/null +++ b/Ingegneria del Software/0210_47/wrong2.txt @@ -0,0 +1 @@ +100% \ No newline at end of file diff --git a/Ingegneria del Software/0210_48/correct.txt b/Ingegneria del Software/0210_48/correct.txt new file mode 100644 index 0000000..7311d41 --- /dev/null +++ b/Ingegneria del Software/0210_48/correct.txt @@ -0,0 +1 @@ +Test set: {x=1, y=1}, {x=0, y=0}, {x=2, y=1}, {x=2, y=0}. \ No newline at end of file diff --git a/Ingegneria del Software/0210_48/quest.txt b/Ingegneria del Software/0210_48/quest.txt new file mode 100644 index 0000000..d3a9fe2 --- /dev/null +++ b/Ingegneria del Software/0210_48/quest.txt @@ -0,0 +1,8 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { + if (x - y <= 0) { if (x + y >= 1) return (1); else return (2); } + else {if (2*x + y >= 5) return (3); else return (4); } + } /* f() */ +Quale dei seguenti test sets consegue una branch coverage del 100% ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_48/wrong1.txt b/Ingegneria del Software/0210_48/wrong1.txt new file mode 100644 index 0000000..7e48e4f --- /dev/null +++ b/Ingegneria del Software/0210_48/wrong1.txt @@ -0,0 +1 @@ +Test set: {x=1, y=1}, {x=0, y=0}, {x=2, y=1}, {x=2, y=3}. \ No newline at end of file diff --git a/Ingegneria del Software/0210_48/wrong2.txt b/Ingegneria del Software/0210_48/wrong2.txt new file mode 100644 index 0000000..3e327ab --- /dev/null +++ b/Ingegneria del Software/0210_48/wrong2.txt @@ -0,0 +1 @@ +Test set: {x=1, y=1}, {x=2, y=2}, {x=2, y=1}, {x=2, y=0}. \ No newline at end of file diff --git a/Ingegneria del Software/0210_49/correct.txt b/Ingegneria del Software/0210_49/correct.txt new file mode 100644 index 0000000..b110af1 --- /dev/null +++ b/Ingegneria del Software/0210_49/correct.txt @@ -0,0 +1 @@ +Transition coverage: 40% \ No newline at end of file diff --git a/Ingegneria del Software/0210_49/quest.txt b/Ingegneria del Software/0210_49/quest.txt new file mode 100644 index 0000000..8cb7d37 --- /dev/null +++ b/Ingegneria del Software/0210_49/quest.txt @@ -0,0 +1,12 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_49.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + + +ed il seguente insieme di test cases: +Test case 1: act2 act0 act1 act2 act0 +Test case 2: act1 act2 act1 +Test case 3: act1 act2 act1 act0 act0 +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0210_49/wrong1.txt b/Ingegneria del Software/0210_49/wrong1.txt new file mode 100644 index 0000000..2d5aeb0 --- /dev/null +++ b/Ingegneria del Software/0210_49/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0210_49/wrong2.txt b/Ingegneria del Software/0210_49/wrong2.txt new file mode 100644 index 0000000..a29d476 --- /dev/null +++ b/Ingegneria del Software/0210_49/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0210_5/correct.txt b/Ingegneria del Software/0210_5/correct.txt new file mode 100644 index 0000000..e582263 --- /dev/null +++ b/Ingegneria del Software/0210_5/correct.txt @@ -0,0 +1,17 @@ +
+class Monitor
+
+InputReal x;  // plant output
+OutputBoolean y;
+
+Boolean z;
+initial equation
+y = false;
+equation
+z = (time > 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/0210_5/quest.txt b/Ingegneria del Software/0210_5/quest.txt new file mode 100644 index 0000000..864cc93 --- /dev/null +++ b/Ingegneria del Software/0210_5/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/0210_5/wrong1.txt b/Ingegneria del Software/0210_5/wrong1.txt new file mode 100644 index 0000000..0f38391 --- /dev/null +++ b/Ingegneria del Software/0210_5/wrong1.txt @@ -0,0 +1,17 @@ +
+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/0210_5/wrong2.txt b/Ingegneria del Software/0210_5/wrong2.txt new file mode 100644 index 0000000..590f7e1 --- /dev/null +++ b/Ingegneria del Software/0210_5/wrong2.txt @@ -0,0 +1,17 @@ +
+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/0210_6/correct.txt b/Ingegneria del Software/0210_6/correct.txt new file mode 100644 index 0000000..c37d6ae --- /dev/null +++ b/Ingegneria del Software/0210_6/correct.txt @@ -0,0 +1,15 @@ +
+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/0210_6/quest.txt b/Ingegneria del Software/0210_6/quest.txt new file mode 100644 index 0000000..003d1dd --- /dev/null +++ b/Ingegneria del Software/0210_6/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/0210_6/wrong1.txt b/Ingegneria del Software/0210_6/wrong1.txt new file mode 100644 index 0000000..14bd900 --- /dev/null +++ b/Ingegneria del Software/0210_6/wrong1.txt @@ -0,0 +1,16 @@ +
+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/0210_6/wrong2.txt b/Ingegneria del Software/0210_6/wrong2.txt new file mode 100644 index 0000000..edea147 --- /dev/null +++ b/Ingegneria del Software/0210_6/wrong2.txt @@ -0,0 +1,15 @@ +
+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/0210_7/correct.txt b/Ingegneria del Software/0210_7/correct.txt new file mode 100644 index 0000000..31a01d5 --- /dev/null +++ b/Ingegneria del Software/0210_7/correct.txt @@ -0,0 +1 @@ +Test set: {x=3, y=6}, {x=0, y=0}, {x=15, y=0}, {x=9, y=0}. \ No newline at end of file diff --git a/Ingegneria del Software/0210_7/quest.txt b/Ingegneria del Software/0210_7/quest.txt new file mode 100644 index 0000000..d649932 --- /dev/null +++ b/Ingegneria del Software/0210_7/quest.txt @@ -0,0 +1,8 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { + if (x - y <= 6) { if (x + y >= 3) return (1); else return (2); } + else {if (x + 2*y >= 15) return (3); else return (4); } + } /* f() */ +Quale dei seguenti test sets consegue una branch coverage del 100% ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_7/wrong1.txt b/Ingegneria del Software/0210_7/wrong1.txt new file mode 100644 index 0000000..549dba8 --- /dev/null +++ b/Ingegneria del Software/0210_7/wrong1.txt @@ -0,0 +1 @@ +Test set: {x=3, y=6}, {x=0, y=0}, {x=15, y=0}, {x=10, y=3}. \ No newline at end of file diff --git a/Ingegneria del Software/0210_7/wrong2.txt b/Ingegneria del Software/0210_7/wrong2.txt new file mode 100644 index 0000000..0c564f7 --- /dev/null +++ b/Ingegneria del Software/0210_7/wrong2.txt @@ -0,0 +1 @@ +Test set: {x=3, y=6}, {x=2, y=1}, {x=15, y=0}, {x=9, y=0}. \ No newline at end of file diff --git a/Ingegneria del Software/0210_8/correct.txt b/Ingegneria del Software/0210_8/correct.txt new file mode 100644 index 0000000..81a4b93 --- /dev/null +++ b/Ingegneria del Software/0210_8/correct.txt @@ -0,0 +1 @@ +F(x, y, z) = if (x >= 0) then (z == pow(y, x)) else (z == 1) \ No newline at end of file diff --git a/Ingegneria del Software/0210_8/quest.txt b/Ingegneria del Software/0210_8/quest.txt new file mode 100644 index 0000000..236ccc7 --- /dev/null +++ b/Ingegneria del Software/0210_8/quest.txt @@ -0,0 +1,10 @@ +Un test oracle per un programma P è una funzione booleana che ha come inputs gli inputs ed outputs di P e ritorna true se e solo se il valore di output di P (con i dati inputs) è quello atteso dalle specifiche. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { +int z, k; +z = 1; k = 0; +while (k < x) { z = y*z; k = k + 1; } +return (z); +} +Siano x, y, gli inputs del programma (f nel nostro caso) e z l'output. Assumendo il programma corretto, quale delle seguenti funzioni booleane F(x, y, z) è un test oracle per la funzione f. \ No newline at end of file diff --git a/Ingegneria del Software/0210_8/wrong1.txt b/Ingegneria del Software/0210_8/wrong1.txt new file mode 100644 index 0000000..f52d5ae --- /dev/null +++ b/Ingegneria del Software/0210_8/wrong1.txt @@ -0,0 +1 @@ +F(x, y, z) = if (x >= 0) then (z == pow(y, x)) else (z == y) \ No newline at end of file diff --git a/Ingegneria del Software/0210_8/wrong2.txt b/Ingegneria del Software/0210_8/wrong2.txt new file mode 100644 index 0000000..d246b94 --- /dev/null +++ b/Ingegneria del Software/0210_8/wrong2.txt @@ -0,0 +1 @@ +F(x, y, z) = if (x >= 0) then (z == pow(y, x)) else (z == 0) \ No newline at end of file diff --git a/Ingegneria del Software/0210_9/quest.txt b/Ingegneria del Software/0210_9/quest.txt new file mode 100644 index 0000000..fcfd787 --- /dev/null +++ b/Ingegneria del Software/0210_9/quest.txt @@ -0,0 +1,2 @@ +img=https://unspectacular-subdi.000webhostapp.com/0210_domanda_9.png +Quale dei seguenti modelli Modelica rappresenta lo state diagram in figura ? \ No newline at end of file diff --git a/Ingegneria del Software/0210_9/wrong1.txt b/Ingegneria del Software/0210_9/wrong1.txt new file mode 100644 index 0000000..acd5e00 --- /dev/null +++ b/Ingegneria del Software/0210_9/wrong1.txt @@ -0,0 +1,36 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 2; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0210_9/wrong2.txt b/Ingegneria del Software/0210_9/wrong2.txt new file mode 100644 index 0000000..298890c --- /dev/null +++ b/Ingegneria del Software/0210_9/wrong2.txt @@ -0,0 +1,35 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 3; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0210_9/wrong3.txt b/Ingegneria del Software/0210_9/wrong3.txt new file mode 100644 index 0000000..3b3e08a --- /dev/null +++ b/Ingegneria del Software/0210_9/wrong3.txt @@ -0,0 +1,32 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0324_0/correct.txt b/Ingegneria del Software/0324_0/correct.txt new file mode 100644 index 0000000..3fb437d --- /dev/null +++ b/Ingegneria del Software/0324_0/correct.txt @@ -0,0 +1 @@ +0.56 \ No newline at end of file diff --git a/Ingegneria del Software/0324_0/quest.txt b/Ingegneria del Software/0324_0/quest.txt new file mode 100644 index 0000000..858d9c6 --- /dev/null +++ b/Ingegneria del Software/0324_0/quest.txt @@ -0,0 +1,9 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_0.png +Un processo software può essere rappesentato con uno state diagram in cui gli stati rappresentano le fasi (e loro iterazioni) del prcoesso software e gli archi le transizioni da una fase all'altra. Gli archi sono etichettati con le probabilità della transizione e gli stati sono etichettati con il costo per lasciare lo stato. +Ad esempio lo state diagram in figura + + + +Rappresenta un processo software con 2 fasi F1 ed F2. F1 ha costo 10000 EUR ed F2 ha costo 1000 EUR. F1 ha una probabilita dello 0.3 di dover essere ripetuta (a causa di errori) ed F2 ha una probabilità 0.2 di dover essere ripetuta (a causa di errori). +Uno scenario è una sequenza di stati. +Qual'e' la probabilità dello scenario: 1, 3 ? In altri terminti, qual'è la probabilità che non sia necessario ripetere nessuna fase? \ No newline at end of file diff --git a/Ingegneria del Software/0324_0/wrong1.txt b/Ingegneria del Software/0324_0/wrong1.txt new file mode 100644 index 0000000..c64601b --- /dev/null +++ b/Ingegneria del Software/0324_0/wrong1.txt @@ -0,0 +1 @@ +0.14 \ No newline at end of file diff --git a/Ingegneria del Software/0324_0/wrong2.txt b/Ingegneria del Software/0324_0/wrong2.txt new file mode 100644 index 0000000..fc54e00 --- /dev/null +++ b/Ingegneria del Software/0324_0/wrong2.txt @@ -0,0 +1 @@ +0.24 \ No newline at end of file diff --git a/Ingegneria del Software/0324_1/quest.txt b/Ingegneria del Software/0324_1/quest.txt new file mode 100644 index 0000000..a4a7e01 --- /dev/null +++ b/Ingegneria del Software/0324_1/quest.txt @@ -0,0 +1,4 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_1.png +Si consideri la seguente architettura software: + +Quale dei seguneti modelli Modelica meglio la rappresenta. \ No newline at end of file diff --git a/Ingegneria del Software/0324_1/wrong1.txt b/Ingegneria del Software/0324_1/wrong1.txt new file mode 100644 index 0000000..4bcd55f --- /dev/null +++ b/Ingegneria del Software/0324_1/wrong1.txt @@ -0,0 +1,8 @@ +block SysArch // System Architecture + +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 + +connect(sc1.output12, sc \ No newline at end of file diff --git a/Ingegneria del Software/0324_1/wrong2.txt b/Ingegneria del Software/0324_1/wrong2.txt new file mode 100644 index 0000000..a3caf2e --- /dev/null +++ b/Ingegneria del Software/0324_1/wrong2.txt @@ -0,0 +1,2 @@ +input12) +connect(sc2.output23, sc \ No newline at end of file diff --git a/Ingegneria del Software/0324_1/wrong3.txt b/Ingegneria del Software/0324_1/wrong3.txt new file mode 100644 index 0000000..1d08fb4 --- /dev/null +++ b/Ingegneria del Software/0324_1/wrong3.txt @@ -0,0 +1,46 @@ +input23) +connect(sc2.output24, sc4.input24) +connect(sc3.output31, sc1.input31) +connect(sc3.output34, sc4.input34) +connect(sc4.output41, sc1.input41) +connect(sc4.output43, sc3.input43) + + +end SysArch; + +2. + +block SysArch // System Architecture + +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 + +connect(sc1.output12, sc2.input12) +connect(sc1.output13, sc3.input13) +connect(sc1.output14, sc4.input14) +connect(sc2.output21, sc1.input21) +connect(sc3.output31, sc1.input31) +connect(sc3.output32, sc2.input32) +connect(sc3.output34, sc4.input34) +connect(sc4.output41, sc1.input41) + + +end SysArch; + +3. +block SysArch // System Architecture + +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 + +connect(sc1.output14, sc4.input14) +connect(sc3.output31, sc1.input31) +connect(sc3.output34, sc4.input34) +connect(sc4.output41, sc1.input41) + + +end SysArch; \ No newline at end of file diff --git a/Ingegneria del Software/0324_10/correct.txt b/Ingegneria del Software/0324_10/correct.txt new file mode 100644 index 0000000..aef914a --- /dev/null +++ b/Ingegneria del Software/0324_10/correct.txt @@ -0,0 +1 @@ +Assicurarsi che un sistema che soddisfa i requisiti risolve il problema del "customer". \ No newline at end of file diff --git a/Ingegneria del Software/0324_10/quest.txt b/Ingegneria del Software/0324_10/quest.txt new file mode 100644 index 0000000..9af4805 --- /dev/null +++ b/Ingegneria del Software/0324_10/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive l'obiettivo del "validity check" che è parte della "requirements validation activity". \ No newline at end of file diff --git a/Ingegneria del Software/0324_10/wrong1.txt b/Ingegneria del Software/0324_10/wrong1.txt new file mode 100644 index 0000000..eb23d05 --- /dev/null +++ b/Ingegneria del Software/0324_10/wrong1.txt @@ -0,0 +1 @@ +Assicurarsi che non ci siano requisiti in conflitto con altri requisiti. \ No newline at end of file diff --git a/Ingegneria del Software/0324_10/wrong2.txt b/Ingegneria del Software/0324_10/wrong2.txt new file mode 100644 index 0000000..32c628c --- /dev/null +++ b/Ingegneria del Software/0324_10/wrong2.txt @@ -0,0 +1 @@ +Assicurarsi che i requisiti funzionali descrivano tutte le funzionalità del sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0324_11/quest.txt b/Ingegneria del Software/0324_11/quest.txt new file mode 100644 index 0000000..26df850 --- /dev/null +++ b/Ingegneria del Software/0324_11/quest.txt @@ -0,0 +1,2 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_11.png +Quale dei seguenti modelli Modelica rappresenta lo state diagram in figura ? \ No newline at end of file diff --git a/Ingegneria del Software/0324_11/wrong1.txt b/Ingegneria del Software/0324_11/wrong1.txt new file mode 100644 index 0000000..2f7168f --- /dev/null +++ b/Ingegneria del Software/0324_11/wrong1.txt @@ -0,0 +1,35 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0324_11/wrong2.txt b/Ingegneria del Software/0324_11/wrong2.txt new file mode 100644 index 0000000..c3b40d2 --- /dev/null +++ b/Ingegneria del Software/0324_11/wrong2.txt @@ -0,0 +1,34 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 3; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0324_11/wrong3.txt b/Ingegneria del Software/0324_11/wrong3.txt new file mode 100644 index 0000000..9116c62 --- /dev/null +++ b/Ingegneria del Software/0324_11/wrong3.txt @@ -0,0 +1,37 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 3; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0324_12/correct.txt b/Ingegneria del Software/0324_12/correct.txt new file mode 100644 index 0000000..e74b1fc --- /dev/null +++ b/Ingegneria del Software/0324_12/correct.txt @@ -0,0 +1 @@ +F(x, y, z) = if (x > y) then (z == x) else (z == y + 1) \ No newline at end of file diff --git a/Ingegneria del Software/0324_12/quest.txt b/Ingegneria del Software/0324_12/quest.txt new file mode 100644 index 0000000..c1cd6d0 --- /dev/null +++ b/Ingegneria del Software/0324_12/quest.txt @@ -0,0 +1,9 @@ +Un test oracle per un programma P è una funzione booleana che ha come inputs gli inputs ed outputs di P e ritorna true se e solo se il valore di output di P (con i dati inputs) è quello atteso dalle specifiche. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { +int z = x; +while ( (x <= z) && (z <= y) ) { z = z + 1; } +return (z); +} +Siano x, y, gli inputs del programma (f nel nostro caso) e z l'output. Assumendo il programma corretto, quale delle seguenti funzioni booleane F(x, y, z) è un test oracle per la funzione f. \ No newline at end of file diff --git a/Ingegneria del Software/0324_12/wrong1.txt b/Ingegneria del Software/0324_12/wrong1.txt new file mode 100644 index 0000000..d63544a --- /dev/null +++ b/Ingegneria del Software/0324_12/wrong1.txt @@ -0,0 +1 @@ +F(x, y, z) = if (x > y) then (z == x + 1) else (z == y + 1) \ No newline at end of file diff --git a/Ingegneria del Software/0324_12/wrong2.txt b/Ingegneria del Software/0324_12/wrong2.txt new file mode 100644 index 0000000..1753a91 --- /dev/null +++ b/Ingegneria del Software/0324_12/wrong2.txt @@ -0,0 +1 @@ +F(x, y, z) = (z == y + 1) \ No newline at end of file diff --git a/Ingegneria del Software/0324_13/correct.txt b/Ingegneria del Software/0324_13/correct.txt new file mode 100644 index 0000000..2fd674f --- /dev/null +++ b/Ingegneria del Software/0324_13/correct.txt @@ -0,0 +1 @@ +60% \ No newline at end of file diff --git a/Ingegneria del Software/0324_13/quest.txt b/Ingegneria del Software/0324_13/quest.txt new file mode 100644 index 0000000..4344b75 --- /dev/null +++ b/Ingegneria del Software/0324_13/quest.txt @@ -0,0 +1,8 @@ +Il partition coverage di un insieme di test cases è la percentuale di elementi della partition inclusi nei test cases. La partition è una partizione finita dell'insieme di input della funzione che si sta testando. +Si consideri la seguente funzione C: +int f1(int x) { return (2*x); } +Si vuole testare la funzione f1(). A tal fine l'insieme degli interi viene partizionato come segue: +{(-inf, -11], [-10, -1], {0}, [1, 50], [51, +inf)} +Si consideri il seguente insieme di test cases: +{x=-100, x= 40, x=100} +Quale delle seguenti è la partition coverage conseguita? \ No newline at end of file diff --git a/Ingegneria del Software/0324_13/wrong1.txt b/Ingegneria del Software/0324_13/wrong1.txt new file mode 100644 index 0000000..95bc750 --- /dev/null +++ b/Ingegneria del Software/0324_13/wrong1.txt @@ -0,0 +1 @@ +100% \ No newline at end of file diff --git a/Ingegneria del Software/0324_13/wrong2.txt b/Ingegneria del Software/0324_13/wrong2.txt new file mode 100644 index 0000000..a2507e5 --- /dev/null +++ b/Ingegneria del Software/0324_13/wrong2.txt @@ -0,0 +1 @@ +80% \ No newline at end of file diff --git a/Ingegneria del Software/0324_14/correct.txt b/Ingegneria del Software/0324_14/correct.txt new file mode 100644 index 0000000..1c7da8c --- /dev/null +++ b/Ingegneria del Software/0324_14/correct.txt @@ -0,0 +1 @@ +0.03 \ No newline at end of file diff --git a/Ingegneria del Software/0324_14/quest.txt b/Ingegneria del Software/0324_14/quest.txt new file mode 100644 index 0000000..b9ba678 --- /dev/null +++ b/Ingegneria del Software/0324_14/quest.txt @@ -0,0 +1,9 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_14.png +Un processo software può essere rappesentato con uno state diagram in cui gli stati rappresentano le fasi (e loro iterazioni) del prcoesso software e gli archi le transizioni da una fase all'altra. Gli archi sono etichettati con le probabilità della transizione e gli stati sono etichettati con il costo per lasciare lo stato. +Ad esempio lo state diagram in figura + + + +Rappresenta un processo software con 2 fasi F1 ed F2. F1 ha costo 10000 EUR ed F2 ha costo 1000 EUR. F1 ha una probabilita dello 0.3 di dover essere ripetuta (a causa di errori) ed F2 ha una probabilità 0.1 di dover essere ripetuta (a causa di errori). +Uno scenario è una sequenza di stati. +Qual'e' la probabilità dello scenario: 1, 2, 3, 4 ? In altri terminti, qual'è la probabilità che sia necessario ripetere sia la fase 1 che la fase 2 ? \ No newline at end of file diff --git a/Ingegneria del Software/0324_14/wrong1.txt b/Ingegneria del Software/0324_14/wrong1.txt new file mode 100644 index 0000000..7eb6830 --- /dev/null +++ b/Ingegneria del Software/0324_14/wrong1.txt @@ -0,0 +1 @@ +0.27 \ No newline at end of file diff --git a/Ingegneria del Software/0324_14/wrong2.txt b/Ingegneria del Software/0324_14/wrong2.txt new file mode 100644 index 0000000..8a346b7 --- /dev/null +++ b/Ingegneria del Software/0324_14/wrong2.txt @@ -0,0 +1 @@ +0.07 \ No newline at end of file diff --git a/Ingegneria del Software/0324_15/correct.txt b/Ingegneria del Software/0324_15/correct.txt new file mode 100644 index 0000000..a40ea7d --- /dev/null +++ b/Ingegneria del Software/0324_15/correct.txt @@ -0,0 +1 @@ +(a=200, b = 0, c = 1), (a=50, b = 5, c = 0), (a=50, b = 3, c = 0). \ No newline at end of file diff --git a/Ingegneria del Software/0324_15/quest.txt b/Ingegneria del Software/0324_15/quest.txt new file mode 100644 index 0000000..2d895ca --- /dev/null +++ b/Ingegneria del Software/0324_15/quest.txt @@ -0,0 +1,22 @@ +Una Condition è una proposizione booleana, cioè una espressione con valore booleano che non può essere decomposta +in espressioni boolean più semplici. Ad esempio, (x + y <= 3) è una condition. + +Una Decision è una espressione booleana composta da conditions e zero o più operatori booleani. Ad esempio, sono decisions: +(x + y <= 3) +((x + y <= 3) || (x - y > 7)) +Un insieme di test cases T soddisfa il criterio di Condition/Decision coverage se tutte le seguenti condizioni sono soddisfatte: + +1) Ciascun punto di entrata ed uscita nel programma è eseguito in almeno un test; +2) Per ogni decision d nel programma, per ogni condition c in d, esiste un test in T in cui c è true ed un test in T in cui c è false. +3) Per ogni decision d nel programma, esiste un test in T in cui d è true ed un test in T in cui d è false. + +Si consideri la seguente funzione: +int f(int a, int b, int c) +{ if ( (a >= 100) && (b - c <= 1) ) + return (1); // punto di uscita 1 + else if ((b - c <= 1) || (b + c >= 5) +) + then return (2); // punto di uscita 2 + else return (3); // punto di uscita 3 +} + Quale dei seguenti test set soddisfa il criterio della Condition/Decision coverage ? \ No newline at end of file diff --git a/Ingegneria del Software/0324_15/wrong1.txt b/Ingegneria del Software/0324_15/wrong1.txt new file mode 100644 index 0000000..5b77112 --- /dev/null +++ b/Ingegneria del Software/0324_15/wrong1.txt @@ -0,0 +1 @@ +(a=200, b = 0, c = 1), (a=50, b = 5, c = 0), (a=50, b = 0, c = 5). \ No newline at end of file diff --git a/Ingegneria del Software/0324_15/wrong2.txt b/Ingegneria del Software/0324_15/wrong2.txt new file mode 100644 index 0000000..abe0eaa --- /dev/null +++ b/Ingegneria del Software/0324_15/wrong2.txt @@ -0,0 +1 @@ +(a=200, b = 0, c = 1), (a=50, b = 4, c = 0), (a=200, b = 4, c = 0) \ No newline at end of file diff --git a/Ingegneria del Software/0324_16/correct.txt b/Ingegneria del Software/0324_16/correct.txt new file mode 100644 index 0000000..1a8a50a --- /dev/null +++ b/Ingegneria del Software/0324_16/correct.txt @@ -0,0 +1 @@ +Per ciascun requisito, dovremmo essere in grado di scrivere un inseme di test che può dimostrare che il sistema sviluppato soddisfa il requisito considerato. \ No newline at end of file diff --git a/Ingegneria del Software/0324_16/quest.txt b/Ingegneria del Software/0324_16/quest.txt new file mode 100644 index 0000000..793b220 --- /dev/null +++ b/Ingegneria del Software/0324_16/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive il criterio di "requirements verifiability" che è parte della "requirements validation activity". \ No newline at end of file diff --git a/Ingegneria del Software/0324_16/wrong1.txt b/Ingegneria del Software/0324_16/wrong1.txt new file mode 100644 index 0000000..fac8307 --- /dev/null +++ b/Ingegneria del Software/0324_16/wrong1.txt @@ -0,0 +1 @@ +Per ciascuna coppia di componenti, dovremmo essere in grado di scrivere un insieme di test che può dimostrare che l'interazione tra le componenti soddisfa tutti i requisiti di interfaccia. \ No newline at end of file diff --git a/Ingegneria del Software/0324_16/wrong2.txt b/Ingegneria del Software/0324_16/wrong2.txt new file mode 100644 index 0000000..3fdb31e --- /dev/null +++ b/Ingegneria del Software/0324_16/wrong2.txt @@ -0,0 +1 @@ +Per ciascuna componente del sistema, dovremmo essere in grado di scrivere un insieme di test che può dimostrare che essa soddisfa tutti i requisiti. \ No newline at end of file diff --git a/Ingegneria del Software/0324_17/correct.txt b/Ingegneria del Software/0324_17/correct.txt new file mode 100644 index 0000000..b110af1 --- /dev/null +++ b/Ingegneria del Software/0324_17/correct.txt @@ -0,0 +1 @@ +Transition coverage: 40% \ No newline at end of file diff --git a/Ingegneria del Software/0324_17/quest.txt b/Ingegneria del Software/0324_17/quest.txt new file mode 100644 index 0000000..1f51ab1 --- /dev/null +++ b/Ingegneria del Software/0324_17/quest.txt @@ -0,0 +1,13 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_17.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + + +ed il seguente insieme di test cases: +Test case 1: act2 act1 act2 +Test case 2: act2 act2 act2 act2 act1 +Test case 3: act2 act2 act2 act2 act0 + +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0324_17/wrong1.txt b/Ingegneria del Software/0324_17/wrong1.txt new file mode 100644 index 0000000..a29d476 --- /dev/null +++ b/Ingegneria del Software/0324_17/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0324_17/wrong2.txt b/Ingegneria del Software/0324_17/wrong2.txt new file mode 100644 index 0000000..2d5aeb0 --- /dev/null +++ b/Ingegneria del Software/0324_17/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0324_18/correct.txt b/Ingegneria del Software/0324_18/correct.txt new file mode 100644 index 0000000..7311d41 --- /dev/null +++ b/Ingegneria del Software/0324_18/correct.txt @@ -0,0 +1 @@ +Test set: {x=1, y=1}, {x=0, y=0}, {x=2, y=1}, {x=2, y=0}. \ No newline at end of file diff --git a/Ingegneria del Software/0324_18/quest.txt b/Ingegneria del Software/0324_18/quest.txt new file mode 100644 index 0000000..d3a9fe2 --- /dev/null +++ b/Ingegneria del Software/0324_18/quest.txt @@ -0,0 +1,8 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { + if (x - y <= 0) { if (x + y >= 1) return (1); else return (2); } + else {if (2*x + y >= 5) return (3); else return (4); } + } /* f() */ +Quale dei seguenti test sets consegue una branch coverage del 100% ? \ No newline at end of file diff --git a/Ingegneria del Software/0324_18/wrong1.txt b/Ingegneria del Software/0324_18/wrong1.txt new file mode 100644 index 0000000..3e327ab --- /dev/null +++ b/Ingegneria del Software/0324_18/wrong1.txt @@ -0,0 +1 @@ +Test set: {x=1, y=1}, {x=2, y=2}, {x=2, y=1}, {x=2, y=0}. \ No newline at end of file diff --git a/Ingegneria del Software/0324_18/wrong2.txt b/Ingegneria del Software/0324_18/wrong2.txt new file mode 100644 index 0000000..7e48e4f --- /dev/null +++ b/Ingegneria del Software/0324_18/wrong2.txt @@ -0,0 +1 @@ +Test set: {x=1, y=1}, {x=0, y=0}, {x=2, y=1}, {x=2, y=3}. \ No newline at end of file diff --git a/Ingegneria del Software/0324_19/correct.txt b/Ingegneria del Software/0324_19/correct.txt new file mode 100644 index 0000000..6b560cf --- /dev/null +++ b/Ingegneria del Software/0324_19/correct.txt @@ -0,0 +1 @@ +Transition coverage: 25% \ No newline at end of file diff --git a/Ingegneria del Software/0324_19/quest.txt b/Ingegneria del Software/0324_19/quest.txt new file mode 100644 index 0000000..b7a608e --- /dev/null +++ b/Ingegneria del Software/0324_19/quest.txt @@ -0,0 +1,12 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_19.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + + +ed il seguente insieme di test cases: +Test case 1: act0 +Test case 2: act2 act2 act0 +Test case 3: act1 act1 act0 +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0324_19/wrong1.txt b/Ingegneria del Software/0324_19/wrong1.txt new file mode 100644 index 0000000..b110af1 --- /dev/null +++ b/Ingegneria del Software/0324_19/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 40% \ No newline at end of file diff --git a/Ingegneria del Software/0324_19/wrong2.txt b/Ingegneria del Software/0324_19/wrong2.txt new file mode 100644 index 0000000..2d5aeb0 --- /dev/null +++ b/Ingegneria del Software/0324_19/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0324_2/correct.txt b/Ingegneria del Software/0324_2/correct.txt new file mode 100644 index 0000000..95bc750 --- /dev/null +++ b/Ingegneria del Software/0324_2/correct.txt @@ -0,0 +1 @@ +100% \ No newline at end of file diff --git a/Ingegneria del Software/0324_2/quest.txt b/Ingegneria del Software/0324_2/quest.txt new file mode 100644 index 0000000..adede32 --- /dev/null +++ b/Ingegneria del Software/0324_2/quest.txt @@ -0,0 +1,9 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { + if (x - y <= 2) { if (x + y >= 1) return (1); else return (2); } + else {if (x + 2*y >= 5) return (3); else return (4); } + } /* f() */ +Si considerino i seguenti test cases: {x=1, y=2}, {x=0, y=0}, {x=5, y=0}, {x=3, y=0}. +Quale delle seguenti è la branch coverage conseguita? \ No newline at end of file diff --git a/Ingegneria del Software/0324_2/wrong1.txt b/Ingegneria del Software/0324_2/wrong1.txt new file mode 100644 index 0000000..a2507e5 --- /dev/null +++ b/Ingegneria del Software/0324_2/wrong1.txt @@ -0,0 +1 @@ +80% \ No newline at end of file diff --git a/Ingegneria del Software/0324_2/wrong2.txt b/Ingegneria del Software/0324_2/wrong2.txt new file mode 100644 index 0000000..23e721f --- /dev/null +++ b/Ingegneria del Software/0324_2/wrong2.txt @@ -0,0 +1 @@ +50% \ No newline at end of file diff --git a/Ingegneria del Software/0324_20/correct.txt b/Ingegneria del Software/0324_20/correct.txt new file mode 100644 index 0000000..90b2f35 --- /dev/null +++ b/Ingegneria del Software/0324_20/correct.txt @@ -0,0 +1 @@ +State coverage: 40% \ No newline at end of file diff --git a/Ingegneria del Software/0324_20/quest.txt b/Ingegneria del Software/0324_20/quest.txt new file mode 100644 index 0000000..9d685ad --- /dev/null +++ b/Ingegneria del Software/0324_20/quest.txt @@ -0,0 +1,13 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_20.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + + + +Si consideri il seguente insieme di test cases: + +Test case 1: act0 act2 +Test case 2: act1 +Test case 3: act0 act2 + +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0324_20/wrong1.txt b/Ingegneria del Software/0324_20/wrong1.txt new file mode 100644 index 0000000..4e45af2 --- /dev/null +++ b/Ingegneria del Software/0324_20/wrong1.txt @@ -0,0 +1 @@ +State coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0324_20/wrong2.txt b/Ingegneria del Software/0324_20/wrong2.txt new file mode 100644 index 0000000..a8aead7 --- /dev/null +++ b/Ingegneria del Software/0324_20/wrong2.txt @@ -0,0 +1 @@ +State coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0324_21/correct.txt b/Ingegneria del Software/0324_21/correct.txt new file mode 100644 index 0000000..31a01d5 --- /dev/null +++ b/Ingegneria del Software/0324_21/correct.txt @@ -0,0 +1 @@ +Test set: {x=3, y=6}, {x=0, y=0}, {x=15, y=0}, {x=9, y=0}. \ No newline at end of file diff --git a/Ingegneria del Software/0324_21/quest.txt b/Ingegneria del Software/0324_21/quest.txt new file mode 100644 index 0000000..d649932 --- /dev/null +++ b/Ingegneria del Software/0324_21/quest.txt @@ -0,0 +1,8 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { + if (x - y <= 6) { if (x + y >= 3) return (1); else return (2); } + else {if (x + 2*y >= 15) return (3); else return (4); } + } /* f() */ +Quale dei seguenti test sets consegue una branch coverage del 100% ? \ No newline at end of file diff --git a/Ingegneria del Software/0324_21/wrong1.txt b/Ingegneria del Software/0324_21/wrong1.txt new file mode 100644 index 0000000..0c564f7 --- /dev/null +++ b/Ingegneria del Software/0324_21/wrong1.txt @@ -0,0 +1 @@ +Test set: {x=3, y=6}, {x=2, y=1}, {x=15, y=0}, {x=9, y=0}. \ No newline at end of file diff --git a/Ingegneria del Software/0324_21/wrong2.txt b/Ingegneria del Software/0324_21/wrong2.txt new file mode 100644 index 0000000..549dba8 --- /dev/null +++ b/Ingegneria del Software/0324_21/wrong2.txt @@ -0,0 +1 @@ +Test set: {x=3, y=6}, {x=0, y=0}, {x=15, y=0}, {x=10, y=3}. \ No newline at end of file diff --git a/Ingegneria del Software/0324_22/correct.txt b/Ingegneria del Software/0324_22/correct.txt new file mode 100644 index 0000000..95bc750 --- /dev/null +++ b/Ingegneria del Software/0324_22/correct.txt @@ -0,0 +1 @@ +100% \ No newline at end of file diff --git a/Ingegneria del Software/0324_22/quest.txt b/Ingegneria del Software/0324_22/quest.txt new file mode 100644 index 0000000..65cfd2d --- /dev/null +++ b/Ingegneria del Software/0324_22/quest.txt @@ -0,0 +1,9 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { + if (x - y <= 0) { if (x + y >= 2) return (1); else return (2); } + else {if (2*x + y >= 1) return (3); else return (4); } + } /* f() */ +Si considerino i seguenti test cases: {x=1, y=1}, {x=0, y=0}, {x=1, y=0}, {x=0, y=-1}. +Quale delle seguenti è la branch coverage conseguita? \ No newline at end of file diff --git a/Ingegneria del Software/0324_22/wrong1.txt b/Ingegneria del Software/0324_22/wrong1.txt new file mode 100644 index 0000000..23e721f --- /dev/null +++ b/Ingegneria del Software/0324_22/wrong1.txt @@ -0,0 +1 @@ +50% \ No newline at end of file diff --git a/Ingegneria del Software/0324_22/wrong2.txt b/Ingegneria del Software/0324_22/wrong2.txt new file mode 100644 index 0000000..a2507e5 --- /dev/null +++ b/Ingegneria del Software/0324_22/wrong2.txt @@ -0,0 +1 @@ +80% \ No newline at end of file diff --git a/Ingegneria del Software/0324_23/correct.txt b/Ingegneria del Software/0324_23/correct.txt new file mode 100644 index 0000000..4e45af2 --- /dev/null +++ b/Ingegneria del Software/0324_23/correct.txt @@ -0,0 +1 @@ +State coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0324_23/quest.txt b/Ingegneria del Software/0324_23/quest.txt new file mode 100644 index 0000000..c9ea208 --- /dev/null +++ b/Ingegneria del Software/0324_23/quest.txt @@ -0,0 +1,11 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_23.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + + + +Si consideri il seguente insieme di test cases: +Test case 1: act0 act2 +Test case 2: act1 act0 act0 act2 +Test case 3: act0 act0 act2 act2 +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0324_23/wrong1.txt b/Ingegneria del Software/0324_23/wrong1.txt new file mode 100644 index 0000000..a8aead7 --- /dev/null +++ b/Ingegneria del Software/0324_23/wrong1.txt @@ -0,0 +1 @@ +State coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0324_23/wrong2.txt b/Ingegneria del Software/0324_23/wrong2.txt new file mode 100644 index 0000000..1a8a508 --- /dev/null +++ b/Ingegneria del Software/0324_23/wrong2.txt @@ -0,0 +1 @@ +State coverage: 50% \ No newline at end of file diff --git a/Ingegneria del Software/0324_24/correct.txt b/Ingegneria del Software/0324_24/correct.txt new file mode 100644 index 0000000..e13eda2 --- /dev/null +++ b/Ingegneria del Software/0324_24/correct.txt @@ -0,0 +1 @@ +Accertarsi che i requisiti definiscano un sistema che risolve il problema che l'utente pianifica di risolvere. \ No newline at end of file diff --git a/Ingegneria del Software/0324_24/quest.txt b/Ingegneria del Software/0324_24/quest.txt new file mode 100644 index 0000000..b59a64d --- /dev/null +++ b/Ingegneria del Software/0324_24/quest.txt @@ -0,0 +1 @@ +Quali delle seguenti attività è parte del processo di validazione dei requisiti ? \ No newline at end of file diff --git a/Ingegneria del Software/0324_24/wrong1.txt b/Ingegneria del Software/0324_24/wrong1.txt new file mode 100644 index 0000000..b24f900 --- /dev/null +++ b/Ingegneria del Software/0324_24/wrong1.txt @@ -0,0 +1 @@ +Accertarsi che il sistema soddisfi i requisiti dati. \ No newline at end of file diff --git a/Ingegneria del Software/0324_24/wrong2.txt b/Ingegneria del Software/0324_24/wrong2.txt new file mode 100644 index 0000000..884d6b1 --- /dev/null +++ b/Ingegneria del Software/0324_24/wrong2.txt @@ -0,0 +1 @@ +Accertarsi che l'architettura del sistema soddisfi i requisiti dati. \ No newline at end of file diff --git a/Ingegneria del Software/0324_25/correct.txt b/Ingegneria del Software/0324_25/correct.txt new file mode 100644 index 0000000..7c149d8 --- /dev/null +++ b/Ingegneria del Software/0324_25/correct.txt @@ -0,0 +1 @@ +Assicurarsi che i requisisti descrivano tutte le funzionalità e vincoli (e.g., security, performance) del sistema desiderato dal customer. \ No newline at end of file diff --git a/Ingegneria del Software/0324_25/quest.txt b/Ingegneria del Software/0324_25/quest.txt new file mode 100644 index 0000000..8bba4b8 --- /dev/null +++ b/Ingegneria del Software/0324_25/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive l'obiettivo del "check di completezza" che è parte della "requirements validation activity". \ No newline at end of file diff --git a/Ingegneria del Software/0324_25/wrong1.txt b/Ingegneria del Software/0324_25/wrong1.txt new file mode 100644 index 0000000..3461684 --- /dev/null +++ b/Ingegneria del Software/0324_25/wrong1.txt @@ -0,0 +1 @@ +Assicurarsi che per ogni requisito sia stato implementato nel sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0324_25/wrong2.txt b/Ingegneria del Software/0324_25/wrong2.txt new file mode 100644 index 0000000..32c628c --- /dev/null +++ b/Ingegneria del Software/0324_25/wrong2.txt @@ -0,0 +1 @@ +Assicurarsi che i requisiti funzionali descrivano tutte le funzionalità del sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0324_26/quest.txt b/Ingegneria del Software/0324_26/quest.txt new file mode 100644 index 0000000..aef871e --- /dev/null +++ b/Ingegneria del Software/0324_26/quest.txt @@ -0,0 +1,19 @@ +Si consideri il seguente modello Modelica. Quale delle seguenti architetture software meglio lo rappresenta ? + +block SysArch // System Architecture + +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 + +connect(sc1.output12, sc2.input12) +connect(sc1.output13, sc3.input13) +connect(sc2.output23, sc3.input23) +connect(sc2.output24, sc4.input24) +connect(sc3.output34, sc4.input34) +connect(sc4.output41, sc1.input41) +connect(sc4.output42, sc2.input42) + + +end SysArch; \ No newline at end of file diff --git a/Ingegneria del Software/0324_26/wrong1.txt b/Ingegneria del Software/0324_26/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0324_26/wrong2.txt b/Ingegneria del Software/0324_26/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0324_26/wrong3.txt b/Ingegneria del Software/0324_26/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0324_27/correct.txt b/Ingegneria del Software/0324_27/correct.txt new file mode 100644 index 0000000..e582263 --- /dev/null +++ b/Ingegneria del Software/0324_27/correct.txt @@ -0,0 +1,17 @@ +
+class Monitor
+
+InputReal x;  // plant output
+OutputBoolean y;
+
+Boolean z;
+initial equation
+y = false;
+equation
+z = (time > 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/0324_27/quest.txt b/Ingegneria del Software/0324_27/quest.txt new file mode 100644 index 0000000..864cc93 --- /dev/null +++ b/Ingegneria del Software/0324_27/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/0324_27/wrong1.txt b/Ingegneria del Software/0324_27/wrong1.txt new file mode 100644 index 0000000..590f7e1 --- /dev/null +++ b/Ingegneria del Software/0324_27/wrong1.txt @@ -0,0 +1,17 @@ +
+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/0324_27/wrong2.txt b/Ingegneria del Software/0324_27/wrong2.txt new file mode 100644 index 0000000..0f38391 --- /dev/null +++ b/Ingegneria del Software/0324_27/wrong2.txt @@ -0,0 +1,17 @@ +
+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/0324_28/correct.txt b/Ingegneria del Software/0324_28/correct.txt new file mode 100644 index 0000000..4c75070 --- /dev/null +++ b/Ingegneria del Software/0324_28/correct.txt @@ -0,0 +1,16 @@ +
+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/0324_28/quest.txt b/Ingegneria del Software/0324_28/quest.txt new file mode 100644 index 0000000..e11a044 --- /dev/null +++ b/Ingegneria del Software/0324_28/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/0324_28/wrong1.txt b/Ingegneria del Software/0324_28/wrong1.txt new file mode 100644 index 0000000..6dafe94 --- /dev/null +++ b/Ingegneria del Software/0324_28/wrong1.txt @@ -0,0 +1,16 @@ +
+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/0324_28/wrong2.txt b/Ingegneria del Software/0324_28/wrong2.txt new file mode 100644 index 0000000..a3d79a4 --- /dev/null +++ b/Ingegneria del Software/0324_28/wrong2.txt @@ -0,0 +1,16 @@ +
+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/0324_29/correct.txt b/Ingegneria del Software/0324_29/correct.txt new file mode 100644 index 0000000..e7c5bb8 --- /dev/null +++ b/Ingegneria del Software/0324_29/correct.txt @@ -0,0 +1 @@ +Assicurarsi che, tenedo conto della tecnologia, budget e tempo disponibili, sia possibile realizzare un sistema che soddisfa i requisisti. \ No newline at end of file diff --git a/Ingegneria del Software/0324_29/quest.txt b/Ingegneria del Software/0324_29/quest.txt new file mode 100644 index 0000000..296cdcb --- /dev/null +++ b/Ingegneria del Software/0324_29/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive l'obiettivo del "check di realismo" (realizability) che è parte della "requirements validation activity". \ No newline at end of file diff --git a/Ingegneria del Software/0324_29/wrong1.txt b/Ingegneria del Software/0324_29/wrong1.txt new file mode 100644 index 0000000..2b6e242 --- /dev/null +++ b/Ingegneria del Software/0324_29/wrong1.txt @@ -0,0 +1 @@ +Assicurarsi che le funzionalità richieste al sistema siano necessarie per soddisfare le necessità del customer. \ No newline at end of file diff --git a/Ingegneria del Software/0324_29/wrong2.txt b/Ingegneria del Software/0324_29/wrong2.txt new file mode 100644 index 0000000..bfb5124 --- /dev/null +++ b/Ingegneria del Software/0324_29/wrong2.txt @@ -0,0 +1 @@ +Assicurarsi che le performance richieste al sistema siano necessarie per soddisfare le necessità del customer. \ No newline at end of file diff --git a/Ingegneria del Software/0324_3/correct.txt b/Ingegneria del Software/0324_3/correct.txt new file mode 100644 index 0000000..f6a4b07 --- /dev/null +++ b/Ingegneria del Software/0324_3/correct.txt @@ -0,0 +1 @@ +State coverage: 90% \ No newline at end of file diff --git a/Ingegneria del Software/0324_3/quest.txt b/Ingegneria del Software/0324_3/quest.txt new file mode 100644 index 0000000..b865ed9 --- /dev/null +++ b/Ingegneria del Software/0324_3/quest.txt @@ -0,0 +1,11 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_3.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + + + +Si consideri il seguente insieme di test cases: +Test case 1: act0 act0 act0 act2 act2 +Test case 2: act2 act0 act2 +Test case 3: act1 act0 act0 act2 act2 +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0324_3/wrong1.txt b/Ingegneria del Software/0324_3/wrong1.txt new file mode 100644 index 0000000..d4625fd --- /dev/null +++ b/Ingegneria del Software/0324_3/wrong1.txt @@ -0,0 +1 @@ +State coverage: 100% \ No newline at end of file diff --git a/Ingegneria del Software/0324_3/wrong2.txt b/Ingegneria del Software/0324_3/wrong2.txt new file mode 100644 index 0000000..4e45af2 --- /dev/null +++ b/Ingegneria del Software/0324_3/wrong2.txt @@ -0,0 +1 @@ +State coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0324_30/quest.txt b/Ingegneria del Software/0324_30/quest.txt new file mode 100644 index 0000000..985c244 --- /dev/null +++ b/Ingegneria del Software/0324_30/quest.txt @@ -0,0 +1,4 @@ +Un test oracle per un programma P è una funzione booleana che ha come inputs gli inputs ed outputs di P e ritorna true se e solo se il valore di output di P (con i dati inputs) è quello atteso dalle specifiche. +Si consideri la seguente specifica funzionale per la funzione f. +La funzione f(int *A, int *B) prende come input un vettore A di dimensione n ritorna come output un vettore B ottenuto ordinando gli elementi di A in ordine crescente. +Quale delle seguenti funzioni è un test oracle per la funzione f ? \ No newline at end of file diff --git a/Ingegneria del Software/0324_30/wrong1.txt b/Ingegneria del Software/0324_30/wrong1.txt new file mode 100644 index 0000000..69b9722 --- /dev/null +++ b/Ingegneria del Software/0324_30/wrong1.txt @@ -0,0 +1,14 @@ +#define n 1000 +int TestOracle2(int *A, int *B) +{ +int i, j, D[n]; +//init +for (i = 0; i < n; i++) D[i] = -1; +// B is ordered +for (i = 0; i < n; i++) { for (j = i+1; j < n; j++) {if (B[j] < B[i]) {retun (0);}}} +// B is a permutation of A +for (i = 0; i < n; i++) { for (j = 0; j < n; j++) {if ((A[i] == B[j]) && (D[j] == -1)) {C[i][j] = 1; break;} +for (i = 0; i < n; i++) {if (D[i] == -1) return (0);} +// B ok +return (1); +} \ No newline at end of file diff --git a/Ingegneria del Software/0324_30/wrong2.txt b/Ingegneria del Software/0324_30/wrong2.txt new file mode 100644 index 0000000..a26ce6e --- /dev/null +++ b/Ingegneria del Software/0324_30/wrong2.txt @@ -0,0 +1,15 @@ +#define n 1000 + +int TestOracle3(int *A, int *B) +{ +int i, j, D[n]; +//init +for (i = 0; i < n; i++) D[i] = -1; +// B is ordered +for (i = 0; i < n; i++) { for (j = i+1; j < n; j++) {if (B[j] < B[i]) {retun (0);}}} +// B is a permutation of A +for (i = 0; i < n; i++) { for (j = 0; j < n; j++) {if (A[i] == B[j]) {C[i][j] = 1; D[j] = 1; break;} +for (i = 0; i < n; i++) {if (D[i] == -1) return (0);} +// B ok +return (1); +} \ No newline at end of file diff --git a/Ingegneria del Software/0324_30/wrong3.txt b/Ingegneria del Software/0324_30/wrong3.txt new file mode 100644 index 0000000..ed5ad19 --- /dev/null +++ b/Ingegneria del Software/0324_30/wrong3.txt @@ -0,0 +1,14 @@ +#define n 1000 +int TestOracle1(int *A, int *B) +{ +int i, j, D[n]; +//init +for (i = 0; i < n; i++) D[i] = -1; +// B is ordered +for (i = 0; i < n; i++) { for (j = i+1; j < n; j++) {if (B[j] < B[i]) {retun (0);}}} +// B is a permutation of A +for (i = 0; i < n; i++) { for (j = 0; j < n; j++) {if ((A[i] == B[j]) && (D[j] == -1)) {C[i][j] = 1; D[j] = 1; break;} +for (i = 0; i < n; i++) {if (D[i] == -1) return (0);} +// B ok +return (1); +} \ No newline at end of file diff --git a/Ingegneria del Software/0324_31/correct.txt b/Ingegneria del Software/0324_31/correct.txt new file mode 100644 index 0000000..293ebbc --- /dev/null +++ b/Ingegneria del Software/0324_31/correct.txt @@ -0,0 +1,17 @@ +
+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) 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/0324_31/quest.txt b/Ingegneria del Software/0324_31/quest.txt new file mode 100644 index 0000000..5922b9f --- /dev/null +++ b/Ingegneria del Software/0324_31/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/0324_31/wrong1.txt b/Ingegneria del Software/0324_31/wrong1.txt new file mode 100644 index 0000000..d50b268 --- /dev/null +++ b/Ingegneria del Software/0324_31/wrong1.txt @@ -0,0 +1,17 @@ +
+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/0324_31/wrong2.txt b/Ingegneria del Software/0324_31/wrong2.txt new file mode 100644 index 0000000..d7890b2 --- /dev/null +++ b/Ingegneria del Software/0324_31/wrong2.txt @@ -0,0 +1,17 @@ +
+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/0324_32/correct.txt b/Ingegneria del Software/0324_32/correct.txt new file mode 100644 index 0000000..2a2ecea --- /dev/null +++ b/Ingegneria del Software/0324_32/correct.txt @@ -0,0 +1 @@ +time(0)/(1 - p) \ No newline at end of file diff --git a/Ingegneria del Software/0324_32/quest.txt b/Ingegneria del Software/0324_32/quest.txt new file mode 100644 index 0000000..5d96d42 --- /dev/null +++ b/Ingegneria del Software/0324_32/quest.txt @@ -0,0 +1,6 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_32.png +Si consideri il processo software con due fasi (0 ed 1) rappresentato con la Markov chain in figura. Lo stato iniziale 0 e p è in (0, 1). Il tempo necessario per completare la fase x è time(x). La fase 0 è la fase di design, che ha probabilità p di dover essere ripetuta causa errori. La fase 1 rappreenta il completamento del processo software, e quindi time(1) = 0. +Il tempo di una istanza del processo software descritto sopra è la somma dei tempi degli stati (fasi) attraversati (tenendo presente che si parte sempre dallo stato 0. +Quindi il costo Time(X) della sequenza di stati X = x(0), x(1), x(2), .... è Time(X) = time(x(0)) + time(x(1)) + time(x(2)) + ... +Ad esempio se X = 0, 1 abbiamo Time(X) = time(0) + time(1) = time(0) (poichè time(1) = 0). +Quale delle seguenti formule calcola il valore atteso del costo per completare il processo software di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0324_32/wrong1.txt b/Ingegneria del Software/0324_32/wrong1.txt new file mode 100644 index 0000000..9927a93 --- /dev/null +++ b/Ingegneria del Software/0324_32/wrong1.txt @@ -0,0 +1 @@ +time(0)/(p*(1 - p)) \ No newline at end of file diff --git a/Ingegneria del Software/0324_32/wrong2.txt b/Ingegneria del Software/0324_32/wrong2.txt new file mode 100644 index 0000000..d68fd15 --- /dev/null +++ b/Ingegneria del Software/0324_32/wrong2.txt @@ -0,0 +1 @@ +time(0)*(1 - p)/p \ No newline at end of file diff --git a/Ingegneria del Software/0324_33/correct.txt b/Ingegneria del Software/0324_33/correct.txt new file mode 100644 index 0000000..232aedf --- /dev/null +++ b/Ingegneria del Software/0324_33/correct.txt @@ -0,0 +1 @@ +(a = 6, b = 0, c = 1), (a = 0, b = 5, c = 0), (a = 0, b = 3, c = 0). \ No newline at end of file diff --git a/Ingegneria del Software/0324_33/quest.txt b/Ingegneria del Software/0324_33/quest.txt new file mode 100644 index 0000000..b2bed72 --- /dev/null +++ b/Ingegneria del Software/0324_33/quest.txt @@ -0,0 +1,21 @@ +Una Condition è una proposizione booleana, cioè una espressione con valore booleano che non può essere decomposta +in espressioni boolean più semplici. Ad esempio, (x + y <= 3) è una condition. + +Una Decision è una espressione booleana composta da conditions e zero o più operatori booleani. Ad esempio, sono decisions: +(x + y <= 3) +((x + y <= 3) || (x - y > 7)) +Un insieme di test cases T soddisfa il criterio di Condition/Decision coverage se tutte le seguenti condizioni sono soddisfatte: + +1) Ciascun punto di entrata ed uscita nel programma è eseguito in almeno un test; +2) Per ogni decision d nel programma, per ogni condition c in d, esiste un test in T in cui c è true ed un test in T in cui c è false. +3) Per ogni decision d nel programma, esiste un test in T in cui d è true ed un test in T in cui d è false. + +Si consideri la seguente funzione: +int f(int a, int b, int c) +{ if ( (a + b >= 6) && (b - c <= 1) ) + return (1); // punto di uscita 1 + else if ((b - c <= 1) || (b + c >= 5)) + then return (2); // punto di uscita 2 + else return (3); // punto di uscita 3 +} + Quale dei seguenti test set soddisfa il criterio della Condition/Decision coverage ? \ No newline at end of file diff --git a/Ingegneria del Software/0324_33/wrong1.txt b/Ingegneria del Software/0324_33/wrong1.txt new file mode 100644 index 0000000..5d5c9a4 --- /dev/null +++ b/Ingegneria del Software/0324_33/wrong1.txt @@ -0,0 +1 @@ +(a = 6, b = 0, c = 1), (a = 0, b = 5, c = 0), (a = 0, b = 3, c = 2). \ No newline at end of file diff --git a/Ingegneria del Software/0324_33/wrong2.txt b/Ingegneria del Software/0324_33/wrong2.txt new file mode 100644 index 0000000..2b6c292 --- /dev/null +++ b/Ingegneria del Software/0324_33/wrong2.txt @@ -0,0 +1 @@ +(a = 5, b = 0, c = 1), (a = 0, b = 5, c = 0), (a = 0, b = 3, c = 0). \ No newline at end of file diff --git a/Ingegneria del Software/0324_34/correct.txt b/Ingegneria del Software/0324_34/correct.txt new file mode 100644 index 0000000..ad21063 --- /dev/null +++ b/Ingegneria del Software/0324_34/correct.txt @@ -0,0 +1,15 @@ +
+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/0324_34/quest.txt b/Ingegneria del Software/0324_34/quest.txt new file mode 100644 index 0000000..031c331 --- /dev/null +++ b/Ingegneria del Software/0324_34/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/0324_34/wrong1.txt b/Ingegneria del Software/0324_34/wrong1.txt new file mode 100644 index 0000000..b14ac60 --- /dev/null +++ b/Ingegneria del Software/0324_34/wrong1.txt @@ -0,0 +1,15 @@ +
+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/0324_34/wrong2.txt b/Ingegneria del Software/0324_34/wrong2.txt new file mode 100644 index 0000000..e4201ab --- /dev/null +++ b/Ingegneria del Software/0324_34/wrong2.txt @@ -0,0 +1,15 @@ +
+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/0324_35/quest.txt b/Ingegneria del Software/0324_35/quest.txt new file mode 100644 index 0000000..627c57e --- /dev/null +++ b/Ingegneria del Software/0324_35/quest.txt @@ -0,0 +1,39 @@ +Si consideri il seguente modello Modelica. Quale dei seguenti UML state diagram lo rappresenta correttamente ? +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 2; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0324_35/wrong1.txt b/Ingegneria del Software/0324_35/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0324_35/wrong2.txt b/Ingegneria del Software/0324_35/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0324_35/wrong3.txt b/Ingegneria del Software/0324_35/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0324_36/correct.txt b/Ingegneria del Software/0324_36/correct.txt new file mode 100644 index 0000000..b9f32a6 --- /dev/null +++ b/Ingegneria del Software/0324_36/correct.txt @@ -0,0 +1 @@ +c(0)/(1 - p) \ No newline at end of file diff --git a/Ingegneria del Software/0324_36/quest.txt b/Ingegneria del Software/0324_36/quest.txt new file mode 100644 index 0000000..36471c2 --- /dev/null +++ b/Ingegneria del Software/0324_36/quest.txt @@ -0,0 +1,6 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_36.png +Si consideri il processo software con due fasi (0 ed 1) rappresentato con la Markov chain in figura. Lo stato iniziale 0 e p è in (0, 1). Il costo dello stato (fase) x è c(x). La fase 0 è la fase di design, che ha probabilità p di dover essere ripetuta causa errori. La fase 1 rappreenta il completamento del processo software, e quindi c(1) = 0. +Il costo di una istanza del processo software descritto sopra è la somma dei costi degli stati attraversati (tenendo presente che si parte sempre dallo stato 0. +Quindi il costo C(X) della sequenza di stati X = x(0), x(1), x(2), .... è C(X) = c(x(0)) + c(x(1)) + c(x(2)) + ... +Ad esempio se X = 0, 1 abbiamo C(X) = c(0) + c(1) = c(0) (poichè c(1) = 0). +Quale delle seguenti formule calcola il valore atteso del costo per completare il processo software di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0324_36/wrong1.txt b/Ingegneria del Software/0324_36/wrong1.txt new file mode 100644 index 0000000..3143da9 --- /dev/null +++ b/Ingegneria del Software/0324_36/wrong1.txt @@ -0,0 +1 @@ +c(0)/(p*(1 - p)) \ No newline at end of file diff --git a/Ingegneria del Software/0324_36/wrong2.txt b/Ingegneria del Software/0324_36/wrong2.txt new file mode 100644 index 0000000..70022eb --- /dev/null +++ b/Ingegneria del Software/0324_36/wrong2.txt @@ -0,0 +1 @@ +c(0)*(1 - p)/p \ No newline at end of file diff --git a/Ingegneria del Software/0324_37/correct.txt b/Ingegneria del Software/0324_37/correct.txt new file mode 100644 index 0000000..4e45af2 --- /dev/null +++ b/Ingegneria del Software/0324_37/correct.txt @@ -0,0 +1 @@ +State coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0324_37/quest.txt b/Ingegneria del Software/0324_37/quest.txt new file mode 100644 index 0000000..fc6a5e1 --- /dev/null +++ b/Ingegneria del Software/0324_37/quest.txt @@ -0,0 +1,12 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_37.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + + + +Si consideri il seguente insieme di test cases: + +Test case 1: act1 act2 act2 act2 +Test case 2: act0 act2 act1 act2 act0 +Test case 3: act0 act2 act1 act2 act2 +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0324_37/wrong1.txt b/Ingegneria del Software/0324_37/wrong1.txt new file mode 100644 index 0000000..90b2f35 --- /dev/null +++ b/Ingegneria del Software/0324_37/wrong1.txt @@ -0,0 +1 @@ +State coverage: 40% \ No newline at end of file diff --git a/Ingegneria del Software/0324_37/wrong2.txt b/Ingegneria del Software/0324_37/wrong2.txt new file mode 100644 index 0000000..a8aead7 --- /dev/null +++ b/Ingegneria del Software/0324_37/wrong2.txt @@ -0,0 +1 @@ +State coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0324_38/correct.txt b/Ingegneria del Software/0324_38/correct.txt new file mode 100644 index 0000000..98939be --- /dev/null +++ b/Ingegneria del Software/0324_38/correct.txt @@ -0,0 +1 @@ +1/(1 - p) \ No newline at end of file diff --git a/Ingegneria del Software/0324_38/quest.txt b/Ingegneria del Software/0324_38/quest.txt new file mode 100644 index 0000000..d24403f --- /dev/null +++ b/Ingegneria del Software/0324_38/quest.txt @@ -0,0 +1,2 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_38.png +Si consideri la Markov chain in figura con stato iniziale 0 e p in (0, 1). Quale delle seguenti formule calcola il valore atteso del numero di transizioni necessarie per lasciare lo stato 0. \ No newline at end of file diff --git a/Ingegneria del Software/0324_38/wrong1.txt b/Ingegneria del Software/0324_38/wrong1.txt new file mode 100644 index 0000000..56ea6ac --- /dev/null +++ b/Ingegneria del Software/0324_38/wrong1.txt @@ -0,0 +1 @@ +1/(p*(1 - p)) \ No newline at end of file diff --git a/Ingegneria del Software/0324_38/wrong2.txt b/Ingegneria del Software/0324_38/wrong2.txt new file mode 100644 index 0000000..db2276d --- /dev/null +++ b/Ingegneria del Software/0324_38/wrong2.txt @@ -0,0 +1 @@ +(1 - p)/p \ No newline at end of file diff --git a/Ingegneria del Software/0324_39/correct.txt b/Ingegneria del Software/0324_39/correct.txt new file mode 100644 index 0000000..4a8e634 --- /dev/null +++ b/Ingegneria del Software/0324_39/correct.txt @@ -0,0 +1,15 @@ +
+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/0324_39/quest.txt b/Ingegneria del Software/0324_39/quest.txt new file mode 100644 index 0000000..576af1a --- /dev/null +++ b/Ingegneria del Software/0324_39/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/0324_39/wrong1.txt b/Ingegneria del Software/0324_39/wrong1.txt new file mode 100644 index 0000000..a43796b --- /dev/null +++ b/Ingegneria del Software/0324_39/wrong1.txt @@ -0,0 +1,15 @@ +
+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/0324_39/wrong2.txt b/Ingegneria del Software/0324_39/wrong2.txt new file mode 100644 index 0000000..68aa37a --- /dev/null +++ b/Ingegneria del Software/0324_39/wrong2.txt @@ -0,0 +1,16 @@ +
+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/0324_4/correct.txt b/Ingegneria del Software/0324_4/correct.txt new file mode 100644 index 0000000..f2bb2d0 --- /dev/null +++ b/Ingegneria del Software/0324_4/correct.txt @@ -0,0 +1 @@ +0.12 \ No newline at end of file diff --git a/Ingegneria del Software/0324_4/quest.txt b/Ingegneria del Software/0324_4/quest.txt new file mode 100644 index 0000000..40b7789 --- /dev/null +++ b/Ingegneria del Software/0324_4/quest.txt @@ -0,0 +1,9 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_4.png +Un processo software può essere rappesentato con uno state diagram in cui gli stati rappresentano le fasi (e loro iterazioni) del prcoesso software e gli archi le transizioni da una fase all'altra. Gli archi sono etichettati con le probabilità della transizione e gli stati sono etichettati con il costo per lasciare lo stato. +Ad esempio lo state diagram in figura + + + +Rappresenta un processo software con 2 fasi F1 ed F2. F1 ha costo 10000 EUR ed F2 ha costo 1000 EUR. F1 ha una probabilita dello 0.4 di dover essere ripetuta (a causa di errori) ed F2 ha una probabilità 0.2 di dover essere ripetuta (a causa di errori). +Uno scenario è una sequenza di stati. +Qual'e' la probabilità dello scenario: 1, 3, 4? In altri terminti, qual'è la probabilità che non sia necessario ripetere la seconda fase (ma non la prima) ? \ No newline at end of file diff --git a/Ingegneria del Software/0324_4/wrong1.txt b/Ingegneria del Software/0324_4/wrong1.txt new file mode 100644 index 0000000..2a47a95 --- /dev/null +++ b/Ingegneria del Software/0324_4/wrong1.txt @@ -0,0 +1 @@ +0.08 \ No newline at end of file diff --git a/Ingegneria del Software/0324_4/wrong2.txt b/Ingegneria del Software/0324_4/wrong2.txt new file mode 100644 index 0000000..b7bbee2 --- /dev/null +++ b/Ingegneria del Software/0324_4/wrong2.txt @@ -0,0 +1 @@ +0.32 \ No newline at end of file diff --git a/Ingegneria del Software/0324_40/correct.txt b/Ingegneria del Software/0324_40/correct.txt new file mode 100644 index 0000000..ce9968f --- /dev/null +++ b/Ingegneria del Software/0324_40/correct.txt @@ -0,0 +1 @@ +0.28 \ No newline at end of file diff --git a/Ingegneria del Software/0324_40/quest.txt b/Ingegneria del Software/0324_40/quest.txt new file mode 100644 index 0000000..fbee794 --- /dev/null +++ b/Ingegneria del Software/0324_40/quest.txt @@ -0,0 +1,9 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_40.png +Un processo software può essere rappesentato con uno state diagram in cui gli stati rappresentano le fasi (e loro iterazioni) del processo software e gli archi le transizioni da una fase all'altra. Gli archi sono etichettati con le probabilità della transizione e gli stati sono etichettati con il costo per lasciare lo stato. +Ad esempio lo state diagram in figura + + + +Rappresenta un processo software con 2 fasi F1 ed F2. F1 ha costo 10000 EUR ed F2 ha costo 1000 EUR. F1 ha una probabilita dello 0.4 di dover essere ripetuta (a causa di errori) ed F2 ha una probabilità 0.3 di dover essere ripetuta (a causa di errori). +Uno scenario è una sequenza di stati. +Qual'e' la probabilità dello scenario: 1, 2, 3? In altri terminti, qual'è la probabilità che non sia necessario ripetere la prima fase (ma non la seconda) ? \ No newline at end of file diff --git a/Ingegneria del Software/0324_40/wrong1.txt b/Ingegneria del Software/0324_40/wrong1.txt new file mode 100644 index 0000000..f2bb2d0 --- /dev/null +++ b/Ingegneria del Software/0324_40/wrong1.txt @@ -0,0 +1 @@ +0.12 \ No newline at end of file diff --git a/Ingegneria del Software/0324_40/wrong2.txt b/Ingegneria del Software/0324_40/wrong2.txt new file mode 100644 index 0000000..e8f9017 --- /dev/null +++ b/Ingegneria del Software/0324_40/wrong2.txt @@ -0,0 +1 @@ +0.42 \ No newline at end of file diff --git a/Ingegneria del Software/0324_41/quest.txt b/Ingegneria del Software/0324_41/quest.txt new file mode 100644 index 0000000..bfb2790 --- /dev/null +++ b/Ingegneria del Software/0324_41/quest.txt @@ -0,0 +1,2 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_41.png +Quale dei seguenti modelli Modelica rappresenta lo state diagram in figura ? \ No newline at end of file diff --git a/Ingegneria del Software/0324_41/wrong1.txt b/Ingegneria del Software/0324_41/wrong1.txt new file mode 100644 index 0000000..1fad89a --- /dev/null +++ b/Ingegneria del Software/0324_41/wrong1.txt @@ -0,0 +1,36 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 0; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0324_41/wrong2.txt b/Ingegneria del Software/0324_41/wrong2.txt new file mode 100644 index 0000000..882ae3e --- /dev/null +++ b/Ingegneria del Software/0324_41/wrong2.txt @@ -0,0 +1,36 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0324_41/wrong3.txt b/Ingegneria del Software/0324_41/wrong3.txt new file mode 100644 index 0000000..e5618fa --- /dev/null +++ b/Ingegneria del Software/0324_41/wrong3.txt @@ -0,0 +1,34 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 3; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0324_42/quest.txt b/Ingegneria del Software/0324_42/quest.txt new file mode 100644 index 0000000..071ac68 --- /dev/null +++ b/Ingegneria del Software/0324_42/quest.txt @@ -0,0 +1,35 @@ +Si consideri il seguente modello Modelica. Quale dei seguenti UML state diagram lo rappresenta correttamente ? +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0324_42/wrong1.txt b/Ingegneria del Software/0324_42/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0324_42/wrong2.txt b/Ingegneria del Software/0324_42/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0324_42/wrong3.txt b/Ingegneria del Software/0324_42/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0324_43/correct.txt b/Ingegneria del Software/0324_43/correct.txt new file mode 100644 index 0000000..5464d05 --- /dev/null +++ b/Ingegneria del Software/0324_43/correct.txt @@ -0,0 +1 @@ +Transition coverage: 30% \ No newline at end of file diff --git a/Ingegneria del Software/0324_43/quest.txt b/Ingegneria del Software/0324_43/quest.txt new file mode 100644 index 0000000..710edb6 --- /dev/null +++ b/Ingegneria del Software/0324_43/quest.txt @@ -0,0 +1,13 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_43.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + + +ed il seguente insieme di test cases: +Test case 1: act2 act1 act0 act1 act0 +Test case 2: act1 act0 act2 act2 +Test case 3: act2 act2 act1 act2 act1 + +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0324_43/wrong1.txt b/Ingegneria del Software/0324_43/wrong1.txt new file mode 100644 index 0000000..a29d476 --- /dev/null +++ b/Ingegneria del Software/0324_43/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0324_43/wrong2.txt b/Ingegneria del Software/0324_43/wrong2.txt new file mode 100644 index 0000000..2d5aeb0 --- /dev/null +++ b/Ingegneria del Software/0324_43/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0324_44/correct.txt b/Ingegneria del Software/0324_44/correct.txt new file mode 100644 index 0000000..8785661 --- /dev/null +++ b/Ingegneria del Software/0324_44/correct.txt @@ -0,0 +1 @@ +{x = -200, x = -50, x = 0, x = 100, x = 700} \ No newline at end of file diff --git a/Ingegneria del Software/0324_44/quest.txt b/Ingegneria del Software/0324_44/quest.txt new file mode 100644 index 0000000..36947c2 --- /dev/null +++ b/Ingegneria del Software/0324_44/quest.txt @@ -0,0 +1,6 @@ +Il partition coverage di un insieme di test cases è la percentuale di elementi della partition inclusi nei test cases. La partition è una partizione finita dell'insieme di input della funzione che si sta testando. +Si consideri la seguente funzione C: +int f1(int x) { return (x + 7); } +Si vuole testare la funzione f1(). A tal fine l'insieme degli interi viene partizionato come segue: +{(-inf, -101], [-100, -1], {0}, [1, 500], [501, +inf)} +Quale dei seguenti test cases consegue una partition coverage del 100% ? \ No newline at end of file diff --git a/Ingegneria del Software/0324_44/wrong1.txt b/Ingegneria del Software/0324_44/wrong1.txt new file mode 100644 index 0000000..0aaedb8 --- /dev/null +++ b/Ingegneria del Software/0324_44/wrong1.txt @@ -0,0 +1 @@ +{x = -200, x = -50, x = 0, x = 100, x = 500} \ No newline at end of file diff --git a/Ingegneria del Software/0324_44/wrong2.txt b/Ingegneria del Software/0324_44/wrong2.txt new file mode 100644 index 0000000..a6df32d --- /dev/null +++ b/Ingegneria del Software/0324_44/wrong2.txt @@ -0,0 +1 @@ +{x = -200, x = -150, x = 0, x = 100, x = 700} \ No newline at end of file diff --git a/Ingegneria del Software/0324_45/correct.txt b/Ingegneria del Software/0324_45/correct.txt new file mode 100644 index 0000000..c37d6ae --- /dev/null +++ b/Ingegneria del Software/0324_45/correct.txt @@ -0,0 +1,15 @@ +
+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/0324_45/quest.txt b/Ingegneria del Software/0324_45/quest.txt new file mode 100644 index 0000000..003d1dd --- /dev/null +++ b/Ingegneria del Software/0324_45/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/0324_45/wrong1.txt b/Ingegneria del Software/0324_45/wrong1.txt new file mode 100644 index 0000000..edea147 --- /dev/null +++ b/Ingegneria del Software/0324_45/wrong1.txt @@ -0,0 +1,15 @@ +
+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/0324_45/wrong2.txt b/Ingegneria del Software/0324_45/wrong2.txt new file mode 100644 index 0000000..14bd900 --- /dev/null +++ b/Ingegneria del Software/0324_45/wrong2.txt @@ -0,0 +1,16 @@ +
+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/0324_46/correct.txt b/Ingegneria del Software/0324_46/correct.txt new file mode 100644 index 0000000..a98afd2 --- /dev/null +++ b/Ingegneria del Software/0324_46/correct.txt @@ -0,0 +1,17 @@ +
+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/0324_46/quest.txt b/Ingegneria del Software/0324_46/quest.txt new file mode 100644 index 0000000..b420aaf --- /dev/null +++ b/Ingegneria del Software/0324_46/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/0324_46/wrong1.txt b/Ingegneria del Software/0324_46/wrong1.txt new file mode 100644 index 0000000..66064fe --- /dev/null +++ b/Ingegneria del Software/0324_46/wrong1.txt @@ -0,0 +1,17 @@ +
+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/0324_46/wrong2.txt b/Ingegneria del Software/0324_46/wrong2.txt new file mode 100644 index 0000000..c71f1f5 --- /dev/null +++ b/Ingegneria del Software/0324_46/wrong2.txt @@ -0,0 +1,17 @@ +
+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/0324_47/quest.txt b/Ingegneria del Software/0324_47/quest.txt new file mode 100644 index 0000000..0240bc8 --- /dev/null +++ b/Ingegneria del Software/0324_47/quest.txt @@ -0,0 +1,18 @@ +Si consideri il seguente modello Modelica. Quale delle seguenti architetture software meglio lo rappresenta ? +block SysArch // System Architecture + +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 + +connect(sc1.output12, sc2.input12) +connect(sc1.output13, sc3.input13) +connect(sc1.output14, sc4.input14) +connect(sc2.output21, sc1.input21) +connect(sc2.output24, sc4.input24) +connect(sc3.output31, sc1.input31) +connect(sc4.output41, sc1.input41) +connect(sc4.output42, sc2.input42) +connect(sc4.output43, sc3.input43) +end SysArch; \ No newline at end of file diff --git a/Ingegneria del Software/0324_47/wrong1.txt b/Ingegneria del Software/0324_47/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0324_47/wrong2.txt b/Ingegneria del Software/0324_47/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0324_47/wrong3.txt b/Ingegneria del Software/0324_47/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0324_48/quest.txt b/Ingegneria del Software/0324_48/quest.txt new file mode 100644 index 0000000..1109458 --- /dev/null +++ b/Ingegneria del Software/0324_48/quest.txt @@ -0,0 +1,4 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_48.png +Si consideri la seguente architettura software: + +Quale dei seguneti modelli Modelica meglio la rappresenta. \ No newline at end of file diff --git a/Ingegneria del Software/0324_48/wrong1.txt b/Ingegneria del Software/0324_48/wrong1.txt new file mode 100644 index 0000000..4bcd55f --- /dev/null +++ b/Ingegneria del Software/0324_48/wrong1.txt @@ -0,0 +1,8 @@ +block SysArch // System Architecture + +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 + +connect(sc1.output12, sc \ No newline at end of file diff --git a/Ingegneria del Software/0324_48/wrong2.txt b/Ingegneria del Software/0324_48/wrong2.txt new file mode 100644 index 0000000..19be218 --- /dev/null +++ b/Ingegneria del Software/0324_48/wrong2.txt @@ -0,0 +1,2 @@ +input12) +connect(sc1.output13, sc \ No newline at end of file diff --git a/Ingegneria del Software/0324_48/wrong3.txt b/Ingegneria del Software/0324_48/wrong3.txt new file mode 100644 index 0000000..3387be9 --- /dev/null +++ b/Ingegneria del Software/0324_48/wrong3.txt @@ -0,0 +1,49 @@ +input13) +connect(sc2.output21, sc1.input21) +connect(sc2.output23, sc3.input23) +connect(sc2.output24, sc4.input24) +connect(sc3.output32, sc2.input32) +connect(sc3.output34, sc4.input34) +connect(sc4.output41, sc1.input41) +connect(sc4.output42, sc2.input42) + + +end SysArch; + +2. +block SysArch // System Architecture + +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 + +connect(sc1.output13, sc3.input13) +connect(sc2.output21, sc1.input21) +connect(sc2.output23, sc3.input23) +connect(sc2.output24, sc4.input24) +connect(sc3.output31, sc1.input31) +connect(sc4.output41, sc1.input41) +connect(sc4.output42, sc2.input42) +connect(sc4.output43, sc3.input43) + + +end SysArch; + +3. +block SysArch // System Architecture + +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 + +connect(sc1.output13, sc3.input13) +connect(sc2.output21, sc1.input21) +connect(sc2.output24, sc4.input24) +connect(sc3.output32, sc2.input32) +connect(sc4.output41, sc1.input41) +connect(sc4.output43, sc3.input43) + + +end SysArch; \ No newline at end of file diff --git a/Ingegneria del Software/0324_49/correct.txt b/Ingegneria del Software/0324_49/correct.txt new file mode 100644 index 0000000..eb23d05 --- /dev/null +++ b/Ingegneria del Software/0324_49/correct.txt @@ -0,0 +1 @@ +Assicurarsi che non ci siano requisiti in conflitto con altri requisiti. \ No newline at end of file diff --git a/Ingegneria del Software/0324_49/quest.txt b/Ingegneria del Software/0324_49/quest.txt new file mode 100644 index 0000000..7710e8f --- /dev/null +++ b/Ingegneria del Software/0324_49/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive l'obiettivo del "check di consistenza" che è parte della "requirements validation activity". \ No newline at end of file diff --git a/Ingegneria del Software/0324_49/wrong1.txt b/Ingegneria del Software/0324_49/wrong1.txt new file mode 100644 index 0000000..9e12d11 --- /dev/null +++ b/Ingegneria del Software/0324_49/wrong1.txt @@ -0,0 +1 @@ +Assicurarsi che per ogni requisito esista un insieme di test che lo possa verificare. \ No newline at end of file diff --git a/Ingegneria del Software/0324_49/wrong2.txt b/Ingegneria del Software/0324_49/wrong2.txt new file mode 100644 index 0000000..32c628c --- /dev/null +++ b/Ingegneria del Software/0324_49/wrong2.txt @@ -0,0 +1 @@ +Assicurarsi che i requisiti funzionali descrivano tutte le funzionalità del sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0324_5/correct.txt b/Ingegneria del Software/0324_5/correct.txt new file mode 100644 index 0000000..81a4b93 --- /dev/null +++ b/Ingegneria del Software/0324_5/correct.txt @@ -0,0 +1 @@ +F(x, y, z) = if (x >= 0) then (z == pow(y, x)) else (z == 1) \ No newline at end of file diff --git a/Ingegneria del Software/0324_5/quest.txt b/Ingegneria del Software/0324_5/quest.txt new file mode 100644 index 0000000..236ccc7 --- /dev/null +++ b/Ingegneria del Software/0324_5/quest.txt @@ -0,0 +1,10 @@ +Un test oracle per un programma P è una funzione booleana che ha come inputs gli inputs ed outputs di P e ritorna true se e solo se il valore di output di P (con i dati inputs) è quello atteso dalle specifiche. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { +int z, k; +z = 1; k = 0; +while (k < x) { z = y*z; k = k + 1; } +return (z); +} +Siano x, y, gli inputs del programma (f nel nostro caso) e z l'output. Assumendo il programma corretto, quale delle seguenti funzioni booleane F(x, y, z) è un test oracle per la funzione f. \ No newline at end of file diff --git a/Ingegneria del Software/0324_5/wrong1.txt b/Ingegneria del Software/0324_5/wrong1.txt new file mode 100644 index 0000000..d246b94 --- /dev/null +++ b/Ingegneria del Software/0324_5/wrong1.txt @@ -0,0 +1 @@ +F(x, y, z) = if (x >= 0) then (z == pow(y, x)) else (z == 0) \ No newline at end of file diff --git a/Ingegneria del Software/0324_5/wrong2.txt b/Ingegneria del Software/0324_5/wrong2.txt new file mode 100644 index 0000000..f52d5ae --- /dev/null +++ b/Ingegneria del Software/0324_5/wrong2.txt @@ -0,0 +1 @@ +F(x, y, z) = if (x >= 0) then (z == pow(y, x)) else (z == y) \ No newline at end of file diff --git a/Ingegneria del Software/0324_6/correct.txt b/Ingegneria del Software/0324_6/correct.txt new file mode 100644 index 0000000..b110af1 --- /dev/null +++ b/Ingegneria del Software/0324_6/correct.txt @@ -0,0 +1 @@ +Transition coverage: 40% \ No newline at end of file diff --git a/Ingegneria del Software/0324_6/quest.txt b/Ingegneria del Software/0324_6/quest.txt new file mode 100644 index 0000000..f6ffda4 --- /dev/null +++ b/Ingegneria del Software/0324_6/quest.txt @@ -0,0 +1,13 @@ +img=https://unspectacular-subdi.000webhostapp.com/0324_domanda_6.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + + +ed il seguente insieme di test cases: + +Test case 1: act0 act0 act0 act0 act1 +Test case 2: act2 act2 +Test case 3: act0 act0 act2 act1 act2 +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0324_6/wrong1.txt b/Ingegneria del Software/0324_6/wrong1.txt new file mode 100644 index 0000000..a29d476 --- /dev/null +++ b/Ingegneria del Software/0324_6/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0324_6/wrong2.txt b/Ingegneria del Software/0324_6/wrong2.txt new file mode 100644 index 0000000..2d5aeb0 --- /dev/null +++ b/Ingegneria del Software/0324_6/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0324_7/correct.txt b/Ingegneria del Software/0324_7/correct.txt new file mode 100644 index 0000000..43dc0c9 --- /dev/null +++ b/Ingegneria del Software/0324_7/correct.txt @@ -0,0 +1,5 @@ +int f(in x, int y) +{ +assert( (x >= 0) && (y >= 0) && ((x > 0) || (y > 0)) ); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0324_7/quest.txt b/Ingegneria del Software/0324_7/quest.txt new file mode 100644 index 0000000..f6744fd --- /dev/null +++ b/Ingegneria del Software/0324_7/quest.txt @@ -0,0 +1,4 @@ +Pre-condizioni, invarianti e post-condizioni di un programma possono essere definiti usando la macro del C assert() (in ). In particolare, assert(expre) non fa nulla se l'espressione expre vale TRUE (cioè non è 0), stampa un messaggio di errore su stderr e abortisce l'esecuzione del programma altrimenti. +Si consideri la funzione C +int f(in x, int y) { ..... } +Quale delle seguenti assert esprime la pre-condizione che entrambi gli argomenti di f sono non-negativi ed almeno uno di loro è positivo ? \ No newline at end of file diff --git a/Ingegneria del Software/0324_7/wrong1.txt b/Ingegneria del Software/0324_7/wrong1.txt new file mode 100644 index 0000000..3f63933 --- /dev/null +++ b/Ingegneria del Software/0324_7/wrong1.txt @@ -0,0 +1,5 @@ +int f(in x, int y) +{ +assert( (x > 0) && (y > 0) && ((x > 1) || (y > 1)) ); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0324_7/wrong2.txt b/Ingegneria del Software/0324_7/wrong2.txt new file mode 100644 index 0000000..6a97baf --- /dev/null +++ b/Ingegneria del Software/0324_7/wrong2.txt @@ -0,0 +1,5 @@ +int f(in x, int y) +{ +assert( (x >= 0) && (y >= 0) && ((x > 1) || (y > 1)) ); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0324_8/correct.txt b/Ingegneria del Software/0324_8/correct.txt new file mode 100644 index 0000000..b8bf06e --- /dev/null +++ b/Ingegneria del Software/0324_8/correct.txt @@ -0,0 +1,17 @@ +
+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/0324_8/quest.txt b/Ingegneria del Software/0324_8/quest.txt new file mode 100644 index 0000000..22c683f --- /dev/null +++ b/Ingegneria del Software/0324_8/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/0324_8/wrong1.txt b/Ingegneria del Software/0324_8/wrong1.txt new file mode 100644 index 0000000..2029293 --- /dev/null +++ b/Ingegneria del Software/0324_8/wrong1.txt @@ -0,0 +1,17 @@ +
+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/0324_8/wrong2.txt b/Ingegneria del Software/0324_8/wrong2.txt new file mode 100644 index 0000000..bc8720d --- /dev/null +++ b/Ingegneria del Software/0324_8/wrong2.txt @@ -0,0 +1,17 @@ +
+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/0324_9/correct.txt b/Ingegneria del Software/0324_9/correct.txt new file mode 100644 index 0000000..7a6c6b9 --- /dev/null +++ b/Ingegneria del Software/0324_9/correct.txt @@ -0,0 +1 @@ +300000 EUR \ No newline at end of file diff --git a/Ingegneria del Software/0324_9/quest.txt b/Ingegneria del Software/0324_9/quest.txt new file mode 100644 index 0000000..47201e7 --- /dev/null +++ b/Ingegneria del Software/0324_9/quest.txt @@ -0,0 +1,4 @@ +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 = 10^{(-b*S)} (cioè 10 elevato alla (-b*S)) +dove b è una opportuna costante note da dati storici aziendali. Si assuma che b = 0.0001, C = 1000000, ed il rischio ammesso è R = 1000. Quale dei seguenti valori meglio approssima il costo S per lo sviluppo del software in questione. \ No newline at end of file diff --git a/Ingegneria del Software/0324_9/wrong1.txt b/Ingegneria del Software/0324_9/wrong1.txt new file mode 100644 index 0000000..2df501e --- /dev/null +++ b/Ingegneria del Software/0324_9/wrong1.txt @@ -0,0 +1 @@ +500000 EUR \ No newline at end of file diff --git a/Ingegneria del Software/0324_9/wrong2.txt b/Ingegneria del Software/0324_9/wrong2.txt new file mode 100644 index 0000000..997967b --- /dev/null +++ b/Ingegneria del Software/0324_9/wrong2.txt @@ -0,0 +1 @@ +700000 EUR \ No newline at end of file diff --git a/Ingegneria del Software/0613_0/quest.txt b/Ingegneria del Software/0613_0/quest.txt new file mode 100644 index 0000000..1f3419c --- /dev/null +++ b/Ingegneria del Software/0613_0/quest.txt @@ -0,0 +1,35 @@ +Si consideri il seguente modello Modelica. Quale dei seguenti UML state diagram lo rappresenta correttamente ? +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0613_0/wrong1.txt b/Ingegneria del Software/0613_0/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0613_0/wrong2.txt b/Ingegneria del Software/0613_0/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0613_0/wrong3.txt b/Ingegneria del Software/0613_0/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0613_1/correct.txt b/Ingegneria del Software/0613_1/correct.txt new file mode 100644 index 0000000..f2bb2d0 --- /dev/null +++ b/Ingegneria del Software/0613_1/correct.txt @@ -0,0 +1 @@ +0.12 \ No newline at end of file diff --git a/Ingegneria del Software/0613_1/quest.txt b/Ingegneria del Software/0613_1/quest.txt new file mode 100644 index 0000000..654955e --- /dev/null +++ b/Ingegneria del Software/0613_1/quest.txt @@ -0,0 +1,9 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_1.png +Un processo software può essere rappesentato con uno state diagram in cui gli stati rappresentano le fasi (e loro iterazioni) del prcoesso software e gli archi le transizioni da una fase all'altra. Gli archi sono etichettati con le probabilità della transizione e gli stati sono etichettati con il costo per lasciare lo stato. +Ad esempio lo state diagram in figura + + + +Rappresenta un processo software con 2 fasi F1 ed F2. F1 ha costo 10000 EUR ed F2 ha costo 1000 EUR. F1 ha una probabilita dello 0.4 di dover essere ripetuta (a causa di errori) ed F2 ha una probabilità 0.2 di dover essere ripetuta (a causa di errori). +Uno scenario è una sequenza di stati. +Qual'e' la probabilità dello scenario: 1, 3, 4? In altri terminti, qual'è la probabilità che non sia necessario ripetere la seconda fase (ma non la prima) ? \ No newline at end of file diff --git a/Ingegneria del Software/0613_1/wrong1.txt b/Ingegneria del Software/0613_1/wrong1.txt new file mode 100644 index 0000000..2a47a95 --- /dev/null +++ b/Ingegneria del Software/0613_1/wrong1.txt @@ -0,0 +1 @@ +0.08 \ No newline at end of file diff --git a/Ingegneria del Software/0613_1/wrong2.txt b/Ingegneria del Software/0613_1/wrong2.txt new file mode 100644 index 0000000..b7bbee2 --- /dev/null +++ b/Ingegneria del Software/0613_1/wrong2.txt @@ -0,0 +1 @@ +0.32 \ No newline at end of file diff --git a/Ingegneria del Software/0613_10/correct.txt b/Ingegneria del Software/0613_10/correct.txt new file mode 100644 index 0000000..95bc750 --- /dev/null +++ b/Ingegneria del Software/0613_10/correct.txt @@ -0,0 +1 @@ +100% \ No newline at end of file diff --git a/Ingegneria del Software/0613_10/quest.txt b/Ingegneria del Software/0613_10/quest.txt new file mode 100644 index 0000000..9e4d3a9 --- /dev/null +++ b/Ingegneria del Software/0613_10/quest.txt @@ -0,0 +1,31 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- +int f(int x[3]) +{ + if (-x[0] + x[1] - x[2] < -7) + { return (0); } + else if (-3*x[0] +3*x[1] - 5*x[2] > 7) + { + if (-x[0] + x[1] - x[2] > 10) + { return (1); } + else + { return (0); } + } + else + { + if (3*x[0] - 5*x[1] + 7*x[2] > 9) + { return (1); } + else + { return (0); } + } + +} /* f() */ +---------- +ed il seguente insieme di test cases: + +Test 1: x[0] = 0, x[1] = 0, x[2] = 1, +Test 2: x[0] = 3, x[1] = 1, x[2] = 5, +Test 3: x[0] = 0, x[1] = 4, x[2] = -2, +Test 4: x[0] = -4, x[1] = 5, x[2] = -2, +Test 5: x[0] = 1, x[1] = -4, x[2] = 4, \ No newline at end of file diff --git a/Ingegneria del Software/0613_10/wrong1.txt b/Ingegneria del Software/0613_10/wrong1.txt new file mode 100644 index 0000000..2fd674f --- /dev/null +++ b/Ingegneria del Software/0613_10/wrong1.txt @@ -0,0 +1 @@ +60% \ No newline at end of file diff --git a/Ingegneria del Software/0613_10/wrong2.txt b/Ingegneria del Software/0613_10/wrong2.txt new file mode 100644 index 0000000..a2507e5 --- /dev/null +++ b/Ingegneria del Software/0613_10/wrong2.txt @@ -0,0 +1 @@ +80% \ No newline at end of file diff --git a/Ingegneria del Software/0613_11/correct.txt b/Ingegneria del Software/0613_11/correct.txt new file mode 100644 index 0000000..aef914a --- /dev/null +++ b/Ingegneria del Software/0613_11/correct.txt @@ -0,0 +1 @@ +Assicurarsi che un sistema che soddisfa i requisiti risolve il problema del "customer". \ No newline at end of file diff --git a/Ingegneria del Software/0613_11/quest.txt b/Ingegneria del Software/0613_11/quest.txt new file mode 100644 index 0000000..9af4805 --- /dev/null +++ b/Ingegneria del Software/0613_11/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive l'obiettivo del "validity check" che è parte della "requirements validation activity". \ No newline at end of file diff --git a/Ingegneria del Software/0613_11/wrong1.txt b/Ingegneria del Software/0613_11/wrong1.txt new file mode 100644 index 0000000..eb23d05 --- /dev/null +++ b/Ingegneria del Software/0613_11/wrong1.txt @@ -0,0 +1 @@ +Assicurarsi che non ci siano requisiti in conflitto con altri requisiti. \ No newline at end of file diff --git a/Ingegneria del Software/0613_11/wrong2.txt b/Ingegneria del Software/0613_11/wrong2.txt new file mode 100644 index 0000000..32c628c --- /dev/null +++ b/Ingegneria del Software/0613_11/wrong2.txt @@ -0,0 +1 @@ +Assicurarsi che i requisiti funzionali descrivano tutte le funzionalità del sistema. \ No newline at end of file diff --git a/Ingegneria del Software/0613_12/correct.txt b/Ingegneria del Software/0613_12/correct.txt new file mode 100644 index 0000000..475d1ef --- /dev/null +++ b/Ingegneria del Software/0613_12/correct.txt @@ -0,0 +1 @@ +{x = -150, x = -40, x = 0, x = 200, x = 600} \ No newline at end of file diff --git a/Ingegneria del Software/0613_12/quest.txt b/Ingegneria del Software/0613_12/quest.txt new file mode 100644 index 0000000..36947c2 --- /dev/null +++ b/Ingegneria del Software/0613_12/quest.txt @@ -0,0 +1,6 @@ +Il partition coverage di un insieme di test cases è la percentuale di elementi della partition inclusi nei test cases. La partition è una partizione finita dell'insieme di input della funzione che si sta testando. +Si consideri la seguente funzione C: +int f1(int x) { return (x + 7); } +Si vuole testare la funzione f1(). A tal fine l'insieme degli interi viene partizionato come segue: +{(-inf, -101], [-100, -1], {0}, [1, 500], [501, +inf)} +Quale dei seguenti test cases consegue una partition coverage del 100% ? \ No newline at end of file diff --git a/Ingegneria del Software/0613_12/wrong1.txt b/Ingegneria del Software/0613_12/wrong1.txt new file mode 100644 index 0000000..0aaedb8 --- /dev/null +++ b/Ingegneria del Software/0613_12/wrong1.txt @@ -0,0 +1 @@ +{x = -200, x = -50, x = 0, x = 100, x = 500} \ No newline at end of file diff --git a/Ingegneria del Software/0613_12/wrong2.txt b/Ingegneria del Software/0613_12/wrong2.txt new file mode 100644 index 0000000..a6df32d --- /dev/null +++ b/Ingegneria del Software/0613_12/wrong2.txt @@ -0,0 +1 @@ +{x = -200, x = -150, x = 0, x = 100, x = 700} \ No newline at end of file diff --git a/Ingegneria del Software/0613_13/correct.txt b/Ingegneria del Software/0613_13/correct.txt new file mode 100644 index 0000000..12d93cc --- /dev/null +++ b/Ingegneria del Software/0613_13/correct.txt @@ -0,0 +1 @@ +Transition coverage: 20% \ No newline at end of file diff --git a/Ingegneria del Software/0613_13/quest.txt b/Ingegneria del Software/0613_13/quest.txt new file mode 100644 index 0000000..6f20250 --- /dev/null +++ b/Ingegneria del Software/0613_13/quest.txt @@ -0,0 +1,13 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_13.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + + +ed il seguente insieme di test cases: +Test case 1: act2 act0 act2 act0 +Test case 2: act1 act0 act1 act2 act1 +Test case 3: act1 act2 act0 act2 act1 + +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0613_13/wrong1.txt b/Ingegneria del Software/0613_13/wrong1.txt new file mode 100644 index 0000000..8b0c318 --- /dev/null +++ b/Ingegneria del Software/0613_13/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 50% \ No newline at end of file diff --git a/Ingegneria del Software/0613_13/wrong2.txt b/Ingegneria del Software/0613_13/wrong2.txt new file mode 100644 index 0000000..5464d05 --- /dev/null +++ b/Ingegneria del Software/0613_13/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 30% \ No newline at end of file diff --git a/Ingegneria del Software/0613_14/quest.txt b/Ingegneria del Software/0613_14/quest.txt new file mode 100644 index 0000000..b95c7d3 --- /dev/null +++ b/Ingegneria del Software/0613_14/quest.txt @@ -0,0 +1,13 @@ +Si consideri il seguente modello Modelica. Quale delle seguenti architetture software meglio lo rappresenta ? +block SysArch // System Architecture +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 +connect(sc1.output12, sc2.input12) +connect(sc1.output13, sc3.input13) +connect(sc1.output14, sc4.input14) +connect(sc3.output31, sc1.input31) +connect(sc3.output32, sc2.input32) +connect(sc4.output42, sc2.input42) +end SysArch; \ No newline at end of file diff --git a/Ingegneria del Software/0613_14/wrong1.txt b/Ingegneria del Software/0613_14/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0613_14/wrong2.txt b/Ingegneria del Software/0613_14/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0613_14/wrong3.txt b/Ingegneria del Software/0613_14/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0613_15/correct.txt b/Ingegneria del Software/0613_15/correct.txt new file mode 100644 index 0000000..b8bf06e --- /dev/null +++ b/Ingegneria del Software/0613_15/correct.txt @@ -0,0 +1,17 @@ +
+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/0613_15/quest.txt b/Ingegneria del Software/0613_15/quest.txt new file mode 100644 index 0000000..22c683f --- /dev/null +++ b/Ingegneria del Software/0613_15/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/0613_15/wrong1.txt b/Ingegneria del Software/0613_15/wrong1.txt new file mode 100644 index 0000000..bc8720d --- /dev/null +++ b/Ingegneria del Software/0613_15/wrong1.txt @@ -0,0 +1,17 @@ +
+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/0613_15/wrong2.txt b/Ingegneria del Software/0613_15/wrong2.txt new file mode 100644 index 0000000..2029293 --- /dev/null +++ b/Ingegneria del Software/0613_15/wrong2.txt @@ -0,0 +1,17 @@ +
+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/0613_16/correct.txt b/Ingegneria del Software/0613_16/correct.txt new file mode 100644 index 0000000..e582263 --- /dev/null +++ b/Ingegneria del Software/0613_16/correct.txt @@ -0,0 +1,17 @@ +
+class Monitor
+
+InputReal x;  // plant output
+OutputBoolean y;
+
+Boolean z;
+initial equation
+y = false;
+equation
+z = (time > 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/0613_16/quest.txt b/Ingegneria del Software/0613_16/quest.txt new file mode 100644 index 0000000..864cc93 --- /dev/null +++ b/Ingegneria del Software/0613_16/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/0613_16/wrong1.txt b/Ingegneria del Software/0613_16/wrong1.txt new file mode 100644 index 0000000..590f7e1 --- /dev/null +++ b/Ingegneria del Software/0613_16/wrong1.txt @@ -0,0 +1,17 @@ +
+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/0613_16/wrong2.txt b/Ingegneria del Software/0613_16/wrong2.txt new file mode 100644 index 0000000..0f38391 --- /dev/null +++ b/Ingegneria del Software/0613_16/wrong2.txt @@ -0,0 +1,17 @@ +
+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/0613_17/correct.txt b/Ingegneria del Software/0613_17/correct.txt new file mode 100644 index 0000000..c37d6ae --- /dev/null +++ b/Ingegneria del Software/0613_17/correct.txt @@ -0,0 +1,15 @@ +
+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/0613_17/quest.txt b/Ingegneria del Software/0613_17/quest.txt new file mode 100644 index 0000000..003d1dd --- /dev/null +++ b/Ingegneria del Software/0613_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 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/0613_17/wrong1.txt b/Ingegneria del Software/0613_17/wrong1.txt new file mode 100644 index 0000000..14bd900 --- /dev/null +++ b/Ingegneria del Software/0613_17/wrong1.txt @@ -0,0 +1,16 @@ +
+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/0613_17/wrong2.txt b/Ingegneria del Software/0613_17/wrong2.txt new file mode 100644 index 0000000..edea147 --- /dev/null +++ b/Ingegneria del Software/0613_17/wrong2.txt @@ -0,0 +1,15 @@ +
+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/0613_18/correct.txt b/Ingegneria del Software/0613_18/correct.txt new file mode 100644 index 0000000..98939be --- /dev/null +++ b/Ingegneria del Software/0613_18/correct.txt @@ -0,0 +1 @@ +1/(1 - p) \ No newline at end of file diff --git a/Ingegneria del Software/0613_18/quest.txt b/Ingegneria del Software/0613_18/quest.txt new file mode 100644 index 0000000..91edad5 --- /dev/null +++ b/Ingegneria del Software/0613_18/quest.txt @@ -0,0 +1,2 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_18.png +Si consideri la Markov chain in figura con stato iniziale 0 e p in (0, 1). Quale delle seguenti formule calcola il valore atteso del numero di transizioni necessarie per lasciare lo stato 0. \ No newline at end of file diff --git a/Ingegneria del Software/0613_18/wrong1.txt b/Ingegneria del Software/0613_18/wrong1.txt new file mode 100644 index 0000000..56ea6ac --- /dev/null +++ b/Ingegneria del Software/0613_18/wrong1.txt @@ -0,0 +1 @@ +1/(p*(1 - p)) \ No newline at end of file diff --git a/Ingegneria del Software/0613_18/wrong2.txt b/Ingegneria del Software/0613_18/wrong2.txt new file mode 100644 index 0000000..db2276d --- /dev/null +++ b/Ingegneria del Software/0613_18/wrong2.txt @@ -0,0 +1 @@ +(1 - p)/p \ No newline at end of file diff --git a/Ingegneria del Software/0613_19/quest.txt b/Ingegneria del Software/0613_19/quest.txt new file mode 100644 index 0000000..052028b --- /dev/null +++ b/Ingegneria del Software/0613_19/quest.txt @@ -0,0 +1,37 @@ +Si consideri il seguente modello Modelica. Quale dei seguenti UML state diagram lo rappresenta correttamente ? +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 1; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0613_19/wrong1.txt b/Ingegneria del Software/0613_19/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0613_19/wrong2.txt b/Ingegneria del Software/0613_19/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0613_19/wrong3.txt b/Ingegneria del Software/0613_19/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0613_2/quest.txt b/Ingegneria del Software/0613_2/quest.txt new file mode 100644 index 0000000..fcb1323 --- /dev/null +++ b/Ingegneria del Software/0613_2/quest.txt @@ -0,0 +1,19 @@ +Si consideri il seguente modello Modelica. Quale delle seguenti architetture software meglio lo rappresenta ? +block SysArch // System Architecture + +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 + +connect(sc1.output12, sc2.input12) +connect(sc1.output13, sc3.input13) +connect(sc1.output14, sc4.input14) +connect(sc2.output21, sc1.input21) +connect(sc2.output24, sc4.input24) +connect(sc3.output34, sc4.input34) +connect(sc4.output41, sc1.input41) +connect(sc4.output42, sc2.input42) + + +end SysArch; \ No newline at end of file diff --git a/Ingegneria del Software/0613_2/wrong1.txt b/Ingegneria del Software/0613_2/wrong1.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0613_2/wrong2.txt b/Ingegneria del Software/0613_2/wrong2.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0613_2/wrong3.txt b/Ingegneria del Software/0613_2/wrong3.txt new file mode 100644 index 0000000..e69de29 diff --git a/Ingegneria del Software/0613_20/correct.txt b/Ingegneria del Software/0613_20/correct.txt new file mode 100644 index 0000000..2a2ecea --- /dev/null +++ b/Ingegneria del Software/0613_20/correct.txt @@ -0,0 +1 @@ +time(0)/(1 - p) \ No newline at end of file diff --git a/Ingegneria del Software/0613_20/quest.txt b/Ingegneria del Software/0613_20/quest.txt new file mode 100644 index 0000000..79b69ac --- /dev/null +++ b/Ingegneria del Software/0613_20/quest.txt @@ -0,0 +1,6 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_20.png +Si consideri il processo software con due fasi (0 ed 1) rappresentato con la Markov chain in figura. Lo stato iniziale 0 e p è in (0, 1). Il tempo necessario per completare la fase x è time(x). La fase 0 è la fase di design, che ha probabilità p di dover essere ripetuta causa errori. La fase 1 rappreenta il completamento del processo software, e quindi time(1) = 0. +Il tempo di una istanza del processo software descritto sopra è la somma dei tempi degli stati (fasi) attraversati (tenendo presente che si parte sempre dallo stato 0. +Quindi il costo Time(X) della sequenza di stati X = x(0), x(1), x(2), .... è Time(X) = time(x(0)) + time(x(1)) + time(x(2)) + ... +Ad esempio se X = 0, 1 abbiamo Time(X) = time(0) + time(1) = time(0) (poichè time(1) = 0). +Quale delle seguenti formule calcola il valore atteso del costo per completare il processo software di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0613_20/wrong1.txt b/Ingegneria del Software/0613_20/wrong1.txt new file mode 100644 index 0000000..d68fd15 --- /dev/null +++ b/Ingegneria del Software/0613_20/wrong1.txt @@ -0,0 +1 @@ +time(0)*(1 - p)/p \ No newline at end of file diff --git a/Ingegneria del Software/0613_20/wrong2.txt b/Ingegneria del Software/0613_20/wrong2.txt new file mode 100644 index 0000000..9927a93 --- /dev/null +++ b/Ingegneria del Software/0613_20/wrong2.txt @@ -0,0 +1 @@ +time(0)/(p*(1 - p)) \ No newline at end of file diff --git a/Ingegneria del Software/0613_21/correct.txt b/Ingegneria del Software/0613_21/correct.txt new file mode 100644 index 0000000..936832d --- /dev/null +++ b/Ingegneria del Software/0613_21/correct.txt @@ -0,0 +1 @@ +3*A + 6*B \ No newline at end of file diff --git a/Ingegneria del Software/0613_21/quest.txt b/Ingegneria del Software/0613_21/quest.txt new file mode 100644 index 0000000..07ce5c9 --- /dev/null +++ b/Ingegneria del Software/0613_21/quest.txt @@ -0,0 +1 @@ +Il team di sviluppo di un azienda consiste di un senior software engineer e due sviluppatori junior. Usando un approccio plan-driven (ad esempio, water-fall) la fase di design impegna solo il membro senior per tre mesi e la fase di sviluppo e testing solo i due membri junior per tre mesi. Si assuma che non ci siano "change requests" e che il membro senior costi A Eur/mese ed i membri junior B Eur/mese. Qual'e' il costo dello sviluppo usando un approccio plan-driven come sopra ? \ No newline at end of file diff --git a/Ingegneria del Software/0613_21/wrong1.txt b/Ingegneria del Software/0613_21/wrong1.txt new file mode 100644 index 0000000..316107c --- /dev/null +++ b/Ingegneria del Software/0613_21/wrong1.txt @@ -0,0 +1 @@ +A + 2*B \ No newline at end of file diff --git a/Ingegneria del Software/0613_21/wrong2.txt b/Ingegneria del Software/0613_21/wrong2.txt new file mode 100644 index 0000000..68f09b9 --- /dev/null +++ b/Ingegneria del Software/0613_21/wrong2.txt @@ -0,0 +1 @@ +3*A + 3*B \ No newline at end of file diff --git a/Ingegneria del Software/0613_22/correct.txt b/Ingegneria del Software/0613_22/correct.txt new file mode 100644 index 0000000..2ca9276 --- /dev/null +++ b/Ingegneria del Software/0613_22/correct.txt @@ -0,0 +1 @@ +Transition coverage: 35% \ No newline at end of file diff --git a/Ingegneria del Software/0613_22/quest.txt b/Ingegneria del Software/0613_22/quest.txt new file mode 100644 index 0000000..aef94a6 --- /dev/null +++ b/Ingegneria del Software/0613_22/quest.txt @@ -0,0 +1,13 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_22.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + + +ed il seguente insieme di test cases: +Test case 1: act2 act2 act1 act0 +Test case 2: act2 act2 act0 act2 act2 +Test case 3: act1 act1 act2 act2 + +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0613_22/wrong1.txt b/Ingegneria del Software/0613_22/wrong1.txt new file mode 100644 index 0000000..5623b39 --- /dev/null +++ b/Ingegneria del Software/0613_22/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 65% \ No newline at end of file diff --git a/Ingegneria del Software/0613_22/wrong2.txt b/Ingegneria del Software/0613_22/wrong2.txt new file mode 100644 index 0000000..c376ef7 --- /dev/null +++ b/Ingegneria del Software/0613_22/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 55% \ No newline at end of file diff --git a/Ingegneria del Software/0613_23/correct.txt b/Ingegneria del Software/0613_23/correct.txt new file mode 100644 index 0000000..4a8e634 --- /dev/null +++ b/Ingegneria del Software/0613_23/correct.txt @@ -0,0 +1,15 @@ +
+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/0613_23/quest.txt b/Ingegneria del Software/0613_23/quest.txt new file mode 100644 index 0000000..576af1a --- /dev/null +++ b/Ingegneria del Software/0613_23/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/0613_23/wrong1.txt b/Ingegneria del Software/0613_23/wrong1.txt new file mode 100644 index 0000000..68aa37a --- /dev/null +++ b/Ingegneria del Software/0613_23/wrong1.txt @@ -0,0 +1,16 @@ +
+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/0613_23/wrong2.txt b/Ingegneria del Software/0613_23/wrong2.txt new file mode 100644 index 0000000..a43796b --- /dev/null +++ b/Ingegneria del Software/0613_23/wrong2.txt @@ -0,0 +1,15 @@ +
+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/0613_24/correct.txt b/Ingegneria del Software/0613_24/correct.txt new file mode 100644 index 0000000..5464d05 --- /dev/null +++ b/Ingegneria del Software/0613_24/correct.txt @@ -0,0 +1 @@ +Transition coverage: 30% \ No newline at end of file diff --git a/Ingegneria del Software/0613_24/quest.txt b/Ingegneria del Software/0613_24/quest.txt new file mode 100644 index 0000000..9534ab3 --- /dev/null +++ b/Ingegneria del Software/0613_24/quest.txt @@ -0,0 +1,13 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_24.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + + +ed il seguente insieme di test cases: +Test case 1: act2 act2 +Test case 2: act1 +Test case 3: act2 act0 act2 act0 act2 + +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0613_24/wrong1.txt b/Ingegneria del Software/0613_24/wrong1.txt new file mode 100644 index 0000000..8b0c318 --- /dev/null +++ b/Ingegneria del Software/0613_24/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 50% \ No newline at end of file diff --git a/Ingegneria del Software/0613_24/wrong2.txt b/Ingegneria del Software/0613_24/wrong2.txt new file mode 100644 index 0000000..cf27703 --- /dev/null +++ b/Ingegneria del Software/0613_24/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 70% \ No newline at end of file diff --git a/Ingegneria del Software/0613_25/correct.txt b/Ingegneria del Software/0613_25/correct.txt new file mode 100644 index 0000000..e74b1fc --- /dev/null +++ b/Ingegneria del Software/0613_25/correct.txt @@ -0,0 +1 @@ +F(x, y, z) = if (x > y) then (z == x) else (z == y + 1) \ No newline at end of file diff --git a/Ingegneria del Software/0613_25/quest.txt b/Ingegneria del Software/0613_25/quest.txt new file mode 100644 index 0000000..c1cd6d0 --- /dev/null +++ b/Ingegneria del Software/0613_25/quest.txt @@ -0,0 +1,9 @@ +Un test oracle per un programma P è una funzione booleana che ha come inputs gli inputs ed outputs di P e ritorna true se e solo se il valore di output di P (con i dati inputs) è quello atteso dalle specifiche. +Si consideri la seguente funzione C: +----------- +int f(int x, int y) { +int z = x; +while ( (x <= z) && (z <= y) ) { z = z + 1; } +return (z); +} +Siano x, y, gli inputs del programma (f nel nostro caso) e z l'output. Assumendo il programma corretto, quale delle seguenti funzioni booleane F(x, y, z) è un test oracle per la funzione f. \ No newline at end of file diff --git a/Ingegneria del Software/0613_25/wrong1.txt b/Ingegneria del Software/0613_25/wrong1.txt new file mode 100644 index 0000000..d63544a --- /dev/null +++ b/Ingegneria del Software/0613_25/wrong1.txt @@ -0,0 +1 @@ +F(x, y, z) = if (x > y) then (z == x + 1) else (z == y + 1) \ No newline at end of file diff --git a/Ingegneria del Software/0613_25/wrong2.txt b/Ingegneria del Software/0613_25/wrong2.txt new file mode 100644 index 0000000..1753a91 --- /dev/null +++ b/Ingegneria del Software/0613_25/wrong2.txt @@ -0,0 +1 @@ +F(x, y, z) = (z == y + 1) \ No newline at end of file diff --git a/Ingegneria del Software/0613_26/correct.txt b/Ingegneria del Software/0613_26/correct.txt new file mode 100644 index 0000000..2fd674f --- /dev/null +++ b/Ingegneria del Software/0613_26/correct.txt @@ -0,0 +1 @@ +60% \ No newline at end of file diff --git a/Ingegneria del Software/0613_26/quest.txt b/Ingegneria del Software/0613_26/quest.txt new file mode 100644 index 0000000..dcec721 --- /dev/null +++ b/Ingegneria del Software/0613_26/quest.txt @@ -0,0 +1,8 @@ +Il partition coverage di un insieme di test cases è la percentuale di elementi della partition inclusi nei test cases. La partition è una partizione finita dell'insieme di input della funzione che si sta testando. +Si consideri la seguente funzione C: +int f1(int x) { return (2*x); } +Si vuole testare la funzione f1(). A tal fine l'insieme degli interi viene partizionato come segue: +{(-inf, -11], [-10, -1], {0}, [1, 50], [51, +inf)} +Si consideri il seguente insieme di test cases: +{x=-20, x= 10, x=60} +Quale delle seguenti è la partition coverage conseguita? \ No newline at end of file diff --git a/Ingegneria del Software/0613_26/wrong1.txt b/Ingegneria del Software/0613_26/wrong1.txt new file mode 100644 index 0000000..95bc750 --- /dev/null +++ b/Ingegneria del Software/0613_26/wrong1.txt @@ -0,0 +1 @@ +100% \ No newline at end of file diff --git a/Ingegneria del Software/0613_26/wrong2.txt b/Ingegneria del Software/0613_26/wrong2.txt new file mode 100644 index 0000000..a2507e5 --- /dev/null +++ b/Ingegneria del Software/0613_26/wrong2.txt @@ -0,0 +1 @@ +80% \ No newline at end of file diff --git a/Ingegneria del Software/0613_27/quest.txt b/Ingegneria del Software/0613_27/quest.txt new file mode 100644 index 0000000..35670bc --- /dev/null +++ b/Ingegneria del Software/0613_27/quest.txt @@ -0,0 +1,4 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_27.png +Si consideri la seguente architettura software: + +Quale dei seguenti modelli Modelica meglio la rappresenta. \ No newline at end of file diff --git a/Ingegneria del Software/0613_27/wrong1.txt b/Ingegneria del Software/0613_27/wrong1.txt new file mode 100644 index 0000000..4bcd55f --- /dev/null +++ b/Ingegneria del Software/0613_27/wrong1.txt @@ -0,0 +1,8 @@ +block SysArch // System Architecture + +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 + +connect(sc1.output12, sc \ No newline at end of file diff --git a/Ingegneria del Software/0613_27/wrong2.txt b/Ingegneria del Software/0613_27/wrong2.txt new file mode 100644 index 0000000..19be218 --- /dev/null +++ b/Ingegneria del Software/0613_27/wrong2.txt @@ -0,0 +1,2 @@ +input12) +connect(sc1.output13, sc \ No newline at end of file diff --git a/Ingegneria del Software/0613_27/wrong3.txt b/Ingegneria del Software/0613_27/wrong3.txt new file mode 100644 index 0000000..29daf30 --- /dev/null +++ b/Ingegneria del Software/0613_27/wrong3.txt @@ -0,0 +1,49 @@ +input13) +connect(sc1.output14, sc4.input14) +connect(sc2.output21, sc1.input21) +connect(sc2.output23, sc3.input23) +connect(sc2.output24, sc4.input24) +connect(sc3.output32, sc2.input32) +connect(sc3.output34, sc4.input34) +connect(sc4.output41, sc1.input41) + + +end SysArch; + +2. +block SysArch // System Architecture + +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 + +connect(sc1.output12, sc2.input12) +connect(sc1.output14, sc4.input14) +connect(sc2.output23, sc3.input23) +connect(sc2.output24, sc4.input24) +connect(sc3.output31, sc1.input31) +connect(sc3.output32, sc2.input32) +connect(sc3.output34, sc4.input34) + + +end SysArch; + +3. +block SysArch // System Architecture + +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 + +connect(sc1.output12, sc2.input12) +connect(sc1.output13, sc3.input13) +connect(sc1.output14, sc4.input14) +connect(sc2.output21, sc1.input21) +connect(sc2.output24, sc4.input24) +connect(sc3.output34, sc4.input34) +connect(sc4.output41, sc1.input41) + + +end SysArch; \ No newline at end of file diff --git a/Ingegneria del Software/0613_28/correct.txt b/Ingegneria del Software/0613_28/correct.txt new file mode 100644 index 0000000..973ef63 --- /dev/null +++ b/Ingegneria del Software/0613_28/correct.txt @@ -0,0 +1 @@ +State coverage: 75% \ No newline at end of file diff --git a/Ingegneria del Software/0613_28/quest.txt b/Ingegneria del Software/0613_28/quest.txt new file mode 100644 index 0000000..32aecd3 --- /dev/null +++ b/Ingegneria del Software/0613_28/quest.txt @@ -0,0 +1,11 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_28.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + + + +Si consideri il seguente insieme di test cases: +Test case 1: act2 act0 act1 act0 +Test case 2: act2 act0 act0 +Test case 3: act2 act0 act2 act1 act1 +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0613_28/wrong1.txt b/Ingegneria del Software/0613_28/wrong1.txt new file mode 100644 index 0000000..f6a4b07 --- /dev/null +++ b/Ingegneria del Software/0613_28/wrong1.txt @@ -0,0 +1 @@ +State coverage: 90% \ No newline at end of file diff --git a/Ingegneria del Software/0613_28/wrong2.txt b/Ingegneria del Software/0613_28/wrong2.txt new file mode 100644 index 0000000..90b2f35 --- /dev/null +++ b/Ingegneria del Software/0613_28/wrong2.txt @@ -0,0 +1 @@ +State coverage: 40% \ No newline at end of file diff --git a/Ingegneria del Software/0613_29/correct.txt b/Ingegneria del Software/0613_29/correct.txt new file mode 100644 index 0000000..7a6c6b9 --- /dev/null +++ b/Ingegneria del Software/0613_29/correct.txt @@ -0,0 +1 @@ +300000 EUR \ No newline at end of file diff --git a/Ingegneria del Software/0613_29/quest.txt b/Ingegneria del Software/0613_29/quest.txt new file mode 100644 index 0000000..47201e7 --- /dev/null +++ b/Ingegneria del Software/0613_29/quest.txt @@ -0,0 +1,4 @@ +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 = 10^{(-b*S)} (cioè 10 elevato alla (-b*S)) +dove b è una opportuna costante note da dati storici aziendali. Si assuma che b = 0.0001, C = 1000000, ed il rischio ammesso è R = 1000. Quale dei seguenti valori meglio approssima il costo S per lo sviluppo del software in questione. \ No newline at end of file diff --git a/Ingegneria del Software/0613_29/wrong1.txt b/Ingegneria del Software/0613_29/wrong1.txt new file mode 100644 index 0000000..997967b --- /dev/null +++ b/Ingegneria del Software/0613_29/wrong1.txt @@ -0,0 +1 @@ +700000 EUR \ No newline at end of file diff --git a/Ingegneria del Software/0613_29/wrong2.txt b/Ingegneria del Software/0613_29/wrong2.txt new file mode 100644 index 0000000..2df501e --- /dev/null +++ b/Ingegneria del Software/0613_29/wrong2.txt @@ -0,0 +1 @@ +500000 EUR \ No newline at end of file diff --git a/Ingegneria del Software/0613_3/correct.txt b/Ingegneria del Software/0613_3/correct.txt new file mode 100644 index 0000000..3fb437d --- /dev/null +++ b/Ingegneria del Software/0613_3/correct.txt @@ -0,0 +1 @@ +0.56 \ No newline at end of file diff --git a/Ingegneria del Software/0613_3/quest.txt b/Ingegneria del Software/0613_3/quest.txt new file mode 100644 index 0000000..d8bc097 --- /dev/null +++ b/Ingegneria del Software/0613_3/quest.txt @@ -0,0 +1,9 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_3.png +Un processo software può essere rappesentato con uno state diagram in cui gli stati rappresentano le fasi (e loro iterazioni) del prcoesso software e gli archi le transizioni da una fase all'altra. Gli archi sono etichettati con le probabilità della transizione e gli stati sono etichettati con il costo per lasciare lo stato. +Ad esempio lo state diagram in figura + + + +Rappresenta un processo software con 2 fasi F1 ed F2. F1 ha costo 10000 EUR ed F2 ha costo 1000 EUR. F1 ha una probabilita dello 0.3 di dover essere ripetuta (a causa di errori) ed F2 ha una probabilità 0.2 di dover essere ripetuta (a causa di errori). +Uno scenario è una sequenza di stati. +Qual'e' la probabilità dello scenario: 1, 3 ? In altri terminti, qual'è la probabilità che non sia necessario ripetere nessuna fase? \ No newline at end of file diff --git a/Ingegneria del Software/0613_3/wrong1.txt b/Ingegneria del Software/0613_3/wrong1.txt new file mode 100644 index 0000000..fc54e00 --- /dev/null +++ b/Ingegneria del Software/0613_3/wrong1.txt @@ -0,0 +1 @@ +0.24 \ No newline at end of file diff --git a/Ingegneria del Software/0613_3/wrong2.txt b/Ingegneria del Software/0613_3/wrong2.txt new file mode 100644 index 0000000..c64601b --- /dev/null +++ b/Ingegneria del Software/0613_3/wrong2.txt @@ -0,0 +1 @@ +0.14 \ No newline at end of file diff --git a/Ingegneria del Software/0613_30/correct.txt b/Ingegneria del Software/0613_30/correct.txt new file mode 100644 index 0000000..973ef63 --- /dev/null +++ b/Ingegneria del Software/0613_30/correct.txt @@ -0,0 +1 @@ +State coverage: 75% \ No newline at end of file diff --git a/Ingegneria del Software/0613_30/quest.txt b/Ingegneria del Software/0613_30/quest.txt new file mode 100644 index 0000000..56ab57a --- /dev/null +++ b/Ingegneria del Software/0613_30/quest.txt @@ -0,0 +1,11 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_30.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + + + +Si consideri il seguente insieme di test cases: +Test case 1: act0 act0 act0 act1 act1 +Test case 2: act1 act0 act1 +Test case 3: act0 act2 act2 act2 +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0613_30/wrong1.txt b/Ingegneria del Software/0613_30/wrong1.txt new file mode 100644 index 0000000..90b2f35 --- /dev/null +++ b/Ingegneria del Software/0613_30/wrong1.txt @@ -0,0 +1 @@ +State coverage: 40% \ No newline at end of file diff --git a/Ingegneria del Software/0613_30/wrong2.txt b/Ingegneria del Software/0613_30/wrong2.txt new file mode 100644 index 0000000..f6a4b07 --- /dev/null +++ b/Ingegneria del Software/0613_30/wrong2.txt @@ -0,0 +1 @@ +State coverage: 90% \ No newline at end of file diff --git a/Ingegneria del Software/0613_31/correct.txt b/Ingegneria del Software/0613_31/correct.txt new file mode 100644 index 0000000..f6a4b07 --- /dev/null +++ b/Ingegneria del Software/0613_31/correct.txt @@ -0,0 +1 @@ +State coverage: 90% \ No newline at end of file diff --git a/Ingegneria del Software/0613_31/quest.txt b/Ingegneria del Software/0613_31/quest.txt new file mode 100644 index 0000000..9f9ed74 --- /dev/null +++ b/Ingegneria del Software/0613_31/quest.txt @@ -0,0 +1,12 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_31.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + + + +Si consideri il seguente insieme di test cases: +Test case 1: act1 act2 act2 act2 act0 +Test case 2: act1 act0 act1 act1 act1 +Test case 3: act1 act2 act2 act2 act2 + +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0613_31/wrong1.txt b/Ingegneria del Software/0613_31/wrong1.txt new file mode 100644 index 0000000..4e45af2 --- /dev/null +++ b/Ingegneria del Software/0613_31/wrong1.txt @@ -0,0 +1 @@ +State coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0613_31/wrong2.txt b/Ingegneria del Software/0613_31/wrong2.txt new file mode 100644 index 0000000..d4625fd --- /dev/null +++ b/Ingegneria del Software/0613_31/wrong2.txt @@ -0,0 +1 @@ +State coverage: 100% \ No newline at end of file diff --git a/Ingegneria del Software/0613_32/correct.txt b/Ingegneria del Software/0613_32/correct.txt new file mode 100644 index 0000000..b110af1 --- /dev/null +++ b/Ingegneria del Software/0613_32/correct.txt @@ -0,0 +1 @@ +Transition coverage: 40% \ No newline at end of file diff --git a/Ingegneria del Software/0613_32/quest.txt b/Ingegneria del Software/0613_32/quest.txt new file mode 100644 index 0000000..1724f1c --- /dev/null +++ b/Ingegneria del Software/0613_32/quest.txt @@ -0,0 +1,13 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_32.png +La transition coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di transizioni (archi nel grafo dello state diagram) percorsi almeno una volta. +Si consideri lo state diagram in figura + + + + +ed il seguente insieme di test cases: +Test case 1: act0 act2 act0 act0 act2 +Test case 2: act1 act0 act0 act0 +Test case 3: act0 act2 act2 act0 act2 + +Quale delle seguenti è la migliore stima della transition coverage per i test cases di cui sopra? \ No newline at end of file diff --git a/Ingegneria del Software/0613_32/wrong1.txt b/Ingegneria del Software/0613_32/wrong1.txt new file mode 100644 index 0000000..8b0c318 --- /dev/null +++ b/Ingegneria del Software/0613_32/wrong1.txt @@ -0,0 +1 @@ +Transition coverage: 50% \ No newline at end of file diff --git a/Ingegneria del Software/0613_32/wrong2.txt b/Ingegneria del Software/0613_32/wrong2.txt new file mode 100644 index 0000000..cf27703 --- /dev/null +++ b/Ingegneria del Software/0613_32/wrong2.txt @@ -0,0 +1 @@ +Transition coverage: 70% \ No newline at end of file diff --git a/Ingegneria del Software/0613_33/correct.txt b/Ingegneria del Software/0613_33/correct.txt new file mode 100644 index 0000000..e940faa --- /dev/null +++ b/Ingegneria del Software/0613_33/correct.txt @@ -0,0 +1,5 @@ +int f(in x, int y) +{ +assert( (x >= 0) && (y >= 0) && ((x > 3) || (y > 3)) ); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0613_33/quest.txt b/Ingegneria del Software/0613_33/quest.txt new file mode 100644 index 0000000..2758118 --- /dev/null +++ b/Ingegneria del Software/0613_33/quest.txt @@ -0,0 +1,4 @@ +Pre-condizioni, invarianti e post-condizioni di un programma possono essere definiti usando la macro del C assert() (in ). In particolare, assert(expre) non fa nulla se l'espressione expre vale TRUE (cioè non è 0), stampa un messaggio di errore su stderr e abortisce l'esecuzione del programma altrimenti. +Si consideri la funzione C +int f(int x, int y) { ..... } +Quale delle seguenti assert esprime la pre-condizione che entrambi gli argomenti di f sono non-negativi ed almeno uno di loro è maggiore di 3 ? \ No newline at end of file diff --git a/Ingegneria del Software/0613_33/wrong1.txt b/Ingegneria del Software/0613_33/wrong1.txt new file mode 100644 index 0000000..ad32d88 --- /dev/null +++ b/Ingegneria del Software/0613_33/wrong1.txt @@ -0,0 +1,5 @@ +int f(in x, int y) +{ +assert( (x >= 0) && (y >= 0) && ((x >= 3) || (y >= 3)) ); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0613_33/wrong2.txt b/Ingegneria del Software/0613_33/wrong2.txt new file mode 100644 index 0000000..642ec6b --- /dev/null +++ b/Ingegneria del Software/0613_33/wrong2.txt @@ -0,0 +1,5 @@ +int f(in x, int y) +{ +assert( (x > 0) && (y > 0) && ((x >= 3) || (y > 3)) ); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0613_34/correct.txt b/Ingegneria del Software/0613_34/correct.txt new file mode 100644 index 0000000..e7c5bb8 --- /dev/null +++ b/Ingegneria del Software/0613_34/correct.txt @@ -0,0 +1 @@ +Assicurarsi che, tenedo conto della tecnologia, budget e tempo disponibili, sia possibile realizzare un sistema che soddisfa i requisisti. \ No newline at end of file diff --git a/Ingegneria del Software/0613_34/quest.txt b/Ingegneria del Software/0613_34/quest.txt new file mode 100644 index 0000000..296cdcb --- /dev/null +++ b/Ingegneria del Software/0613_34/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive l'obiettivo del "check di realismo" (realizability) che è parte della "requirements validation activity". \ No newline at end of file diff --git a/Ingegneria del Software/0613_34/wrong1.txt b/Ingegneria del Software/0613_34/wrong1.txt new file mode 100644 index 0000000..bfb5124 --- /dev/null +++ b/Ingegneria del Software/0613_34/wrong1.txt @@ -0,0 +1 @@ +Assicurarsi che le performance richieste al sistema siano necessarie per soddisfare le necessità del customer. \ No newline at end of file diff --git a/Ingegneria del Software/0613_34/wrong2.txt b/Ingegneria del Software/0613_34/wrong2.txt new file mode 100644 index 0000000..2b6e242 --- /dev/null +++ b/Ingegneria del Software/0613_34/wrong2.txt @@ -0,0 +1 @@ +Assicurarsi che le funzionalità richieste al sistema siano necessarie per soddisfare le necessità del customer. \ No newline at end of file diff --git a/Ingegneria del Software/0613_35/correct.txt b/Ingegneria del Software/0613_35/correct.txt new file mode 100644 index 0000000..ad21063 --- /dev/null +++ b/Ingegneria del Software/0613_35/correct.txt @@ -0,0 +1,15 @@ +
+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/0613_35/quest.txt b/Ingegneria del Software/0613_35/quest.txt new file mode 100644 index 0000000..031c331 --- /dev/null +++ b/Ingegneria del Software/0613_35/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/0613_35/wrong1.txt b/Ingegneria del Software/0613_35/wrong1.txt new file mode 100644 index 0000000..b14ac60 --- /dev/null +++ b/Ingegneria del Software/0613_35/wrong1.txt @@ -0,0 +1,15 @@ +
+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/0613_35/wrong2.txt b/Ingegneria del Software/0613_35/wrong2.txt new file mode 100644 index 0000000..e4201ab --- /dev/null +++ b/Ingegneria del Software/0613_35/wrong2.txt @@ -0,0 +1,15 @@ +
+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/0613_36/correct.txt b/Ingegneria del Software/0613_36/correct.txt new file mode 100644 index 0000000..1c7da8c --- /dev/null +++ b/Ingegneria del Software/0613_36/correct.txt @@ -0,0 +1 @@ +0.03 \ No newline at end of file diff --git a/Ingegneria del Software/0613_36/quest.txt b/Ingegneria del Software/0613_36/quest.txt new file mode 100644 index 0000000..58782d5 --- /dev/null +++ b/Ingegneria del Software/0613_36/quest.txt @@ -0,0 +1,9 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_36.png +Un processo software può essere rappesentato con uno state diagram in cui gli stati rappresentano le fasi (e loro iterazioni) del prcoesso software e gli archi le transizioni da una fase all'altra. Gli archi sono etichettati con le probabilità della transizione e gli stati sono etichettati con il costo per lasciare lo stato. +Ad esempio lo state diagram in figura + + + +Rappresenta un processo software con 2 fasi F1 ed F2. F1 ha costo 10000 EUR ed F2 ha costo 1000 EUR. F1 ha una probabilita dello 0.3 di dover essere ripetuta (a causa di errori) ed F2 ha una probabilità 0.1 di dover essere ripetuta (a causa di errori). +Uno scenario è una sequenza di stati. +Qual'e' la probabilità dello scenario: 1, 2, 3, 4 ? In altri terminti, qual'è la probabilità che sia necessario ripetere sia la fase 1 che la fase 2 ? \ No newline at end of file diff --git a/Ingegneria del Software/0613_36/wrong1.txt b/Ingegneria del Software/0613_36/wrong1.txt new file mode 100644 index 0000000..8a346b7 --- /dev/null +++ b/Ingegneria del Software/0613_36/wrong1.txt @@ -0,0 +1 @@ +0.07 \ No newline at end of file diff --git a/Ingegneria del Software/0613_36/wrong2.txt b/Ingegneria del Software/0613_36/wrong2.txt new file mode 100644 index 0000000..7eb6830 --- /dev/null +++ b/Ingegneria del Software/0613_36/wrong2.txt @@ -0,0 +1 @@ +0.27 \ No newline at end of file diff --git a/Ingegneria del Software/0613_37/correct.txt b/Ingegneria del Software/0613_37/correct.txt new file mode 100644 index 0000000..a7029bc --- /dev/null +++ b/Ingegneria del Software/0613_37/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/0613_37/quest.txt b/Ingegneria del Software/0613_37/quest.txt new file mode 100644 index 0000000..e5fbc81 --- /dev/null +++ b/Ingegneria del Software/0613_37/quest.txt @@ -0,0 +1,16 @@ +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/0613_37/wrong1.txt b/Ingegneria del Software/0613_37/wrong1.txt new file mode 100644 index 0000000..710b111 --- /dev/null +++ b/Ingegneria del Software/0613_37/wrong1.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/0613_37/wrong2.txt b/Ingegneria del Software/0613_37/wrong2.txt new file mode 100644 index 0000000..a82929b --- /dev/null +++ b/Ingegneria del Software/0613_37/wrong2.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/0613_38/quest.txt b/Ingegneria del Software/0613_38/quest.txt new file mode 100644 index 0000000..230115c --- /dev/null +++ b/Ingegneria del Software/0613_38/quest.txt @@ -0,0 +1,2 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_38.png +Quale dei seguenti modelli Modelica rappresenta lo state diagram in figura ? \ No newline at end of file diff --git a/Ingegneria del Software/0613_38/wrong1.txt b/Ingegneria del Software/0613_38/wrong1.txt new file mode 100644 index 0000000..00b636b --- /dev/null +++ b/Ingegneria del Software/0613_38/wrong1.txt @@ -0,0 +1,35 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 3; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0613_38/wrong2.txt b/Ingegneria del Software/0613_38/wrong2.txt new file mode 100644 index 0000000..dc39134 --- /dev/null +++ b/Ingegneria del Software/0613_38/wrong2.txt @@ -0,0 +1,34 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 2; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0613_38/wrong3.txt b/Ingegneria del Software/0613_38/wrong3.txt new file mode 100644 index 0000000..6a9ef82 --- /dev/null +++ b/Ingegneria del Software/0613_38/wrong3.txt @@ -0,0 +1,35 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 3; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0613_39/correct.txt b/Ingegneria del Software/0613_39/correct.txt new file mode 100644 index 0000000..b9f32a6 --- /dev/null +++ b/Ingegneria del Software/0613_39/correct.txt @@ -0,0 +1 @@ +c(0)/(1 - p) \ No newline at end of file diff --git a/Ingegneria del Software/0613_39/quest.txt b/Ingegneria del Software/0613_39/quest.txt new file mode 100644 index 0000000..24a64fe --- /dev/null +++ b/Ingegneria del Software/0613_39/quest.txt @@ -0,0 +1,6 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_39.png +Si consideri il processo software con due fasi (0 ed 1) rappresentato con la Markov chain in figura. Lo stato iniziale 0 e p è in (0, 1). Il costo dello stato (fase) x è c(x). La fase 0 è la fase di design, che ha probabilità p di dover essere ripetuta causa errori. La fase 1 rappreenta il completamento del processo software, e quindi c(1) = 0. +Il costo di una istanza del processo software descritto sopra è la somma dei costi degli stati attraversati (tenendo presente che si parte sempre dallo stato 0. +Quindi il costo C(X) della sequenza di stati X = x(0), x(1), x(2), .... è C(X) = c(x(0)) + c(x(1)) + c(x(2)) + ... +Ad esempio se X = 0, 1 abbiamo C(X) = c(0) + c(1) = c(0) (poichè c(1) = 0). +Quale delle seguenti formule calcola il valore atteso del costo per completare il processo software di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0613_39/wrong1.txt b/Ingegneria del Software/0613_39/wrong1.txt new file mode 100644 index 0000000..70022eb --- /dev/null +++ b/Ingegneria del Software/0613_39/wrong1.txt @@ -0,0 +1 @@ +c(0)*(1 - p)/p \ No newline at end of file diff --git a/Ingegneria del Software/0613_39/wrong2.txt b/Ingegneria del Software/0613_39/wrong2.txt new file mode 100644 index 0000000..3143da9 --- /dev/null +++ b/Ingegneria del Software/0613_39/wrong2.txt @@ -0,0 +1 @@ +c(0)/(p*(1 - p)) \ No newline at end of file diff --git a/Ingegneria del Software/0613_4/correct.txt b/Ingegneria del Software/0613_4/correct.txt new file mode 100644 index 0000000..4e45af2 --- /dev/null +++ b/Ingegneria del Software/0613_4/correct.txt @@ -0,0 +1 @@ +State coverage: 60% \ No newline at end of file diff --git a/Ingegneria del Software/0613_4/quest.txt b/Ingegneria del Software/0613_4/quest.txt new file mode 100644 index 0000000..5cf5cae --- /dev/null +++ b/Ingegneria del Software/0613_4/quest.txt @@ -0,0 +1,12 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_4.png +La state coverage di un insieme di test cases (cioè sequenze di inputs) per uno state diagram è la percentuale di stati (inclusi START ed END) raggiunti almeno una volta. +Si consideri lo state diagram in figura + + + +Si consideri il seguente insieme di test cases: +Test case 1: act0 act0 act0 +Test case 2: act1 act0 act2 act1 act0 +Test case 3: act1 act2 act2 act0 act2 + +Quale delle seguenti è la migliore stima della state coverage per i test cases di cui sopra \ No newline at end of file diff --git a/Ingegneria del Software/0613_4/wrong1.txt b/Ingegneria del Software/0613_4/wrong1.txt new file mode 100644 index 0000000..a8aead7 --- /dev/null +++ b/Ingegneria del Software/0613_4/wrong1.txt @@ -0,0 +1 @@ +State coverage: 80% \ No newline at end of file diff --git a/Ingegneria del Software/0613_4/wrong2.txt b/Ingegneria del Software/0613_4/wrong2.txt new file mode 100644 index 0000000..90b2f35 --- /dev/null +++ b/Ingegneria del Software/0613_4/wrong2.txt @@ -0,0 +1 @@ +State coverage: 40% \ No newline at end of file diff --git a/Ingegneria del Software/0613_40/quest.txt b/Ingegneria del Software/0613_40/quest.txt new file mode 100644 index 0000000..2959407 --- /dev/null +++ b/Ingegneria del Software/0613_40/quest.txt @@ -0,0 +1,2 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_40.png +Quale dei seguenti modelli Modelica rappresenta lo state diagram in figura ? \ No newline at end of file diff --git a/Ingegneria del Software/0613_40/wrong1.txt b/Ingegneria del Software/0613_40/wrong1.txt new file mode 100644 index 0000000..f919b6b --- /dev/null +++ b/Ingegneria del Software/0613_40/wrong1.txt @@ -0,0 +1,36 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 2) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 2; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0613_40/wrong2.txt b/Ingegneria del Software/0613_40/wrong2.txt new file mode 100644 index 0000000..fc9e0aa --- /dev/null +++ b/Ingegneria del Software/0613_40/wrong2.txt @@ -0,0 +1,36 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 2; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 2) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 1; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 0; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 3; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0613_40/wrong3.txt b/Ingegneria del Software/0613_40/wrong3.txt new file mode 100644 index 0000000..e537817 --- /dev/null +++ b/Ingegneria del Software/0613_40/wrong3.txt @@ -0,0 +1,35 @@ +block FSA // Finite State Automaton + +/* connector declarations outside this block: +connector InputInteger = input Integer; +connector OutputInteger = output Integer; +*/ + +InputInteger u; // external input +OutputInteger x; // state +parameter Real T = 1; + +algorithm + +when initial() then +x := 0; + +elsewhen sample(0,T) then + +if (pre(x) == 0) and (pre(u) == 0) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 0) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 0) then x := 3; +elseif (pre(x) == 1) and (pre(u) == 1) then x := 4; +elseif (pre(x) == 1) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 2) and (pre(u) == 2) then x := 3; +elseif (pre(x) == 3) and (pre(u) == 0) then x := 2; +elseif (pre(x) == 3) and (pre(u) == 2) then x := 2; +elseif (pre(x) == 4) and (pre(u) == 0) then x := 1; +elseif (pre(x) == 4) and (pre(u) == 1) then x := 3; +elseif (pre(x) == 4) and (pre(u) == 2) then x := 0; +else x := pre(x); // default +end if; + +end when; +end FSA; \ No newline at end of file diff --git a/Ingegneria del Software/0613_41/quest.txt b/Ingegneria del Software/0613_41/quest.txt new file mode 100644 index 0000000..99379e6 --- /dev/null +++ b/Ingegneria del Software/0613_41/quest.txt @@ -0,0 +1,4 @@ +Pre-condizioni, invarianti e post-condizioni di un programma possono essere definiti usando la macro del C assert() (in ). In particolare, assert(expre) non fa nulla se l'espressione expre vale TRUE (cioè non è 0), stampa un messaggio di errore su stderr e abortisce l'esecuzione del programma altrimenti. +Si consideri la funzione C +int f(int x, int y) { ..... } +Quale delle seguenti assert esprime l'invariante che le variabili locali z e w di f() hanno somma minore di 1 oppure maggiore di 7 ? \ No newline at end of file diff --git a/Ingegneria del Software/0613_41/wrong1.txt b/Ingegneria del Software/0613_41/wrong1.txt new file mode 100644 index 0000000..cbf1814 --- /dev/null +++ b/Ingegneria del Software/0613_41/wrong1.txt @@ -0,0 +1,6 @@ +int f(in x, int y) +{ +int z, w; +assert( (z + w <= 1) || (z + w >= 7)); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0613_41/wrong2.txt b/Ingegneria del Software/0613_41/wrong2.txt new file mode 100644 index 0000000..6fcb8b5 --- /dev/null +++ b/Ingegneria del Software/0613_41/wrong2.txt @@ -0,0 +1,6 @@ +int f(in x, int y) +{ +int z, w; +assert( (z + w > 1) || (z + w < 7)); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0613_41/wrong3.txt b/Ingegneria del Software/0613_41/wrong3.txt new file mode 100644 index 0000000..03b9f52 --- /dev/null +++ b/Ingegneria del Software/0613_41/wrong3.txt @@ -0,0 +1,6 @@ +int f(in x, int y) +{ +int z, w; +assert( (z + w < 1) || (z + w > 7)); +..... +} \ No newline at end of file diff --git a/Ingegneria del Software/0613_42/correct.txt b/Ingegneria del Software/0613_42/correct.txt new file mode 100644 index 0000000..95bc750 --- /dev/null +++ b/Ingegneria del Software/0613_42/correct.txt @@ -0,0 +1 @@ +100% \ No newline at end of file diff --git a/Ingegneria del Software/0613_42/quest.txt b/Ingegneria del Software/0613_42/quest.txt new file mode 100644 index 0000000..2bda796 --- /dev/null +++ b/Ingegneria del Software/0613_42/quest.txt @@ -0,0 +1,29 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- +int f(int x[3]) +{ + if (x[0] + x[1] - x[2] < -7) + { return (0); } + else if (2*x[0] -3*x[1] + 4*x[2] > 7) + { + if (x[0] + x[1] + x[2] > 10) + { return (1); } + else + { return (0); } + } + else + { + if (2*x[0] + 3*x[1] + 4*x[2] > 9) + { return (1); } + else + { return (0); } + } + } /* f() */ +ed il seguente insieme di test cases: + +Test 1: x[0] = 1, x[1] = 1, x[2] = 1, +Test2: x[0] = 2, x[1] = 3, x[2] = 3, +Test 3: x[0] = -4, x[1] = -4, x[2] = 0, +Test 4: x[0] = 3, x[1] = 0, x[2] = 4, +Test 5: x[0] = 3, x[1] = 3, x[2] = 5. \ No newline at end of file diff --git a/Ingegneria del Software/0613_42/wrong1.txt b/Ingegneria del Software/0613_42/wrong1.txt new file mode 100644 index 0000000..23e721f --- /dev/null +++ b/Ingegneria del Software/0613_42/wrong1.txt @@ -0,0 +1 @@ +50% \ No newline at end of file diff --git a/Ingegneria del Software/0613_42/wrong2.txt b/Ingegneria del Software/0613_42/wrong2.txt new file mode 100644 index 0000000..a2507e5 --- /dev/null +++ b/Ingegneria del Software/0613_42/wrong2.txt @@ -0,0 +1 @@ +80% \ No newline at end of file diff --git a/Ingegneria del Software/0613_43/correct.txt b/Ingegneria del Software/0613_43/correct.txt new file mode 100644 index 0000000..293ebbc --- /dev/null +++ b/Ingegneria del Software/0613_43/correct.txt @@ -0,0 +1,17 @@ +
+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) 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/0613_43/quest.txt b/Ingegneria del Software/0613_43/quest.txt new file mode 100644 index 0000000..5922b9f --- /dev/null +++ b/Ingegneria del Software/0613_43/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/0613_43/wrong1.txt b/Ingegneria del Software/0613_43/wrong1.txt new file mode 100644 index 0000000..d7890b2 --- /dev/null +++ b/Ingegneria del Software/0613_43/wrong1.txt @@ -0,0 +1,17 @@ +
+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/0613_43/wrong2.txt b/Ingegneria del Software/0613_43/wrong2.txt new file mode 100644 index 0000000..d50b268 --- /dev/null +++ b/Ingegneria del Software/0613_43/wrong2.txt @@ -0,0 +1,17 @@ +
+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/0613_44/correct.txt b/Ingegneria del Software/0613_44/correct.txt new file mode 100644 index 0000000..1a8a50a --- /dev/null +++ b/Ingegneria del Software/0613_44/correct.txt @@ -0,0 +1 @@ +Per ciascun requisito, dovremmo essere in grado di scrivere un inseme di test che può dimostrare che il sistema sviluppato soddisfa il requisito considerato. \ No newline at end of file diff --git a/Ingegneria del Software/0613_44/quest.txt b/Ingegneria del Software/0613_44/quest.txt new file mode 100644 index 0000000..793b220 --- /dev/null +++ b/Ingegneria del Software/0613_44/quest.txt @@ -0,0 +1 @@ +Quale delle seguenti frasi meglio descrive il criterio di "requirements verifiability" che è parte della "requirements validation activity". \ No newline at end of file diff --git a/Ingegneria del Software/0613_44/wrong1.txt b/Ingegneria del Software/0613_44/wrong1.txt new file mode 100644 index 0000000..fac8307 --- /dev/null +++ b/Ingegneria del Software/0613_44/wrong1.txt @@ -0,0 +1 @@ +Per ciascuna coppia di componenti, dovremmo essere in grado di scrivere un insieme di test che può dimostrare che l'interazione tra le componenti soddisfa tutti i requisiti di interfaccia. \ No newline at end of file diff --git a/Ingegneria del Software/0613_44/wrong2.txt b/Ingegneria del Software/0613_44/wrong2.txt new file mode 100644 index 0000000..3fdb31e --- /dev/null +++ b/Ingegneria del Software/0613_44/wrong2.txt @@ -0,0 +1 @@ +Per ciascuna componente del sistema, dovremmo essere in grado di scrivere un insieme di test che può dimostrare che essa soddisfa tutti i requisiti. \ No newline at end of file diff --git a/Ingegneria del Software/0613_45/correct.txt b/Ingegneria del Software/0613_45/correct.txt new file mode 100644 index 0000000..232aedf --- /dev/null +++ b/Ingegneria del Software/0613_45/correct.txt @@ -0,0 +1 @@ +(a = 6, b = 0, c = 1), (a = 0, b = 5, c = 0), (a = 0, b = 3, c = 0). \ No newline at end of file diff --git a/Ingegneria del Software/0613_45/quest.txt b/Ingegneria del Software/0613_45/quest.txt new file mode 100644 index 0000000..e44e320 --- /dev/null +++ b/Ingegneria del Software/0613_45/quest.txt @@ -0,0 +1,21 @@ +Una Condition è una proposizione booleana, cioè una espressione con valore booleano che non può essere decomposta +in espressioni boolean più semplici. Ad esempio, (x + y <= 3) è una condition. + +Una Decision è una espressione booleana composta da conditions e zero o più operatori booleani. Ad esempio, sono decisions: +(x + y <= 3) +((x + y <= 3) || (x - y > 7)) +Un insieme di test cases T soddisfa il criterio di Condition/Decision coverage se tutte le seguenti condizioni sono soddisfatte: + +1) Ciascun punto di entrata ed uscita nel programma è eseguito in almeno un test; +2) Per ogni decision d nel programma, per ogni condition c in d, esiste un test in T in cui c è true ed un test in T in cui c è false. +3) Per ogni decision d nel programma, esiste un test in T in cui d è true ed un test in T in cui d è false. + +Si consideri la seguente funzione: +int f(int a, int b, int c) +{ if ( (a + b - 6 >= 0) && (b - c - 1 <= 0) ) + return (1); // punto di uscita 1 + else if ((b - c - 1 <= 0) || (b + c - 5 >= 0)) + then return (2); // punto di uscita 2 + else return (3); // punto di uscita 3 +} + Quale dei seguenti test set soddisfa il criterio della Condition/Decision coverage ? \ No newline at end of file diff --git a/Ingegneria del Software/0613_45/wrong1.txt b/Ingegneria del Software/0613_45/wrong1.txt new file mode 100644 index 0000000..5d5c9a4 --- /dev/null +++ b/Ingegneria del Software/0613_45/wrong1.txt @@ -0,0 +1 @@ +(a = 6, b = 0, c = 1), (a = 0, b = 5, c = 0), (a = 0, b = 3, c = 2). \ No newline at end of file diff --git a/Ingegneria del Software/0613_45/wrong2.txt b/Ingegneria del Software/0613_45/wrong2.txt new file mode 100644 index 0000000..2b6c292 --- /dev/null +++ b/Ingegneria del Software/0613_45/wrong2.txt @@ -0,0 +1 @@ +(a = 5, b = 0, c = 1), (a = 0, b = 5, c = 0), (a = 0, b = 3, c = 0). \ No newline at end of file diff --git a/Ingegneria del Software/0613_46/correct.txt b/Ingegneria del Software/0613_46/correct.txt new file mode 100644 index 0000000..a2507e5 --- /dev/null +++ b/Ingegneria del Software/0613_46/correct.txt @@ -0,0 +1 @@ +80% \ No newline at end of file diff --git a/Ingegneria del Software/0613_46/quest.txt b/Ingegneria del Software/0613_46/quest.txt new file mode 100644 index 0000000..03acbcc --- /dev/null +++ b/Ingegneria del Software/0613_46/quest.txt @@ -0,0 +1,30 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- + +int f(int x[3]) +{ + if (-x[0] + x[1] - x[2] < -7) + if (-x[0] + x[1] - x[2] > 10) + { return (0); } + else + { return (1); } + else if (-3*x[0] +3*x[1] - 5*x[2] > 7) + { + return (0); + } + else + { + if (3*x[0] - 5*x[1] + 7*x[2] > 9) + { return (1); } + else + { return (0); } + } +} /* f() */ +---------- +ed il seguente insieme di test cases: + +Test 1: x[0] = 2, x[1] = -3, x[2] = 4, +Test 2: x[0] = 1, x[1] = 0, x[2] = 2, +Test 3: x[0] = -3, x[1] = -4, x[2] = -3, +Test 4: x[0] = 3, x[1] = -1, x[2] = -3. \ No newline at end of file diff --git a/Ingegneria del Software/0613_46/wrong1.txt b/Ingegneria del Software/0613_46/wrong1.txt new file mode 100644 index 0000000..95bc750 --- /dev/null +++ b/Ingegneria del Software/0613_46/wrong1.txt @@ -0,0 +1 @@ +100% \ No newline at end of file diff --git a/Ingegneria del Software/0613_46/wrong2.txt b/Ingegneria del Software/0613_46/wrong2.txt new file mode 100644 index 0000000..2fd674f --- /dev/null +++ b/Ingegneria del Software/0613_46/wrong2.txt @@ -0,0 +1 @@ +60% \ No newline at end of file diff --git a/Ingegneria del Software/0613_47/correct.txt b/Ingegneria del Software/0613_47/correct.txt new file mode 100644 index 0000000..f3da655 --- /dev/null +++ b/Ingegneria del Software/0613_47/correct.txt @@ -0,0 +1 @@ +3*(A + 2*B) \ No newline at end of file diff --git a/Ingegneria del Software/0613_47/quest.txt b/Ingegneria del Software/0613_47/quest.txt new file mode 100644 index 0000000..6395b05 --- /dev/null +++ b/Ingegneria del Software/0613_47/quest.txt @@ -0,0 +1 @@ +Il team di sviluppo di un azienda consiste di un senior software engineer e due sviluppatori junior. Usando un approccio agile, ogni iterazione impegna tutti e tre i membri del team per un mese ed occorrono tre iterazioni per completare lo sviluppo. Si assuma che non ci siano "change requests" e che il membro senior costi A Eur/mese ed i membri junior B Eur/mese. Qual'e' il costo dello sviluppo usando un approccio agile ? \ No newline at end of file diff --git a/Ingegneria del Software/0613_47/wrong1.txt b/Ingegneria del Software/0613_47/wrong1.txt new file mode 100644 index 0000000..316107c --- /dev/null +++ b/Ingegneria del Software/0613_47/wrong1.txt @@ -0,0 +1 @@ +A + 2*B \ No newline at end of file diff --git a/Ingegneria del Software/0613_47/wrong2.txt b/Ingegneria del Software/0613_47/wrong2.txt new file mode 100644 index 0000000..82fe5c7 --- /dev/null +++ b/Ingegneria del Software/0613_47/wrong2.txt @@ -0,0 +1 @@ +3*A + 2*B \ No newline at end of file diff --git a/Ingegneria del Software/0613_48/correct.txt b/Ingegneria del Software/0613_48/correct.txt new file mode 100644 index 0000000..ce9968f --- /dev/null +++ b/Ingegneria del Software/0613_48/correct.txt @@ -0,0 +1 @@ +0.28 \ No newline at end of file diff --git a/Ingegneria del Software/0613_48/quest.txt b/Ingegneria del Software/0613_48/quest.txt new file mode 100644 index 0000000..adccf3a --- /dev/null +++ b/Ingegneria del Software/0613_48/quest.txt @@ -0,0 +1,9 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_48.png +Un processo software può essere rappesentato con uno state diagram in cui gli stati rappresentano le fasi (e loro iterazioni) del processo software e gli archi le transizioni da una fase all'altra. Gli archi sono etichettati con le probabilità della transizione e gli stati sono etichettati con il costo per lasciare lo stato. +Ad esempio lo state diagram in figura + + + +Rappresenta un processo software con 2 fasi F1 ed F2. F1 ha costo 10000 EUR ed F2 ha costo 1000 EUR. F1 ha una probabilita dello 0.4 di dover essere ripetuta (a causa di errori) ed F2 ha una probabilità 0.3 di dover essere ripetuta (a causa di errori). +Uno scenario è una sequenza di stati. +Qual'e' la probabilità dello scenario: 1, 2, 3? In altri terminti, qual'è la probabilità che non sia necessario ripetere la prima fase (ma non la seconda) ? \ No newline at end of file diff --git a/Ingegneria del Software/0613_48/wrong1.txt b/Ingegneria del Software/0613_48/wrong1.txt new file mode 100644 index 0000000..f2bb2d0 --- /dev/null +++ b/Ingegneria del Software/0613_48/wrong1.txt @@ -0,0 +1 @@ +0.12 \ No newline at end of file diff --git a/Ingegneria del Software/0613_48/wrong2.txt b/Ingegneria del Software/0613_48/wrong2.txt new file mode 100644 index 0000000..e8f9017 --- /dev/null +++ b/Ingegneria del Software/0613_48/wrong2.txt @@ -0,0 +1 @@ +0.42 \ No newline at end of file diff --git a/Ingegneria del Software/0613_49/correct.txt b/Ingegneria del Software/0613_49/correct.txt new file mode 100644 index 0000000..4c75070 --- /dev/null +++ b/Ingegneria del Software/0613_49/correct.txt @@ -0,0 +1,16 @@ +
+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/0613_49/quest.txt b/Ingegneria del Software/0613_49/quest.txt new file mode 100644 index 0000000..e11a044 --- /dev/null +++ b/Ingegneria del Software/0613_49/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/0613_49/wrong1.txt b/Ingegneria del Software/0613_49/wrong1.txt new file mode 100644 index 0000000..6dafe94 --- /dev/null +++ b/Ingegneria del Software/0613_49/wrong1.txt @@ -0,0 +1,16 @@ +
+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/0613_49/wrong2.txt b/Ingegneria del Software/0613_49/wrong2.txt new file mode 100644 index 0000000..a3d79a4 --- /dev/null +++ b/Ingegneria del Software/0613_49/wrong2.txt @@ -0,0 +1,16 @@ +
+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/0613_5/correct.txt b/Ingegneria del Software/0613_5/correct.txt new file mode 100644 index 0000000..2fd674f --- /dev/null +++ b/Ingegneria del Software/0613_5/correct.txt @@ -0,0 +1 @@ +60% \ No newline at end of file diff --git a/Ingegneria del Software/0613_5/quest.txt b/Ingegneria del Software/0613_5/quest.txt new file mode 100644 index 0000000..579b39b --- /dev/null +++ b/Ingegneria del Software/0613_5/quest.txt @@ -0,0 +1,29 @@ +Il branch coverage di un insieme di test cases è la percentuale di branch del programma che sono attraversati da almeno un test case. +Si consideri la seguente funzione C: +----------- +int f(int x[3]) +{ + if (-x[0] + x[1] - x[2] < -7) + if (-x[0] + x[1] - x[2] > 10) + { return (0); } + else + { return (1); } + else if (-3*x[0] +3*x[1] - 5*x[2] > 7) + { + if (3*x[0] - 5*x[1] + 7*x[2] > 9) + { return (0); } + else + { return (1); } + } + else + { + return (0); + } + +} /* f() */ +---------- +ed il seguente insieme di test cases: + +Test 1: x[0] = 1, x[1] = 5, x[2] = 3, +Test 2: x[0] = 4, x[1] = -2, x[2] = 2, +Test 3: x[0] = 5, x[1] = 3, x[2] = -4. \ No newline at end of file diff --git a/Ingegneria del Software/0613_5/wrong1.txt b/Ingegneria del Software/0613_5/wrong1.txt new file mode 100644 index 0000000..95bc750 --- /dev/null +++ b/Ingegneria del Software/0613_5/wrong1.txt @@ -0,0 +1 @@ +100% \ No newline at end of file diff --git a/Ingegneria del Software/0613_5/wrong2.txt b/Ingegneria del Software/0613_5/wrong2.txt new file mode 100644 index 0000000..a2507e5 --- /dev/null +++ b/Ingegneria del Software/0613_5/wrong2.txt @@ -0,0 +1 @@ +80% \ No newline at end of file diff --git a/Ingegneria del Software/0613_6/correct.txt b/Ingegneria del Software/0613_6/correct.txt new file mode 100644 index 0000000..a98afd2 --- /dev/null +++ b/Ingegneria del Software/0613_6/correct.txt @@ -0,0 +1,17 @@ +
+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/0613_6/quest.txt b/Ingegneria del Software/0613_6/quest.txt new file mode 100644 index 0000000..b420aaf --- /dev/null +++ b/Ingegneria del Software/0613_6/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/0613_6/wrong1.txt b/Ingegneria del Software/0613_6/wrong1.txt new file mode 100644 index 0000000..66064fe --- /dev/null +++ b/Ingegneria del Software/0613_6/wrong1.txt @@ -0,0 +1,17 @@ +
+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/0613_6/wrong2.txt b/Ingegneria del Software/0613_6/wrong2.txt new file mode 100644 index 0000000..c71f1f5 --- /dev/null +++ b/Ingegneria del Software/0613_6/wrong2.txt @@ -0,0 +1,17 @@ +
+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/0613_7/correct.txt b/Ingegneria del Software/0613_7/correct.txt new file mode 100644 index 0000000..a40ea7d --- /dev/null +++ b/Ingegneria del Software/0613_7/correct.txt @@ -0,0 +1 @@ +(a=200, b = 0, c = 1), (a=50, b = 5, c = 0), (a=50, b = 3, c = 0). \ No newline at end of file diff --git a/Ingegneria del Software/0613_7/quest.txt b/Ingegneria del Software/0613_7/quest.txt new file mode 100644 index 0000000..dbd72c0 --- /dev/null +++ b/Ingegneria del Software/0613_7/quest.txt @@ -0,0 +1,22 @@ +Una Condition è una proposizione booleana, cioè una espressione con valore booleano che non può essere decomposta +in espressioni boolean più semplici. Ad esempio, (x + y <= 3) è una condition. + +Una Decision è una espressione booleana composta da conditions e zero o più operatori booleani. Ad esempio, sono decisions: +(x + y <= 3) +((x + y <= 3) || (x - y > 7)) +Un insieme di test cases T soddisfa il criterio di Condition/Decision coverage se tutte le seguenti condizioni sono soddisfatte: + +1) Ciascun punto di entrata ed uscita nel programma è eseguito in almeno un test; +2) Per ogni decision d nel programma, per ogni condition c in d, esiste un test in T in cui c è true ed un test in T in cui c è false. +3) Per ogni decision d nel programma, esiste un test in T in cui d è true ed un test in T in cui d è false. + +Si consideri la seguente funzione: +int f(int a, int b, int c) +{ if ( (a - 100 >= 0) && (b - c - 1 <= 0) ) + return (1); // punto di uscita 1 + else if ((b - c - 1 <= 0) || (b + c - 5 >= 0) +) + then return (2); // punto di uscita 2 + else return (3); // punto di uscita 3 +} + Quale dei seguenti test set soddisfa il criterio della Condition/Decision coverage ? \ No newline at end of file diff --git a/Ingegneria del Software/0613_7/wrong1.txt b/Ingegneria del Software/0613_7/wrong1.txt new file mode 100644 index 0000000..abe0eaa --- /dev/null +++ b/Ingegneria del Software/0613_7/wrong1.txt @@ -0,0 +1 @@ +(a=200, b = 0, c = 1), (a=50, b = 4, c = 0), (a=200, b = 4, c = 0) \ No newline at end of file diff --git a/Ingegneria del Software/0613_7/wrong2.txt b/Ingegneria del Software/0613_7/wrong2.txt new file mode 100644 index 0000000..5b77112 --- /dev/null +++ b/Ingegneria del Software/0613_7/wrong2.txt @@ -0,0 +1 @@ +(a=200, b = 0, c = 1), (a=50, b = 5, c = 0), (a=50, b = 0, c = 5). \ No newline at end of file diff --git a/Ingegneria del Software/0613_8/correct.txt b/Ingegneria del Software/0613_8/correct.txt new file mode 100644 index 0000000..489e74c --- /dev/null +++ b/Ingegneria del Software/0613_8/correct.txt @@ -0,0 +1 @@ +5*A \ No newline at end of file diff --git a/Ingegneria del Software/0613_8/quest.txt b/Ingegneria del Software/0613_8/quest.txt new file mode 100644 index 0000000..570368e --- /dev/null +++ b/Ingegneria del Software/0613_8/quest.txt @@ -0,0 +1 @@ +Un processo di sviluppo plan-driven consiste di 2 fasi F1, F2, ciascuna costo A. Alla fine di ogni fase vengono prese in considerazione le "change requests" e, se ve ne sono, lo sviluppo viene ripetuto a partire dalla prima iterazione. Quindi con nessuna change request si hanno le fasi: F1, F2 e costo 2A. Con una "change request" dopo la prima fase si ha: F1, F1, F2 e costo 3A. Con una change request dopo la fase 2 si ha: F1, F2, F1, F2 e costo 4A. Qual'è il costo nel caso in cui ci siano change requests sia dopo la fase 1 che dopo la fase 2. \ No newline at end of file diff --git a/Ingegneria del Software/0613_8/wrong1.txt b/Ingegneria del Software/0613_8/wrong1.txt new file mode 100644 index 0000000..bf91afb --- /dev/null +++ b/Ingegneria del Software/0613_8/wrong1.txt @@ -0,0 +1 @@ +7*A \ No newline at end of file diff --git a/Ingegneria del Software/0613_8/wrong2.txt b/Ingegneria del Software/0613_8/wrong2.txt new file mode 100644 index 0000000..23cbd0e --- /dev/null +++ b/Ingegneria del Software/0613_8/wrong2.txt @@ -0,0 +1 @@ +6*A \ No newline at end of file diff --git a/Ingegneria del Software/0613_9/quest.txt b/Ingegneria del Software/0613_9/quest.txt new file mode 100644 index 0000000..89f55eb --- /dev/null +++ b/Ingegneria del Software/0613_9/quest.txt @@ -0,0 +1,4 @@ +img=https://unspectacular-subdi.000webhostapp.com/0613_domanda_9.png +Si consideri la seguente architettura software: + +Quale dei seguenti modelli Modelica meglio la rappresenta. \ No newline at end of file diff --git a/Ingegneria del Software/0613_9/wrong1.txt b/Ingegneria del Software/0613_9/wrong1.txt new file mode 100644 index 0000000..4bcd55f --- /dev/null +++ b/Ingegneria del Software/0613_9/wrong1.txt @@ -0,0 +1,8 @@ +block SysArch // System Architecture + +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 + +connect(sc1.output12, sc \ No newline at end of file diff --git a/Ingegneria del Software/0613_9/wrong2.txt b/Ingegneria del Software/0613_9/wrong2.txt new file mode 100644 index 0000000..2c10a10 --- /dev/null +++ b/Ingegneria del Software/0613_9/wrong2.txt @@ -0,0 +1,4 @@ +input12) +connect(sc1.output14, sc4.input14) +connect(sc2.output24, sc4.input24) +connect(sc \ No newline at end of file diff --git a/Ingegneria del Software/0613_9/wrong3.txt b/Ingegneria del Software/0613_9/wrong3.txt new file mode 100644 index 0000000..7ddc09e --- /dev/null +++ b/Ingegneria del Software/0613_9/wrong3.txt @@ -0,0 +1,46 @@ +output34, sc4.input34) +connect(sc4.output41, sc1.input41) +connect(sc4.output43, sc3.input43) + + +end SysArch; + +2. +block SysArch // System Architecture + +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 + +connect(sc1.output12, sc2.input12) +connect(sc1.output14, sc4.input14) +connect(sc2.output23, sc3.input23) +connect(sc2.output24, sc4.input24) +connect(sc3.output31, sc1.input31) +connect(sc3.output32, sc2.input32) +connect(sc3.output34, sc4.input34) +connect(sc4.output41, sc1.input41) +connect(sc4.output43, sc3.input43) + + +end SysArch; + +3. +block SysArch // System Architecture + +SC1 sc1 +SC2 sc2 +SC3 sc3 +SC4 sc4 + +connect(sc1.output13, sc3.input13) +connect(sc2.output21, sc1.input21) +connect(sc2.output23, sc3.input23) +connect(sc3.output32, sc2.input32) +connect(sc3.output34, sc4.input34) +connect(sc4.output41, sc1.input41) +connect(sc4.output42, sc2.input42) + + +end SysArch; \ No newline at end of file