Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

SWE Final Exam

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

prepared by: Bilal Hoor

SWE Final Exam


PPU
****************************************************************************************

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.

Question 24 [Marked out of 1.00]

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.)

Question 4 [Marked out of 1.00]

A successful test is done to?

a. Discover that software is free from errors


b. Discover missing requirements
c. Discover that software contains one or more errors

…………………………………………………………………………………………………………..
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).

Question 22 [Marked out of 1.00]

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

Which of the following is true about Regression testing


Select one:
a. Test that doesn't need automated tool to reduce time
b. Test to ensure that change don't break the system
c. Test code that already tested

Question *

Which of the following process models best emphasizes risk management?


Select one:
a. Incremental development
b. Boehm's spiral model
c. Reuse-based software engineering
d. Waterfall process
Question 26
[State Diagram] is a type of diagrams that describes dynamic behavior of the system at running
time.
[Software Engineering] is the use of engineering principles to obtain economical software that
is reliable and works efficiently.
[Image Processing] is an example of software that may use the pipe and filters architecture.
[Coupling] The degree to which a component is connected to other components and to the
external world.
~ [Cohesion] implies that a component or class encapsulates only the attributes and operations
closely related to one another and to the class itself.
[Iterator pattern] Provide a standard way of accessing the elements in a collection. irrespective
of how that collection is implemented.
~ Allow for the possibility of extending the functionality of an existing class at runtime (Decorator
pattern)
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)

⇒ Best inputs to test this field:


● 18 (Boundary value)
● 90 (Boundary value)
● 54 (Nominal value)
● 17
● 91
Why doesn't Agile work for large projects?
● An additional layer of coordination and integration is needed
● Some level of project/program management may also be needed

● Integration with the company’s business objectives and other related


projects or applications may also be needed

>> 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.

XP(Extreme Programming) → Agile process model


>> test-driven
>> user requirements → story.
>> code is more imp than design

“XP & Agile principles”:


people → pair programming
change → regular system releases.
simplicity → refactoring of code.

// What is the difference between version and release?

sprint → increment

Q: What is the difference between product backlog and sprint backlog?


⇒ pb is for the whole project reqs.. sb is for current sprint reqs.

The isolation done through the scrum master.

You might also like