You are on page 1of 25

Quiz 1:

Choose the best answer about software classification.


-Nowadays, we classify software based on the customers: cooperation-based software, single-user-based software
and server-based software.
-All of the other answers are correct.
-Each software type need appropriate techniques and development tools.
-We can classify software as old-fashion software (built by old development processes) and modern software (built
by modern development processes).
Which of the following is/are not software engineer responsibilities?
-Satisfy customer requirements in all circumstances.
-Make sure that the software products are as professional as possible.
-Be fair and take action not to discriminate.
-Involves wider responsibilities than simply the application of technical skills.
Choose the wrong answer about software engineering activities.
-The best technique in software engineering is the newest proposed one.
-Good software can be accepted by customers should match the customer style/personality.
-Software developer = software designer + programmer.
-Fundamental activities in software engineering: specification, development, validation and evolution.
Software engineering is an engineering discipline when it _____ .
-needs engineers to operate and develop.
-requires that the users should be trained well.
-uses appropriate theories and methods to solve problems bearing in mind organizational and financial
constraints.
-All of the other answers are correct.
Choose the best answer about people in software engineering.
-Software developer has the responsibility on customer care, software design and software testing
-Programmer = coder + software tester
-None of the other answers are correct.
-Software designer is not an engineering job as it uses no theory.
Choose the best answer about software engineering.
-The production of software should be supper fast, no matter how many bugs there are.
-Software engineering is an engineering discipline that is concerned with all aspects of software production.
-All of the other answers are correct.
-Software engineering concerns only in building executable software.
Which of the following is the best case?
-Present only part of the available data that make customers happy.
-Do not have responsibility to help colleagues to behave morally.
-None of the other answers are correct.
-Can accept some under-the-table money from customers in some circumstances.
Show your opinion upon completing this course.
-In all cases, we need to study/practice more knowledge and skills when this course is just about an introduction to
the field.
-To be a software engineer, we do not need to study any more knowledge when the course provides all.
-All of the other answers are correct.
-To be a software tester, we only need to study more all other programming languages.
Choose the best answer about software.
-All of the other answers are correct.
-Software are computer programs and associated document.
-Good software deliver requirement functionality, trustable, easy to use and maintainable.
-Software costs = development cost + testing cost + maintenance/upgrade cost + etc.
Choose the best answer about software type.
-Business and society are always changing, we continuously need new techniques, methods, tools in software
development.
-All of the other answers are correct.
-Software development should be performed in considering about platforms and computer/device types.
-There are many different application types, each requires different appropriate techniques, methods and
development tools.
QUIZ#02.1. PROCESSES

1/ Choose the best answer about software processes.

a.None of the other answers is correct.

b.The reuse-oriented model can only be used together with the waterfall model.

c.The incremental process can only be applied when the development time is very long.

d.The waterfall model is currently used in small companies when it is traditional.

2/ Choose the best answer about software process concept.

a.Software process model is another name for software process.

b.Software process is a set of techniques in software development. c.All the other answers are correct.

d.All software processes consist of fundamental activities: specification, development, validation and evolution.

3/ Software development activity _____.

a.Design step and then implementation step as in water fall. b.Includes: design and implementation and testing

c.All of the other answers are correct. d.Is a process of converting specification into executable systems.

4/ In which CMM (Capability Maturity Model) level, the company guarantees about the continuously improvement in software process?

a.6 b.4 c.5 d.3

5/ Which one is correct?

a.None of the other answers is correct. d.In the waterfall model, there are alway 4 stages.

b.In the waterfall model, we can not go back to the previous stage (only to the first stage if there is any problem in the latter stages).

c.In the development step of incremental development, there is no more requirement analysis.

6/ Software specification activity _____.

a.Is a fundamental activity in Software engineering.

b.Can includes: requirement elicitation and analysis, requirement specification and requirement validation.

c.Is a process of establishing the software requirements. d.All of the other answers are correct.

7/ In prototyping software development, what is a prototype?

a.A complete design that can be implement immediately. c.A program that has user interface and workable functions.

b.A program that has user interface and may have some basic functions.

d.A program that has at least more features than the requirements from the customer.

8/ Suppose that, some one states that: (1) Software specification is a process of specifying functionalities and constraints in development
and operation software; (2) Software development is a process of transferring specification into executable system; (3) Software testing is
part of software validation. Giving 1 point for each correct statement and -1 point for each incorrect statement. How many point do we
have?

a.-1 b.-3 c.1 d.3

9/ Which of the following documents are in professional software development?

a.Software Detail Design – SDD b.All of the other answers.

c.Software Testing Document – STD d.Software Requirement Specification - SRS

10/ Which one is so wrong in software processes?

a.In the waterfall model, the previous phase should be done before starting the next phase.

b.In the incremental process, only the final product could be delivered to the customer.

c.The incremental process allows fundamental software engineering activities such as specification, development and validation to be
performed repeatedly.

d.In the incremental process, the goal for each iteration (repeat) may not be depended on the previous iterations.
QUIZ#02.2. PROCESSES – ADVANCED

1/ Software prototype can be used in _____.

a.All the other answers are correct. b.Testing process: run back-to-back tests

c.Options and develop UI design d.Requirements elicitation and validation

2/ Software specification is a process of _____.

a.Requirements validation b.Requirements elicitation and analysis

c.Requirements specification d.All the other answers are correct.

3/ For a "easily get customer feedback" project, which process should be used and the reason?

a.Incremental as we can continue the whole interleaving process. d.All the other answers are correct.

b.Incremental as we can deliver version to version during the development

c.Waterfall as the specification was fixed then the next stage can be carried out.

4/ For a "fixed requirements" project, which process should be used and the reason?

a.All the other answers are correct.

b.Waterfall as the specification was fixed then the next stage can be carried out.

c.Any process depended on the type of the application.

d.Incremental as we can continue the whole interleaving process.

5/ Software development is a process of _____.

a.Requirement Analysis, Design, Programming and Testing b.Design, Programming and Testing

c.Design and Implementation d.All the other answers are correct.

6/ The most common activity in Software validation is _____.

a.Development review and software testing b.Requirement review, development review and software review

c.All the other answers are correct. d.Software testing

7/ For a "need only the full product with training" project, which process should be used and the reason?

a.Re-use oriented as we can deliver the full product. b.All the other answers are correct.

c.Incremental as we can only deliver the last version. d.Waterfall as the product can only be delivered at the end.

8/ For a "going-to-change requirements" project, which process should be used and the reason?

a.Incremental as the "not-yet-develop" requirements can be changed for next development iterations.

b.Waterfall as the specification was fixed then we reject the changes.

c.All the other answers are correct. d.Incremental as we can stop at anytime and go back to the specification step.

9/ The most activity in Software evolution is _____.

a.Fixing error after software release b.All the other answers are correct.

c.Adaptation (new environment, new device, etc.) d.Upgrade (new feature, etc.)

10/ For a "fixed structure/architecture" project, which process should be used and the reason?

a.Waterfall and incremental together for fixed architecture and fast development. b.All the other answers are correct.

c.Waterfall as the implementation is after the design step.

d.Incremental as the design and implementation are interleaved.


Quiz 3.1

The followings are requirements for a course registering software: (1) Students shall search the course schedules; (2) The
system should be operated around the clock and 7 days a week (24/7 mode) in the registration periods;(3) The confirmation
of the the registration is sent to the student immediately;(4) Office staffs can add new schedule for a course. In order from 1
to 4, which requirement is functional (F) or non-functional requirement (NF)?

a. NF-NF-NF-NF b. F-NF-F-NF.

c. F-NF-NF-F. d. F-F-F-F.

