---
# System prepended metadata

title: NoN-FuNcTiOnAl requirements

---

# NoN-FuNcTiOnAl requirements #

## Primary ##

### Performance ###
- ✔ Recurring batches should start at least 24 hours before the deadline and should be able to be processed in < 24 hours -> respons time
- ✅ Non recurring batches should be processed within the timeframe specified by the priority given to it by the docProc customer (12/24/48 hours). -> respons time
### Availability ###
- ✔ An error in raw input data should immediately be detected and should result in a notification to the customer organization but should not crash DocProc. -> error in input
- ✔ The personal document store should be available at least 99.99% of the time. -

### Modifyability ###
- ✅ The docProc system Should be split (based on functionality)  into multiple independent modules (such as pdf generating module, distribution module etc)  which should communicate through well defined APIs or interfaces. 
- ✔ Changing the customer organization specific branding of the DocProc system should be possible in < 1 hour without recompiling the system.
- ✔ Make it possible to support document types other than invoices and payslips. This should have no effect on the already existing functionality. 


### Interoperability ###
* ✅ In case Zoomit functions correcly, datatransfers of files between DocProc and Zoomit should be finished within 10 minutes for each individual file at least 95% of the time. The individual transfer should be finished within an hour 99.95% of the time. Failures of a transfer should be reported to management of customer companies and should not result in failure of other transfers or the same transfer via other delivery methods unless otherwise specified by management. 
* ✅ Failures of Zoomit (such as server downtime) causing files to not be transferable within an hour should be reported both to management and DocProc admins and should not result in failure with other delivery methods.
* Print & postal service (via web service)
* External mail service to send out emails to users
* ✔ DocProc should be able to work with customer organizations their own systems via various protocols and well defined interfaces. The rate of successful information exchanges should be no lower than 99.99%.

### Usability ###
- ✔ The customer organization using the system should be able to be fluent in the software in less than 1 day
- ✅ On average, a new user should be able to find the document(s) they're looking for in their personal document store in les than 15 minutes and without contacting support.

### Security ###
- XML & csv files met gevoelige informatie moeten versleuteld zijn mss?
- invoices & payslips met gevoelige info moeten versleuteld zijn waar mogelijk!
- ✅ In the personal document store, a customer should be able to securely log in with their own credentials, after which they can see only their own documents. These documents should not be available to anyone in the personal document store without the relevant login credentials. 
- ✅ On the magangement dashboard, management of a client company can securely log in with their credentials, after which they can only see data concerning their own company.

### Testability ###
* ✔ There should be a sandbox environment in which mockup payslips and invoices can be easily created, analyzed and send out to test recipients. Creating a such a test scenario should be no more difficult than switching to a test environment in the dashboard and providing raw data as if the system was running in production.


## Secondary ##

### Variability ###
- ✅ In order to showcase the software, there should be support for trial version where an actor without an account can test the software. This sessions should not generate any data permanently and actions should not result in other actors or systems being influenced. Some functionality (such as sending out mail) should be inaccessible in order to satisfy the earlier mentioned restrictions. 
- Not every company needs the same set of tools; provide possibility to only access certain tools
### Portability ###
* ✔ Database should be easily interchangeble with another DBMS and switching should take < 5 days.

### Development distributability ###
- Management dashboard & personal document store should be independent from the rest of the system.
### Scalability/elasticity ###
- ✔ Use cloud providers which can dynamically scale the amount of resources needed according to the current load.
- ✅ Use a database system whith favourably scaling query cost compared to the amount of entries. 

### Deployability ###
- pipelineing

### Monitorability ###
- ✅ Both docProc admins (for all batches) and management of a customer company (for batches of that company) can see how much time it took from the moment all data of a batch was available to DocProc to the moment that batch was executed for at least all batches that finished executing in the last 3 months. 
- ✅ Management of a customer company can increase priority of a non recurring batch at any time. If the data had already been uploaded, the batch should be finished x hours after the priority has been changed with x depending on the chosen priority.


# Agendapuntjes #
1. slapen
2. Lange lijst nakijken en aanvullen
3. ASR en Utility tree
4. 4 requirements selecteren uit de tree
5. die 4 uitwerken
6. Repeat enkel stap 1

# Planning #

- Woensdag om 17:00 : Lijst nakijken en aanvullen + start utility tree
- Zaterdag 14u: Verdelen 4 requirements verdelen, proberen tegen maandag af te maken

# Questions for TA #
* Response measure for Interoperability en gewoon de categorie in het algemeen
* Refinements


![](https://i.imgur.com/e2WYACV.png)

# Vragen 22 maart#
* Sub en super
* pdf generator?, wanneer is het speciefiek module
* 
