GithubHelp home page GithubHelp logo

library's Introduction

Βιβλιοθήκη Πανεπιστημίου

Το παράδειγμα της δανειστικής βιβλιοθήκης του βιβλίου Ε. Γιακουμάκης και Ν. Διαμαντίδης, Τεχνολογία Λογισμικού, 2η Έκδοση, Unibooks, 2021. Περιλαμβάνει τον πηγαίο κώδικα και παραδείγματα των λοιπών εγγράφων του λογισμικού.

Είναι μία απλή εφαρμογή σε Swing.

Οικοδόμηση

Η οικοδόμηση (build) του λογισμικού γίνεται με το εργαλείο Maven 3 Η εγκατάσταση του Maven είναι σχετικά απλή. Αφού κατεβάσουμε το Maven (π.χ. έκδοση 3.5.0) και τα αποσυμπιέσουμε σε κατάλληλους καταλόγους π.χ. C:\Program Files\apache-maven-3.5.0\ αντίστοιχα θα πρέπει:

  • να ορίσουμε τη μεταβλητή περιβάλλοντος JAVA_HOME η οποία θα δείχνει στον κατάλογο εγκατάστασης του JDK,
  • να προσθέσουμε τον κατάλογο C:\Program Files\apache-maven-3.5.0\bin στη μεταβλητή περιβάλλοντος PATH.
  • να ορίσουμε τη μεταβλητή περιβάλλοντος M2_HOME. Στο παράδειγμά μας είναι ο κατάλογος C:\Program Files\apache-maven-3.5.0\.

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

mvn [options] [target [target2 [target3] … ]]

Τα παραγόμενα αρχεία δημιουργούνται από το Maven στο κατάλογο /target.

Τυπικές εργασίες με το Maven είναι:

  • mvn clean καθαρισμός του project. Διαγράφονται όλα τα αρχεία του καταλόγου /target.
  • mvn compile μεταγλώττιση του πηγαίου κώδικα. Τα αρχεία .class παράγονται στον κατάλογο /target/classes.
  • mvn test-compile μεταγλώττιση του κώδικα ελέγχου. Τα αρχεία .class παράγονται στον κατάλογο /target/test-classes.
  • mvn test εκτέλεση των ελέγχων με το JUnit framework.
  • mvn site παραγωγή στο site του έργου το οποίο περιλαμβάνει την τεκμηρίωση του έργου.
  • mvn umlet:convert -Dumlet.targetDir=src/site/markdown/uml παράγει αρχεία εικόνας png για όλα τα διαγράμματα που βρίσκονται στην τοποθεσία src/site/markdown/uml. Συστήνεται η κλήση της εντολής πριν την υποβολή μιας νέας έκδοσης διαγραμμάτων στο git repository (git commit). Ως αποτέλεσμα τα παραγόμενα αρχεία εικόνας των διαγραμμάτων συνοδεύουν τα πηγαία αρχεία έτσι ώστε να είναι εύκολη η πλοήγηση στην τεκμηρίωση του project μέσω του github.

Η τεκμηρίωση περιλαμβάνει:

  • Ένα πρότυπο εγγράφου προδιαγραφών απαιτήσεων λογισμικού. Τα πηγαία αρχεία του εγγράφου βρίσκονται στον φάκελο /src/site.
  • Το έγγραφο περιγραφής σχεδίασης λογισμικού. Τα πηγαία αρχεία του εγγράφου βρίσκονται στον φάκελο /src/site.
  • Η τεκμηρίωση του κώδικα με το JavaDoc.
  • Αναφορές καλύψεων κώδικα με χρήση του εργαλείου JaCoCo.
  • Αναφορά αυτόματης επιθεώρησης κώδικα με το εργαλείο CheckStyle.
  • Αναφορά αυτόματης επιθεώρησης κώδικα με το εργαλείο SpotBugs.
  • Αναφορά αντιγραφής/επικόλλησης κώδικα με το εργαλείο CPD/PMD.
  • Αναφορά αυτόματης επιθεώρησης κώδικα με το εργαλείο PMD.

Eclipse

Η εισαγωγή του project στο Eclipse γίνεται με την επιλογή File/Import/Maven/Existing Maven Projects με την επιλογή του καταλόγου που περιλαμβάνει το project.

Τεκμηρίωση

Για την τεκμηρίωση του λογισμικού χρησιμοποιήθηκε το Markdown markup για τη συγγραφή των κειμένων και το εργαλείο UMLet για την κατασκευή των διαγραμμάτων UML.

library's People

Contributors

bzafiris avatar diamantidakos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.