Presentation is loading. Please wait.

Presentation is loading. Please wait.

Course Number: 1080 Session Length:60 Minutes Target Audience:caDSR Users and Metadata Consumers Trainer: Jennifer Brush NCICB Liaison.

Similar presentations


Presentation on theme: "Course Number: 1080 Session Length:60 Minutes Target Audience:caDSR Users and Metadata Consumers Trainer: Jennifer Brush NCICB Liaison."— Presentation transcript:

1 Course Number: 1080 Session Length:60 Minutes Target Audience:caDSR Users and Metadata Consumers Trainer: Jennifer Brush jbrush@scenpro.com NCICB Liaison / Expert Curator: Dianne Reeves reevesd@mail.nih.gov Introduction to the Unified Modeling Language (UML) ¹course materials based in part on IBM’s “Essentials of Visual Modeling with UML 2.0”

2 Session Details: Online Training Environment: Centra… Use these buttons (or choose from the Actions menu) to communicate with the trainer and other attendees. Example: Raise your hand to ask a question.

3 Session Details: Online Training Environment: Centra… You can adjust what you see on screen by choosing from the View menu or by scrolling.

4 Learning Objectives  Define Object Technology  Discuss the benefits of modeling a software system  List the four outputs of modeling with UML  Discuss the relationship between Objects and Classes

5 Outline  What is Object Technology?  Why Model?  What is UML?  Representing Objects in UML  Representing Classes in UML  Relationship between Objects and Classes  Attributes in Classes and Objects

6 What is Object Technology?  Object Technology is a set of principles that guides software development.  Object Technology is NOT simply the use of an object-oriented language like Java or C++  Object Technology integrates development process, a modeling language (like UML), and data modeling techniques.

7 Why use Object Technology?  Provides a consistent language that can be applied to both systems and business engineering  Facilitates code and architectural reuse  Reflects real world models more closely  Stable  Adaptive to change  Models created using object technology can be implemented as software using object-oriented programming languages.

8 Why Model?  Modeling achieves four aims: – Helps you visualize a system – Permits you to specify the structure or behavior of a system – Guides you in constructing a system – Documents the decisions you have made  Build models of complex systems because they are difficult to comprehend in their entirety  Build models to better understand the system you are developing.

9 What is the Unified Modeling Language (UML)?  UML is a language for – Visualizing – Specifying – Constructing – Documenting The artifacts of a software system.

10 UML: Visualizing  Communicating conceptual models to others is prone to error unless everyone involved speaks the same language.  There are things about a software system you can’t understand unless you build models.  An explicit model facilitates communication.

11 UML: Specifying  UML allows you to build models that are precise, unambiguous and complete  There are many UML diagram types  caCORE utilizes one diagram type – UML Class Diagram

12 UML: Constructing  UML models can be directly connected to a variety of programming languages.  Maps to Java, C++, Visual Basic, etc.  Tables in a RDBMS or persistent store in an OODBMS  Permits forward engineering  Permits reverse engineering

13 UML: Documenting  The UML addresses documentation of system architecture, requirements, tests, project planning, and release management. Use Case Diagram Actor A Use Case 1 Use Case 2 Use Case 3 Actor B Class Diagram GrpFile read( ) open( ) create( ) fillFile( ) rep Repository name : char * = 0 readDoc( ) readFile( ) (from Persistence) FileMgr fetchDoc( ) sortByName( ) DocumentList add( ) delete( ) Document name : int docid : int numField : int get( ) open( ) close( ) read( ) sortFileList( ) create( ) fillDocument( ) fList 1 FileList add( ) delete( ) 1 File read( ) read() fill the code.. Sequence Diagram user mainWndfileMgr : FileMgr repositorydocument : Document gFile 1: Doc view request ( ) 2: fetchDoc( ) 3: create ( ) 4: create ( ) 5: readDoc ( ) 6: fillDocument ( ) 7: readFile ( ) 8: fillFile ( ) 9: sortByName ( ) ƯÁ¤¹®¼­¿¡ ´ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù. È­ÀÏ°ü¸®ÀÚ´Â Àоî¿Â ¹®¼­ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼­ °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù. È­¸é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È­¸é¿¡ º¸¿©ÁØ´Ù. Deployment Diagram Window95 ¹®¼­°ü¸® Ŭ¶óÀ̾ðÆ®.EXE Windows NT ¹®¼­°ü¸® ¿£Áø.EXE Windows NT Windows95 Solaris ÀÀ¿ë¼­¹ö.EXE Alpha UNIX IBM Mainframe µ¥ÀÌŸº£À̽º¼­¹ö Windows95 ¹®¼­°ü¸® ¾ÖÇø´ ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨ - À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼­¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼­¹ö ¹× µ¥ÀÌŸ ¼­¹ö, Åë½Å ¼­¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼­¹ö, Åë½Å ¼­¹ö

14 What is an Object?  An Object is a physical, conceptual or software entity.  Objects can represent ANYTHING, but…  Objects have well-defined boundaries -- the purpose of the object should be clear  Objects have two key components: – Attributes (“state”) – Operations (“behavior”)

15 Representing Objects in the UML  An Object represents an entity, either physical, conceptual or software  In UML an object is represented as a rectangle with an underlined name : Professor J Clark : Professor Named Object Anonymous Object Professor J Clark

16 What is a Class?  A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics. – An object is an instance of a class.  A class is an abstraction in that it – Emphasizes relevant characteristics. – Suppresses other characteristics.

17 A Sample Class  Properties – Name – Location – Days offered – Credit hours – Start time – End time  Class – Course  Behavior – Add a student – Delete a student – Get course roster – Determine if it is full

18 Representing Classes in UML  A class is represented using a rectangle with three compartments: – The class name – The structure (attributes) – The behavior (operations) Professor - name - employeeID : UniqueId - hireDate - status - discipline - maxLoad + submitFinalGrade() + acceptCourseOffering() + setMaxLoad() + takeSabbatical() + teachClass()

19 Relationship between Classes and Objects  A class is an abstract definition of an object. – It defines the structure and behavior of each object in the class. – It serves as a template for creating objects.  Classes are not collections of objects. Professor Jones Professor Smith Professor Allen Professor

20 What is an 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 Attributes Student - name - address - studentID - dateOfBirth

21 Attributes in Classes and Objects Class Objects Student - name - address - studentID - dateOfBirth :Student - name = “M. Modano” - address = “123 Main St.” - studentID = 9 - dateOfBirth = “03/10/1967” :Student - name = “D. Hatcher” - address = “456 Oak Ln.” - studentID = 2 - dateOfBirth = “12/11/1969”

22 Class attribute association Example UML Class Diagram

23 Test Your Knowledge  (TBD)

24 Contact Information  Instructor: Jennifer Brush (jbrush@scenpro.com)  NCICB Liaison: Dianne Reeves (reevesd@mail.nih.gov)  caDSR Home Page: http://ncicb.nci.nih.gov/NCICB/infrastructure/cacore_overview/cadsr  caDSR Training Home Page: http://ncicb.nci.nih.gov/NCICB/training/cadsr_training  caDSR Training ListServ: https://list.nih.gov/archives/cadsr_training-l.html http://list.nih.gov


Download ppt "Course Number: 1080 Session Length:60 Minutes Target Audience:caDSR Users and Metadata Consumers Trainer: Jennifer Brush NCICB Liaison."

Similar presentations


Ads by Google