Skip to content

vicky-xef/softeng19b

 
 

Repository files navigation

softeng2019b Example Project Repository

Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Η/Υ, ΕΜΠ

Παράδειγμα για την εργασία στο μάθημα Τεχνολογία Λογισμικού, Χειμερινό εξάμηνο 2019 (softeng19b).

Δομή φακέλων

Η υποχρεωτική κοινή δομή των φακέλων του repository (που θα πρέπει να ακολουθηθεί και στη δική σας εργασία, ανεξάρτητα του αν θα χρησιμοποιήσετε τις τεχνολογίες του παραδείγματος ή όχι) περιγράφεται στο έγγραφο των παραδοτέων (βλ. moodle μαθήματος).

Η δομή των φακέλων στο συγκεκριμένο παράδειγμα είναι η εξής:

  • Στον φάκελο back-end περιέχεται ο κώδικας του back-end.
  • Στον φάκελο cli-client περιέχεται ο κώδικας του command line application.
  • Στον φάκελο data-model περιέχεται ο κοινός κώδικας που ορίζει το data-model της εφαρμογής (π.χ. η κλάση ATLRecordForSpecificDay, χρησιμοποιείται σε όλα σημεία του κώδικα που πρέπει να γίνει διαχείριση τέτοιων ActualTotalLoad records). To data-model, δηλαδή, είναι ένα ξεχωριστό software project, το οποίο περιέχει μια βιβλιοθήκη κώδικα (software library). Η βιβλιοθήκη αυτή (επανα)χρησιμοποιείται απ' όλα τα άλλα software projects του repository.
  • Στον φάκελο rest-api-client περιέχεται ο κοινός κώδικας που ενθυλακώνει τις client λειτουργίες του Rest API. Και εδώ έχουμε περίπτωση βιβλιοθήκης, η οποία επαναχρησιμοποιείται από το cli-client (για να εκτελεί την επικοινωνία με το back-end) και από το ίδιο το back-end, ως test dependency για την υλοποίηση των functional tests.
  • Στον φάκελο front-end περιέχεται ο κώδικας της front-end web εφαρμογής.

Διάγραμμα πακέτων (package diagram)

Στο διάγραμμα δεν εμφανίζεται το front-end app, καθώς δε μοιράζεται πακέτα με κάποιο από τα υπόλοιπα projects.

diagram

Κύριες τεχνολογίες του παραδείγματος

Back-end

CLI client

Rest api client

Front-end

Γρήγορες οδηγίες

  • Εγκατάσταση του Open JDK 11 από εδώ. Για τους linux/macos χρήστες, προτείνετε η χρήση του sdkman για την εγκατάστασή του. Δεν απαιτείται η "χειροκίνητη" εγκατάσταση άλλου λογισμικού (π.χ. Gradle).

  • Για την εκτέλεση του back-end:

cd back-end
./gradlew apprun

Το REST API base URL είναι το https://localhost:8765/energy/api, όπως απαιτείται από την εργασία.

  • Για την εκτέλεση του cli app:
cd cli-client
./gradlew installDist
./build/install/energy_TEAM/bin/energy_TEAM -h
./build/install/energy_TEAM/bin/energy_TEAM ActualTotalLoad -h

Κατά την ανάπτυξη του cli app, μπορείτε να χρησιμοποιείτε:

./gradlew run -Pargs="ActualTotalLoad -h"

Χρησιμοποιήστε τον editor / IDE της προτίμησής σας για να επεκτείνετε τον κώδικα του παραδείγματος (αν και όπως επιθυμείτε).

Περισσότερα στο σχετικό φροντιστήριο...

About

Example project repository for the Software Engineering course @ https://www.ece.ntua.gr/

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 65.2%
  • JavaScript 17.4%
  • Groovy 15.0%
  • HTML 1.2%
  • CSS 1.2%