A Comparative Analysis of Use Case Relationships

Size: px
Start display at page:

Download "A Comparative Analysis of Use Case Relationships"

Transcription

1 A Comparative Analysis of Use Case Relationships Margaret Hilsbos, Il-Yeol Song, and Yoo Myung Choi College of Information Science and Technology, Drexel University, Philadelphia, PA {mhilsbos, song, Abstract. Use case relationships are used to manage the complexity of use cases. The UML defines the three types of use case relationships: include, extend, and generalization. The appropriate use of the use case relationships, however, is one of the most contentious areas. We found that the suggestions of various authors overlap but conflict, leaving room for dissension. In this paper, we present a comparative analysis of the use case relationships discussed in eleven literatures, including the UML 2.0 specification. For a coherent approach for applying use case relationships, we present three rules derived from the review of the literatures and our own experience and illustrates the rules with examples. Our rules are based on the analysis of preconditions, postconditions of use cases, and characteristics of the behaviors being separated. 1 Introduction Use Cases are a fundamental starting point of object oriented analysis and design. The Unified Modeling Language (UML) through release 1.5 has not defined all aspects of use case modeling explicitly, and does not provide a method for determining the correct modeling techniques for a given situation. Several authors have discussed various approaches; some different authors approaches conflict with each other. The release of UML 2.0 clarifies some of the rules, but still leaves gaps. Ambiguity and misuse of use cases and use case relationships have been cautioned against by many authors [9, 10, 11, 14, 16, 21, 22]. In this paper, we analyze the application of use case relationships. Use case relationships are used to manage the complexity of use cases. The UML defines the three types of use case relationships: include, extend, and generalization [20]. The appropriate use of the use case relationships, however, is one of the most contentious areas in a use case modeling. Metz et al. [17] review various meanings of alternative courses discussed by several authors and summarize three different meanings of them alternative history, use case exceptions, and alternative part. To our knowledge, however, there has been no comparative study on use case relationships by different views of various experts and literature. In this paper, we present a comparative analysis of the use case relationships discussed in eleven literatures, including the UML 2.0 specification. We present the agreed usages and different view points of the use case relationships. Several points of contention are identified and a logical resolution is argued for each. Finally, we propose three rules for applying use case relationships and illustrate them with examples. J. Akoka et al. (Eds.): ER Workshops 2005, LNCS 3770, pp , Springer-Verlag Berlin Heidelberg 2005

2 54 M. Hilsbos, I.-Y. Song, and Y.M. Choi The rest of this paper is organized as follows: Section 2 provides an extensive literature review in term of usages of use case relationships. Section 3 presents three recommended rules of using the use case relationship for a coherent approach. Section 4 concludes our paper. 2 Comparative Review There are three types of relationships used in use case models: include, extend, and generalization. The include and extend relationships are represented as a stereotype dependency and are enclosed in guillemets as: extend, include. Use case relationships enter the modeling process after an initial set of use cases have been determined and at least high-level descriptions have been written. The following general purposes have been suggested for applying relationships to the use case model: 1. factor out reused behavior to remove redundancy [1, 175; 3, 169; 2; 8, 161; 13, 111; 15, 388] 2. factor out requirements that can be implemented at a later time [3, 165; 5, 260; 6, 237; 8, 169] 3. separate functionality to reduce the scope of an initial use case to a more manageable size [1, 206; 6, 110; 15, 388; 19] 2.1 Include The following rules are generally agreed upon by the authors surveyed: The base use case calls the included use case, like a subroutine. After execution of the included use case, control returns to the base use case at the point just after the inclusion was called. An included use case must contain only one insertion segment. The entire included use case is executed when it is called. An included use case may be called by multiple other base use cases; that is the original intention of include. Using include for Behavior Common to More Than One Use Case. The UML 2 specification states that the include relationship is intended to be used when there are common parts of the behavior of two or more use cases [18, 518]. Most of the surveyed authors noted common behavior as a major reason for using include [1; 3; 4; 5; 8; 12; 13; 15; 20; 24]. Chonoles and Schardt suggest particularly looking for an opportunity to factor out common behavior when several use cases interact with the same external system as a secondary actor. It is very probable in this situation that the interaction with the external system should be common; factoring it out as an included use case helps prevent inconsistency [8, 163]. Using include for Optional or Alternative Paths. The UML 2.0 specification states Note that the included use case is not optional, and is always required for the including use case to execute correctly [18, 518]. But several authors propose that

3 A Comparative Analysis of Use Case Relationships 55 include may be used for conditional behavior. Armour and Miller note that no conditional guard is associated with the included use case at its inclusion point but this does not preclude the including use case from containing conditional logic that might result in the included behaviors not executing during a particular instance of execution [3, 169]. Bittner and Spence do not discuss the point, but their example for «include» is conditional: If the customer is a new customer, include use case Add Customer Information [5, 257]. Cockburn implies support for using include for conditional behavior, by restricting the use of extend to cases where the base use case is locked, or there are very many asynchronous extensions. He argues that include is much easier for most people to understand and use than extend or generalization, and should therefore be preferred [6, 116, 207]. Larman references Cockburn s statement and uses examples of include which are conditional [15]. Using include to Handle Asynchronous Actions. Larman suggests using «include» to handle asynchronous events, instead of using «extend» as others suggest [15, 387]. An asynchronous action is one that can be called at any, or almost any, point in the base use case. Using include to Decompose Overly Complex Use Cases. The UML 2.0 specification notes The Include relationship allows hierarchical composition of use cases as well as reuse of use cases [18, 518]. Larman also suggests using include to decompose an overwhelmingly long use case into subunits to improve comprehension [15, 387]. Kulak and Guiney show examples of include used to decompose business processes, but their examples are not functional decomposition of use cases [13, 172, 256]. Other authors also use include to decompose a complex use case [24, 215; 20, 80]. The logic of an Include use case, however, should be complex enough to deserve a separate use case documentation [23]. 2.2 Extend Regarding the extend relationship, the following rules are generally agreed by the authors surveyed: The base use case must be able to stand alone it can execute completely and successfully without executing the extending use case. An extending use case cannot stand alone it is never directly initiated by an actor, and depends on the base use case (i.e., it is always abstract). An extending use case may contain multiple insertion segments; an extension point must be defined for each segment. For each insertion segment, control must exit from and return to the base use case at the same point, the extension point. An extending use case may be re-used; it may extend more than one base use case. In this case, the base use cases establish the pre-conditions for the extending use case. If two use cases share an extension, then at the extension point for each base use case, the system conditions must satisfy the same precondition. In the following subsections, we review reasons for using extend proposed by various authors.

4 56 M. Hilsbos, I.-Y. Song, and Y.M. Choi Using extend for a Complex Alternative Course of Action. Adolph and Bramble suggest using extend when an alternative course of action interrupts a number of steps in a scenario. They use the example Book Flight for Frequent Flier as an extension of the use case Book Flight [1, ]. See Figure 1 for the depiction of this example in the use case diagram. Fig. 1. An example of a complex alternative course of action The extending use case Book Flight for Frequent Flier is said to have multiple insertion segments because the base use case is interrupted several times within one alternative scenario. The use of one extending use case to handle multiple insertion segments which occur at different points in the base use case is supported by several other authors [3; 4; 20]. UML 2.0 supports using extend when there are multiple insertion segments (behavior fragments) in the extending use case [18, 515]. Using extend for Optional Behavior or Exceptional Behavior. Using extend for optional behavior or exceptional behavior is supported by most of the reviewed authors [1, 195; 3, 153; 4, 87; 5, 259; 7; 12, 130; 13, 44; 24, 53]. Armour and Miller caution that the extension must always return control to the base use case at the extension point; therefore it is not appropriate to use extend for exception or error handling that does not return control to the base use case, or does not return control at the step immediately following the extension point. Using extend for Asynchronous Options. Constantine and Lockwood [7] and Cockburn [6, 237] discuss the use of extend to indicate the availability of asynchronous options. Cockburn uses the example of spell-check in a word processor. Constantine and Lockwood unfortunately give the example of resetting a test, which seems inappropriate for an extend because it seems to violate the rule that control must return to the base use case at the step immediately following the point of interruption by the extension. Using extend to Add Behavior After the Base Use Case Is Locked. A few authors emphasize the value of extend for adding behavior to a base use case when its documentation is locked [4; 5; 6; 8; 15]. The argument for this is that the base use case doesn t need to know about the extension so therefore the extension can be added without updating the base use case documentation. Chonoles and Schardt note that in practice, this can result in confusing documentation, particularly if several releases have resulted in multiple nested extensions to the same base use case [8, 170]. Using extend to Separate Behavior to be Deferred in Development. Armour and Miller suggest using extend to separate behaviors that can be developed later

5 A Comparative Analysis of Use Case Relationships 57 from a base use case. They suggest this separation enables setting a lower priority for the extending use case than the base use case [3, 165]. Cockburn implies a similar approach [6, 237]. Extension Points. Some authors suggest that it can be desirable to depict extension points on the use case diagram [1, 188; 3, 163; 5, 265; 24, 55]. It can be anticipated that adding extension point information could clutter the diagram, as Cockburn suggests [6, 238]. Extension point information displayed in the use case diagram is removed from the context of the use case steps, so it is unclear what added value there is in showing it on the diagram. 2.3 Generalization Use case generalization is fairly straightforward and there is general agreement among authors as to its usage. The reviewed authors suggest using use case generalization in the following situations: variations on a similar goal [3, 175; 4, 82] when different technologies are used to achieve a goal [5, 267; 8, 166; 24, 58; 19; 20, 675] when different actors achieve similar goals, or the same goal by different means [6, 241; 8, 166] However, we note that use case generalizations can be restated using either extend or include relationships. Some authors recommend that generalization not be used as they can create confusion. [6, 12, 13, 15,]. Cockburn also discusses the hazards of using use case generalization. [6, 240] 3 Synthesis: A Coherent Approach to Use Case Relationships The above review could be characterized as a list of differences. The lack of agreement among experts on so many points regarding use case relationships seems to ensure that there dwill be costly disagreements in the field. To avoid such disagreements, it would be helpful to have a coherent and dependable model for assigning use case relationships. The characteristics desired of such a model are that: The rules are unambiguous. The rules are easy to understand. The rules are simple to use. These rules are difficult to achieve from a reading of the reviewed authors. Generally the applications proposed by the reviewed authors are understandable, and sometimes simple to apply. The problem is that when taken together, the suggestions of various authors overlap but conflict, leaving room for dissension. From our review we suggest to limit application of the reviewed authors suggestions by the following guiding principles: 1. Minimize interleaving [19] 2. Conform to the UML specification to the extent possible. Standards are created for the purpose of establishing a common language. Creating individual

6 58 M. Hilsbos, I.-Y. Song, and Y.M. Choi dialects reduces portability and increases the learning curve for new team members. 3. The use case diagram is not a process flow. Do not use relationships for behavior that can stand alone with the proper specification of preconditions and postconditions (Example: Log In is not included, it establishes the precondition for other use cases) 4. Do not create a too small fragment of operations as an inclusion use case [23]. To further improve on this situation, we propose the three sets of rules for applying use case relationships. The first looks at using pre- and post-conditions to segregate terminal and initial behavior, respectively. The second determines the correct relationship based on general features of the behaviors being separated. The third evaluates relationships based on the assignment of postconditions. The rule sets operate from different perspectives and may be applied in tandem. 3.1 Rule Set 1: Avoid Relationship Overuse by Understanding Pre- and Postconditions An included use case should probably not be called at the very beginning or very end of a use case flow. Encapsulatable behavior at the beginning of a use case should be separated as a stand-alone use case. The postcondition of this use case becomes a precondition for the original use case. An example of this is the Log In use case for many applications. If Log In is treated as an included use case, the number of «include» arrows on the diagram could overwhelm and obscure other content. Likewise, if behavior at the end of a use case seems to be a candidate for «include», consider whether the behavior can be treated as a stand-alone use case, with its precondition being the adjusted postconditions of the original use case (the postconditions of the original are adjusted to eliminate any set by the new use case). For example, one might be inclined to include Process Payment with use cases Process Sale and Process Rental. Instead, Process Payment should, in most cases, be factored into a standalone use case. It is at the end of the sale or rental process, and usually contains sufficient complexity to warrant a separate use case. In the case that there are other processes after payment before the customer can leave the store, or exit the web transaction as the case may be, those processes similarly stand alone. Examples might be: Disable Security Tag ; Send Confirmation . The precondition for Process Payment and the postcondition for Record Order become, an order is prepared for payment. Note the matching of the postcondition of one use case to the precondition of another. 3.2 Rule Set 2: Characteristics of the Behaviors Use include when the behavior fragment is required for at least one alternative described by the base use case, to fulfill the postconditions of the base use case AND is referred to more than once (multiple use cases, multiple times within the same use case, and/or is stand-alone as well as referred to from a use case).

7 A Comparative Analysis of Use Case Relationships 59 Example: In some applications, there is a need to process coupons or discounts. Some of these (such as a manufacturer s coupon) are validated and rung as part of the order, before arriving at the total for payment. Then (for some applications) there are special discounts that apply only when, for example, a certain payment method is used. Particularly in the payment-specific case, it is difficult to factor out the processing of the discount as a standalone use case, because the discount must be returned and a new total calculated before Process Payment can complete. So in this circumstance, the use of include may make the most sense. It should be noted that, absent the requirement for applying promotions during payment processing, Process Promotion could possibly be factored out as standalone, by adjusting the postcondition of Record Order to match the precondition of Process Promotion : order is complete and ready to apply discounts. The use case is shown in Figure 2. Use extend when the behavior fragment is never required for successful completion of the base use case, and has its own postconditions AND needs to be separated from the base use case to improve clarity AND cannot be modeled as a stand-alone use case without overly fragmenting the base use case Example: In a sales application where a customer may order several different items (e.g., an online bookstore), an item may not be in stock. If the order is to be processed anyway, the backordered item entails some additional processing before completing the order. This situation may be best modeled using an extending use case, as shown in Figure 2. Fig. 2. Example of Rule Set 2 Use generalization when the behavior fragment represents an alternative, similar use case. [differences may include initiating Actor and/or postconditions] AND

8 60 M. Hilsbos, I.-Y. Song, and Y.M. Choi the common behavior of the similar use cases cannot be simply factored out as an include OR the project team prefers to see the commonality of the use cases indicated (i.e. the relative similarity of the use cases determines whether you just include common behavior, or show the use cases as specializations of the same general process). For example, in the Process Payment use case (Figure 2), there are several types of payment methods. It would not be simple or straightforward to use include for the common behavior, and it seems quite natural to use generalization in this case the phrase different means of achieving the same goal is a tip that generalization probably applies. 3.3 Rule Set 3: The Postcondition Perspective The following rules may be used to establish the appropriate segregation of behavior into use cases. Postconditions of alternatives deciding whether to use relationships or unrelated use cases. If an alternative scenario of a use case results in different postconditions, a separate use case is required, which may be unrelated, or related through extension or generalization (not inclusion). If an alternative is just another path to get to the same set of postconditions, a separate use case is not required and probably should not be used. Effects of relationships on postconditions:-deciding which relationships to use A includes B. The postconditions of B are necessary to fulfill the postconditions of A, for at least one alternative. For at least one scenario of A, the postconditions of A are only fulfilled if B is executed properly. B has its own postconditions, but they may be overridden by actions performed in A after the inclusion. The postconditions of A include those of B. B extends A. The postconditions of A are fulfilled whether or not B is executed. B has its own postconditions. Therefore, B and A have different postconditions. B and C specialize A. B and C must each fulfill all postconditions specified in A. B and C each may specify additional postconditions, and must specify postconditions if none are specified by A. The set of postconditions which must be fulfilled is Ap + Bp when B is executed, Ap + Cp when C is executed. Here, Ap, Bp, and Cp represent the postconditions of A, B, and C, respectively. 4 Conclusion We have reviewed and summarized use case literatures regarding the application of use case relationships. We have noted areas of agreement and difference. We then discussed arguments made for resolution of differences. As a coherent approach for correctly applying to use case relationships, we have also proposed three rules derived from the review of the literatures and our own experience. Our rules are based on the

9 A Comparative Analysis of Use Case Relationships 61 analysis of preconditions, postconditions of use cases, and general features of the behaviors being separated. From this analysis we conclude that practitioners should be aware of the nuances of appropriate application of each use case relationship, apply the relationships sparingly, and, when in doubt, develop several alternative models for complex problems. There may be more than one correct model to a given problem; the best solution is any solution that works and can be agreed to by the project team and stakeholders. References 1. Adolph, S. and Bramble, P. (2003). Patterns for Effective Use Cases. Addison-Wesley. 2. Ambler, S. W. (2002). Reuse in Use-Case Models: <<extend>>, <<include>>, and Inheritance (Chapter 6 of the book The Object Primer 2/e.) Retrieved 9/2/2003 from 3. Armour, F. and Miller, G. (2001). Advanced Use Case Modeling: Software Systems. Addison-Wesley. 4. Arlow, J. and Neustadt, I. (2002). UML and the Unified Process: Practical Object- Oriented Analysis and Design. Addison-Wesley. 5. Bittner, K. and Spence, I. (2003). Use Case Modeling. Addison-Wesley. 6. Cockburn, A. (2001). Writing Effective Use Cases. Addison-Wesley. 7. Constantine, L., and Lockwood, L. (2001). Structure and Style in Use Cases for User Interface Design, in van Harmelen, M., ed. Object Modeling and User Interface Design. Addison-Wesley. 8. Chonoles, M. J.; Schardt, J.A. (2003). UML 2 for Dummies. Wiley. 9. Firesmtih, D. (2005). Open Process Framework. index.html?components/workproducts/modelset/usecasemodel/usecasemodelingguideli nes.html~contents. 10. Genova, G., Llorens, J. and Metz, P. (2005). Open Issues in Industrial Use Case Modeling, UML 2004 Satellite Activities, LNCS 3297, Genova, G., Llorens, J. and Quintana, V. (2002). Digging into Use Case Relationships, Proc. of UML 2002, Gomaa, H. (2000). Designing Concurrent, Distributed, and Real-Time Applications with UML. Addison-Wesley. 13. Kulak, D. and Guiney, E. (2000). Use Cases: Requirements in Context. Addison-Wesley. 14. Korson, T. (1998). The Misuse of Use Cases, Object Magazine, 8(3), SIGS Publications, 1998, Larman, C. (2002) Applyng UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process. Prentice Hall PTR. 16. Lilly, S. Use Case Pitfalls: Top 10 Problems from Real Projects, in the Proceedings of TOOLS, USA Metz, P., O Brien, J., and Weber, W. (2003). "Specifying Use Case Interaction: Types of Alternative Courses", Journal of Object Technology, Vol. 2, No.2, 2003, Object Management Group. (August 2003). UML 2.0 Superstructure Final Adopted specification. Retrieved 9/12/2003, Rawsthorne, D. CapturedAbstraction A Pattern for Applying UML Generalization, in Adolph, S. et al. (2003). Patterns for Effective Use Cases, Addison-Wesley. 20. Rumbaugh, J., Jacobson, I., and Booch, G. (2005). The Unified Modeling Language Reference Manual. Addison Wesley.

10 62 M. Hilsbos, I.-Y. Song, and Y.M. Choi 21. Simons, A J H. and Graham, I. "30 Things that go wrong in object modelling with UML 1.3", chapter 17 in: Behavioral Specifications of Businesses and Systems eds. H Kilov, B Rumpe, I Simmonds (Kluwer Academic Publishers, 1999), Simons, A. J H. "Use cases considered harmful", Proc. 29th Conf. Tech. Obj.-Oriented Prog. Lang. and Sys., (IEEE TOOLS-29 Europe), Song, I.-Y. (2004). Object-Oriented Analysis & Design Using UML: A Practical Approach. Pearson Custom Publishing. 24. Schneider, G. and Winters, J. P. (2001). Applying Use Cases. 2 nd ed. Addison-Wesley.

Modeling Alternative Courses in Detailed Use Cases

Modeling Alternative Courses in Detailed Use Cases Modeling Alternative Courses in Detailed Use Cases David Gelperin LiveSpecs Software dave@livespecs.com Abstract Real-life interactions between systems and users entail decisions and alternative courses

More information

Modeling Crisis Management System With the Restricted Use Case Modeling Approach

Modeling Crisis Management System With the Restricted Use Case Modeling Approach Modeling Crisis Management System With the Restricted Use Case Modeling Approach Gong Zhang 1, Tao Yue 2, and Shaukat Ali 3 1 School of Computer Science and Engineering, Beihang University, Beijing, China

More information

A Multi-level Methodology for Developing UML Sequence Diagrams

A Multi-level Methodology for Developing UML Sequence Diagrams A Multi-level Methodology for Developing UML Sequence Diagrams Il Yeol Song, Ritu Khare, Yuan An, and Margaret Hilsbos The ischool at Drexel, Drexel University, 3141, Chestnut Street, Philadelphia, PA

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 5: Use Case Modeling Part 2 1 Activities of requirements workflow Capture Functional Requirements 1. Find actors and use cases 2. Prioritize use cases

More information

Describing Use-Case Relationships with Sequence Diagrams

Describing Use-Case Relationships with Sequence Diagrams # The Author 2006. Published by Oxford University Press on behalf of The British Computer Society. All rights reserved. For Permissions, please email: journals.permissions@oxfordjournals.org Advance Access

More information

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. OBM 7 -draft 09/02/00 1 Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. Martin L. Griss, Laboratory Scientist, Hewlett-Packard Laboratories, Palo Alto, CA. Effective

More information

Guiding System Modelers in Multi View Environments: A Domain Engineering Approach

Guiding System Modelers in Multi View Environments: A Domain Engineering Approach Guiding System Modelers in Multi View Environments: A Domain Engineering Approach Arnon Sturm Department of Information Systems Engineering Ben-Gurion University of the Negev, Beer Sheva 84105, Israel

More information

Requirements Modeling

Requirements Modeling 250 STORM: Software Tool for the Organization of Requirements Modeling Sergiu Dascalu, Eric Fritzinger, Narayan Debnath, Olusegun Akinwale Abstract-Software Engineering is a field of computer science with

More information

SOME ONTOLOGICAL ISSUES OF THE REA FRAMEWORK IN RELATION TO ENTERPRISE BUSINESS PROCESS

SOME ONTOLOGICAL ISSUES OF THE REA FRAMEWORK IN RELATION TO ENTERPRISE BUSINESS PROCESS SOME ONTOLOGICAL ISSUES OF THE REA FRAMEWORK IN RELATION TO ENTERPRISE BUSINESS PROCESS Frantisek HUNKA, Miroslav HUCKA University of Ostrava, Czech Republic frantisek.hunka@osu.cz Josef KASIK VSB-Technical

More information

Domain-Driven Development with Ontologies and Aspects

Domain-Driven Development with Ontologies and Aspects Domain-Driven Development with Ontologies and Aspects Submitted for Domain-Specific Modeling workshop at OOPSLA 2005 Latest version of this paper can be downloaded from http://phruby.com Pavel Hruby Microsoft

More information

Enterprise Planning Model Using REA Ontology

Enterprise Planning Model Using REA Ontology Enterprise Planning Model Using REA Ontology Frantisek Hunka 1, Miroslav Hucka 2, Josef Kasik 2, Dominik Vymetal 3 1 University of Ostrava, Dvorakova 7, 701 03 Ostrava 1, Czech Republic, frantisek.hunka@osu.cz

More information

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA Oksana Nikiforova and Natalja Pavlova Department of Applied Computer Science, Riga Technical University,

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2004 Vol. 3, No. 7, July-August 2004 UML 2 Activity and Action Models Part 5: Partitions

More information

Architecture-Centric Evolution in Software Product Lines:

Architecture-Centric Evolution in Software Product Lines: Architecture-Centric Evolution in Software Product Lines: Position Paper Hassan Gomaa Department of Information and Software Engineering George Mason University Fairfax, Virginia 22030, USA hgomaa@gmu.edu

More information

Refinement and Formalization of Semi-Formal Use Case Descriptions

Refinement and Formalization of Semi-Formal Use Case Descriptions Refinement and Formalization of Semi-Formal Use Case Descriptions Matthias Riebisch, Michael Hübner Ilmenau Technical University Max-Planck-Ring 14; 98684 Ilmenau; Germany {matthias.riebisch michael.huebner}@tu-ilmenau.de

More information

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

Functional Requirements and Use Cases

Functional Requirements and Use Cases Functional Requirements and Use Cases By Ruth Malan, Hewlett-Packard Company, and Dana Bredemeyer, Bredemeyer Consulting, Email: ruth_malan@hp.com and dana@bredemeyer.com Functional Requirements Functional

More information

Restricted Use Case Modeling Approach

Restricted Use Case Modeling Approach RUCM TAO YUE tao@simula.no Simula Research Laboratory Restricted Use Case Modeling Approach User Manual April 2010 Preface Use case modeling is commonly applied to document requirements. Restricted Use

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

Thirty one Problems in the Semantics of UML 1.3 Dynamics

Thirty one Problems in the Semantics of UML 1.3 Dynamics Thirty one Problems in the Semantics of UML 1.3 Dynamics G. Reggio R.J. Wieringa September 14, 1999 1 Introduction In this discussion paper we list a number of problems we found with the current dynamic

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2003 Vol. 2, No. 6, November-December 2003 UML 2 Activity and Action Models Part 3:

More information

A Modeling and Detection of Deadlock in Early Stage of System using UML

A Modeling and Detection of Deadlock in Early Stage of System using UML A Modeling and Detection of Deadlock in Early Stage of System using UML Gufran Ahmad Ansari College of Computer, Department of Information Technology Qassim University, Saudi Arabia. ABSTRACT As we know

More information

JOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002

JOURNAL OF OBJECT TECHNOLOGY Online at  Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 Vol. 1, No. 2, July-August 2002 Representing Design Patterns and Frameworks in UML Towards

More information

Software Design And Modeling BE 2015 (w. e. f Academic Year )

Software Design And Modeling BE 2015 (w. e. f Academic Year ) Software Design And Modeling BE 2015 (w. e. f Academic Year 2018-2019) 1 The Team Prof. Ravi Patki, I 2 IT Hinjawadi Pune Prof. Sangita Jaibhaiye SCOE Prof. D.D.Londhe PICT Prof. P. A. Joshi, ZCOER 2 The

More information

THE MODELING OF E-SUPERVISED (E-SUV) FOR DISTANCE LEARNING CENTRE

THE MODELING OF E-SUPERVISED (E-SUV) FOR DISTANCE LEARNING CENTRE THE MODELING OF E-SUPERVISED (E-SUV) FOR DISTANCE LEARNING CENTRE Salehuddin Shuib H.S.Hanizan Faculty of Information Technology Universiti Tun Abdul Razak Alor Setar, Kedah 05000 e-mail: {salehuddin@

More information

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Course Softwaretechnik Book Chapter 2 Modeling with UML Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,

More information

Modeling Heuristic Rules of Methods

Modeling Heuristic Rules of Methods Modeling Heuristic Rules of Methods Bedir 7HNLQHUGR DQÃÉÃ0HKPHWÃAkúLW TRESE project, Department of Computer Science, University of Twente, P.O. Box 217, 7500 AE Enschede, The Netherlands. email: {bedir

More information

UML-Based Conceptual Modeling of Pattern-Bases

UML-Based Conceptual Modeling of Pattern-Bases UML-Based Conceptual Modeling of Pattern-Bases Stefano Rizzi DEIS - University of Bologna Viale Risorgimento, 2 40136 Bologna - Italy srizzi@deis.unibo.it Abstract. The concept of pattern, meant as an

More information

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 1 Faculty of Sciences, Lebanese University 2 LINA Laboratory, University of Nantes ABSTRACT:

More information

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML Tetsuro Katayama Department of Computer Science and Systems Engineering, Faculty of Engineering, Miyazaki University

More information

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD Domain analysis Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD OOA concerned with what, not how OOA activities focus on the domain layer

More information

UML part I. UML part I 1/41

UML part I. UML part I 1/41 UML part I UML part I 1/41 UML part I 2/41 UML - Unified Modeling Language unified it can be shared among workers modeling it can be used for description of software model language it has defined structure

More information

SE 1: Software Requirements Specification and Analysis

SE 1: Software Requirements Specification and Analysis SE 1: Software Requirements Specification and Analysis Lecture 9: UML Class (Concept), Object, Communication Diagrams Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445

More information

A UML-based Methodology for Hypermedia Design

A UML-based Methodology for Hypermedia Design A UML-based Methodology for Hypermedia Design Rolf Hennicker, Nora Koch,2 Institute of Computer Science Ludwig-Maximilians University of Munich Oettingenstr. 67, D-80538 München, Germany {hennicke,kochn}@informatik.uni-muenchen.de

More information

Advanced Interaction

Advanced Interaction 8 Advanced nteraction Modeling The interaction model has several advanced features that can be helpful. You can skip this chapter on a first reading of the book. 8.1 Use Case Relationships ndependent use

More information

Modeling software evolution by evolving interoperation graphs

Modeling software evolution by evolving interoperation graphs Annals of Software Engineering 9 (2000) 235 248 235 Modeling software evolution by evolving interoperation graphs Václav Rajlich Department of Computer Science, Wayne State University, Detroit, MI 48202,

More information

REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS

REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS Juan Antonio de la Puente Dept. of Telematics Engineering School of Telecommunication, Technical University of Madrid E-mail: jpuente@dit.upm.es 1. Introduction

More information

Transformation of analysis model to design model

Transformation of analysis model to design model 2010 International Conference on E-business, Management and Economics IPEDR vol.3 (2011) (2011) IACSIT Press, Hong Kong Transformation of analysis model to design model Lalji Prasad Truba College of Engineering

More information

Pattern for Structuring UML-Compatible Software Project Repositories

Pattern for Structuring UML-Compatible Software Project Repositories Pattern for Structuring UML-Compatible Software Project Repositories Pavel Hruby Navision Software a/s Frydenlunds Allé 6 2950 Vedbaek, Denmark E-mail: ph@navision.com Web site: www.navision.com/services/methodology/default.asp

More information

Tool Support for Design Inspection: Automatic Generation of Questions

Tool Support for Design Inspection: Automatic Generation of Questions Tool Support for Design Inspection: Automatic Generation of Questions Tim Heyer Department of Computer and Information Science, Linköping University, S-581 83 Linköping, Email: Tim.Heyer@ida.liu.se Contents

More information

MODELING THE PHYSICAL DESIGN OF DATA WAREHOUSES FROM A UML SPECIFICATION

MODELING THE PHYSICAL DESIGN OF DATA WAREHOUSES FROM A UML SPECIFICATION MODELING THE PHYSICAL DESIGN OF DATA WAREHOUSES FROM A UML SPECIFICATION Sergio Luján-Mora, Juan Trujillo Department of Software and Computing Systems University of Alicante Alicante, Spain email: {slujan,jtrujillo}@dlsi.ua.es

More information

A Data Warehouse Engineering Process

A Data Warehouse Engineering Process A Data Warehouse Engineering Process Sergio Luján-Mora and Juan Trujillo D. of Software and Computing Systems, University of Alicante Carretera de San Vicente s/n, Alicante, Spain {slujan,jtrujillo}@dlsi.ua.es

More information

Perspectives on User Story Based Visual Transformations

Perspectives on User Story Based Visual Transformations Perspectives on User Story Based Visual Transformations Yves Wautelet 1, Samedi Heng 2, and Manuel Kolp 2 1 KU Leuven, Belgium yves.wautelet@kuleuven.be, 2 LouRIM, Université catholique de Louvain, Belgium

More information

UML data models from an ORM perspective: Part 4

UML data models from an ORM perspective: Part 4 data models from an ORM perspective: Part 4 by Dr. Terry Halpin Director of Database Strategy, Visio Corporation This article first appeared in the August 1998 issue of the Journal of Conceptual Modeling,

More information

Requirements Engineering for Enterprise Systems

Requirements Engineering for Enterprise Systems Association for Information Systems AIS Electronic Library (AISeL) AMCIS 2001 Proceedings Americas Conference on Information Systems (AMCIS) December 2001 Requirements Engineering for Enterprise Systems

More information

Incorporating Usability into an Object Oriented. Development Process

Incorporating Usability into an Object Oriented. Development Process Incorporating Usability into an Object Oriented Development Process Xavier Ferré Facultad de Informática Universidad Politécnica de Madrid Campus de Montegancedo 28660 - Boadilla del Monte Spain xavier@fi.upm.es

More information

An Approach to Quality Achievement at the Architectural Level: AQUA

An Approach to Quality Achievement at the Architectural Level: AQUA An Approach to Quality Achievement at the Level: AQUA Heeseok Choi 1, Keunhyuk Yeom 2, Youhee Choi 3, and Mikyeong Moon 2 1 NTIS Organization, Korea Institute of Science and Technology Information Eoeun-dong

More information

Research Review on Basic Principles of Unified Modelling Language

Research Review on Basic Principles of Unified Modelling Language Research Review on Basic Principles of Unified Modelling Language Agha Salman Haider Sr Lecturer, Jazan University, Saudi Arabia Abstract This paper presents review of concepts, ideas and the introduction

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 18 Department of Computer Engineering Implementation Workflow 1 Implementation Workflow Implementation is primarily about creating code. However, the OO analyst/designer

More information

Object-Oriented Analysis and Design

Object-Oriented Analysis and Design 0. Object Orientation: An Subject/Topic/Focus: over this lecture Summary: Lecturer, lecture, rooms, assistants, lab classes, credit points... Need for systems analysis and software engineers Literature

More information

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK TRANSFORMATION OF UML SEQUENCE DIAGRAM TO JAVA CODE HARSHAL D. GURAD 1, PROF. V.

More information

Using Functional Characteristics to Analyze State Changes of Objects

Using Functional Characteristics to Analyze State Changes of Objects 94 Using Functional Characteristics to Analyze State Changes of Objects Uldis DONINS, Janis OSIS 1, Erika ASNINA and Asnate JANSONE Department of Applied Computer Science, Riga Technical University, Latvia

More information

On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture

On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture Sadahiro Isoda Toyohashi University of Technology Toyohashi 441-8580, Japan isoda@tutkie.tut.ac.jp Abstract. UML2.0 recently made a correction

More information

An Evaluation of a Use Case Driven Requirements Analysis Using Web UI Prototype Generation Tool

An Evaluation of a Use Case Driven Requirements Analysis Using Web UI Prototype Generation Tool An Evaluation of a Use Case Driven Requirements Analysis Using Web UI Prototype Generation Tool SHINPEI OGATA Function Control System, Graduate School of Engineering Shibaura Institute of Technology 307

More information

1 Introduction. 1.1 Introduction

1 Introduction. 1.1 Introduction 1 Introduction 1.1 Introduction This book introduces and guides you through the use of the Unified Modeling Language (UML) and the Unified Process (both originally devised by Grady Booch, James Rumbaugh

More information

Evaluation of Commercial Web Engineering Processes

Evaluation of Commercial Web Engineering Processes Evaluation of Commercial Web Engineering Processes Andrew McDonald and Ray Welland Department of Computing Science, University of Glasgow, Glasgow, Scotland. G12 8QQ. {andrew, ray}@dcs.gla.ac.uk, http://www.dcs.gla.ac.uk/

More information

Metamodeling for Business Model Design

Metamodeling for Business Model Design Metamodeling for Business Model Design Facilitating development and communication of Business Model Canvas (BMC) models with an OMG standards-based metamodel. Hilmar Hauksson 1 and Paul Johannesson 2 1

More information

CS560 Lecture: Software Architecture Includes slides by I. Sommerville

CS560 Lecture: Software Architecture Includes slides by I. Sommerville CS560 Lecture: Software Architecture 2009 Includes slides by I. Sommerville Architectural Design Design process for identifying the sub-systems making up a system and the framework for sub-system control

More information

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION c08classandmethoddesign.indd Page 282 13/12/14 2:57 PM user 282 Chapter 8 Class and Method Design acceptance of UML as a standard object notation, standardized approaches based on work of many object methodologists

More information

12 Tutorial on UML. TIMe TIMe Electronic Textbook

12 Tutorial on UML. TIMe TIMe Electronic Textbook TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3

More information

The WebShop E-Commerce Framework

The WebShop E-Commerce Framework The WebShop E-Commerce Framework Marcus Fontoura IBM Almaden Research Center 650 Harry Road, San Jose, CA 95120, U.S.A. e-mail: fontouraalmaden.ibm.com Wolfgang Pree Professor of Computer Science Software

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use

More information

Automatic Generating UML Use Case Diagram and Test Cases Based on Classification Tree Method

Automatic Generating UML Use Case Diagram and Test Cases Based on Classification Tree Method Automatic Generating UML Use Case Diagram and Test Cases Based on Classification Tree Method Wassana Naiyapo Computer Science Department Faculty of Science Chiang Mai University Chiangmai Thailand wassana.n@cmu.ac.th,

More information

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Static Safety Analysis of UML Action Semantics for Critical Systems Development Static Safety Analysis of UML Action Semantics for Critical Systems Development Zsigmond Pap, Dániel Varró Dept. of Measurement and Information Systems Budapest University of Technology and Economics H-1521

More information

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process

More information

REQUIREMENTS ENGINEERING LECTURE 2017/2018. Dr. Jörg Dörr. Conceptual Modelling. Fraunhofer IESE

REQUIREMENTS ENGINEERING LECTURE 2017/2018. Dr. Jörg Dörr. Conceptual Modelling. Fraunhofer IESE REQUIREMENTS ENGINEERING LECTURE 2017/2018 Dr. Jörg Dörr Conceptual Modelling AGENDA Analysis & Specification with Conceptual Models 2 Requirements Specification ANALYSIS & SPECIFICATION WITH CONCEPTUAL

More information

A Method for Conceptual Modeling of Semantically Integrated Use-case Scenarios

A Method for Conceptual Modeling of Semantically Integrated Use-case Scenarios A Method for Conceptual Modeling of Semantically Integrated Use-case Scenarios Remigijus Gustas and Prima Gustiene Department of Information Systems, Karlstad University, Sweden {Remigijus.Gustas, Prima.Gustiene}@kau.se

More information

HOW AND WHEN TO FLATTEN JAVA CLASSES?

HOW AND WHEN TO FLATTEN JAVA CLASSES? HOW AND WHEN TO FLATTEN JAVA CLASSES? Jehad Al Dallal Department of Information Science, P.O. Box 5969, Safat 13060, Kuwait ABSTRACT Improving modularity and reusability are two key objectives in object-oriented

More information

SyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software

SyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software SyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software {s1669021, s1598011, yccheng, hsieh}@ntut.edu.tw SyncFree Abstract People who use different computers at different

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

A Concurrency Control for Transactional Mobile Agents

A Concurrency Control for Transactional Mobile Agents A Concurrency Control for Transactional Mobile Agents Jeong-Joon Yoo and Dong-Ik Lee Department of Information and Communications, Kwang-Ju Institute of Science and Technology (K-JIST) Puk-Gu Oryong-Dong

More information

A Software Safety Argument Pattern Catalogue

A Software Safety Argument Pattern Catalogue A Software Safety Argument Pattern Catalogue R. Hawkins and T. Kelly {richard.hawkins\tim.kelly}@york.ac.uk Department of Computer Science The University of York Abstract This document presents a catalogue

More information

Test Case Generation Based on Sequence Diagrams

Test Case Generation Based on Sequence Diagrams Test Case Generation Based on Sequence Diagrams Yao-Cheng Lei Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University Chiayi, Taiwan 621, R.O.C. {lyc94,naiwei}@cs.ccu.edu.tw

More information

Spemmet - A Tool for Modeling Software Processes with SPEM

Spemmet - A Tool for Modeling Software Processes with SPEM Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes

More information

Introduction to Software Engineering. 5. Modeling Objects and Classes

Introduction to Software Engineering. 5. Modeling Objects and Classes Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities

More information

XVIII. Software Architectures

XVIII. Software Architectures XVIII. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer 3-Tier and 4-Tier Architectures Horizontal Layers and Vertical Partitions The Model-View-Controller Architecture

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

System Sequence Diagrams. Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes

System Sequence Diagrams. Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes System Sequence Diagrams Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes Dynamic behaviors Class diagrams represent static relationships. Why? What about modeling dynamic behavior? Interaction

More information

Generic and Domain Specific Ontology Collaboration Analysis

Generic and Domain Specific Ontology Collaboration Analysis Generic and Domain Specific Ontology Collaboration Analysis Frantisek Hunka, Steven J.H. van Kervel 2, Jiri Matula University of Ostrava, Ostrava, Czech Republic, {frantisek.hunka, jiri.matula}@osu.cz

More information

Safety Case Composition Using Contracts - Refinements based on Feedback from an Industrial Case Study

Safety Case Composition Using Contracts - Refinements based on Feedback from an Industrial Case Study Safety Case Composition Using Contracts - Refinements based on Feedback from an Industrial Case Study Jane Fenn and Richard Hawkins BAE SYSTEMS, Brough, UK Phil Williams General Dynamics (United Kingdom)

More information

Software Language Engineering of Architectural Viewpoints

Software Language Engineering of Architectural Viewpoints Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr

More information

Applying ISO/IEC Quality Model to Quality Requirements Engineering on Critical Software

Applying ISO/IEC Quality Model to Quality Requirements Engineering on Critical Software Applying ISO/IEC 9126-1 Quality Model to Quality Engineering on Critical Motoei AZUMA Department of Industrial and Management Systems Engineering School of Science and Engineering Waseda University azuma@azuma.mgmt.waseda.ac.jp

More information

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools UML Modeling I Instructor: Yongjie Zheng September 3, 2015 CS 490MT/5555 Software Methods and Tools Object-Oriented Design: Topics & Skills Rational Unified Process Unified Modeling Languages (UML) Provide

More information

USE CASE BASED REQUIREMENTS VERIFICATION

USE CASE BASED REQUIREMENTS VERIFICATION USE CASE BASED REQUIREMENTS VERIFICATION Verifying the consistency between use cases and assertions Stéphane S. Somé, Divya K. Nair School of Information Technology and Engineering (SITE), University of

More information

THE ADHERENCE OF OPEN SOURCE JAVA PROGRAMMERS TO STANDARD CODING PRACTICES

THE ADHERENCE OF OPEN SOURCE JAVA PROGRAMMERS TO STANDARD CODING PRACTICES THE ADHERENCE OF OPEN SOURCE JAVA PROGRAMMERS TO STANDARD CODING PRACTICES Mahmoud O. Elish Department of Computer Science George Mason University Fairfax VA 223-44 USA melish@gmu.edu ABSTRACT The use

More information

On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture

On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture Vol. 4, No. 6 Special issue: Use Case Modeling at UML-2004 On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture Sadahiro Isoda, Toyohashi University of Technology, Toyohashi 441-8580, Japan

More information

ADVANCING THE SYSTEMS ANALYSIS AND DESIGN CURRICULUM

ADVANCING THE SYSTEMS ANALYSIS AND DESIGN CURRICULUM ADVANCING THE SYSTEMS ANALYSIS AND DESIGN CURRICULUM Stevan Mrdalj, Eastern Michigan University, stevan.mrdalj@emich.edu Vladan Jovanovic, Georgia Southern University, vladan@gasou.edu ABSTRACT Computer

More information

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL INTERNATIONAL DESIGN CONFERENCE - DESIGN 2000 Dubrovnik, May 23-26, 2000. ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL N. Pavković, D. Marjanović Keywords: object oriented methodology, design process

More information

IBM Software Group. Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model

IBM Software Group. Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model IBM Software Group Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model 1 Objectives Simplify the maintenance of the requirements without sacrificing clarity or comprehension

More information

Open Reuse of Component Designs in OPM/Web

Open Reuse of Component Designs in OPM/Web Open Reuse of Component Designs in OPM/Web Iris Reinhartz-Berger Technion - Israel Institute of Technology ieiris@tx.technion.ac.il Dov Dori Technion - Israel Institute of Technology dori@ie.technion.ac.il

More information

Engineering Design w/embedded Systems

Engineering Design w/embedded Systems 1 / 40 Engineering Design w/embedded Systems Lecture 33 UML Patrick Lam University of Waterloo April 4, 2013 2 / 40 What is UML? Unified Modelling Language (UML): specify and document architecture of large

More information

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain

More information

SOME TYPES AND USES OF DATA MODELS

SOME TYPES AND USES OF DATA MODELS 3 SOME TYPES AND USES OF DATA MODELS CHAPTER OUTLINE 3.1 Different Types of Data Models 23 3.1.1 Physical Data Model 24 3.1.2 Logical Data Model 24 3.1.3 Conceptual Data Model 25 3.1.4 Canonical Data Model

More information

Available online at ScienceDirect. Procedia Computer Science 56 (2015 )

Available online at  ScienceDirect. Procedia Computer Science 56 (2015 ) Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 56 (2015 ) 612 617 International Workshop on the Use of Formal Methods in Future Communication Networks (UFMFCN 2015) A

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Department of Computer Engineering Lecture 12: Object-Oriented Principles Sharif University of Technology 1 Open Closed Principle (OCP) Classes should be open for extension but closed

More information

COST ESTIMATION FOR DISTRIBUTED SYSTEMS USING USE CASE DIAGRAM

COST ESTIMATION FOR DISTRIBUTED SYSTEMS USING USE CASE DIAGRAM S. V. Pingale et al. : Cost Estimation for Distributed Systems using Use Case Diagram Journal of Advances in Engineering Science 41 Section C (3), July - December 2010, PP 41-48 COST ESTIMATION FOR DISTRIBUTED

More information

Modeling Software Evolution by Evolving Interoperation Graphs 1

Modeling Software Evolution by Evolving Interoperation Graphs 1 Annals of Software Engineering, Vol. 9, 2000, pp. 235-348. Modeling Software Evolution by Evolving Interoperation Graphs 1 Václav Rajlich Department of Computer Science Wayne State University Detroit,

More information

On using Colors in UML Models

On using Colors in UML Models On using Colors in UML Models Gefei Zhang Hochschule für Technik und Wirtschaft Berlin, Berlin, Germany Keywords: Abstract: Modeling, Colors, Visual Aid, UML. Using colors has been recognized by Software

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information