Software Engineering Midterm Practice Exam 2025: Q&A, Exams of Software Engineering

This document is a practice midterm exam for a Software Engineering course, featuring true/false, multiple-choice, and essay questions. It covers fundamental concepts like software characteristics, process models (Waterfall, Agile, Spiral), requirements engineering, design principles, and modern development challenges. Prepare for your Software Engineering midterm with this 2025 practice exam. Includes T/F, MC, and essay questions on process models, Agile, requirements, and design. Test your knowledge before the real thing.: Software Engineering, Midterm Exam, Practice Test, Agile Development, Waterfall Model, Requirements Analysis, Exam Prep, Study Guide, CS 319, Computer Science, Test Bank, Student Resource.

Typology: Exams

2025/2026

Available from 01/31/2026

KingPrince
KingPrince 🇺🇸

887 documents

1 / 16

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Computer Science Midterm questions and
answers 2025/2026 latest update
1.T/F Computer Software is a prime example of the law of unintended consequences. - answerTrue
2.What are the dual roles of software?
A) Application and System Software
B) Product and vehicle for delivering a product
C) Source Code and Compiled Code
D) None of the Above - answerB) Product and vehicle for delivering a product
3.Which of the following is not one of the questions asked when modern computer-based systems are
built?
A) Why does it take so long to get software finished?
B) Why are development costs so high?
C) Why can't we find all the errors before we give the software to our customers?
D) Why can't we automate this process?
E) None of the Above - answerD) Why can't we automate this process?
4.T/F Software doesn't wear out. - answerTrue
5.T/F Software doesn't deteriorate. - answerFalse
6.T/F Software maintenance is more complicated than hardware maintenance. - answerTrue
7.Which is not one of the author's seven software application domains?
A) Application Software
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Software Engineering Midterm Practice Exam 2025: Q&A and more Exams Software Engineering in PDF only on Docsity!

Computer Science Midterm questions and

answers 2025/2026 latest update 1.T/F Computer Software is a prime example of the law of unintended consequences. - answerTrue

2.What are the dual roles of software? A) Application and System SoftwareB) Product and vehicle for delivering a product C) Source Code and Compiled Code D) None of the Above - answerB) Product and vehicle for delivering a product 3.Which of the following is not one of the questions asked when modern computer-based systems arebuilt?

A) Why does it take so long to get software finished? B) Why are development costs so high?C) Why can't we find all the errors before we give the software to our customers? D) Why can't we automate this process?E) None of the Above - answerD) Why can't we automate this process?

4.T/F Software doesn't wear out. - answerTrue 5.T/F Software doesn't deteriorate. - answerFalse 6.T/F Software maintenance is more complicated than hardware maintenance. - answerTrue 7.Which is not one of the author's seven software application domains? A) Application Software

B) Computer Gamins Software C) Engineering / Scientific SoftwareD) System Software - answerB) Computer Gamins Software

8.Legacy software is often ________. A) Of high quality B) Supportive of core business functionsC) Supportive of core business functions and of poor quality D) Supportive of core business functions and of high quality -functions and of poor quality answerC) Supportive of core business

9.T/F It's often wise to do nothing, maintenance-wise, to legacy software until it must undergo asignificant change. - answerTrue

10.Which of the following is not one of the author's four broad categories of newly emerging / evolvingsoftware?

A) Cloud Computing B) Embedded SoftwareC) Mobile Applications D) WebApps - answerB) Embedded Software 11.Which of the following is the "bedrock that supports software engineering?" A) MethodsB) Process C) Quality FocusD) Tools - answerC) Quality Focus

18.Explain what is wrong with the notion that computer software does not need to evolve over time. - answerComputer software must be revised as errors are discovered and corrected. Software must be updated to accommodate changes in the computing environment. Many times a customer will requestchanges to add new functions to an existing product or to accommodate changes in the business environment. Sometimes an older system will need to be re engineered to provide benefits to the userin a modern context. The bottom line is that software that does not evolve will eventually become unstable. A(n) ________ is a framework for the activities, actions, and tasks that are required to build high-qualitysoftware.

A) Framework Activity B) Life-Cycle ModelC) Software Process D) Umbrella Activity - answerC) Software Process T/F Software engineering is more than just a software process framework. - answerTrue _______ describes how the framework activities and the actions and tasks that occur within eachframework activity are organized with respect to sequence and time.

A) Life-Cycle Model B) Process FlowC) Task Set D) Umbrella Activity - answerB) Process Flow A(n) ______ defines the actual work to be done to accomplish the objectives of a software engineeringaction.

A) Framework Activity B) Process Flow

C) Task Set D) Umbrella Activity - answerC) Task Set T/F A process pattern provides you with a template -- a consistent method for describing problemsolutions within the context of the software process. - answerTrue

T/F The existence of a software process is a guarantee that software will be delivered on time. - answerFalse

Which of the following is not an approach to software process improvement? A) CBA IPIB) ISO / IEC 15504 C) SCAMPID) SIPBFA - answerD) SIPBFA

Essay: Describe a software development situation where the communications framework activity couldlikely not be completed with a simple phone call between the customer and the developer. - answerA software product with many stakeholders, many developers, and requirements that are unclear orcontradictory is an example where such a simple process would be inappropriate.

Which of the following is not a plausible software process flow? A) Evolutionary process flowB) Iterative process flow C) Linear process flowD) Parallel process flow E) Quantum process flow - answerE) Quantum process flow Which type of process strives for structure and order in software development?

C) Linear D) Waterfall - answerB) Incremental Choose the evolutionary process model. A) Build-and-checkB) Incremental C) PrototypingD) Waterfall - answerC) Prototyping

