9
votes
Difference between package and component?
Some years ago, I was participating at a workshop where the tutor asked us to list the terms for software "modules", "components", "libraries", "packages" and so on. The attendants came up with a list ...
7
votes
Accepted
How to show relationships of the component containing the interface definition when using ball/socket notation in a UML Component Diagram?
The goal of a component diagram is not the same than a class diagram. Nor is it an alternative to package diagrams.
The focus of component diagrams is on self-standing, replaceable components, and ...
7
votes
Accepted
Little value in unit-testing the database component
Presumably, this database component is only a fairly thin wrapper that performs a translation between the objects used in the business logic and the SQL interface that the actual database provides.
...
7
votes
How to depict the relationship between a Back-End and a DB in a component diagram?
Your confusion comes probably from the fact that databases, especially normalized relational databases, when seen as a component, typically provide very broad interfaces. Any public table, any view ...
7
votes
Accepted
When is a "port" used in UML component diagram?
Figure 11.46
in the UML 2.5 specifications is a better example: you’ll find on the same diagram:
a port of the component Order is used with an external interface, AccountPayable, that is connected ...
6
votes
How do you decide to group components in software architectures?
Generally, I prefer to start by grouping by "theme". A better name for "theme" is a bounded context. The idea is that code that changes together should live together.
To extend your example, say you ...
5
votes
Accepted
How do you decide to group components in software architectures?
How do you decide to group components in software architectures?
Good names.
I choose groupings of components that let me create good names.
A good name makes clear what belongs in a component and ...
4
votes
Can the port of a UML component only be a singleton?
Can the port of a UML component only be a singleton?
According to https://www.uml-diagrams.org/port.html UML does have notation to indicate multiple instances of a port, as well as multiple ...
4
votes
Accepted
How to improve this class diagram of a system with its components
When it comes to class design, always bear in mind that it is less about mirroring the real world objects and more about organizing your thoughts and reducing complexity behind a use-case like brake()....
4
votes
Accepted
Resolving Dependency Cycles
For somebody who is used to have interface and class in the same component, this feels unnatural because they seem to belong together.
This is where you need to shift your mindset. Instead of ...
3
votes
Accepted
Difference between package and component?
Component
The principle of systems made of components and the quest for reusable components have driven lots of work in the OO software engineering since the early 80s. There is therefore a rather ...
3
votes
Accepted
How to model system use cases realized by sub systems?
Do you want to model use-cases ?
First of all, use-cases are meant to show how an external actor interacts with a system under consideration. There is no concept of internal vs. external use-case.
...
3
votes
Accepted
Is testing UI components considered to be unit testing?
Frameworks (not just UI frameworks) are usually seen as a platform for software, just like the programming language itself or a basic data types like a string type or container types. It is seldom ...
3
votes
Visualising a sprint as a delta to a software component diagram?
It depends on the purpose of the diagram:
Visualizing the goal of a sprint for a project with many components delivered by different teams can help for making sure that everybody understands the ...
3
votes
Accepted
What is a component in C#?
A "component" in C# means the same thing as it does in other languages. A component is just a way to logically divide the functionality of an application into discrete units. There is no ...
2
votes
Accepted
Re-usability in C++ using Interfaces and External Configuration
The reusability graal
Achieving reusability requires lose coupling: every dependency to other classes makes the reusability more difficult because it adds more constraints. For example if reusing ...
2
votes
Accepted
Do I really need to build a class diagram AND a component diagram?
Do you need to build both? Maybe. It depends. I'd say that if there is a 1:1 mapping between classes in a UML Class Diagram and components in a UML Component Diagram, you probably don't need both ...
2
votes
Managing compatibility and dependencies in code library
What you are referring to is colloquially called Dependency Hell and it has been a known problem since software became a thing.
The most IMO common solution to this is to use semantic versioning ...
2
votes
Visualising a sprint as a delta to a software component diagram?
It doesn't make much sense to me to relate work in a Sprint to architectural diagrams. It's not clear to me when you would even make the relationship between a work item and the architectural diagram. ...
2
votes
Accepted
What does a database component in a UML diagram represent?
It depends on the level of abstraction on the diagram.
A component on a component diagram usually represents more than just a single class, but that doesn't mean that it can't represent a class. A ...
2
votes
Accepted
Instance of component inside a (non-instance) component. Does it make sense?
From an UML point of view, this makes sense:
:GUI and :Control represent parts inside a components. To simplify, parts are to components, what properties are to classes.
Gestione Utenti, Gestione ...
2
votes
While designing a software, what are the criterion used to partition that software into indivisual components?
Names
The most important thing a component can have is a good name. One that makes clear what does and doesn't belong inside. Doing this ensures people can find things and keep them organized.
...
2
votes
UML Component diagram: Dangling interfaces or connecting two
I think you should simplify it. I think you should use it as a high level view to highlight how different components interact and hide implementation details.
On one side, you could remove the ...
2
votes
Resolving Dependency Cycles
Creating interfaces for classes as well as placing them in a certain component is not an end in itself. It creates extra effort and boilerplate code, which needs to be justified by some purpose.
So ...
2
votes
Resolving Dependency Cycles
Interfaces should be grouped with what owns then. Ownership is about what can force change.
If A uses B through I the real question is if you remove method call b.x() from A but not x() from B then ...
2
votes
Accepted
How to adjust the component diagram in this case for better readability?
Your diagram is ok, if you just want to show that the main module is wired with the three others. But it does not give any details on how the modules are assembled, and misleads to think that the ...
1
vote
Accepted
What is informational cohesion?
1) an entry point in something that you can call from outside the module. Because there you enter into the module’s functionality. A typical example is main().
2) The term “entry point” is more ...
1
vote
VueJs - composing components for large scale projects
So, your question isn't very clear, so I will answer the closest thing I could gather as a question:
I would like to know if there is a "nobrainer" architecture for VueJs. If you stick to the ...
1
vote
How to improve this class diagram of a system with its components
There's already a nice answer but I think some more thoughts deserver to be considered:
I agree with Ozan: your model should have relevant level of details. If for example you'd create an application ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
component × 72architecture × 16
uml × 15
design × 10
diagrams × 7
design-patterns × 6
interfaces × 6
javascript × 5
object-oriented × 4
reactjs × 4
database × 3
software × 3
class × 3
modeling × 3
code-reuse × 3
react × 3
c# × 2
php × 2
unit-testing × 2
microservices × 2
web-services × 2
architectural-patterns × 2
frameworks × 2
css × 2
class-diagram × 2