- Learning .NET High:performance Programming
- Antonio Esposito
- 369字
- 2021-07-16 13:51:54
Performance as a requirement
Talking about performance as a need for a client (or buyer), it is easy to infer how this is definitely a requirement and not a simple need that a client may have.
In software engineering, the requirement collection (and analysis) is called Requirements engineering. We found a couple of specific requirements that we should properly understand as software developers: the functional and non-functional requirements.
Under the functional requirement, we can find what a software must do, and this (and other specifications) codes what we call software design. While with a non-functional requirement, we focus on how the system (and hence, the software) has to work. This (and other specifications) codes what we call system architecture.
In other words, when a client asks for an application to compute something (and if the computation hides a proprietary logic, the formula is part of the requirement as a technical detail), they are asking for a function, so this is a functional requirement.
When a client asks for an application to work only if authenticated (a non-functional requirement), they are definitely asking that an application works in a specific manner, without asking the application to produce a target or goal in the results.
Usually, anything about security, reliability, testability, maintainability, interoperability, and performance guidelines, are all non-functional requirements. When the client asks the software what needs can be satisfied with respect to their business, it is actually a functional requirement.
Although a client may ask for a fast or responsive application, they are not actually asking for something related to their business or what to do with the software, they are simply asking for some generic feature; in other words, a wish. All such technical wishes are non-functional requirements. But what about a scenario in which the client asks for something that is a business requirement?
Let's say that a client asks for an application to integrate with a specific industrial bus that must respond in less than 100 milliseconds to any request made throughout the bus. This now becomes a functional requirement. Although this is not related to their business, logically, this is a technical detail related to their domain, and has become a proper functional (domain-related) requisite.
- Java程序設(shè)計與開發(fā)
- Delphi程序設(shè)計基礎(chǔ):教程、實(shí)驗(yàn)、習(xí)題
- PHP程序設(shè)計(慕課版)
- 薛定宇教授大講堂(卷Ⅳ):MATLAB最優(yōu)化計算
- Julia Cookbook
- Functional Kotlin
- 可解釋機(jī)器學(xué)習(xí):模型、方法與實(shí)踐
- Getting Started with Hazelcast(Second Edition)
- Unity 2D Game Development Cookbook
- Python深度學(xué)習(xí):模型、方法與實(shí)現(xiàn)
- 持續(xù)輕量級Java EE開發(fā):編寫可測試的代碼
- UML2面向?qū)ο蠓治雠c設(shè)計(第2版)
- ASP.NET Web API Security Essentials
- Arduino機(jī)器人系統(tǒng)設(shè)計及開發(fā)
- WCF技術(shù)剖析(卷1)