{"title":"Rational Unified Process and Unified Modeling Language - A GOMS Analysis","authors":"K. Siau","doi":"10.4018/978-1-930708-05-1.CH007","DOIUrl":"https://doi.org/10.4018/978-1-930708-05-1.CH007","url":null,"abstract":"GOMS is a model that analyzes knowledge of how to do a task in terms of Goals, Operators, Methods and Selection rules. GOMS is one of the most popular theoretical models in the field of human-computer interaction. Since its introduction, the GOMS model has been extended, enhanced and applied to areas outside human-computer interaction. The goal of this chapter is to discuss the use of the GOMS model for the design and evaluation of modeling techniques. In this chapter, we introduce the GOMS concepts, discuss the applicability of GOMS for modeling and describe how GOMS can be used to analyze Rational Unified Process and Unified Modeling Language.","PeriodicalId":255100,"journal":{"name":"Unified Modeling Language: Systems Analysis, Design and Development Issues","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130803941","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}
{"title":"Temporal OCL Meeting Specification Demands for Business Components","authors":"Stefan Conrad, K. Turowski","doi":"10.4018/978-1-930708-05-1.CH010","DOIUrl":"https://doi.org/10.4018/978-1-930708-05-1.CH010","url":null,"abstract":"INTRODUCTION Compositional plug-and-play-like reuse of black box components requires sophisticated techniques to specify components, especially if we combine third-party components, which are traded on component markets, to customer-individual business application systems. As in established engineering disciplines like mechanical engineering or electrical engineering, we need a formal documentation of business components that becomes part of contractual agreements. Taking this problem as a starting point, we explain the general layered structure of software contracts for business components and show shortcomings of common specification approaches. Furthermore, we introduce a formal notation for the specification of business components that extends the Object Constraint Language (OCL) and that allows a broader use of the Unified Modeling Language (UML) with respect to the layered structure of software contracts for business components. The remainder of the chapter is as follows. After providing background information in the next section, we discuss the necessity of a multi-level notation standard. Thereafter, we explain how the OCL can be used to specify business components. Taking this as a basis, we proceed to the main thrust of our chapter the temporal extension of OCL. Finally, we present our conclusions and give an outlook.","PeriodicalId":255100,"journal":{"name":"Unified Modeling Language: Systems Analysis, Design and Development Issues","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115089509","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}
{"title":"Data Modeling And UML","authors":"Devang Shah, S. Slaughter","doi":"10.4018/978-1-930708-05-1.CH003","DOIUrl":"https://doi.org/10.4018/978-1-930708-05-1.CH003","url":null,"abstract":"Over the past two decades, the Entity-Relationship (ER) method has become the most popular and widely used method for conceptual database design. On the other hand, the Unified Modeling Language (UML) is widely used in the objectoriented analysis and design world. Despite the dominance of object-oriented techniques during the software development design and development phase, object-oriented databases are still not in widespread use. Software designers and developers often turn to the relational databases to make their application objects persistent. This adds one more task in the ‘to-do’ list of the designer: to map objects into entities. Considering the fundamental differences between the two methods, this task could be a non-trivial task. The purpose of this chapter is to describe a process that can be used to map a class diagram into an ER diagram, and to discuss the potential of using the UML notation to draw the ER diagrams. An example of an actual systems design is used throughout to illustrate the mapping process, the associated problems encountered and how they could be resolved. INTRODUCTION The Entity–Relationship (ER) model is the most widely used data model for the conceptual design of databases. It focuses solely on data, representing a “data network” that exists for a given system. It has emerged as the leading formal structure for conceptual data representation, becoming an industry standard. The ER model is based on only a few modeling concepts and has a very effective graphic representation in which each element of the model is mapped to a distinct graphic symbol (Batini, Ceri & Navathe, 1992). In the past few years, the Unified Modeling Language (UML) has emerged as a prominent modeling language in the object-oriented analysis and design world (see Booch, Rumbaugh & Jacobson, 1999; Rumbaugh, Jacobson & Booch, 1999). The Class Diagram is an important part of the UML, and it captures the static view of the system. The class diagram models classes in the real world and specifies the relationships between them. The underlying concept of class diagrams may seem to be similar to that of ER diagrams; 44 Shah and Slaughter however, there are a few fundamental differences between the two modeling languages. Usually, the ER model is used with the method (Structured System Analysis and Design) which is primarily process centric (see Pressman, 1997). On the other hand, object modeling is a part of the method (Object-Oriented Analysis and Design) which is primarily function/ data centric (see Bahrami, 1999; Dewitz, 1995). Having said that, if we ignore the method/ operation property of objects, we can say that object modeling in concept is very similar to data modeling. As Rumbaugh et al. (1991) have observed, the Object Modeling Technique (OMT) is an enhanced form of ER that includes some new concepts (such as qualification). UML is an enhanced form of OMT and thus an enhanced form of the ER model1 (Ou, 1997). Although object-oriented meth","PeriodicalId":255100,"journal":{"name":"Unified Modeling Language: Systems Analysis, Design and Development Issues","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121435209","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}
{"title":"Seamless Formalizing the UML Semantics through Metamodels","authors":"J. Alemán, J. Álvarez","doi":"10.4018/978-1-930708-05-1.CH014","DOIUrl":"https://doi.org/10.4018/978-1-930708-05-1.CH014","url":null,"abstract":"Despite the fact that the Unified Modeling Language (UML) has been adopted by the Object Management Group (OMG2 ) as the standard notation for use in Object-Oriented (OO) Systems Development, it still does not have a truly formal semantics. There is currently much effort directed towards formalizing particular aspects or models of UML. However, the literature gives little insight into the appropriate strategy for tackling this problem within an integrated basis including the language evolution. This chapter identifies and discusses three feasible strategies which can be applied to formalize UML. One of these strategies is selected to underpin the four-layer architecture on which UML is based. The approach is based on the soundness of algebraic specification theory, which, in addition, provides suitable theorem-proving capabilities for exploiting the UML formal model obtained. The formal models proposed are specified using an executable algebraic specification language called Maude.","PeriodicalId":255100,"journal":{"name":"Unified Modeling Language: Systems Analysis, Design and Development Issues","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134020770","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}
{"title":"A Systematic Approach to Transform UML Static Models to Object-Oriented Code","authors":"L. Favre, S. Clerici","doi":"10.4018/978-1-930708-05-1.CH002","DOIUrl":"https://doi.org/10.4018/978-1-930708-05-1.CH002","url":null,"abstract":"Formal and semi-formal techniques can play complementary roles in objectoriented software development. The purpose of this chapter is to present a reusebased rigorous method to forward engineering UML static models. This approach is based on the integration of semi-formal notations in UML with the algebraic style. The main contributions of this chapter are the definition of the GSBLoo algebraic language to cope with concepts of the UML models, the definition of the SpReIm model for the description of the structure of reusable components and the definition of a rigorous process with reuse that assists in the transformation of UML class diagrams to object-oriented code. Eiffel was the language of choice in which to demonstrate the feasibility of our approach. INTRODUCTION The Unified Modeling Language, UML, is rapidly becoming a de-facto standard for modeling software systems (OMG, 1999). It is a set of graphical and textual notations for specifying, visualizing and documenting object-oriented systems. An important feature of UML is that it is a modeling language, not a method, and therefore it does not prescribe any particular development process. UML is not a visual programming language, but its models can be directly connected to a variety of object-oriented programming languages through forward engineering processes. These processes transform UML models into code through a mapping to an implementation language (Booch, Rumbaugh & Jacobson, 1999). 22 Favre and Clerici UML is too imprecise and ambiguous when it comes to simulation, verification, validation and forecasting of system properties and even when it comes to generating implementations from specifications. Another problem is that models written in UML are semantically richer than any other current object programming language. For example, an object-oriented language does not possess an explicit syntax to express UML associations. These can be simulated by pointers and references, but then the structure of the system is not apparent. This often leads to problems during forward/reverse engineering between the specification and code. A variety of advantages have been attributed to the use of formal software specification to solve these problems. It is commonly accepted that a formal specification can reveal gaps, ambiguities and inconsistencies. Furthermore, a precise semantics provides the basis for automated forward engineering and reverse engineering (the process of transforming code into a model through a mapping from a specific implementation language). However, semi-formal approaches still dominate even in areas where formal approaches should provide a competitive advantage. The success of graphical modeling techniques is due to several reasons. On the one hand, they provide a set of graphical and textual descriptions that are easily understandable for both system developers and expert users. In general, there are also good tools to support them. On the other hand, formal methods provi","PeriodicalId":255100,"journal":{"name":"Unified Modeling Language: Systems Analysis, Design and Development Issues","volume":"171 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117295811","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}