Which is the best answer for functional requirements?

a. Are classified into service, operation, method and auxiliary function b. All the other answers are correct.

c. Describe functionalities or system services d. Always in natural languages

Which of the followings are NOT non-functional requirement categories?

a. Performance, Environmental, Operational, Regulatory, Safety b. All the other answers are correct.

c. Usability, Efficiency, Dependability, Security d. Intermodule Relationship, Cost/Price, Deadline

Feedbacks from students about the course registration software are as follows. (1) Software should response immediately in
searching schedules; (2) Software should check and answer immediately the result of a registration. Which of the following
opinion of the development team is correct?

a. Have to care both statements because they are all (functional/non-functional) requirements.

b. None of the other opinions is correct.

c. Students have no responsibility to feedback.

d. Only care about the second statement as it is a non-functional requirement.

Choose the best answer about software requirements

a. All the other answers are correct.

b. Software requirements may range from a high-level abstract statement of a service/constraint to a detailed mathematical functional
specification.

c. Software requirements may be the basis for a bid for a contract - open to interpretation; or the basis for the contract itself - defined in
detail.

d. Software requirements are descriptions of system services and constraints on software development and operation.

Functional vs. Non-functional requirements?

a. Some non-functional requirements may requires some related functional requirements.

b. A functional requirement shall be together with some non-functional requirements. and vise versa.

c. All the other answers are correct.

d. There is no relationship between them.

User Requirement vs. System Requirement?

a.All the other answers are correct.

b. User Requirements are requirements from customers (user interface, services, ...), System Requirements are requirements from the
system (computer, network, environment, ...).

c. User Requirements are general requirements from customers (both functional and non-functional requirements), System
Requirements are specific requirements from customers (details of services/functional requirements, details of
non-functional requirements).

d. User Requirements are requirements from the leaders (management functions), System Requirements are requirements from the
system managers (computer, network, server, installation, ...).

Choose the best answer about functional and non-functional requirements.

a. Functional and Non-functional requirements are all requirements from the customers.

b. Non-functional requirements are constraints on software and/or software development.

c. All the other answers are correct.

d. Functional requirements are descriptions of system services.


Quiz 3.2

Who are your stakeholders for a movie ticket selling software and why?

Chọn một:

a. Security staffs - they tell us what they want/like about the software

b. All the other answers are correct.

c. Theatre managers - they require the software with some requirements

d. Audiences - they provide software requirements

Which is NOT correct about functional and non-functional requirements

a. They are all requirements. b. They are all from customer.

c. Some non-functional requirements may requires some related functional requirements.

d. Non-functional requirements can be reformed to be functional requirements.

The followings are requirements for a child tracking app: (1) The app sends an alert message to the parent when the child is
out of the safe zone; (2) The app sends the locations of the child to the parent regularly; (3) The app allows the child to call
the parent just by pressing one button; (4) The app cannot be off at any time. In order from 1 to 4, which requirement is
functional (F) or non-functional requirement (NF)?

a. NF-NF-NF-NF b. F-NF-F-F. c. F-F-F-NF. d. F-NF-NF-F.

The followings are requirements for a library management software: (1) The software should be operated on Windows; (2) The
software allows library staffs to track books borrowed by students; (3) The software should be available from 7:30 to 21:00
every working day; (4) The software will send a monthly report to the manager at the end of every month. In order from 1 to 4,
which requirement is functional (F) or non-functional requirement (NF)?

a. NF-F-NF-F b. F-NF-F-NF. c. NF-NF-NF-NF. d .F-F-F-F.

.Which of the followings are better requirement representation? (1A) The app should be provided on Android and iOS device;
(1B) The app is multi-platform; (2A) The app should be small and fast; (2B) The app size is maximum 200MB and should be
response to any touch in within 1 second?

a. 1B and 2B b. 1A and 2A. c. 1B and 2A. d. 1A and 2B.

The followings are requirements for a smart lighting software: (1) The light in an empty room should be turned off
automatically; (2) When a group of person appears in a corridors of a building at night, the light should be on; (3) At any time,
a security guy can turn on or off the light in any room in the building; (4) For every 6 months, all the light bulbs should be
replaced. In order from 1 to 4, which requirement is functional (F) or non-functional requirement (NF) or not a software
requirement (NR)?

a. F-NF-NF-F. b.NF-NF-NR-NF c. F-NF-NR-F. d. F-F-F-NR.

The followings are requirements for a personal money management mobile app: (1) The app should be provided on Android
and iOS device; (2) The app should be small and fast; (3) The app can be operated by only left or right hand; (4) The app
should be free. In order from 1 to 4, which requirement is functional (F) or non-functional requirement (NF) or not a software
requirement (NR)?

a. F-NF-NR-F. b. F-F-F-NR. c. NF-NF-NF-NR d. F-NF-NF-F.

Who are your stakeholders for a university smart lighting software and why?

a. Students - they provide what they feel about how beautiful the campus is

b. Security staffs - they tell us what they want to control the light in the campus

c. All the other answers are correct.

d. Guesses of the university - they require the software with some requirements

The followings are requirements for a movie ticket selling software: (1) An audience can search for a movie schedule; (2) The
software shall be operated on web and shall be operated all the time (24/7 mode); (3) The audience can cancel the ticket and
get the refund; (4) The movie theatre manager can add movie schedule for a movie. In order from 1 to 4, which requirement is
functional (F) or non-functional requirement (NF)?

a. F-F-F-F. b. F-NF-F-F. c. F-NF-NF-F. d. NF-NF-NF-NF

Which is NOT correct about software requirements?

a. All the other answers are correct.

b. Software requirements may be very detailed for helping the developers in developing the software.

c. Customer constraints such as the personality of the developers are not requirements.

d. The developers have to add their idea about the software into the requirements when they know how to develop the software.
QUIZ#04.1. REQ. ENG.2
Choose the best answers about use-case.
a.The set of use-cases of a system represent all interactions between actors and the system.
b.A use-case is a scenario representing interactions between actors and the system.
c.All of the other answers are correct.
d.Use-case diagram is to show the set of use-cases.

Generic activities common to all requirement engineering processes?


a.Elicitation - Analysis - Validation - Management.
b.All of the other answers are correct.
c.Prototyping – Discussion – Development – Testing.
d.Research – Interview – Representation – Synthesis.

Problems to work with stakeholders?


a.Stakeholders don't know what they really want.
b.Different stakeholders may have conflicting requirements.
c.All of the other answers are correct.
d.Stakeholders express requirements in their own terms.

Which is the common process in requirement elicitation and analysis?


a.Discovery - Validation - Classification and Organization - Specification.
b.Discovery - Classification and Organization - Validation - Specification.
c.Discovery - Classification and Organization - Specification - Validation.
d.Discovery - Classification and Organization - Prioritization and Negotiation - Specification.

Which of the following a use-case scenario shall describe?


a.All of the other answers are correct.
b.Normal flow of events and abnormal flow (what can go wrong).
c.Starting situation.
d.State when the scenario finishes.

Which of the following about software requirement specification (SRS) is CORRECT?


a.It has to have all the test cases and instructions of how to validate the software.
b.It has to have all graphical user interfaces (GUI).
c.It is the official statement of what is required of the system developers.
d.It is also a design document.

Which of the following is mostly NEVER used in describing a requirement?


a.Graphical notation language (ex. UML)
b.Programming-like language.
c.Audio and video.
d.Natural and mathematic languages.

Which of the following techniques are used in requirement validation?


a.Requirement review, prototyping and test-case generation.
b.User confirmation and prototyping.
c.All of the other answers are correct.
d.Requirement review and user feedback.

