Introduction To UML - Warwick

2y ago
15 Views
2 Downloads
727.47 KB
40 Pages
Last View : 5d ago
Last Download : 3m ago
Upload by : Vicente Bone
Transcription

Introduction to UMLLecture # 1Department of Computer Science and TechnologyUniversity of BedfordshireWritten by David Goodwin,based on the book Applying UML and Patterns (3rd ed.)by C. Larman (2005).Modelling and Simulation, 2012

OutlineCourse InformationIntroduction toUMLCourseInformationUMLUMLStructure DiagramsBehaviour DiagramsInteraction ionDiagramsModellingUse CasesummaryModellingUse Casesummary

Introduction toUMLCourseInformationUMLStructureDiagramsCourse ellingUse Casesummary

Aims and ObjectivesIntroduction toUMLCourseInformationIIIITo understand the software development process,including requirement specification, analysis, design,implementation and testing.To learn and use various methodologies in softwaredevelopment,To understand the process of modelling real worldproblems and systems using UML,To develop skills on object oriented softwaredevelopment ctionDiagramsModellingUse Casesummary

Introduction ramsAssignment:One long, report style assignment, 50% (due 1630 27thSeptember ellingthFinal exam (Perception), 50% (2 hours, 1900-2100 27September 2012)Use Casesummary

BooksIntroduction toUMLCourseInformationIApplying UML and patterns by Craig LarmanIObject-Oriented Software Engineering – a use casedriven approach (revised edition) by Ivar JacobsonStructureDiagramsIUML Distilled (2nd Edition) by Martin FowlerInteractionDiagramsISoftware Engineering (4th Edition) by Ian SommervilleIDeveloping Applications with Java and UML by Paul Rand Reed JrIPractical Software Engineering by Leszek A Maciaszekand Bruc Lee LiongUMLBehaviourDiagramsModellingUse Casesummary

Introduction iourDiagramsInteractionDiagramsModellingUse Casesummary

What is UML IUML stands for Unified Modelling Language.IAn industry standard modelling language forobject-oriented software engineering.IDeveloped in the mid-1990’s and standardised in 1997(UML 1.1).IUML 2.x is the current revision in use (we will focus onUML 2.0, revision from 2005).IUML includes a set of graphic notation techniques tocreate visual models of object-orientedsoftware-intensive systems.Introduction rDiagramsInteractionDiagramsModellingUse Casesummary

List of object-oriented programminglanguagesIntroduction toUMLCourseInformationILanguages designed mainly for object-orientedprogramming:IIIIIC JavaC#PythonLanguages with some object-oriented features:IIIIVisual agramsInteractionDiagramsModellingUse Casesummary

List of Unified Modelling LanguagetoolsIntroduction oss-platform (Java)Open ial, Free Community versionBehaviourDiagramsDiaCross-platform (GTK )Open sourceModelioWindows, LinuxOpen sourceRational RhapsodyWindows, Linux, MacOS XCommercialSoftware Ideas ModelerWindows, LinuxCommercial, Freeware for non-commercialStarUMLWindowsOpen sourceUmbrello UML ModellerUnix-like; WindowsOpen sourceVisual Paradigm for UMLCross-platform (Java)Commercial, Free Community EditionUMLInteractionDiagramsModellingUse Casesummary

Introduction toUMLUML 2.0CourseInformationUMLIUML 2.0 defines thirteen types of diagrams:Idivided into three categories:IIISix diagram types represent static applicationstructure;Three diagram types represent general types ofbehaviour;Four diagram types represent diff ctionDiagramsModellingUse Casesummary

System developmentISystem development is model buildingIComplexity of a large projectIIIIIIA large number of componentsA large amount of team workLinguistic communication between teams or betweenteam members is neither accurate nor reliableModels are standard representations and they areaccurate and reliableModelling is the process of developing a modelVarious types of models for different purposes andstages in software developmentIntroduction rDiagramsInteractionDiagramsModellingUse Casesummary

Types of modelsIIntroduction toUMLVarious types of modelsIRequirement model describesIIIAnalysis model givesIIIA refined structure to the current implementationenvironmentImplementation model documentsIISystem specificationsA robust and changeable structure and structuredcomponentsDesign model presentsIIUsers’ requirementsFunctionalityDetails of how a design is implementedTest model msModellingUse Casesummary

ArchitectureIntroduction toUMLCourseInformationIArchitecture of a modelling languageIIModel architecture is a set of modelling language,notation and modelling techniques.A modelling language contains:IIISyntax - how it looksSemantics - what it meansPragmatics - heuristics and rules of thumb for using DiagramsModellingUse CasesummaryIUMLIIUnified Modelling Language is commonly acceptedIdea first came from Ivar Jacocson in 1997

Requirements ModelIntroduction toUMLCourseInformationIUsers’ requirements in software engineeringIIIIIIA client/end-user’s needs and expectationsEssential characteristics of the client/end-user’s goalThey are purely the user’s view of a systemRequirements should be problem-based and not describesolutions (Remember that no solution has yet beendeveloped)Requirements are often given in terms of what actuallyhappens within a physical, chemical, biochemical,business, transportation,. . . process.Requirements are modeled using Use Case actionDiagramsModellingUse Casesummary

Use Case diagram - syntaxIIntroduction toUMLActor - interaction with a process often initialised haviourDiagramsIUse case - a series events taking place within a processand they are often triggered by an actorInteractionDiagramsModellingUse CasesummaryIRelationship - information flow between an actor and ause case or between two use cases

Use Case diagram - pragmaticsIIdentify actorsIIIIdentify use casesIIIIIWhat are entities outside of a process which triggerinformation exchange with the process?Can we classify them?What are the main tasks of each actor?How should the process response to each actor?A use case should link to a scenario representing whathappens in the process in response to an actorA use case should contain a complete course of eventsrelated to the scenarioAdd relationshipIWe need to pay extra attention on those between usecasesIntroduction rDiagramsInteractionDiagramsModellingUse Casesummary

Use Case diagram - semanticsIAn actor represents anything that is outside of a processbeing described and that needs to exchange informationwith the processIIIIIIAn individual person (e.g. an end-user, an engineer)A group of people who play the same role (e.g. cashersin a bank)An individual that can play different roles should berepresented as several actors according to his role in aprocess (e.g. HoD, researcher, lecturer)A machineAn object.Introduction rDiagramsInteractionDiagramsModellingUse Casesummary

Use Case diagram - eventsIIntroduction toUMLA use case represents a special sequence of eventstriggered by an actorIExample: initialising a process through a DiagramsInteractionDiagramsModellingUse CaseIIThe actor triggers a sequence of events which takeplace in a processA Use Case can contain the following eventsIIIIdisplay a list of variablesAccept values given by the actor and assigned to thevariablesgive a warning signal if the values given are out ofrangegive acknowledgementsummary

Use Case diagram - relationshipIntroduction toUMLCourseInformationIRelationship represents information exchange betweenan actor and a Use Case or between two Use CasesIDifferent types of relationship exiting between an actorand a use case and between two use cases:IIOrdinary relationship showing the simple informationexchanges between an actor and a use case or betweentwo use casesThe symbolis used to represent thistype of nteractionDiagramsModellingUse Casesummary

Use Case diagram - relationshipIIAn Extend relationship exists between two similar UseCases where the second one has some extra activities,that is, the activities of the first Use Case are extendedin the second oneIIIThe first Use Case sends information to the secondUse Case to invoke the extra activitiesTerms:1) first Use Case: base Use Case;2) second Use Case: extending Use Case (which hastwo sections, one is name and the other is thecondition for the extra activities);3) the condition: extension point.The Symbolthis type of relationshipis used to representIntroduction rDiagramsInteractionDiagramsModellingUse Casesummary

