Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ»

ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2022-2023

ΤΕΛΙΚΗ ΕΞΕΤΑΣΗ
Κυριακή 4 Ιουνίου 2023

Οδηγίες: Η διάρκεια της εξέτασης είναι τρεις και μισή (3 ½) ώρες αυστηρά. Ισχύουν όσα αναφέρονται στους
Κανονισμούς Εξετάσεων του ΕΑΠ γενικότερα και της ΘΕ ειδικότερα. Τα κριτήρια αξιολόγησης και το βάρος κάθε
κριτηρίου αναγράφονται στο τέλος του κειμένου των θεμάτων. Το σύνολο των μορίων που αντιστοιχεί στο άριστα (10)
είναι 100. Επιτυχόντες θεωρούνται όσοι/ες φοιτητές/τριες συγκεντρώσουν τουλάχιστον 50 μόρια, τα οποία
αντιστοιχούν στον ελάχιστο προβιβάσιμο βαθμό (5).

ΟΜΑΔΑ ΑΣΚΗΣΕΩΝ 1: Αντικειμενοστρεφής Ανάλυση και Σχεδιασμός (30 μονάδες)


Θέμα Α – Σχεδιασμός διαγράμματος ΠΧ [15 μονάδες]
Ένα διαδικτυακό (web-based) σύστημα ηλεκτρονικής ψηφοφορίας έχει τα ακόλουθα λειτουργικά
χαρακτηριστικά:
• Η χρήση του συστήματος επιτρέπεται μόνο κατόπιν υποβολής κατάλληλης αίτησης εγγραφής σε αυτό,
προσδιορίζοντας τα αναγκαία στοιχεία (όνομα χρήστη και κωδικό πρόσβασης). Στη συνέχεια, ο χρήστης,
με βάση αυτά τα στοιχεία θα πρέπει να πραγματοποιήσει την είσοδό του στο σύστημα, η οποία για
λόγους ασφαλείας καταγράφεται από την (εξωτερική) Αρχή Πιστοποίησης Ταυτότητας.
• Χρήστες του συστήματος είναι οι ψηφοφόροι και όσοι έχουν την ευθύνη της διαχείρισής του
(διαχειριστές).
• Ένας ψηφοφόρος μπορεί να διαβάσει τα ενημερωτικά μηνύματα που έχουν δημοσιευτεί και στη συνέχεια
να προχωρήσει, είτε στη συμμετοχή σε μια δημοσκόπηση, είτε στην υποβολή της ψήφου του.
Επισημαίνεται ότι ο ψηφοφόρος μπορεί να προχωρήσει και άμεσα στην υποβολή της ψήφου του μετά
την είσοδό του στο σύστημα.
• Κατά την υποβολή της ψήφου του, η οποία καταγράφεται και αυτή από την (εξωτερική) Αρχή
Πιστοποίησης Ταυτότητας, ο ψηφοφόρος πρέπει υποχρεωτικά να επιλέξει έναν από τους υπάρχοντες
κομματικούς συνδυασμούς, ενώ έχει τη δυνατότητα (αν το επιθυμεί) να αναζητήσει έναν υποψήφιο
βουλευτή. Στο τέλος της διαδικασίας της υποβολής της ψήφου παράγεται ένα αποδεικτικό συμμετοχής
στη ψηφοφορία.
• Μία ακόμη δυνατότητα που έχει ένας ψηφοφόρος είναι η προβολή μιας λίστας συχνών ερωτήσεων
(Frequently Asked Questions, FAQs). Ένας διαχειριστής έχει όλες τις δυνατότητες που έχει ένας
ψηφοφόρος και επιπρόσθετα μπορεί να δημιουργήσει συγκεντρωτικές καταστάσεις και να εμπλουτίσει
τη λίστα των συχνών ερωτήσεων.
Ερώτημα
Να σχεδιαστεί για το σύστημα που περιγράφεται το διάγραμμα Περιπτώσεων Χρήσης. Όπου θεωρείτε ότι
απαιτείται, να κάνετε τις αναγκαίες παραδοχές ώστε το διάγραμμα να είναι όσο το δυνατόν πλήρες.

Α’ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ 1
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ»
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2022-2023

Απάντηση

Α’ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ 2
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ»
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2022-2023

Θέμα Β – Σχεδιασμός διαγράμματος κλάσεων [15 μονάδες]


Ένα σύστημα υποστήριξης ξενοδοχειακού συγκροτήματος έχει τα ακόλουθα χαρακτηριστικά:

• Το ξενοδοχείο αποτελείται από 65 δωμάτια, τα οποία χρησιμοποιούνται αποκλειστικά για τους


σκοπούς του και από 15 οχήματα.
• Τα οχήματα είναι δυνατό να χρησιμοποιηθούν για διάφορους λόγους όταν το ξενοδοχείο είναι
κλειστό τους χειμερινούς μήνες και χαρακτηρίζονται από ένα μοναδικό αριθμητικό αναγνωριστικό
(ID) και μία στατική μέθοδο (recordDailyUsage) που καταγράφει το χρόνο χρήσης τους κατά τη
διάρκεια μιας εργάσιμης ημέρας.
• Στο ξενοδοχείο εργάζονται και έως και 22 υπάλληλοι, οι οποίοι, εκτός από το όνομά τους και τον
κωδικό τους αριθμό χαρακτηρίζονται και από το βαθμό εμπειρίας τους ως δόκιμοι, junior (νέες
προσλήψεις) και senior (αυξημένης εμπειρίας). Είναι δυνατή η συνεργασία μεταξύ των υπαλλήλων,
οπότε ένας από αυτούς θα έχει το ρόλο του αρχηγού.
• Κάθε δωμάτιο ανήκει αποκλειστικά σε μία κατηγορία (μονόκλινο, δίκλινο, μεζονέτα) και
χαρακτηρίζεται από την τιμή ημερήσιας ενοικίασής του και το αν διαθέτει (ή όχι) μπαλκόνι. Τα
χαρακτηριστικά αυτά είναι άμεσα διαθέσιμα και στις τρεις κατηγορίες δωματίων (και μόνο σε
αυτές). Κάθε κατηγορία δωματίου διαθέτει ξεχωριστές ιδιότητες που όμως δεν ενδιαφέρουν στο
πλαίσιο της συγκεκριμένης άσκησης. Αυτό που ενδιαφέρει είναι ότι όλα τα δωμάτια διαθέτουν μία
μέθοδο για τον προσδιορισμό των παροχών τους (specifyFacilities()), η οποία διαφέρει από
δωμάτιο σε δωμάτιο.
• Τόσο το δωμάτιο, όσο και ο υπάλληλος υλοποιούν τη διεπαφή / διασύνδεση ΙCalculateCost για τον
υπολογισμό του κόστους που σχετίζεται με την ύπαρξη τους, η οποία διαθέτει τη μέθοδο
calcWeeklyCost(), για τον προσδιορισμό του εβδομαδιαίου κόστους. Μέθοδο με το όνομα αυτό
διαθέτει και το ξενοδοχείο.»

Ερώτημα
Να σχεδιαστεί το διάγραμμα κλάσεων που απεικονίζει τις πληροφορίες που δίνονται παραπάνω. Στις
κλάσεις που θα χρησιμοποιήσετε να προσθέσετε (όπου είναι δυνατό) τα κατάλληλα πεδία (με τον τύπο που
εξυπηρετεί καλύτερα το ρόλο τους) και μεθόδους (παραλείποντας τις παραμέτρους και τον τύπο
επιστροφής που αυτές μπορεί να έχουν). Επίσης, θα πρέπει να προσδιορίσετε σχέσεις με άλλες κλάσεις και
πολλαπλότητες.

Α’ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ 3
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ»
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2022-2023

Απάντηση

ΟΜΑΔΑ ΑΣΚΗΣΕΩΝ 2: Αντικειμενοστρεφής Προγραμματισμός με Java (40 μονάδες)

Ένας τουριστικός προορισμός (Destination) περιλαμβάνει τα ακόλουθα δεδομένα:


• το όνομα του προορισμού (name),
• το όνομα του δήμου στον οποίο ανήκει (municipality),
• τις γεωγραφικές συντεταγμένες του εν λόγω προορισμού υπό τη μορφή πίνακα τύπου double, που
αποτελείται από δύο στοιχεία (coordinates), καθώς και
• μια ενδεικτική, μέση τιμή κόστους ημέρας στον εν λόγω προορισμό (cost) υπό τη μορφή ακεραίου.
Η κλάση Destination διαθέτει τη δική της υλοποίηση για τη μέθοδο toString(), σύμφωνα με την οποία
επιστρέφει το όνομα του προορισμού.