Which of the following the requirement validation shall validates?


a.Consistency – Are there any requirements conflicts?
b.Validity – Does the system provide the functions which best support the customer’s needs?
c.All of the other answers are correct.
d.Realism – Can the requirements be implemented given available budget and technology.

Who are NOT stakeholders of a software?


a.Users.
b.System operators.
c.Managers.
d.Developers.

QUIZ#04.2. REQ. ENG.2 – ADVANCED


A Library management system has the following abstract requirements. (1) The readers can borrow books from the library by
self-checkout; (2) The librarians can track the borrowed books; (3) The librarians can add or remove books from the library; (4) The
system generates reports for the manager monthly. Which of the following is correct?
a.Actors: Reader, Manager, Librarian.
b.The actor Librarian interacts with the use-case Track the borrowed books.
c.The actor Reader interacts with the use-case Borrow books.
d.All of the other answers are correct.
A Personal money management app has the following abstract requirements. (1) The owner registers for the first time; (2) The owner
can declare all personal payments to the app; (3) The app can show to the owner an analysis about his/her spending at anytime.
Which of the following is correct?
a.The actor Mobile phone interacts with the use-case Register to register the owner to the app.
b.All of the other answers are correct.
c.The use-cases are Register, Declare expenses; and Analyse spending.
d.Actors: Owner and the Mobile phone.

A Smoke detector system has the following abstract requirements. (1) The users can configure the detector in
high-/normal-/low-sensitive modes; (2) The system shall be always in smoke detecting mode, and turn on the alarm for smoke until
there is no more smoke; (3) In connection to the telephone line, a call with recorded voice will be called to the national fire hot line (ex.
phone number 114). Which of the following is correct?
a.All of the other answers are correct.
b.The actor User interacts with the use-case Configure smoke sensitive mode.
c.Actors: User, Fire Station.
d.The actor User can turn the alarm off.

Choose the WRONG answers about use-case.


a.The set of use-cases of a system represent all interactions between actors and the system.
b.A use-case description has to include all test-cases to validate the use-case.
c.A use-case is a scenario representing interactions between actors and the system.
d.A use-case has to have an actor to trigger it.

For the following situation, which of the answer is INCORRECT? "Setup consultation allows two or more doctors, working in different
offices, to view the same record at the same time. One doctor initiates the consultation by choosing the people involved from a
drop-down menu of doctors who are online. The patient record is then displayed on their screens but only the initiating doctor can edit
the record. In addition, a text chat window is created to help coordinate actions. It is assumed that a phone conference for voice
communication will be separately set up."
a.It is a use-case.
b.There is a lot of work to implement this feature.
c.Actors are Doctor and Patient.
d.The infrastructure manager, if any, should be one of our stakeholders.

In discovering requirements from a on-duty person, which of the following should be used?
a.Stop the person to interview.
b.All of that of the other answers with concerns.
c.Observe to discover scenario/requirement.
d.Read the documentation about the work/duty to discover scenario/requirement.

The following are abstract requirements of a movie ticket selling software. (1) The audience can register to be a member, search for
the schedule, book tickets and print tickets; (2) The movie theater manager can add movie schedules, exports management reports;
(3) The CEO can read the ticket selling report sent to by the Movie theater manager. Which of the following is correct?
a.The actor Movie theater manager is actually the actor Ticketing staff.
b.All of the other answers are correct.
c.Actors: Audience, Movie theater manager, CEO.
d.Use-cases: Register membership, Search for schedule, Book tickets, Print tickets, Add schedules, Export management
report.

The followings are requirements for a child tracking app: (1) The app sends an alert message to the parent when the child is out of the
safe zone; (2) The app sends the locations of the child to the parent regularly; (3) The app allows the child to call the parent just by
pressing one button; (4) The app cannot be off at any time. Which of the following is correct?
a.The use-cases are Alert the parent, Send location; Call the parent; and Stop the app.
b.All of the other answers are correct.
c.Actors: Owner (The child) and the App.
d.The use-case Send location can be triggered automatically by the system (a timer/scheduler).

Which is the best answer about languages for describing the requirements?
a.All the other answers are NOT quite correct.
b.Mathematical languages as they are always correct.
c.Natural languages when they are easy to be understood.
d.Graphical notation languages as they are fun.

Which of the following about software requirement specification (SRS) is WRONG?


a.It is also a design document.
b.It is the official statement of what is required of the system developers.
c.It should set of WHAT the system should do rather than HOW it should do it.
d.It should include both a definition of user requirements and a specification of the system requirements.
Quiz 5.1

1/ Which of the following about perspective is correct?

a. All of the other answers are correct. b. External perspective is to model the context or environment of the
system.

c. Interaction perspective is to model the interactions between a system and its environment, or between the components of a system.

d. Structural perspective is to model the organization of a system or the structure of the data that is processed by the system.

2/ "A use-case diagram DO NOT consist of ________.

a. Class b. Actor c. <<include>> arrow d. <<extend>> arrow

3/ "An interaction model ________.

a. All of the other answers are correct. b. Models system-to-system interaction.

c. Models component-to-component interaction. d. Models user-to-system interaction."

4/."A sequence diagrams DO NOT consist of ________.

a. Actor b. State c. Component d. Class / Object"

5/"Which of the following UML diagrams defines the set of components and their relationship (interaction)?

a. Use-case. b. Activity. c. Collaboration/Communication. d. State.

6/"One of the purpose of systems modeling is for ________.

a. Debugging b. Communication between software engineers.

c.None of the other answers is correct. d.Decorating documents in software development."

7/"Which of the following UML diagrams can be used in interaction perspective?

a. All of the other answers are correct. b. Use-case.

c. Collaboration/Communication. d. Sequence."

8/."A context model ________.

a. provides the structural perspective of the system.

b. describes the system boundary to define what is inside and what is outside the system.

c. All of the other answers are correct. d. is a process perspective, i.e. to show how the system interacts with the other systems."

9/"Choose the best answer about system modeling.

a. System modeling helps the analyst to understand the functionality of the system and models are used to communicate with customers.

b. System modeling has now come to mean representing a system using some kind of graphical notation, which is now almost always based on notations in the
Unified Modeling Language (UML).

c. System modeling is the process of developing abstract models of a system, with each model presenting a different view or perspective of that
system.

d. All of the other answers are correct." ​

10/"Which of the following about UML diagram is NOT correct?

a. A use-case diagram the interactions between system components.

b. A sequence diagram may show the sequence of interactions of a use-case

c. A sequence diagram may show the interactions between internal components.

d. A sequence diagram can be used to detail a use-case." ​


quiz 5.2: SYSTEM MODELING
Who/What triggers a sequence of actions/messages of a sequence diagram?
a. An internal component itself
b. All of the other answers are correct.
c. An actor or other system (or a message/action from the outside).
d. A use-case.

Choose the best answer about the use-case "extend relationship".


a. A -- <<extend>> --> B means start in B, may perform A and in that case end at A.
b. A -- <<extend>> --> B means start in A, may perform B and in that case end at B.
c. A -- <<extend>> --> B means start in A, must perform B, and always end at A.
d. All of the other answers are correct.

Which are good use-case names?


a. All of the other answers are not correct when some of the phrase are not "verb phrase".
b. Turn light on/off; Checking the lighting system.
c. Make report; Analysis system performance; Login.
d. Add new record; Search a book; Report generating.

Choose the best answer about the use-case "include relationship".


a. All of the other answers are correct.
b. A -- <<include>> --> means start in B, must perform A, and then end at B.
c. A -- <<include>> --> means start in A, do nothing with B, and of course end at A.
d. A -- <<include>> --> B means start in A, must perform B, and then end at A.

