180 likes | 252 Views
People. Global Architecture. Client website – users and administrators. Exposing the interface for using the system. Controller and BLL objects. Services allowing data retrieval and manipulation, Entity-oriented. Repositories implementing DB access, using L2SQL over MS-SQL DB.
E N D
Global Architecture Client website – users and administrators Exposing the interface for using the system Controller and BLL objects Services allowing data retrieval and manipulation, Entity-oriented Repositories implementing DB access, using L2SQL over MS-SQL DB. MS-SQL Database
Components Management Main Functional Requirements - Management • User Management • Login • Components Constraints Management • Decision Tree Management
Main Classes TreeNode FinalProduct TreeNode CharacteristicValues BaseComponent QualityMeasure CPU PSU Memory
Usage Scenario • A person who likes to buy a computer enters the website • The user answers questions about his needs • The answers and other user data is processed by the PCB Engine • The PCB Engine returns the suggested configurations to the view
State Machine Register Insert Characteristic Info Login Answer Decision Tree Questions Build Product Logout Feedback
PCB Question Tree While(hasQuestions){ Answers.Add(getUserAnswer()); if(a == null) break; //user pressed “done” Question newQuestion = getNextQuestion(a); showQuestion(newQuestion); }
PCB Engine Input • The algorithm will get as input the user answers and a sorted list of components. • The list of components will be sorted by their relevance to the user’s answers.
PCB Engine (Algorithm) While(totalMoney<budget){ f1.addComponent(sortedComponents, budget); } f2 = replaceLessSeg(sortedComponents, budget); undo(f1); While(moreCompToReplace){ moreCompToReplace = replaceNextComponent(f1); } finalProduct = compare(f1, f2);
User Interface User Interface The PCB Expert website
Q&A Any Questions?