Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Course Details: Using the UML Model Browser Intended Audience PowerPoint Presentation
Download Presentation
Course Details: Using the UML Model Browser Intended Audience

Course Details: Using the UML Model Browser Intended Audience

114 Views Download Presentation
Download Presentation

Course Details: Using the UML Model Browser Intended Audience

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. caCORE Training:Using the UML Model BrowserCourse Number: 1025Duration: Self-pacedIntended Audience: caDSR Users and Metadata Consumers Using UML ModelsInstructors: Training@scenpro.comNCI CBIIT Liaison: Dianne Reevesreevesd@mail.nnih.gov

  2. Course Details: Using the UML Model BrowserIntended Audience • This session targets learners who act in the following roles: • Application Developer Using API’s: https://wiki.nci.nih.gov/x/TYF8 • caBIG® Developer: https://wiki.nci.nih.gov/x/Z4F8 • caBIG® Model Owner: https://wiki.nci.nih.gov/x/zI_PAQ • Metadata Curator – Using UML Models: https://wiki.nci.nih.gov/x/mYF8 • VCDE Mentor: https://wiki.nci.nih.gov/x/rIF8 • Select the link provided next to the role (while in slide show mode) to view a more detailed description of the tasks and responsibilities for that role. 

  3. Course Details: Using the UML Model BrowserPrerequisites for this Course • In order to make the most of this training you should have completed the following: • Course 1000: Intro to caCORE and caDSR • Course 1010: Intro to Metadata in the caDSR • Course 1020: Using the CDE Browser • All course materials are available through the caBIG® Learning Management System (LMS): • http://ncicbtraining.nci.nih.gov • Register for courses • Take quiz to receive credit for each course

  4. Course Details: Using the UML Model BrowserTraining Glossary • Our training courses use terms and acronyms specific to the caBIG® community. To assist you with unfamiliar terms, a training glossary is available with definitions and additional information on our training wiki: https://wiki.nci.nih.gov/x/cCByAQ • If you cannot find what you are looking for and would like to request a term be added to the glossary please send an email to: training@scenpro.com

  5. Course Details: Using the UML Model BrowserCourse Outline • This course is divided into six lessons. These lessons include: • Lesson 1: Introduction to UML Modeling • Lesson 2: Decomposing UML Class Diagrams into Metadata • Lesson 3: UML Model Browser Overview • Lesson 4: Search Options • Lesson 5: Search Results • Lesson 6: How to find your UML Model Metadata

  6. Course Details: Using the UML Model BrowserCourse Learning Objectives • When you complete this course, you will be able to: • List four ways Unified Modeling Language (UML) represents the artifacts of a software system • Identify the components of a UML Class Diagram • Analyze a UML class and determine the appropriate corresponding caDSR Metadata • Determine how many Data Elements will be formed from a UML Class, its attributes and data types • Access and navigate the UML Model Browser and change search preferences to include test and training contexts • Search for UML Model Metadata with three different search options • Manipulate different variables to expand or narrow search results • Differentiate between a Class Search and Attribute Search • View your UML Model Metadata using the UML Model Browser

  7. Lesson 1: Introduction to UML Modeling • In this lesson, you will learn how to: • List four ways UML represents the artifacts of a software system • Identify the components of a UML Class Diagram • Identify the differences between a Class and an Object

  8. Lesson 1: Introduction to UML ModelingWhy Develop a Model? • Modeling achieves four aims • Helps you visualize and understand a system by presenting a unified vision of the system • Specifies the structure and behavior of a system prior to coding • Provides the template which guides you in constructing a system • Documents the decisions you have made

  9. Lesson 1: Introduction to UML Modeling What is Unified Modeling Language (UML)? • Definition: Unified Modeling Language (UML) is a language used to • visualize • specify • construct • document the artifacts of a software system. • Remember UML is a way to express the different models of a system, but does not tell you HOW to develop the software.

  10. Lesson 1: Introduction to UML ModelingUML: Documenting • UML provides a standard way to document a system’s blueprint which can include: • System architecture • Individual features and requirements of the system • Test and Project Plans • How you are going to release or publish the software

  11. Lesson 1: Introduction to UML ModelingUML: Visualizing • UML is designed to promote communication using pictures rather than text ~”A picture is worth a thousand words.” • Communicating conceptual models without standard vocabularies is error prone. UML offers symbols which represent well-defined semantics to combat this. • Information about software systems cannot be understood unless models are build which transcend the textual programming language.

  12. Lesson 1: Introduction to UML ModelingUML: Specifying • UML is used to specify the components of a software system, primarily through the use of models. • UML allows you to build models that are precise, unambiguous and complete. • There are many UML diagram types- we will focus of the UML Class Diagram. It is the only diagram utilized by Cancer Common Ontologic Representation Environment (caCORE) at this time.

  13. Lesson 1: Introduction to UML ModelingUML: Constructing • UML models can be directly connected to a variety of programming languages • Maps to Java, C++, Visual Basic, etc… • Allows for mapping from a model in UML to a programming language or to a database • If the model is best expressed graphically, the UML model is utilized • If the model is best expressed textually, the programming language is utilized • Permits forward engineering- the generation of code from a UML model • Permits reverse engineering- the construction of a model from existing program source code

  14. Lesson 1: Introduction to UML ModelingExample UML Diagram Types NOTE: The Class Diagram is the only diagram recognized by the caCORE environment at this time.

  15. Lesson 1: Introduction to UML ModelingUML Class • A class is a representation of a generalized thing. • Classes are created in UML class diagrams. • A UML class is represented using a rectangle with three compartments • Class Name • Attributes -will be discussed later in this lesson • Operations – functionality and/or behaviors of the class

  16. Lesson 1: Introduction to UML ModelingClasses and Objects - Clarification • Classes and Objects are not the same thing. • An Object is an instance of a Class. • In UML, an object is represented as a rectangle with an underlined name.

  17. Lesson 1: Introduction to UML ModelingObject/ Class Relationship • A class is the static description of an object. • It defines the structure and behavior of each object in the class. • It serves as a template for creating objects. • An object is the run-time instance of the class. • Modeling is from real-world objects. • Software objects are based on the real-world objects, but exist only in the context of the system. • Classes are used as templates within an executing software system to create software objects which represent the real-world objects you started with. NOTE: Some classes/objects may be defined that don't represent real-world objects. They are there to support the design and are "software only.”

  18. Lesson 1: Introduction to UML ModelingUML Class Diagram • A Class Diagram depicts a logical grouping of classes related to one another. • Example: Simple Class Diagram • 2 Classes: Course & Student • 1 Association (relationship)- We will discuss associations shortly.

  19. Lesson 1: Introduction to UML ModelingClass Attribute • An attribute is a named property of a class that describes the range of values that instances of the property may hold. • A class may have any number of attributes. NOTE: UML best practices state that attributes should be named using camel-casing whereas the first letter of the first word is in small caps, all subsequent words in that attribute name are in big caps. NOTE: UML best practices state that attributes should be named using camel-casing whereas the first letter of the first word is in small caps, all subsequent words in that attribute name are in big caps.

  20. Lesson 1: Introduction to UML ModelingAttribute Data Types • Attributes should have a data type or representation in order to be fully defined and semantically unambiguous. • Data Types are added after the attribute name followed by a colon. (see the example below) • Example: For the attribute “name”, string is the data type

  21. Lesson 1: Introduction to UML ModelingUML Associations • An association identifies a relationship. • Represented with a connecting line. • Identifies the classes that are involved in a relationship. • Each side of the association should be named. • Best practice indicates all associations should be named and names should use camel-casing format.

  22. Lesson 1: Introduction to UML ModelingUML Multiplicity • Multiplicity further specifies or defines association. • Displayed at the end of the relationship/association line. • In this diagram, the annotations (the 1 * and 0*) mean that for every one course, there can be zero to many students enrolled and there is always at least one course. This means that our system needs the ability to search between courses and students. NOTE: To view a complete list of annotations and their meanings, see Appendix A located at the end of this course. NOTE: To view a complete list of annotations and their meanings, see Appendix A located at the end of this course.

  23. Lesson 1: Introduction to UML ModelingReview • What is the name of this class? • What is the name of the attribute used to describe a person’s address information? • What is the data type for the “name” attribute?

  24. Lesson 1: Introduction to UML ModelingAnswers • What is the name of this class? • Person (correct answer) • What is the name of the attribute used to describe a person’s address information? • postalAddress (correct answer) • What is the data type for the “name” attribute? • String (correct answer)

  25. Lesson 1: Introduction to UML ModelingRecap • Now that you have completed this lesson, you should be able to: • List the 4 ways UML represents the artifacts of a software system • Identify the components of a UML Class Diagram • Identify the differences between a Class and an Object

  26. Lesson 2: Decomposing UML Class Diagrams into Metadata • In this lesson, you will learn how to: • Identify the role UML plays within the caDSR • List the components of a Common Data Element • Analyze a UML class and determine the appropriate corresponding caDSR Metadata • Determine how many Data Elements will be formed from a UML Class, its attributes and data types

  27. Lesson 2: Decomposing UML Class Diagrams into MetadataUML Roles • Role of UML in the caDSR: • A UML Class Diagram is used to transform the classes and attributes of a software system or data set into caDSR metadata. • This process is called “Semantic Integration”. • The same UML Class Diagram can also be used to generate code for a complete software system. • This process is called “Code Generation”.

  28. Lesson 2: Decomposing UML Class Diagrams into MetadataData Element Review • Before we begin analyzing our UML Model Metadata, let’s take a moment to review a data element:

  29. Lesson 2: Decomposing UML Class Diagrams into MetadataClass Diagram to Data Element • UML Class Diagrams form the basis for creating and registering semantically unambiguous caDSR metadata. The caDSR is made up of Data Elements. • In the caDSR, a Data Element corresponds to the combination of a class, a single attribute and its data type. • In the table below, the UML Class attributes and the corresponding data element administered items are listed side by side:

  30. Lesson 2: Decomposing UML Class Diagrams into MetadataClass Diagram to Data Element Illustration NOTE: EVS is tied to caDSR to provide concepts for metadata. Object Class, Property and Representation are the EVS touch points in caDSR. NOTE: EVS is tied to caDSR to provide concepts for metadata. Object Class, Property and Representation are the EVS touch points in caDSR.

  31. Lesson 2: Decomposing UML Class Diagrams into MetadataExample: Class Diagram to Data Element NOTE: Java.lang.String is an example of a generic Value Domain specifically created for UML models. NOTE: Java.lang.String is an example of a generic Value Domain specifically created for UML models.

  32. Lesson 2: Decomposing UML Class Diagrams into MetadataImportance of Decomposition • Semantic Integration is the series of steps taken to map UML classes and attributes to EVS concept codes. • Remember, EVS concept codes are assigned to Object Classes, Properties, and Representation Terms. • These concepts are used to build caDSR Data Elements. • Goal: Semantic Interoperability • The association between metadata and controlled vocabularies permits unambiguous interpretation of UML model objects and mapping between those objects in different domains. • Resulting metadata is more sharable and interoperable. • For example, the UML Class named Agent is mapped to C1708 (Agent) – if other models with an Agent class are mapped to C1708, semantic integration is achieved – both classes mean the same thing.

  33. Lesson 2: Decomposing UML Class Diagrams into MetadataExercise • How many attributes does this class have? • How many Data Elements are created from this one class?

  34. Lesson 2: Decomposing UML Class Diagrams into MetadataExerciseAnswers • How many attributes does this class have? • 7 (correct answer) • How many Data Elements can be created from this one class? • 7 (correct answer)

  35. Lesson 2: Decomposing UML Class Diagrams into MetadataReview • A UML Class corresponds to a _____________ in caDSR Metadata. • A UML Attribute corresponds to a ______________ in caDSR Metadata. • A UML Data type corresponds to a ______________ in caDSR Metadata.

  36. Lesson 2: Decomposing UML Class Diagrams into MetadataAnswers • A UML Class corresponds to a Object Class (correct answer) in caDSR Metadata. • A UML Attribute corresponds to a Property (correct answer)in caDSR Metadata. • A UML Data type corresponds to a Value Domain (correct answer) in caDSR Metadata.

  37. Lesson 2: Decomposing UML Class Diagrams into MetadataRecap • Now that you have completed this lesson, you should be able to: • Identify the role UML plays within the caDSR • List the components of a Common Data Element • Analyze a UML class and determine the appropriate corresponding caDSR Metadata • Determine how many Data Elements will be formed from a UML Class, its attributes and data types

  38. Lesson 3: UML Model Browser Overview • In this lesson, you will learn how to: • Navigate to the UML Model Browser Main Page • Utilize the links on the UML Model Browser home page to access the appropriate tools • Access the UML Model Browser Home Page and Online Help • Include and exclude test and/or training contexts from your search results

  39. Lesson 3: UML Model Browser OverviewWhat is the UML Model Browser? • Web-based caDSR Tool • http://umlmodelbrowser.nci.nih.gov • Supports browsers Internet Explorer v7.0+ and Mozilla Firefox v3.0+ • Designed for UML model owners to search for and view UML-based metadata in the caDSR • Classes • Class Attributes • Associations (between classes and attributes) • ISO Components (metadata) related to those classes and attributes NOTE: The UML Model Browser accesses the same metadata in the caDSR as the CDE Browser, but displays the information in a way that UML Model developers and/or owners can relate to (class/attribute/association structure). NOTE: The UML Model Browser accesses the same metadata in the caDSR as the CDE Browser, but displays the information in a way that UML Model developers and/or owners can relate to (class/attribute/association structure).

  40. Lesson 3: UML Model Browser OverviewRoles and Use Cases • The following are a list of roles and uses cases applicable to the UML Model Browser. • Roles • Application Developer Using APIs • caBIG® Developer • caBIG® Model Owner • Metadata Curator Using UML Models • Use Cases • Verify/ find your UML Model Metadata in the caDSR • Search and View UML Model components loaded into the caDSR • UML Classes • Attributes • Related metadata

  41. Lesson 3: UML Model Browser OverviewHome Page • http://umlmodelbrowser.nci.nih.gov

  42. Lesson 3: UML Model Browser OverviewUseful Links Menu • CDE Browser: designed to let users search for, view, and export data elements (DEs) from the Cancer Data Standards Repository (caDSR) • FormBuilder: used by curators to create, update, and maintain forms and templates using the data elements maintained in the caDSR • Admin Tool: (caDSR Administration Tool):allows user to administer data privileges and make specialized edits to content in the caDSR • Curation Tool : users can search for CDEs by their administered items and create or edit data elements • NCI Metathesaurus: allows users to search the NCI Metathesaurus • NCI Terminology Server: navigates to the NCI Term Browser which allows users to search the NCI Thesaurus and other controlled vocabularies • Sentinel Tool: users can watch for changes to data elements and receive alerts

  43. Lesson 3: UML Model Browser OverviewNavigation Icons • Navigation icons accessible at any time from the UML Model Browser • Home: Return to the UML Model Browser Main page • Online Help: Access help tutorials and additional UML Model Browser instruction

  44. Lesson 3: UML Model Browser OverviewKey Search Features • Class/ Attribute Search: search by class name, attribute name, or select a specific project, subproject, or package from the drop down lists provided • Tree Search: search across Contexts or within a specific Context, Project, Subproject, Package, Class (Both search features will be discussed in detail later in this course) • Search Preferences: allows for exclusion/inclusion of specific Contexts • Select Search Preferences link from the UML Model Browser Home Page.

  45. Lesson 3: UML Model Browser OverviewSearch Preferences • Test and Training Contexts are excluded by default. • De-select the contexts you want to include in your search results (removing the checkmark means they WILL be included). • Select the Reset to default search preferences link to exclude Test and Training contexts. • Select Save to retain your selected search preferences. • Select Back to return to the UML Model Browser Main Page. NOTE: Changes to Search Preferences persist only for the current UML Model Browser session. When you exit the browser and re-enter, the preferences return to the default. • NOTE: Changes to Search Preferences persist only for the current UML Model Browser session. When you exit the browser and re-enter, the preferences return to the default.

  46. Lesson 3: UML Model Browser OverviewReview • __________ and ___________ contexts are excluded from search results by default. • TRUE or FALSE: The Home Page and Online help can be accessed at ANY time from the UML Model Browser. • Which caDSR tool is accessible from the UML Model Home Page? • Admin Tool • CDE Browser • NCI Term Browser • All of the above

  47. Lesson 3: UML Model Browser OverviewAnswers • Test (correct answer)and Training (correct answer) contexts are excluded from search results by default. • TRUE or FALSE: The Home Page and Online help can be accessed at ANY time from the UML Model Browser. • TRUE (correct answer) • Which caDSR tool is accessible from the UML Model Home Page? • Admin Tool • CDE Browser • NCI Term Browser • All of the above (correct answer)

  48. Lesson 3: UML Model Browser OverviewRecap • Now that you have completed this lesson, you should be able to: • Navigate to the UML Model Browser Main Page • Utilize the links on the UML Model Browser home page to access the tools • Access the UML Model Browser Home Page and Online Help from any page in the UML Model Browser • Include and exclude test and/or training contexts from your search results

  49. Lesson 4: Search Options • In this lesson, you will learn how to: • Search for UML Model Metadata utilizing three search options • Tree Search • Class/ Attribute Search • Combination Tree & Class/ Attribute Search • Expand search results using the wildcard “*” character • Perform an Attribute Search against a Class Name search term

  50. Lesson 4: Search OptionsUML Model Browser Search Options • Tree Search • Lists the different contexts in caDSR and displays the groups of UML models within each context. • Class/ Attribute Search • A straightforward search interface, allowing users to enter a class or attribute search term. • Combination Tree & Class/ Attribute Search • Users can select a context to refine a specified class/ attribute search.