Choose the best answer about sequence diagram


a. A -- method1 --▶︎ B -- method2 --▶︎ C means the operation "method1" is
started after ending "method2".
b. All of the other answers are correct.
c. A -- method1 --▶︎ B -- method2 --▶︎ C means the operation "method1" is
ended before starting "method2".
d. A -- method1 --▶︎ B -- method2 --▶︎ C means the operation "method1" is
ended after completing "method2".

Choose the best answer about above sequence diagram


a. A -- method1 --▶︎ B -- method4 --▶︎ B means in performing its operation "method1", B calls its another operation
"method4".
b. A -- method1 --▶︎ B -- method4 --▶︎ B means "method4" is a sub-function of "method1".
c. A -- method1 --▶︎ B -- method4 --▶︎ B means A calls the operation "method1" and then calls another operation "method4".
d. All of the other answers are correct.

Choose the best answer about above sequence diagram


a. A -- method1 --▶︎ B --ret1--> A means the operation "method1" is executing in B then B calls the operation "ret1" in A.
b. All of the other answers are correct.
c. A -- method1 --▶︎ B --ret1--> A means the operation "method1" is executing in B then sends the information "ret1" to A
and then continue.
d. A -- method1 --▶︎ B --ret1--> A means the operation "method1" is executing in B and in completing returns the
information "ret1" back to A.

Choose the best answer about above sequence diagram


a. B -- method2 --▶︎ C -- method3 --▶︎ B means the operation "method2" is executing in C then C sends the information
"method3" to B.
b. All of the other answers are correct.
c. B -- method2 --▶︎ C -- method3 --▶︎ B means the operation "method2" is executing in C then C calls the operation
"method3" in B.
d. B -- method2 --▶︎ C -- method3 --▶︎ B means the operation "method2" is executing in C then C stops and returns the
information "method3" to B.

Which of the following about actor generation is correct


a. All of the other answers are correct.
b. Student ----▷ Person means Student can interact with all use-cases that are associated with
Person (Manage profile).
c. Student ----▷ Person means Person cannot interact with use-cases of Student (Enroll courses),
except those are directly associated with Person (non in this case).
d. Student ----▷ Person means Student can interact with its own use-cases (Enroll courses).
QUIZ#06.1. SYSTEM MODELING. 2

State-chart diagrams __________.

a. All the other answers are correct. b. Consists of only simple states (simple state consists of no other states).

c. Models interaction models. d. Show system states and the transitions from one state to another state.

UML language _________.

a. Cannot be used in systems modeling. b. Cannot be used in modeling states/state-chart of a system or components.

c. Supports object-oriented software development. d. Can be used directly in programming as an object-oriented programming language.

Which of the following about activity diagram is NOT correct?

a. Cannot show the responsibilities of actors/systems using swimming lane.

b.A special state-chart diagram to show the flows of activity in the system.

c.Can represent decision and concurrency. d.Consists of activities and transitions between activities.

Which of the following IS NOT correct in a generalization relationship?

a.A method in the parent class can be, in general, re-defined in a child class.

b. All child classes of the same parent class may have the same set of methods. c.A child class inherits all properties of the parent class.

d.The parent class can perform a method that is only defined in the child class.

Which of the following diagrams represents behavioral perspective?

a. Collaboration/Communication. b. Sequence.

c. State-chart. d.Use-case.

Behavioral models __________.

a. All the other answers are correct.

b. Show what happens or what is supposed to happen when a system responds to a stimulus from its environment.

c. Models dynamic behavior of a system as it is executing. d. Can be represented using state-chart diagrams.

Class diagrams ________.

a. All the other answers are correct. b. Represent the structural perspective.

c. Show the relationship between classes. d. Consist of classes; each defines a component of the system.

Which of the following relationships can not be in a class diagram?

a. Order b. Generalization

c. Association d. Aggregation

Structural models ________.

a. Can be a class diagram. b. All the other answers are correct.

c.Can be a package diagram.

d. Display the organization of a system in terms of the components that make up that system and their relationships.

Which of the following diagrams represents structural perspective?

a. Class. b. Activity.

c.Collaboration/Communication. d.All the other answers are correct.


QUIZ#06.2. SYSTEM MODELING. 2 ADVANCE

1/ Correct about the class relationship

a. Activities "Send Invoice" and "Ship Order" are performed in parallel.


b. The activity "Close Order" can only be performed after all activities "Accept Payment" and "Ship Order" are completed.
c. All the other answers are correct. d. "Receive Order", "Fill Order" are activities.
2/ Which of the following is INCORRECT about the state-chart diagram?
a.Names of states in general are adjectives. b.There is for some circumstance a transition point to nowhere.
c.Any transition should have an event. d.There may be some actions defined inside a state such as actions that are performed when entering a state.
3/ INCORRECT about the class relationship

a. A ShoppingCart object has many LineItem objects, each is a Product object. b. An Order may have no or many Payment.
c. A ShoppingCart object will generate an Order object. d. An Order object has many LineItem objects, each is a Product object.
4/INCORRECT about the activity diagram

a. All the other answers are correct.


b.Right before processing the "Close Order", we can go back to make the decision on accepting or rejecting the order.
c.The whole process starts at the activity "Receive Order" and ends after "Close Order".
d.There is a decision to accept an order then process the "Fill Order" activity, otherwise, do the "Close Order".
5/ correct about the class relationship

a. A Customer object consists of only one Account object. b.An Account may have no or many Payment.
c.A WebUser object relates to only one (or is a) Customer object, but a Customer object may relate to one or no WebUser object.
d.All the other answers are correct.
6/ CORRECT about the activity diagram
a.All the other answers are correct. b.The role Receiver is also the role Approver.
c.The role Author is in charged for only "Create" and "Update" activities. d.The "Change Request" is also an activity.
7/correct about the class relationship

a.Preview is a sub-class of android.view::SurfaceView and implement the interface android.view::SurfaceHolder.Callback.


b.All the other answers are correct. d.android.view::SurfaceHolder is the super-class of android.view::SurfaceHolder.Callback.
c.Preview is a sub-class of android.view::SurfaceHolder.Callback and implement the interface android.view::SurfaceView.
8/ CORRECT about the state-chart diagram

a.There are only four "real" states: New, Active, Suspended, Closed. b.All the other answers are correct.
c.When in Active state, a user account can be changed into Suspended state on some event such as "suspend" and "lock".
d.After creating a user account, it is in New state and can only be changed into Active state on an "activate" event.
9/INCORRECT about the class relationship

a.A method of CameraDemo cannot access directly to the attribute mHolder of Preview.
b.A method of Preview cannot access directly to the attribute rawCallback of CameraDemo.
c.Preview is composed of CameraDemo and android.hardware::Camera.
d.When an instance of class Preview is destroyed, the system should destroy all related instances of CameraDemo and android.hardware::Camera.
10/correct about the activity diagram

a.Activities "Send Invoice" and "Ship Order" are performed in parallel.


b.The activity "Close Order" can only be performed after all activities "Accept Payment" and "Ship Order" are completed.
c.All the other answers are correct. d."Receive Order", "Fill Order" are activities.
quiz 7.1&7.2
Software architecture design is ___ .
a. Basically to identify major system components and their communications
b. An early stage in software design
c. All the other answers are correct.
d. Often carried out in parallel with some specification activities.

The 4+1 (view) models in software architecture design are ___.


a. All the other answers are correct.
b. Logical, Process, Development, Physical, and Use-case or Scenario.
c. Static, Dynamic, Process, Implementation, and Deployment.
d. Context, Interaction, Behavioral, State, and Data.

