Software Requirement and Specification Document
|Version/Date:||07 December 2007|
Dynamic Properties Manager (– To be reviewed and Updated)
Table of Contents
The Dynamic Properties Manager will allow users of Interlinx to define on a certain product its dynamic properties (ex: colour, size, width) depending on user wish.
Our system needs to include this feature to offer clients possibility to define properties and easy work with them. The children created using this feature will be independent products that can be customized depending on their properties however our client wants as mentioned above by changing description, price, image to define the product properties. Also purchasing of products will unchanged since every combination applied on a parent product will generate a new product.
Development Team, CA Team, QA team
It will be implemented as a new module in inventory menu and will offer a quick way to handle "creating items" based on this properties. The user will need to set to each product category he wants to define properties on its items the specific properties(colour group, size,…) and after that will browse for products from that product category and create the properties combination. After products based on combinations are created he can set their specific information derived from the parent product by going in inventory form and searching for the products just created and edit them(change the price, description, image). A nice feature to have in inventory is to be able to return from search in Interlinx all products derived from the base product used when creating the combination, so it will be much easier for the user to customize the children of a product.
Use case 1
Lets say we have a product category with code "PC1".
We will search it in the product category Manager cause we want to set its properties groups(colour, size,…). As discussed a product category will have maximum 3 groups of properties attached cause of design aspects.
After marking this groups per category we can open the manager of Dynamic Properties and search for parent products = products that were not derived ever from a different product using this manager.
After selecting a product from that category possible property values will be loaded in grids so that user can create the combination by marking desired values from each group of property one from each if existing or create a new value in a certain group if value not existing and click a button "GENERATE CHILD PRODUCT".
A combination of properties means a value from each group of properties assigned to that product category to which the product belongs.(ex: if category has assigned and active COLOUR, SIZE, WIDTH than ("black","Large","1.3") will be a valid combination).
After clicking button "GENERATE CHILD PRODUCT" a new product will be created in the database with a new code (SKU) that will be a 100% copy of the parent until user goes in inventory and edit it to customize according to its properties. In this way it will also be easy to reflect accounting entrances and exits since every combination (that possible has a different price) is defining a new product.
So manager will allow user to select a category to work with and he will be notified to assign first properties to that category if it has no one assigned.
After this, the interface will display the grids filled with values corresponding to each property assigned to that category. The grids will be loaded in the order number set when assigned to category. That order number will also be considered on web site.
Having this data displayed with all values from categories, and having a checkbox column near each of them + also the possibility to Add new values in each property the user can create valid combinations and generate a new product for each. Than he can go and edit each product created.
Failure scenarios will be few:
- Product Category selected might not have assigned any property.
1. We will offer users possibility to add, edit delete properties(and their values).
2. User can assign Properties to categories from Product Category Manager.
3. This properties will be assigned in a desired order that will be considered on the site at displaying properties of a product.
4. A product that was created from another can’t became a parent for other products.
5. A order will not contain a parent product.
6. We will define from this point information (relations, name, manufacturer,…) that modified on parent will also affect child products and vice-versa.
7. Replication of a product created by this manager will threat creation of the product only when that child is modified in inventory cause till then is a 100% copy of its parent.
8. Search on web will display only parent products with their info
9. When clicking a parent, related products tab that will contain all child’s of it created by properties definition will be displayed.
10. Clicking on one of those products (children) the product information of it will be loaded and displayed to user.
11. Another way to reach a child is when selecting a parent product, its information will be load + combo boxes (1, 2 or 3 depending on category) containing property values defined for that product. When users selects a value for each property the child reflecting that combination will be loaded.
The first tab of this manager will allow user to Manage properties that he needs ( color, size, width ), and to set for each property the values he wants to use (black, white,…).
Second tab is managing deriving products from a parent by applying to that parent certain properties.
- First user needs to select a product category from the combo box of categories; When selecting the category a warning message will notify user that he needs to assign first properties to that category if the selected one does not have any assigned, or will dynamically set labels caption and combo boxes values, that are related to that category.
- Than he needs to enter the product code he wants to work with or do an advance search by clicking the search button.
- After having selected the product already existing children of it will be loaded in the bottom grid of the tab so that user can follow easier the created combinations.
- After selecting a value from each combo assigned to that product category (ex: in this case color, size, width) he can create a new product with this properties by pushing button "Generate Childs".
- Manager will notify user if the selected combination already exists or if he didn’t select a value from each combo box that are displayed.
- When combination created is valid a new product will be generated having 100% of information from its parent copied in all tables. After that user will modify after his wish this information in Inventory module (description, image, price,…).
- Product codes generated by this manager will be the parent code concatenated with count of his children + 1.
A test for this feature will be: creating at least 2 properties, assign them to a category, and create a child from a product within that category with a combination of property values. If product will be added in the bottom of the second grid and also a advance search under Inventory will find the product so the user will be able to edit it according to its properties.
Replication of a child product will take place at first "edit / save" of it under inventory form.