1 / 11

Introduction to the Unified Modeling Language

Introduction to the Unified Modeling Language. CS/SWE 421 Introduction to Software Engineering Dan Fleck (Slides adapted from Dr. Stephen Clyde with permission). Unified Modeling Language. UML is an object-oriented modeling language semi-formal (UML 2.0 added much more formality)

Download Presentation

Introduction to the Unified Modeling Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to theUnified Modeling Language CS/SWE 421 Introduction to Software Engineering Dan Fleck (Slides adapted from Dr. Stephen Clyde with permission) Coming up: Unified Modeling Language

  2. Unified Modeling Language • UML is an object-oriented modeling language • semi-formal (UML 2.0 added much more formality) • process independent • UML can be used with a variety software development process models • Customizable and extensible • Model structure (static) and behavioral (dynamic) aspects of a system • UML is a communication tool – for the team, and other stakeholders Coming up: History

  3. History • In the 90s many people creating OO diagramming languages • Three different ones created by Grady Booch, Ivar Jacobson, James Rumbaugh • Joined forces with Rational (company) to create Unified Modeling Langauge (UML) Booch, Jacobson, Rumbaugh Coming up: Modeling Elements and Diagrams

  4. Modeling Elements and Diagrams • Diagrams represent chunks of information that need to be communicated as part of a conceptual description. • It usually requires many diagrams to describe a system • Each diagram should focus on a single thought or a small set of tightly related thoughts • Diagrams are like paragraphs in a section of well-structured text Coming up: UML Diagrams

  5. UML Diagrams • Use Case Diagrams • Class Diagrams • Object Diagrams • Interaction Diagrams • Sequence Diagrams • Communication Diagrams • State Charts (enhanced State Machines) • Component Diagrams • Deployment Diagrams Coming up: UML Diagrams – we’ll use in class

  6. UML Diagrams – we’ll use in class • Use Case Diagrams • Class Diagrams • Object Diagrams • Interaction Diagrams • Sequence Diagrams • Communication Diagrams • State Charts (enhanced State Machines) • Component Diagrams • Deployment Diagrams Coming up: Three Software-Engineering Modeling Perspectives

  7. Three Software-Engineering Modeling Perspectives • Analysis – for understanding • The objects represented in the models are real-world objects • Models focus on problem-domains concepts • They describe the real-world problem • Specification – for scoping and planning • The models include both real-world and software objects • The models describe logically what the system is to become • Implementation – for designing / building • The objects in the models are mostly software objects • The models focus on solution-oriented concepts • The models describe what the software system is or will be Coming up: Perspectives

  8. Perspectives Student name: String major: String GPA: real standing: Scode add(Course) drop(Course) -- Software representation of students; support registration in courses Analysis Specification Implementation Student -major: String -GPA: Real -standing: String Student name major GPA standing interests +add(Course) +drop(Course) -- Handle a registration in courses -- The set of students known to the registration system 0..1 1 CourseList -- Display a dynamic list courses Increasing Detail Real World Domain Software Implementation

  9. In the analysis perspective will I need a loop counter? • A. Yes if you have a loop • B. No • C. It depends (be able to say on what if you choose this  )

  10. Some Interesting UML Modeling Questions • How do we discover objects or classes? • When should we focus on problem-domain objects, solution-domain objects, or environment objects? • Should each perspective be captured by a different model or can they all be managed in one model? • How much detail should you put in a diagram, a view, or a model? Coming up: More UML Modeling Questions

  11. More UML Modeling Questions • How should you distribute responsibilities among classes? • What happens when classes get too big, i.e. inadequate distribution? • What happens when classes are too small, i.e. too fine of grain distribution? • What happens when there are a lot of dependency relationships between classes, i.e., inappropriate or ad hoc distribution? Coming up: More UML Modeling Questions

More Related