Introduction to UML Lecture # 1
Total Page:16
File Type:pdf, Size:1020Kb
Introduction to UML Lecture # 1 Department of Computer Science and Technology University of Bedfordshire Written by David Goodwin, based on the book Applying UML and Patterns (3rd ed.) by C. Larman (2005). Modelling and Simulation, 2012 Introduction to Outline UML Course Course Information Information UML Structure UML Diagrams Behaviour Structure Diagrams Diagrams Interaction Behaviour Diagrams Diagrams Interaction Diagrams Modelling Use Case summary Modelling Use Case summary Introduction to UML Course Information UML Structure Diagrams Behaviour Course Information Diagrams Interaction Diagrams Modelling Use Case summary Introduction to Aims and Objectives UML Course Information I To understand the software development process, UML Structure including requirement specification, analysis, design, Diagrams Behaviour implementation and testing. Diagrams Interaction I To learn and use various methodologies in software Diagrams development, Modelling Use Case I To understand the process of modelling real world summary problems and systems using UML, I To develop skills on object oriented software development (OOSD). Introduction to Assesment UML Course Information UML Structure I Assignment: Diagrams Behaviour th I One long, report style assignment, 50% (due 1630 27 Diagrams Interaction September 2012) Diagrams I Exam: Modelling th Use Case I Final exam (Perception), 50% (2 hours, 1900-2100 27 summary September 2012) Introduction to Books UML Course Information I Applying UML and patterns by Craig Larman UML Structure I Object-Oriented Software Engineering { a use case Diagrams Behaviour driven approach (revised edition) by Ivar Jacobson Diagrams Interaction I UML Distilled (2nd Edition) by Martin Fowler Diagrams I Software Engineering (4th Edition) by Ian Sommerville Modelling Use Case I Developing Applications with Java and UML by Paul R summary and Reed Jr I Practical Software Engineering by Leszek A Maciaszek and Bruc Lee Liong Introduction to UML Course Information UML Structure Diagrams Behaviour UML Diagrams Interaction Diagrams Modelling Use Case summary Introduction to What is UML UML Course Information I UML stands for Unified Modelling Language. UML I An industry standard modelling language for Structure Diagrams object-oriented software engineering. Behaviour Diagrams I Developed in the mid-1990's and standardised in 1997 Interaction Diagrams (UML 1.1). Modelling I UML 2.x is the current revision in use (we will focus on Use Case UML 2.0, revision from 2005). summary I UML includes a set of graphic notation techniques to create visual models of object-oriented software-intensive systems. Introduction to List of object-oriented programming UML languages Course Information UML I Languages designed mainly for object-oriented Structure programming: Diagrams Behaviour I C++ Diagrams Interaction I Java Diagrams I C# Modelling I Python Use Case summary I Languages with some object-oriented features: I Visual Basic I Fortran I Perl I PHP Introduction to List of Unified Modelling Language UML tools Course NAME PLATFORM LICENSE Information UML ArgoUML Cross-platform (Java) Open source Structure Diagrams astah* Multi-platform Commercial, Free Community version Behaviour Diagrams Interaction Dia Cross-platform (GTK+) Open source Diagrams Modelling Modelio Windows, Linux Open source Use Case Rational Rhapsody Windows, Linux, MacOS X Commercial summary Software Ideas Modeler Windows, Linux Commercial, Freeware for non-commercial StarUML Windows Open source Umbrello UML Modeller Unix-like; Windows Open source Visual Paradigm for UML Cross-platform (Java) Commercial, Free Community Edition Introduction to UML 2.0 UML Course Information UML Structure I UML 2.0 defines thirteen types of diagrams: Diagrams Behaviour I divided into three categories: Diagrams I Six diagram types represent static application Interaction Diagrams structure; Modelling I Three diagram types represent general types of Use Case behaviour; summary I Four diagram types represent different aspects of interactions. Introduction to Class Diagram UML Course Information Shows a collection of static model elements such as classes UML Structure and types, their contents, and their relationships. Diagrams Behaviour Diagrams Interaction Diagrams Modelling Use Case summary Introduction to Object Diagram UML Course Information Depicts objects and their relationships at a point in time, UML typically a special case of either a class diagram or a Structure Diagrams communication diagram. Behaviour Diagrams Interaction Diagrams Modelling Use Case summary Introduction to Component Diagram UML Depicts the components that compose an application, system, or enterprise. The components, their Course interrelationships, interactions, and their public interfaces are Information UML depicted. Structure Diagrams Behaviour Diagrams Interaction Diagrams Modelling Use Case summary Introduction to Composite Structure Diagram UML Course Information Depicts the internal structure of a classifier (such as a class, UML component, or use case), including the interaction points of Structure Diagrams the classifier to other parts of the system. Behaviour Diagrams Interaction Diagrams Modelling Use Case summary Introduction to Package Diagram UML Shows how model elements are organized into packages as Course well as the dependencies between packages. Information UML Structure Diagrams Behaviour Diagrams Interaction Diagrams Modelling Use Case summary Introduction to Deployment Diagram UML Shows the execution architecture of systems. This includes Course Information nodes, either hardware or software execution environments, UML as well as the middleware connecting them. Structure Diagrams Behaviour Diagrams Interaction Diagrams Modelling Use Case summary Introduction to Use Case Diagram UML Shows use cases, actors, and their interrelationships. Course Information UML Structure Diagrams Behaviour Diagrams Interaction Diagrams Modelling Use Case summary Introduction to Activity Diagram UML Depicts high-level business processes, including data flow, or Course to model the logic of complex logic within a system. Information UML Structure Diagrams Behaviour Diagrams Interaction Diagrams Modelling Use Case summary Introduction to State Machine Diagram UML Describes the states an object or interaction may be in, as well as the transitions between states. Formerly referred to Course as a state diagram, state chart diagram, or a state-transition Information UML diagram. Structure Diagrams Behaviour Diagrams Interaction Diagrams Modelling Use Case summary Introduction to Sequence Diagram UML Models the sequential logic, in effect the time ordering of Course messages between classifiers. Information UML Structure Diagrams Behaviour Diagrams Interaction Diagrams Modelling Use Case summary Introduction to Communication Diagram UML Shows instances of classes, their interrelationships, and the Course message flow between them. Communication diagrams Information UML typically focus on the structural organisation of objects that Structure send and receive messages. Formerly called a Collaboration Diagrams Behaviour Diagram. Diagrams Interaction Diagrams Modelling Use Case summary Introduction to Timing Diagram UML Course Information UML Structure Diagrams Behaviour Depicts the change in state or condition of a classifier Diagrams Interaction instance or role over time. Typically used to show the change Diagrams in state of an object over time in response to external events. Modelling Use Case summary Introduction to Interaction Overview Diagram UML A variant of an activity diagram which overviews the control flow within a system or business process. Each node/activity Course within the diagram can represent another interaction Information UML diagram. Structure Diagrams Behaviour Diagrams Interaction Diagrams Modelling Use Case summary Introduction to UML Course Information UML Structure Diagrams Behaviour Modelling Diagrams Interaction Diagrams Modelling Use Case summary Introduction to System development UML Course Information I System development is model building UML I Complexity of a large project Structure Diagrams I A large number of components Behaviour Diagrams I A large amount of team work Interaction Diagrams I Linguistic communication between teams or between team members is neither accurate nor reliable Modelling Use Case I Models are standard representations and they are accurate and reliable summary I Modelling is the process of developing a model I Various types of models for different purposes and stages in software development Introduction to Types of models UML I Various types of models Course I Requirement model describes Information I Users' requirements UML I Functionality Structure Diagrams I Analysis model gives Behaviour System specifications Diagrams I Interaction I A robust and changeable structure and structured Diagrams components Modelling Use Case I Design model presents summary I A refined structure to the current implementation environment I Implementation model documents I Details of how a design is implemented I Test model gives I Verification I Validation Introduction to Architecture UML Course Information I Architecture of a modelling language UML Structure I Model architecture is a set of modelling language, Diagrams Behaviour notation and modelling techniques. Diagrams I A modelling language contains: Interaction Diagrams I Syntax - how it looks Modelling I Semantics - what it means Use Case I Pragmatics - heuristics and rules of thumb for using it summary I UML I Unified Modelling Language