150 likes | 260 Vues
This project presents the development of a web-based feature manager tool that supports a product line approach, enabling the creation of variants based on a generic platform. The tool facilitates feature tree management, product management, and editing capabilities. Key achievements include client-side and server-side implementations using Java, Spring MVC, Dojo, and Derby databases. The presentation highlights the iterative development process, which emphasizes incremental progress and testing. Overall, the project serves as a practical learning experience in navigating complex web application frameworks and methodologies.
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”