ASE - Midterms

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall with Kai
GameKnowt Play
New
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/75

flashcard set

Earn XP

Description and Tags

Reviewer for Advanced Software Engineering

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

76 Terms

1
New cards

Component-Based Software Engineering (CBSE)

A process that emphasizes the design and construction of computer-based systems using reusable software 'components'.

2
New cards

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.

3
New cards

What is a key advantage of CBSE regarding development time?

CBSE shortens development time.

4
New cards

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.

5
New cards

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

6
New cards

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.

7
New cards

A nontrivial, nearly independent, and replicable part of a system that fulfils a clear function is called a software _____.

component

8
New cards

What are the five main characteristics of a software component in CBSE?

Standardised, Independent, Composable, Deployable, and Documented.

9
New cards

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.

10
New cards

What are the three major activities of domain engineering?

Analysis, construction, and dissemination.

11
New cards

What CBSE activity occurs in parallel with domain engineering?

Component-Based Development (CBD).

12
New cards

What are the three main parts of Component-Based Development (CBD)?

Component qualification, component adaptation, and component composition.

13
New cards

What is the purpose of component qualification?

To ensure a candidate component performs the required function, fits the architecture, and exhibits required quality characteristics.

14
New cards

The adaptation technique often used to resolve integration conflicts when reusing a component is called component _____.

wrapping

15
New cards

What is white-box wrapping?

An adaptation technique where integration conflicts are removed by making code-level modifications.

16
New cards

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.

17
New cards

What adaptation technique requires introducing pre- and post-processing at the component interface to resolve conflicts?

Black-box wrapping.

18
New cards

What architectural ingredient for component composition ensures that components developed in different languages are interoperable?

The underlying object model.

19
New cards

Microsoft's standard for software components is known as COM, which stands for what?

Component Object Model.

20
New cards

What is one stated disadvantage of CBSE?

Component maintenance costs, questionable quality of components, or sensitivity to changes.

21
New cards

What is a distributed system?

A collection of independent computers that appears to the user as a single coherent system.

22
New cards

The characteristic of distributed systems that involves the sharing of hardware and software resources is called _____.

resource sharing

23
New cards

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.

24
New cards

The ability of a distributed system to increase throughput by adding new resources is known as _____.

scalability

25
New cards

What is fault tolerance in a distributed system?

The ability to continue in operation after a fault has occurred.

26
New cards

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.

27
New cards

What type of security attack involves intercepting communications between parts of a system, leading to a loss of confidentiality?

Interception.

28
New cards

A denial of service attack is an example of which type of security attack on a distributed system?

Interruption.

29
New cards

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.

30
New cards

In distributed systems, procedural interaction is typically implemented using _____.

remote procedure calls (RPC)

31
New cards

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.

32
New cards

In a client-server system, which architectural layer is concerned with presenting information to the user and managing user interaction?

The presentation layer.

33
New cards

What architectural pattern for distributed systems is used in real-time systems where guaranteed interaction response times are required?

Master-slave architecture.

34
New cards

thin-client model

A model where the presentation layer is on the client, and all other layers are on the server.

35
New cards

fat-client model

A model where some or all of the application processing is carried out on the client.

36
New cards

A major disadvantage of the thin-client model is that it places a heavy processing load on the _____ and the _____.

server, network

37
New cards

What is a key management disadvantage of the fat-client model?

New versions of the application have to be installed on all clients.

38
New cards

Which architectural pattern is used when there is a high volume of transactions to be processed by the server?

Multi-tier client-server architecture.

39
New cards

In a _____ architecture, there is no distinction between clients and servers; each distributable entity is a component.

distributed component

40
New cards

What is a major disadvantage of distributed component architectures?

They are more complex to design and lack a single, accepted standardized middleware.

41
New cards

What is a peer-to-peer (p2p) architecture?

A decentralized system where computations may be carried out by any node in the network.

42
New cards

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.

43
New cards

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.

44
New cards

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.

45
New cards

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.

46
New cards

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.

47
New cards

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

48
New cards

Which composite pattern is the interaction model for Web Application Frameworks (WAFs) based on?

Model-View-Controller (MVC).

49
New cards

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.

50
New cards

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.

51
New cards

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.

52
New cards

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.

53
New cards

Enterprise Resource Planning (ERP) system

A generic COTS system that supports common business processes such as ordering, invoicing, and manufacturing.

54
New cards

In distributed component architectures, component communication is handled through a _____ system.

middleware

55
New cards

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.

56
New cards

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.

57
New cards

To achieve transparency in a distributed system, resources should be abstracted and addressed _____ rather than physically.

logically

58
New cards

What security attack involves an attacker generating information that should not exist to gain privileges?

Fabrication.

59
New cards

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.

60
New cards

Which architectural layer in a client-server system implements the application's logic to provide functionality to end users?

The application processing layer.

61
New cards

In master-slave architectures, the 'master' process is usually responsible for what?

Computation, coordination, and communications, and it controls the 'slave' processes.

62
New cards

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.

63
New cards

One factor in reuse planning is the _____, which determines how long the software is expected to be in use.

expected software lifetime

64
New cards

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.

65
New cards

Frameworks are extended to create a more specific application by adding _____ classes that inherit from abstract classes.

concrete

66
New cards

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.

67
New cards

What is 'platform specialization' in a software product line?

Developing different versions of the application for different platforms.

68
New cards

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.

69
New cards

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.

70
New cards

A key problem with COTS reuse is that the _____ controls system support and evolution, not the user.

COTS product vendor

71
New cards

What are the two types of interaction between components in a distributed system?

Procedural interaction and message-based interaction.

72
New cards

The ability for concurrent processing to enhance performance is a characteristic of distributed systems known as _____.

concurrency

73
New cards

What is a 'structure point' in the context of CBSE's structural modeling?

A distinct construct within a structural model that has reuse potential.

74
New cards

One characteristic of a structure point is that it should implement _____ by isolating all complexity contained within itself.

information hiding

75
New cards

What is the 'underlying object model' an architectural ingredient for?

Component composition.

76
New cards

CORBA

Common Object Request Broker Architecture.