Use Case diagram - exampleIThink about a cash machine (atm). You can withdrew 10 and 20 notes from your account through a cashmachine. The cash machine will check your pin,account balance, etc. If you withdrew 20, the machinewill simply dispense two 10 notes. If you withdrew,say, 50, the machine will dispense two 20s and one 10. This means that the machine check the withdrewamount and then decide what notes will be given out.This can be expressed as shown in the following.Introduction rDiagramsInteractionDiagramsModellingUse Casesummary

Use Case diagram - relationshipIntroduction toUMLCourseInformationIIA Generalisation relationship also exists between twouse casesIIIIA group of use cases may have some common activitiesA generalised use case contains those commonactivities extracted from the group use casesWhat left to the group of use cases are the specificactivitiesThe Symbolis used to represent thistype of nteractionDiagramsModellingUse Casesummary

Use Case diagram - exampleIIIIIThink about auto-stamp machine where you can buy1st class and 2nd class stamps. Consider two Use Case,one is for 1st class stamps and the other is for 2nd classstamps. Both need to check coins you insert into themachine, calculate balance, dispense changes butdispense different stamps.The common activities are checking coins, calculatingbalance and giving change.Special activities are dispensing 1st class stamps anddispensing 2nd class stamps.Extracting the common activities from the two usecases and placing them into a new use case forms ageneralised use caseIntroduction rDiagramsInteractionDiagramsModellingUse Casesummary

