course 3 7 march [email protected]/scoala/2018/pe/courses/pe03.pdf · simplification of...
TRANSCRIPT
![Page 2: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/2.jpg)
From Courses 1, 2…
Modeling
Modeling Languages◦ Graphic Languages
UML – History
UML – Definition
UML – Diagram Types
UML – Use Case Diagram◦ Actors
◦ Use Case
UML – Class Diagrams
2
![Page 3: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/3.jpg)
Software engineering
Phases for Developing Applications
Developing Models
Requirement Engineering
3
![Page 4: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/4.jpg)
Waterfall model...
4
![Page 5: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/5.jpg)
Spiral model5
![Page 6: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/6.jpg)
XP, TDD…
6
![Page 7: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/7.jpg)
Requirement Engineering:◦ Actors
◦ Scenarios
Case Study◦ Actors identification
◦ Scenarios identification (Obiective, Steps, Special cases)
◦ Class Diagrams
7
![Page 8: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/8.jpg)
What is a model?◦ simplification of reality
◦ A detailed plan system
(blueprints)
Why do we model?◦ To understand better what we do
◦ To focus on one issue at a time
Where do we use modeling?
8
![Page 9: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/9.jpg)
Viewing a system
Specifying its structure and / or behavior
Providing a template to assist in building
Documentation of decisions
9
![Page 10: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/10.jpg)
Using Use cases: to present requirements
With the help of Design: capture vocabulary and
problem domain
Using Process: capture processes and threads
With the help of Implementation: we model the
application
Using Deployment: capturing the system from an
engineering point of view
10
![Page 11: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/11.jpg)
Models influence the final solution
You can use different levels of precision
Good models have correspondent in reality
One model is not enough
11
![Page 12: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/12.jpg)
The analysis and the design of a project must be done before the implementation of the code
Currently, companies give special attention to this stage, since the production and the reuse of software depends on it
Modeling languages were created for the analysis and design of programs
A modeling language is an artificial language that can be used to express information or knowledge or systems
12
![Page 13: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/13.jpg)
Graphic languages: behavioral trees, business modeling language, EXPRESS (data modeling), flowchart, ORM (roles modeling), Petri nets, UMLdiagrams
Specific languages: algebraic modeling (AML), domain specific languages (DSL), architecture modeling (FSML), object modeling language, virtual reality modeling (VRML)
13
![Page 14: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/14.jpg)
Behavioral trees
14
![Page 15: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/15.jpg)
Business processes
EXPRESS (data modeling)
15
![Page 16: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/16.jpg)
Flowchart
16
![Page 17: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/17.jpg)
ORM (Object Role Modeling)
17
![Page 18: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/18.jpg)
Petri Nets
18
![Page 19: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/19.jpg)
Booch Method (Grady Booch) – analysis and oo design
19
![Page 20: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/20.jpg)
OMT (object-modeling technique)
20
![Page 21: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/21.jpg)
OOSE (Object-oriented software engineering)
21
![Page 22: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/22.jpg)
UML Diagrams
22
![Page 23: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/23.jpg)
UML (Unified Modeling Language) - it is the successor of the three best OO modeling languages : ◦ Booch (Grady Booch)
◦ OMT (Ivar Jacobson)
◦ OOSE (James Rumbaugh)
UML consists of the union of these modeling languages and in addition it has a greater expressiveness
23
![Page 24: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/24.jpg)
24
![Page 25: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/25.jpg)
"The Unified Modeling Language (UML) is a graphical language for visualizing,specifying, constructing, and documenting the artifacts of a software-intensive system.
The UML offers a standard way to write a system's blueprints, including conceptualthings such as business processes and system functions as well as concrete things suchas programming language statements, database schemas, and reusable software components."
25
![Page 26: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/26.jpg)
January 1997 - UML 1.0 was proposed for standardization by OMG (Object Management Group)
November 1997 - Version UML 1.1 was adopted like standard by OMG
Last version is UML 2.5
Official site: http://www.uml.org
26
![Page 27: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/27.jpg)
27
![Page 28: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/28.jpg)
Class Diagrams: classes (attributes, methods) and relations between classes
28
![Page 29: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/29.jpg)
Component Diagrams: main components and relations between them
29
![Page 30: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/30.jpg)
Composite structure diagrams: intern structure
30
![Page 31: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/31.jpg)
Deployment Diagram: hardware structure
31
![Page 32: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/32.jpg)
Object Diagrams: system structure at a given time
32
![Page 33: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/33.jpg)
Diagram package: the system is divided into packages with the relationships between them
33
![Page 34: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/34.jpg)
Activity diagrams: business presentation and workflow
34
![Page 35: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/35.jpg)
35
State diagrams: to present states of objects
![Page 36: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/36.jpg)
Use Case Diagrams: show the functionality of the system using actors, use cases, and dependencies between them
36
![Page 37: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/37.jpg)
Communication diagram: shows the interactions between objects (the dynamic behavior of the system) (actors: chef, stove, actions: cooking, firing, disconnection)
37
![Page 38: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/38.jpg)
Sequence Diagram: shows how objects communicate with each other in terms of sending messages
38
![Page 39: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/39.jpg)
39
It is a behavioral diagram that captures system requirements
Delimiting borders of the system The starting point is the document obtained
after requirements engineering Can present:◦ requirement specification (external) from the user’s
point of view◦ Specification of the system functionality in terms of
the system
Contain:◦ Use Cases = functionalities of the system◦ Actors = external entities with which the system
interacts◦ Relations
![Page 40: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/40.jpg)
40
It is a description of a set of sequences of actions (including variants) that executes a program when interacting with external entities (actors) and leading to a noticeable result
It can be a system, a subsystem, a class, a method
It is a program functionality
Specify what makes a program or subprogram
It does not specify how to implement a functionality
The identification of a Use Case is being done starting with the customer requirements and problem description
![Page 41: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/41.jpg)
41
Notation
Attributes
◦ Name = verbal phrase that denotes an operation or a behavior from the area of the problem
Restrictions
◦ The name is unique
Name
![Page 42: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/42.jpg)
42
Is a role that users play when interacting with an Use Case
It is an entity outside of the system
Interacts with the system:◦ Initiate execution of use cases
◦ It provides functionality for the realization of the use cases
It can be:◦ Human
◦ Software component
◦ Hardware component
![Page 43: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/43.jpg)
43
Notation
Attributes
Name = indicate the role which the actor plays in interacting with an Use Case
Restrictions
◦ The name is unique
* *
-
<>
![Page 44: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/44.jpg)
44
Established between two elements
Relation types:◦ Association: Actor – UseCase, UseCase – UseCase
◦ Generalization: Actor – Actor, UseCase - UseCase
◦ Dependence: UseCase - UseCase (<<include>>, <<extend>>)
![Page 45: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/45.jpg)
45
Modeled communication between the elements that connect them
Can appear between:◦ An actor and an UseCase (An actor initiates the
execution of a use case or it provides a functionality for its realization)
◦ Two Use Cases (data transfer, sending messages/ signals)
Notation
![Page 46: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/46.jpg)
46
It is between elements of the same type hierarchies
It models the situations in which an item is a special case of another element
The particular element inherits the relations in which the general element is involved in
Notation:
![Page 47: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/47.jpg)
47
* *
-
<>
* *
-
<>
* *
-
<>
Student Professor
Person
Authentication
Log Event
* *
-
<>
System
Log
![Page 48: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/48.jpg)
48
Figure drawing
Drawing with SVG Drawing in graphics mode
![Page 49: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/49.jpg)
49
Between two Use Cases
Modeling situations in which◦ An Use Case uses the behavior from another Use
Case (<<include>>)
◦ The behavior of a Use Case can be extended by another Use Case (<<extend>>)
Notation
![Page 50: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/50.jpg)
50
![Page 51: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/51.jpg)
51
![Page 52: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/52.jpg)
52
Provides flights
list
Take client optionsAsks flights list
according to customer options
<<include>> <<include>>
![Page 53: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/53.jpg)
53
Object, Class, Instance
Object: Entity with: identity, state, behavior
◦ Example: My yellow tennis ball with a diameter of 10 cm, which jumps
Class: Description of a set of objects with the
same structural characteristics, the same behavioral characteristics◦ Example: balls that have color, diameter, usage, jump
Instance: an object belonging to a class
◦ Example: Viorel Popescu is a Student
![Page 54: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/54.jpg)
54
It is any approach that includes◦ Encapsulating data◦ Inheritance◦ Polymorphism
Encapsulating data (example Point class)◦ It means putting together data (attributes) and
code (methods)
◦ The data can be modified (only) by methods
◦ Data hiding: we do not care how it provides services, but that it offers
◦ If you change the layout or implementation, the interface remains unchanged
![Page 55: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/55.jpg)
55
Inheritance:◦ Some classes are specializations (customizations) of
other classes◦ A subclass has (inherited) characteristics of super-class,
it can expand in a certain way◦ An instance of a derived class is automatically an
instance of the base class◦ Example (Student - Person)
Polimorfism◦ Interpretation of semantics of a method call is made by
the object who receives the call◦ Example: I tell a form: DRAW UP. It draws 4 lines if it is a
square or it makes some points around the center, in case it is a circle
◦ Also, I do not care who does the job or how it is done
![Page 56: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/56.jpg)
56
Purpose:
◦ Modeled vocabulary of the system to be developed
◦ Capture semantic connections and interactions that are
established between components
◦ Used to model the structure of a program
Contains
◦ Classes/Interfaces
◦ Objects
◦ Relations (Association, Aggregation, Generalization,
Dependence)
![Page 57: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/57.jpg)
57
Modeled vocabulary = identifies the concepts that the client or the programmer uses to describe the problem solution
Elements of classes:
◦ Name: identifies a class
◦ Attributes: properties of the class
◦ Methods: implementing a service that can be called by any instance of the class
Name
Attributes (private)
Methods (private,
protected)
![Page 58: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/58.jpg)
58
Modeled concept of inheritance between classes Also called the relationship of type "is a"
![Page 59: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/59.jpg)
59
![Page 60: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/60.jpg)
60
Expresses a semantic connection or interaction between objects belonging to different classes
As the system evolves new connections between objects can be created, or existing connections can be destroyed
An association interact with objects through its association heads
Elements:◦ Name: describe the relation◦ Heads of association
Name = role of the object in relation Multiplicity = how many instances of a class correspond to a
single instance of the other class
![Page 61: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/61.jpg)
The relation Student – Course◦ Student: follows 0 or more courses, courses know
that you follow;
◦ Course: it can be followed by several students, it does not know students who follow it
61
![Page 62: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/62.jpg)
Relation Course – Professor◦ Course: I am taught by a teacher, I know the holder
◦ Profesor: I can teach many courses, I know the courses they teach
62
![Page 63: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/63.jpg)
63
It is a particular case of the association relation It models a part-whole relationship type It can have all the elements of partnership agreements,
but in general it only specifies the multiplicity It is used to model situations in which an object is
made up of several components
![Page 64: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/64.jpg)
64/27
![Page 65: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/65.jpg)
65
![Page 66: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/66.jpg)
Get students with scholarships◦ Actors
◦ Use Cases
66
![Page 67: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/67.jpg)
Link: http://argouml-downloads.tigris.org/argouml-0.34/
Zip archive should only be unzipped
You need to have Java installed◦ In Path you should also have c:\Program
Files\Java\jdk1.6.0_03\bin
◦ Variabile: JAVA_HOME=c:\Program Files\Java\jdk1.6.0_03\
67
![Page 68: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/68.jpg)
Modeling – Why?
Graphic Languages
UML◦ Structural: classes
◦ Behavioral: use-case
◦ Interactions
68
![Page 69: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/69.jpg)
1) Give an example of a situation in which it is sufficient only a chart or a diagram to do something.
2) Give an example of a situation where you need more than a chart or a diagram to do something.
3) What is the link between use-case diagrams and class diagrams?
69
![Page 70: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/70.jpg)
OMG Unified Modeling LanguageTM (OMG UML), Infrastructure, Version 2.2, May 2008, http://www.omg.org/docs/ptc/08-05-04.pdf
ArgoUML User Manual, A tutorial and reference description, http://argouml-stats.tigris.org/documentation/printablehtml/manual/argomanual.html
Ovidiu Gheorghieş, Curs IP, Courses 3, 4
UML Diagrams, Regie.ro
70
![Page 71: Course 3 7 March adiftene@info.uaicadiftene/Scoala/2018/PE/Courses/PE03.pdf · simplification of reality ... Last version is UML 2.5 ... requirement specification (external) from](https://reader031.vdocument.in/reader031/viewer/2022022013/5b29d36d7f8b9a0b1e8b4be9/html5/thumbnails/71.jpg)
OOSE: http://cs-exhibitions.uni-
klu.ac.at/index.php?id=448
ArgoUML: http://argouml-
stats.tigris.org/nonav/documentation/manual-0.22/
Wikipedia
71