RUP and software engineering

xiaoxiao2021-03-06  39

Cotry guest: ivar Jacobson, Chen Ziping, host

Chat title: face to Ivar Jacobson

Chat topic: RUP and software engineering

Chat time: 2004-12-8 (Wednesday) 14:00 pm ----------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------

Guest [Moderator]: Good afternoon! Welcome to the 9CBS guest chat room, we are very happy to invite the famous software development methodology this afternoon, the Software Engineering Master Ivar Jacobson Dr. 9CBS Guest Chat Room.

[2004-12-8 14:17:00] Guest [Moderator]: Now guests have arrived in the chat room, let's introduce you to the guests present today.

[2004-12-8 14:18:00] Guest [Moderator]: Dr. Ivar Jacobson is the inventor of the Objectory method, as well as the founder of Sweden Objectory AB. He served as Vice President of the Rational Business Engineering department, where he was responsible for the development of UML. Ivar Jacobson is very famous in this front-edge field, and he has more than 25 years of experience in using an object method to design large real-time systems, and has also done a lot of work in large-scale architecture reuse. Ivar Jacobson's use case drive method has far-reaching the entire OOAD industry, and he has become a "flag" of the industry.

[2004-12-8 14:18:00] Guest [Moderator]: Today, I arrived at the 9CBS chat room, and Mr. Chen Zongping, General Manager of China University of China, IBM Rational Technical Manager, Mr. Li Jihua, two I have also communicated with the majority of netizens to communicate with the majority of netizens. Today they have been translated by them.

[2004-12-8 14:21:00] Guest [Moderator]: Today, our main chat topic will focus on "RUP" and "Software Engineering", and now the chat activity officially begins.

[2004-12-8 14:22:00] Guest [Moderator]: We are very happy to see Ivar Jacobson to China after two years, you and our "programmer" magazine is also an old friend. As a greetings for old friends, I want to ask ivar Jacobson to talk about what you have done in these two years, introducing your current situation.

[2004-12-8 14:26:00] Guest [Ivar Jacobson]: I am very good for two years, thank you for your concern. These two years I mainly engage in research and my activities are concentrated in Active Software, I am the initiator; I also do research on AOP; I also wrote new books, this new book will be published next month, it is a book of AOP; There is a research on some software development. In this regard, some new research development is my personal favorite. Especially in this year, a company is an advisory company for software. In addition, my own company has been established in four places. There is also South Korea in Singapore, the United States, and Europe, and now is now preparing for China's consulting consultants.

[2004-12-8 14:27:00] Guest [Moderator]: Friends who have just entered the chat room, we are now in progress: "RUP, Software Engineering" theme chat, the guests in the field are one of the founders of UML Dr. Ivar Jacobson

[2004-12-8 14:30:00] Guest [Moderator]: I have just told some research on the AOP. Can you please tell some software processes and use case?

[2004-12-8 14:32:00] Guest [Ivar Jacobson]: First, actually AOP's thoughts have been long time, I wrote an article about AOP in 1986. When the core thinking of AOP is to program, there should be new ideas when expanding the new project. This and the USE CASE technology is very similar. This core thinking is to separate various characteristics. However, there is a certain isolation between AOP to USE CASE, and there is a certain isolation between the code. Therefore, in essence, AOP and USE CASE technology are very similar. I will give an example for the association of AOP and UML. If there is a very large system, it is an application of a database, about 10 million lines of code. A problem is found, this problem occurs on the login module, you need to add a new feature, which will involve each database, each transaction is new, and the change is very large. Maybe logging in to this module, adding this new feature, plus a line, two lines of code, but because other parts have a thousand line of code, it will cause a lot of modifications to other parts after adding, it will consume For a long time, it will have a considerable risk. We now put forward another idea to treat this application, this idea is what we don't move Base Code, how to do it? Just add a new module, specify what code is changed here, but there is a reference relationship behind the new module, which is referred to your basic code, so in this way, you can actually change it may be a line or two. Ten lines of code, but actually the effect is the same. But doing this has a bigger advantage so your program is very small, and it can be controlled, unlike the first method, there is a big risk, and uncontrollable. This example just mentioned is just an idea in AOP, this idea is concentrated in a software when you want to add new characteristics. Inside the AOP core, this is just the first major idea, and there are actually other core ideas. [2004-12-8 14:34:00] Guest [Moderator]: When we do J2EE applications, AOP is usually applied in the following applications, such as transaction management, security, login, remoteing, and more. But except these few, what is the AOP can be available?

