SWE 3313 FINAL EXAM STUDY GUIDE

0.0(0)
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/89

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

90 Terms

1
New cards

Because there are

i) more parts
ii) more developers
iii) more users

to consider in "Large Systems" than a single program developed by a single person for a limited number of users, there is the need for Coordination of (3P's):

Which of the following is not one of the 3p"s?

A. Programs
B. Processes
C. People
D. Product

A. Programs

2
New cards

Software Project Success & Failure Factors (Chaos Report) listed profiling attributes for "impaired and ultimately cancelled" projects as all but which of the following?

A. Incomplete Requirements
B. Lack of management support
C. Lack of user involvement
D. Lack of resources

B, Lack of management support

3
New cards

When considering Cohesion and Coupling;

A. More cohesion and less coupling is better
B. More of both is better
C. Less of both is better
D. Less cohesion and more coupling is better

A. More cohesion and less coupling is better

4
New cards

Which one of the following is NOT a type of module cohesion?

A. Communicational
B. Sequential
C. Procedural
D. They are all types of cohesion

D. They are all types of cohesion

5
New cards

View Oriented Requirements Definition (VORD) is based on the concept that requirements are:
A. vague
B. manifested by the user interface (UI)
C. different for different users
D. new

C. different for different users

6
New cards

The distinct tasks to develop software are: A. code, compile, debug, and unit test.
B. requirements, design, code, test, integrate, and package.
C. design document, user guide, and test cases.
D. All of these are correct

A. code, compile, debug, and unit test.

7
New cards

Two types of prototypes can be done in design. They are:
A. Logical View, Detailed Design
B. Logical View, Process View
C. Low-fidelity, High-fidelity
D. Architecture Design, Detailed Design

C. Low-fidelity, High-fidelity

8
New cards

The term "Sunsetting" refers to:
A. When all defects have been found and fixed in a product.
B. The point in the life of a product when a new replacement product or release is announced.
C. When a programming team is finished and can turn over the product to maintenance.
D. None of the above

B. The point in the life of a product when a new replacement product or release is announced.

9
New cards

Which one of the following is NOT true about phases of debugging process?

A. The process of correction involves changing the code to fix the errors.
B. The process of verification involves making sure the code is consistent with the requirements.
C. The process of localization involves finding the sections of the code that led to the error.
D. The process of stabilization does not involve looking at the code at all.

B. The process of verification involves making sure the code is consistent with the requirements.

10
New cards

The amount and extent of detail that must be included in the software requirements specification (SRS) document depends on the
A. Knowledge and experience of the developers in the subject area.
B. Size and complexity of the project
C. Both A and B
D. None of the above

C. Both A and B

11
New cards

Which of the following statements is true about "good" design?

A. A module with temporal cohesion is better than a module with procedural cohesion.
B. A module with procedural cohesion is better than a module with communicational cohesion.
C. Control coupled modules are better than Stamp coupled modules.
D. Common coupled modules are better than control coupled modules.

B. A module with procedural cohesion is better than a module with communicational cohesion.

12
New cards

Which one of the following is NOT a type of module coupling?
A. Data coupling
B. Control coupling
C. Sequence coupling
D. They are all types of coupling

C. Sequence coupling

13
New cards

Which one of the following statements is true about McCabe's Cyclomatic Complexity (MCC)?
A. It is the number of decision boxes in the flow diagram plus one.
B. It is the number of closed regions that the flow diagram divides the page into.
C. The larger the MCC, the less complex the module.
D. All of the above

A. It is the number of decision boxes in the flow diagram plus one.

14
New cards

Which of the following is not a principle of Extreme Programming "XP"?

A. Rapid Feedback
B. Quality Work
C. Embrace Change
D. Complex Code

D. Complex Code

15
New cards

Software engineers need a process because we need to:

A. coordinate complex tasks.
B. coordinate the usage of multiple tools. C. coordinate complex tasks and coordinate a large number of developers. D. coordinate a large number of developers.

C. coordinate complex tasks and coordinate a large number of developers.

16
New cards

Which of the following phase has an objective to establish all the major and critical requirements for the system?

A. Elaboration
B. Construction
C. Transition
D. Inception

A. Elaboration

17
New cards

. Mandel's 3 "golden rules " for UI design does not include:
A. Ease of use
B. Consistency
C. Reduce the user's memory load
D. Put the user in control

A. Ease of use

18
New cards

An example of an architectural style is:
A. model-view-controller
B. pipes-and-filters.
C. event-driven.
D. All of these are correct.

D. All of these are correct.

19
New cards

Defining the components of the system and how these components are related to each other is the:

A. requirements phase.
B. architectural design phase.
C. detailed design phase.
D. All of these are correct.

D. All of these are correct.

20
New cards

Designing how to represent the data required for the software system and how to store it efficiently is part of:

A. detail design.
B. requirement design.
C. database design.
D. All of these are correct

C. database design.

21
New cards

Requirements "analysis" is composed of:

A. Prototyping
B. Categorizing and Prioritizing
C. Elicitation
D. All of the above

B. Categorizing and Prioritizing

22
New cards

McCabe's Cyclomatic complexity metric is based on the belief that program quality is:
A. based on the complexity of the program control flow
B. based on a repetitive process of programming and unit testing until errors are minimized
C. based on good documentation and testing
D. dependent on the quality and experience of the programming team.

A. based on the complexity of the program control flow

23
New cards

Who does testing:
A. Users
B. Programmers
C. Testers
D. All of the above

D. All of the above

24
New cards

An example of a Tier 3 configuration management tool is:
A. Make utility
B. Visual SourceSafe
C. Revision control system (RCS)
D. Concurrent version system

B. Visual SourceSafe

25
New cards

Which one of the following activities is not one of the components of software configuration management?
A. Training and ensuring that the agreed-upon configuration management process is practiced and adhered to
B. Determining and defining the framework that needs to be used to manage these artifacts
C. Understanding the policy, process activities, and the resulting artifacts that need to be managed
D. Managing the software development life cycle process

D. Managing the software development life cycle process

26
New cards

Which of the following are Functional Requirements.
-Make sure the application is easy to maintain.
-Display the results on the screen
-Sort the input data
-Use efficient code

-Display the results on the screen

-Sort the input data

27
New cards

The Standard Library is:
-A reference to other applications similar to the one being required
-Functions that are available and built in to a programming language.
-A listing of standards that are used for an application
-None of the above

-Functions that are available and built in to a programming language.

28
New cards

Which of the following is not a Functional Requirement.
A. Boundries and Error Conditions
B.Sorting
C.Input Formats
D.Modifiability

D. Modifiability

29
New cards

23.The last step of requirements engineering is:
A.requirement agreement and acceptance.
B.The design phase.
C. requirement review.
D. requirement elicitation

A.requirement agreement and acceptance.

30
New cards

Incomplete requirement specification will always contribute to:

-project development time.
-project costs.
-project failures.
-All of these are correct.

-All of these are correct.

31
New cards

Software process models define the:
-tasks to be performed.
-task's input and output.
-task's preconditions and post conditions. -All of these are correct.

-All of these are correct.

32
New cards

Which of the following phase has an objective to establish all the major and critical requirements for the system?

-Transition
-Elaboration
-Inception
-Construction

-Elaboration

33
New cards

The definition of Software Engineering is:

A.The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works on real machines.

B. That form of engineering that applies the principles of computer science and mathematics to achieving cost affective solutions to software problems.

C.The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.

D. All of the above

D. All of the above

34
New cards

Breaking a project into smaller subprojects is called:

A.Fragmenting
B.Modularizing
C.Composting
D. Decomposition

D. Decomposition

35
New cards

Requirements Analysis is composed of:

A.Questioning and prototyping
B.Categorizing and prioritizing
C. Questioning and answering
D. Planning and designing

B. Categorizing and prioritizing

36
New cards

Major Requirements Engineering activities include: (Choose all that apply)

• Review and Validations
• Elicitation
• Gain Agreement and Acceptance
• Prototyping

all of these are correct

37
New cards

Which of the following are properties of the Agile Method? (choose all that apply):

-User involvement
-Informal communications
-Multiple Releases
-Detailed documentation

all of these are correct

38
New cards

The distinct tasks to develop software are:
select all that apply:

-requirements, design, code, test, integrate, and package.

-code, compile, debug, and unit test.

-design document, user guide, and test cases.

-All of these are correct.

-requirements, design, code, test, integrate, and package.

39
New cards

Which of the following phase has an objective to establish the critical use cases and the major scenarios that will drive the architecture and design?

Inception
Construction
Transition
Elaboration

Inception

40
New cards

Which model has the disadvantages of very little task overlap, a sequential process, and a single iteration?
-Spiral
-Waterfall
-Incremental
-All of these are correct

-Waterfall

41
New cards

A typical kind of nonfunctional requirement is:

Performance.
Real-time processing.
Modifiable.
All of these are correct.

All of these are correct.

42
New cards

What is the maximum number of communications among a team of 25 people?

125
100
300
325

300

43
New cards

Define RUP (Rational Unified Process)

Short for Rational Unified Process, a software development methodology from Rational. Based on UML, RUP organizes the development of software into four phases, each consisting of one or more executable iterations of the software at that stage of development.

(I.E.C.T)
Inception
Elaboration
Construction
Transition


1. inception-- In this stage, the project��s business case is stated and the team decides if the project is worth doing or if it is even possible. It is important to the process to first formulate the scope of the project and also determine what resources will be needed.

2. elaboration -- In this stage, the developers take a closer look at the project to determine its architecture foundation and to evaluate the architecture in relation to the project. This stage is important to the RUP because it is here that developers analyze the risks associated with changing the scope of the project or adding new technologies along the way.

3. construction-- In this stage, the development of the project is completed. The application design is finished and the source code is written. It is in this stage that the software is tested to determine if the project has met its goal laid out in the inception phase.

4. transition -- In this stage, any fine-tuning is performed. Any final adjustments can be based on user feedback, usability or installation issues.

44
New cards

A method to simplify a complex problem is:
-decomposition.
-modularization.
-incremental iteration.
-All of these are correct.

-All of these are correct.

45
New cards

Important technical concerns in a large software development are:

estimation and planning

size and complexity

process and methodology

A, B and C are correct

estimation, planning, size and complexity

process and methodology

46
New cards

What is the increase in the number of maximum communication paths when we grow from a six-person software team to an eight-person software team?

13
15
26
28
43

13

47
New cards

What is/are the main area(s) that needs to be coordinated in large software projects?

Process
Product
People

48
New cards

The definition of software engineering that points to a multi-person construction of multi-version software is from:

Ian Sommerville.
David Parnas.
the NATO conference
the U.S. Department of Defense.
Shari Pfleeger

David Parnas.

49
New cards

Which one of the following is not one of the characteristics of software or software projects that the U.S. General Accounting Office "highlighted"?

On time
High quality
High customer satisfaction
Within budget

High customer satisfaction

50
New cards

Important nontechnical concerns in large software development are:

-estimation and planning
-process and methodology
-size and complexity.
-A, B and C are correct
-estimation, planning, process, and methodology.

estimation and planning

51
New cards

What must we understand before jumping into implementing the solution?

Programming language and algorithms
Testing techniques
Problem description and the requirements
Integration scheme

Problem description and the requirements

52
New cards

Large systems require software engineers to consider many aspects of development, including:

problem and design decomposition

technology and tool considerations

process and methodology.

All of these are correct.

All of these are correct.

53
New cards

Which of the following is one of Davis's early principles for testing?

Inspect code.

Get it right before you make it faster.

High-quality software is possible.

A, B and C are correct

Inspect code and get it right before you make it faster.

Inspect code.

Get it right before you make it faster.

High-quality software is possible.

54
New cards

Requirement specification can be tested with:

hand-drawn screens.
a prototype.
a unit test.
A, B and C are correct
hand-drawn screens and a prototype.

hand-drawn screens and a prototype.

55
New cards

The units of effort are:

person-month.
person-days
ACCUM.
A, B and C are correct.
person-month and person-days.

person-month and person-days.

56
New cards

COCOMO is used in which of the following?

Planning
Organizing Planning
Monitoring
Adjusting
A, B, C and D are correct.

Planning

57
New cards

What is COCOMO and for what is it used?

Cocomo (Constructive Cost Model) is a regression model based on LOC, i.e number of Lines of Code. It is a procedural cost estimate model for software projects and often used as a process of reliably predicting the various parameters associated with making a project such as size, effort, cost, time and quality.

58
New cards

Project effort estimation is done in which phase?

Planning
Organizing Planning
Monitoring
Adjusting
All of these are correct.

Planning

59
New cards

A technique to "lessen" the relationships, number of functionalities, amount of interactions, and so

decomposition.
modularization.
integration.
A, B and C are correct
decomposition and modularization

decomposition and modularization

60
New cards

Which activity involves collection of project information, analysis and evaluation of the collected data, and presentation and communication of the information?

Planning
Organizing
Monitoring
Adjusting
All of the above

Monitoring

61
New cards

Which of the following could improve the waterfall model?

Develop multiple components

Overlap the development

Be more evolutionary

Develop multiple components and overlap the development.

Develop multiple components

Overlap the development

Be more evolutionary

62
New cards

Which model gave project managers a way to describe the actual status versus "almost complete"?

Waterfall model

63
New cards

What is the waterfall methodology?

introduced by Dr. Winston W. Royce the waterfall model emphasizes that a logical progression of steps be taken throughout the software development life cycle (SDLC), much like the cascading steps down an incremental waterfall.

64
New cards

What is the SDLC (Software Design Life Cycle)?

Planning
Analysis
Design
Implementation
Testing and Integration
Maintenance

(PADITM)

65
New cards

Dis/Advantages of the waterfall model

Advantages:

-Adapts to Shifting Teams

-Forces Structured Organization

-Allows for Early Design Changes

-Suited for Milestone-Focused Development

--------------------------------

Disadvantages:

-Nonadaptive Design Constraints

-Ignores Mid-Process User/Client Feedback:

-Delayed Testing Period

66
New cards

The need to develop multiple components, to overlap the development, and to be more evolutionary leads to the...

incremental model.

spiral model.

chief programmer team approach.

incremental model and spiral model.

incremental model and spiral model.

67
New cards

SRS is the artifact that spells out the final specific software requirements from the requirements engineering activities.

True or False

True

68
New cards

What is SRS (Software Requirement Specification) and what does it emphasize?

A software requirements specification (SRS) is a document that captures complete description about how the system is expected to perform. It is usually signed off at the end of requirements engineering phase.

It is based on the principles that it is:

Correct
Unambiguous
Complete
Consistent
Ranked for importance and/or stability
Verifiable
Modifiable
Traceable

69
New cards

The pages of documentation in the SRS depend on...

Size, complexity, and customer support activities for the project

Software engineering's knowledge of the project's subject area

Plan releases of the project

(All are correct)

(All are correct)

70
New cards

A use case contains requirement information.

T or F?

true

71
New cards

Graphically depicting a system's data flow is done with the...

Data flow diagram (DFD)

(All are correct)

Entity-relationship (ER) diagram

Unified Modeling Language (UML)

Data flow diagram (DFD)

72
New cards

The requirements gathered can be clustered by...

Business flow
Individual functionality
(All are correct)
Data and Data Formats

Business flow

73
New cards

Requirements elicitation must have a set of organized questions to ask the...

Clients
Users
Business
Clients and Users
All are correct

All are correct

74
New cards

The SRS has a recommended standard guideline from...

IEEE

(All the choices are correct)
ACM

EIA

IEEE and EIA only

(All the choices are correct)

75
New cards

Collection of the detail level information pertaining to data and their formats includes the input and output data of the software system.

True
False

TRUE

76
New cards

The two major steps involved in the build cycle for a single program are...

Design and implementation
Analysis and design
Compile and link
Implement and test

Compile and link

77
New cards

Which of the following is a popular build tool from the C and UNIX system days of the 1970s and 1980s?

SourceSafe
Git
Gradle
Make

Make

78
New cards

The fundamental discipline of involves keeping clear account of the multiple versions of source material and being able to deliver any one of those versions for integration and build, which generates the desired software release for users.

-Software development
-Software configuration management
-Building tools
-Software engineering

-Software configuration management

79
New cards

What is provided in product maintenance updates?

Product defect problems and small functional enhancements ONLY

(All of these are correct)

Small functional enhancements

Product defect problems

Privacy

Product defect problems and small functional enhancements ONLY

80
New cards

Software configuration is done at the conclusion of a software project.

False

81
New cards

Which of the following models defines the facilities needed to store and to control the access of all the software artifacts?

Naming
Build
Software configuration management
Storage and access

Storage and access

82
New cards

Software organizations perform extensive studies over these change request forms to better understand which of the following?

Product shortcomings
Customer needs
(All of these are correct)
Product directions in the future

(All of these are correct)

83
New cards

New product releases are developed by...

Customer support and Service organization ONLY

Product development organization

Customer support

(All of these are correct)

Service organization

Product development organization

84
New cards

Which of the followings are used for version control?

Git
Gradle
Make
(None of these are correct)

Git

85
New cards

Which one of the following activities is not one of the components of software configuration management?

Training and ensuring that the agreed-upon configuration management process is practiced and adhered to

Understanding the policy, process activities, and the resulting artifacts that need to be managed

Managing the software development life cycle process (SDLC)

Determining and defining the framework that needs to be used to manage these artifacts

Managing the software development life cycle process (SDLC)

86
New cards

Which of the following tools are build tools?

Git
Gradle
SourceSafe
Make and Gradle ONLY
Make

Make and Gradle ONLY

87
New cards

Given a software artifact that we maintain in four different country versions and two platforms (Blackberry and Windows Phone), with yearly releases for 5 years, how many versions of the artifact would need to be managed?

60
40
11
8

40 = (8x2x5)

88
New cards

The technical problem/fix analysts are usually...

Experts and Testers ONLY

(All of these are correct)

Experts

Engineers

Testers

(All of these are correct)

89
New cards

Which of the following service functions allows the release number or the version number to be explicitly updated by the desired amount?

Merge
Increment
Add
Gather

Increment

90
New cards

The main levels of testing include...

Unit testing, relational testing and path testing

Path testing and system testing

Unit testing and relational testing

Unit testing, functional testing and system testing

Unit testing, functional testing and system testing