Contenu connexe

04b design review

  1. © Copyright 2008 STI - INNSBRUCK www.sti-innsbruck.at Web Engineering Design Review Simulation Lecture IV – 28th October 2008 Federico M. Facca and Barry Bishop
  2. Web Engineering (703512) Scenario I • STI Innsbruck needs a Web application to handle Meeting/Travel applications and refunds • Actors: – Unit Members – Unit Leaders – Directors – Financial Department 2
  3. Web Engineering (703512) Scenario II – The Workflow • For each trip: – The applicant should fill a Meeting Application form – Once submitted the application is handled over to the respective Unit-Leader (or to the Directors for unit leaders) – If the applicant is travelling for a project that does not belong to his research unit the application has to be approved also by the unit leader owner of the project – Once returned from an approved trip, the applicant should fill the Travel Refund form – The Travel Refund form is verified by the Financial Department – In case of problem the applicant is required to make correction till the final approval by the Financial Department 3
  4. Web Engineering (703512) Content 4 Non-commercial Use Only For Non-commercial Use Onl rcial Use Only package content content [ ] Travel Application -destination : String -startDate : date -endDate : date -requestDate : date -meeting : String -status : String < < c o n s t r u c t o r > > + T r a v e l A p p l i c a t i o n ( d e s t i n a t i o n : S t r i n g , s t a r t D a t e : d a t e , e n d D a t e : d a t e , m e e t i n g : S t r i n g , p r o j e c t : P r o j e c t , A p p l i c a n t : E m p l o y e e , P r o j e c t : P r o j e c t , ) ... -name : String +findProjectOwner() : Employee Project Travel Refund Application -dateSubmission : date -/total : double Invoice -date : date -price : double sum(toInvoice.pric e)
  5. Web Engineering (703512) User Model 5 For Non-commercial Use Only For Non-commercial Use Only For Non-commercial Use Only For Non-commercial Use Only For Non-commercial Use Only userModel userModel package [ ] Travel Application -destination : String -startDate : date -endDate : date -requestDate : date -meeting : String -status : String < < c o n s t r u c t o r > > + T r a v e l A p p l i c a t i o n ( d e s t i n a t i o n : S t r i n g , s t a r t D a t e : d a t e , e n d D a t e : d a t e , m e e t i n g : S t r i n g , p r o j e c t : P r o j e c t , A p p l i c a n t : E m p l o y e e , P r o j e c t : P r o j e c t , ) ... Employee -name : String -password : String ... <<constructor>>+User( name : String, password : String ) +save() +checkPassword( password : String ) : Boolean{query} +validateRegistrationData() : String{query} +loadUser( name : String ) : Employee{query} +findUnitLeader() : Employee ... UnitLeader +approveTravel( travel : Travel Application ) : boolean +addTravelToApprove( travel ) +setCurrentUser( user : Employee ) +logout() +getCurrentUser() : Employee Session -name : String +findProjectOwner() : Employee Project Research Unit +name : String -hasMember 1..* -isMemberOf 0..1 Unit Leader -is Lead by 1 -Leads 1 1 1..* 1..* 1..* WaitingApproval 1..* 1..* -currentUser 0..1
  6. Web Engineering (703512) Data Behaviour 6 Non-commercial Use Only For Non-commercial Use Only Travel Application Travel Application state machine [ ] Submitted R e f u s e d R e f u n d A p p r o v e d T r a v e l E n d e d W a i t i n g a p p r o v a l [status=null] Approved [status=rejected] [status='Approved']
  7. Web Engineering (703512) Submission Process 7 For Non-commercial Use Only For Non-commercial Use Only For Non-commercial Use Only For Non-commercial Use Only Submission Submission activity [ ] TravelApplication (Travel Application::) d e s t i n a t i o n P r o j e c t UnitLeader.addTravelToAppro ve (UnitLeader::addTravelToApprove) travel Project.findProjectOwn er() (Project::findProjectOwner) Employee.findUnitLead er (Employee::findUnitLeader) target Session.getCurrentUs er() (Session::getCurrentUser) sesion : Session <<userAction>> Submission destination addTravelToAp prove (UnitLeader::) travel [unitLeader<>projectOwner]
  8. Web Engineering (703512) Navigation Model 8 For Non-commercial Use Only For Non-commercial Use Only For Non-commercial Use Only For Non-commercial Use Only Navigation Diagram package navigation[ ] <<index>> Travel Applications Waiting For Approval -index : Travel Application [0..*] : T r a v e l A p p l i c a t i o n [ 0 . . * ] < < i n d e x > > Created Travel Applications <<navigationClass>> Application -Application : Travel Application [1] < < p r o c e s s C l a s s > > Refund Submission <<navigationClass>> Home {isHome} <<processClass>> Approve <<processClass>> Submission <<menu>> UserMenu {isLandmark} <<navigationLink>> < < p r o c e s s L i n k > > < < n a v i g a t i o n L i n k > > t o B e A p p r o v e d < < p r o c e s s L i n k > > < < n a v i g a t i o n L i n k > > - o w n e d A p p l i c a t i o n s < < n a v i g a t i o n L i n k > > < < p r o c e s s L i n k > > < < n a v i g a t i o n L i n k > >
  9. Web Engineering (703512) Presentation Model 9 For Non-commercial Use Only For Non-commercial Use mmercial Use Only Presentation Diagram presentation package [ ] <<presentationClass>> User <<presentationClass>> : OwnTravelApplication <<anchoredCollection>> : TravelApplications <<anchor>> : TravelApplication <<presentationClass>> : ApplicationsWaitingForApproval <<anchoredCollection>> : TravelApplications <<anchor>> : TravelApplication <<presentationClass>> Submission <<button>> Submit : Travel Application <<form>> Form : Travel Application T r a v e l A p p l i c a t i o n <<presentationClass>> User
  10. Web Engineering (703512) Questions? 10