Online Feature ManagerFinal Presentation
Students: Roni Rabin, Eyal BiranSupervisors: Itay Maman, Tali Yatzkar-Haham, Julia Rubin
Industrial Project (234313)
1
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 runnableMain 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 SideReceives 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 testing6
Achievements- Client SideFeature Tree ManagementSupports creation of a new feature
treeSupports edit/remove/rename an
existing feature treeDisplays information about selected
feature tree
7
Dojo Filtering Select: based on JSON data store
Achievements- Client SideProduct ManagementCreate a new product based on an
existing feature treeEdit/Remove/Rename a productDisplays information about selected
feature tree
8
Dojo Filtering Select: based on JSON data store
Achievements- Client SideFeature Tree EditorReceives id of the wanted feature
tree in urlDisplays current feature treeDisplays information about selected
item in feature treeAllows renaming of treeAllows add/remove/rename of
featureAllows creation of dependencies
between features using exclusion/inclusion lists
Achievements- Client SideFeature Tree Editor
Achievements- Client SideProduct DefinitionReceives product id in URLDisplays feature tree with selection
buttonsDisplays information about selected
product and featuresConstraints between features are
supported, error message appears if bad selection is made
Achievements- Client SideProduct 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”
13
Live demonstration
14
Q&A
15