Essay: Describe what developers should do with a prototype once it has been used to determine therequirements for the software product. - answerThrow it away! Use lessons learned from it, but don't try to sell it or give it to the customers as the finished product. Which of the following is a risk-driven process model? A) Build-and-check B) IncrementalC) Spiral D) Waterfall - answerC) Spiral T/F A "formal methods" approach can provide a mechanism for eliminating many of the problems thatare difficult to overcome using other software engineering paradigms. - answerTrue

T/F There is no such thing as an over-reliance on process. - answerFalse Which process is "case driven, architecture-centric, iterative, and incremental?" A) Incremental B) Personal Software Process

C) Unified Process D) Waterfall - answerC) Unified Process T/F Agile development values comprehensive documentation over working software. - answerFalse The agile philosophy emphasizes ______. A) Early, incremental delivery of softwareB) Minimal software engineering work products C) Small, highly motivated project teamsD) All of the above - answerD) All of the Above

T/F Agile methods were developed in an effort to overcome perceived and actual weakness inconventional software engineering. - answerTrue

T/F Agile methods are appropriate for any software development project. - answerFalse The cost of change increases _______ as a project progresses forward in time. A) ExponentiallyB) Linearly C) LogarithmicallyD) Nonlinearly - answerD) Nonlinearly

Which of the following most characterizes one of the rationales for agile software developmentmethods?

A) For many types of software, design and construction are interleaved.B) Good, detailed design documentation is a requirement before construction.

C) User stories D) None of the above - answerC) User Stories T/F In agile development, design follows the KISS (keep it simple, stupid) principle. - answerTrue A construction technique that changes the design of a system " on the fly" is called ______. A) A user storyB) Refactoring C) Spike solutionD) Unit test plan - answerB) Refactoring

Which of the following is not a common agile process? A) CRC cards B) Formal methodsC) Pair programming D) Test-driven development - answerB) Formal Methods Which process model incorporates tasks called sprints? A) Agile modelingB) DSDM C) ScrumD) XP - answerC) Scrum

Essay: What is a spike solution in XP? -used to analyze or solve the problem, or to practice and learn a new software development tool or answerSpike solutions are small, quickly-developed programs technique. These solutions are used for estimation and discarded once everyone gets clear visualizationof the problem.

Essay: Why does an agile process make it easier to manage change? -centered around small development cycles or sprints, design changes tend to impact less of the system. answerBecause agile methods are Also, refactoring and test-first development make it easier to adapt to changes as they happen. Which of the following is not a principle that guides software engineering process? A) Be agileB) Build an effective team C) Follow the process modelD) Manage change - answerC) Follow the process model

Which of the following is not a principle that guides software engineering practice? A) Design as little as possible B) Divide and conquerC) Look for patterns D) Strive for consistency - answerA) Design as little as possible T/F When you are communicating during a software engineering project, and you can'tagree on something, you should keep communicating and negotiating until you all reach agreement. - answerFalse T/F Negotiation works best when both parties win. - answerTrue Which of the following is a characteristic of an end user, as opposed to a customer?A) they define operational details of the software so the business purpose can be achievedB) they define the overall business objective for the software

A) Component-level designB) Prototype C) Requirements ModelD) Software design model - answerD) Software design model

T/F Everything in the design model should be traceable directly back to the requirements model. - answerTrue

T/F Component cohesion should be kept low, while coupling should be as high as possible. - answerFalse Which principle says that 80 percent of errors uncovered during testing will be traceable to 20 percentof the program components?

A) Open-Closed principle B) Pareto principleC) Peter principle D) Static testing principle - answerB) Pareto Principle T/F It is important to let your customer knows what to expect before software is delivered, i.e., tomanage their expectations. - answerTrue

T/F Buggy software should be delivered first, then fixed later. - answerFalse Essay: Explain, in your own words, why exhaustive testing is not possible. -permutations for even a moderately sixed program is exceptionally large. For this reason, it is impossible answerThe number of path to execute every combination of paths during testing. T/F Things change so rapidly that any attempt to understand requirements in detail is a waste of time. - answerFalse

Requirements engineering takes place during which of the generic process framework activities (selectall that apply)?

CommunicationConstruction DeploymentModeling - answerCommunication Modeling Which part of requirements engineering entails engaging stakeholders and encourages them to sharetheir goals honestly?

A) Inception B) ElicitationC) Elaboration D) Negotiation - answerB) Elicitation Essay: Why is it difficult to gain a clear understanding of what the customer wants? -scope, problems of understanding, and problems of volatility all make it difficult to gain a clear answerProblems of understanding of what the customer wants. T/F It isn't unusual for customers and users to ask for more than the developers can achieve, givenlimited business resources. - answerTrue

T/F The formality and format of a specification varies with the size and complexity of the software to bebuilt. - answerTrue

Which part of requirements engineering develops a refined requirements model? A) inceptionB) Elicitation

T/F The intent of the analysis model is to summarize the results of the elicitation phase of requirementsengineering. - answerFalse

T/F At each element of the requirements model is created, it must be examined for inconsistency,omissions, and ambiguity. - answerTrue

T/F Each requirement must be something that can be tested once it is implemented in software. - answerTrue

Essay: Why is it that many software developers don't pay enough attention to requirementsengineering? - answerBecause most of us really like to write code!

A _______ can be described as a quality attribute, a performance attribute, a security attribute, or ageneral constraint on a system?

A) Nonfunctional requirement B) Use CaseC) User story D) None of the above - answerA) Nonfunctional requirement T/F Ultimately, every feature in the finished product should be traceable back to the requirements. - answerTrue

_________ occur when the boundary of the system is ill-defined or the customers and users specifyunnecessary technical detail that may confuse, rather than clarify.

A) Problems of scopeB) Problems of understanding C) Problems of volatilityD) All of the above - answerA) Problems of scope