Introduction ehaviourDiagramsInteractionDiagramsModellingUse Casesummary

Key TermsIntroduction rDiagramsInteractionDiagramsModellingUse Casesummary

I UML Distilled (2nd Edition) by Martin Fowler I Software Engineering (4th Edition) by Ian Sommerville I Developing Applications with Java and UML by Paul R and Reed Jr I Practical Software Engineering by Leszek A Maciaszek and Bruc Lee Liong. Introduction to UML Course Information UML

Related Documents:

18/12/06 Introduction à UML 4 Le méta-modèle UML UML : langage permettant de créer des modèles, UML : modélisation des modèles, un méta-modèle. Le méta-modèle UML est en 4 couches: (M3) métamétamodèle : (concept de métaclasse) Définit le langage pour la spécification des metamodèles, (M2) métamodèle : (concept de classe)

to Design Patterns Part III Modeling Behavior: State Machines etc. Literature on UML §Official standard documents by OMG: www.omg.org, www.uml.org §Current version is UML 2.0 (2004/2005) §OMG documents: UML Infrastructure, UML Superstructure §Books: Pfleeger: Software Engineering 3rd ed., 2005 (mostly Chapter 6) Rumbaugh, Jacobson, Booch:

Praise for UML Distilled “UML Distilled remains the best introduction to UML notation. Martin’s agile and pragmatic approach hits the sweet spot, and I wholeheartedly recommend it!” —Craig Larman Author of Applying UML and Patterns “Fowler cuts through the complexity of UML to get users started quickly.”

diagramme de classes stereotype NomClasseAbstraite from nomPaquetage - attributPrivate : Type valeur # attributProtected : Type attributPublic . [UML 1.3] OMG UML Specification v. 1.3, OMG doc# ad/06-08-99 [UML 1.4] OMG UML Specification v. 1.4, UML Revision Task Force recommended final draft,

OOAD with UML Object Oriented Analysis and Design Using the UML . 2 UML Applied - Object Oriented Analysis and Design using the UML . . Objects 23 Terminology 24 The Object Oriented Strategy 24 Summary 25 AN OVERVIEW OF THE UML 26 The Use Case Diagram 27 The Class Diagram 28

UML unifies a number of visual design methodologies in software engineering, business modeling and management, database design, and others. UML Class diagrams are a subset of UML that is suitable for conceptual modeling of classes and databases Most used type of UML diagrams UML is also a graphic language for modeling dynamic aspects of a

To understand the UML, you need to form a conceptual model of the language, and this requires learning three major elements: Basic building blocks of the UML Rules Common Mechanisms in the UML Basic building blocks of the UML: Vocabulary of the UML can be defined 1. Things 2. Relationships 3. Diagrams Things in the UML

Army training centers, and other training activities under the control of Headquarters (HQ), TRADOC and to all personnel, military and civilian, under the control of HQ TRADOC, to include Army elements stationed within Interservice Training Review Organizations (ITRO) for AIT, who interact with Trainees/Soldiers undergoing IET conducted on an installation, the commander of which is subordinate .