Unformatted text preview:

27 MarchSoftware Engineering Elaborated StepsWhat is UML?Modeling ReviewModeling Languages and ProcessesUML HistoryOMG Model Oriented ArchitectureWhy Study UML?What UML Is and Isn’tReferencesUML Views: Diagram TypesSlide 12Classification of Diagram TypesUse Case DiagramExample of Use CaseUse Case ExtensionsSlide 17Slide 18Use Case UsageClass DiagramsClass RelationshipsClass Diagram ExampleObject DiagramsSequence DiagramExample Sequence DiagramCollaboration DiagramExample Collaboration DiagramStatechart DiagramExample of Statechart DiagramActivity DiagramExample of Activity DiagramAnd…Example of Component DiagramExample of Deployment DiagramPitfalls of UMLSymptoms of UML Fever (Bell, Queue, March 2005)How would you use these different tools?27 MarchUML: Unified Modeling LanguageSoftware Engineering Elaborated StepsConceptRequirementsArchitectureDesignImplementationUnit testIntegrationSystem testMaintenanceWhat is UML?software blueprint language: common vocabulary for analysts, designers, and programmersnot for the customerapplicable to object-oriented problem solvingbegins with the construction of a modelmodels consist of objects interact by sending messagesattributes: things they knowbehaviors or operations: things they can do stateAlso used for business processesModeling ReviewBased on abstractionlooking only at relevant informationhiding detailsMultiple viewsas orthogonal as possibleeach view has information thatis uniqueappears in other viewscommon information is consistentModeling Languages and ProcessesLanguage: syntaxusually graphicalused to express designProcess: steps to take to create a designMany processes, not a lot of agreementGeneral consensus has built around UML as a languageUML HistoryThree well received models in early 90sGrady Booch (Rational), Object Oriented Analysis and DesignJim Rumbaugh (GE), Object Modeling TechniqueIvar Jacobson (Ericsson), Object Oriented Software EngineeringBy ’95, all three “amigos” were working for Rational (acquired by IBM in 2002)OMG adopted UML in ’97Version 2.0 completed in 2004OMG Model Oriented ArchitectureUML - graphical language for visualizing, specifying, constructing, artifacts MOF - integration framework for metadata and dataSpecification to translate MOF model to text artifacts Query language…CWM - semantic context for interchange of metadataWhy Study UML?software engineering cultural literacyuseful toolnatural model for designlots of good toolsRational generates C++ and Java codeSome people expect tools to generate codegood for prototypinggood for development?Would this be good or bad?What UML Is and Isn’tSyntax onlyStandardizedLanguage and tool independentGeneric enough to beUsable in lots of environmentsAnd leaving you lots of space to misuse itExtendable through “stereotypes” New symbols built up from basic onesUsed to develop a business process modelNot a process (there is a companion one)Referenceswww.uml.orgFowler, UML Distilled, Addison-Wesley3rd edition, 2004, covers 2.0ShortGood summary charts on inside coversUML Views: Diagram TypesUse Case – outside view (scenarios)Class – classes and relationships among themObject – instances instead of classesSequence – how and when objects interact through messagesCollaboration – how objects interact through rolesStatechart – object behaviors as reflected through states (single class)Activity – flow diagram covering multiple classes and their interactionsComponent – analogous to class but for code moduleDeployment – physical configuration of system nodes and their communicationUse caseClassObjectSequenceCollaborationStatechartActivityComponentDeploymentClassification of Diagram TypesDiagram Static/Dynamic PhaseUse case Dynamic RequirementsClass Static DesignObject Static DesignSequence Dynamic DesignCollaboration Dynamic DesignStatechart Dynamic DesignActivity Dynamic DesignComponent Static CodeDeployment Static DeployUse Case DiagramDefines the outside viewElementsActors (stick figures): anything outside the system that interacts with itUse cases (ovals): procedures by which the actor interacts with the systemSolid lines: indicate how actors interactExample of Use CaseUse Case ExtensionsDotted lines: show dependencies between proceduresIncludes (subroutine)Extends (variation)Example of Use CaseExample of Use Case(customer name)Use Case Usagedetermining features (requirements)basis for communicating with clientsgenerating test casesClass DiagramsStatic structure of the system. What interacts, but not what happens.Class notation is a rectangle divided into three partsclass name (abstract classes are in italics) attributesoperationsClass Relationshipsassociation relationship between instances of the two classesmay have a role name to clarify the nature of the associationlink connecting two classesnavigability arrow shows which direction the association can be traversed or queried. Also shows ownershipNo arrow means bidirectionalmultiplicity of an association end is the number of possible instances of the class associated with a single instance of the other end0..1 zero or one instancen . . m n to m instances0..* or * no limit on the number of instances (including none)1 exactly one instance1..* at least one instanceaggregation association in which one class belongs to a collectiondiamond end pointing to the part containing the whole. generalizationinheritance link indicating one class is a superclass of the otherClass Diagram ExampleObject Diagramsobject diagram: instantiates class diagramSequence DiagramInteractions between objectsElementsObjects (oblong boxes or actors)Box implies creationMessages (solid lines for calls, dotted for replies): interactions between objectsMay include iterations and conditionsObject lifelines (dotted lines): life time of objectActivation bar (vertical oblong box on lifeline): thread of control for synchronous systemsExample Sequence DiagramCollaboration DiagramAlternative to sequence diagramLoses timing informationRelative sequence may be added with order numbersFocus on object roles instead of the times that


View Full Document

UNC-Chapel Hill COMP 523 - UML- Unified Modeling Language

Download UML- Unified Modeling Language
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view UML- Unified Modeling Language and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view UML- Unified Modeling Language 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?