(Το άρθρο δεν έχει ολοκληρωθεί ... άλλωστε είναι πρόχειρο .. !~ )

Ποιο είναι το Καλύτερο




Πρόσφατα βρέθηκα σε μια συζήτηση όπου κάποιος  ανάφερε  πως το καλύτερο ERP είναι το SAP ,έπειτα η συζήτηση έφτασε στα λειτουργικά ΣΥΣΤΗΜΑΤΑ όπου άλλος ένας  είπε πως το λειτουργικό σύστημα της Apple είναι το καλύτερο στο κόσμο, ο ίδιος μάλιστα ανάφερε πως το καλύτερο κινητό είναι το iPhone ( OS).
Ισχύον όλα αυτά ?  Πιο είναι το καλύτερο λογισμικό ?
τι είναι λογισμικό και πως μπορούμε να προσδιορίσουμε την ποιότητα του ?

Λογισμικό

Αρκετοί εξισώνουν τα λογισμικό με τα υπολογιστικά προγράμματα , εμείς θα θεωρήσουμε το λογισμικό όχι μόνο τα προγράμματα άλλα και τα αρχεία κειμένου που αναλύουν τις λειτουργίες του λογισμικού (documentation ), μαζί με τα αρχεία 
ρυθμίσεων που είναι απαραίτητα ώστε να λειτουργεί το λογισμικό . Ένα λογισμικό σύστημά συνήθως αποτελείται από ξεχωριστά προγράμματα  και αρχεία 
ρυθμίσεων και αρχεία βοήθειας . Η τεχνολογία λογισμικού (Software engineering
ασχολείται με την ανάπτυξη λογισμικών προϊόντων. Οι αλλαγές που έγιναν τα τελευταία 30 χρόνια στο υλικό τον υπολογιστικων 
συστημάτων (Harware ) είναι αξιοθαύμαστες και παρασύρουν το λογισμικό σε αυτήν την κατεύθυνση  . Η ικανότητα μας να δημιουργούμε μεγάλα και πολύπλοκα συστήματα έχει αυξηθεί.
Για να χτίσουμε  πολύπλοκα συστήματα χρησιμοποιούμε υλικά όπως JAVA,NET,SAP Που μας επιτρέπουν να δημηγορούμε με  ευκολία αυτά τα  πολύπλοκα συστήματα.
Η τεχνολογικά λογισμικού είναι 45 χρόνων και είναι πολλή συμπαντική στην επιστήμη των υπολογιστών.
 Όμως Στην ανάπτυξη λογισμικών συστημάτων υπάρχουν προβλήματα ακόμα και σήμερα ,αρκετά  έργα παραδίδονται με καθυστέρηση και με κόστος πέρα του αναμενομένου. Παρόλα αυτά δεν πρέπει να υποτιμούμε την τεχνολογία λογισμικού που με την βοήθεια της κατασκευάζουμε τόσο πολύπλοκα και εύχρηστα  λογισμικά συστήματα.

Η ποιότητά λογισμικού.

Εάν σε όλα τα στάδια της ανάπτυξης του λογισμικού εφαρμόσουμε ποιοτικές διαδικασίες αυτές θα επηρεάσουν το λογισμικό που θα παραδοθεί (θα είναι καλύτερο) . Όπως και στις κατασκευές όπου το καλύτερό προϊόν συνδέεται με την ποιότητα στην παραγωγική διαδικασία οπού μετράμε σε κάθε στάδιο την ποιότητα του προϊόντος που παράγουμε αλλάζοντας τις διεργασίες πετυχαίνουμε και αλλαγές στην ποιότητα του προϊόντος. Στις κατασκευές  και στην Βιομηχανία (παράγωγη)  υπάρχει ξεκάθαρος διαχωρισμός μεταξύ διεργασιών και ποιότητα προϊόντος γιατί είναι εύκολος ο διαχωρισμός των διεργασιών όπου κάθε διεργασία μπορεί να εκτελεστεί ξανά και ξανά ώστε να πετύχουμε το προϊόν που θέλουμε. Αντίθετα η ανάπτυξη λογισμικού δεν είναι υλική κατασκευή , δεν υπάρχει τίποτα υλικό άλλα είναι μια  μηχανική διαδικασία για αυτό η επιρροή από ατομικά χαρίσματα και εμπειρίες  είναι μοναδική. Εξωτερικοί παράγοντες όπως η πίεση χρόνου επηρεάζουν την ποιότητα. Είναι δύσκολο να μετρήσουμε την ποιότητα του λογισμικού ιδιαιτεροτητες όπως η συντήρηση επηρεάζουν  το δείκτη ποιότητας. Αυτό που πρέπει να κρατήσουμε είναι ότι ο σχεδιασμός και η δημιουργικότητα στην πρόβλεψη της κάθε αλλαγής  στις διαδικασίες θα επηρεάσουν και την ποιότητα λογισμικού.
Εμπειρία έχει δείξει ότι η ποιοτική διαδικασία της ανάπτυξης λογισμικού έχει επιρροή στο λογισμικό. Η ποιότητα του λογισμικού  σχετίζεται με την διαδικασία.
 Το λογισμικό  πρέπει:

  •        Οι προδιαγραφές είναι κατανοητές και ξεκάθαρες
  • .      Οι προδιαγραφές του λογισμικού συχνά ικανοποιούν μια μεγάλη μερίδα χρηστών και η ομάδα αυτή είναι ευχαριστημένοι από το λογισμικό . Όμως ενέχεται μια μικρή ομάδα χρηστών που δεν  συμμετείχαν στις προδιαγραφές  να μην ικανοποιούνται πλήρως από το λογισμικό να χαρακτηρίσουν το λογισμικό φτωχό και να κατεβάσουν το δείκτη ποιότητα του λογισμικού.
3.       Είναι δύσκολο να μετρηθούν κάποια χαρακτηριστικά του λογισμικού όπως η συντήρηση.
Η ομάδα που θα κρίνει το λογισμικό , την απόδοση του λογισμικού,  και αν οι προδιαγραφές ικανοποιούνται επιπλέον πρέπει να ελέγξει 
1.       Υπάρχουν εγχειρίδια σε κάθε στάδιο της ανάπτυξης
2.       Έχει ελεγχθεί το λογισμικό
3.       Μπορεί το λογισμικό να εγκατασταθεί και να χρησιμοποιηθεί
4.       Είναι η απόδοση του αποδεκτή για χρήση ?
5.        Είναι εύχρηστο ?
6.       Η δομή του είναι κατανοητή
Τα παραπάνω είναι γενικές υποθέσεις που πρέπει να έχει υπόψη τις η ομάδα που  από το πόρισμα της θα αξιολογηθεί το λογισμικό.
Τέλος πρέπει να  αναφέρουμε και τα Χαρακτηριστικά  που δεν φαίνονται | στον χρήστη. Αυτά τα χαρακτηριστικά  είναι τα μη λειτουργικά οποία επιδρούν στην εμπειρία χρήσης, παράδειγμα εάν η λειτουργικότητα  του λογισμικού δεν είναι αυτό που αναμενόταν τότε ο χρήστης θα βρει  να κάνει την δουλειά του με άλλον τρόπο. Για αυτό η ποιότητα του λογισμικού δεν είναι μόνο όταν τα λογισμικό ικανοποιεί τις προδιαγραφές αλλά εξαρτάται και από τα μη λειτουργικά χαρακτηριστικά   του λογισμικού. Τα χαρακτηριστικά   αυτά μπορεί να είναι , ευχρηστία , αποδοτικότητα , και εύκολο χρηστικό, αλληλεξάρτηση. Παράδειγμα οι χρήστες θα απέρριπταν εάν το πρόγραμμα μας είναι αργό.
Είδαμε πως «οι καλές»  διεργασίες στην ανάπτυξη του λογισμικού  οδηγούν σε ποιοτικό λογισμικό παρόλα αυτά είναι δύσκολο να έχουμε όλες τις ιδιότητες αυτές για να χαρακτηρίσουμε  το λογισμικό ποιοτικά εάν δεν το έχουμε χρησιμοποιήσει για μεγάλο χρονικό διάστημα. 


Ωραία , Παραπάνω είδαμε συνοπτικά τι είναι λογισμικό και πως μπορούμε να προσδιορίσουμε την ποιότητα του.
Ας δούμε την αρχική ερώτηση σχετικά με το SAP .  Το SAP ξεκίνησε  ως ένα ERP (Enterprise Rousource Planning ).  Το ERP είναι πολύπλοκο σύστημα που το χρησιμοποιούν  εταιρείες για να αποθηκευόσουν πληροφορίες και να εφαρμόσουν κανόνες στις διεργασίες (πωλήσεις ,Αγορές κ.α.) ελέγχοντας  κάθε διεργασια. Όλες οι εταιρείες  και οργανισμοί δεν έχουν τις ίδιες ανάγκες