Download presentation
Presentation is loading. Please wait.
Published byLester Small Modified over 8 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.