On the selection of software demand analysis methods and tools-thesis 4: CAD application in the IC Industry
Source: Internet
Author: User
【Abstract]
This article discusses the main features of this project and my work through an integrated circuit design-related software project, the specific methods and tools used in the project requirement analysis and the reasons for selection are discussed.
Due to the special nature of the professional field of the project, the problems encountered in the demand analysis and their solutions are discussed in two different types of requirements; in this process, the effects of the selected tools and methods are described. Next, this article discusses some ideas for improving the use of methods and the specific implementation process. Finally, I put forward some of my views on demand analysis, emphasizing the importance of communication with customers.
[Body]
In recent years, I have been engaged in the development of IT projects in an enterprise. One system is used for computer aided circuit design, including all the processes from high-end design to low-end design, for example, it is used to design logic door circuits with millions of doors. I have the honor to undertake the demand analysis and design of a software development task that extracts, filters, and represents paths in the circuit.
I designed a software that can be started independently. It mainly parses the link paths in the file and displays them in the List View and histogram, you can also perform functions such as search and filter.
The entrusting party provides a preliminary description of the requirements, and describes some basic performance and performance requirements. I have two main tasks in Requirement Analysis: first, I have to re-analyze and extract the detailed requirements of the software interface. Second, the functional requirements that have been provided need to be deepened and refined to form a truly complete requirement analysis document.
After receiving the requirement analysis task, I analyzed the task to be completed. It is found that the software is specialized in the field and has high requirements on the professional field. Therefore, we are prepared to divide this project into two parts:
(1) the interface has almost no impact on the professional field, but because there are no requirements, it may feel the greatest risk and change.
(2) In terms of functions, many of the functions of the entrusting party can be obtained by calling the corresponding modules, and there are simple requirements in writing. Correspondingly, it is just to deepen the work. For the interface, I have adopted some of the ideas of RUP iteration and gradual. The functional requirements are refined hierarchically, and each refined layer requires the entrusting party to confirm, modify and supplement the features.
First, we need to complete the most risky part. This is the basic knowledge of modern software development. I chose to perform Requirement Analysis on the Interface first. The first step is to extract the logical model according to the function description and make the logical model one-to-one correspondence with the interface elements and functions. In general, the interface functions are determined, and then according to the interface function description, determine the specific control. At this time, I refer to the interface layout of the main window that has been preliminarily completed by the entrusting party and the usage rules of the control, then, select the corresponding control from the QT class library (QT is used in the control library because windows and UNIX platforms are supported) based on the required functions. When extracting and abstracting the logical model, I used the use case diagram in Rose 2000 to describe the relationship with the external environment using the use-case diagram. I use rose for the following reasons: first, in the Developed section, the entrusting party uniformly requires us to use rose for class and Sequence Graph Design and code generation. Second, rose provides a standard diagram to describe the relationship between the system and the outside. It is a standard structure globally. Third, ease of use. I used the use-case diagram of rose to clarify the relationship between our software window and the main delegate window and external roles (operators.
After determining the interface elements, I used Visio 2000 to draw out the interface appearance and write the basic control functions, so I sent them to the entrusting party for review, fortunately, in addition to several minor feature modifications, the entrusting party basically approved my plan.
The following job is to create a status migration chart for the control's behavior and status changes. The tool I used is still Rose. I used the status chart and time sequence diagram, the status changes and corresponding sequence of the important controls are described. In the next few days, the corresponding doc document is written, and the interface design is complete.
The following requirements are specific to functional requirements. Although the Technical Department of the entrusting party has a preliminary requirement document, due to the incorrect specialization in the field, I am not sure about the complicated path extraction relationship and the in-depth terminology, and I have always had a difficult feeling. We can only adopt the principle of stratified refinement, from the first several in-depth layers to more than a dozen. In this way, you will not suddenly encounter too many professional questions. You can learn from the answers to the entrusting party and documents step by step to deepen your understanding of the professional field, in this way, you are always advancing in the design, so as not to encounter insurmountable professional obstacles.
In this phase of development, as I have been dealing with areas of expertise that I am not familiar with, I feel that some auxiliary design tools cannot play their due functions. During this period, the company's e-mail system should be the most helpful to me, And all unclear questions and answers should be turned around through it. In other words, in the demand analysis stage, it plays a role in communication with customers and extracting customer requirements. Therefore, I think at this stage, the E-mail system is the most helpful tool for me, followed by Excel. I used it to create a problem tracking chart for every question raised, you must record the problem results (including clear, unclear, unclear, and unanswered). Based on these tables, I can have a good understanding of the core issues in my work, and have the direction to solve them, improving my work efficiency.
For each layer of refinement, I will deliver the results to the entrusting party for review. They will propose when the refinement can be terminated. After about eight layers of refinement, the other party thinks that the results have been achieved, confirmation can end. Now, all the analysis work has been completed, and the project requirement analysis has basically been successful.
In this demand analysis, I think the main reason for success is that the methods and tools are correctly selected. Popular auxiliary tools are used in the interface design, which greatly helps you to establish the demand and logic model and help you clarify your ideas. The iterative method is used to correct the effects of some errors during the continuous iteration of Function Analysis and interface analysis. In the later stages, I mainly relied on communication tools and table tools to focus on functional requirements. This also shows that the auxiliary tools are not omnipotent and the key to requirement analysis is the key, communication with customers should be conducted.
Through this case, I think that in the software requirement analysis work, the importance of methods should be far greater than that of tools. First, we should determine the risks in the analysis and classify the risks, different methods are used to solve various risks. The choice of tools is not only based on influence and fame, but also to be truly used for me. The essence of tools should be grasped, that is, what is the help of this tool for development, rather than just how to use it. In my opinion, there are two main functions of the tool in Requirement Analysis: one is the abstract tool of the actual system and environment model, and the other is the demand expression tool. The representative of the first category is Rose, and the representative of the second category is word, WPS, and Visio. due to geographical restrictions, communication tools are also used in this project, web browsing and E-mail service systems.
Finally, I would like to sum up that in demand analysis, tools and methods are only factors that help the project to succeed. The real deciding factor is-1 "communication with the customer ".
Comments;
(1) methods and tools are discussed more practically. (2) The discussion of the two types of requirements is characteristic. The solution to the demand problem is successful and persuasive. (3) be able to express your own views and opinions, and be more practical. (4) This example seems to have some special characteristics. We still need to encourage projects in the business areas we are familiar with. Otherwise, sometimes it will be half the effort. (5) It is best to list more projects or examples to make the discussion of methods and tools more comprehensive. (This article mainly references the papers of Jie Liang and others in Shanghai)
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.