Ο προορισμός βουνό (Mountain) και ο προορισμός θάλασσα (Sea), αποτελούν εξειδικεύσεις ενός
τουριστικού προορισμού. Στον προορισμό βουνό, μπορούμε να βρούμε ένα σύνολο από δραστηριότητες
βουνού (π.χ. αναρρίχηση, πεζοπορία), υπό τη μορφή λίστας αλφαριθμητικών με όνομα activities. Στον
προορισμό βουνό, υπάρχει επιπλέον και το πεδίο υψόμετρο (altitude), ως ακέραιος. Στη θάλασσα έχουμε
ένα σύνολο από αθλήματα που διεξάγονται στην παραλία (π.χ. βόλεϊ, ρακέτες), πάλι υπό τη μορφή λίστας
αλφαριθμητικών (sports).

Τόσο ο προορισμός βουνό, όσο και ο προορισμός θάλασσα υλοποιούν τη διεπαφή IPrint, η οποία διαθέτει
τη μοναδική αφηρημένη μέθοδο: void print(). Για τον προορισμό βουνό η υλοποίηση της μεθόδου print()
εκτυπώνει στην οθόνη το σύνολο των διαθέσιμων δραστηριοτήτων βουνού, εφόσον υπάρχουν, ενώ για τον
προορισμό θάλασσα η εν λόγω μέθοδος εκτυπώνει στην οθόνη το σύνολο των διαθέσιμων αθλημάτων
παραλίας, εφόσον υπάρχουν.

Α’ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ 4
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ»
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2022-2023

Το σύστημα περιέχει επίσης την κλάση Demo ή οποία:


• Θα περιέχει τη μέθοδο main για την εκτέλεση του προγράμματος. Σε αυτήν θα δημιουργήσετε 2
αντικείμενα τύπου Mountain και 2 αντικείμενα τύπου Sea, με τις πληροφορίες που θα διαθέτουν
(δικής σας επιλογής), τα οποία θα τοποθετήσετε σε αντίστοιχες λίστες mountainList και seaList.
Από τη λίστα mountainList θέλουμε να εκτυπώσετε το όνομα και τις συντεταγμένες του προορισμού
με το υψηλότερο υψόμετρο. Από τη λίστα seaList θέλουμε να εκτυπώστε τον μέσο όρο από το
κόστος των προορισμών που διαθέτει.
• Θα περιέχει τη μέθοδο List<Destination> findByMunicipality(ArrayList<Destination> input, String
municipality). Η μέθοδος αυτή θα δέχεται ως παραμέτρους μια λίστα προορισμών και ένα όνομα
δήμου και θα επιστρέφει μια λίστα προορισμών που βρίσκονται στον εν λόγω δήμο.

Θέμα Α - Υλοποίηση κλάσεων και διεπαφής [20 μονάδες]


Να υλοποιήσετε τον κώδικα Java (κλάσεις, διεπαφή) που αντιστοιχεί στην παραπάνω περιγραφή.

Απάντηση

public class Destination {


String name;
String municipality;
double[] coordinates = new double[2];
int cost;

@Override
public String toString() {
return name;
}
}

public interface IPrint {


void print();
}

import java.util.ArrayList;

public class Mountain extends Destination implements IPrint{


ArrayList<String> activities = new ArrayList<>();
int altitude;

@Override
public void print() {
for (String s: activities)
System.out.println(s);
}
}

Α’ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ 5
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ»
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2022-2023

import java.util.ArrayList;

public class Sea extends Destination implements IPrint{


ArrayList<String> sports = new ArrayList<>();
@Override
public void print() {
for (String s: sports)
System.out.println(s);
}
}

Θέμα Β – Υλοποίηση κλάσεως Demo [20 μονάδες]


Να υλοποιήσετε την κλάση Demo που αντιστοιχεί στην παραπάνω περιγραφή.

