150 likes | 255 Views
Industrial Project (234313) . Students : Roni Rabin, Eyal Biran Supervisors : Itay Maman, Tali Yatzkar-Haham, Julia Rubin . Online Feature Manager Final Presentation. Background. Product line approach: development of a generic platform from which numerous different products can be derived.
E N D
Industrial Project (234313) Students: Roni Rabin, Eyal Biran Supervisors: Itay Maman, Tali Yatzkar-Haham, Julia Rubin Online Feature ManagerFinal Presentation
Background • Product line approach: development of a generic platform from which numerous different products can be derived. • Example: Nokia’s cell phone line
Goals • Develop web-based feature manager tool • Main elements: • Feature Tree Management • Product Management • Feature Tree Editing • Product Definition
Methodology • Development Methodology: • Weekly iterations – review current status, choose stories for next iteration • Incremental evolution – code is always runnable • Main tools: • Java over Eclipse • Spring MVC framework • Dojo/Dijit libraries • JSON format • Derby database
Architecture • The feature manager tool consists of • Client-side code • Server-side code • Database
Achievements- Server Side • Receives requests from the client and responds accordingly. • Data requests for client • Update requests • Saves system data in a persistent database • Checks input received from client for errors • Reports errors on server side to client • Includes automatic testing
Achievements- Client Side Feature Tree Management • Supports creation of a new feature tree • Supports edit/remove/rename an existing feature tree • Displays information about selected feature tree Dojo Filtering Select: based on JSON data store
Achievements- Client Side Product Management • Create a new product based on an existing feature tree • Edit/Remove/Rename a product • Displays information about selected feature tree Dojo Filtering Select: based on JSON data store
Achievements- Client Side Feature Tree Editor • Receives id of the wanted feature tree in url • Displays current feature tree • Displays information about selected item in feature tree • Allows renaming of tree • Allows add/remove/rename of feature • Allows creation of dependencies between features using exclusion/inclusion lists
Achievements- Client Side Feature Tree Editor
Achievements- Client Side Product Definition • Receives product id in URL • Displays feature tree with selection buttons • Displays information about selected product and features • Constraints between features are supported, error message appears if bad selection is made
Achievements- Client Side Product Definition
Conclusions • Web applications are complex • Many frameworks and libraries • Frequent meetings are vital to the progress of the project. • On a large scale project, appropriate work methods and infrastructures are crucial for the ongoing success of the project. • Repository • Code reviews • Project was a great platform for learning new technologies and how a project is executed in the “real world”