Sample questions / Revision EPL603 Topics in Software Engineering Efi Papatheocharous Visiting Lecturer efi.papatheocharous@cs.ucy.ac.cy Office FST-B107, Tel. ext. 2740
Topics covered Revision on Lectures 01-06 & Labs 01-05 Discuss sample questions in the context of the material presented in the previous lectures. 18/09/2012 Revision 2
Sample question 1 Περιγράψτε με δικά σας λόγια τι είναι η Τεχνολογία Λογισμικού (Software Engineering) και ποια η σημασία της. 18/09/2012 Revision 3
Sample question 2 Περιγράψτε τις βασικές δραστηριότητες της Τεχνολογίας Λογισμικού. 18/09/2012 Revision 4
Sample question 3 Έχουν οι μηχανικοί λογισμικού (software engineers) την επαγγελματική ευθύνη για την παραγωγή διατηρήσιμου (maintainable) πηγαίου κώδικα ακόμα και αν αυτό δεν ζητηθεί ρητά από τον πελάτη; Εξηγήστε. 18/09/2012 Revision 5
Sample question 4 Ποια είναι τα τέσσερα σημαντικότερα χαρακτηριστικά που πρέπει να διέπουν όλα τα λογισμικά; Εισηγηθείτε ακόμα τέσσερα χαρακτηριστικά που κάποτε είναι σημαντικά. 18/09/2012 Revision 6
Sample question 5 Επιλέξτε την σωστή από τις πιο κάτω επιλογές για το εξής σενάριο λαμβάνοντας υπόψη τον ΙΕΕΕ Code of Ethics (Κώδικα Ηθικής της ΙΕΕΕ). «Έστω ότι η Έλενα εργάζεται σε μία εταιρία για την οποία ο Κώστας (εξωτερικός συνεργάτης / web developer) έχει αναπτύξει την ιστοσελίδα αυτής της εταιρίας. Καθώς η Έλενα ήταν πολύ ευχαριστημένη από την δουλειά του Κώστα τον σύστησε σε μια άλλη συνεργαζόμενη εταιρία (partner company). Θέλοντας να δείξει την ευγνωμοσύνη του ο Κώστας προσφέρθηκε να της αναπτύξει την προσωπική της ιστοσελίδα μέσω της οποίας θα μπορούσε να πουλήσει στο διαδίκτυο τα χειροποίητα κοσμήματα που κατασκευάζει η Έλενα με κάποια σημαντική έκπτωση. Αυτό δεν θα ήταν πρόβλημα εάν: a) Ο Κώστας έχει ήδη προσφέρει παρόμοια υπηρεσία και έκπτωση και σε άλλα άτομα της εταιρίας. b) Η έκπτωση αποτελεί μέρος μιας δημόσιας προσφοράς. c) Συνταχθεί και υπογραφεί σχετικό συμβόλαιο μεταξύ του Κώστα και της Έλενας. d) Ο Κώστας προσφέρει την ίδια έκπτωση και στο αφεντικό της Έλενας.» 18/09/2012 Revision 7
Sample question 6 The software house that you are working has been employed by a large company in the aircraft industry, the Escape Helios Fate Inc., to develop an aircraft system to control fuselage, pressurization, automatic flight, communications, electrical, flight controls, etc. for aircrafts type Boeing 737. Which software life-cycle model would you recommend? 18/09/2012 Revision 8
Indicative answer The system required is considered safety-critical, thus a detailed and fully documented software requirements analysis and specification will be required before the implementation (precondition). A disciplined and structured process is required to be followed for the project phases. The process followed also needs to be plan-driven. Assessing the relative risks raised in each phase is also important to be carried out in a repetitive, continuous, controlled sense. Thus, appropriate models would be......the waterfall or the spiral model 18/09/2012 Revision 9
Sample question 7 Περιγράψτε σε συντομία δύο πλεονεκτήματα και δύο μειονεκτήματα του κύκλου ζωής ανάπτυξης του μοντέλου του καταρράκτη. Το μοντέλο σε τι είδους έργα θα προτείνατε να ακολουθηθεί και γιατί; 18/09/2012 Revision 10
Sample question 8 You are working in a software house specializing in online games. The new project under development is a social gaming platform called Marvel Avengers Alliance for which your project manager has expressed her concerns about other competitors managing to release a similar product before you do. Which software life-cycle model would you recommend? 18/09/2012 Revision 11
Indicative answer The method to gather software requirements and specifications should be selected carefully. Assuming that the platform and requirements of the software will be relatively specified early and will probably remain the same, the most important element in making the decision is to select a model that delivers early. Having the issue of competitors the model should support quick releases. Next, more releases can follow. To develop a quick first release the best method to capture requirements is to allow the customer to interact with an operational simulation of the game. Thus, appropriate models for capturing requirements would be......using a prototype while for minimizing the delivery time incremental model is suitable. Also agile methods are appropriate. 18/09/2012 Revision 12
Sample question 9 Περιγράψτε με δικά σας λόγια τις αρχές του μανιφέστου για ευέλικτες διαδικασίες ανάπτυξης (agile manifesto). Εξηγήστε πώς οι αρχές αυτές οδηγούν στην επιτάχυνση της διαδικασίας ανάπτυξης του λογισμικού 18/09/2012 Revision 13
Sample question 10 Περιγράψτε πέντε user stories για την εφαρμογή που αναπτύσσετε στα πλαίσια της ομαδικής εργασίας σας στο μάθημα. 18/09/2012 Revision 14
Sample question 11 Ποιο από τα πιο κάτω ΔΕΝ αποτελεί λειτουργική ή μη λειτουργική (περιορισμός, constraint) απαίτηση: Το σύστημα θα παρέχει ορθογράφο. Το σύστημα θα δείχνει το αποτέλεσμα της αναζήτησης εντός τριών δευτερολέπτων. Το σύστημα παρέχει τρόπο αξιολόγησης των προϊόντων Το πρόγραμμα είναι γραμμένο στη Visual Basic 18/09/2012 Revision 15
Sample question 12 Εξηγήστε τι είναι το Free Software σύμφωνα με την ερμηνεία που του δίνει ο Richard Stallman και ποιες είναι οι βασικές αρχές του. 18/09/2012 Revision 16
Sample question 13 Εξηγήστε τα στάδια ανάπτυξης λογισμικών που ανήκουν σε οικογένειες ή σε γραμμές προϊόντων παραγωγής (Software Product Lines, SPL). 18/09/2012 Revision 17
Sample question 14 Ποιο είναι το πιο κατάλληλο αρχιτεκτονικό πρότυπο για την υλοποίηση της πιο κάτω διεργασίας; 18/09/2012 Revision 18
Sample question 15 Ποια είναι τα πλεονεκτήματα/μειονεκτήματα του αρχιτεκτονικού προτύπου ; 18/09/2012 Revision 19
Sample question 16 Τι εννοούμε με τον όρο Τεχνολογία Λογισμικού με Συστατικά (Component-based Software Engineering); Ποια είναι τα πλεονεκτήματα της Τεχνολογίας Λογισμικού με Συστατικά (Component-based Software Engineering); 18/09/2012 Revision 20
ΚΑΛΟ ΔΙΑΒΑΣΜΑ! 18/09/2012 Revision 21