200 likes | 327 Vues
amdocs. Business Trip Scheduler Application Design Document. Lital Badash Eran Banous Yanir Quinn Academic Advisor: Prof. Ehud Gudes. Contents. Reminder – About the project Main System Requirements System Architecture Class Diagram – Main Classes Database Scheme User Interface
E N D
amdocs Business Trip SchedulerApplication Design Document Lital Badash EranBanous Yanir Quinn Academic Advisor: Prof. Ehud Gudes
Contents • Reminder – About the project • Main System Requirements • System Architecture • Class Diagram – Main Classes • Database Scheme • User Interface • Algorithms • Task List
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.
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.
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”.
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.
System Architecture Client Client Client Client Web/Application Server DB
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
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.
Main Class Diagram • 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.
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 Amnonmiesles 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.
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 .
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
Task List • Algorithm research √ • Set up Server (Testing both tomcat and web logic)√ • Set up Database √ • Naïve algorithm implementation • Write Unit Testing • Implementation of other components • Testing • Implement our algorithm • Create GUI √ • Testing • Refactor • Write User Manual • Prepare our presentation