Software Engineering - Practice of Demand (1)

zhaozj2021-02-16  113

Software engineering - practice requirements (1) Author: Lin Xing This article taken from: IBM DW China May 13, 2003

Directory Wen (1) Software and Requirements (2) Ability and Process (3) UML Introduction (4) Business Modeling Period (8) Business Modeling Period (below) Wen (6) Details Demand (上) Wen (7) Demand Demand (below) (8) Reference (9) About the author

Wenyi software and demand

Content: 1.1. From the monkey, 1.2. Project and demand · 1.3. Demand is fundamental · 1.4. Demand is changed · 1.5. Demand is what is 1.6. Demand level · 1.7. Demand standard in this article about software In the new column of the project, the author will introduce a series of articles, combined with theoretical knowledge, practical cases, excellent tools, classic articles guide, tell your most important process in software engineering - the knowledge of the needs of the demand process . Through reading, you will learn about how demanded knowledge system, demand process capabilities, related software engineering knowledge, how to do demand analysis in practice. Although there are many examples, the article is mainly biased towards the publicity of a thought, an object-oriented thought, a practical thinking. 1.1. From the monkeys, there is such a joke: a pet shop in Silicon Valley, browsing the pet. At this time, I walked into a customer, saying to the owner: "I want to buy a C monkey." The owner nodded, went to the shop of the store, caught a monkey, handed it to the customer: "Total $ 5,000 "Customer pays the payment, then takes away his monkey." The passenger was very surprised, went to the owner and said before: "The monkey is too expensive!" The owner said: "The monkey can use C to program, very fast, the code is compact, so there is so much money." The passenger saw another monkey in the cage, which is worth 10,000 dollars. So asked: "That is more expensive! What can it do?" The owner replied: "Oh, that is a C monkey; it will be programmed for the object, you will use Visual C , you can also understand a little Java, very useful "" The passenger wrapped over and found the third monkey, it exclusively a cage, the price of the neck was $ 50,000. The passenger took a breath and asked: "The monkey adds up more than all other monkeys! What can it do?" The owner said: "We don't know what it can do, but it is a project consultant. "Although this is just a joke, it is certain that it is very important, project management is very important, and the talents of project management are extremely lacking. In countries developed in software industries, how many of you know the importance of software engineering planning. In Taiwan, India, Japan, there is no shortage of software groups who have successfully implemented software projects, and more don't have to say that as a software big country, it has been getting rid of from lower-level software, enters the realm of design and marketing. . Software is first a product (software is a service or product issues, no conclusion), see the development process of manufacturing in the world, will find some interesting phenomena. In this era of this century, the manufacturing industry in Western countries has experienced the process of promoting productivity, improved quality, etc. However, due to the continuous climb of human resources in Western countries, it is increasingly difficult to reduce product costs, so Western countries can inevitably have experienced the process of migration of manufacturing (the result of manufacturing outgoing) has dropped sharply. Trade is frequent, the country that has accepted manufacturing has developed its own manufacturing), while Western countries leaving only marketing and design capabilities, mastering the focus of product production.

Similarly, the IT industry is also experiencing this process: the United States outsourced software to Taiwan, hardware. China's hardware is also rising, but the gap between the software industry, China and other countries is too big, and does not say that in the software industry is at the core status operating system, database. Even if the application software, China's software level is also low. When the foreign manufacturing has just moved into China (reform and opening up), China's small entrepreneurs also did not have any management experience and quality awareness. However, with the development of the manufacturing industry and the entry of foreign advanced ideas, China also has born a very excellent global manufacturing giant. China's software industry is now in just a point of management ideas, but there is still no mature point. We have reason to believe that China will also have excellent global software companies in the near future. It is still necessary to consider the problem of reality. Software This product is very strange, and the software company's management thinks is equally strange. Unlike the various management ideas of the current enterprise, the management ideas of software companies are mainly for the management of the project to ensure the success of the project. 1.2. Items and demand jokes correspond to the project to the project refer to the project management personnel, here to introduce a role concept (the same person can serve as a variety of roles), the usual project management role includes: project manager, project completion , Change control managers, business process analysts, business model designers, demand analysts, demand reviewers, system analysts ... In a successful project, a variety of roles are clear, divided into cooperation, and complete the design implementation of the project. So what is these "monkeys" do it in the project? RUP (Rational Unified Process Rising Process, this article uses numerous RUP ideas) divided a project into 10 core workflows and 4 phases, and in the core workflow as Y-axis, stage Establish a project view for the X-axis (Figure 1). Figure 1 This article will mainly introduce the first phase. In the first phase, the demand is heavy, the demand referred to here is not only a workflow of RUP (under business modeling), but is more general concept, including business modeling in RUP workflow. , Demand, partial analysis, test plan, configuration, and change management. 1.3. The demand is that due to the neglect of the project rework caused by the demand process, a large number of items have failed in the demand phase. The following is an exemplary example of unshire demand process: · The developer has buryd his head in two or three days; · Users tell the developer I want to develop an XX system, but I am very busy, you first develop a look The above two attitudes means that the project is unsuccessful, and it should be said that the above developers and users should be responsible. Demand is a process of developers and users interaction, and the no input of any party will lead to the failure of the project. Of course, because users are not professional, developers have the right to tell users to treat the needs of the project. I have talked about the projects developed by their company and finally draw a conclusion. All the most successful projects have an important feature: users are very support. The standard of judgeting a software project is to see if it solves the user's problem, and the user's problem is to reflect the needs of users, and demand is also a success standard for the project. Any inadvertent demand phase may lead to a lot of rework in the software implementation stage, and the demand is not cautious, because you can be careful, because many demand is hidden, even users don't know their needs. At this time, there is a scientific approach to help software organizations implement a demand process.

