You are on page 1of 8

Taibah University

College of Computer Science and Engineering

Program: BSCS Course Code: CS 281 Course Title: Introduction to


Software Engineering
Exam: Midterm1 Date: October 2015 Time: 1 hour

Total Marks: 30 Instructor Name: Type: Questions’ answers


Dr. Maha DRISS

1. The incremental software process model

A. is easy to understand and execute


B. is used for projects where core functionality is required quickly
C. is the best approach to use for projects with large development teams
D. is not used for commercial products

2. Prototyping software process model is

A. a reasonable approach when requirements are well defined


B. a useful approach when a customer cannot define requirements clearly
C. the best approach to use for projects with large development teams
D. suitable only for developing games

3. Requirements validation is a review process that is performed to detect and correct

A. requirements that are not consistent with the scope of the problem
B. ambiguous requirements
C. realistic requirements
D. A and B

4. ____________ is a disciplined technique for restructuring an existing body of code,


altering its internal structure without changing its external behavior.

A. Continuous integration
B. Test-first development
C. Refactoring
D. Unit testing

5. Which of the following is not one of the five principles of agile methods?

A. Customer involvement
B. Embrace change
C. Incremental delivery
D. Following the plan

6. A structured set of activities used to develop a software application is called

A. project management.
B. a software process.
C. software engineering.
D. requirements engineering.

7. Software engineering is an engineering discipline that is concerned with:

A. how computer systems work


B. theories and methods that underlie computers and software systems
C. all aspects of software production.
D. how complex engineering projects should be designed and managed over their life
cycles

8. Change cannot be easily accommodated in most software systems, unless the system
was designed with change in mind.

A. True
B. False

9. In general software only succeeds if its behavior is consistent with the objectives of its
designers.

A. True
B. False

10. Design and architecture are often referred to as the “what” of the system and
requirements as the “how”.
Requirements are the “what” and the design
A. True and architecture are the “how”
B. False

11. It is often better for the prototype to exceed the final product so that the users can see
all the possible options the system could have.

A. True The user will


B. False likely be disappointed if the final product is worse than the first prototype.
Developers must manage the expectations.
12. Evolution is one of the stages of software development.

A. True
B. False

13. One of the goals of specifying requirements is to be able to control the production and
development of a system.

A. True
B. False

14. Waterfall model is not suitable for?

A. small projects
B. complex projects
C. accommodating change
D. None of above

15. Agile methods seem to work best when team members have a relatively high skill
level.

A. True
B. False

16. Agile software development is based on

A. Incremental development
B. Iterative development
C. Linear development waterfall model
D. Both A and B

17. The software system that generates and prints a utility bill at the end of the month for
each customer is an example of which type of application?

A. Interactive transaction-based application


B. Batch processing system
C. Embedded control system
D. Data collection system

18. The software in a microwave oven that controls the cooking process is an example of
which type of application?

A. Interactive transaction-based application


B. Batch processing system
C. Embedded control system
D. Data collection system

19. ____________ is the dominant approach for constructing Web-based systems.

A. Incremental development
B. Linear waterfall model
C. Software reuse
D. Both A and C

20. Using a standard authentication procedure for the users of a software is

A. a product non-functional requirement


B. an organizational non-functional requirement
C. a functional requirement
D. an external non functional requirement

21. Which of the following statements is true about the spiral software development
model?

A. At least some specification is written before any code.


B. Most specification is written before any code.
C. At least some implementation must take place before any tests are written.
D. Most tests are written before implementation takes place.

22. Consider a system where, a heat sensor detects an intrusion and alerts the security
company. What kind of a requirement the system is providing?

A. Functional
B. Non-Functional

23. Which one of the following is not a step of requirement engineering process?

A. Elicitation
B. Integration
C. Analysis
D. Validation

24. Which one of the following is not a phase in the prototyping development process?

A. Objectives establishment
B. Change assessment
C. Functionalities definition
D. Evaluation

25. A good specification should be?

A. Unambiguous
B. Distinctly specific
C. Realistic
D. All of above

26. Choose the correct option in terms of issues related to professional responsibility.
A. Confidentiality
B. Intellectual property rights
C. Managing client relationships
D. Both A and B

27. Software engineers should not use their technical skills to misuse other people’s
computers. Here the term misuse refers to:

A. Unauthorized access to computer material


B. Unauthorized modification of computer material
C. Dissemination of viruses or other malware
D. All of the mentioned

28. Which of the following models can be chosen if the development team has less
experience on similar projects?

A. Spiral
B. Waterfall
C. RUP
D. XP

29. To produce a good quality software product, process should be:


A. Rigorous
B. Efficient
C. Sophisticated
D. None

30. What role do user stories play in agile eXtreme Programming?

A. Define useful software features and functions delivered to end-users


B. Determine a schedule used to deliver each software increment
C. Used to estimate the effort required to build the current increment
D. Both A and B
Taibah University
College of Computer Science and Engineering

Program: BSCS Course Code: CS 281 Course Title: Introduction to


Software Engineering
Examination: Date: December 2015 Time: 1 hour
Midterm2
Instructor Name: Dr. Maha DRISS
Type: Questions’ answers

MCQs

Question 1 2 3 4 5 6 7 8 9 10
Answer d a b d a b a d a b

1. System modeling is

a. used to model the process and the lifecycle of a software application.


b. a detailed documentation of the deployment procedure of a software application.
c. Used only to communicate with customers.
d. the process of developing abstract models to represent the system from different views.

2. When models are used as a way of documenting an existing system, they:

a. should be accurate but not need to be complete


b. can be incomplete and incorrect
c. have to be both correct and complete

3. Model-driven engineering is just a theoretical concept. It cannot be converted into a


working/executable code.

a. True
b. False

4. As context models do not show the types of relationships between the systems in the
environment and the system that is being specified, other models such as
____________ models might be used along with context models.
a. Business

1
b. Interaction
c. Process
d. Both a and c

5. Which perspective in system modeling shows the system or data architecture?


a. Structural perspective
b. Behavioral perspective
c. External perspective
d. Interaction perspective

6. Which system model is being depicted by the ATM operations shown below:

a. Structural model
b. Context model
c. Behavioral model
d. Interaction model

7. Activity models are used to model the processing of data.


a. True
b. False

8. The UML supports event-based modeling using ____________ diagrams.

a. class

2
b. use case
c. activity
d. state chart

9. In class diagram, an aggregation relationship:

a. shows how classes that are collections are composed of other classes.
b. is implemented using the class inheritance mechanism.
c. is a link between classes that indicates that there is some relationship between
these classes.

10. ____________ is an approach to software development where models rather than


programs are the principal outputs of the development process.

a. UML
b. MDE
c. CBSE

You might also like