[2004-12-8 14:34:00] Guest [Ivar Jacobson]: AOP is not only used in those aspects mentioned, can also be used for product updates throughout software development, such as business modeling, There is also a demand management, these and the USE CASE just mentioned, it is actually related to AOP. In fact, the core concept of AOP, and an important point of view is how to find that you have a good design, how to find these ways, actually a very critical for AOP and software development.

[2004-12-8 14:34:00] Guest [Moderator]: There are a lot of netizens now ask questions. There are a lot of netizens who study UML. After 2.0 release, they are more concerned about the new character, I want to ask about 2.0 and 1.0 What is the difference?

[2004-12-8 14:35:00] Guest [Ivar Jacobson]: I want to make this problem a little bit, because 1.0 is a longer version, in fact, many aspects, if compared with 2.0, The previous version used to compare should be 1.5 version. In the case of UML officially as a standard, the use is from 1.1, and the top version should be 1.5 before 2.0. This will explain it clearly. In fact, in 2.0, I remember not very clear, but 2.0 is Very large language, there are very many features. For example, for distributed systems, real-time systems, this has added a lot of features, joined the concept of port, and add some other iconic symbols. There is a series of sequence diagrams to joining a lot of features, in the sequence map, only a single line, now add some extra lines. So, this is a very important feature in 2.0. 2.0 The semantic improvement includes more. [2004-12-8 14:37:00] Guest [Moderator]: 2.0 ratio of 1.5 has a big improvement, will not become complicated in this future, how is this development trend? ?

[2004-12-8 14:37:00] Guest [Ivar Jacobson]: UML2.0 It seems that the reflection outside is relatively large, but I think UML2.0 is not big enough. It is because it is because it is currently a big demand now, and there is a relatively large language or a relatively complete language that meets many developments above. The problem is not a big and small problem, and the problem has some good ways in the process of learning UML2.0, or some assistance. I suggest some ways to learn in a step-by-step way, from the relatively small module to understand UML2.0 is a better way, and can also rely on some tools. It can also be accelerated by learning UML2.0 by working in some development of intelligent agents. I have a website called Jaczone.com, which is a helpful service.

[2004-12-8 14:41:00] Guest [Moderator]: I have seen some of Jaczone.com's website, I don't know what kind of service, I want to know what kind of thing is?

[2004-12-8 14:42:00] Guest [Ivar Jacobson]: I explain first to do this. It is because of learning software, the software itself is a very complex environment, which is essentially a complicated environment, including a variety of different methods, steps, developing different processes, different languages, development environments. So, of course, the environment will become quite complicated. However, in the process of learning, it is not easy to become a ten all-round experts in the environment of the software, which is certain. Just like I don't understand anything, just have special deep and understanding in a certain field. However, it is because this environment is very complicated. If there is an intelligent environment to provide the developer, it is like an expert in hand, guiding him in the development process, can have problems in time. It is better. Of course, similar expert systems or intelligent knowledge bases can be popular, the process of learning is relatively low for developers. I will give an example. When you do software development, most of the work should be the work of the brain. Most of the time every day is doing your own instinct, but there are very few time to think, so many times. Work is repeated once again, in fact, many of these work is not too efficient. The introduction of these tools is actually helping you reduce this time that doesn't have the brain. In the future, it will save more time. You can save 20%, and the future may save 30% or 40. %time. Developers are worried, if these tools are so intelligent, they can help me reduce a lot of work, but what should I do? You are running my work, this is actually unnecessary. In fact, after you save time, developers can put the time in more creative work, which can create more software, but also make the software's prices get cheaper. [2004-12-8 14:51:00] Guest [Moderator]: Some netizens want to hear your views on agile methods. China has now the project, such as the government's project, many of which requires CMMI, but at the same time, these companies also want to save costs and use agile methods. I would like to ask, what is the need for companies that do the project? What is it?