1.4. The demand is the master of the change. "There is no constant demand, the software in the world has changed more than 3 times, the only owner of the software that only changed twice, it is dead, and die on the way to modify the demand. "What kind of problem is there in many software projects? Earlier ERP companies found that the original ERP system needs to improve when the company developed, but to improve or change the existing ERP system, the only way is to revisit an ERP system. This is a small expenditure for companies. At this point, the backward information system has become an important factor in restricting the development of enterprises. What is the reason for this situation? The main factors are traditional system analysis to be carried out in the case where the demand is constant, which can be configured to the optimal extent. However, in modern instantaneous society, a company is in an old model, which will be in a disadvantage in the competition (so now "componentization" ERP, this is an external number). Since the needs of enterprises change, unstable, the enterprise information system established based on changes in the change is of course unstable. At this time, there is a problem, and we have said before, the demand is the foundation of the project, since the demand is unstable, why is it to establish a stable corporate information system? To answer this question, you must first compare the differences between the process and object-oriented development methods. The traditional process-oriented development method has a road to the top 20 years, and set up the horses of the Chinese enterprises. The reason is called the oriented process, because the development of the focus focuses on the process, developers focus on the process of function as the core, such as many people try to write some universal transfer functions to meet the needs of the bank. Process development languages ​​include: Cobol, Pascal, C, and C deformed languages. Object-oriented concepts are in China in nearly 10 years, and their thoughts have not really spread. Simply put, object-oriented is the world, anything in the world is an object, so it is a natural idea that is very natural, which is in line with our thinking habits. Object-oriented languages ​​include SmallTalk, C , Java, as well as Object Pascal, and C # just born. Demand is unstable, is there any stable thing in the demand? Yes, it is an object. The world is consisting of objects, while the objects are lasting, such as animals, plants have a considerable time. Although objects are also changing, animals, plants are constantly evolving. But the object exists in a quite long period, and the existence time of animals and plants will certainly be longer than any company. The essence of object-oriented development methods analyzes the stable object of enterprises from the instability demand of enterprises, and organizes demand based on corporate objects, and architecture systems. The system thus derived is much more stable than the traditional system, because once the company's mode changes, it is only necessary to reorganize the stable corporate object. This development method is called OOAD (Object Orient Analysis & Design object-oriented analysis and design), and the analyzed corporate object is called Common Business Object. 1.5. Demand is what is defined in the RUP to work on demand workflows: 1 / Customers and other related people * reached and maintained in the system's work content. 2 / Make system developers more clearly understand system needs. 3 / Define the system boundary (limited). 4 / Foundage for the technical content of the plan iteration. 5 / Provide the basis for the cost and time required to estimate the development system. 6 / Define the user interface of the system, focusing on the needs and objectives of the user. * Zhou: All people are all people who have affected by the project.

