1/75
Reviewer for Advanced Software Engineering
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Component-Based Software Engineering (CBSE)
A process that emphasizes the design and construction of computer-based systems using reusable software 'components'.
How does CBSE view a system in contrast to traditional Software Engineering (SE)?
CBSE views a system as a set of integrated off-the-shelf components, whereas SE seeks to create a system from scratch.
What is a key advantage of CBSE regarding development time?
CBSE shortens development time.
In CBSE, after establishing an architectural design, what does the team examine the requirements for?
To determine what subset is directly amenable to composition, rather than construction.
List the four activities that take place in CBSE for requirements that can be addressed with available components.
Component qualification
component adaptation
component composition
component update
What type of pre-existing components are considered for use in a CBSE project?
Commercial Off-The-Shelf (COTS) components and internally developed reusable components.
A nontrivial, nearly independent, and replicable part of a system that fulfils a clear function is called a software _____.
component
What are the five main characteristics of a software component in CBSE?
Standardised, Independent, Composable, Deployable, and Documented.
What is the primary intent of domain engineering in the context of CBSE?
To identify, construct, catalog, and disseminate a set of software components applicable to a particular application domain.
What are the three major activities of domain engineering?
Analysis, construction, and dissemination.
What CBSE activity occurs in parallel with domain engineering?
Component-Based Development (CBD).
What are the three main parts of Component-Based Development (CBD)?
Component qualification, component adaptation, and component composition.
What is the purpose of component qualification?
To ensure a candidate component performs the required function, fits the architecture, and exhibits required quality characteristics.
The adaptation technique often used to resolve integration conflicts when reusing a component is called component _____.
wrapping
What is white-box wrapping?
An adaptation technique where integration conflicts are removed by making code-level modifications.
When is grey-box wrapping used for component adaptation?
It is used when the component library provides an extension language or API to remove or mask conflicts.
What adaptation technique requires introducing pre- and post-processing at the component interface to resolve conflicts?
Black-box wrapping.
What architectural ingredient for component composition ensures that components developed in different languages are interoperable?
The underlying object model.
Microsoft's standard for software components is known as COM, which stands for what?
Component Object Model.
What is one stated disadvantage of CBSE?
Component maintenance costs, questionable quality of components, or sensitivity to changes.
What is a distributed system?
A collection of independent computers that appears to the user as a single coherent system.
The characteristic of distributed systems that involves the sharing of hardware and software resources is called _____.
resource sharing
What does 'openness' mean as a characteristic of a distributed system?
The use of equipment and software from different vendors, built according to generally accepted standards.
The ability of a distributed system to increase throughput by adding new resources is known as _____.
scalability
What is fault tolerance in a distributed system?
The ability to continue in operation after a fault has occurred.
In distributed systems, what is the design issue of 'transparency' concerned with?
The extent to which the distributed system should appear to the user as a single system.
What type of security attack involves intercepting communications between parts of a system, leading to a loss of confidentiality?
Interception.
A denial of service attack is an example of which type of security attack on a distributed system?
Interruption.
What is the role of middleware in a distributed system?
It is software that manages diverse parts of the system, ensuring they can communicate and exchange data.
In distributed systems, procedural interaction is typically implemented using _____.
remote procedure calls (RPC)
What is a major problem with Remote Procedure Calls (RPCs)?
The caller and the callee need to be available at the same time and must know how to refer to each other.
In a client-server system, which architectural layer is concerned with presenting information to the user and managing user interaction?
The presentation layer.
What architectural pattern for distributed systems is used in real-time systems where guaranteed interaction response times are required?
Master-slave architecture.
thin-client model
A model where the presentation layer is on the client, and all other layers are on the server.
fat-client model
A model where some or all of the application processing is carried out on the client.
A major disadvantage of the thin-client model is that it places a heavy processing load on the _____ and the _____.
server, network
What is a key management disadvantage of the fat-client model?
New versions of the application have to be installed on all clients.
Which architectural pattern is used when there is a high volume of transactions to be processed by the server?
Multi-tier client-server architecture.
In a _____ architecture, there is no distinction between clients and servers; each distributable entity is a component.
distributed component
What is a major disadvantage of distributed component architectures?
They are more complex to design and lack a single, accepted standardized middleware.
What is a peer-to-peer (p2p) architecture?
A decentralized system where computations may be carried out by any node in the network.
What is the principal reason why peer-to-peer architectures are not widely used for business systems?
Security concerns, as the lack of central management allows malicious nodes to be set up.
What is Software as a Service (SaaS)?
A service that involves hosting software remotely and providing access to it over the Internet, typically via a web browser.
What is 'multi-tenancy' in the context of SaaS?
A situation where many different users access the same system, which is architected for efficient sharing of resources.
One of the benefits of software reuse is 'Reduced process risk'. What does this mean?
The cost of existing software is known, which reduces the margin of error in project cost estimation.
What is the 'not-invented-here' syndrome in relation to software reuse?
A tendency for some engineers to prefer rewriting components because they believe they can improve on them or find it more challenging.
An _____ is a sub-system design made up of a collection of abstract and concrete classes and the interfaces between them, intended for reuse.
application framework
Which composite pattern is the interaction model for Web Application Frameworks (WAFs) based on?
Model-View-Controller (MVC).
What are 'software product lines' or 'application families'?
A set of applications with a common architecture and shared components, where each application is specialized for different requirements.
What is COTS product reuse?
Reusing a Commercial-Off-The-Shelf (COTS) product, which is a software system adaptable for different customers without changing its source code.
What is a significant problem related to requirements when adopting a COTS product?
Requirements usually have to be adapted to reflect the functionality and mode of operation of the COTS product.
What is the difference between COTS-solution and COTS-integrated systems?
COTS-solution systems use a single product, while COTS-integrated systems integrate several heterogeneous products.
Enterprise Resource Planning (ERP) system
A generic COTS system that supports common business processes such as ordering, invoicing, and manufacturing.
In distributed component architectures, component communication is handled through a _____ system.
middleware
What is one benefit of distributed component architecture?
It allows designers to delay decisions on service location, is open to new resources, is flexible and scalable, and allows dynamic reconfiguration.
In SaaS, how can the software be configured for a specific organization's needs?
Through branding, defining business rules/workflows, database extensions, and access control.
To achieve transparency in a distributed system, resources should be abstracted and addressed _____ rather than physically.
logically
What security attack involves an attacker generating information that should not exist to gain privileges?
Fabrication.
What does Quality of Service (QoS) reflect in a distributed system?
The system's ability to deliver services dependably with an acceptable response time and throughput.
Which architectural layer in a client-server system implements the application's logic to provide functionality to end users?
The application processing layer.
In master-slave architectures, the 'master' process is usually responsible for what?
Computation, coordination, and communications, and it controls the 'slave' processes.
What is a primary characteristic of a service-oriented architecture (SOA) transaction?
They are typically short transactions where a service is called, performs an action, and returns a result.
One factor in reuse planning is the _____, which determines how long the software is expected to be in use.
expected software lifetime
What is legacy system wrapping?
An approach to reuse where a legacy system is enclosed by a set of interfaces, providing access to it through those interfaces.
Frameworks are extended to create a more specific application by adding _____ classes that inherit from abstract classes.
concrete
What is a major problem with using application frameworks due to their nature?
Their complexity means that it takes a long time to learn how to use them effectively.
What is 'platform specialization' in a software product line?
Developing different versions of the application for different platforms.
What is 'deployment time configuration' for a software product line?
Configuring the product line by embedding knowledge of the customer's requirements without changing the source code.
In a COTS-integrated system, how is data exchange between different products typically handled?
By writing adaptors that convert data from one product's representation to another.
A key problem with COTS reuse is that the _____ controls system support and evolution, not the user.
COTS product vendor
What are the two types of interaction between components in a distributed system?
Procedural interaction and message-based interaction.
The ability for concurrent processing to enhance performance is a characteristic of distributed systems known as _____.
concurrency
What is a 'structure point' in the context of CBSE's structural modeling?
A distinct construct within a structural model that has reuse potential.
One characteristic of a structure point is that it should implement _____ by isolating all complexity contained within itself.
information hiding
What is the 'underlying object model' an architectural ingredient for?
Component composition.
CORBA
Common Object Request Broker Architecture.