Component based systems Flashcards
What defines a software component?
It is any reusable piece of software with a clear function, computation, and data stores, defined by its interfaces.
What is the main difference between a module and a component?
Modules are artifacts grouped together and exist in the file system at design-time, while components are instantiated component types that exist only at runtime.
Why are components essential in software architecture?
They are described by interfaces, constraints, and non-functional properties, which help in modeling configurations and defining system topology.
What is the purpose of a UML Component Diagram?
To model the static implementation view of a system’s components.
What is an API?
A set of definitions that allows one piece of software to interact with another, defining the data, services, and functionality exposed to third parties.
What is the primary difference between synchronous and asynchronous APIs?
Synchronous APIs are blocking, requiring the application to wait for the response, while asynchronous APIs are non-blocking and notify the application when processing is complete.
What is OpenAPI (Swagger)?
An interface description language for REST APIs.
What can you do with Swagger UI?
Visualize and interact with the API’s resources without having to write any code.
What is the advantage of using the “Design First” approach in API creation?
The implementation follows the API specification, ensuring that the API design is well-defined and agreed upon before development begins.