CS 319 Software Engineering Midterm Study
Guide questions and answers 2025/2026
1.How does software differ from the artifacts produced by other engineering disciplines? -
answerSoftware is developed or engineered,
Software doesn't "wear out",
software is custom built.
2.Explain what is wrong with the notion that computer software does not need to evolve over time. -
answerSoftware needs to be:
adapted,
enhanced,
extended,
re-architected
3.How do software characteristics differ from hardware characteristics? - answerNetwork intensiveness.
Concurrency,
Unpredictable load,
Performance,
Availability,
Data driven,
Content sensitive,
Continuous evolution,
Immediacy,
Security,
Aesthetics
4.From the Software Engineering definition by the IEEE, which are the main characteristics included in
the definition? - answerdisciplined,
systematic,
,and quantifiable
5.Describe the relationships among software engineering process, methods, and tools. - answertools
provide automated or semi-automated support for the process and methods.
6.List three areas in which process models may differ from one another. - answer1. Degree to which
team organization and roles are prescribed.
2. Overall flow of activities, actions, and tasks and the interdependencies among them.
3. Level of autonomy given to project team
7.Describe how Polya's problem solving principles describe the essence of engineering practice? -
answer1. Understand the problem
2. Plan a solution
3. Carry out the plan code
4. Examine the results for accuracy
8.Which ones are essential characteristics or "Quality Software Attributes" of a professional software
system? - answerCompetence.
Intellectual property rights
Maintainability: capacity for evolution
Dependability: should not cause damage
Reliability
Security
Safety
Efficiency: well use of resources
Usability: easy to use and learn
Confidentiality
, 9.Why it important for software processes to be agile? - answerProvides Stability, control, and
organization to an activity that can become quite chaotic.
10.What are the five fundamental activities common to all software processes and that a SE should
perform/supervise during a project life cycle. - answerCommunication,
Planning,
Modeling,
Construction
Deployment
11.How are tasks, actions, and activities related to software process models? - answerA process model
provides a specific roadmap for software engineering work.
It defines the flow of all activities, actions and tasks, the degree of iteration, the work products, and the
organization of the work that must be done.
12.List and describe the generic software process models from Chapter 4 - answer1. Waterfall
COMMUNICATION > PLANNING > MODELING > CONSTRUCTION > DEPLOYMENT
3. Incremental Model
same as waterfall but delivered in increments
4. Evolutionary Process Model
communication, quick plan, modeling quick design, construction of prototype, "deploymentm delivery
and feedback"
5. Spiral Process Model
same as waterfall but repeats as many times as it takes to complete
6. Concurrent Models
Guide questions and answers 2025/2026
1.How does software differ from the artifacts produced by other engineering disciplines? -
answerSoftware is developed or engineered,
Software doesn't "wear out",
software is custom built.
2.Explain what is wrong with the notion that computer software does not need to evolve over time. -
answerSoftware needs to be:
adapted,
enhanced,
extended,
re-architected
3.How do software characteristics differ from hardware characteristics? - answerNetwork intensiveness.
Concurrency,
Unpredictable load,
Performance,
Availability,
Data driven,
Content sensitive,
Continuous evolution,
Immediacy,
Security,
Aesthetics
4.From the Software Engineering definition by the IEEE, which are the main characteristics included in
the definition? - answerdisciplined,
systematic,
,and quantifiable
5.Describe the relationships among software engineering process, methods, and tools. - answertools
provide automated or semi-automated support for the process and methods.
6.List three areas in which process models may differ from one another. - answer1. Degree to which
team organization and roles are prescribed.
2. Overall flow of activities, actions, and tasks and the interdependencies among them.
3. Level of autonomy given to project team
7.Describe how Polya's problem solving principles describe the essence of engineering practice? -
answer1. Understand the problem
2. Plan a solution
3. Carry out the plan code
4. Examine the results for accuracy
8.Which ones are essential characteristics or "Quality Software Attributes" of a professional software
system? - answerCompetence.
Intellectual property rights
Maintainability: capacity for evolution
Dependability: should not cause damage
Reliability
Security
Safety
Efficiency: well use of resources
Usability: easy to use and learn
Confidentiality
, 9.Why it important for software processes to be agile? - answerProvides Stability, control, and
organization to an activity that can become quite chaotic.
10.What are the five fundamental activities common to all software processes and that a SE should
perform/supervise during a project life cycle. - answerCommunication,
Planning,
Modeling,
Construction
Deployment
11.How are tasks, actions, and activities related to software process models? - answerA process model
provides a specific roadmap for software engineering work.
It defines the flow of all activities, actions and tasks, the degree of iteration, the work products, and the
organization of the work that must be done.
12.List and describe the generic software process models from Chapter 4 - answer1. Waterfall
COMMUNICATION > PLANNING > MODELING > CONSTRUCTION > DEPLOYMENT
3. Incremental Model
same as waterfall but delivered in increments
4. Evolutionary Process Model
communication, quick plan, modeling quick design, construction of prototype, "deploymentm delivery
and feedback"
5. Spiral Process Model
same as waterfall but repeats as many times as it takes to complete
6. Concurrent Models