Some typical exam problems for the course Advanced Software
Engineering
Guide to SWEBOK
- What is meant by "Generally accepted knowledge"?
- How is each knowledge area structured?
- What is the relation between the Guide to SWEBOK and the SWEBOK
itself?
- Give your own definition of Software Engineering. Explain how and why
this differs to the underlying definition according to the Guide of
SWEBOK.
- During the course we said that articles occurring after 1990 are often
still valid. Explain why?
- Give an example of a product requirement and a process requirement.
- Is a design constraint a functional or non-functional requirement?
Explain why with an example.
- Give examples of typical software stakeholders.
- Give a brief description of requirements elicitation, analysis,
specification and validation.
- Give some examples of requirements elicitation techniques.
- Who are the expected readers of a requirements specification? How will
they use the information from the requirements specification in their own
work?
- Give some examples of how requirements can be validated?
- What is the difference between an architectural style and a design
pattern?
- Describe some Software design principles (aka Enabling techniques).
- In an article you have found a wonderful algorithm, which you want to
use in building a software component. Give some examples of practical
aspects you have to consider in the design apart from the algorithm
itself.
- Give some examples of you might validate a design.
- Give some examples of notations used to describe software design
artefacts.
- The Guide to SWEBOK states that construction is also concerned with
design and testing. Explain why?
- Can we skip the Construction knowledge area if we are doing
Component-based design? Motivate the answer.
- Give some examples of how we can construct software for
verification.
- Give an example of how the design of a programming language can become
a concern for a Software engineer.
- Testing can be though of as a subset of Software Quality, explain
how.
- How are the terms fault, failure and error related in Software
engineering?
- Describe the term the Oracle problem.
- Give some different test methods suitable for different objectives of
testing.
- What is specification-based testing?
- What is an Operational profile?
- How can you evaluate whether your test cases were properly
selected?
- How can a software engineer use fault classification data?
- Which issue consumes most of the human effort in maintenance?
- What is the role of reverse engineering for maintenance?
- Why do we need Software configuration management?
- What is a Software baseline?
- Make a sketch of a Software change process.
- Explain the terms Version, Revision and Variant of a software item.
- Give some different types of management areas that are included in the
Software management KA.
- A colleague of mine found that elements of Plan management were the
only significantly factors contributing to the success of a set of
projects. What is Plan management?
- Which are the main steps in a measurement process plan?
- Software engineering processes can be studied on two levels, which are
they and how are they handled in the Guide to SWEBOK?
- What is an Experience factory?
- Give some examples of Process measurements.
- Describe some Analytical process measurement techniques. How can they
be related to Software Engineering research?
- Describe the two most important Software engineering tools as you would
buy if you were an owner of a software company. Motivate why?
- Give some examples of how prototyping can be used in Software
Engineering.
- Why is culture and ethics important for software quality?
- Describe the relation between Process quality and Product quality.
- Quality engineers often claim that "Quality improvement always pays
off." What is their main argument for that?
- Give some examples of reviews and/or audits.
- What is the major difference between Systems engineering and Software
Engineering?
- If you were to define a small course in Mathematics for software
engineering, which parts would you focus on and why?
Metrics
- Give an example of a product metric measured on a nominal scale,
explain why it is nominal.
- Give an example of a product metric that is not measured on a nominal
scale and explain why it is not nominal.
- Give an example of a Goal-Question-Metric (GQM) triple.
Prediction
- Give some examples of things that we want to predict in a Software
Engineering project.
- Describe a method for building prediction models.
- What is the COCOMO method?
Reuse
- Give examples of benefits for reuse.
- Give examples of techniques for reuse.
- Give examples of costs for reuse.
Maintenance
- Which categories of maintenance does the Guide to SWEBOK mention? Give
a short statement describing each of them.
- Give examples of issues that occur in the maintenance process, but not
in development from scratch.
- What is program slicing, and what is the role of program slicing in
maintenance?
Market-driven SE
- What is the role of Market segmentation?
- Give an example of how Competitor analysis can be performed.
- Portfolio analysis can be described as an optimization problem. Give
some examples of goal variables and input variables.
Formal methods
- Why can a project benefit from a Formal specification even though no
formal verification techniques are used?
- What is the difference between an automated tool for logical proofs and
a model checker?
- Give a short definition of the three C's that you want to prove about a
formally specified system.
Process management
- Which are the duties of a process manager?
- Briefly describe the characteristics of the five CMMI levels.
- Give an example of a success factor for Software process
improvement.
Research methods
- What is required to call an investigation a controlled experiment?
- What is protocol analysis?
- What is the difference between Participatory observation and Action
research?
Professionalism and ethics
- Give some characteristics of a Profession.
- Give an example of an ethical issue in communication with
colleagues.
- Give an example of an ethical issue in communication with
customers.