Such as customers (or customer representatives), investors, shareholders, production managers, buyers, designers, testers, document writers, etc., from above, we can roughly think about what to do during the demand . In fact, the demand process is to illustrate the demand process, which is to determine what the system is doing and what conditions. Although it is simple, it is not so easy to achieve it. So scientific demand process has a complete set of complete theories, tools, methods to achieve. Just like any company must have a profit, there must be a business and a management process, and the demand process is divided into a demand analysis process and a demand management process. The business's business is a profitability, the demand analysis process is also output in the project; enterprises must guarantee the business to be managed, and the demand analysis process also cannot be separated from demand management. Small businesses have not become the management method of the system. When the company is small, it can be dealt with, but the enterprise is large, all kinds of problems have followed, and the insufficient management directly leads to the inefficiency of business. Similarly, the shortcomings of demand management may cope with small software projects, but for large projects, the insufficient management will expose, and direct consequence is the failure of the project. Instruments out, many people think that the demand management is to control the demand process, this is not wrong, but in RUP's idea, more important thinking is iteration. The purpose of iteration is to develop, in order to evolve, in order to improve. So the software life cycle in RUP is divided into multiple iterative cycles (the software life cycle will be discussed below). * Iteration: Iteration includes all other peripheral elements that generate product issuance (stable, executable product versions) and all other peripheral elements to use. Therefore, in a certain extent, development iteration is a complete process of completely passing all workflows: (at least) requirements workflow, analyzes design workflow, implement workflow, and test workflow. It is essentially similar to a small waterfall project. The main thing for the demand analysis process is nothing more than obtaining the requirements of the system for the system, but the demand is changeable, and you can't tell customers to wait until they fix each to develop software. So things that demand management processes are manageable to ensure demand changes. 1.6. The demand level "Software Needs" all the detailed definitions of the demand level: software requirements include three different levels - business needs, user needs, and functional requirements - also include non-functional requirements. Business Requirement reflects the organization or customer's high-level target requirements for system, product, which will be explained in project views and scope documents. The User Requirement document describes the task that users must be completed using the product, which is described in the Used Case Document or Script Script (SCENARIO) description. Functional Requirement defines the software features that developers must implement, so that users can complete their tasks to meet business needs. The so-called feature refers to a collection of logical related functional requirements, providing users with processing capabilities and meeting business needs. The relationship between the components of the software requirement is shown in the figure: Figure II corresponds to the workflow of the RUP, the business needs is actually the business model of the RUP. In this process, participants are mainly business process analysis. Business-Process Analyst.

The main purpose is to evaluate the current business process of the company, and determine what extent to which the extent to which you have to do it (you have to do an ERP project means you must optimize business processes, and the last department level The MIS project is not necessary to use the cattle.). Then you will get something called business vision, in fact, what will be like a successful project, and agree on the scope of the public. The business demand level needs to be put into energy depending on the specific item, while the determination of business needs is limited by the user's demand and functional demand, and business needs are the constitution of the demand process, any demand must not be contrary to it. At the user's needs level (RUP demand workflow), the center of gravity is transferred to how to collect users, that is, the use case of the role and role (here the role and the use case are the concept in UML, we will discuss below), Demand analysis is difficult, because many demand is hidden, it is difficult to get, it is more difficult to ensure complete demand, and demand is variable. In general, in the past, it is more based on demand analysis, but the company's documents are often limited, such as lagging behind the current business, not clear enough, depending on the management level, so The method of obtaining the demand is gradually tend to organize the interview. Functional demand relies on user needs, it can be said that it is a mapping of user needs in the system. The developer thinks from the user to the developer. At this level, making a software prototype for users a very good idea. Until now, the user still doesn't have a real concept. If you give the user a prototype, the user will say, "Oh, my XX system is like this." This avoids the user after the software development is completed. I only see some of the risks brought about by software. Is there a need to use a rapid prototype development method and prototype to develop to what level depends on the specific project, many times, use some informal ways to generate prototypes: If you want to develop a web system, let your beauty do a few The page gives the user, if you make a C / S system, do an interface to the user, it is enough to use it, even you can draw a picture of your future software on the blackboard. User is mostly friendly, don't think about the problem. 1.7. Requirements Standard Discussion Software Demand has a lot of articles, which is not the same for demand, but in mind, it is to ensure the smooth progress of the project. Here I summarize some more general standards, it may not be perfect, but as long as you can guarantee these points, your project is not easy: clear (CLEAR), complete (consistent), test (TESTABLE), there are other concepts, such as tracking, modifications, and more. Clearly: At present, most demand analysis is still natural language (because if you use formal language, and user communication will become a big problem, which means that customers must formal language training before developing software, this Is unrealistic). Natural language is the largest drawback of demand analysis is its second meaning. So we have to make certain restrictions on the language used in demand analysis. For example, try to use a simple expression of the subject action. To put it bluntly, the description in the demand analysis makes people look like a child just learned, do not use questions, and modify these gorgeous expressions. In addition to the language of language, be careful not to use the boss, it is computer terminology.

转载请注明原文地址:https://www.9cbs.com/read-8244.html

New Post(0)