deck_17529172 (1) Flashcards

(36 cards)

1
Q

Why do software engineers use “architectural design”?

A

The architectural design identifies the main structural components in a system and the relationship between them. It is a critical link between design and requirements engineering, as it identifies the main structural components in a system and the relationships between them.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Which one of the following symbols is used to represent a component in a system architecture?
oval
circle
line
rectangle

A

rectangle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How does architectural design help stakeholders?

Stakeholders use to write code

Stake holders use to design class diagrams

Help improve communication

Stake holders will use it to run the program

A

Help improve communication

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

(True/False) An architectural diagram of a system shows the detailed relationships between components.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

(True/False) An architectural pattern is a description of a system organization.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Architectural patterns/styles give us a clue as to at which situations we should use a certain architectural pattern. There were several architectural patterns that we learned in this chapter. List all of them:
(Select all that appy)

Class view

Client-sever

Logical filter

Layered

Piples and filters

Development view

Repository

Model-vew-controller

A

Client-sever

Layered

Piples and filters

Repository

Model-vew-controller

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What architectural style/pattern describes the following statement:
System functionality is organized into separate layers, and each layer only relies on the facilities and services offered by the layer immediately beneath it.

Layered style

Repository style

Client–server style

Piples and filters style

A

Layered style

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is an example of a transaction processing application?

Web search engine

Video game

Google assistant

Online shopping

A

Online shopping

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Which of the following is a primary reason for using architectural patterns in software design?
(Choose the best answer)

To eliminate the need for documentation

To define the user interface for the system

To provide a template solution to common software design problems

To model the hardware layout for the system

To show the structural view of a componant

A

To provide a template solution to common software design problems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

(True/False) It is not possible to combine several architectural patterns together when developing an application.

A

False

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

When developing software, the interface needs to be specified. What does the interface design is concerned with?

A

Interface design is concerned with specifying the detail of the interface to an object or to a group of objects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

When you use UML to develop a design, you should develop two kinds of design models. What are those?

Dynamic models

Visual model

Structural models

Filter model

Validity Model

Layered architecture

A

Dynamic models

Structural models

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Which one of the following statements is true about a state diagram?

Show how objects change their state in response to classes.

Show the sequence of object interactions that take place.

Represents an interaction with outside entities of a system

Show how objects change their state in response to events.

A

Show how objects change their state in response to events.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

One of the design patterns we learned in the class “observer pattern.” Which one of the following systems will use this observer pattern? (Choose the more applicable one)

Amazon’s product discription

Video game’s icon updating

YouTube subscriber system

Search bar on an app store

A

YouTube subscriber system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

When you are developing software, you should make as much use as possible of existing items. Which one of the following can be reused when developing software?
(Select all that apply)

Components

Objects

Aplication systems

Architectural patterns

A

Components

Objects

Aplication systems

Architectural patterns

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Three activities of configuration management are version management, system integration, and problem tracking. Which one of the following is true about problem tracking?

Support is provided to help developers define what versions of components are used to create each version of a system

Support is provided to allow users to report bugs and other problems, and to allow all developers to see who is working on these bugs and when they are fixed.

Support is provided to keep track of the different versions of software components. It includes facilities to coordinate development by several programmers.

Helps build a system automatically by compiling and linking the required components.

A

Support is provided to allow users to report bugs and other problems, and to allow all developers to see who is working on these bugs and when they are fixed.

17
Q

In host-target development, production software does not usually execute on the same computer as the software development environment. If a gaming company were to run its games, which of the following describe target systems?
(Select all that apply)

Gaming company’s development sever

User’s gaming counsole

User’s Laptop

Game developer’s machine

A

User’s gaming counsole

User’s Laptop

18
Q

Who develops open-source systems? (choose the best match answer)

Any one can contribute

Only the development team

Only the stake holders

Ownders of the system and the development team

A

Any one can contribute

19
Q

We discussed three open-source licenses in class. If you don’t want to keep any secrets and want to share everything about your system in an open-source platform, which one of the licenses will you use?

The GNU General Public License (GPL)

The GNU Lesser General Public License (LGPL)

The Berkley Standard Distribution (BSD) License

None of the above

A

The GNU General Public License (GPL)

20
Q

Which of the following statements are true about open-source development?
(Select all that apply)

Errors in the software get fixed early

Increase reliability

It will help to keep confidential business knowledge out of competitors

Making software open source will guarantee that you will always get a large community of volunteers to work on it.

A

Errors in the software get fixed early

Increase reliability