Software architectures ___ .


a. Are low-level designs to program.
b. Are high-level/abstraction designs.
c. All the other answers are correct.
d. Model the connections between hardware/components.

Which of the following relationships between architectural views and UML diagrams are correct?
a. All the other answers are correct.
b. Logical: state-chart diagram; process: sequence diagram; development: component diagram; physical: deployment.
c. Logical: class diagram; process: sequence diagram; development: component diagram; physical: deployment.
d. Logical: class diagram; process: activity diagram; development: component diagram; physical: deployment.

Which is INCORRECT about the 4+1 (view) models in software architecture.


a. Use-case view shows the use-cases or scenarios.
b. Development or Implementation view is for presenting how the components/sub-systems are distributed
around the network.
c. Process view shows how, at runtime, the system is composed of interacting processes.
d. Logical view shows the key abstractions in the system as objects and classes.

What is an architectural pattern?


a. Stylized description of any good example about implementing computer program.
b. Stylized description of any good (architectural) design practice, which has been tried and tested in different
environments.
c. None of the other answers is correct.
d. Stylized description of any good example about designing a user user interface.

In software architecture design, which of the following decomposition approaches can be used?
a. Maximum coupling (more inter-component connections/relations) and minimum cohesion (less inner-component
connection relations).
b. Minimum coupling (less inter-component connections/relations) and Maximum cohesion (more
inner-component connection relations).
c. Balancing both inner-components and inter-components connections/relations (cohesion ~ coupling).
d. None of the other answers is correct.

Which of the following is acceptable in software architecture decision?


a. Localizing the kernel functions and minimizing the interaction between components to increase the performance.
b. Making layers to hide key component/data to increase the Security.
c. All the other answers are correct.
d. Accepting duplicated components to increase the Availability

Which of the following is NOT acceptable in software architecture decision?


a. Secure important components for security.
b. Localize safety-critical features in a small number of sub-systems to increase safety.
c. Use important and non-replaceable components to make the system stable for increase the maintainability.
d. Critical components should be deployed on the same machine rather than distributed around the network to have better
performance.

Software architecture is decided based on _____.


a. Application types and equivalent architectures.
b. Pre-defined decision criteria
c. All the other answers are correct.
d. Functional and non-functional requirements.
Which of the following is correct about using architectural patterns?
a. Only famous patterns can be used.
b. Each pattern can only be implemented in some programming language.
c. None of the other answers is correct.
d. In a software, only one pattern can be used.

To increase maintainability, which of the following is a good choice?


a. Duplicate key components.
b. Localize safety-critical features in a small number of sub-system.
c. All the other answers are correct.
d. Use fine-grain, replaceable components.

Suppose that we can only have the following architectures for a university management system, the best selection?
a. MVC: the university data as model, kernel functions as controllers and others are views.
b. Repository: data and kernel components can be in the repository and other sub-systems can be separated.
c. Compiler: allow to compile data and computational results.
d. Client-server, each client is a computation station and the server is to provide and collect data: maximize the
computation in the client.

Suppose that we can only have the following architectures for a child tracking app running on a mobile device, which is
the best selection?
a. Client-server, each client is a computation station and the server is to provide and collect data: maximize the
computation in the client.
b. MVC: Model-View-Controller.
c. Repository: data and kernel components can be in the repository and other sub-systems can be separated.
d. Compiler: allow to compile data and computational results.

Suppose that we can only have the following architectures for an online course registration system, the best selection?
a. Layer, the user-interface is on web: allows multi-platform and mutual registration (courses have limited
number of seats).
b. Compiler: allows to compile the registration into the language that can be understood by the system.
c. All the other answers are correct.
d. Client-server, students can install the software on their personal computer/laptop: maximize the computation in the
personal computer/laptop.

To increase safety, which of the following is a good choice?


a. Localize safety-critical features in a small number of sub-system.
b. All the other answers are correct.
c. Use fine-grain, replaceable components.
d. Duplicate key components.

Which of the following architectural pattern can be used in general for information systems (multi-users, centralized data)?
a. Layer architecture: user interface, user communications (and authentication), information retrieval, and system
database layers.
b. Language processing system architecture: the Translator component is for checking syntax and semantic from the
users, the Interpreter component is for executing verified commands from the users.
c. All the architectures in the other answers are good to be used.
d. Client-server architecture: clients are applications and the server is only for data.

Suppose that we can only have the following architectures for a distributed computation system, the best selection?
a. Client-server, each client is a computation station and the server is to provide and collect data: maximize the
computation in the client.
b. Compiler: allow to compile data and computational results.
c. Layer, the user-interface is on web: allows multi-platform and mutual data in computation.
d. All the other answers are correct.

To increase security, which of the following is a good choice?


a. Hide key components/data in layers.
b. Duplicate key components/data.
c. Localizing the key components/data and minimizing the interaction between those components.
d. All the other answers are correct.

To increase performance, which of the following is a good choice?


a. Duplicate kernel functions.
b. Hide kernel functions in deep layers.
c. Localizing the kernel functions and minimizing the interaction between components.
d. All the other answers are correct.
QUIZ 8.1: DEVELOPMENT
Which of the following is the best opinion on software design?
a. The software designers do not need to care about implementing when they design the software.
b. Architectural design is not a part of software design.
c. Designing module/component interface is a part of software design.
d. Designing classes and their methods is responsible only by the requirement analyst.

(Module/Component) Interface specification is necessary. Why?


a. Modules/components can be developed concurrently (in parallel)
b. All of the other answers are correct.
c. Modules/components can hide their private attributes/methods
d. In some case, each module/component can be upgraded continuously and independently

For design models, which of the following explanation is NOT quite correct?
a. Class diagram can be used to represent static models
b. We always need both static and dynamic models
c. Use-case diagrams can be used to represent static models
d. Sequence model and State machine model are dynamic models

Which of the following explanation about software design is acceptable?


a. For software that uses database system, each table in the database should be represented by a class and each table column
should be represented by one and only one class member/attribute.
b. All of the other answers are correct.
c. A detail sequence diagram usually show related classes and their methods
d. Design all classes and class diagram first, and then the other diagrams.

Which of the following explanation about design models is NOT quite correct?
a. Inter-connection models show logical communications of the system.
b. Sequence models show the sequence of object interactions and can be represented using sequence/collaboration diagrams
c. Subsystem models show logical groupings of objects into coherent subsystems and can be represented using package
diagrams.
d. State machine models show how individual objects change their state in response to events and can be represented using
state-chart diagrams.

Which of the following is INCORRECT?


a. Activity diagram represents activities of the system.
b. Classes are necessary in object-oriented software design.
c. A software design has to have all sequence diagrams, collaboration diagrams, activity diagrams, state-chart diagrams
and use-case diagram.
d. It is possible to convert a sequence diagram to a collaboration diagram (without any more information).

Which of the following is correct?


a. In designing a software, it is necessary to ensure that the software can be implemented successfully (under constrains
on human power, resources, budgets and project duration).
b. We do not need details in designing stage, it is possibly changed in programming stage.
c. We shall program a software before writing down the design to ensure that the source code and the design document are
matched.
d. We only need some general idea (written) in the design document, all details must be discussed in the meeting with the
developer team.

The design models _____ .


a. consist of static models representing static structure, and dynamic models representing dynamic interactions between objects.
b. have to be abstract to show the relationships between entities and the system requirements; and have to include enough detail
for programmers to make implementation decisions.
c. All of the other answers are correct.
d. show the objects and object classes and relationships between these entities

Which of the following explanations is correct?


a. Sequence diagram describes interactions between components (chronologically)
b. All of the other answers are correct.
c. Interface specification is specification about user interface
d. State diagram is for representing the use-case of the system