Απάντηση

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Demo {


public static void main(String[] args) {
//Mountains
Mountain m1 = new Mountain();
m1.name = "Olympus";
m1.municipality = "Elassona";
m1.coordinates[0] = 40.085567;
m1.coordinates[1] = 22.358521;
m1.cost = 100;
m1.altitude = 2918;
m1.activities.add("Hiking");

Mountain m2 = new Mountain();


m2.name = "Taygetus";
m2.municipality = "Sparta";
m2.coordinates[0] = 36.95281;
m2.coordinates[1] = 22.34996;
m2.cost = 80;
m2.altitude = 2405;
m2.activities.add("Climbing");

//Seas
Sea s1 = new Sea();
s1.name = "Voidokilia";
s1.municipality = "Messini";
s1.coordinates[0] = 36.9654321671;
s1.coordinates[1] = 21.6623461246;

Α’ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ 6
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ»
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2022-2023

s1.cost = 200;
s1.sports.add("Beach Volley");
s1.sports.add("Jet ski");

Sea s2 = new Sea();


s2.name = "Myrtos";
s2.municipality = "Kefalonia";
s2.coordinates[0] = 38.343052;
s2.coordinates[1] = 20.535814;
s2.cost = 180;
s2.sports.add("Rackets");

ArrayList<Mountain> mountainList = new ArrayList<>();


mountainList.add(m1);
mountainList.add(m2);

ArrayList<Sea> seaList = new ArrayList<>();


seaList.add(s1);
seaList.add(s2);

//Προορισμός Βουνού με το μεγαλύτερο υψόμετρο


Mountain max = findMaxAltitude(mountainList);
if (max!=null)
System.out.println("To βουνό με το μεγαλύτερο υψόμετρο είναι "+max+" με
συντεταγμένες "+ Arrays.toString(max.coordinates));

// Χρήση findByMunicipality και findAvgCost


String testMunicipality = "Kefalonia";
System.out.println("Η λίστα προορισμών για "+testMunicipality+" είναι "+
findByMunicipality(seaList, testMunicipality));
System.out.println("Το μέσο κόστος για "+testMunicipality+" είναι "+
findAvgCost(seaList,testMunicipality));
}

static Mountain findMaxAltitude(List<Mountain> mountainList){


if (mountainList.isEmpty())
return null;
int max = mountainList.get(0).altitude;
Mountain temp = mountainList.get(0);
for (Mountain m: mountainList){
if (m.altitude>max){
max = m.altitude;
temp = m;
}
}
return temp;
}

Α’ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ 7
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ»
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2022-2023

static List<Destination> findByMunicipality(ArrayList<Sea> input, String


municipality){
List<Destination> tempList = new ArrayList<>();
for (Destination d : input){
if (d.municipality.equals(municipality))
tempList.add(d);
}
return tempList;
}

// Υπολογίζει το μέσο κόστος ανά προορισμό


static Double findAvgCost(List<Sea> seaList, String municipality){
if (seaList.isEmpty())
return null;
// Διατρέχουμε την λίστα και υπολογίζουμε το μέσο κόστος για το συγκεκριμένο
προορισμό.
double avgCost = 0;
int numAtDestination=0;
for (Sea s: seaList) {
if (s.municipality.equals(municipality)) {
avgCost=avgCost+s.cost;
numAtDestination++;
}
}
return avgCost/numAtDestination;
}
}

Ομάδα ασκήσεων 3: Μεταγλωττιστές (20 μονάδες)

Δίνεται η παρακάτω γραμματική:

Α’ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ 8
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ»
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2022-2023

Θέμα Α - Υπολογισμός συνόλου FIRST (5 μονάδες)


Να υπολογίσετε το σύνολο first για κάθε μη τερματικό σύμβολο

Απάντηση
Από τον κανόνα (1) έχουμε ότι ό,τι ανήκει στο first(L)-{ε} ανήκει και το first(S). Επειδή όμως το L μπορεί να
δώσει την κενή συμβολοσειρά, θα πρέπει στο first(S) να προστεθούν και τα first(C)-{ε}. Το S δεν παράγει την
κενή συμβολοσειρά.

first(S) = first(L) U first(C)

Από κανόνα (2): first(C) = {a}

Από κανόνες (3,4): first(O) = {a, ε}

Από κανόνες (5,6): first(L) = {b, ε}

Από κανόνα (7): first(V) = {c,d}

Από κανόνα (9): first(T) = {,}

Και από τον κανόνα (10) πρέπει προσθέσουμε στα first(T) και τα first(V).

Αν κάνουμε τις αντικαταστάσεις έχουμε τον ακόλουθο πίνακα:

Θέμα Β - Υπολογισμός συνόλου FOLLOW (8 μονάδες)


Να υπολογίσετε το σύνολο follow για κάθε μη τερματικό σύμβολο
Απάντηση

Για το S ως αρχικό σύμβολο έχουμε ότι το eof ανήκει στο S, άρα αρχικά έχουμε:

follow(S) = {$}

Από τον κανόνα (1) για το C έχουμε αρχικά ότι follow(C) = first(O)-{ε}.

Επειδή το Ο παράγει το κενό, το C μπορεί να βρεθεί ως τελευταίο σύμβολο στον κανόνα (1), άρα έχουμε ότι
τα follow(S) πρέπει να προστεθούν στα follow(C). Άρα:

Α’ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ 9
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ»
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2022-2023

follow(C) = first(O)-{ε} + follow(S)

Από τον κανόνα (1) , αφού το Ο είναι το τελευταίο σύμβολο στον κανόνα του S, έχουμε:

follow(L)= follow(S)

Από τον κανόνα (1) για το L έχουμε ότι τα first(C)-{ε} ανήκουν στο follow(L). To C δεν παράγει το κενό, οπότε
δεν συνεχίζουμε στα first(Ο). Άρα έχουμε:

follow(L) = first(C)-{ε}

Από τον κανόνα (5) το follow(V) πρέπει να περιλαμβάνει τα first(T)-{ε}. Το T δεν παράγει το κενό, οπότε δεν
συνεχίζουμε να ψάχνουμε σύμβολα στον κανόνα αυτόν. Από τον κανόνα (10), όμως έχουμε και ότι τα
follow(T) ανήκουν και αυτά στα follow(V). Άρα:

follow(V) = first{T}-{ε} + follow(T)

Από τον κανόνα (5) τα follow(L) ανήκουν στα follow(T).

follow(T) = follow(V)

Με τις αντικαταστάσεις παίρνουμε τον ακόλουθο πίνακα:

Θέμα Γ – Κατασκευή του πίνακα ανίχνευσης (7 μονάδες)


Να υπολογίσετε τον πίνακα ανίχνευσης της γραμματικής
Απάντηση

Για να σχηματίσουμε τον πίνακα ανίχνευσης επισκεπτόμαστε έναν-έναν τους κανόνες.

Ο κανόνας (1) θα ενεργοποιηθεί από τα first(L)-{ε} και first(C)-{ε}., δηλαδή τα a,b

Ο κανόνας (2) θα ενεργοποιηθεί το a

Ο κανόνας (3) θα ενεργοποιηθεί το a

Ο κανόνας (4) θα ενεργοποιηθεί τo follow(O), δηλαδή το $

Α’ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ 10
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ»
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2022-2023

Ο κανόνας (5) θα ενεργοποιηθεί το b

Ο κανόνας (6) θα ενεργοποιηθεί τo follow(L), δηλαδή το a

Ο κανόνας (7) θα ενεργοποιηθεί το c

Ο κανόνας (8) θα ενεργοποιηθεί το d

Ο κανόνας (9) θα ενεργοποιηθεί το ,

Ο κανόνας (10) θα ενεργοποιηθεί το follow(V), δηλαδή τα a c d και το κόμμα.

Συγκεντρώνουμε τα παραπάνω σε έναν πίνακα και έχουμε:

a b c d , $
(1) + +
(2) +
(3) +
(4) +
(5) +
(6) +
(7) +
(8) +
(9) +
(10) + +

ή εναλλακτικά

a b c d , $
S LCO LCO
C a
O a ε
L ε bVT
V c d
T V V ,T

Ομάδα θεμάτων 4: Διαχείριση Έργων (10 μονάδες)


Μια εταιρία έχει αναλάβει την ανάπτυξη ενός μεγάλου πληροφοριακού συστήματος. Το όλο έργο απαιτεί
για την ολοκλήρωσή του την υλοποίηση 10 δραστηριοτήτων. Οι σχέσεις μεταξύ των δραστηριοτήτων καθώς
και η διάρκεια της κάθε μιας, δίνονται στον ακόλουθο πίνακα:

Α’ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ 11
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ»
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2022-2023

Κωδικός Δραστηριότητας Προηγείται των Διάρκεια (ημέρες)

Δ1 - 10

Δ2 Δ1 9

Δ3 Δ1 8

Δ4 Δ2, Δ3 10

Δ5 Δ2, Δ3 12

Δ6 Δ5 8

Δ7 Δ4, Δ6 9

Δ8 Δ7 13

Δ9 Δ8 11

Δ10 Δ8 14

ΘΕΜΑ Α (7 μονάδες)

1) Να σχεδιάσετε το δίκτυο ΑΟΝ, να υπολογίσετε τους χρόνους ES, EF, LS, LF, SL, την κρίσιμη διαδρομή
και τον χρόνο περάτωσης του έργου.

