Does anyone use component development (UML components from Cheesman and Daniels)?

Components UML is a development method based on the components of Cheesman and Daniels (2001), which is described in the same named book .

My university has a UML component development module, exclusively from the aforementioned book. I studied well enough, but I can’t find anyone in the industry using it.

Are UML components just one specific method that has been chosen for educational purposes as a good example of component-based development? There are, of course, more universities teaching this, i.e. University of Helsinki


UML Components

After doing research on my own initiative, I found that there is something called CBD CAB (~ 1999). A component development client advisory board no longer exists. It had 80 worldwide member organizations, and the goal was component-based best practice.

Cheesman's prediction that the OMG could accept his method in the future has not been fulfilled. OMG adopted SysML , which arose in January 2001. Cheesman worked on component development at Sterling Software, which was acquired by CA in 2000. - Authorized several publications about CBD , and now he is at Strata Software .

Other CBD Methods

Catalysis (Desmond DSouza and Alan Cameron Wills, 1999), KobrA (Atkinson 2001), Fusion (Coleman 1993), OPEN process (Graham, Henderson-Sellers and Younessi, 1997), Factory business component (Herzum and Sims 2000), RUP (Jacobson 1999), etc.

Resources

Wikipedia mentions Catalysis II , built around Catalysis, UML Components, and other methods. There is also one relatively modern one, known as rCOS (2005), followed by a publication in the field of component-based software development (2006), wikipedia resources, and even the CBSE International Conference (2012) from ACM's Special Interest Group on Software Development.

Current situation

With the help of the book ( Component-Based Software Development: Kung Kiu Lau Case Studies ), this started to make sense.

There are indeed a large number of different components on the market for all modern languages. In the end, a new one can be designed and reused.

Possible answer

Therefore, CBD / CBSE are successfully used in the industry; however, it is somewhat confusing to begin to study the problems of UML components by Chisman and Daniels. In conclusion, modern approaches and methodologies for identifying components are described in international symposia on the development of component-based components, one of which is the 12th CBSE International Symposium (2009) . Open it to find what is available today.

Note. I deliberately did not answer my question with an answer button so that it opens for suggestions. If you have experience with CBD, send it as an answer

+6
source share
3 answers

I read this book and found it very useful in the industry, despite the fact that for 13 years I have never found anyone reading a book literally.

For my practical experience: seven years ago I was in a startup, and we needed to create an Unstructured Information Management server. We used a component-based approach to extract system components from use cases and quality attributes, mix the rules and principles for building, aggregating and defining Kobra components using the Design for UML CBD Definition Contract , which consists of deriving interfaces from use cases and activity / sequence diagrams.

Then we did some benchmarking and splash to see what we can find as open source components and what we need to build. We harmonized the interfaces we described at the component level with those found in open source components. For example, we needed the Named-Entity Recognition engine . We got the interfaces from our use cases and activity diagrams, explored some of the open source components, and finally decided on GATE's Annie . We also chose this because GATE internally uses a component approach for various parts of the NLP engine.

In a few words, it was awesome because we could divide and conquer the system. Some parts were developed by us, others can be reused from open source systems. If you use a component approach, there is no difference between “buying” and manufacturing in the Zachman Framework technology model.

Thus, the advantage of the approach for us was to have an objective idea of ​​what we should do and what we can build. After a few weeks, we had a working prototype and it could return to our interested parties.

Ideally, you never stop using it or find some other CBD method that works better

I think I never started using it literally, but I never stopped using this principle. Just because you use books in the industry, because a pianist uses books during a concert. Books teach principles and knowledge, not practices and competencies. You can read awesome books about playing the piano, but if you do not practice, you will never become a pianist; however, if you practice and do not read the book, you probably will not be as good as you could be.

In a few words: I think the class is worth it.

+2
source

I have never heard of this.

In practice, UML is only (1) a free communication method, where no one cares that it is “formal”; or (2) a way for large consultants to pretend that they are doing useful work.

Likewise, the 90s was a time when people talked a lot about “Components” (pay attention to capital), and basically none of this came to mind. There has been widespread open source projects and a much wider dissemination of knowledge and discussions of architecture.

So, I strongly doubt that what you learn in this module will have practical application or impress anyone.

Update: I would add that it is somewhat misleading to think of “component design” as some kind of specialized activity. All modern developments (with the exception of some embedded applications) use a significant number of libraries, and almost all "business" or application software will use elements that can really be described as components.

+4
source

Universities, as a rule, teach all kinds of things, which in practice are a very bad idea and often lag behind industrial practices by ten years (and industry, as a rule, ignores universities and does not select scientific results). Real reuse is done at the library level, not in the component. Or by copying all applications and then changing them. It seems that the overhead in describing and analyzing the properties of the components is too high, so the reuse grit should be higher.

The latest CBSE conference does not seem to have any industry experience papers.

0
source

Source: https://habr.com/ru/post/907500/


All Articles