2. 2
Analiza i dizajn korištenjem UML
Prednosti vizualnog modeliranja
Povijesni razvoj UML-a
Vizualno modeliranje korištenjem UML-a
Iterativni razvojni proces
3. 3
Računalni sustavPoslovni proces
Narudžba
Proizvod
Način otpreme
”
Vizualno modeliranje
• Modeliranje ima zadaću prepoznati bitne dijelove
sustava
• Vizualno modeliranje je modeliranje koje koristi
standardno grafičko označavanje
4. 4
Vizualno modeliranje prepoznaje
ključne dijelove procesa
• Analiza slučajeva korištenja (use cases) –
sagledavanje poslovnog procesa iz perspektive
korisnika
• Vizualno modeliranje
• prepoznaje poslovne objekte i logiku
• analizira i oblikuje programsku podršku
• savladava se kompleksnost
Model sustava preslikava se u fizičku arhitekturu
Vizualnim modeliranjem potiče se višestruka
upotrebljivost komponenti
5. 5
Unified Modeling Language - UML
UML objedinjava
koncepte modeliranja podataka (dijagram entiteta i odnosa među
njima)
modeliranje poslovanja – radnog procesa
modeliranje objekata
modeliranje komponenti
standardni jezik za vizualizaciju, specificiranje,
konstruiranje i dokumentiranje složenih softverskih
sustava
Može se koristiti tijekom cijelog razvojnog ciklusa i
neovisno o tehnikama implementacije
6. 6
Povijest UML-a
Tijekom 1990-ih, tri jezika za modeliranje su se
unificirali (Booch, OOSE, OMT)
Ciljevi unificiranja:
omogućiti modeliranje sustava od koncepata do
izvršnih programa korištenjem objektno-orijentiranih
tehnika
dati učinkovit alat za manipuliranje kompleksnim
sustavima
stvoriti jezik za modeliranje podjednako razumljiv
ljudima i računalima
7. 7
Razlozi za korištenje UML
Želja nam je razvijati softver koji će biti
kvalitetan
koristan
omogućavati održavanje
Za trajno osiguravanje ovih zahtjeva potrebno je
razviti svima razumljiv i jednostavan model
(gradnja pseće kućice i nebodera)
8. 8
Tri osnovne kategorije
u UML gramatici
Stvari, sudionici (objekti)
Odnosi među njima
Dijagrami – pogodno složeni objekti i odnosi
među njima
9. 9
UML podržava
razvoj mnogih aplikacija
klase
particioniranje
aplikacija
poslovni objekti
relacije
poslovni proces
objekti
primjeri korištenja
veliki sustavi
scenariji
Komponente
Microsoft
ActiveX/COM
Microsoft
ORDBMS
Oracle
CORBA
OMG
Modeli specifični za
određenu platformu
Java
C#C++
Dijelovi modela
neovisni o platformi*
10. 10
Korištenje UML-a
prikaz dosega sustava i njegovih glavnih funkcija
korištenjem slučajeva korištenja i sudionika
prikaz konkretnih slučajeva s dijagramima
međudjelovanja
prikaz statičke strukture sustava korištenjem dijagrama
klasa
modeliranje ponašanja objekata pomoću tranzicijskih
dijagrama.
prikaz arhitekture fizičke implementacije pomoću
dijagrama komponenti i distribucije
Editor's Notes
Visual modeling is the graphic representation of objects and systems of interest using graphical languages. Visual modeling languages may be General-Purpose Modeling (GPM) languages (e.g., UML, Southbeach Notation, IDEF) or Domain-Specific Modeling (DSM) languages (e.g., SysML). They include industry open standards (e.g., UML, SysML), as well as proprietary standards, such as the visual languages associated with VisSim, MATLAB and Simulink, OPNET, and NI Multisim. VisSim is unique in that it provides a royalty-free, downloadable Viewer that lets anyone open and interactively simulate VisSim models. Visual modeling languages are an area of active research that continues to evolve, as evidenced by increasing interest in DSM languages, visual requirements, and visual OWL (Web Ontology Language).[1]
The Unified Modeling Language (UML) is a general-purpose modeling language in the field of software engineering, which is designed to provide a standard way to visualize the design of a system.[1]
It was created and developed by Grady Booch, Ivar Jacobson and James Rumbaugh at Rational Software in the 1990s.[2]
In 1997 it was adopted by the Object Management Group (OMG), and has been managed by this organization ever since. In 2000 the Unified Modeling Language was accepted by the International Organization for Standardization (ISO) as an approved standard. Since then it has been revised to cover the latest revision of UML.[3]
Core Message: Modeling captures essential parts of the system
Key Point 1: Computer system basically automate business processes. However, it’s not easy to build software systems on time and within budget.
Key Point 2: Building a complex software system requires blueprint. You don’t construct a building without a blueprint. Visual modeling is the blueprint for software systems.
Conclusion: VM is a key to successful software development
Core Message: VM captures business process
Key Point 1: Understanding business process is hard. If an architect and developers don’t understand the business process, which is the requirement for the system, you can’t build the proper system.
Key Point 2: Use case is a technique to capture business process from user’s perspective. Use case is easy to understand because business process is defined in textual format, not in computer lingo.
Example: Use the previous slide to describe use case. The system may handle order entry, inventory, and payroll processes. This particular use case only looks at order entry process.
Conclusion: VM captures business process
Core Message: VM is a communication tool.
Key Point 1: Business analyst and domain experts define requirements. Software architects and developers build systems based on requirements. Typically, they have communication problems due to different use of terminology and different definition of concepts.
Key Point 2: Take a look at the Rose development team. The team is distributed in three cities around the world; Sweden, Milwaukee, and Philadelphia. There is a common language - visual modeling.
Key Point 3: With VM, there is a smooth transition between business domain and computer domain. Also, you can establish traceability from business domain to computer domain.
Conclusion: VM is a communication tool.
Core message -- second bullet
UML can be used to communicate system and software design throughout the life cycle
Transition: So! Who should use UML? Everybody who is doing software development.
Core Message: UML supports object and component-based technology.
Key Point 1: UML is an expressive language that can be used to describe pretty much everything about software application.
- object technology: objet, class, relationships, scenario, Use Case
- component-based development: component, ActiveX/COM, CORBA
- large scale system, application partitioning
The last set of slides briefly introduces most of the UML notations.
NOTE: Not all notations are covered due to time constraints