Exam 2 Flashcards
(19 cards)
What is a join point?
In JAspect, it is a point in code used to specify where “things happen,” and are used in point cuts.
What is aspect oriented programming?
A specific type of programming used to help solve the problem of crosscutting in modules. It allows you to define specific “aspects” and code to be modified/inserted wherever those aspects are.
What is a competitive view of a software ecosystem?
The competitive view of software ecosystems looks at how companies interact in different ways through competition, and through these interactions, form the ecosystem.
What are the testing levels of coverage?
There are three. “All statements,” which only seeks to reach all statements, “all branches,” which seeks to have a level of testing through each decision statement but not through each decision, and “all paths,” which executes every possible way to traverse the code, including maximum traversals of loops.
What is the pre-condition in design by contract?
The conditions under which the contract is true; these must be met for the code to be applicable.
What is the post-condition in design by contract?
The post-condition defines a guarantee of what will have occurred, provided the pre-condition was met.
What is an invariant in design by contract?
Invariants are conditions that do not change for the life of the contract.
What are the three perspectives in a STREAM ecosystem analysis?
Business, software, and innovation. Stream looks at the risks and threats from all of these perspectives.
What is conformance testing and how does it differ from product testing?
Conformance testing simply tests that a product meets specific guidelines or requirements. It does not test for correctness outside of this, and is not a substitute for product testing.
What are the ways entities in ecosystems can be classified?
There are partners, complementors, and competitors. These are not the same as ecosystem roles.
What are the roles in a software ecosystem?
There are hubs, which make a central product or core part of the ecosystem.
There are bridges, which connect different parts of the ecosystem.
There are clusters, which are groups of entities/products.
There are brokers, which present one or more entities to an outside entity.
What is the difference between transactions and transfers?
Transactions are a transfer of something with an associated cost for one party. Pure transfers do not have this cost.
What is different about supply chains in software ecosystems when compared to typical supply chains?
Software supply chains are very wide; they have a large variety of sources.
What are examples of software code standards?
Naming conventions, specific constraints, an agreed upon language to be used.
What is the factory pattern?
A way of encapsulating constructors, so that the way an object is generated can be changed from fewer places. It allows for a separation of concerns.
What is the callback design pattern?
It is intended to allow for asynchronous communication. Upon a function call (or similar mechanism), object 1 sends a callback object to object 2, which can be used to respond back to object 1 at a later time. Object 2 only needs this callback object to respond.
What is the model view controller pattern?
A common way of organizing the core functionality of a program. The model part refers to underlying simulations/data, the view refers to everything that is drawn or related to drawing, and the controller refers to input. Input affects the model which then affects the view. The view can also affect the model.
What are the three parts of a state transition?
The guard - a condition that must be met for the transition to occur.
The trigger - An event that enables the transition.
The action - A side effect of the transition.
What is middleware?
A specific layer that allows applications on different machines to interact with each other as if they were on one machine.