Which of the following opinion about software design is acceptable?


a. When we use the best software design tool, we do not need to program because the best tool will generate the source code
automatically.
b.None of the other answers is acceptable.
c.Software design = software architecture design.
d. Detail design is not required when the programmers know how to build the software.
QUIZ 8.2: DEVELOPMENT (ADVANCED)
In the sequence diagram in Fig, which of the following is INCORRECT?
a. The message "save the book" is good definition of an operation at design level.
b. The Librarian triggers the sequence diagram.
c. On opening, the AddBookPage calls getAuthorList and getPublisherList methods from the class LibrarianDB before calling
its own method preparePage.
d. All component names must be in format "[object]:Component" such as ":LibrarianDB", "bm:BookModel".

In the following description, which object classes can be defined? "The university is going to build a smart campus system
(SCAMS) to make the university smart. In 2019, the system is for the lecture halls, to control the doors, lights, fans, sound
systems, projectors, and camera automatically based on the room schedule and the detecting of human."
a. LectureHall, Door, Light, Fan, SoundSystem, Projector, Camera, RoomSchedule, HumanDetectingService.
b. LectureHall, Door, Light, Fan, SoundSystem, Projector, Camera, RoomSchedule.
c. Door, Light, Fan, SoundSystem, Projector, Camera.
d. All object classes from the other answers.

In the following description, which object classes can be defined? "The book management system needs to manage
information about book including name, year of publishing, number of pages, publisher, and authors. Notes that, a publisher
may publish many book; a book can be written by many authors and an author may write many books."
a. All the other answers are correct.
b. Book, NameOfBook, YearOfPublishing, NumberOfPage, Publisher, Author.
c. Book, YearOfPublishing, NumberOfPage, Publisher, Author.
d. Book, Publisher, Author.

Which of the following about class diagrams in a design document is correct?


a. All the other answers are correct.
b. In a system that interacts with end-users, boundary/view classes must be designed.
c. May need only an entity class diagram
d. Each kind of the classes such as entity/model, boundary/view and controller is provided in a separated class diagram.

Which of the following in software detail design is INCORRECT?


a. A detail design document includes all classes and their methods.
b. There is possibly some classes that have no methods.
c. Each table in the database needs at least one corresponding class in the software.
d. Class methods shall be described clearly (such that they can be implemented correctly).
Which of the following about diagrams in a design document is INCORRECT?
a. Sequence diagrams must be provided to represent interactions between components.
b. Collaboration diagrams should be accompanied by sequence diagrams.
c. Activity diagrams may be provided to represent the activities of (part of) the system.
d. State-chart diagrams may be provided to represent states and the state transitions.

Which of the following abut state diagram in software design is INCORRECT?


a. Events on transitions have to be defined clearly.
b. Are useful high-level models of a system or an object's run-time behavior.
c. Used to show how objects respond to different service requests and the state
transitions triggered by these requests.
d. We have to provide a state diagram for all of the objects in the system.

Which of the following about class diagrams in a design document is NOT quite correct?
a. Need the descriptions of all methods.
b. Need examples of using classes.
c. May need descriptions about the classes.
d. Need the descriptions of all attributes.

Which of the following about diagrams in a design document is correct?


a. Sequence diagrams (if any) show interactions between system components.
b. Class diagrams describe attributes and methods to implement the system.
c. All the other answers are correct.
d. Class diagrams show descriptions about classes and their relationships.

Which of the following comparing sequence diagram in software specification and design
is correct?
a. There may be no actor.
b. In specification, the interactions in a sequence diagram are usually general operations,
not detail class methods as in detailed design.
c. In design, the “internal components” in a sequence diagram are classes/objects.
d. All the other answers are correct.
Quiz 9.1

1/"Which of the following diagrams CANNOT be in a design document?

a. Activity diagram. b. Sequence/collaboration diagram. c. State-chart diagram. d. Use-case diagram"

2/"To apply a design pattern, ____.

a. We need to ask the programmers which design pattern they are familiar with.

b. All of the other answers are correct. c. We need to ask the customers which design pattern they don't want to use.

d. We need to recognize that any design problem you are facing may have an associated pattern that can be applied."

3/"Which of the following about design pattern is correct?

a. All of the other answers are correct. b. A design pattern is a way of reusing abstract knowledge about a problem and its solution.

c. A design pattern is a description of the problem and the essence of its solution.

d. A problem can be solved by one or more design patterns." ​

4/"Which of the following about design pattern is INCORRECT?

a. A design pattern can only be used for exactly the described problem. b. Can be implemented in more than programming languages

c. Usually be accompanied by examples of applying the pattern in practice.

d. Can only be used when the consequence has no bad effect to the design." ​

5/ "Which of the following about the design pattern Observer is correct?

a. When the object changes (its state), the displays will be notified and update. b. Separates the display of object state from the object itself and allows
multiple displays of state of an object. c. Increase the 'minimal coupling' between Subject and Observer: The subject does not require knowledge of the observer;
and the observer only needs to know how to get new data.

d. All of the other answers are correct."

6/ "In the design pattern Observer ____.

a. The ConcreteSubject can add and remove Observers (ConcreteObserver) and to issue a notification when the state has changed.

b. There are two abstract objects, Subject and Observer, and two concrete objects, ConcreteSubject (inherits Subject) and ConcreteObserver (inherits Observer).

c. The ConcreteObserver automatically displays the state and reflects changes whenever the state is updated.

d. All of the other answers are correct."

7/"Which of the following about design pattern is INCORRECT?

a. May describe the results of applying the pattern b. Must provide the source code of the pattern to the users

c. Must describe both the problem and the solution. d. May show the trade-offs of applying the pattern"

8/"What can be re-use in software engineering?

a. Abstraction level: No software is reused directly but knowledge of successful abstractions in the design of your software. b. Component level: Collections of objects and
object classes that you reuse in application systems. c. Object level: Directly reuse objects from a library rather than writing the code yourself.

d. All of the other answers are correct." ​

9/ "What is INCORRECT about open-source development?

a. Many important open source products used widely in the world: Java, Linux, MySQL. b. The source code of a software system is published. c. Volunteers
are invited to participate in the development process. d. Volunteer developers are NOT users of the code." ​

10/ "What would be considered about license in open-source development?

a. Only need to reference (to the original), do not need to care anything else. b. Free to use, but need an agreement from the authors before changing the source code.

c. Open-source has no license, do not need to care about the license. d. There are some license models such as GPL, LGPL, BSD for
software license on using, development and distribution." ​
quiz 9.2:DEVELOPMENT
Which of the following in software detail design is correct?
a. In working with data, we need to design (describe) data loading/storing operators/methods.
b. There may be more than one view class controlled by a single controller class in MVC model.
c. All the other answers are correct.
d. In separating model-view-controller (as in MVC model), all classes for model, view and controller shall be designed
(described).

Which of the following choices of Client-server, Facade, Iterator is the best?


a. Provide a way to access the elements of an aggregate object sequentially without exposing its underlying
representation: Iterator
b. Extend the (module/component) interface of a developing object: Facade
c. The choices in all of the other answers are all good.
d. Notify multiple object about the changes of an object: Client-server

Which of the following choices of Observer, Facade, Decorator is the best?


a. Separate models, views, and controllers: Decorator
b. Extend the (module/component) interface of a developing object: Facade
c. The choices in all of the other answers are all good.
d. Notify multiple object about the changes of an object: Observer

Which of the following choices of Observer, Iterator, Decorator is the best?


