Professional C++Pub Date : 2021-02-13DOI: 10.1007/978-1-4302-4354-0_21
Dan Mabbutt, A. Freeman, M. MacDonald
{"title":"Handling Errors","authors":"Dan Mabbutt, A. Freeman, M. MacDonald","doi":"10.1007/978-1-4302-4354-0_21","DOIUrl":"https://doi.org/10.1007/978-1-4302-4354-0_21","url":null,"abstract":"","PeriodicalId":415238,"journal":{"name":"Professional C++","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-02-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130598731","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Professional C++Pub Date : 2021-02-13DOI: 10.1002/9781119695547.ch25
{"title":"Customizing and Extending the Standard Library","authors":"","doi":"10.1002/9781119695547.ch25","DOIUrl":"https://doi.org/10.1002/9781119695547.ch25","url":null,"abstract":"","PeriodicalId":415238,"journal":{"name":"Professional C++","volume":"96 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-02-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121940729","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Professional C++Pub Date : 2021-02-13DOI: 10.1002/9781119695547.app4
Sh Anvar
{"title":"Introduction to UML","authors":"Sh Anvar","doi":"10.1002/9781119695547.app4","DOIUrl":"https://doi.org/10.1002/9781119695547.app4","url":null,"abstract":"1 Introduction to UML Systems being developed now are more complex than ever, and old software development methods simply do not efficiently scale up to the size of current systems. New paradigms are needed to keep up. Engineers in other disciplines have long used blueprints and models to design and construct complex systems. They are concise, precise and allow the viewer to understand at a glance what is going on. They also contain an enormous amount of information. The standards used for blueprinting buildings are the same, a door or window is always rendered the same way. In the past, this was not the case with software blueprints. Notational lanugages were language and method specific, so that a class in one language could look completely different in a different notation. Not so anymore. The Unified Modeling Language (UML) is a standard widely-adopted graphical language that describes the artifacts of software systems with a focus on conceptual and physical representations. It provides a good bird's eye view as well as the minute details of the structural and behavioral aspects of a single system through the various views offered by UML. It is proprietary and language-independent so that it may be used in any number of development environments. The Object Management Group (OMG) is the body responsible for creating and maintaining the language specifications. They define UML as, \" a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system \". It is based on the UML Metamodel, which is a UML class diagram that specifies the syntactic and semantic charactersitics of elements and relationships. Current modeling trends involve models that can be translated into compilable and runable code. This is known as Model Driven Architecture (MDA) and is also being regulated by the OMG. As UML is the most widely-used modeling language, it is very closely linked with MDA. The relationship between the code and the model is not one-way. Forward engineering takes the model and generates source code from it. Reverse engineering takes the source code and creates a model. Code can be coupled with models so that modifying one automatically updates the other in a process known as roundtrip engineering, effectively keeping the model and source code synchronized. Tight integration of the code and the model results in the best of both worlds – direct access to the code with all of the benefits of …","PeriodicalId":415238,"journal":{"name":"Professional C++","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-02-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133219579","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}