The popular Unified Modeling Language (UML) is both a language and notation developed by the Object Management Group (OMG) used to design and create specifications for software systems. With the ...recent release of version 2.0 UML, the OMG has started the OMG-Certified UML Professional Program to provide an objective measure of UML knowledge. As a certified UML professional a developer has an important credential to present to employers and clients. Certification also benefits companies looking for skilled UML practitioners by giving them a basis for making hiring and promotion decisions. UML 2 Certification Guide is the only official study guide to passing the new UML exams. This book systematically covers all of the topics covered in the exams, and has been carefully reviewed by the OMG. The book begins by assuming only a basic knowledge of UML and then progresses far enough to allow a reader to pass both the fundamental and the intermediate level exams. Along the way the book also covers topics that are not in introductory books on UML but that are necessary to pass the exams. Tim Weilkiens is considered one of the top ten experts on UML, and both authors have extensive experience training developers to successfully take the exams. * The official certification resource * Assumes a basic knowledge of UML so that you can focus immediately on the exams * Written by two authors known for their skill as trainers, consultants, and developers * Developed systematically to enable you to master all exam topics—without exception * Covers the use of UML for applications, as required by the exams, both inside and outside of the realm of software development * Includes a practice exam, glossary, list of books, and website information
The popular Unified Modeling Language (UML) is both a language and notation developed by the Object Management Group (OMG) used to design and create specifications for software systems. With the ...recent release of version 2.0 UML, the OMG has started the OMG-Certified UML Professional Program to provide an objective measure of UML knowledge. As a certified UML professional a developer has an important credential to present to employers and clients. Certification also benefits companies looking for skilled UML practitioners by giving them a basis for making hiring and promotion decisions. UML 2 Certification Guide is the only official study guide to passing the new UML exams. This book systematically covers all of the topics covered in the exams, and has been carefully reviewed by the OMG. The book begins by assuming only a basic knowledge of UML and then progresses far enough to allow a reader to pass both the fundamental and the intermediate level exams. Along the way the book also covers topics that are not in introductory books on UML but that are necessary to pass the exams. Tim Weilkiens is considered one of the top ten experts on UML, and both authors have extensive experience training developers to successfully take the exams. * The official certification resource * Assumes a basic knowledge of UML so that you can focus immediately on the exams * Written by two authors known for their skill as trainers, consultants, and developers * Developed systematically to enable you to master all exam topics—without exception * Covers the use of UML for applications, as required by the exams, both inside and outside of the realm of software development * Includes a practice exam, glossary, list of books, and website information
Research into software design models in general, and into the UML in particular, focuses on answering the question how design models are used, completely ignoring the question if they are used. There ...is an assumption in the literature that the UML is the de facto standard, and that use of design models has had a profound and substantial effect on how software is designed by virtue of models giving the ability to do model-checking, code generation, or automated test generation. However for this assumption to be true, there has to be significant use of design models in practice by developers.
This paper presents the results of a survey summarizing the answers of 3785 developers answering the simple question on the extent to which design models are used before coding. We relate their use of models with (i) total years of programming experience, (ii) open or closed development, (iii) educational level, (iv) programming language used, and (v) development type.
The answer to our question was that design models are not used very extensively in industry, and where they are used, the use is informal and without tool support, and the notation is often not UML. The use of models decreased with an increase in experience and increased with higher level of qualification. Overall we found that models are used primarily as a communication and collaboration mechanism where there is a need to solve problems and/or get a joint understanding of the overall design in a group. We also conclude that models are seldom updated after initially created and are usually drawn on a whiteboard or on paper.
For a multiple-channel system with sensor measurement losses, if the loss of sensor measurements can be observed by the estimator, the system is called a system with observable measurement losses; ...otherwise, it is called a system with unobservable measurement losses (a UML system). We first obtain the optimal linear estimator (OLE) for multiple-channel UML systems and then establish a necessary and sufficient condition for the stability and convergence of the OLE. We give a tight bound of the estimation performance loss caused by the unobservability of measurement losses. We show that the estimation performance is a monotonically increasing function of the measurement-loss rate and then analytically characterize the relation between the OLE-performance-loss rate and the measurement-loss rate. Finally, numerical examples are provided to show the effectiveness of the proposed OLE, when the measurement-loss status, that is, the private information of measurement losses, cannot be observed.
This book covers all you need to know to model and design software applications from use cases to software architectures in UML and shows how to apply the COMET UML-based modeling and design method ...to real-world problems. The author describes architectural patterns for various architectures, such as broker, discovery, and transaction patterns for service-oriented architectures, and addresses software quality attributes including maintainability, modifiability, testability, traceability, scalability, reusability, performance, availability, and security. Complete case studies illustrate design issues for different software architectures: a banking system for client/server architecture, an online shopping system for service-oriented architecture, an emergency monitoring system for component-based software architecture, and an automated guided vehicle for real-time software architecture. Organized as an introduction followed by several short, self-contained chapters, the book is perfect for senior undergraduate or graduate courses in software engineering and design, and for experienced software engineers wanting a quick reference at each stage of the analysis, design, and development of large-scale software systems.
Many safety–critical systems are subject to safety certification as a way to provide assurance that these systems cannot unduly harm people, property or the environment. Creating the requisite ...evidence for certification can be a challenging task due to the sheer size of the textual standards based on which certification is performed and the amenability of these standards to subjective interpretation.
This paper proposes a novel approach to aid suppliers in creating the evidence necessary for certification according to standards. The approach is based on Model-Driven Engineering (MDE) and addresses the challenges of using certification standards while providing assistance with compliance.
Given a safety standard, a conceptual model is built that provides a succinct and explicit interpretation of the standard. This model is then used to create a UML profile that helps system suppliers in relating the concepts of the safety standard to those of the application domain, in turn enabling the suppliers to demonstrate how their system development artifacts comply with the standard.
We provide a generalizable and tool-supported solution to support the verification of compliance to safety standards. Empirical validation of the work is presented via an industrial case study that shows how the concepts of a sub-sea production control system can be aligned with the evidence requirements of the IEC61508 standard. A subsequent survey examines the perceptions of practitioners about the solution.
The case study indicates that the supplier company where the study was performed found the approach useful in helping them prepare for certification of their software. The survey indicates that practitioners found our approach easy to understand and that they would be willing to adopt it in practice. Since the IEC61508 standard applies to multiple domains, these results suggest wider applicability and usefulness of our work.
Models can be used to ease and manage the development, evolution, and runtime adaptation of a software system. When models are adapted, the resulting models must be rigorously tested. Apart from ...adding new test cases, it is also important to perform regression testing to ensure that the evolution or adaptation did not break existing functionality. Since regression testing is performed with limited resources and under time constraints, regression test selection (RTS) techniques are needed to reduce the cost of regression testing. Applying model-level RTS for model-based evolution and adaptation is more convenient than using code-level RTS because the test selection process happens at the same level of abstraction as that of evolution and adaptation. In earlier work, we proposed a model-based RTS approach called MaRTS to be used with a fine-grained model-based adaptation framework that targets applications implemented in Java. MaRTS uses UML models consisting of class and activity diagrams. It classifies test cases as obsolete, reusable, or retestable based on changes made to UML class and activity diagrams of the system being adapted. However, MaRTS did not take into account the changes made to the inheritance hierarchy in the class diagram and the impact of these changes on the selection of test cases. This paper extends MaRTS to support such changes and demonstrates that the extended approach performs as well as or better than code-based RTS approaches in safely selecting regression test cases. While MaRTS can generally be used during any model-driven development or model-based evolution activity, we have developed it in the context of runtime adaptation. We evaluated the extended MaRTS on a set of applications and compared the results with code-based RTS approaches that also support changes to the inheritance hierarchy. The results showed that the extended MaRTS selected all the test cases relevant to the inheritance hierarchy changes and that the fault detection ability of the selected test cases was never lower than that of the baseline test cases. The extended MaRTS achieved comparable results to a graph-walk code-based RTS approach (DejaVu) and showed a higher reduction in the number of selected test cases when compared with a static analysis code-based RTS approach (ChEOPSJ).
UML in practice Petre, Marian
2013 35th International Conference on Software Engineering (ICSE)
Conference Proceeding
Odprti dostop
UML has been described by some as "the lingua franca of software engineering". Evidence from industry does not necessarily support such endorsements. How exactly is UML being used in industry - if it ...is? This paper presents a corpus of interviews with 50 professional software engineers in 50 companies and identifies 5 patterns of UML use.
Information system development is a complex endeavor, one which is fraught with peril if one do not follow a proven method. The Rational Unified Process (RUP) is one such method which could help to ...organize the development process of any information system. The RUP takes an evolutionary approach to development which has been shown to be far more effective than the traditional approach which is based on simple procedure. Unified Modeling Language (UML) is a RUP graphical language for visualizing, specifying, constructing, and documenting the artifacts of a information system. UML offers a standard way to write a system’s blueprints which is crucial for any information system development. The main goal of the study is to develop electronic patent (e-patent) system by RUP approach and UML standard tools. Afterwards artificial neural networks are applied to predict potential economic growth (GDP) based on science factors including patents. Extreme learning machine (ELM) is used for training process of the networks. Extreme learning machine (ELM) is a class of single-hidden layer feedforward neural network (SLFN). In theory, ELM algorithm tends to provide good generalization performance at extremely fast learning speed. Experimental results show that ELM has very high correlation with current economic dispatch.
•Information system development is a complex endeavor.•To develop electronic patent (e-patent) system.•Artificial neural networks are applied to predict potential economic growth (GDP).•Experimental results show very high correlation with current economic dispatch.