Απάντηση

Κωδικός Προηγείται Διάρκεια ES EF LS LF SLACK


Δραστηριότητας των (ημέρες)

Δ1 - 10 0 10 0 10 0

Δ2 Δ1 9 10 19 10 19 0

Α’ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ 12
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ»
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2022-2023

Κωδικός Προηγείται Διάρκεια ES EF LS LF SLACK


Δραστηριότητας των (ημέρες)

Δ3 Δ1 8 10 18 11 19 1

Δ4 Δ2, Δ3 10 19 29 29 39 10

Δ5 Δ2, Δ3 12 19 31 19 31 0

Δ6 Δ5 8 31 39 31 39 0

Δ7 Δ4, Δ6 9 39 48 39 48 0

Δ8 Δ7 13 48 61 48 61 0

Δ9 Δ8 11 61 72 64 75 3

Δ10 Δ8 14 61 75 61 75 0

To κρίσιμο μονοπάτι έχει διάρκεια 75 ημέρες και είναι το Δ1-Δ2-Δ5-Δ6-Δ7-Δ8-Δ10

ΘΕΜΑ Β (3 μονάδες)

Έστω ότι η δραστηριότητα Δ3 καθυστερεί κατά 1 ημέρα.


1) Ποια είναι η νέα κρίσιμη διαδρομή και ποιος ο νέος χρόνος περάτωσης του έργου;

