- 216
- 41 896
UML Operator
United States
Приєднався 16 бер 2023
This channel provides knowledge, tutorials, and sharing of computer aided software engineering, unified modeling language, and other technologies in the computer aided design realm.
Simple Model Versioning - My First Baseline
In this episode, My First Baseline, or Simple Model Versioning, in Sparx EA is very simple. We are able to snapshot versions of our Package(s) at any time. We will touch on Creating Baselines, showing Differences between Baselines, and managing our Baselines. We will also touch on Sparx Version 17 Timelines as a means of taking Snapshots during current Sessions vs across the lifetime of a project.
To get started, we walk through the process of model versioning using Sparx Enterprise Architect (EA), focusing on creating your first baseline to manage and track changes in your UML models and diagrams. If you’re just starting with Sparx EA and want to learn how to efficiently version control your models, this video is perfect for you. Model versioning is crucial for maintaining consistent project progress and enabling collaboration across teams working with UML diagrams.
We’ll cover step-by-step instructions on using the baseline feature in Sparx EA, explaining how to create, store, and compare baselines of your software architecture models. This foundational knowledge will help you maintain clarity and traceability throughout the development lifecycle of your CASE (Computer-Aided Software Engineering) models.
Whether you're working on small or large-scale UML modeling projects, learning the ins and outs of model versioning with Sparx EA will enhance your ability to manage project changes, track progress, and ensure that your models stay aligned with your objectives. By the end of this video, you’ll understand how to create a baseline that serves as a stable reference point for future model iterations.
Chapters
0:00 - Intro
1:53 - Setting Up Our Workspace
2:24 - How to Get to Baseline Dialog Box
3:05 - Adding Starting Elements
3:31 - The First Baseline
4:22 - Show Differences
5:30 - Adding More Baselines
6:34 - In Session Timeline Versions
9:23 - Deleting A Baseline
10:43 - Export Baseline to Backup
12:07 - What We Learned
13:40 - Wrap Up
15:40 - Outro
=-=-=-= UMLO Website =-=-=-=
www.trackotc.com/
=-=-=-= UMLO Blog =-=-=-=
umloperator.blogspot.com/
#umloperator
To get started, we walk through the process of model versioning using Sparx Enterprise Architect (EA), focusing on creating your first baseline to manage and track changes in your UML models and diagrams. If you’re just starting with Sparx EA and want to learn how to efficiently version control your models, this video is perfect for you. Model versioning is crucial for maintaining consistent project progress and enabling collaboration across teams working with UML diagrams.
We’ll cover step-by-step instructions on using the baseline feature in Sparx EA, explaining how to create, store, and compare baselines of your software architecture models. This foundational knowledge will help you maintain clarity and traceability throughout the development lifecycle of your CASE (Computer-Aided Software Engineering) models.
Whether you're working on small or large-scale UML modeling projects, learning the ins and outs of model versioning with Sparx EA will enhance your ability to manage project changes, track progress, and ensure that your models stay aligned with your objectives. By the end of this video, you’ll understand how to create a baseline that serves as a stable reference point for future model iterations.
Chapters
0:00 - Intro
1:53 - Setting Up Our Workspace
2:24 - How to Get to Baseline Dialog Box
3:05 - Adding Starting Elements
3:31 - The First Baseline
4:22 - Show Differences
5:30 - Adding More Baselines
6:34 - In Session Timeline Versions
9:23 - Deleting A Baseline
10:43 - Export Baseline to Backup
12:07 - What We Learned
13:40 - Wrap Up
15:40 - Outro
=-=-=-= UMLO Website =-=-=-=
www.trackotc.com/
=-=-=-= UMLO Blog =-=-=-=
umloperator.blogspot.com/
#umloperator
Переглядів: 81
Відео
The Implementation of Traceability - Part 2
Переглядів 599 годин тому
This is part 2 of Implementation of Traceability. In this episode, we are going to pick up where we left off with part 1. We will demonstrate finding connectivity using traceability for problem solving, collaboration, and advancing your delivery needs. We will show you how this approach can lead to code analysis, and we will even show a tip or two using filtering as part of your analysis, colla...
My First Working Set
Переглядів 6121 годину тому
In this episode, we are going to focus on Sparx Working Sets. We will include Sparx Shortcuts as well, but the idea here is to bring yourself and stakeholders to specific topics and models at any given time. Chapters 0:00 - Intro 0:47 - Simple Project Working Sets 2:34 - Launching the Working Set 2:51 - Edit the Working Set 4:09 - Change the Order of the Working Set 4:58 - Applying to Real Work...
The Implementation of Traceability - Part 1
Переглядів 96День тому
In this episode, we will touch on Traceability and Model-Data-Relevance. Here, I am giving you 8 hours of course material in less than 30 minutes. Due to the length of the topic, we will break this into 2 parts. Part 1 will introduce concepts in Navigating, finding your data, adopting a model approach, and get into simulation and traceability to support delivery, analysis, and collaboration. Pa...
UMLO News November 2024
Переглядів 32День тому
A quick video to update you with what we are doing in this channel. We continue to focus on Early Adopters and Advanced Modelers. We are half way through November and things have been extremely busy. 2024 has flown by and it's time for Fall Cleaning! We are currently try to clean up the channel content descriptions, tags, and Playlists.
How to Navigate Projects - My First Coverpage
Переглядів 10214 днів тому
In this episode, we are going to introduce approaches to navigating your Sparx EA projects. This may, or may not, be your first Cover, Landing, and Interstitial Pages (Diagrams) for your Sparx Project(s), so I hope it is helpful. We will touch on Reference Data, Diagram Styles, and Reuse. Most importantly, we will show how to make a Diagram the "Default" when your Sparx project(s) load. Chapter...
Test Cases and Requirements
Переглядів 10814 днів тому
In this episode related to Model Relevance, we are going to take a Requirement and create an External Test Case. I will show you my preferred Workspace Layout, Create a Requirements Folder and Diagram, Add Elements to the Diagram, Add Connectors between the Elements, and start building our Test Scenario. I will provide Tips to use along the way. Chapters 0:00 - Intro 0:23 - Preferred Workspace ...
My First Communication Diagram
Переглядів 12521 день тому
In this episode, we are going to touch on My First Communication Diagram. We will touch on Collaboration Diagrams vs Communication Diagrams. We will build a Communication Diagram from scratch. We will also change message order as well as colors. Chapters 0:00 - Intro 1:21 - Communication vs Collaboration Diagrams 4:53 - My First Communication Diagram 8:54 - Communication Diagram from Scratch 10...
TIP on Reordering Communication Messages
Переглядів 6121 день тому
In this episode, we are going to talk about "Messages" in "Communication Diagrams" and how to change their order and significance. It's a short video, so there are no Chapters. =-=-=-= UMLO Website =-=-=-= www.trackotc.com/ =-=-=-= UMLO Blog =-=-=-= umloperator.blogspot.com/ #umloperator
My First Sequence Diagram
Переглядів 117Місяць тому
In this Early Adopter episode, we will introduce Sequence Diagrams as part of Interaction type diagrams. After preparing our Modeling Environment, we will talk about different types of Interaction Diagrams and demonstrate modeling Sequence Diagrams. Chapters 0:00 - Intro 1:06 - Build our Working Demo Project 2:50 - Understanding Sequence Diagrams 3:55 - Why Interaction Diagrams 4:37 - Create Se...
Import and Exchange Models into Sparx EA
Переглядів 98Місяць тому
In this episode, we are going to take our Models from our last session on Exporting Model Data using XMI, XML, and XEA, and then Import into a new Project. We will demo how to take our Exported XMI 1.1 file and import into another UML XMI Compliant Tool other than Sparx EA. We will destroy and rebuild a Project with an exported XEA file that represented that deleted Project. Chapters 0:00 - Int...
My First Test Case
Переглядів 90Місяць тому
In this episode, we will introduce how a Test Case can be applied to a Model. We will use Model Builder for our Use Case and Test Case. We will start with a Requirement, and then develop a Test Requirement. The Test Requirement will be relevant to a particular Function (Operation) in our Class Element. We will auto-generate Test Cases from our Use Case and Test Case. This is very high level to ...
Exporting Models In Sparx EA
Переглядів 78Місяць тому
In this multi-part series on Model Export and Import, in other words "Model Exchange". In our last episode, we talked about OMG's XMI approach vs Sparx EA Model Exchange approaches. In this episode, we will touch on Model Import capabilities. Chapters 0:00 - Intro 0:48 - XMI 1.1 3:49 - XMI 2.1 5:48 - Sparx Native XML 9:44 - Sparx XEA 11:58 - When To Use What 13:23 - Wrap Up 13:46- Outro =-=-=-=...
My First Requirements Diagram
Переглядів 138Місяць тому
In this episode, we are going to learn and create our first Requirements Model Diagram. We will touch on Workspace Layouts, the best way to learn Sparx EA, the importance of Saving your work, and we will build our first Requirements Packages and Diagram. Requirements Engineering is about telling your story of how something will be delivered, and Sparx EA makes this the most powerful means for a...
Announcing UMLO News For You
Переглядів 54Місяць тому
We are announcing UMLO News (OMNON) so that we can keep you apprized of where our Channel is going. "UMLO News" would typically be pronounced as: "Uhm-low Nyoos". These will posted monthly.
Model Exchange - Using the Right Technologies
Переглядів 108Місяць тому
Model Exchange - Using the Right Technologies
Hello sir, I am new to software architecture and your videos are an absolute goldmine. Your knowledge across so many different fields is incredible and your clarity of explanation really puts the other EA videos here on UA-cam to shame lol! There are so many parts of the software architecting world that I didn't even know existed before landing on this channel. I've spent a number of hours watching through your videos to help me with a few projects at work and it has been a real joy. Please keep it up :D I was wondering if you could take us through a scenario to tie together software modelling concepts in Enterprise Architect, from start to finish. For example, a Windows desktop-based software that goes through a pipeleine like this: High level requirements capture --> Use case model --> Composite mapping --> Wireframing --> Patterns --> UML class diagrams and creating those kick-ass dashboards and reports like in your other videos. There is some overlap with your Web UI Design series but I'm still unable to see how, in EA, you can streamline the flow through these stages of software design. I find myself doing all these things separately without knowing how they really connect. Please keep up the great work! I'll be watching more of your videos in the meantime :) Thank you!
It seems the main process diagram is not fully compliant with BPMN in few aspects (in fact there are two separate processes on customer and company side, lack of messages instead of flows, and process continauation on customer side)
Thank you for the post. I would agree with that, and there is a lot missing from this demo model to be able to effectively compile. The point of the video was around using traceability to find such issues. Again, thank you for the observation and feedback.
Thanks for the continuous flow of guidance and advice, I can hardly catch up. With respect to traceability I'm currently struggling with EAs way of handling AllocateActivityPartitions in SysML. I know there are some pitfalls around allocating usage (Action -> Part) and definition (Activity -> Block) and the potential to mess this up. But EA seems to have chosen not to show any of the graphical allocation with partitions in the Traceability window (Cameo might differ). Could you elaborate on the usage of different stereotypes on the AllocateActivityPartition, the difference between assigning a Classifier and the 'Represents'-property, how to select a part to be represented for usage-level allocation (I failed to do so), and how to navigate a relation that's modelled by placing elements in Partitions? Is SysML or EA enforcing ownership of Activities->Partitions->Actions? If yes, then you probably shouldn't move the AllocationPartitions into a separate package - what is then a good way to clean up and structure your model? Then I struggle with navigating from definition to usage, e.g. why can't I see every invocation (action) of an Activity in its Traceability view? I only discovered 'Find in all diagrams' as an indirect way. Do you have an opinion in the callBehavior vs callOperation debate? Which of Operations, Activities, Actions (if any) would you propose to transport Functional Requirements from Problem to Solution Domain, which likely is a separate model? I'd also aprecciate a deep dive into the semantic meaning of Action vs Activity. Is it valid to think of them analogous to e.g. a function definition and calling other functions in the body of the function? When is it advisable to use only opaque Actions without a relation to an Activitiy or Operation and what would be the analogy to functions here? Not yet defined? Or the called function is declared but not defined in scope? Anyway, thanks a lot for your great work!
First off, THANK YOU!! What a great post filled with challenges! I see at least 7 questions in your post, which guide me to even more questions, such as "When to turn SysML modeling data into Analytics (questions on data)?", "How to extract or abstract intelligence from model-driven data?", and many more. Summary of questions: 1) How to navigate a relation that's modeled by placing elements in Partitions? 2) Is SysML or EA enforcing ownership of Activities->Partitions->Actions? 3) Why can't I see every invocation (action) of an Activity in its Traceability view? 4) Do you have an opinion in the callBehavior vs callOperation debate? 5) Which of Operations, Activities, Actions (if any) would you propose to transport Functional Requirements from Problem to Solution Domain, which likely is a separate model? 6) Is it valid to think of them analogous to e.g. a function definition and calling other functions in the body of the function? 7) When is it advisable to use only opaque Actions without a relation to an Activity or Operation and what would be the analogy to functions here? Not yet defined? Or the called function is declared but not defined in scope? Conclusion I have been trying to get to the topic of SysML since early 2024. This is an Advanced Topic for CASE Engineers. So much in fact, that we pushed it to a Members Only approach in the Online Courses we are creating for 2025. Let me see what we can put together for this UA-cam channel and I will keep you posted. The plan was to start with "The Introduction to SysML", but we may produce a video, in advance, to the "introduction" video to tackle these questions. I am not sure what industry you are in, but our use case may be around ML, AI, and Robotics (an area I have been working in). Thanks again for the post! Happy Modeling
Yikes, voice audio is out of sync with video due to new recording equipment. Sorry about that 😶. We are resolving for future videos 😄
I love your content. Would it be too much to ask for a series documenting a toy project from initial analysis to design using *generic* UML?
Interesting you used the reference "toy project". I'll have to remember that one. 😀 When we go into a company, we have them create a "training project". When they can’t do that, we take an older project and strip it down to the beginning, Requirements Engineering. Then, whatever tooling they are using, usually Sparx, we have their team(s) apply UML and Documenting to deliver IT. Three things usually occur: No1, they cannot document No2, they cannot collaborate No3, they have a lot of excuses why they cannot do No1 or No2🥲 Maybe I am using the wrong “T” Word and should call it a "Toy Project". THANK YOU and HAPPY MODELING
How I can recover Type in features part because I deleted it by mistake?
Great Question! If you deleted from your Browser, which is a view into the Sparx Database, the only way to recover is by "Restoring" from a Baseline or Backup. Once some is removed/changed in the Sparx Database, like any database, the only recovery is through some type of backup capability. Through the channel, I always recommend doing regular Baselines or Snapshots. This stores the data of that snapshot date/time. During Design phases, I am always change Features, Attributes, and Operations, as we are collaborating with Stakeholders. I have forgotten, a few times, to Baseline, or create an XML backup, before making changes. If you remember that Sparx is more about "Data" than "Pictures", we remember to treat and protect "our data". I have several videos on Baselining, Exporting, and Importing Sparx Model Data.
How I can recover a property (Type) in part of features in Activity diagram because I delete it by error and I'm not really know how i can recover any other property (attributs, type, return value...etc) from window of features?
Thanks again for the question. I responded, with the same answer, to your other post on the "Fun with State Machine Diagrams (e8)" video. The way to recover from "deletes" is through backup restores from Baselines or XML exports. You either restore from a previous Baseline, or Import a previous XML export. I hope this helps.
Hello! I am new to this Software, but it seems that the latest Version (I am on trial) doesn't show inherited value, (i.e. Shape will appear empty) .
Hello and thank you for the post 😀. I am going to go to video time-marker 11:55 where I am showing Circle and Rectangle as Sub-Types of Shape (the Superclass). Here we have both Classes stereotyped as <<type>> and using Generalization as connector to Shape which is the <<ImplementationClass>>. For inheritance to work properly in OO UML, we must use Generalization where the source is the Circle and Rectangle Shapes, and the target is the “Shape” Class. In all these Classes, we add a “Tagged Value” property called “Type” and assign this Tagged Value to each Class (Shape, Circle, and Rectangle), and “Value” tags for each Shape (Circle, Rectangle, Shape). If done correctly, we should see the Tagged Values for each class, and in the Sub-Classes (subtype of Shape), you should see (in these sub-classes) the inherited Tagged Value “from Shape”. Be sure you are using “Generalization” as the connector-type and not “Realization”. Generalization represents an "is-a" relationship, where a more specific subclass inherits attributes and behaviors from a more general superclass. And Realization represents an "implements" relationship, where a class (or component) implements an interface, adhering to its contract. Please let me know if you still are not seeing tagged values inherited from Shape in either Circle or Rectangle examples. It should not matter what version of Sparx you are on for this to work as intended by the OMG UML Standards.
By the way, I use PlantUML
Yes! Great tool.!! A lot of Developers, we work with, say their code is their documentation and don't need to use Sparx or other drawing tools, but they do like to use PlantUML to depict their Sequence and Class Diagrams.
Your videos have been invaluable to me. I've read most of my dad's books by authors like Demarco, Booch, Leffingwell, Cockburn, Yourdon, Weinberg just to name a few. The reason I mention these esteemed software engineers is to say I rank your videos are up there with them. Thank you.
Great advice
Thank you!! Yeah, I use Mind Maps every time I am starting a problem-solving mission. I have so many things and businesses that I am supporting, it's easy to lose track "in my mind" 😀... and get "off topic" 🙃 With Mind Maps, if/when I return to a "Topic", I can get back on track. Thanks again and Happy Modeling!
You may as well promote a normal message to become a group from the sequence communication messages popup window... using the pointers that point sideways Thanks from the great videos,
Thank you a lot for your niceness and your answer 😊 My dear salutations ❤
Please, how I can reorder messages in communication diagrams ?? I found out that I must start new groups for messages to have numbers like 2.1, 2.1.1, ..., 2.2, 2.2.1,... But I really don't know how I can to do that? I hope that you answer me or even making to us an incredible video about Communication Diagram with more details as you always do 😊 I very appropriate that tutorial contents ❤
In both Sparx Version 16 and 17, go to the "Design" Tab, then over to the Diagram Panel, and choose "Options" drop down. You will find "Sequence Communication Messages" to reorder Communication Messages in the current diagram. You should also be able to get to the same Dialog Box by Right-Clicking on the Message in the Communication Diagram to get a pop-up menu (quick access menu) and see "Sequence Communication Messages..." there too.😀
Here is a short Video on how to re-order messages in Communication Diagrams: ua-cam.com/video/igdVYHQQcZA/v-deo.html 😀 Happy Modeling
Why don’t we use [Use Case → Properties → Responsibilities → Constrains → Pre-Condition] and [Use Case → Properties → Responsibilities → Constrains → Post-Condition] instead of [Precondition] and [Minimal/Success Guarantee] resp.? And when to use them?
Great questions!! The short answer is, "it depends". We need to be short and concise at the start and can get much more detailed as we go. Let me think about this and put a video in the queue for the "Why" and "When". I will note that "Constraints" can be interpreted differently based on the case and objectives. I tend to push the boundaries of how OMG defines UML Constraints. Taking OCL out of the picture, I tend to loosely use "constraints" to represent human concerns, views, and viewpoints. We can apply "constraints" at the Use Case Property level, at the Requirement Property level, or any other element properties (each for their own reason and interpretations). Most of my models "tell stories" in human-readable form, while technical models follow strict programming language interpretations of "constraints" and should be "machine readable". With that said, my Use Case Templates, when at Summary and User-Goal levels, are "Human Readable" and when at sub-function level, they are Machine Interpretable. "Success Guarantees" are applicable to all levels and represent important "constraints" (performance objectives) we are looking for. Again, let me read this a couple times and break things down into "requirements" for a view response 😉 Thanks so much for this post!! HAPPY MODELING
Thanks for the video very useful
NOTE: If you do not see the Test Cases Window, go to the Construct Tab and in the Test Management group, choose Tests.
Thanks for the video. Our source app is an excel vba application which writes plantuml. This draws nicely in drawio. I’m trying to amend the vba to write out to xmi2.1 and bring it into spark ea but my version of spark does not show xmi2.1 as a selectable option it’s greyed out in the publish toolbar. Do you have any suggestions please?
Sparx EA released XMI 2.1 in Version 7 back in 2007. So you are in a new version and it is greyed out (disabled), but you do see 2.1, right? Do you own the license, or is it a company license and possibly configured by a Model Administrator?
Thank you so much! I was already wondering why this search field disappeared in other styles. So here's where it is hiding...
Sparx version 17 took it out in the Microsoft Office 2022 Theme, but it's still in the Microsoft Office 2016 Theme :)
How could one show relationship between Requirement and a Unit Test function? Some relationship should definitely take place, although I suppose it is different from Realization (which is implemented by the System Under Test).
VERY NICE USE CASE!! excuse the pun :)... Short answer: We create a "Test Requirement" simply titled "Test Function n" where "Test Case A" implements the Test Requirement. Our "Use Case A" implements that requirement. Test Case A is Associated to Use Case A and References the Component and/or Function (where the function is part of Component A) Long answer: Let me do this in my next My First... video. I will title the video "My First Test Case". Although, it's a little more advanced and ahead of schedule, I think it's a great learning example for interested subscribers. NOTE: I will use some features and capabilities in Sparx for doing this. We will use Model Builder for a basic Use Case Model with Test Cases and a Starter Component Diagram to address our System boundary. We will define a Scenario for the Test Case and we will do some basic documentation. We will attempt to get this video out next Thursday, 10/24, unless something urgent arrives :)
You don't need the toolbox to be showing cause you can always press the spacebar to show it when you want to add something. Better to save the extra space for the working area in the middle
You are right! THANK YOU. There are five ways to bring up the Sparx EA Toolbox: 1) Use Design Ribbon, in "Diagram" Panel, select Toolbox 2) Use the Guillement "<<" (double arrows) at the left top of the work area window 3) Using the Quick Access Design from the All Windows panel, you can get the Toolbox to a currently 'remembered' placed in your workspace. Also, in the Diagram, press Alt+1 and the Design Panel pops up. NOTE: Alt+ 1 through 7 pops each of the Quick Access pop-ups. 4) Using the spacebar, while on a diagram, pops the Toolbox where you mouse is. 5) Using Keyboard shortcuts, while in a diagram, is Ctrl+Shift+3, will pop and place the Toolbox where you have configured it for the workspace. The "Spacebar" approach is great for those familiar with each of the icons and understand that the element is placed where the mouse pointer is. Thanks again :)
@@UMLOperator you're welcome. I love your videos..
Thanks for the walk-through. It's heart-breaking to see how the development team struggles with the unintuitive and inconsistent UI. Can't find the function? -> Let's add a post-it to the Start ribbon. Can't find the post-it anymore? -> add another post-it to the Quick Access Toolbar! Everything, Everywhere, all at once...
LOL, I am still laughing, and then I start crying because Sparx took away the "Find Command..." next to the Tabs in Sparx 17. I want an AI Feature we can type/talk to to actually find what I am looking for. While I push ChatGPT as a learning tool, even that is wrong 80% of the time, but still better than Sparx Search 😉. My "My First..." video series is pushing teams to use the Model Builder documentation to build their own "Job Aids" and customize to fit their team's culture and processes. Then build a Model Library with a their own "Quick Access" Category for targeted roles. Thank you so much for the post!
As a next video, can we expect the functionalities in TAM tab in Timeline window?
Yes. We will move across the top, talk about Cloning and touch on Versioning.
@@UMLOperator Thanks!
Thanks for the most Awaited Video
Is there a way to reverse engineer either all or some selected tables from SQL Server into Sparx Enterprise Architect and present them in a Data Modelling diagram? As I understood, importing Entity Framework table model classes is one possibility (which gives us Classes in Class diagram and not Tables in Data Modeling diagram, although there might be a way to transform one into another). Are there other, more direct ways?
Thank you for asking! Yes, go to the time marker of 2_26 in ua-cam.com/video/stmn0aE8mbY/v-deo.html in "Sparx Import A DB Schema" video. Don't worry about Entity Framework, as that would be a separate conversation, but we can talk about the "transform" topic if you need. You will see when you get to this point of Database Schema import (2_26 time marker), you can select the table(s) you want. You can watch that video in entirety and let me know specific questions I did that video quickly and should do another video on the subject for Sparx 17. We are planning this as part of the new "External Data Import" capabilities in Sparx 17.
@@UMLOperator That is exactly what I needed!
Looking forward to your automation and scripting series coming up 🙂
Yeah, I can't wait! So many things going on in my company as well as from the Sparx EA Version 17 release 😀. Some content has pushed the Scripting Series off a little bit. I assume you have already watched ua-cam.com/video/0T9p6X8cwT8/v-deo.html Question: Are you just starting with Sparx Scripting, or have you advanced any? We plan on starting with simple custom scripts, then moving to things like getting data from an external database.
@@UMLOperator Yes, I've watched it -thanks. I'm only at beginner level for the scripting, and haven't really progressed. I've learnt most of SparxEA from your series. Thanks!
I have work to do! Now, I'm binge watching this channel. 😁
Subbed.
Most interesting. I have so many books on UML (admittedly, most are from my father's collection) but can't seem to get the hang of the formal process.
I like the way you phrased that, “…formal process”. I started UML in 1999 (a couple years after the industry release). When I started, I was looking for faster ways to learn. Scott Ambler was one of my mentors on the subject. When UML 2.x came out around 2003, it really took off, and a friend of mine from Japan, introduced me to Sparx EA. I started in ArgoUML, but moved to Sparx and never looked back. Now I help companies in System and Software Architecture/Engineering and receive many challenges from Modelers, thus the reason for this channel today. Keep me posted on challenges you have. We attempt to expose “a formal process” in our playlist on Model-Driven Anything”, ua-cam.com/play/PLB12uLQxqtuVJQYxCsmnsTWnq5YjwGT-X.html More to come, Thank you
Can we expect a standalone video for TAM sir?
Absolutely! Thank you for asking. That is one of the reasons I started a Series on Learning faster and more effectively. While TAM started in Version 16.1, it was not ready for primetime. The new Timelines access and Timelines window was very exciting, and we are using daily. Expect a TAM session soon 😀
@@UMLOperator awaiting sir!😊
@@Learner-y8e The first TAM video comes out next Tuesday. We will start with the Timelines feature, then have other videos that get into Cloning, Versioning, and Traceability.
@@UMLOperator Super Excited sir 😎
Hi Tim, great channel! :) I've found it yesterday night and it made me very excited as I find you extremely competent in the area of knowledge that is important for me, yet I haven't seen many people at your level or with your sense of purpose. I've read under one of your videos 6 months ago that you were planning to create a discord channel. Was there any development? I'd love to reach out and tell you a bit of why modeling is such crucial part of my personal life.
Thank you! On the Discord front, because we are so busy with clients, it's hard to commit time to a Discord Channel (moderating & support). Things were supposed to slow down this year, but that has not happened yet. The question is whether to do Discord, or to build communities on the Training Course platform we are currently working on. Also, Patreon may be another options. You have motivated me to get a community started faster. I would love to hear your story on why modeling is such a critical part of your personal life. I too, have the same passion. I will keep you posted.
Thanx a lot! Just a small question: on your diagram with the round nodes, instead of Class name (e. g. Person) I see a number (as I understood, it is the value of the Tag “weight” = 1). How to do it?
For Class elements as Graph Nodes, we use Custom Draw. We can also use Shape Scripts, but that is another subject 😀 There is a couple approaches to applying "weight". I prefer to use Tagged Values because we will apply these weights automatically on query-runs, and do not manually enter them. Other approaches use "Constraints" being applied using OCL (object constrain language), either OCL directly or as Pre- or Post- Conditions. To be honest, we use Sparx for Design and our Graph Tooling for monitoring and producing Analytics for Machine Learning. But since we are already producing JSON output, sometimes we apply back to our Sparx Models for documenting. I hope that answered your question. If not, let me know. Happy Modeling 😎
I just published a video on how we transformed the shapes: "Turn Class Shape to Node Shape" ua-cam.com/video/Au10ySPfGRU/v-deo.html
Thx, UML MASTER Operator 👋
Very useful video, covering all the updates in a single presentation. And Thank you very much for the software modeling example sir :) We are veryy excited about the Software Delivery Effort. The cover page itself is very interesting and conveys everything clearly. When can we expect this video, sir? We are extremely awaiting. Once again, thank you very much for your efforts, sir. It truly means a lot to us.
I found that Glossary could be exported by selecting all Glossary items and copy them into the memory as a comma separated values, but I did not find any way how to import a number of existing words at once into EA if they already exist somewhere else. I think that using SQL might be the solution.
If you copy the Glossary cells from Sparx Glossary View directly, you do not get the GlossaryID column. > You are correct, going to Sparx SQL Table (t_glossary) is the best way to do CRUD operations outside of Sparx. > Another way is through XML. Exporting the Glossary only, as Reference Data, gives you a good XML file where you can manage the data. Just remember to keep the GlossaryID unique (incremented). > I have developed Web Tooling to read the Sparx Glossary table and even do CRU operations (be careful with Delete). > I also use a BI Tool (e.g., PowerBI, Tableau) to extract and manage Sparx Glossary and other data. We support a lot of companies that have their own Glossaries and Acronym data which we mine and bring into Sparx. That's the beautiful thing about Sparx as a SQL Backend 😀
Hi Sir, Your videos are very helpful for me and our team. We are looking for a complete or a subset software modeling tutorial. Do we have any playlists created for it, sir? If so, please share the playlist link. If not, can we expect a software modeling video from you soon? I know it's too much to ask for, but can you please demonstrate a simple example covering from requirement, eliciting it to a usecase, the system structure (component), the system logic (class), the behavior of methods (activity/sequence/Statemachine) and the deployment (deployment diagram)? Just a simple example with 2 to 3 elements is more than enough, sir. We are more into the travel and flow... It would be really helpful to our team, sir. We 4-5 people are regularly watching your videos and your making our knowledge good in the Sparx EA tool. It's our kind request, sir.
Specifically for Software Modeling? Yes, we are planning to start publishing later this year. Our playlist on "Model Driven Anything" is the start for such focus. The problems we see in Software Modeling, and Development in general, is due to lack of proper/effective Requirements Engineering. Thus we have been focused on the front end of software development. I appreciate your post because to you put focus on "requirements" and "use case", which are the most important starting points. We have done a lot of videos on Use Case modeling driving Simulation and auto-generating State Machine and Behavioral Diagrams. If you do a search on UML Operator, let me know if any are close to your needs, and we will attempt to fill those gaps. I may try to put old videos into a specific playlist, or create new ones. But feel I should start from scratch. Question to you: Do you have a specific set of Use Cases, or just one, you would deal with (high level)? The reason for asking, is that we have a couple of use cases; one being Engine Control Modules (ECM). Another is e-Commerce Personalization, dealing with tailoring outcomes for user experiences (UX). We are going for UX scenarios. Thoughts?
@@UMLOperator First off, thanks for your prompt reply, sir. To answer your question, we have some high-level requirements and their breakdown specific to our Access Point project. but we don't know how to apply it to developing usecases and building building systems that satisfy the requirements (components) and its logic (class) in Sparx Enterprise Architect. It would be really helpful to see something from you, like 10 minutes of video showing this travel with a very minimal subset of any example, sir. We tried the learning center from Sparx, but it's very vast, sir. Thanks in Advance :)
@@Learner-y8e First off, thank you so much for the "10 Minute" rule :). I try to keep things short, but I am so passionate about UML, when I start...I look down and it's 30 minutes of content :). I am starting a Playlist, "5 Minutes or Less". However, your request will have me stay with 10 Minutes or less :) Ok, I will put your request into our queue. We actually have started scripting for our Training Courses starting soon. I will tweak a script to support your scenario. Be patient as we shuffle our queue and try to get this video out soon.
@@UMLOperator Thanks you so much sir😊.. We're looking forward to it.
Is it possible to use Enterprise Architect to model Graph databases the way they are usually drawn (round nodes with labeled arches), or what could be the best approximation? I’m primary interested in Apache TinkerPop / Gremlin.
Yes. We use Class Diagrams to accomplish this. As you know, graph databases deal with Nodes, Edges, and Properties. Classes represent nodes, Associations represent relationships, and Attributes represent the Properties of Nodes and Edges. We model our Class diagram(s) to represent a specific instance of the Graph, which then allows us to depict the Nodes (as objects) and the associations (edges) between Nodes in the Graph. There are limitations, so we usually do this side-by-side with query languages (e.g., Cypher, Neo4j) for our graph-specific models. This works as long as we understand the limitations. Thank you for the question! We have done quite a bit with UML related to things like horizontal and vertical data relevance (and traversal) in ML design and learning models (e.g., Personalization and Tailoring). These are advance subjects in CASE/UML, and will try to get to these later.
@@UMLOperator As regards how to make the shape of a Node represented by a Class to be round, I got the answer in your video [Sparx EA Custom Drawing Style (e18)]
I was just asked if I actually said "namingclature" 😀. Yes I did, and it is actually nomenclature. I keep trying to emphasize the need for following the naming conventions your company or shop is using. The consistent names for things, especially in a science or other discipline, are most important in both codling and documentation.
Oops, at around 10:13 time marker, I popped a message that we should prepend "TaggedValue_" to our value references. I meant "TagValue_". I hope it was clear what it should be when building your templates. Thank you for the feedback pointing this out 😀. We will talk more about data imports later in the channel as we get to real data source imports.
I have use Export to create and Excel document gather data and Import data back in. Recently I learned how to use it to create Tag Values I needed. Creating Tags (Key:Value) pairs is probably a good video. My purpose was to allow 10-15 folks to update the excel with controlled tags. It worked wonders.
Yes, this is very beneficial 😃...QQs, Is the source of record, that defines your Tagged Values, maintained outside of Sparx? Or, are some or all Tagged Values defined in Sparx? WOW! Great post! Thank you!!
@@UMLOperator I just made them up in the Excel to Identify just a few like Area, Function etc... as needed by the teams.
@@q34dana Thanks again. It was great to come back to 'flat files" or CSV again. They certainly are great sources of 'data' in action. Here, we built our own Web UI over a simple database, that does the same thing as we were doing in Excel (video coming soon ). This allows us to integrate with other external ALM/DevSecOps third party platforms. Then we use scripting to access that table for import/export with Sparx EA. However, we still have clients that give us their Requirements/Scope in Excel. We also use BI Tooling (e.g., PowerBI) to analyze data to support these table views. This is what is wonderful about 'data first' tools such as Sparx EA vs other tools in the industry. Thank you for your leadership in this area. HAPPY MODELING!
Thank you Sir
nice
Is there any way to integrate Sparx Enterprise Architect with Azure DevOps? (e .g. Azure DevOps has its own Kanban board, could they be synchronized?)
Yes 😀 ... my answer is yes because I am passionate about this subject. See umloperator.blogspot.com/2024/09/sparx-ea-and-open-collaboration.html for more. Our series on these subject may be much later as we are currently working on so many other projects. We have some other content to cover, and planning to launch our Online Training and Communities. Thank you for asking! I would like to ask what other tooling you are implementing? Is Azure DevOps your only concern? Any other platforms, such as Git, GitLab, AWS DevOps, Jira?
@@UMLOperator I’m currently interested in Azure DevOps and in anything related to Azure development/architecture in general. I’ve seen Sparx Enterprise Architect has some capabilities to model Azure architecture and it would be nice to know more about it as well.
Thanks UML Operator!! This information (in addition to your previous videos on the subject) is very helpful!!
That’s for the content. Gotta say your vids came in clutch at the best time sir. Thanks all the way from india 😅🙏🏽
Gotta say that this course came into clutch when i needed it the most. Any chance that this is available on Udemy. I'd like to enroll and complete the course from there. Once again thanks all the way from india. 🙏
We are launching our Online Courses later this year, when time permits. I will keep you posted. Thank you for asking.
Hello UML Operator. I would like to use my Legend folder in other project files. Cannot figure out how make the Legend Diagram as a Pattern so I can export it as Reference Data (or if there is a better way). My apologies if this is already discussed in another video (it is hard to remember where information resides within your excellent video content). Thanks! J...
Hello UML Operator. I was able to figure it out. The Sparx documentation stated to put the Legend into a standard UML diagram (previously, I had it in a SysML diagram). Then (with the diagram opened), I navigated to: Specialize >> Technologies >> Publish Technology >> Publish Diagram as Pattern, and saved my pattern as 'xxx.xml'. In a new Project File, I navigated to: Resources >> Patterns, and dragged + dropped the Legend. 🙂
Hello @johnkhan174, I hope all is well 😀. I have a video I create last year, ua-cam.com/video/uYMyS7EsbJo/v-deo.html. This would be used for one "Legend" in this case, at a time. If you want to reuse/share all your Legends, there are at least 2 ways: 1) Export your Legend building folder using XMI (XML Metadata Interchange). Name this folder something like, "XMI Exports". Subfolders may be titled, "<project name>", where the XMI store is "%drive%/Sparx/Model Repo/XMI Exports/OurCo KMS Project Release 1/". This way you can get to the model package exports for a specific project, theme, or area. NOTE: Place the XML in a specific shared folder for XMI. Do not mix with other XML. Name the XMI file something meaningful, such as "SharedModel_PackageName_version" or "SM_<packageName>_<version>. 2) Version in Reusable Asset Service (RAS) under a storage area. Learn more here: "Start a Project From Sparx RAS" ua-cam.com/video/NbEQwONHdDc/v-deo.html Summary, Each Legend as a reusable Pattern; Legends as a reusable Package via XMI; Legend or Legend Package shared from RAS. Let me do a video on this question. I will get it out soon.
Excellent UMLOperator!! Great start... Looking forward to devouring more content in the future 🙂
😀 Yeah, this actually saved me. Doing the rest of the MDA series was tough doing things the manual way. It was great timing to bring in automation early. For other client projects, we use other UML Tooling (simple drawing tools that boast of great things, but end up taking more time to deliver). This is why I prefer to use Sparx EA!! 🤓 Usually pays for itself in one project.
Cheers 🎉