business trip scheduler application design document lital badash eran banous yanir quinn academic...

20
Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

Post on 21-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

Business Trip Scheduler

Application Design Document

Lital BadashEran BanousYanir QuinnAcademic Advisor: Prof. Ehud Gudes

amdocs

Page 2: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

Contents

Reminder – About the project

Main System Requirements

System Architecture

Class Diagram – Main Classes

Database Scheme

User Interface

Algorithms

Task List2

Page 3: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

Reminder

Amdocs employees usually divided to Groups that consists up to 30 people.

Occasionally, each group is signed up for a mission (at customer sites) and has to decide which of its members will be sent as part of the mission.

We are building web based application to help recommend which of the employees will commit the mission. Smart Algorithm that will take into account personal and group constraints is needed.

3

Page 4: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

Main System Requirements

Add/remove personal constrains –Add/Modify personal constrains from a given template .

Create a new mission (assignment for site support) - Create a new mission for site support assignment. Including: Define mission. Select mission schedules, site location and mission

specifications. Select irrelevant constraints Select irrelevant team members All missions can be updated. Manager can edit any of the

mission properties in modify scheduled mission.

Generate List for mission- After creating a new mission the algorithm can be activated and recommend which of the team members is most preferable to perform the mission. It will generate up to 10 most suitable options in a descending order.

4

Page 5: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

Main System Requirements

Add/remove Group constraint – each group will have a set of constraints that will take into account every time the algorithm will run.

Add chosen match – After the algorithm generated the list and the manager pick the most suitable employees to perform the task, he must update the system about his decision.

Define new constrains templates – The administrator will be able to define new constrains that can later appear on the system pool from which a manger can pick his group’s constraint. The new constrains will be inserted by a given template and will be restricted to given patterns (Boolean, integers, date, etc.). the administrator will decide if the constraint is considered “hard” or “soft”.5

Page 6: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

System Architecture

From the whole system perspective 3 players are involved: Client Server (Application server – We picked

WebLogic/tomcat) Data Base (We picked mySQL platform)

This is a simple client-server model. This model satisfies our requirement for a distributed application.

6

Page 7: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

System Architecture

DB

Client Client Client Client

Web/ApplicationServer

7

Page 8: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

8

Page 9: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

Main Class Diagram

Domain - this package classes mainly represent data objects that are used to save, handle and manipulate data regarding missions and group management, including the personal data objects, mission and group. Classes : Groups, Missions, User (TeamMember ,

Administrator, Manager) Main operations:

Add/Remove Personal constraints Create a new mission ADD/Remove group constraints. Add chosen match 9

Page 10: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

Main Class Diagram

AlgorithmLogic - classes in this package are responsible to the generation of lists for missions with data extraction from the database. Design pattern used: strategy. Main operations:

Generate List for Mission.

RuleEngine – classes in this package are all part of constraints interpretation and storage in the database . in here are also the basic class of constraint and its subclasses. Classes: SystemConstraint, PersonalConstraint,

ConstraintManager, Interpreter. 10

Page 11: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

UserLogic - classes in this package are responsible for the transactions in the system. All the information traffic from/to the end-user is done and managed by classes in this package.

Server – handles connections and http messages.

Main Class Diagram

11

Page 12: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

Database Scheme

12

Page 13: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

User Interface – User Screen

13

Page 14: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

User Interface – manager Screen

14

Page 15: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

User Interface – Administrator Screen

15

Page 16: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

Algorithm

Using the concepts of the following article we will present an idea and a general approach for solving our problem.

“Modeling the and solving employee time tabling problem” (by Amnon miesles and Andrea Scharef) .

the article discusses the problem of solving the nurse scheduling problem which we can adapt for our problem. we will present the general idea for the algorithm techniques.

16

Page 17: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

Algorithm

* A designate algorithm will run according to local search techniques :- starting from an initial state s0- iterate in a loop from state s(i) state s(i+1)

The search is driven by a cost function f that estimates the quality of the given state. The most common one , counts the number of violated constraints and the search objective is to minimize f to a lower boundary .

17

Page 18: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

Algorithm

* One of the local search techniques is hill climbing - comprised from a family of techniques based on the idea of performing moves that improves or doesn't change f’s value.

* Hill climbing technique:- for every iteration i , select a move m(i)- if f(si * mi) <= f(si) then s(i+1) = s(i)*m(i)

else s(i+1) = s(i) Our stop criterion will be based on the

number of iterations since the last strict constraint improvement

18

Page 19: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

Task List

1. Algorithm research √2. Set up Server (Testing both tomcat and web logic)√3. Set up Database √4. Naïve algorithm implementation5. Write Unit Testing6. Implementation of other components7. Testing8. Implement our algorithm9. Create GUI √10. Testing11. Refactor12. Write User Manual13. Prepare our presentation

19

Page 20: Business Trip Scheduler Application Design Document Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes amdocs

Thank YouQuestions ?