Students: Roni Rabin, Eyal Biran Supervisors: Itay Maman, Tali Yatzkar-Haham, Julia Rubin Industrial Project (234313) 1
Product line approach: development of a generic platform from which numerous different products can be derived. Example: Nokia’s cell phone line
Develop web-based feature manager tool Main elements: Feature Tree Management Product Management Feature Tree Editing Product Definition
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
The feature manager tool consists of Client-side code Server-side code Database
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 6
Feature Tree Management Supports creation of a new feature tree Supports edit/remove/rename an existing feature tree Displays information about selected feature tree 7 Dojo Filtering Select: based on JSON data store
Product Management Create a new product based on an existing feature tree Edit/Remove/Rename a product Displays information about selected feature tree 8 Dojo Filtering Select: based on JSON data store
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
Feature Tree Editor
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
Product Definition
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” 13
Live demonstration 14
Q&AQ&A 15