- Υπουργείο Εθνικής Οικονομίας και Οικονομικών - http://www.opengov.gr/minfin -

Τεχνική Διαβούλευση σχετικά με Οριζόντιες Απαιτήσεις Ανάπτυξης Λογισμικού για έργα της ΓΓΠΣ

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

– Διαχείριση εκδόσεων (version control)
Όλο το λογισμικό για το οποίο η ΓΓΠΣ μπορεί δικαιωματικά να έχει πρόσβαση στον πηγαίο κώδικά του αποθηκεύεται σε σύστημα διαχείρισης εκδόσεων. Το σύστημα το παρέχει η ΓΓΠΣ και ο ακριβής τρόπος και το πρωτόκολλο πρόσβασης καθώς και αντίστοιχα δικαιώματα και ρόλοι δίνονται από την ΓΓΠΣ. Η πρόσβαση είναι πάντα εξατομικευμένη, σε εναρμόνιση με τον κανονισμό ασφαλείας της ΓΓΠΣ. Οι λογαριασμοί πρόσβασης έχουν ισχύ που απορρέει από τη διάρκεια των διαφόρων δράσεων λογισμικού και τη φάση ανάπτυξης. Η ισχύς της διάρκειας προσδιορίζεται και ελέγχεται από τον υπεύθυνο της δράσης.

– Διαχείριση θεμάτων (issue tracking)
Όλες οι δράσεις παρακολουθούνται σε σύστημα διαχείρισης θεμάτων. Το σύστημα το παρέχει η ΓΓΠΣ και τα περί πρόσβασης και ισχύος διάρκειας σε αυτό ορίζονται όπως και παραπάνω για τη διαχείριση εκδόσεων.

– Χρήση αδειών ΕΛ/ΛΑΚ
Όταν κρίνεται από την υπηρεσία σκόπιμο (π.χ. ότι προάγεται το δημόσιο και γενικότερο συμφέρον από την υιοθέτηση αδειών χρήσης ΕΛ/ΛΑΚ), το παραδιδόμενο λογισμικό θα πρέπει να συνοδεύεται από αντίστοιχη άδεια χρήσης ΕΛ/ΛΑΚ. Το ίδιο ισχύει και για σχετική τεκμηρίωση, με αντίστοιχη άδεια.

– Unit Testing
Το λογισμικό θα πρέπει να περιλαμβάνει για τις βασικές λειτουργικές του μονάδες αυτοματοποιημένα σενάρια ελέγχου ορθότητας της κάθε μιας (unit testing). Ο βαθμός πληρότητας των σεναρίων ελέγχεται ως παραδοτέο.

– Integration Testing
Το λογισμικό θα πρέπει να περιλαμβάνει αυτοματοποιημένα σενάρια που ελέγχουν την ορθότητα επικοινωνίας μεταξύ των λειτουργικών μονάδων του (integration testing). Ο βαθμός πληρότητας των σεναρίων ελέγχεται ως παραδοτέο.

– System testing
Το λογισμικό θα πρέπει να περιλαμβάνει σενάρια ελέγχου του όλου συστήματος σε μεγαλύτερη κλίμακα (system testing). Ο βαθμός πληρότητας των σεναρίων ελέγχεται ως παραδοτέο.

– Αυτοματοποίηση ανάπτυξης
Οι διάφορες διαδικασίες που αφορούν στην ανάπτυξη σε όλο το φάσμα της (π.χ. μετάφραση του πηγαίου κώδικα σε εκτελέσιμη μορφή (compilation/build), παραγωγή τεκμηρίωσης κώδικα, εγκατάσταση εφαρμογής σε περιβάλλον εκτέλεσης (deployment)) γίνονται με μηχανικό/αυτοματοποιημένο τρόπο, που ελέγχεται ως παραδοτέο.

– Επαναχρησιμοποιήσιμες λειτουργίες / Διαλειτουργικότητα
Αν μια δράση λογισμικού παρέχει λειτουργικότητα με εν δυνάμει επαναχρησιμοποιήσιμο χαρακτήρα (π.χ. single sign on), η λειτουργικότητα αυτή τεκμηριώνεται επαρκώς και αυτόνομα, ώστε να μπορεί να επαναχρησιμοποιηθεί σε άλλες δράσεις λογισμικού. Δίνουμε ιδιαίτερη έμφαση στην επαναχρησιμοποίηση λογισμικού/υπηρεσιών ως συστατικά (components) και στον εμπλουτισμό υπαρχόντων και αποθαρρύνουμε πολλαπλά υλοποιημένες λειτουργικότητες παρόμοιου/ίδιου χαρακτήρα. Ακολουθούμε αυτές τις αρχές ιδιαίτερα όσον αφορά τη διαλειτουργικότητα συστημάτων και κατ’ επέκταση φορέων.

– Ενσωμάτωση στο υπάρχον περιβάλλον
Λαμβάνουμε πάντα υπόψη τις υφιστάμενες δομές, τη γενικότερη αρχιτεκτονική/τοπολογία συστημάτων. Ως παραδοτέο ελέγχεται η τεκμηρίωση εγκατάστασης λογισμικού σε υπάρχουσα ή όχι υποδομή, και οι οποιεςσδήποτες αλληλεξαρτήσεις σε όλα τα επίπεδα (δικτυακό, συστεμικό, εφαρμογών). Τα παραδιδόμενα συστήματα (υλικό, λογισμικό κλπ) οδηγούν στην ενημέρωση των αντίστοιχων «αρχιτεκτονικών χαρτών» της υπηρεσίας, που δείχνουν ανά πάσα στιγμή την οργάνωση σε διάφορα επίπεδα.

– Διαδικασίες παράδοσης
Η παράδοση λειτουργικότητας είναι τμηματική και υποστηρίζεται επιχειρησιακά, διαδικαστικά και τεχνικά από τα συστήματα διαχείρισης εκδόσεων και παρακολούθησης θεμάτων καθώς και από την πρόνοια για αυτοματοποιημένη ανάπτυξη.

– Τεκμηρίωση
Υπάρχει τεκμηρίωση για όλες τις συμφωνημένες φάσεις και όλα λειτουργικά παραδοτέα και τις προδιαγραφές/απαιτήσεις τους. Ιδιαίτερα, απαιτείται κατά περίπτωση τεκμηρίωση που αφορά είτε σε νέες διοικητικές/υπηρεσιακές διαδικασίες που εισάγει το νέο λογισμικό/υπηρεσία είτε σε εμπλουτισμό υπαρχουσών διαδικασιών. Αναφέρουμε ενδεικτικά διαδικασίες υποστήριξης call center.

– Χρήση υποστηριζόμενων τεχνολογιών
Το προς ανάπτυξη λογισμικό υλοποιείται σε τεχνολογίες που υποστηρίζουν τις στρατηγικές κατευθύνσεις της υπηρεσίας.

Σας καλούμε για τις παρατηρήσεις και τα σχόλιά σας μέχρι (νέα προθεσμία) Δευτέρα 28/02/2011 ώστε να βελτιώσουμε / τροποποιήσουμε τις απαιτήσεις αυτές.