This system is made to solve business issue for one manufactory. It is also has intent behind it to scale up to a product to fulfill needs of organisation which shares the same issue.
As a user, I want to request a list of breakdowns for a specific machine model
As a user I want to view a specific machine failure
As a user I want to view the entire list of machines in the database
As a user, I want to enter new information about the machine and/or breakdown into the database
As a user, I want to update existing information about the machine and/or breakdown in the database
As a user, I want to scan a barcode and get all information about this machine.
Tech notes
It is good to start design of the system backwards - from UX of end user. However many things, e.g. API, would not be available during development stage if implementation of the mobile client will be started first. We might either limit ourself with mobile client design on the paper or mock unavailable parts during development.
It is important to note during work on backend or mobile client we might face with new business demands or technical challenges which would require changes on another part of the system. Low coupling, encapsulation and modularization should help to mitigate this issue.
Majority of potential end users have Android based smartphone, so it makes sense to start with only Android client.
[TODO add mockups]
Sub-features in the group
[feature] As a user, I want to scan a barcode and get all information about this machine #3
[feature] Develop database scheme and DTO on mobile client #4[feature] Add network layer for a mobile client #5
[feature] Add business logic to get machine information by data from a barcode #6
[feature] Develop UI to get machine information by a barcode #7
[dev-ops] Add security static analyzers to mitigate part of security concerns #8
to be continued...
User stories
As a user, I want to request a list of breakdowns for a specific machine model As a user I want to view a specific machine failure As a user I want to view the entire list of machines in the database As a user, I want to enter new information about the machine and/or breakdown into the database As a user, I want to update existing information about the machine and/or breakdown in the database As a user, I want to scan a barcode and get all information about this machine.
Tech notes
It is good to start design of the system backwards - from UX of end user. However many things, e.g. API, would not be available during development stage if implementation of the mobile client will be started first. We might either limit ourself with mobile client design on the paper or mock unavailable parts during development.
It is important to note during work on backend or mobile client we might face with new business demands or technical challenges which would require changes on another part of the system. Low coupling, encapsulation and modularization should help to mitigate this issue.
Majority of potential end users have Android based smartphone, so it makes sense to start with only Android client.
[TODO add mockups]
Sub-features in the group
[feature] As a user, I want to scan a barcode and get all information about this machine #3
[feature] Develop database scheme and DTO on mobile client #4[feature] Add network layer for a mobile client #5[feature] Add business logic to get machine information by data from a barcode #6 [feature] Develop UI to get machine information by a barcode #7 [dev-ops] Add security static analyzers to mitigate part of security concerns #8 to be continued...