Αν η δραστηριότητα Δ3 καθυστερήσει κατά μια ημέρα τότε έχουμε

Κωδικός Δραστηριότητας Προηγείται των Διάρκεια (ημέρες)

Δ1 - 10

Δ2 Δ1 9

Δ3 Δ1 9

Δ4 Δ2, Δ3 10

Δ5 Δ2, Δ3 12

Δ6 Δ5 8

Α’ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ 13
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ»
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2022-2023

Κωδικός Δραστηριότητας Προηγείται των Διάρκεια (ημέρες)

Δ7 Δ4, Δ6 9

Δ8 Δ7 13

Δ9 Δ8 11

Δ10 Δ8 14

Αυτό δεν τροποποιεί την διάρκεια του έργου αλλά θα προσθέσει μια ακόμη δραστηριότητα στο κρίσιμο
μονοπάτι δημιουργώντας ένα δεύτερο κρίσιμο μονοπάτι. (Οι αλλαγές παρουσιάζονται με πράσινο χρώμα).
Συνεπώς θα έχουμε 2 κρίσιμα μονοπάτια
Α) Δ1-Δ2-Δ5-Δ6-Δ7-Δ8-Δ10

Β) Δ1-Δ3-Δ5-Δ6-Δ7-Δ8-Δ10

Κωδικός Προηγείται Διάρκεια ES EF LS LF SLACK


Δραστηριότητας των (ημέρες)

Δ1 - 10 0 10 0 10 0

Δ2 Δ1 9 10 19 10 19 0

Δ3 Δ1 9 10 19 10 19 0

Δ4 Δ2, Δ3 10 19 29 29 39 10

Δ5 Δ2, Δ3 12 19 31 19 31 0

Δ6 Δ5 8 31 39 31 39 0

Δ7 Δ4, Δ6 9 39 48 39 48 0

Δ8 Δ7 13 48 61 48 61 0

Δ9 Δ8 11 61 72 64 75 3

Δ10 Δ8 14 61 75 61 75 0

Α’ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ 14
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ»
ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ: 2022-2023

Κριτήρια αξιολόγησης

ΟΜΑΔΑ ΘΕΜΑΤΩΝ 1 (ΣΥΝΟΛΟ 30 ) ΜΟΝΑΔΕΣ ΒΑΘΜΟΣ

Θέμα Α – Διάγραμμα ΠΧ 15

Θέμα Β – Διάγραμμα κλάσεων 15

ΟΜΑΔΑ ΘΕΜΑΤΩΝ 2 (ΣΥΝΟΛΟ 40)

Θέμα Α – Κατασκευή κλάσεων και διεπαφής 20

Θέμα Β – Κατασκευή κλάσης Demo 20

ΟΜΑΔΑ ΘΕΜΑΤΩΝ 3 (ΣΥΝΟΛΟ 20 )

Θέμα A – Υπολογισμός συνόλου FIRST 5

Θέμα Β - Υπολογισμός συνόλου FOLLOW 8

Θέμα Γ – Κατασκευή πίνακα ανίχνευσης 7

ΟΜΑΔΑ ΘΕΜΑΤΩΝ 4 (ΣΥΝΟΛΟ 10)

Θέμα A – Υπολογισμός κρίσιμης διαδρομής 7

Θέμα 2 – Επανα-υπολογισμός κρίσιμης διαδρομής 3

ΣΥΝΟΛΟ 100

Α’ ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ 15

You might also like