Uml

39
Documentation in Software Development and Architecture eleks.com

Transcript of Uml

Page 1: Uml

Documentation in Software Development and Architecture

eleks.com

Denys Skrypnyk
Не вистачає слайду з Схемками по Темплейту Сібіковського.
Denys Skrypnyk
Зараз Саша таке малює, тому можеш глянути в неї.
Halyna Hlynska
По темплейту Сібіковського в гугл доці не вийде. Тому що нам потрібен конструктор, щоб люди самі собі складали з квадратіків/стрілочок схемки тут та одразу правили. Зараз зроблю базову витяжку з усього нами намальованого.
Page 2: Uml

Agenda

• Documentation • What is good documentation• Tooling• UML• Other

Page 3: Uml

Documentation way back then…

• Readme.txt • Comments in code• 1-2 diagrams

Page 4: Uml

Documentation way back then…

• Booch diagram

Page 5: Uml

Documentation way back then…

Page 6: Uml

Documentation way back then…

• Jacobson use case

Page 7: Uml

Why modelling

• Visualize the entire system• Easier to communicate• Understand roadmap• Reduce risk

Page 8: Uml

Diagrams now

Page 9: Uml

UML

Page 10: Uml

Structure diagrams..emphasize the things that must be present in the system being modeled. Since structure diagrams represent the structure, they are used extensively in documenting the software architecture of software systems.

Page 11: Uml

Class diagramDescribes the structure of a system by showing the system's classes, their attributes, and the relationships among the classes

Page 12: Uml

Component diagramDescribes how a software system is split up into components and shows the dependencies among these components

Page 13: Uml

Composite structure diagramDescribes the internal structure of a class and the collaborations that this structure makes possible

Page 14: Uml

Deployment diagramDescribes the hardware used in system implementations and the execution environments and artifacts deployed on the hardware

Page 15: Uml

Object diagram - obsolete Object diagram could be considered as instance level class diagram which shows instance specifications of classes and interfaces (objects), slots with value specifications, and links (instances of association).

Page 16: Uml

Package diagramDescribes how a system is split up into logical groupings by showing the dependencies among these groupings

Page 17: Uml

Behavior diagrams

..emphasize what must happen in the system being modeled.

Since behavior diagrams illustrate the behavior of a system, they

are used extensively to describe the functionality of software

systems

Page 18: Uml

Activity diagramActivity diagram is UML behavior diagram which shows flow of control or object flow with emphasis on the sequence and conditions of the flow

Page 19: Uml

State machine diagramState machine diagram is a behavior diagram which shows discrete behavior of a part of designed system through finite state transitions.

Page 20: Uml

Use case diagram describes the functionality provided by a system in terms of actors, their goals represented as use cases, and any dependencies among those use cases

Page 21: Uml

Interaction diagrams

.. a subset of behavior diagrams, emphasize the flow of control and

data among the things in the system being modeled

Page 22: Uml

Timing diagramTiming diagrams are UML interaction diagrams used to show interactions when a primary purpose of the diagram is to reason about time.

Page 23: Uml

Sequence diagramSequence diagram is the most common kind of interaction diagram, which focuses on the message interchange between a number of lifelines.

Page 24: Uml

Communication diagramCommunication diagram is a kind of UML interaction diagram which shows interactions between objects and/or parts (represented as lifelines) using sequenced messages in a free-form arrangement.

Page 25: Uml

Interaction overview diagramInteraction overview diagrams provide overview of the flow of control where nodes of the flow are interactions or interaction uses

Page 26: Uml

UML Problem

UML is too technical for non-technical people but not technical enough for technical people

Page 27: Uml

WHY PEOPLE DON’T USE UMLDon’t know the notationUML is too complexNever took a UML classInformal notations do just fineArchitecture documentation not deemed important

Page 28: Uml

WHY PEOPLE USE UMLIt’s the standardTool supportUML is flexibleUML models are portableJust Need a Subset of the NotationArchitecture is important

Page 29: Uml

Self-documenting code

Page 30: Uml

XML Documentation

Page 31: Uml

Naming things• Use names to explain the purpose of variables, functions, etc.• Avoid using vague words like “handle” or “manage” – handleLinks,

manageObjects. What does either of these do?• Use active verbs – cutGrass, sendFile. Functions actively perform

something.

Page 32: Uml

Extracting functionsif(!el.offsetWidth || !el.offsetHeight) { }

function isVisible(el) { return el.offsetWidth && el.offsetHeight; }

if(!isVisible(el)) { }

Page 33: Uml

Introduce a variableif(!el.offsetWidth || !el.offsetHeight) {}

//Instead of extracting a function, we can also clarify this by introducing a variable:

var isVisible = el.offsetWidth && el.offsetHeight;If (!isVisible){}

Page 34: Uml

Tools available - Visio

Page 35: Uml

Draw.io

• Cloud-based• Rich integration• Free

Page 36: Uml

Gliffy.com

• Cloud-based• Rich integration• Free• Commercial for full

experience

Page 37: Uml

Mind Jet Mind Manager

• Tool for mind maps

Page 38: Uml

Sparx Enterprise Architect

• Tool for proffesional project documentation

Page 39: Uml

Inspired by Technology.Driven by Value.

Find us at eleks.com

Have a question? Write to [email protected]