a. Provide a way to access the elements of an aggregate object sequentially without exposing its underlying
representation: Iterator
b. Notify multiple object about the changes of an object: Observer
c. Allow to extend functions of a class at run-time: Decorator
d. The choices in all of the other answers are all good.

The design pattern Singleton ___ .


a. Ensures that a class has only one instance and allows the instance of the class be accessed easily.
b. Wrap a poorly designed collection of APIs with a single well-designed API.
c. Reduce dependencies of outside code on the inner workings of a library,
d. All of the other answers are correct.

The design pattern Facade ___ .


a. Provides a simplified interface to a larger body of code, such as a class library.
b. Wrap a poorly designed collection of APIs with a single well-designed API.
c. Reduce dependencies of outside code on the inner workings of a library, since most code uses the Facade, thus
allowing more flexibility in developing the system.
d. All of the other answers are correct.

Which of the following choices of MVC, Adapter is the best?


a. The choices in all of the other answers are all good.
b. Change the name or make new interface for an old object: Adapter
c. Separate models, views, and controllers: MVC (model-view-controller)
d. Make new (composite) method from incompatible methods: Adapter

Which of the following choices of Decorator, Facade, Interpreter is the best?


a. Reduce the (module/component) interface of a developing object: Facade
b. Separate data and controller: Decorator
c. Provide a way to access the elements of an aggregate object sequentially without exposing its underlying
representation: Interpreter
d. The choices in all of the other answers are all good.

The design pattern Adapter ___ .


a. Reduce dependencies of outside code on the inner workings of a library,
b. Adapts the interface of an (already existing) class without changing it.
c. Wrap a poorly designed collection of APIs with a single well-designed API.
d. All of the other answers are correct.

The design pattern Decorator ___ .


a. Reduce dependencies of outside code on the inner workings of a library,
b. Ensures that a class has only one instance and allows the instance of the class be accessed easily.
c. All of the other answers are correct.
d. Responsibilities should be added to (and removed from) an object dynamically at run-time.
Quiz 10.1
Which of the following is correct in software implementation?
a. Well understanding any piece of code before re-using it.
b. Prior to implementation, successful programmers need to understand well the detail design, implementation plan
and programming standards.
c. All of the other answers are correct.
d. Implementation = unit implementation + integration
Which of the following is correct?
a. All of the other answers are correct.
b. The larger the number of lines of code (LOC), the more complex the program is.
c. One way to calculate the lines of code (LOC) is to count all lines in the source code, except open/close block lines
(such as lines of only “{” or “}” in Java).
d. One way to calculate the lines of code (LOC) is to count all source code lines (of programming statements),
except all blank and comment lines.
What is the GOLDEN rule in software development?
a. Can use all software frameworks, professionally.
b. Design based only on the requirement specification, code/program against the design.
c. Code as required by software testers.
d. All of the other answers are correct.
Which of the following is NOT correct in documenting in the source code?
a. Description of methods/procedures/functions.
b. Explanation of parameters of methods/procedures/functions.
c. May slow some errors in using the code.
d. Must have usage examples.
Which of the following is needed in integration?
a. Modules used by other modules may need to be built first.
b. High risk parts should be built and integrated early.
c. Early integration for reducing risks.
d. All of the other answers are correct.
Coding standards/Coding convention _______.
a. May different in different programming languages.
b. Is a set of programming guildlines such as programming styles, programming practices and programming
methodologies.
c. All of the other answers are correct.
d. Consists of the standards on naming conventions for class, attribute, method, …
Which part of the code we could inspect to increase the correctness?
a. Class and class attributes.
b. All of the other answers are correct.
c. Class constructors.
d. Method headers and method bodies.
What are advantages/disadvantages in documenting and commenting the source code?
a. The more the explanation (especially in mother tongue languages), the easier the understanding.
b. Make source code be tidy and short.
c. All of the other answers are correct.
d. Easy to read and understand before reusing or modifying the source code but costly in documenting and
commenting.
What is code integration?
a. Merge separated codes that developed by several developers into one.
b. Each developer has his/her own version of the main code.
c. All of the other answers are correct.
d. Compile codes on different hardware to make sure it works well.
Which of the following is NOT correct in code inspection?
a. Have to outsource the code inspection to the outside inspectors.
b. Can reveal defeats in programming.
c. Need an inspection checklist.
d. Can not replace the software testing.
Quiz 10.2
How to do “Think globally, program locally”?
a. Make all members as local as possible.
b. Only allow accessing to attributes through more public accessor functions if required.
c. Make all members as invisible as possible.
d. All of the other answers are correct.
What are good practice in handling exceptions?
a. Catch only those exceptions that you know how to handle.
b. Don’t need to be reasonable about exceptions callers must handle.
c. All of the other answers are correct.
d. Substitute the use of exceptions for issue that will be the subject of testing.
In the Java programming language, which of the following naming convention is suggested to be used?
a. All of the other answers are correct.
b. A variable name starts by a lowercase character and joins initialized words (camelCase), for example
‘queryResult’.
c. A method name starts by a lowercase character and joins initialized words (camelCase), for example
‘getListOfStudent(Course course)’.
d. An attribute name starts by an underscore character, for example ‘_numberOfCredit’.
Suppose that we are developing a factorial function (n!) that has no definition for negative input (n<0),
which of the following of handling exceptions is reasonable?
a. Throw an exception about it anyway.
b. All of the other answers are correct.
c. Only throw an exception for negative input if it is defined on the function specification.
d. Print the system standard output a message when n is negative.
How to do “Enforce intentions”?
a. All of the other answers are correct.
b. Use qualifiers such as final and abstract etc. to enforce intentions.
c. If your code is intended to be used in particular ways only, write it so that the code cannot be used in any other
way.
d. If a member is not intended to be used by other functions, enforce this by making it private or protected etc.
Which of the following is acceptable in initializing attributes of a class?
a. No need to initialize when most of the programming languages initialize attribute automatically.
b. Always initialize attributes.
c. Only initialize object (of a class) attributes.
d. All of the other answers acceptable.
Which of the following is correct in implementation?
a. All of the other answers are correct.
b. JavaDoc tags are only in comments and have to be counted in the number of lines of code (LOC) of a program.
c. Using JavaDoc tags (such as @return, @see, …) in commenting the code is a very good way in generation
technical document about classes and their methods using JavaDoc tool.
d. JavaDoc tags are user defined tags as long as they are preceded by ‘@’ (for example, a user may use
@facebook as a new JavaDoc tag).
Suppose that we developing a class of common attributes of the software, which of the followings is acceptable?
a. Make all members visible.
b. Make all members statics.
c. All of the other answers are correct.
d. Make all members invisible and provide public accessor functions to them.
Suppose that we are creating a class that have a method to collect data from all workstations, which of the
following is a good name of method?
a. collectDataFromWorkstation.
b. collectingDataFromWorkstation.
c. CollectingDataFromWorkstation.
d. All from the other answers are excellent names.
What are benefits of early code integration?
a. Build and integrate modules after modules that use them.
b. Exercising key risky parts of the application as early as possible.
c. All of the other answers are correct.
d. Make the full version early to the customer.
QUIZ#11.1 TESTING & EVOLUTION
Which of the following explanations is INCORRECT?
a. Unit testing: test each software service/functionality
b. Regression testing: test a new developed software build/version comparing to the previous build/version
c. Validation testing: test if the software fulfill all required services/constraints
d. Defect testing: test for hunting defects

In black-box testing method, ___ .


a. The internal structure/design/implementation of the item being tested is not known to the tester.
b. In many circumstances, the testing environment should be prepared before the test.
c. All of the other answers are correct.
d. The tester executes the test item with some inputs and compare the outputs with expected results.

