To jest stara wersja strony!
CasesJ2EE
Autorzy
Grzegorz Leśniakiewicz
Tomasz Maruszak
Opis projektu
Projekt polega na wyszukaniu aplikacji napisanej w technologii j2ee, zrealizowanej zgodnie z modelem MVC oraz na zapisaniu logiki biznesowej w postaci reguł.
Sprint
Wykorzystanie biznesowe
Sprint jest to aplikacja stworzona na potrzeby wydziału EAIIE. Umożliwia obsługę rejestracji użytkowników, tworzenia newsów, zarządzania artykułami, zarządzania kalendarzem. Dodatkowo został stworzony moduł e-Protokół, umożliwiający automatyzację procesu obsługi protokołów w obrębie wydziału Eaiie.
E-protokół, obsługuje przepływ e-protokołów od momentu stworzenia, lub importu poprzez obsługę w dziekanacie, dziekanatach katedr, przez prowadzących zajęcia do momentu zamknięcia, wydruku i eksportu e-protokołu.
Aplikacja obecnie jest wdrożona na środowisku developerskim. Główne funkcjonalności systemu zostaną wdrożone produkcyjnie w najbliższym czasie, natomiast wdrożenie produkcyjne modułu e-Protokołu przewidziane jest na wrzesień bieżącego roku.
Technologia
Aplikacja jest napisana w technologii j2ee. Model MVC został zaimplementowany za pomocą komponentów:
Model - logika biznesowa, wykorzystane zostały sesyjne, stanowe beany
View - warstwa prezentacji została stworzona w oparciu o technologie facelets
Controller - za kontrole i obsługę działania aplikacji odpowiedzialny jest framework Seam
Aplikacja jest uruchamiana na serwerze aplikacji JBoss 4.2.2.
Opisanie projektu w postaci reguł
Rule 1:
EProtocolEditForSecretariatBean.editEProtocol.rule1(EProtocolEditForSecretariatBean bean, Boolean isEditingEnabled)
if isEditingEnabled = true
then bean.cancelEditingEProtocol().
Rule 2:
EProtocolEditForSecretariatBean.enableEditingEProtocol.rule1(List assignedLecturersList, Boolean isEditingEnabled)
if assignedLecturersList.length > 0
then isEditingEnabled is false.
Rule 3:
EProtocolEditForSecretariatBean.enableEditingEProtocol.rule2(List assignedLecturersList, Boolean isEditingEnabled)
if assignedLecturersList.length <= 0
then isEditingEnabled is true.
Rule 4:
EProtocolEditForSecretariatBean.chooseTheLecturer.rule1(EProtocol selectedEProtocol)
if selectedEProtocol.state = ACCEPTED
then selectedEProtocol.state is NEW.
Rule 5:
EProtocolEditForSecretariatBean.deleteTheAssigment.rule1(EProtocolEditForSecretariatBean bean, List markToDelete)
if markToDelete.length > 0
then bean.deleteAll(markToDelete).
Rule 6:
EProtocolEditForSecretariatBean.deleteTheAssigment.rule2(List courseUserRels, EProtocol selectedEProtocol)
if courseUserRel.length = 0 and
if selectedEProtocol.state = ACCEPTED
then selectedEProtocol.state is NEW.
Rule 7:
EProtocolEditForSecretariatBean.deleteTheAssigment.rule3(List courseUserRels, List courseUserRelsNotAccepted, EProtocol selectedEProtocol)
if courseUserRel.length > 0 and
if courseUserRelsNotAccepted.length= 0 and
if selectedEProtocol.state = NEW
then selectedEProtocol.state is ACCEPTED.
Rule 8:
EProtocolEditForSecretariatBean.isChangingEnabled.rule1(EProtocol selectedEProtocol, Boolean changing)
if selectedEProtocol.state = CLOSED
then changing is true.
Rule 9:
EProtocolEditForSecretariatBean.isChangingEnabled.rule2(EProtocol selectedEProtocol, Boolean changing)
if selectedEProtocol.state != CLOSED
then changing is false.
Rule 10:
EProtocolEditForLecturerBean.acceptEProtocol.rule1(CourseUserRel rel, Boolean isAcceptedByLecturer)
if rel.state != ACCEPTED
then rel.state is ACCEPTED, isAcceptedByLecturer is true.
Rule 10:
EProtocolEditForLecturerBean.acceptEProtocol.rule1(CourseUserRel rel, Boolean isAcceptedByLecturer)
if rel.state = ACCEPTED
then isAcceptedByLecturer is true.
Rule 11:
EProtocolEditForLecturerBean.acceptEProtocol.rule2(List courseUserRels, EProtocol selectedEProtocol)
if courseUserRel = 0
then selectedEProtocol.state is ACCEPTED.
Rule 12:
EProtocolEditForLecturerBean.acceptEProtocol.rule3(List courseUserRels, List courseUserRelsNotAccepted, EProtocol selectedEProtocol)
if courseUserRel.length > 0 and
if courseUserRelsNotAccepted.length = 0
then selectedEProtocol.state = ACCEPTED.
Rule 13:
EProtocolEditForLecturerBean.unAcceptEProtocol.rule1(CourseUserRel rel, Boolean isAcceptedByLecturer, EProtocol selectedEProtocol)
if selectedEProtocol.state = ACCEPTED
then selectedEProtocol.state is NEW, rel.state is NEW, isAcceptedByLecturer is false.