SWE Final Exam
SWE Final Exam
SWE Final Exam
Final Questions::
Question 2
[Marked out of 1.00]
Determining the main components of the system and the relationships between them is
____________ ?
a. Data design
b. Component design.
c. User Interface design
d. Architectural design ⇐
…………………………………………………………………………………………………………..
note: Architectural design is the critical link between design and requirements engineering, as it
identifies the main structural components in a system and the relationships between them.
Concerning class diagrams and in a generalization, the attributes and operations associated with
higher-level classes are also associated with the lower-level classes.
a. False
b. True
…………………………………………………………………………………………………………..
note: generalization = inheritance.
(inheritance means that the child class is a specific type of the parent class.)
…………………………………………………………………………………………………………..
note:
● in Defect Testing → A successful test is a test that makes the system perform incorrectly
and so exposes a defect in the system.
● in Validation testing → A successful test shows that the system operates as intended (the
software meets its requirements).
Architecture in the small is not concerned with the architecture of individual programs
Select one:
a. False
b. True
…………………………………………………………………………………………………………..
note: Architecture in the small is concerned with the architecture of individual programs. At this
level, we are concerned with the way that an individual program is decomposed into
components.
Question 25
Increasingly, systems are required to operate as distributed systems across networks that
include different types of computer and mobile devices. This is:
a. Heterogeneity
b. Security and trust
c. Scale
…………………………………………………………………………………………………………..
note:
● Heterogeneity → Increasingly, systems are required to operate as distributed systems
across networks that include different types of computer and mobile devices.
● Business and social change → incredibly quickly as emerging economies develop and
new technologies become available. They need to be able to change their existing
software and to rapidly develop new software.
● Security and Trust → As software is intertwined with all aspects of our lives, it is essential
that we can trust that software
● Scale → Software has to be developed across a very wide range of scales, from very
small embedded systems in portable or wearable devices through to Internet-scale,
cloud-based systems that serve a global community
Question (*)
A good source to derive test cases is:
a. Activity diagram.
b. Class diagram.
c. Architecture of the system.
d. Use case scenario.
…………………………………………………………………………………………………………..
note:
The use-cases developed to identify system interactions can be used as a basis for system
testing. Each use case usually involves several system components so testing the use case
forces these interactions to occur. The sequence diagrams associated with the use case
documents the components and interactions that are being tested.
Question 21
Regarding requirements; there should be no conflicts or contradictions in the descriptions of the
system facilities. This is best known as:
a. Requirements consistency.
b. Requirements completeness.
…………………………………………………………………………………………………………..
note:
Completeness ⇒ They should include descriptions of all facilities required.
Consistency ⇒ There should be no conflicts or contradictions in the descriptions of the system
facilities.
?Question 15
White Box testing is testing that ?
a. Need the existence of source code of the software.
b. Need the existence of an executable version of the software.
c. Need both executable and source code of software
…………………………………………………………………………………………………………..
note: Use source code to derive test cases. Choose test cases that guarantee different types of
coverage.
Question 23
One of the following localizes critical operations and minimizes communications. It uses large
rather than fine-grain components. It is __________
a. Safety
b. Security
c. Availability
d. Performance
…………………………………………………………………………………………………………..
note: Performance ⇒ Localizes critical operations and minimizes communications. Use large
rather than fine-grain components.
Question 14
A type of black box testing that is done by the end users and in the real environment?
Select one:
a. Acceptance testing
b. Release testing
c. Alpha testing
d. Regression testing
…………………………………………………………………………………………………………..
note: * acceptance testing → black box, done by end users, in the real environment(target env).
* release testing → black box, done usually by a separate team, in the host environment.
* Alpha testing → Users of the software work with the development team to test the
software at the developer’s site.
* Regression testing → is testing the system to check that changes have not ‘broken’
previously working code.
Question 16
A system model that shows the classes in a system and the associations between these classes
is called
a. Sequence Diagram
b. State machine diagram
c. Activity diagram
d. Class Diagram
Question 3
A testing type where we test each individual function in isolation
Select one:
a. Validation testing
b. Unit testing
c. System Testing
d. Integration Testing
Question 13
Question *
Question ***
The output of the architectural design process is an architectural model that describes how
the system is organized as a set of communicating components.
Question 7
One of the following properties cannot be achieved by the layered architecture pattern:
a. Security
b. Performance
c. Scalability
d. Availability
Question 6
We used the following diagrams to describe their interactions between the user and system
being designed and users “……missed”
a. Use case diagram
b. Activity Diagram
c. Sequence Diagram
→ efficiency
● Equivalence classes:
1- Less than 18 (rejected)
2- Between 18 and 90 (accepted)
3- More than 90 (rejected)
>> If the project will take a long time (1 or two years or more) then the
documentation and planning is very essential, for example if the team member has
been changed so it is important to have a detailed plan and documentation and this
is not available in agile so it may fail.
>> Usually, if the project is too large, then it is divided into more than one team, and these
teams may be in different locations, so it is very difficult to work without a lot of management
and planning and detailed documentation.
>> when the project is very large .. if we use Agile, then the increments will be a lot and need
a lot of time.
sprint → increment