Which of the following is correct?


a. A current servicing software needs updates or will decrease the service quality (in the rapid changing environment).
b. All of the other answers are correct.
c. Functionalities of a software will be decreased in time in serving human needs.
d. Updates decrease the complexity of a software.

Which of the following is INCORRECT?


a. Feedbacks from customers will help upgrade/change the software.
b. In changing the working environment (OS, hardware, ...), software may need to be upgraded.
c. The quality of software does not changed in time, regardless the rapid change of the working environment.
d. Software updates may add more functionalities to the software.

Which of the following is correct in use-case testing?


a. The class diagrams of the class object involved in the use-case is used to generate test-cases.
b. The state-chart diagrams of the object involved in the use-case is used to generate test-cases.
c. Each use-case usually involves several system components so testing the use case forces these interactions to occur.
d. All of the other answers are correct.

Which step in the evolution process is the most important step?


a. “Requirement receiving” when it helps to discover new requirements (including new functionalities/fixing).
b. Impact analysis when it helps in pointing out things that need to be changed/upgraded for a new requirement.
c. Fault repair when it helps fixing the fault.
d. Release a new version because we need to convince the customer.

Software maintenance types include _____.


a. Repair, adaptation, upgrade.
b. Customer care, backup/recovery, repair.
c. Installation, end-user training, backup/recovery.
d. All types of the other answers.

Which of the following is correct?


a. The black/white-box testing methods can be used to test fully developed software.
b. The black-box testing method can only be used in unit testing.
c. In software testing, one can only use the white-box testing method whenever there is no defects/errors found by the black-box
testing method.
d. The white-box testing method considers only the inputs and outputs in testing, not the behaviors of the software.

The re-engineering ___ .


a. is for a situation when the maintenance is performed regularly in parts or all of a software/system.
b. can use the reverse engineering techniques in re-structuring and re-documenting for a better performance in maintenance.
c. All that of the other answers.
d. is for re-structuring/re-programming parts or all of a software/system without changing its functionalities.

The testing activities are ___ .


a. Compatible testing, installation testing, and performance testing.
b. Unit testing, integration testing and user interface testing.
c. Development testing, release testing and user/accepting testing.
d. All of the other answers are correct.
QUIZ#11.2 TESTING & EVOLUTION ADVANCED
What do we do in re-engineering?
a. Adding effort to make system has more functionality.
b. Re-structuring or re-writing part or all of a legacy system without changing its functionality.
c. All of that of the other answers.
d. Reduce the size of the system.

What do we do in impact analysis?


a. Fault repair for fixing the fault.
b. Release a new version to convince the customer.
c. All of that of the other answers.
d. Pointing out things that need to be changed/upgraded for a new requirement.

In white-box testing method, ___ .


a. One only need to guarantee the 100% statement coverage and 100% decision coverage to confirm that there is no more
defect/error of a software.
b. One can only need to run all test-cases to guarantee 100% decision coverage.
c. One can only need to cover all statements in testing to guarantee 100% statement coverage.
d. All of the other answers are correct.

For the following requirement, which test-case(s) are good to use in testing? "If a patient is known to be allergic to any particular
medication, then prescription of that medication shall result in a warning message being issued to the system user."
a. All test-cases from the other answers are good.
b. Set up a patient record in which allergies to two drugs are recorded. Prescribe both of these drugs separately and check that the
correct warning for each drug is issued.
c. Set up a patient record with a known allergy. Prescribe the medication to that the patient is allergic to, and check that the warning is
issued by the system.
d. Set up a patient record with no known allergies. Prescribe medication for allergies that are known to exist. Check that a warning
message is not issued by the system.

Which of the following is correct in use-case testing?


a. All of the other answers are correct.
b. One only need to generate test-cases using all flows (normal, exception, alternative) in the use-case scenario.
c. One only needs to generate all test-data randomly.
d. One only needs to execute the main flow of the use-case to confirm the correctness of the use-case.

For a legacy system with low quality but important, ___ .


a. simply replace it by another higher quality software even though the new software has less functionalities.
b. Any of the other answers.
c. re-engineer or replace by another software with higher quality and the same or more functionalities, if any.
d. keep it when any modification affects the organization.

When to do refactoring?
a. Duplicate code.
b. Long methods.
c. All of that of the other answers.
d. Data clumping: a group of data (parameters, variables) is used multiply can be replaced by an object consists of all the data.

In which of the following case, the while-box testing approach cannot reach 100% decision coverage?
a. A piece of code that has many branches (if then else, for example).
b. A piece of code that has only sequential statements.
c. A piece of code that has a loop/recursion.
d. A piece of code that has many functions/methods.

What do we do when refactoring for a piece of code that developers put in the software for future requirements?
a. Duplicate the code to make it stronger.
b. All of that of the other answers.
c. Change the name of the method into futureRequirementMethod().
d. Remove it for simplify the current code.

For the user testing, which testing method should be used?


a. Black-box or white-box are good, depended on the type of the users.
b. Black-box: the users don't need to know the internal structure of the software before testing.
c. White-box: the users need to know the internal structure of the software before testing.
d. All of the other answers are correct.
Quiz 12:
Scaling Agile methods?
a. All of the other answers are correct.
b.Yes, scaling-out is concerned with allows a third-party develop part of the system.
c.No, can only be applied to small or medium-sized projects.
d.Yes, scaling-up is concerned with using agile methods for developing large software systems that
cannot be developed by a small team.

A Scrum Sprint cycle ______.


a.Is started by select the features and functionality from the product backlog to be developed during the sprint.
b.Is fixed length, normally 2–4 weeks.
c.During "sprint" stage, the team is isolated from the customer and the organization all communications through
the 'Scrum master'
d.All of the other answers are correct.

In Scrum ______.
a.Construction phase focuses on software development.
b.All of the other answers are correct.
c.Transition phase tests and transfers products.
d.Initial phase establishes the general objectives for the project and design the software architecture.

Which of the following is correct about Agile methods.


a.All of the other answers are correct.
b.Stakeholders involved in version specification and evaluation.
c.Frequent delivery of new versions for evaluation.
d.System is a series of versions/increments.

Which of the following is the best answer about Agile methods.


a.Specification, design and implementation are inter-leaved.
b.Focus on working code, minimal documentation.
c.All of the other answers are correct.
d.Aim to reduce the delivery time for working software systems.

Extreme programming practices ______.


a.All of the other answers are correct.
b.(Refactoring) All developers are expected to refactor the code continuously as soon as possible code
improvements are found.
c.(Simple design) Enough design is carried out to meet the current requirements and no more.
d.(Small release) Releases of the system are frequent and incrementally add functionality to the first release.

Pair programming ______.


a.All of the other answers are correct.
b.Sharing of knowledge during pair programming reduces the overall risks to a project when team members
leave
c.02 developers on the same computer, one as the driver, and the other as the navigator.
d.Serves as an informal review process as each line of code is looked at by more than 1 person.

Agile method applicability?


a.All of the other answers are correct.
b.Small or medium-sized products for sale.
c.Big-sized products for big companies.
d.Small or medium-sized products for big companies.
Extreme programming ______.
a.All tests must be run for every build and the build is only accepted if tests run successfully.
b.Increments are delivered to customers every 2 weeks;
c.New versions may be built several times per day;
d.All of the other answers are correct
.
The principles of Agile methods?
a.Customer involvement - Customers should be closely involved throughout the development process.
b.People, not process - Team members should be left to develop their own ways of working without prescriptive
processes.
c.All of the other answers are correct.
d.Incremental delivery - The software is developed in increments with the customer specifying the requirements
to be included in each increment.

You might also like