[2004-12-8 14:52:00] Guest [Ivar Jacobson]: Let's talk about XP or another word called agile programming, about these two methods, RUP and XP comparison, probably three birth year Written a papers, the English name "XP is agile". These two methods actually have public spots, but in fact, when adopting two methods, the key is that two methods have taken different ways, and solve some problems in the software. The XP method is a method of code as the core, and this method is more in this method, there is no matter what you have in your head, more ways is not defined, and a lot of things Is an unknown approach, then, as long as this idea is used to use it. But RUP is a unified method, this method is more of the knowledge collection, the performance of knowledge and knowledge of knowledge. Only through this process, knowledge is available, so these two methods are different ways.

[2004-12-8 14:54:00] Guest [Moderator]: Friends who have just entered the chat room, we are currently in progress: "RUP, Software Engineering" theme chat, the guests in the field are one of the founders of UML Dr. Ivar Jacobson. Please submit the questions to the scene of CHENGYANCY. For a while, Mr. Ivar Jacobson will answer your questions, thank you! [2004-12-8 14:58:00] Guest [Ivar Jacobson]: In fact, these two methods, I will tell the specific point. Agile programming is focused on comparing individual areas, so when making software development in every field, different knowledge may be used, so it is difficult to draw a public thing when using agile programming. Everything is actually very specific, and there is no common problem, it is difficult to abstract and summarize. However, Unified Process, first mentioned the process of collecting, finishing, processing, processing, taking the definition of knowledge, so emphasizing that there is a very good architecture in software development. Therefore, when there is a problem, there will be another possibility, that is, because there is a lack of specific image, there may be a lot of time to solve problems, so these methods of intelligent agents are also mentioned here. These methods are actually Helping you through the training of personnel is great to reduce problems. In fact, this method of Unified Process is actually a broader space, because it is actually very easy when adding some new features in the past. In fact, there is no end in this unified process, you can do something.

[2004-12-8 15:01:00] Guest [Moderator]: Mr. Ivar Jacobson, some netizens have some netizens asked how small companies use RUP to improve efficiency?

[2004-12-8 15:02:00] Guest [Ivar Jacobson]: There are a lot of small developers in many companies, programmers, very smart, so they sometimes create or design There are some ways, but don't forget, because they have some smart, quite good people, these companies are particularly easy to grow, don't forget this. Take myself as an example, I opened Jaczone in Sweden, there is a product called WpoIpver. This product is just five people when I started design. Do you want to use UP or RUP, our final decision is of course necessary. how to use? When using RUP, it is not the use of the RUP, but is selected in some of the use of product design for him. The simplest example is to use his use case and test case, it is the most commonly used. Many developments and tests are used in these two aspects, why do you do this? The biggest benefit is that when it is in the future, when it is to expand and grow, don't re-do it, you can go to 50 people from five people, to the next five hundred people, the development team from Sweden to the United States, to China can come in RUP The above expansion and development, I am also designed in this process.

[2004-12-8 15:06:00] Guest [Moderator]: I have been touched by many developers say UML is very good, RUP is very good, but I feel that this thing is a little difficult or used to feel a little empty. Want to ask, have UMLs do not provide good products in this area?

[2004-12-8 15:06:00] Guest [Chen Ziping]: This problem can be divided into two parts. I think this may be designed to design, the scale of the development should be divided into stages, this is the need to take the consideration. Because it is a standard and method, there must be a lot of experience, and the law can make the learning process is more likely to climb, this is not only UML, any engineering thing has the same process. In any engineering environment, the standards created have knowledge and experience. If you follow the knowledge and accumulation of experience, it is always easy to climb. IBM has a lot of consultants and services, and we have some partners and some lessons. More importantly, we have some very experienced, many successful people who make UML and RUP share. Ivar has some successful examples to share with you. [2004-12-8 15:09:00] Guest [Ivar Jacobson]: Small institutions and corporate companies are the main reason for the main reason is that the scale is small, there is no time, so I hope to enter from start writing procedures. Learning relatively abundant environments, many people start from the coding, of course, from the beginning of the coding, the learning process is not abundant, so the problem will come out for a long time. It is not a representative that should not use UP or RUP, because UP and RUP are correct things, but how to help, let him be easier to use UP and RUP. What we have just said is to help enter UP and RUP is an expert environment that has developed intelligent assistance. This environment can be timely, real-time help some primary or secondary learning UP or RUP people relatively fast.