21
Q

What is regression testing?

A

Regression testing is testing the system to check that changes have not ‘broken’ previously working code.

22
Q

What are you trying to discover during defect testing?

Discover if we are building the right product

Discovering inputs and outputs of the user

Demonstrate to the developer and the system customer that the software meets its requirements

Faults in the software where its behavior is incorrect or not in conformance with its specification

A

Faults in the software where its behavior is incorrect or not in conformance with its specification

23
Q

What are the 3 major testing stages a software system should go through?

User testing

Development testing

Problem testing

Release testing

Class testing

A

User testing

Development testing

Release testing

24
Q

Development testing includes all testing activities that are carried out by the team developing the system. The tester of the software is usually the programmer who developed that software. Three states of this development testing are: Unit testing, component testing, and system testing. During unit testing, what does a development team test?

Test the whole system

Test individual functions

Test component interfaces

Test interaction of classes

A

Test individual functions

25
Which one of the following lists a characteristic of test-driven development? You can move on to the next increment if your code can't pass the test. Each use case usually involves several system components so testing the use case forces these interactions to occur. Design tests so that parameters to a called procedure are at the extreme ends of their ranges. Tests are wrriten before you start to code
Tests are wrriten before you start to code
26
Which one of the following describe a "stress testing"? Providing the system with inputs withn an acceptable range Writing test cases to see if the system has implemented all requirements Making demands to the software that are outside the design limits. Performing beta testing
Making demands to the software that are outside the design limits.
27
Partial Credit The last "stage of testing" is user testing. What different types of user testing are there? (Select all that apply) Developer testing Scenario testing Acceptance testing Beta testing Test constructions Alpha testing
Acceptance testing Beta testing Alpha testing
28
One of the three different types of user testing is acceptance testing. Which one of the following discribes an acceptance testing? Customers test a system, using their own data, and decide if it should be accepted and ready to be deployed in the customer environment. A larger group of users experiment with the system and to raise problems that they discover with the system developers. Selected group of software users work closely with the development team to test early releases of the software. Users examinin each requirement and develop tests for it.
Customers test a system, using their own data, and decide if it should be accepted and ready to be deployed in the customer environment.
29
The first stage in any software design process is to develop an understanding of the relationships between the software that is being designed and its external environment. This is essential for deciding how to procide the required system functionality and how to structure the system to communicate with its environment. Which one of the following diagrams will allow us to discover this? Component diagram Class diagram State diagram Context diagram Activity diagram Deployment diagram
Context Diagram
30
Which one of the following describes a design and implementation phase? It is the stage in the software engineering process that shows a progrram does what it is intended to do and discovers program defects before it is put into use It is the stage in the software engineering process where we develop abstract models of a system with each model presenting a different view or perspective of that system It is the stage in the software engineering process where we are concerned with the structure and organization of a system It is the stage in the software engineering process at which an executable software system is developed
It is the stage in the software engineering process at which an executable software system is developed.
31
When you use UML to develop a design, you should develop two types of design models: Structural and dynamic. Which one of the following describes the structural model? Describe the interactions between objects Describe how objects respond to different service requests and the state transitions triggered by these requests Describe the static view of the system in terms of object classes and relationships Describe the state changes triggered by object interactions
Describe the static view of the system in terms of object classes and relationships
32
When you test software, you are trying to do two things. What are those two things? To discover situations in which the behavior of the software is incorrect To demonstrate that the software meets its requirements To demonstrate the qualities of its architecture To discover the acceptability of the software To discover the evolution lifetime of the software
To discover situations in which the behavior of the software is incorrect To demonstrate that the software meets its requirements
33
which one of the following testing checks that changes have not broken previously working code: interface development code coverage system documentation simplified debugging structure validation regression testing
regression testing
34
Companies have to decide if they want to keep maintaining a legacy system or scrap it. In which of the following situations will a company choose to maintain a legacy system instead of scraping it? We do that when the system is not effective for the business When they system has a low business value and low quality The system is fairly stable, and the system users make relatively few change requests When the system is not used by many users
The system is fairly stable, and the system users make relatively few change requests
35
Sometimes software needs to go through urgent changes. What may cause these urgent changes? Changes to the system's environment New government legislation Detection of critical faults None of the above
Changes to the system's environment New government legislation Detection of critical faults
36
It is usually more expensive to add new features to a system at certain stages. At which of the following stages should you add new features to a system to minimize the cose? At the evolution stage At the development stage At the maintenance stage At the environmental adaptation stage
At the development stage