Intro & Requirements
Design
Agile
Software Implementation
Testing
100

(1) Writing software requirements documents
(2) Attending meetings with colleagues, customers, and supervisors.
(3) Researching application domain.
are ALL responsibilities of a software engineer. True or false?

True.
Other responsibilities include:
(1) Extracting requirements
(2) Developing test strategies and test cases
(3) Writing other documentation such as users manuals

(SRC: Midterm-Prep.pdf Page 5)

100

What is at the top of the software design and demonstrates how software pieces fit together at a high level?

Software Architecture

(SRC: Midterm-Prep.pdf page 14)

100

Which of the following does NOT accurately present a principle of the Agile manifesto?
a) Sustainable development
b) Self-organizing teams
c) Plan to avoid future changes
d) Face-to-face conversation

c) Plan to avoid future changes
While Agile does support phases of planning, one of its principle is "welcome changing."
(SRC: Midterm-Prep.pdf page 22)

100

(True or false?) Use thick blocks and advanced code to show your mastery of development, even if the code could be implemented more simply.

False.

(SRC: Quiz - Software Implementation)

100

Software Testing Life Cycle (STLC) can guarantee that your software is bug-free.
True or false?

FALSE.

(SRC: Quiz - Software Testing)

200

Is this a functional or non-functional requirement?
"Modifying data in a database should be updated within 2 seconds."

Non-functional.
(SRC: Midterm-Prep.pdf page 9)

200

What does MVC stand for?

Model-View-Controller 


SRC: (Midterm-Prep.pdf page 15)

200

__(a)___ is a mindset, while ___(b)___ is a framework to a way to help you embrace that mindset

(a) Agile
(b) Scrum
Agile is a mindset, while Scrum is a framework to a way to help you embrace that mindset
(SRC: Midterm-Prep.pdf page 24)

200

Instead of buying a software I want to build a software for my company. Would it be expensive to build and maintain software internally in the long run?

Yes.
(SRC: Quiz - Software Implementation)

200

"Does the software work compared to the given specifications?"

We ask this question when we are performing VERIFICATION or VALIDATION?

VERIFICATION.
Verification asks whether we are building the product right. Validation asks whether we are building the right product. Validation asks "does the software work compared to what the user needs?"

(SRC: Midterm-Prep.pdf page 36)

300

What term means "a non-technical definition of features that users expect from the system?" 

Requirement

SRC: Midterm-Prep.pdf page 8
See also: Specification.

300

Architecture mistakes can be EASILY corrected once coding has begun. True or false?

FALSE.
Architecture mistakes cannot be corrected once coding has begun.

(SRC: Midterm-Prep.pdf)

300

An Agile team should avoid _________ because
everyone should be able to ask challenging questions about the product.

Group Thinking.
(SRC: Midterm-Prep.pdf page 25)

300

Which of the following is NOT a factor to consider when refractoring code?
a) Variables with unclear names
b) Duplicate variables
c) Superfluous comments
d) Programming language

d) Programming language
(SRC: Midterm-Prep.pdf page 29)

300

A way of violating ______, would be if the program calculates car payments, instead of house payments.

Validation.
Our car payment calculator could
be the most stable calculator in the world. However, we were supposed to build a house payment calculator. We are not building the right system

(SRC: Midterm-Prep.pdf page 37)

400

What does each letter of the WRSPM reference model stand for?

W -> World (world assumptions influence our system and problem domain)
R -> Requirements (what the user understands about what the customer wants)
S -> Specifications (interface b/w how the system will meet user requirements)
P -> Program. Code and programs that meet the specifications in accordance with user requirements.
M -> Machine. (Hardware specification)

(SRC: Midterm - Prep.pdf)

400

_______ are small business services that can work together and can be deployed independently.

Microservices.
(SRC: Midterm-Prep.pdf page 16)

400

Of the common Scrum roles, who should have authority to make real-time decisions?

Product owner.
The Product Owner is considered "the most important role" and works off of the product backlog. The Scrum Master facilitates self-management and takes a "coaching" role.
(SRC: Midterm-Prep.pdf page 25)

400

What does the programming principle of KISS stand for?

Keep It Simple, Stupid.
You should be writing code as simple as possible.
(SRC: Midterm-Prep.pdf page 27)

400

What are the four software testing levels?

1) Unit Testing
2) Integration Testing
3) System Testing
4) Acceptance Testing
(SRC: Midterm-Prep.pdf page 38)

500

What are the five functions of Software Engineering?

1) Requirement Analysis
2) Software Design
3) Process Planning
4) Process Control
5) Verification, Validation, and Testing
(SRC: Midterm-Prep.pdf page 4)

500

The UML Activity diagram represents a _________ aspect of the system.

Dynamic.

SRC: Midterm-Prep.pdf page 18 AND Lecture-Design.pdf page 27.

500

What are the four values of the Agile Manifesto?

1) Individual and interactions (over process and tools)
2) Working software (over comprehensive documentation)
3) Customer collaboration (over contract negotiation)
4) Responding to change (over following plan)

500

"A program should be designed with different containers, an thse containers should not have access to each other," refers to which pillar of Object Oriented Programming?

Encapsulation.

(SRC: Quiz - Software Implementation)

500

We perform ______ _______ to check if the product meets the requirements of use/business.

acceptance testing
(SRC: Midterm-Prep.pdf page 42)