[2004-12-8 15:10:00] Guest [Moderator]: On-site netizen asked: I just mentioned the Software Engineering RUP, Ivar's understanding of China's software engineering management, and the management of China's software engineering What advice?

[2004-12-8 15:11:00] Guest [Ivar Jacobson]: I have been China since 1996. Every year or two, I will come to China, so I have some degree of understanding of China's environment. . I found that we used the examples, but also more common, but our depth understanding can still be improved in use with the UP usage. I think there are several reasons and factors that can be provided to everyone to do advice and reference. First, training is important, especially those with experience, people who have knowledge in this area are important. It is more brave enough for the funding of learning training, because it is not only to replace learning on the book, but it needs to be able to achieve some effects in actual training. In addition, there are many most important methods and processes that use these best methods and processes, and the best methods and processes are to let the process of learning software have a good reference. In addition, there is also a suggestion that the developed personnel don't know how to develop work every day, and if you do development, you can more expensive more human resources. And there is an improvement in the development of software.

[2004-12-8 15:16:00] Guest [Moderator]: What is the difference between Ivar thinks about software engineering in China software projects and other countries? How to see the geographical problem of software development?

[2004-12-8 15:18:00] Guest [Ivar Jacobson]: I found that China's domestic and abroad is the biggest difference, and it is a significant difference is the age of people in China's software developed very young, software practitioners The average age is more than ten years old more than the Western and foreign countries, there is no lack of smart software developers, but it is necessary to bear very important software development. Therefore, it is possible to develop the heat in the development of its development is very large, but these people do not have a very strong method and experience, so now, now a natural phenomenon in the growth process. It is the speed of your development may be very fast, but the maturity of your development software may be in progress. So, this may be that I observe the current status of the biggest gap now. [2004-12-8 15:21:00] Guest [Moderator]: In the future, you will open the company in China, what kind of developer will be recruited in your company? What kind of position does it do?

[2004-12-8 15:21:00] Guest [Ivar Jacobson]: There may be two aspects of the object I seek. The first is a problem with the comparative basis, and it is necessary to have a strong ability to work in the future of this software, and is intelligent in this area. Second, it is possible to find some people at least two to five years of work, giving them some active training, including the transfer of some resources to China, let these experienced developers lead new people. Active training in some software. These people will be more capable and more confident in six to 12 months, which is our future people. The role I want to play is a bit like a football, such as South Korea's football in the past ten years or a silent team. You know that the five-year South Korea's football has a big growth. Everyone goes to observe, the most important The reason why they grow up is because they have made some effective methods and steps in the past ten years. Including they hired a very experienced coach from Europe. At the same time, they also actively invite all parts of the world, including European players, and teams to South Korea to do games, contest, because of this process, step by step, Let their football will go to the point today. At the same time, I also hope to play the same role and play the role of the coach in the process of software development. At the same time, I will also bring some foreign software to develop experienced people to come in and do a variety of communication. I hope to pass this process. Among them, the development of software has an impact in China. China is too big, I can't directly affect everyone, but I hope that I play a role like the catalyst, because doing such things causing changes in the development and development of software.

[2004-12-8 15:26:00] Guest [Moderator]: Our netizen said that RUP plays what roles in the development process, why should I emphasize it?

[2004-12-8 15:27:00] Guest [Ivar Jacobson]: RUP is important because of software development it is not an art, not to describe the realm of art, but use projects to describe it More appropriate. RUP has an important role here. The software development is not only method, test, programming, these work must be finally seamless, very ordered to continue to integrate, in order to complete the original design before software development And definition. Think about it, such a complex project, you need a very good way to do this arduous job.

[2004-12-8 15:28:00] Guest [Moderator]: Chatting Scene Image: http://www.9cbs.net/subject/ij/

