上QQ阅读APP看书,第一时间看更新
User stories
The next step is to list the user stories that will be supported by the Helping Hands application. Here are the user stories for the application:
- As a Service Consumer, I can create an account so that I can search for services and book them
- As a Service Consumer, I can search for required services so that I can book one for my task
- As a Service Consumer, I can subscribe to one or more services so that I can get my task done on a regular basis
- As a Service Consumer, I would like to rate the services offered so that others can benefit from the feedback and choose the best services offered for a particular task
- As a Service Consumer, I want to get notifications so that I can get reminded of the service schedule
- As a Service Provider, I can create an account so that I can register one or more services for consumers
- As a Service Provider, I want to register one or more services so that I can get service requests
- As a Service Provider, I want to specify the service location area so that I can get only service requests that are near to my place
- As a Service Provider, I want to specify the price and availability so that I can get only service requests that are feasible to serve and the ones I am interested in
- As a Service Provider, I want to get notifications when a service request is placed so that I can attend to it
Apart from user stories, there are some non-functional requirements (https://en.wikipedia.org/wiki/Non-functional_requirement) as well that must be addressed by the Helping Hands application:
- All the implementations must be tracked and versioned in a revision control system. The Helping Hands application will use the external hosting service GitHub to track the code base.
- All the dependencies must be explicitly declared. The Helping Hands application will be implemented using Clojure (https://clojure.org/) with Leiningen (https://leiningen.org/) for dependency management.
- All services must have authentication and authorization built in.
- Configurations must be specified externally and not hardcoded in the application.
- All events must be logged to understand the state of the application and monitor it in production.
Non-functional requirements are a part of twelve-factor methodology ( https://12factor.net/), which covers twelve different aspects that must be addressed by the application. Part-3 and Part-4 of this book address some of these important aspects for the Helping Hands application in detail.