[Technical Discussion] conversion and Analysis of functional and non-functional, explicit and implicit demand attributes

Source: Internet
Author: User

09:51:10, wonderful words
Teacher qingrun, I want to build a model for SOA service governance. However, this is basically not an enterprise application and there are no business processes. I don't know how to start it, log collection and analysis, Service Release configuration, permission control, traffic control, call Count statistics, analysis and warning, and service dependency View
Non-interactive

10:04:59 qingrun
These are generally non-functional requirements. Technical personnel need to abstract the features based on the system functions. Their business models can only be analyzed based on the actual situation. Do not blindly copy them or completely pat your head, it is better to be familiar with the whole system business and add experience.

10:06:17, wonderful words
There is no process at all, and I don't know how to build models. How can I build a domain model for the core object of service?

11:24:43 qingrun
These business flows are relatively simple, but the logic is complicated. For example, you need to analyze what logs need to be stored in all business use cases, and the purpose and information of logs in the use cases.

16:06:24, wonderful words
Is permission control a non-functional requirement?

16:36:09 qingrun
Generally not.

16:45:04, wonderful words
Why?

16:45:35, wonderful words
What is the difference between log analysis and traffic control? Why are the latter two non-functional requirements? Thank you for your advice.

23:11:32, wonderful words
Miss qingrun

23:11:47, wonderful words
I am responsible for modeling the requirements of the SOA service governance platform.

23:20:33, wonderful words
/Question

00:59:29, wonderful words
I know, for my SOA platform, permission control and traffic control are a functional requirement, because my system platform is doing this.

07:05:58 qingrun
This is actually the case.
This involves changes in the use of software systems to the real world.
Prior to the emergence of software, permissions were governed by the power of appointment and administration. At that time, there was no concept of permission management except for the Right of positions and positions.
Therefore, in the original software system, permission management is a non-functional requirement, because the user cannot make this requirement, nor will it be described, and it can only be obtained after analysis by technical personnel.
Now, after nearly 20 years of application of the software system, users can explicitly propose permission functional requirements, which makes some software implementation go to the front-end from the back-end, some requirements become explicit.
Therefore, permission management is a functional requirement for common business systems.
According to Wikipedia, this process is also demonstrated:
Functional requirements (functional requirement) is a term in software engineering. Functional requirements define the functions of a software system or component and are also the functions and services required by a system [1]. The function can be expressed by a combination of input, behavior, and output. The functional requirements can be computing, technical details, data processing, or other information that the system wants to achieve. Functional requirements are based on non-functional requirements (or quality requirements), which describe the design or implementation constraints (such as performance requirements, security or reliability ).
In system engineering and demand engineering, non-functional requirements (non-functional requirement) Determine System Operation Conditions or characteristics based on certain conditions, rather than specific system behavior requirements. Non-functional requirements are relative to functional requirements, which define system-specific behaviors or functions. Non-functional requirements can also be seen as the characteristics that need to be met to meet the customer's business needs, but are not included in the functional requirements (should be: Internal, it is estimated that the translation is wrong.

Some non-functional requirements will be converted into functional requirements at a certain stage. For example, security itself is non-functional, but when a security module becomes a standard component, users require that a certain security standard be used to meet the security module's requirements, such as file security inspection. At this time, a non-functional requirement becomes a functional requirement.

------------------------
The preceding figure shows the dialog content.
This dialog, the speaker has organized the content into a blog separately published as: http://beyondyuefei.iteye.com/blog/1919258

However, in this topic, a friend may ask: Isn't this a conversion between explicit and implicit requirements?
In fact, both explicit and implicit are functional and non-functional requirements. Functional requirements can also be divided into explicit and implicit, and non-functional requirements can also be the same.
As for how to partition, it actually depends on whether the customer can clearly propose and whether it is part of the function implementation. Some non-functional requirements may never become functional requirements, for example: the number of servers required for system deployment and the relationship between the server deployment architecture cannot be described as many examples at once. In many cases, it is the best practice for programmers to discuss things and solve problems, but rigid case studies often lead to mistakes in local principles. Therefore, in many cases, many things cannot be determined immediately, you may need to know what is the best solution at that time.
In terms of expansion, I have refuted the statement about best practices before. Now I still think that best practices can be found only when faced with specific problems. Abstract best practices do not exist, it is a typical case of local capitalism.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.