[2004-12-8 15:32:00] Guest [Moderator]: Netizen: I am a teacher teacher. What can I do between UML and RUP? What can China's higher schools? I added this problem, and the people in many industries will reflect. China's students are especially useless from the university, nothing, the students also reflect, from the university can't find a very trouble? [2004-12-8 15:33:00] Guest [Ivar Jacobson]: Be teaching UML and RUP among schools, don't forget some parts of practical applications and practices, don't just use it as a class in professor, actually Application and practice is very important, you can learn from USE CASE, more importantly, the students have actual work, the assignment of this job should make students understand the very complete understanding of software design, the most priority, design , Development, programming, testing, and the completion of the final software, and can not just do this manually, but to cooperate with some automated tools, let the students can know the software project very clearly in the process. What is the original appearance of a life cycle, while learning and experience the environment and status of the software development process in this process. I take our company as an example, new employees must have two weeks to three worship training, training will be assigned to fairly difficult software development work, analyze the program, let them visit the process of software development From this process, I experience the essence of RUP and UML.

[2004-12-8 15:35:00] Guest [Moderator]: On the scene, there are netizens asking questions: How is the factors in the UP defined? Or just as long as this process is done, can anyone? And, how do you view the relationship between software, hardware, and people, who is the relationship between software, hardware and people?

[2004-12-8 15:42:00] Guest [Ivar Jacobson]: The most critical factor in RUP is a human factor. At that time, when developing RUP, or when developing software, it actually considered this factor. Because the most important factor in software development is human factors. Whether it is RUP or other methodology, it is actually a change in the process, that is, the change in software development process. The change in software development process is actually changing people's way of work or software developers' work, so the development of work mode changes, and the change in banking in banks is the same. Therefore, how to adapt to this change, how to make developers feel more comfortable, this change does not cause too much negative impact on him, and is actually a public topic, not just the software on the software. In fact, this topic may already have more than 100,000 years, and human beings may have more than 100,000 years, and there is no exception to any exception. Therefore, the problem is how to apply public things in the software field, because some books are talking about these issues, however, it is easy to accept this change, relatively relaxed to accept this change. The relevant domain contents in these books are applicable to the software or the corresponding mapping is a topic. Guest [Moderator]: How do you see freelancers? Is this freelancer developing only project management, non-accepting or free accepting enterprise management, this freelancer develops? Will you use these freelancers in your company?

[2004-12-8 15:47:00] Guest [Ivar Jacobson]: As a first condition for free practitioners is to excel very well, it is better than the general employees, and he has some and about limitations. Because the most important thing is because as free practitioners, as long as they are their employees, no matter what person will give some appropriate training and investment, if he is turning around at any time, this person is difficult to maintain the relationship between cooperation. . So, if it is a very good person, there is also a constraint in the form of the contract, or can be used. [2004-12-8 15:48:00] Guest [Moderator]: I remember that when I was interviewed for two years, I asked what new technologies in the future, you mentioned the executable UML, now you can What is the development of UML executive?

[2004-12-8 15:50:00] Guest [Ivar Jacobson]: The executable UML does not actually have the development of what I expected. The reason may actually have different standards, from UML to executable UML, because the code to be related to the specific software is related, and in software code, from UML to software code, different manufacturers have different practices, now It seems that there are three ways to quickly transfer from UML to code, including IBM, including Microsoft, and Borland can do. However, in fact these events eventually did not reach consensus, so the executable UML is proposed as a standard, and it is actually still waiting for time. In fact, MDA (the model-driven architecture), this development method and executable UML status are identical, in fact, due to the fact that each family has not reached a consensus, it is actually the development personnel, In the end user, there is no very unified solution. IBM now actually leads and advocates a standard formation. IBM adopts techniques such as UML, and other IBM also actively advocates the development source code, like Eclipse, everything like IBM, is a software field. Very good contribution. However, I actually worry that other vendors in this circle may not go along the IBM route.

[2004-12-8 15:53:00] Guest [Moderator]: Is there a simplified version of RUP, suitable for medium or small projects? How to judge the RUP after the cut, can also reflect the essence of RUP?

[2004-12-8 15:54:00] Guest [Ivar Jacobson]: When using RUP to do cut, there are several places to be a little attention to a variety of different companies. Including the first use case is that you are useful in the use of RUPs. Use the use of an example from demand until the test, use the case to be able to use it, so that the development process is more smooth. Second, it must not be less is iterative development, which can accurately and accurately grasp the original goal of the developed, iterative development is also complementary. Third, it is important to have a very streamlined architecture, when doing design. Software development has a very good and very streamlined architecture that makes you save a lot of resources in future software and expansion.

