官术网_书友最值得收藏!

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.

主站蜘蛛池模板: 全州县| 崇明县| 尉氏县| 四川省| 陆丰市| 苏尼特右旗| 行唐县| 县级市| 名山县| 纳雍县| 新乡市| 扎鲁特旗| 拉萨市| 松原市| 措美县| 三门县| 富平县| 西畴县| 吉林省| 蓬安县| 类乌齐县| 河北省| 兴义市| 贵南县| 庆安县| 泸西县| 江北区| 汝城县| 马尔康县| 静安区| 霸州市| 新巴尔虎左旗| 祁东县| 墨竹工卡县| 靖边县| 叙永县| 越西县| 环江| 晋州市| 沙洋县| 合江县|