[2004-12-8 15:55:00] Guest [Moderator]: Please tell us about RUP and UML learning information?

[2004-12-8 15:55:00] Guest [Ivar Jacobson]: There are two suggestions, the first is the book of "unified software development process", in fact, a very complete book for RUP, this writing Very fine and more, it may be very detailed because of the work, but when reading is a good start. In addition, there are many RUP and UML reference materials. If IBM's website, go to the above search, you can find Rational EDGE to find hundreds of thousands of RUP and UML articles, it is a good study. local. [2004-12-8 15:57:00] Guest [Moderator]: How do you view the new "Aosd with use case" book, have not introduced China, because some publishers are considering introducing you This book, please introduce the developer to China?

[2004-12-8 15:59:00] Guest [Ivar Jacobson]: This book is a milestone in a software development process. This book writes it for more than two years. At the same time, why this book is a very worth reference to study because it has been very rich in use in the User Case in so many years, then go back to explore the use of AOP more practical and close to the environment and roles. .

[2004-12-8 16:00:00] Guest [Moderator]: Pan is Chinese by writing this book?

[2004-12-8 16:00:00] Guest [Ivar Jacobson]: Yes, he is Chinese, he is a Singaporean.

[2004-12-8 16:01:00] Guest [Moderator]: Long time multiplexing a module, if it is multiplexing in multiple years, is it a good practice? How much is more appropriate to reuse a granularity of something? Is the small particle size or how much is it right?

[2004-12-8 16:03:00] Guest [Ivar Jacobson]: Talking about the reuse of the software, in fact, understanding the structure of the software is generally hierarchical, for example, the bottom of the most, there is an intermediate layer, The intermediate layer generally has a system layer, and there are still some applications above the system layer, first understanding the software is hierarchical. Second, first of all, you have to do a good software multiplexing, you must have a considerable understanding of your field and knowledge, such as telecommunications industries, banks, financial industries, have a very good understanding of this industry. Software multiplexed granularity, I will give an example, in the face of class or Class's multiplex is very low, and it is not advisable, what is going to be reuse, to reuse a good architecture or framework, reusable subsystem, Reuse components, etc., reused in these granularities is truly meaningful. I have written a book a few years ago on the software reuse. I wrote a little, it is very difficult to reuse it, it is in your organization, how to reuse in the project development, what is the part is Can be reused, can be partially impossible to reuse. The premise of judging is that there is a very good process for your software, and there must be a good architecture analysis and the mastery of the domain knowledge.

[2004-12-8 16:06:00] Guest [Moderator]: "Programmer" interview has a habit, please tell the master to Chinese programmers, the last time you said "Let China's development Hurry to learn RUP, and what would you say this time?

[2004-12-8 16:07:00] Guest [Ivar Jacobson]: Good software comes from smart developers, intelligent developers come from the ability to programmakers, and the ability to programmakers need more experience And the method to support him, there must be better software development experience and methods, be sure to continue to study RUP. [2004-12-8 16:08:00] Guest [Moderator]: Supplement, what else does Chen Ziping communicated with developers?

[2004-12-8 16:09:00] Guest [Chen Ziping]: First thank you all netizens who participate in today's online chat, we have always been in the past for such a very experienced master and staff in the past. In China, communicate with all readings, the most important purpose is not other, it is to make our development environment, our development experience and our development vision is more rich, I am especially grateful here 9CBS and us Let's work together to do so many times, I decided to believe that this matter will continue to continue, bring a more abundant and enriched in China.

[2004-12-8 16:10:00] Guest [Moderator]: Thank you, thank you, I would also like to thank Ivar Jacobson, thank you Mr. Chen Zeping.

[2004-12-8 16:11:00] Guest [Moderator]: Thank you for your active participation today, everyone's enthusiasm far exceeds our expectations, we will hold similar chat activities in the future, hoping to get everyone as always support. For users who want to know Rational Rational, I can go to DW's Rational Topics and www.ibm.com/cn/software/rational, today's chat history, will be on the 9CBS website recently, please pay attention to the 9CBS website! Today's chat is here, thank you for your participation! [2004-12-8 16:16:00]

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

New Post(0)